diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 4e60b15ba4cb..e48c8334ff07 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -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; }; -} +}) diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index 1f3ce471dc0e..90bdfdb0d605 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -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; }; }; diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix index c1003a6e33f6..cdc275874133 100644 --- a/pkgs/development/libraries/gsasl/default.nix +++ b/pkgs/development/libraries/gsasl/default.nix @@ -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; }; -} +}) diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index 83f69cfaa02b..9e1d9e55c16a 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index a76a1ada6c87..e94bd026a7a6 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -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; }; -} +}) diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index f8ae5b828c25..e1d412b5006e 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix index f4293952b9f4..92f3853b5f71 100644 --- a/pkgs/development/libraries/libsass/default.nix +++ b/pkgs/development/libraries/libsass/default.nix @@ -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; }; -} +}) diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix index 6eaab9623417..aa759ddbbb02 100644 --- a/pkgs/development/libraries/taglib/default.nix +++ b/pkgs/development/libraries/taglib/default.nix @@ -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" ]; }; -} +}) diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 81db9454f227..6bf881d52815 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -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}"; diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index 6026f3c7adaa..8cff5ccd70af 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -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"; }; -} +})