Merge pull request #261323 from nowittynamesleft/more-pkg-config-modules

More pkg config modules
This commit is contained in:
John Ericson 2023-10-16 14:51:50 -04:00 committed by GitHub
commit c00c5163d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 86 additions and 41 deletions

View File

@ -58,6 +58,7 @@
, reproducibleBuild ? false
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
, noldconfigPatch ? ./. + "/${sourceVersion.major}.${sourceVersion.minor}/no-ldconfig.patch"
, testers
} @ inputs:
# Note: this package is used for bootstrapping fetchurl, and thus
@ -232,7 +233,7 @@ let
'';
execSuffix = stdenv.hostPlatform.extensions.executable;
in with passthru; stdenv.mkDerivation {
in with passthru; stdenv.mkDerivation (finalAttrs: {
pname = "python3";
inherit src version;
@ -579,6 +580,8 @@ in with passthru; stdenv.mkDerivation {
nativeBuildInputs = with pkgsBuildBuild.python3.pkgs; [ sphinxHook python_docs_theme ];
};
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
enableParallelBuilding = true;
@ -604,8 +607,9 @@ in with passthru; stdenv.mkDerivation {
high level dynamic data types.
'';
license = licenses.psfl;
pkgConfigModules = [ "python3" ];
platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
maintainers = with maintainers; [ fridh ];
mainProgram = executable;
};
}
})

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
passthru.tests = {
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
geos = callPackage ./tests.nix { geos = finalAttrs.finalPackage; };
};

View File

@ -1,11 +1,13 @@
{ fetchurl, lib, stdenv, libidn, libkrb5 }:
{ fetchurl, lib, stdenv, libidn, libkrb5
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gsasl";
version = "2.2.0";
src = fetchurl {
url = "mirror://gnu/gsasl/${pname}-${version}.tar.gz";
url = "mirror://gnu/gsasl/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
sha256 = "sha256-ebho47mXbcSE1ZspygroiXvpbOTTbTKu1dk1p6Mwd1k=";
};
@ -24,6 +26,8 @@ stdenv.mkDerivation rec {
'';
doCheck = !stdenv.hostPlatform.isDarwin;
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
description = "GNU SASL, Simple Authentication and Security Layer library";
@ -38,6 +42,7 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ shlevy ];
pkgConfigModules = [ "libgsasl" ];
platforms = lib.platforms.all;
};
}
})

View File

@ -1,11 +1,13 @@
{ fetchurl, lib, stdenv, libiconv }:
{ fetchurl, lib, stdenv, libiconv
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libidn";
version = "1.41";
src = fetchurl {
url = "mirror://gnu/libidn/${pname}-${version}.tar.gz";
url = "mirror://gnu/libidn/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
sha256 = "sha256-iE1wY2S4Gr3Re+6Whtj/KudDHFoUZRBHxorfizH9iUU=";
};
@ -15,6 +17,8 @@ stdenv.mkDerivation rec {
buildInputs = lib.optional stdenv.isDarwin libiconv;
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
homepage = "https://www.gnu.org/software/libidn/";
description = "Library for internationalized domain names";
@ -36,7 +40,8 @@ stdenv.mkDerivation rec {
'';
license = lib.licenses.lgpl2Plus;
pkgConfigModules = [ "libidn" ];
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ lsix ];
};
}
})

View File

@ -1,13 +1,15 @@
{ lib, stdenv, fetchurl, zlib }:
{ lib, stdenv, fetchurl, zlib
, testers
}:
assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libpng";
version = "1.2.59";
src = fetchurl {
url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz";
sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
};
@ -15,18 +17,23 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ zlib ];
passthru = { inherit zlib; };
configureFlags = [ "--enable-static" ];
postInstall = ''mv "$out/bin" "$dev/bin"'';
passthru = {
inherit zlib;
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
description = "The official reference implementation for the PNG file format";
homepage = "http://www.libpng.org/pub/png/libpng.html";
license = licenses.libpng;
maintainers = [ ];
branch = "1.2";
pkgConfigModules = [ "libpng" "libpng12" ];
platforms = platforms.unix;
};
}
})

View File

@ -1,4 +1,6 @@
{ lib, stdenv, fetchurl, zlib, apngSupport ? true }:
{ lib, stdenv, fetchurl, zlib, apngSupport ? true
, testers
}:
assert zlib != null;
@ -10,12 +12,12 @@ let
};
whenPatched = lib.optionalString apngSupport;
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "libpng" + whenPatched "-apng";
version = "1.6.40";
src = fetchurl {
url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz";
hash = "sha256-U1tHmyRn/yMaPsbZKlJZBvuO8nl4vk9m2+BdPzoBs6E=";
};
postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
@ -27,14 +29,19 @@ in stdenv.mkDerivation rec {
doCheck = true;
passthru = { inherit zlib; };
passthru = {
inherit zlib;
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch";
homepage = "http://www.libpng.org/pub/png/libpng.html";
changelog = "https://github.com/glennrp/libpng/blob/v1.6.40/CHANGES";
license = licenses.libpng2;
pkgConfigModules = [ "libpng" "libpng16" ];
platforms = platforms.all;
maintainers = with maintainers; [ vcunat ];
};
}
})

