From 6ff065a44ccb9b91ee42cfebcd787330fb373384 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 19:53:14 -0500 Subject: [PATCH 01/19] qt5.qtbase: Add `meta.pkgConfigModules` and test --- .../libraries/qt-5/modules/qtbase.nix | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 44f72701854..b718f69610d 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -24,13 +24,14 @@ , debug ? false , developerBuild ? false , decryptSslTraffic ? false +, testers }: let debugSymbols = debug || developerBuild; in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "qtbase"; inherit qtCompatVersion src version; debug = debugSymbols; @@ -338,12 +339,33 @@ stdenv.mkDerivation { setupHook = ../hooks/qtbase-setup-hook.sh; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { homepage = "https://www.qt.io/"; description = "A cross-platform application framework for C++"; license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ]; maintainers = with maintainers; [ qknight ttuegel periklis bkchr ]; + pkgConfigModules = [ + "Qt5Concurrent" + "Qt5Core" + "Qt5DBus" + "Qt5Gui" + "Qt5Network" + "Qt5OpenGL" + "Qt5OpenGLExtensions" + "Qt5PrintSupport" + #"Qt5Qml" + #"Qt5QmlModels" + #"Qt5Quick" + #"Qt5QuickTest" + #"Qt5QuickWidgets" + "Qt5Sql" + "Qt5Test" + "Qt5Widgets" + "Qt5Xml" + ]; platforms = platforms.unix; }; -} +}) From 839288b52affdf9177c168df0dacf16e967f56df Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:26:38 -0500 Subject: [PATCH 02/19] bzip3: Add `meta.pkgConfigModules` and test --- pkgs/tools/compression/bzip3/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/compression/bzip3/default.nix b/pkgs/tools/compression/bzip3/default.nix index 55ef5309d57..37a4519c945 100644 --- a/pkgs/tools/compression/bzip3/default.nix +++ b/pkgs/tools/compression/bzip3/default.nix @@ -3,9 +3,10 @@ , fetchFromGitHub , autoreconfHook , pkg-config +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "bzip3"; version = "1.2.2"; @@ -14,12 +15,12 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "kspalaiologos"; repo = "bzip3"; - rev = version; + rev = finalAttrs.version; hash = "sha256-B59Z7+5SFjt/UgppNtdUtzw96y+EVglHoKzq9Il9ud8="; }; postPatch = '' - echo -n "${version}" > .tarball-version + echo -n "${finalAttrs.version}" > .tarball-version patchShebangs build-aux # build-aux/ax_subst_man_date.m4 calls git if the file exists @@ -35,12 +36,15 @@ stdenv.mkDerivation rec { "--disable-arch-native" ] ++ lib.optionals stdenv.isDarwin [ "--disable-link-time-optimization" ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = { description = "A better and stronger spiritual successor to BZip2"; homepage = "https://github.com/kspalaiologos/bzip3"; - changelog = "https://github.com/kspalaiologos/bzip3/blob/${src.rev}/NEWS"; + changelog = "https://github.com/kspalaiologos/bzip3/blob/${finalAttrs.src.rev}/NEWS"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ dotlambda ]; + pkgConfigModules = [ "bzip3" ]; platforms = lib.platforms.unix; }; -} +}) From 8e24bfb36aebbdbdf5a30dcaebbb34e5e9cb2b12 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:28:51 -0500 Subject: [PATCH 03/19] bzip2_1_1: Add `meta.pkgConfigModules` and test --- pkgs/tools/compression/bzip2/1_1.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/bzip2/1_1.nix b/pkgs/tools/compression/bzip2/1_1.nix index ca5670a2e51..e9d6f7c44da 100644 --- a/pkgs/tools/compression/bzip2/1_1.nix +++ b/pkgs/tools/compression/bzip2/1_1.nix @@ -3,9 +3,10 @@ , meson , python3 , ninja +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "bzip2-unstable"; version = "2020-08-11"; @@ -34,10 +35,13 @@ stdenv.mkDerivation rec { strictDeps = true; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "High-quality data compression program"; license = licenses.bsdOriginal; + pkgConfigModules = [ "bz2" ]; platforms = platforms.all; maintainers = []; }; -} +}) From 0c9a9dd4551488687db0ee4d05a803a0a09ea91b Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:32:13 -0500 Subject: [PATCH 04/19] libzip: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/libzip/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix index d3b7e564254..6ba8eaf6f17 100644 --- a/pkgs/development/libraries/libzip/default.nix +++ b/pkgs/development/libraries/libzip/default.nix @@ -12,14 +12,15 @@ , openssl , withZstd ? false , zstd +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libzip"; version = "1.9.2"; src = fetchurl { - url = "https://libzip.org/download/${pname}-${version}.tar.gz"; + url = "https://libzip.org/download/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; sha256 = "sha256-/Wp/dF3j1pz1YD7cnLM9KJDwGY5BUlXQmHoM8Q2CTG8="; }; @@ -41,11 +42,14 @@ stdenv.mkDerivation rec { patchShebangs regress ''; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { homepage = "https://libzip.org/"; description = "A C library for reading, creating and modifying zip archives"; license = licenses.bsd3; + pkgConfigModules = [ "libzip" ]; platforms = platforms.unix; changelog = "https://github.com/nih-at/libzip/blob/v${version}/NEWS.md"; }; -} +}) From e7d06f4b0c6fa035b4b4a1f12aabe410d9d8f58e Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:34:40 -0500 Subject: [PATCH 05/19] cairo: Fix `cairo-pdf` in `meta.pkgConfigModules` --- pkgs/development/libraries/cairo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index ee8e436d292..70a59bfa0db 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -156,7 +156,7 @@ in { "cairo-ps" "cairo-svg" ] ++ lib.optional gobjectSupport "cairo-gobject" - ++ lib.optional pdfSupport "cairo-gobject"; + ++ lib.optional pdfSupport "cairo-pdf"; platforms = platforms.all; }; }) From 3d239f2b76dee2c530482f406193e08ade807c62 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:36:45 -0500 Subject: [PATCH 06/19] freeault: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/freealut/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/freealut/default.nix b/pkgs/development/libraries/freealut/default.nix index 36bc4a25677..c2989992297 100644 --- a/pkgs/development/libraries/freealut/default.nix +++ b/pkgs/development/libraries/freealut/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv, darwin, fetchurl, openal }: +{ lib, stdenv, darwin, fetchurl, openal +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "freealut"; version = "1.1.0"; src = fetchurl { - url = "http://www.openal.org/openal_webstf/downloads/freealut-${version}.tar.gz"; + url = "http://www.openal.org/openal_webstf/downloads/freealut-${finalAttrs.version}.tar.gz"; sha256 = "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0"; }; @@ -14,10 +16,13 @@ stdenv.mkDerivation rec { darwin.apple_sdk.frameworks.OpenAL ; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = { homepage = "http://openal.org/"; description = "Free implementation of OpenAL's ALUT standard"; license = lib.licenses.lgpl2; + pkgConfigModules = [ "freealut" ]; platforms = lib.platforms.unix; }; -} +}) From 6861492a22ab6ebe8bd1ca4a2c234efc26d5db65 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:41:00 -0500 Subject: [PATCH 07/19] freetype: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/freetype/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix index 68907d798e1..48048e4a910 100644 --- a/pkgs/development/libraries/freetype/default.nix +++ b/pkgs/development/libraries/freetype/default.nix @@ -22,14 +22,15 @@ , qt5 , texmacs , ttfautohint +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "freetype"; version = "2.12.1"; - src = fetchurl { + src = let inherit (finalAttrs) pname version; in fetchurl { url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz"; sha256 = "sha256-R2byAVfMTPDNKS+Av5F/ktHEObJDrDAY3r9rkUDEGn8="; }; @@ -82,6 +83,7 @@ stdenv.mkDerivation rec { ttfautohint; inherit (python3.pkgs) freetype-py; inherit (qt5) qtbase; + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; meta = with lib; { @@ -96,6 +98,7 @@ stdenv.mkDerivation rec { homepage = "https://www.freetype.org/"; license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause) platforms = platforms.all; + pkgConfigModules = [ "freetype2" ]; maintainers = with maintainers; [ ttuegel ]; }; -} +}) From d43e540f891eb804513683b0393b1bf1e0d8d372 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:48:14 -0500 Subject: [PATCH 08/19] gtk: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/gtk/2.x.nix | 19 +++++++++++++++---- pkgs/development/libraries/gtk/3.x.nix | 21 ++++++++++++++++----- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index 23680c9b675..88dfc54094f 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -5,6 +5,7 @@ , gdktarget ? if stdenv.isDarwin then "quartz" else "x11" , AppKit, Cocoa , fetchpatch, buildPackages +, testers }: let @@ -17,12 +18,12 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtk+"; version = "2.24.33"; src = fetchurl { - url = "mirror://gnome/sources/gtk+/2.24/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/gtk+/2.24/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; sha256 = "rCrHV/WULTGKMRpUsMgLXvKV8pnCpzxjL2v7H/Scxto="; }; @@ -37,7 +38,9 @@ stdenv.mkDerivation rec { ]; - nativeBuildInputs = setupHooks ++ [ perl pkg-config gettext gobject-introspection ]; + nativeBuildInputs = finalAttrs.setupHooks ++ [ + perl pkg-config gettext gobject-introspection + ]; patches = [ ./patches/2.0-immodules.cache.patch @@ -90,6 +93,7 @@ stdenv.mkDerivation rec { $out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache ''; # workaround for bug of nix-mode for Emacs */ ''; inherit gdktarget; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; meta = with lib; { @@ -97,6 +101,13 @@ stdenv.mkDerivation rec { homepage = "https://www.gtk.org/"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ lovek323 raskin ]; + pkgConfigModules = [ + "gdk-2.0" + "gtk+-2.0" + ] ++ lib.optionals (gdktarget == "x11") [ + "gdk-x11-2.0" + "gtk+-x11-2.0" + ]; platforms = platforms.all; longDescription = '' @@ -111,4 +122,4 @@ stdenv.mkDerivation rec { ''; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; }; -} +}) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 1533f59b4ae..6737cdd7e41 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -46,6 +46,7 @@ , QuartzCore , broadwaySupport ? true , wayland-scanner +, testers }: let @@ -58,7 +59,7 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtk+3"; version = "3.24.36"; @@ -70,7 +71,9 @@ stdenv.mkDerivation rec { gtkCleanImmodulesCache ]; - src = fetchurl { + src = let + inherit (finalAttrs) version; + in fetchurl { url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; sha256 = "sha256-J6bvFXdDNQyAf/6lm6odcCJtvt6CpelT/9WOpgWf5pE="; }; @@ -99,7 +102,7 @@ stdenv.mkDerivation rec { python3 sassc gdk-pixbuf - ] ++ setupHooks ++ lib.optionals withGtkDoc [ + ] ++ finalAttrs.setupHooks ++ lib.optionals withGtkDoc [ docbook_xml_dtd_43 docbook-xsl-nons gtk-doc @@ -212,7 +215,7 @@ stdenv.mkDerivation rec { for program in ''${demos[@]}; do wrapProgram $dev/bin/$program \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${finalAttrs.pname}-${finalAttrs.version}" done '' + lib.optionalString stdenv.isDarwin '' # a comment created a cycle between outputs @@ -225,6 +228,7 @@ stdenv.mkDerivation rec { attrPath = "gtk3"; freeze = true; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; meta = with lib; { @@ -242,7 +246,14 @@ stdenv.mkDerivation rec { homepage = "https://www.gtk.org/"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ raskin ] ++ teams.gnome.members; + pkgConfigModules = [ + "gdk-3.0" + "gtk+-3.0" + ] ++ lib.optionals x11Support [ + "gdk-x11-3.0" + "gtk+-x11-3.0" + ]; platforms = platforms.all; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; }; -} +}) From 36b6027957c729e4a4bb786fa130212a29f98a5e Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 10 Feb 2023 20:53:45 -0500 Subject: [PATCH 09/19] gdk-pixbuf: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/gdk-pixbuf/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index 5e44d2221f2..ca0e8f81c4d 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -19,16 +19,19 @@ , doCheck ? false , makeWrapper , lib +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gdk-pixbuf"; version = "2.42.10"; outputs = [ "out" "dev" "man" "devdoc" ] ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests"; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "7ptsddE7oJaQei48aye2G80X9cfr6rWltDnS8uOf5Es="; }; @@ -97,7 +100,7 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.isDarwin '' # meson erroneously installs loaders with .dylib extension on Darwin. # Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them. - for f in $out/${passthru.moduleDir}/*.dylib; do + for f in $out/${finalAttrs.passthru.moduleDir}/*.dylib; do install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f mv $f ''${f%.dylib}.so done @@ -127,12 +130,13 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome.updateScript { - packageName = pname; + packageName = finalAttrs.pname; versionPolicy = "odd-unstable"; }; tests = { installedTests = nixosTests.installed-tests.gdk-pixbuf; + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; # gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc @@ -145,6 +149,7 @@ stdenv.mkDerivation rec { license = licenses.lgpl21Plus; maintainers = [ maintainers.eelco ] ++ teams.gnome.members; mainProgram = "gdk-pixbuf-thumbnailer"; + pkgConfigModules = [ "gdk-pixbuf-2.0" ]; platforms = platforms.unix; }; -} +}) From 5df263bdc01163b684cd2c5f8f2c99636d4bc3fd Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 08:55:46 -0500 Subject: [PATCH 10/19] geos: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/geos/3.9.nix | 15 +++++++++++---- pkgs/development/libraries/geos/default.nix | 13 +++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/geos/3.9.nix b/pkgs/development/libraries/geos/3.9.nix index fd0531fa747..415746d3e54 100644 --- a/pkgs/development/libraries/geos/3.9.nix +++ b/pkgs/development/libraries/geos/3.9.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ lib +, stdenv +, fetchurl +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "geos"; version = "3.9.2"; src = fetchurl { - url = "https://download.osgeo.org/geos/${pname}-${version}.tar.bz2"; + url = "https://download.osgeo.org/geos/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2"; sha256 = "sha256-RKWpviHX1HNDa/Yhwt3MPPWou+PHhuEyKWGKO52GEpc="; }; @@ -14,12 +18,15 @@ stdenv.mkDerivation rec { # https://trac.osgeo.org/geos/ticket/993 configureFlags = lib.optional stdenv.isAarch32 "--disable-inline"; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "C++ port of the Java Topology Suite (JTS)"; homepage = "https://trac.osgeo.org/geos"; license = licenses.lgpl21Only; + pkgConfigModules = [ "geos" ]; maintainers = with lib.maintainers; [ willcohen ]; }; -} +}) diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index a331e025456..670fa30cb0f 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -2,14 +2,16 @@ , stdenv , fetchurl , fetchpatch -, cmake }: +, cmake +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "geos"; version = "3.11.1"; src = fetchurl { - url = "https://download.osgeo.org/geos/${pname}-${version}.tar.bz2"; + url = "https://download.osgeo.org/geos/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2"; hash = "sha256-bQ6zz6n5LZR3Mcx18XUDVrO9/AfqAgVT2vavHHaOC+I="; }; @@ -17,12 +19,15 @@ stdenv.mkDerivation rec { doCheck = true; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "C++ port of the Java Topology Suite (JTS)"; homepage = "https://trac.osgeo.org/geos"; license = licenses.lgpl21Only; + pkgConfigModules = [ "geos" ]; maintainers = with lib.maintainers; [ willcohen ]; }; -} +}) From b1aa0e9f2a7d126eba37a7d6dc5f162be9716459 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 09:06:48 -0500 Subject: [PATCH 11/19] glib: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/glib/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index ac7977d0f62..9e932e547f4 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -19,6 +19,7 @@ , desktop-file-utils, shared-mime-info , darwin , makeHardcodeGsettingsPatch +, testers }: assert stdenv.isLinux -> util-linuxMinimal != null; @@ -280,7 +281,10 @@ stdenv.mkDerivation (finalAttrs: { getSchemaPath = pkg: makeSchemaPath pkg pkg.name; getSchemaDataDirPath = pkg: makeSchemaDataDirPath pkg pkg.name; - tests.withChecks = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; }); + tests = { + withChecks = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; }); + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; inherit flattenInclude; updateScript = gnome.updateScript { @@ -306,6 +310,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://wiki.gnome.org/Projects/GLib"; license = licenses.lgpl21Plus; maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 raskin ]); + pkgConfigModules = [ + "gio-2.0" + "gobject-2.0" + "gthread-2.0" + ]; platforms = platforms.unix; longDescription = '' From b58f0d0fa51f502a1a3f9d8d206fe6106ffd2643 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 09:10:54 -0500 Subject: [PATCH 12/19] libGLU: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/mesa-glu/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix index d2e92da0ea9..1c08812db45 100644 --- a/pkgs/development/libraries/mesa-glu/default.nix +++ b/pkgs/development/libraries/mesa-glu/default.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, libGL, ApplicationServices }: +{ lib, stdenv, fetchurl, pkg-config, libGL, ApplicationServices +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "glu"; version = "9.0.2"; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "https://mesa.freedesktop.org/archive/${pname}/${pname}-${version}.tar.xz"; sha256 = "sha256-bnKA/1hcah2d/N8vykiSUWNLM3e/wzwp5AAkZqONAtQ="; }; @@ -15,11 +19,14 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = { description = "OpenGL utility library"; homepage = "https://cgit.freedesktop.org/mesa/glu/"; license = lib.licenses.sgi-b-20; + pkgConfigModules = [ "glu" ]; platforms = lib.platforms.unix; broken = stdenv.hostPlatform.isAndroid; }; -} +}) From 5fd449df4162fd1f17fffd42be51230305769603 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 09:21:55 -0500 Subject: [PATCH 13/19] glew: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/glew/1.10.nix | 10 +++++++--- pkgs/development/libraries/glew/default.nix | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix index 8fa77013e10..3f355deb33b 100644 --- a/pkgs/development/libraries/glew/1.10.nix +++ b/pkgs/development/libraries/glew/1.10.nix @@ -1,13 +1,14 @@ { lib, stdenv, fetchurl, libGLU, libXmu, libXi, libXext , AGL, OpenGL +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "glew"; version = "1.10.0"; src = fetchurl { - url = "mirror://sourceforge/glew/glew-${version}.tgz"; + url = "mirror://sourceforge/glew/${finalAttrs.pname}-${finalAttrs.version}.tgz"; sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; }; @@ -41,11 +42,14 @@ stdenv.mkDerivation rec { "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}" ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "An OpenGL extension loading library for C(++)"; homepage = "https://glew.sourceforge.net/"; license = licenses.free; # different files under different licenses #["BSD" "GLX" "SGI-B" "GPL2"] + pkgConfigModules = [ "glew" ]; platforms = platforms.mesaPlatforms; }; -} +}) diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index 1e30eb744ba..4cbd85e7a04 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -1,14 +1,15 @@ { lib, stdenv, fetchurl, fetchpatch, cmake, libGLU, libXmu, libXi, libXext , OpenGL , enableEGL ? false +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "glew"; version = "2.2.0"; src = fetchurl { - url = "mirror://sourceforge/glew/${pname}-${version}.tgz"; + url = "mirror://sourceforge/glew/${finalAttrs.pname}-${finalAttrs.version}.tgz"; sha256 = "1qak8f7g1iswgswrgkzc7idk7jmqgwrs58fhg2ai007v7j4q5z6l"; }; @@ -44,14 +45,17 @@ stdenv.mkDerivation rec { EOF ''; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "An OpenGL extension loading library for C/C++"; homepage = "https://glew.sourceforge.net/"; license = with licenses; [ /* modified bsd */ free mit gpl2Only ]; # For full details, see https://github.com/nigels-com/glew#copyright-and-licensing + pkgConfigModules = [ "glew" ]; platforms = with platforms; if enableEGL then subtractLists darwin mesaPlatforms else mesaPlatforms; }; -} +}) From 68326eb1f4009c10072161033b10589bbf735e1c Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:09:01 -0500 Subject: [PATCH 14/19] freeglut: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/freeglut/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix index 776023f35f0..8c12766204c 100644 --- a/pkgs/development/libraries/freeglut/default.nix +++ b/pkgs/development/libraries/freeglut/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv, fetchurl, libICE, libXext, libXi, libXrandr, libXxf86vm, libGL, libGLU, cmake }: +{ lib, stdenv, fetchurl, libICE, libXext, libXi, libXrandr, libXxf86vm, libGL, libGLU, cmake +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "freeglut"; version = "3.2.2"; src = fetchurl { - url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz"; + url = "mirror://sourceforge/freeglut/freeglut-${finalAttrs.version}.tar.gz"; sha256 = "sha256-xZRKCC3wu6lrV1bd2x910M1yzie1OVxsHd6Fwv8pelA="; }; @@ -22,6 +24,8 @@ stdenv.mkDerivation rec { "-DFREEGLUT_BUILD_STATIC:BOOL=OFF" ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "Create and manage windows containing OpenGL contexts"; longDescription = '' @@ -34,7 +38,8 @@ stdenv.mkDerivation rec { ''; homepage = "https://freeglut.sourceforge.net/"; license = licenses.mit; + pkgConfigModules = [ "glut" ]; platforms = platforms.all; maintainers = [ maintainers.bjornfor ]; }; -} +}) From 9808e6d89116d4d3eb55ce001280afd5bb54f206 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:27:08 -0500 Subject: [PATCH 15/19] libgnome-keyring{,3}: Add `meta.pkgConfigModules` and test --- .../gnome/core/libgnome-keyring/default.nix | 13 +++++++++---- .../libraries/libgnome-keyring/default.nix | 15 +++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/gnome/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome/core/libgnome-keyring/default.nix index aa3c7ed3981..9d2e3d4eff7 100644 --- a/pkgs/desktops/gnome/core/libgnome-keyring/default.nix +++ b/pkgs/desktops/gnome/core/libgnome-keyring/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, gnome }: +{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, gnome +, testers +}: let pname = "libgnome-keyring"; version = "3.12.0"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { name = "${pname}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"; }; @@ -17,10 +19,13 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ]; nativeBuildInputs = [ pkg-config intltool ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = { description = "Framework for managing passwords and other secrets"; homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; + pkgConfigModules = [ "gnome-keyring-1" ]; inherit (glib.meta) platforms maintainers; longDescription = '' @@ -29,4 +34,4 @@ stdenv.mkDerivation rec { with the gnome-keyring system. ''; }; -} +}) diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix index 3f5a5961ba0..775bcf2f2a4 100644 --- a/pkgs/development/libraries/libgnome-keyring/default.nix +++ b/pkgs/development/libraries/libgnome-keyring/default.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool }: +{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libgnome-keyring"; version = "2.32.0"; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "030gka96kzqg1r19b4xrmac89hf1xj1kr5p461yvbzfxh46qqf2n"; }; @@ -14,9 +18,12 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib dbus libgcrypt ]; nativeBuildInputs = [ pkg-config intltool ]; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = { + pkgConfigModules = [ "gnome-keyring-1" ]; inherit (glib.meta) platforms maintainers; homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; license = with lib.licenses; [ gpl2 lgpl2 ]; }; -} +}) From a938c505f388f25c120a99287923648101db0c37 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:32:16 -0500 Subject: [PATCH 16/19] gnome2.gnome_vfs: Add `meta.pkgConfigModules` and test --- .../gnome-2/platform/gnome-vfs/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix index 4c9f28230c3..7ce615fb3c7 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix @@ -1,12 +1,16 @@ { lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, bzip2, openssl, dbus-glib -, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }: +, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gnome-vfs"; version = "2.24.4"; - src = fetchurl { - url = "mirror://gnome/sources/gnome-vfs/${lib.versions.majorMinor version}/gnome-vfs-${version}.tar.bz2"; + src = let + inherit (finalAttrs) pname version; + in fetchurl { + url = "mirror://gnome/sources/gnome-vfs/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"; }; @@ -35,4 +39,10 @@ stdenv.mkDerivation rec { postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i "; doCheck = false; # needs dbus daemon -} + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = { + pkgConfigModules = [ "gnome-vfs-2.0" "gnome-vfs-module-2.0" ]; + }; +}) From 81655d432d0b7a27f70e35cd56878c0aece04551 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:33:51 -0500 Subject: [PATCH 17/19] gobject-introspection: Add `meta.pkgConfigModules` and test --- pkgs/development/libraries/gobject-introspection/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 4ab8cbbf965..f83b7c10819 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -21,6 +21,7 @@ , gobject-introspection-unwrapped , nixStoreDir ? builtins.storeDir , x11Support ? true +, testers }: # now that gobject-introspection creates large .gir files (eg gtk3 case) @@ -145,12 +146,14 @@ stdenv.mkDerivation (finalAttrs: { packageName = "gobject-introspection"; versionPolicy = "odd-unstable"; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; meta = with lib; { description = "A middleware layer between C libraries and language bindings"; homepage = "https://gi.readthedocs.io/"; maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 artturin ]); + pkgConfigModules = [ "gobject-introspection-1.0" ]; platforms = platforms.unix; license = with licenses; [ gpl2 lgpl2 ]; From 4180befaaf1ebfccae53fccfbaf1ba779fd849fe Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:40:35 -0500 Subject: [PATCH 18/19] gstreamer: Add `meta.pkgConfigModules` and test --- .../libraries/gstreamer/base/default.nix | 17 ++++++++++++++--- .../libraries/gstreamer/core/default.nix | 16 ++++++++++++---- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 395708c2a68..e03f9f0b844 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -37,15 +37,18 @@ , enableCdparanoia ? (!stdenv.isDarwin) , cdparanoia , glib +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gst-plugins-base"; version = "1.20.3"; outputs = [ "out" "dev" ]; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; sha256 = "sha256-fjCz3YGnA4D/dVT5mEcdaZb/drvm/FRHCW+FHiRHPJ8="; }; @@ -146,11 +149,19 @@ stdenv.mkDerivation rec { waylandEnabled = enableWayland; }; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "Base GStreamer plug-ins and helper libraries"; homepage = "https://gstreamer.freedesktop.org"; license = licenses.lgpl2Plus; + pkgConfigModules = [ + "gstreamer-audio-1.0" + "gstreamer-base-1.0" + "gstreamer-net-1.0" + "gstreamer-video-1.0" + ]; platforms = platforms.unix; maintainers = with maintainers; [ matthewbauer ]; }; -} +}) diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 41acd079583..80fc921a367 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -17,9 +17,10 @@ , lib , CoreServices , gobject-introspection +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gstreamer"; version = "1.20.3"; @@ -32,7 +33,9 @@ stdenv.mkDerivation rec { # - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551 ]; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; sha256 = "sha256-YH2vZLu9X7GK+dF+IcDSLE1wL//oOyPLItGxryyiOio="; }; @@ -108,11 +111,16 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; - meta = with lib ;{ + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = with lib; { description = "Open source multimedia framework"; homepage = "https://gstreamer.freedesktop.org"; license = licenses.lgpl2Plus; + pkgConfigModules = [ + "gstreamer-controller-1.0" + ]; platforms = platforms.unix; maintainers = with maintainers; [ ttuegel matthewbauer ]; }; -} +}) From 03c5c0a2c47261383efe01acd09f4bd7cfc02b08 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Feb 2023 10:56:58 -0500 Subject: [PATCH 19/19] gtksourceview: Add `meta.pkgConfigModules` and test --- .../gnome-2/desktop/gtksourceview/default.nix | 20 ++++++++++++++----- .../libraries/gtksourceview/3.x.nix | 17 +++++++++++----- .../libraries/gtksourceview/4.x.nix | 12 ++++++++--- .../libraries/gtksourceview/5.x.nix | 12 ++++++++--- 4 files changed, 45 insertions(+), 16 deletions(-) diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix index df63449c2f6..9db253dab3a 100644 --- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix @@ -1,15 +1,19 @@ {lib, stdenv, fetchpatch, fetchurl, autoreconfHook, pkg-config, atk, cairo, glib , gnome-common, gtk2, pango -, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 }: +, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 +, testers +}: with lib; -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "2.10.5"; - src = fetchurl { - url = "mirror://gnome/sources/gtksourceview/2.10/${pname}-${version}.tar.bz2"; + src = let + inherit (finalAttrs) pname version; + in fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"; }; @@ -40,4 +44,10 @@ stdenv.mkDerivation rec { ''; doCheck = false; # requires X11 daemon -} + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = { + pkgConfigModules = [ "gtksourceview-2.0" ]; + }; +}) diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix index 447e7d061fd..704a7c3e9c5 100644 --- a/pkgs/development/libraries/gtksourceview/3.x.nix +++ b/pkgs/development/libraries/gtksourceview/3.x.nix @@ -1,12 +1,16 @@ { lib, stdenv, fetchurl, pkg-config, atk, cairo, glib, gtk3, pango, vala -, libxml2, perl, intltool, gettext, gobject-introspection, dbus, xvfb-run, shared-mime-info }: +, libxml2, perl, intltool, gettext, gobject-introspection, dbus, xvfb-run, shared-mime-info +, testers +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "3.24.11"; - src = fetchurl { - url = "mirror://gnome/sources/gtksourceview/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + src = let + inherit (finalAttrs) pname version; + in fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1zbpj283b5ycz767hqz5kdq02wzsga65pp4fykvhg8xj6x50f6v9"; }; @@ -42,10 +46,13 @@ stdenv.mkDerivation rec { make check ''; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { homepage = "https://wiki.gnome.org/Projects/GtkSourceView"; + pkgConfigModules = [ "gtksourceview-3.0" ]; platforms = with platforms; linux ++ darwin; license = licenses.lgpl21; maintainers = teams.gnome.members; }; -} +}) diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix index 95e6e8d2e10..e824e1ed9c6 100644 --- a/pkgs/development/libraries/gtksourceview/4.x.nix +++ b/pkgs/development/libraries/gtksourceview/4.x.nix @@ -19,15 +19,18 @@ , dbus , xvfb-run , shared-mime-info +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "4.8.4"; outputs = [ "out" "dev" ]; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "fsnRj7KD0fhKOj7/O3pysJoQycAGWXs/uru1lYQgqH0="; }; @@ -101,11 +104,14 @@ stdenv.mkDerivation rec { }; }; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "Source code editing widget for GTK"; homepage = "https://wiki.gnome.org/Projects/GtkSourceView"; + pkgConfigModules = [ "gtksourceview-4" ]; platforms = platforms.unix; license = licenses.lgpl21Plus; maintainers = teams.gnome.members; }; -} +}) diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix index 849c3caf267..100e3e44a88 100644 --- a/pkgs/development/libraries/gtksourceview/5.x.nix +++ b/pkgs/development/libraries/gtksourceview/5.x.nix @@ -20,15 +20,18 @@ , dbus , xvfb-run , shared-mime-info +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "5.6.2"; outputs = [ "out" "dev" "devdoc" ]; - src = fetchurl { + src = let + inherit (finalAttrs) pname version; + in fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "HxRsFW8TWmBJnZeeNXfJm24VoRFEV2er5iGbs0xUXHc="; }; @@ -117,11 +120,14 @@ stdenv.mkDerivation rec { }; }; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "Source code editing widget for GTK"; homepage = "https://wiki.gnome.org/Projects/GtkSourceView"; + pkgConfigModules = [ "gtksourceview-5" ]; platforms = platforms.unix; license = licenses.lgpl21Plus; maintainers = teams.gnome.members; }; -} +})