diff options
Diffstat (limited to 'pkgs')
19 files changed, 283 insertions, 56 deletions
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 1e61cabb7a12..28cc273c679c 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -23,10 +23,11 @@ , pango , audioSupport ? mediaSupport -, pulseaudioSupport ? audioSupport +, pulseaudioSupport ? false , libpulseaudio +, apulse -# Media support (implies pulseaudio support) +# Media support (implies audio support) , mediaSupport ? false , gstreamer , gst-plugins-base @@ -158,6 +159,11 @@ stdenv.mkDerivation rec { # and torLibPath for accuracy, but this is more convenient ... libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor + # apulse uses a non-standard library path. For now special-case it. + ${optionalString (audioSupport && !pulseaudioSupport) '' + libPath=${apulse}/lib/apulse:$libPath + ''} + # Fixup paths to pluggable transports. sed -i TorBrowser/Data/Tor/torrc-defaults \ -e "s,./TorBrowser,$TBB_IN_STORE/TorBrowser,g" @@ -218,6 +224,13 @@ stdenv.mkDerivation rec { // toggling the pref takes effect. lockPref("browser.tabs.remote.autostart.2", ${if disableContentSandbox then "false" else "true"}); + // Allow sandbox access to sound devices if using ALSA directly + ${if (audioSupport && !pulseaudioSupport) then '' + pref("security.sandbox.content.write_path_whitelist", "/dev/snd/"); + '' else '' + clearPref("security.sandbox.content.write_path_whitelist"); + ''} + ${optionalString (extraPrefs != "") '' ${extraPrefs} ''} @@ -336,6 +349,8 @@ stdenv.mkDerivation rec { PULSE_SERVER="\''${PULSE_SERVER:-}" \ PULSE_COOKIE="\''${PULSE_COOKIE:-}" \ \ + APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plughw:0,0}" \ + \ TOR_SKIP_LAUNCH="\''${TOR_SKIP_LAUNCH:-}" \ TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \ TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \ diff --git a/pkgs/misc/apulse/default.nix b/pkgs/misc/apulse/default.nix index 12d774467c52..4b2323eaa716 100644 --- a/pkgs/misc/apulse/default.nix +++ b/pkgs/misc/apulse/default.nix @@ -2,17 +2,20 @@ stdenv.mkDerivation rec { name = "apulse-${version}"; - version = "0.1.6"; + version = "0.1.10"; src = fetchFromGitHub { owner = "i-rinat"; repo = "apulse"; rev = "v${version}"; - sha256 = "1w0mqa8gcrvvlns3pryhmlsc0g1irdnwsawx4g34wgwrp9paqqzm"; + sha256 = "018gaxn647wz1vjbr49hfrch9svnv0d1nzijc8ckb4fsr8vv95a1"; }; - buildInputs = - [ alsaLib cmake pkgconfig glib ]; + enableParallelBuilding = true; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ alsaLib glib ]; meta = with stdenv.lib; { description = "PulseAudio emulation for ALSA"; diff --git a/pkgs/misc/jackaudio/clang.patch b/pkgs/misc/jackaudio/clang.patch new file mode 100644 index 000000000000..131f8c4c04dd --- /dev/null +++ b/pkgs/misc/jackaudio/clang.patch @@ -0,0 +1,22 @@ +diff --git a/tests/test.cpp b/tests/test.cpp +index 8a8a811..31e8459 100644 +--- a/tests/test.cpp ++++ b/tests/test.cpp +@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg) + jack_nframes_t delta_time = cur_time - last_time; + + Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); +- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { ++ if (delta_time > 0 && (jack_nframes_t)fabs(delta_time - cur_buffer_size) > tolerance) { + printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance); + } + +@@ -1064,7 +1064,7 @@ int main (int argc, char *argv[]) + } + jack_sleep(1 * 1000); + cur_buffer_size = jack_get_buffer_size(client1); +- if (abs((old_buffer_size * factor) - cur_buffer_size) > 5) { // Tolerance needed for dummy driver... ++ if (fabs((old_buffer_size * factor) - cur_buffer_size) > 5) { // Tolerance needed for dummy driver... + printf("!!! ERROR !!! Buffer size has not been changed !\n"); + printf("!!! Maybe jack was compiled without the '--enable-resize' flag...\n"); + } else { diff --git a/pkgs/misc/jackaudio/darwin-cf.patch b/pkgs/misc/jackaudio/darwin-cf.patch new file mode 100644 index 000000000000..0fc0902a0c48 --- /dev/null +++ b/pkgs/misc/jackaudio/darwin-cf.patch @@ -0,0 +1,49 @@ +diff --git a/common/Jackdmp.cpp b/common/Jackdmp.cpp +index 7eea281..4b8d75d 100644 +--- a/common/Jackdmp.cpp ++++ b/common/Jackdmp.cpp +@@ -50,43 +50,11 @@ are "hard-coded" in the source. A much better approach would be to use the contr + - get available drivers and their possible parameters, then prepare to parse them. + */ + +-#ifdef __APPLE__ +-#include <CoreFoundation/CFNotificationCenter.h> +-#include <CoreFoundation/CoreFoundation.h> +- +-static void notify_server_start(const char* server_name) +-{ +- // Send notification to be used in the JackRouter plugin +- CFStringRef ref = CFStringCreateWithCString(NULL, server_name, kCFStringEncodingMacRoman); +- CFNotificationCenterPostNotificationWithOptions(CFNotificationCenterGetDistributedCenter(), +- CFSTR("com.grame.jackserver.start"), +- ref, +- NULL, +- kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions); +- CFRelease(ref); +-} +- +-static void notify_server_stop(const char* server_name) +-{ +- // Send notification to be used in the JackRouter plugin +- CFStringRef ref1 = CFStringCreateWithCString(NULL, server_name, kCFStringEncodingMacRoman); +- CFNotificationCenterPostNotificationWithOptions(CFNotificationCenterGetDistributedCenter(), +- CFSTR("com.grame.jackserver.stop"), +- ref1, +- NULL, +- kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions); +- CFRelease(ref1); +-} +- +-#else +- + static void notify_server_start(const char* server_name) + {} + static void notify_server_stop(const char* server_name) + {} + +-#endif +- + static void copyright(FILE* file) + { + fprintf(file, "jackdmp " VERSION "\n" + diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 52f288deba33..20da91efede8 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -1,9 +1,12 @@ { stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper , bash, libsamplerate, libsndfile, readline, eigen, celt +# Darwin Dependencies +, aften, AudioToolbox, CoreAudio, CoreFoundation # Optional Dependencies , dbus ? null, libffado ? null, alsaLib ? null , libopus ? null +, darwin # Extra options , prefix ? "" @@ -16,7 +19,7 @@ let libOnly = prefix == "lib"; - optDbus = shouldUsePkg dbus; + optDbus = if stdenv.isDarwin then null else shouldUsePkg dbus; optPythonDBus = if libOnly then null else shouldUsePkg dbus-python; optLibffado = if libOnly then null else shouldUsePkg libffado; optAlsaLib = if libOnly then null else shouldUsePkg alsaLib; @@ -34,21 +37,36 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig python makeWrapper ]; - buildInputs = [ python libsamplerate libsndfile readline eigen celt + buildInputs = [ libsamplerate libsndfile readline eigen celt optDbus optPythonDBus optLibffado optAlsaLib optLibopus - ]; + ] ++ stdenv.lib.optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ]; - patchPhase = '' - substituteInPlace svnversion_regenerate.sh --replace /bin/bash ${bash}/bin/bash + # CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet. + patches = stdenv.lib.optionals stdenv.isDarwin [ ./clang.patch ./darwin-cf.patch ]; + + prePatch = '' + substituteInPlace svnversion_regenerate.sh \ + --replace /bin/bash ${bash}/bin/bash + ''; + + # It looks like one of the frameworks depends on <CoreFoundation/CFAttributedString.h> + # since frameworks are impure we also have to use the impure CoreFoundation here. + # FIXME: remove when CoreFoundation is updated to 10.11 + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE" ''; configurePhase = '' + runHook preConfigure + python waf configure --prefix=$out \ ${optionalString (optDbus != null) "--dbus"} \ --classic \ ${optionalString (optLibffado != null) "--firewire"} \ ${optionalString (optAlsaLib != null) "--alsa"} \ --autostart=${if (optDbus != null) then "dbus" else "classic"} \ + + runHook postConfigure ''; buildPhase = '' diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 7b930e86a39f..081f713d0549 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -23,6 +23,9 @@ with frameworks; with libs; { CalendarStore = []; Cocoa = [ AppKit ]; Collaboration = []; + # Impure version of CoreFoundation, this should not be used unless another + # framework includes headers that are not available in the pure version. + CoreFoundation = []; CoreAudio = [ CF IOKit ]; CoreAudioKit = [ AudioUnit ]; CoreData = []; diff --git a/pkgs/os-specific/linux/fscrypt/default.nix b/pkgs/os-specific/linux/fscrypt/default.nix new file mode 100644 index 000000000000..1564069a0a98 --- /dev/null +++ b/pkgs/os-specific/linux/fscrypt/default.nix @@ -0,0 +1,33 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, libargon2, pam }: + +# Don't use this for anything important yet! + +buildGoPackage rec { + name = "fscrypt-${version}"; + version = "0.2.1"; + + goPackagePath = "github.com/google/fscrypt"; + + src = fetchFromGitHub { + owner = "google"; + repo = "fscrypt"; + rev = version; + sha256 = "0ais6l0dxinnspi6cjnzyk55cdkfsz2bzbaybg6cb4q8a5kzaccq"; + }; + + buildInputs = [ libargon2 pam ]; + + meta = with stdenv.lib; { + description = + "A high-level tool for the management of Linux filesystem encryption"; + longDescription = '' + This tool manages metadata, key generation, key wrapping, PAM integration, + and provides a uniform interface for creating and modifying encrypted + directories. + ''; + inherit (src.meta) homepage; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index 8938eaae8183..b18b6de0d140 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -1,8 +1,10 @@ { version, sha256Hash, maintainers }: { stdenv, fetchFromGitHub, fetchpatch -, utillinux, autoconf, automake, libtool, gettext -, fusePackages }: +, fusePackages, utillinux, gettext +, autoconf, automake, libtool +, meson, ninja, pkgconfig +}: let isFuse3 = stdenv.lib.hasPrefix "3" version; @@ -16,15 +18,25 @@ in stdenv.mkDerivation rec { sha256 = sha256Hash; }; - patches = stdenv.lib.optional - (!isFuse3 && stdenv.isAarch64) - (fetchpatch { - url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch"; - sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa"; - }); - - nativeBuildInputs = [ libtool autoconf automake ]; - buildInputs = [ gettext utillinux ]; + patches = + stdenv.lib.optional + (!isFuse3 && stdenv.isAarch64) + (fetchpatch { + url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch"; + sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa"; + }) + ++ stdenv.lib.optionals isFuse3 [ + ./fuse3-no-udev.patch # only required for udevrulesdir + ./fuse3-install.patch + # install_man makes the build non-reproducible by encoding the date + ./fuse3-install_man.patch + ]; + + + nativeBuildInputs = if isFuse3 + then [ meson ninja pkgconfig ] + else [ autoconf automake libtool ]; + buildInputs = stdenv.lib.optional (!isFuse3) gettext; outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common"; @@ -39,27 +51,27 @@ in stdenv.mkDerivation rec { export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\"" sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c - sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh - - ./makeconf.sh - ''; - - postFixup = if isFuse3 then '' - cd $out - + '' + (if isFuse3 then '' + # The configure phase will delete these files (temporary workaround for + # ./fuse3-install_man.patch) + install -D -m444 doc/fusermount3.1 $out/share/man/man1/fusermount3.1 + install -D -m444 doc/mount.fuse.8 $out/share/man/man8/mount.fuse.8 + '' else '' + sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh + ./makeconf.sh + ''); + + postFixup = "cd $out\n" + (if isFuse3 then '' mv bin/mount.fuse3 bin/mount.fuse - mv etc/udev/rules.d/99-fuse3.rules etc/udev/rules.d/99-fuse.rules install -D -m555 bin/mount.fuse $common/bin/mount.fuse install -D -m444 etc/udev/rules.d/99-fuse.rules $common/etc/udev/rules.d/99-fuse.rules install -D -m444 share/man/man8/mount.fuse.8.gz $common/share/man/man8/mount.fuse.8.gz '' else '' - cd $out - cp ${fusePackages.fuse_3.common}/bin/mount.fuse bin/mount.fuse cp ${fusePackages.fuse_3.common}/etc/udev/rules.d/99-fuse.rules etc/udev/rules.d/99-fuse.rules cp ${fusePackages.fuse_3.common}/share/man/man8/mount.fuse.8.gz share/man/man8/mount.fuse.8.gz - ''; + ''); enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 1a6c45c7cee9..669d115aab99 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -13,8 +13,8 @@ in { }; fuse_3 = mkFuse { - version = "3.1.1"; - sha256Hash = "14mazl2i55fp4vjphwgcmk3mp2x3mhqwh9nci0rd0jl5lhpdmpq6"; + version = "3.2.0"; + sha256Hash = "0bfpwkfamg4rcbq1s7v5rblpisqq73z6d5j3dxypgqll07hfg51x"; maintainers = [ maintainers.primeos ]; }; } diff --git a/pkgs/os-specific/linux/fuse/fuse3-install.patch b/pkgs/os-specific/linux/fuse/fuse3-install.patch new file mode 100644 index 000000000000..f77639367acf --- /dev/null +++ b/pkgs/os-specific/linux/fuse/fuse3-install.patch @@ -0,0 +1,24 @@ +--- a/util/install_helper.sh 1970-01-01 01:00:01.000000000 +0100 ++++ b/util/install_helper.sh 2017-09-21 23:43:50.703942577 +0200 +@@ -11,19 +11,11 @@ + udevrulesdir="$3" + prefix="${MESON_INSTALL_DESTDIR_PREFIX}" + +-chown root:root "${prefix}/${bindir}/fusermount3" +-chmod u+s "${prefix}/${bindir}/fusermount3" +- +-if test ! -e "${DESTDIR}/dev/fuse"; then +- mkdir -p "${DESTDIR}/dev" +- mknod "${DESTDIR}/dev/fuse" -m 0666 c 10 229 +-fi +- + install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \ +- "${DESTDIR}/${udevrulesdir}/99-fuse3.rules" ++ "${prefix}/${udevrulesdir}/99-fuse.rules" + + install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \ +- "${DESTDIR}/etc/init.d/fuse3" ++ "${prefix}/etc/init.d/fuse3" + + if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then + /usr/sbin/update-rc.d fuse3 start 34 S . start 41 0 6 . || /bin/true diff --git a/pkgs/os-specific/linux/fuse/fuse3-install_man.patch b/pkgs/os-specific/linux/fuse/fuse3-install_man.patch new file mode 100644 index 000000000000..491f92e364f6 --- /dev/null +++ b/pkgs/os-specific/linux/fuse/fuse3-install_man.patch @@ -0,0 +1,8 @@ +--- a/doc/meson.build 1970-01-01 01:00:01.000000000 +0100 ++++ b/doc/meson.build 2017-09-22 01:53:01.859190506 +0200 +@@ -1,5 +1,4 @@ + # Attention, emacs, please use -*- mode: python -*- + # (even though this isn't actually Python code) + +-install_man('fusermount3.1', 'mount.fuse.8') + diff --git a/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch b/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch new file mode 100644 index 000000000000..c48abfe59c53 --- /dev/null +++ b/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch @@ -0,0 +1,12 @@ ++++ b/util/meson.build 2017-09-23 20:59:31.555392297 +0200 +--- a/util/meson.build 2017-09-23 20:59:58.333180437 +0200 +@@ -18,8 +18,7 @@ + install: true, + install_dir: get_option('sbindir')) + +-udev = dependency('udev') +-udevrulesdir = join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d') ++udevrulesdir = 'etc/udev/rules.d' + + meson.add_install_script('install_helper.sh', get_option('sysconfdir'), + get_option('bindir'), udevrulesdir) diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix index 93c854d8e08b..263df09ebb56 100644 --- a/pkgs/servers/openafs-client/default.nix +++ b/pkgs/servers/openafs-client/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "openafs-${version}-${kernel.version}"; - version = "1.6.21"; + version = "1.6.21.1"; src = fetchurl { url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2"; - sha256 = "ba9c1f615edd53b64fc271ad369c49a816acedca70cdd090975033469a84118f"; + sha256 = "0nisxnfl8nllcfmi7mxj1gngkpxd4jp1wapbkhz07qwqynq9dn5f"; }; nativeBuildInputs = [ autoconf automake flex yacc perl which ]; @@ -46,8 +46,6 @@ stdenv.mkDerivation rec { license = licenses.ipl10; platforms = platforms.linux; maintainers = [ maintainers.z77z ]; - broken = - (builtins.compareVersions kernel.version "3.18" == -1) || - (builtins.compareVersions kernel.version "4.13" == 0); + broken = versionOlder kernel.version "3.18"; }; } diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix index 7fdef68f30f7..5afe14209f64 100644 --- a/pkgs/tools/admin/salt/default.nix +++ b/pkgs/tools/admin/salt/default.nix @@ -8,12 +8,12 @@ python2Packages.buildPythonApplication rec { pname = "salt"; - version = "2016.11.5"; + version = "2017.7.1"; name = "${pname}-${version}"; src = python2Packages.fetchPypi { inherit pname version; - sha256 = "1gpq6s87vy782z4b5h6s7zwndcxnllbdr2wldxr9hyp4lfj2f55q"; + sha256 = "079kymgxyzhf47dd42l7f42jp45gx5im4k3g31bj25p1s0aq91py"; }; propagatedBuildInputs = with python2Packages; [ diff --git a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch index fa2c5c0aa521..f7560b1fc56d 100644 --- a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch +++ b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch @@ -1,11 +1,14 @@ diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py -index 9eb1f4a..d764f7a 100644 +index f827cc6db8..b728595186 100644 --- a/salt/utils/rsax931.py +++ b/salt/utils/rsax931.py -@@ -36,7 +36,6 @@ def _load_libcrypto(): - 'libcrypto.so*')) +@@ -47,6 +47,9 @@ def _load_libcrypto(): lib = lib[0] if len(lib) > 0 else None -- if lib: -- return cdll.LoadLibrary(lib) -+ return cdll.LoadLibrary('@libcrypto@') + if lib: + return cdll.LoadLibrary(lib) ++ else: ++ return cdll.LoadLibrary('@libcrypto@') ++ raise OSError('Cannot locate OpenSSL libcrypto') + + diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix index 518edbb3ea4e..3df76d828318 100644 --- a/pkgs/tools/filesystems/encfs/default.nix +++ b/pkgs/tools/filesystems/encfs/default.nix @@ -5,10 +5,10 @@ stdenv.mkDerivation rec { name = "encfs-${version}"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { - sha256 = "1pyldd802db987m13jfmy491mp8mnsv2mwki0ra4wbnngbqgalhv"; + sha256 = "0isx7n4r8znk02464s0wvlzk6ry5mlnq3kgnd0rapnhjwdvwqr5y"; rev = "v${version}"; repo = "encfs"; owner = "vgough"; diff --git a/pkgs/tools/filesystems/sshfs-fuse/build-man-pages.patch b/pkgs/tools/filesystems/sshfs-fuse/build-man-pages.patch new file mode 100644 index 000000000000..fba1d250c42b --- /dev/null +++ b/pkgs/tools/filesystems/sshfs-fuse/build-man-pages.patch @@ -0,0 +1,11 @@ +--- a/meson.build 2017-09-23 22:02:57.770555382 +0200 ++++ b/meson.build 2017-09-23 23:11:28.258095182 +0200 +@@ -25,7 +25,7 @@ + endif + + +-rst2man = find_program('rst2man', required: false) ++rst2man = find_program('rst2man.py', required: true) + + cfg = configuration_data() + diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix index 274be305da84..eace7c2783e1 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/default.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix @@ -1,17 +1,25 @@ -{ stdenv, fetchFromGitHub, pkgconfig, glib, fuse3, autoreconfHook }: +{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja, glib, fuse3 +, buildManPages ? true, docutils +}: -stdenv.mkDerivation rec { - version = "3.2.0"; +let + inherit (stdenv.lib) optional; + rpath = stdenv.lib.makeLibraryPath [ fuse3 glib ]; +in stdenv.mkDerivation rec { + version = "3.3.0"; name = "sshfs-fuse-${version}"; src = fetchFromGitHub { owner = "libfuse"; repo = "sshfs"; rev = "sshfs-${version}"; - sha256 = "09pqdibhcj1p7m6vxkqiprvbcxp9iq2lm1hb6w7p8iarmvp80rlv"; + sha256 = "1hn5c0059ppjqygdhvapxm7lrqm5bnpwaxgjylskz04c0vr8nygp"; }; - buildInputs = [ pkgconfig glib fuse3 autoreconfHook ]; + patches = optional buildManPages ./build-man-pages.patch; + + nativeBuildInputs = [ meson pkgconfig ninja ]; + buildInputs = [ fuse3 glib ] ++ optional buildManPages docutils; NIX_CFLAGS_COMPILE = stdenv.lib.optional (stdenv.system == "i686-linux") @@ -22,6 +30,10 @@ stdenv.mkDerivation rec { ln -sf $out/bin/sshfs $out/sbin/mount.sshfs ''; + postFixup = '' + patchelf --set-rpath '${rpath}' "$out/bin/sshfs" + ''; + meta = with stdenv.lib; { inherit (src.meta) homepage; description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 257d116ec79d..4df368a51edf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12024,6 +12024,9 @@ with pkgs; dstat = callPackage ../os-specific/linux/dstat { }; + # unstable until the first 1.x release + fscrypt-experimental = callPackage ../os-specific/linux/fscrypt { }; + fwupd = callPackage ../os-specific/linux/firmware/fwupd { inherit (gnome2) gtk_doc; inherit (python3Packages) pygobject3 pillow; }; fwupdate = callPackage ../os-specific/linux/firmware/fwupdate { }; @@ -18886,6 +18889,7 @@ with pkgs; jack2Full = callPackage ../misc/jackaudio { libopus = libopus.override { withCustomModes = true; }; + inherit (darwin.apple_sdk.frameworks) AudioToolbox CoreAudio CoreFoundation; }; libjack2 = jack2Full.override { prefix = "lib"; }; |