View File

@ -1,13 +1,15 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
{ lib, stdenv, fetchFromGitHub, autoreconfHook
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libsass";
version = "3.6.5"; # also check sassc for updates
src = fetchFromGitHub {
owner = "sass";
repo = pname;
rev = version;
repo = finalAttrs.pname;
rev = finalAttrs.version;
sha256 = "1cxj6r85d5f3qxdwzxrmkx8z875hig4cr8zsi30w6vj23cyds3l2";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
@ -17,16 +19,19 @@ stdenv.mkDerivation rec {
};
preConfigure = ''
export LIBSASS_VERSION=${version}
export LIBSASS_VERSION=${finalAttrs.version}
'';
nativeBuildInputs = [ autoreconfHook ];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
description = "A C/C++ implementation of a Sass compiler";
homepage = "https://github.com/sass/libsass";
license = licenses.mit;
maintainers = with maintainers; [ codyopel offline ];
pkgConfigModules = [ "libsass" ];
platforms = platforms.unix;
};
}
})

View File

@ -3,16 +3,17 @@
, fetchFromGitHub
, cmake
, zlib
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "taglib";
version = "1.13.1";
src = fetchFromGitHub {
owner = "taglib";
repo = "taglib";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-QX0EpHGT36UsgIfRf5iALnwxe0jjLpZvCTbk8vSMFF4=";
};
@ -28,6 +29,8 @@ stdenv.mkDerivation rec {
"-DCMAKE_INSTALL_INCLUDEDIR=include"
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://taglib.org/";
description = "A library for reading and editing audio file metadata";
@ -39,5 +42,6 @@ stdenv.mkDerivation rec {
'';
license = with licenses; [ lgpl3 mpl11 ];
maintainers = with maintainers; [ ttuegel ];
pkgConfigModules = [ "taglib" "taglib_c" ];
};
}
})

View File

@ -17,7 +17,7 @@ let
, version, hash, psqlSchema
# for tests
, nixosTests, thisAttr
, testers, nixosTests, thisAttr
# JIT
, jitSupport ? false
@ -34,10 +34,11 @@ let
lz4Enabled = atLeast "14";
zstdEnabled = atLeast "15";
stdenv' = if jitSupport then llvmPackages.stdenv else stdenv;
in stdenv'.mkDerivation rec {
pname = "postgresql";
inherit version;
stdenv' = if jitSupport then llvmPackages.stdenv else stdenv;
in stdenv'.mkDerivation (finalAttrs: {
inherit pname version;
src = fetchurl {
url = "mirror://postgresql/source/v${version}/${pname}-${version}.tar.bz2";
@ -283,6 +284,7 @@ let
tests = {
postgresql = nixosTests.postgresql-wal-receiver.${thisAttr};
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
} // lib.optionalAttrs jitSupport {
postgresql-jit = nixosTests.postgresql-jit.${thisAttr};
};
@ -295,6 +297,7 @@ let
description = "A powerful, open source object-relational database system";
license = licenses.postgresql;
maintainers = with maintainers; [ thoughtpolice danbst globin marsam ivan ma27 ];
pkgConfigModules = [ "libecpg" "libecpg_compat" "libpgtypes" "libpq" ];
platforms = platforms.unix;
# JIT support doesn't work with cross-compilation. It is attempted to build LLVM-bytecode
@ -309,7 +312,7 @@ let
# a query, postgres would coredump with `Illegal instruction`.
broken = jitSupport && (stdenv.hostPlatform != stdenv.buildPlatform);
};
};
});
postgresqlWithPackages = { postgresql, makeWrapper, buildEnv }: pkgs: f: buildEnv {
name = "postgresql-and-plugins-${postgresql.version}";

View File

@ -1,18 +1,20 @@
{ lib, stdenv, fetchurl, file, zlib, libgnurx }:
{ lib, stdenv, fetchurl, file, zlib, libgnurx
, testers
}:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "file";
version = "5.45";
src = fetchurl {
urls = [
"https://astron.com/pub/file/${pname}-${version}.tar.gz"
"https://distfiles.macports.org/file/${pname}-${version}.tar.gz"
"https://astron.com/pub/file/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"
"https://distfiles.macports.org/file/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"
];
hash = "sha256-/Jf1ECm7DiyfTjv/79r2ePDgOe6HK53lwAKm0Jx4TYI=";
};
@ -37,12 +39,15 @@ stdenv.mkDerivation rec {
makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file";
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://darwinsys.com/file";
description = "A program that shows the type of files";
maintainers = with maintainers; [ doronbehar ];
license = licenses.bsd2;
pkgConfigModules = [ "libmagic" ];
platforms = platforms.all;
mainProgram = "file";
};
}
})