diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index ef865529805f..0619097af917 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -2,6 +2,7 @@ , intltool, spidermonkey_17 , gobjectIntrospection, libxslt, docbook_xsl , docbook_xml_dtd_412, gtk-doc , useSystemd ? stdenv.isLinux, systemd +, doCheck ? false }: let @@ -37,15 +38,16 @@ stdenv.mkDerivation rec { url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760"; sha256 = "0bxmjwp8ahy1y5g1l0kxmld0l3mlvb2l0i5n1qabia3d5iyjkyfh"; }) - ] - # Could be applied uncondtionally but don't want to trigger rebuild - # https://bugs.freedesktop.org/show_bug.cgi?id=50145 - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch { - name = "netgroup-optional.patch"; - url = "https://bugs.freedesktop.org/attachment.cgi?id=118753"; - sha256 = "1zq51dhmqi9zi86bj9dq4i4pxlxm41k3k4a091j07bd78cjba038"; - }); + (fetchpatch { + name = "netgroup-optional.patch"; + url = "https://bugs.freedesktop.org/attachment.cgi?id=118753"; + sha256 = "1zq51dhmqi9zi86bj9dq4i4pxlxm41k3k4a091j07bd78cjba038"; + }) + ]; + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i -e "s/-Wl,--as-needed//" configure.ac + ''; outputs = [ "bin" "dev" "out" ]; # small man pages in $bin @@ -83,22 +85,22 @@ stdenv.mkDerivation rec { "--with-polkitd-user=polkituser" #TODO? config.ids.uids.polkituser "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS "--enable-introspection" - ]; + ] ++ stdenv.lib.optional (!doCheck) "--disable-test"; makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0 INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; # The following is required on grsecurity/PaX due to spidermonkey's JIT - postBuild = '' + postBuild = stdenv.lib.optionalString stdenv.isLinux '' paxmark mr src/polkitbackend/.libs/polkitd paxmark mr test/polkitbackend/.libs/polkitbackendjsauthoritytest ''; - #doCheck = true; # some /bin/bash problem that isn't auto-solved by patchShebangs + inherit doCheck; meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/polkit; description = "A toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes"; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ ]; }; }