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 = [ ]; }; } diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index 5eb20169412d..142f6176dbc7 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchFromGitHub, lib -, intltool, glib, pkgconfig, polkit, python, sqlite, systemd +, intltool, glib, pkgconfig, polkit, python, sqlite , gobjectIntrospection, vala_0_38, gtk-doc, autoreconfHook, autoconf-archive # TODO: set enableNixBackend to true, as soon as it builds , nix, enableNixBackend ? false, boost , enableCommandNotFound ? false -, enableBashCompletion ? false, bash-completion ? null }: +, enableBashCompletion ? false, bash-completion ? null +, enableSystemd ? stdenv.isLinux, systemd }: stdenv.mkDerivation rec { name = "packagekit-${version}"; @@ -17,7 +18,8 @@ stdenv.mkDerivation rec { sha256 = "11drd6ixx75q3w12am3z1npwllq1kxnhbxv0npng92c69kn291zs"; }; - buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_38 ] + buildInputs = [ glib polkit python gobjectIntrospection vala_0_38 ] + ++ lib.optional enableSystemd systemd ++ lib.optional enableBashCompletion bash-completion; propagatedBuildInputs = [ sqlite nix boost ]; nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk-doc ]; @@ -28,7 +30,7 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--enable-systemd" + (if enableSystemd then "--enable-systemd" else "--disable-systemd") "--disable-dummy" "--disable-cron" "--disable-introspection" @@ -63,7 +65,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.packagekit.org/; license = licenses.gpl2Plus; - platforms = platforms.linux; + platforms = platforms.darwin; maintainers = with maintainers; [ matthewbauer ]; }; }