diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix b/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix index 0b5531d70c54..9efea659a651 100644 --- a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix +++ b/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix @@ -2,15 +2,17 @@ , pkg-config, intltool , glib, dbus-glib, json-glib , gobject-introspection, vala -, gtkVersion ? null, gtk2 ? null, gtk3 ? null }: +, gtkVersion ? null, gtk2, gtk3 +, testers +}: -with lib; - -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}"; version = "16.04.0"; - src = fetchurl { + src = let + inherit (finalAttrs) version; + in fetchurl { url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz"; sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"; }; @@ -19,7 +21,11 @@ stdenv.mkDerivation rec { buildInputs = [ glib dbus-glib json-glib - ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3); + ] ++ lib.optional (gtkVersion != null) + { + "2" = gtk2; + "3" = gtk3; + }.${gtkVersion} or (throw "unknown GTK version ${gtkVersion}"); postPatch = '' for f in {configure,ltmain.sh,m4/libtool.m4}; do @@ -38,9 +44,10 @@ stdenv.mkDerivation rec { "CFLAGS=-Wno-error" "--sysconfdir=/etc" "--localstatedir=/var" + # TODO use `lib.withFeatureAs` (if gtkVersion == null then "--disable-gtk" else "--with-gtk=${gtkVersion}") "--disable-scrollkeeper" - ] ++ optional (gtkVersion != "2") "--disable-dumper"; + ] ++ lib.optional (gtkVersion != "2") "--disable-dumper"; doCheck = false; # generates shebangs in check phase, too lazy to fix @@ -50,11 +57,17 @@ stdenv.mkDerivation rec { "typelibdir=${placeholder "out"}/lib/girepository-1.0" ]; - meta = { + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = with lib; { description = "Library for passing menu structures across DBus"; homepage = "https://launchpad.net/dbusmenu"; license = with licenses; [ gpl3 lgpl21 lgpl3 ]; + pkgConfigModules = [ + "dbusmenu-glib-0.4" + "dbusmenu-jsonloader-0.4" + ] ++ lib.optional (gtkVersion == "3") "dbusmenu-gtk${gtkVersion}-0.4"; platforms = platforms.linux; maintainers = [ maintainers.msteen ]; }; -} +}) |