summary refs log tree commit diff
path: root/pkgs/development/libraries/libproxy
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/libproxy')
-rw-r--r--pkgs/development/libraries/libproxy/default.nix50
1 files changed, 15 insertions, 35 deletions
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 61c25e183bd..c5d6bc4612f 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,12 +1,12 @@
-{ stdenv
+{ lib, stdenv
 , fetchFromGitHub
-, pkgconfig
+, pkg-config
 , cmake
 , zlib
-, fetchpatch
 , dbus
 , networkmanager
-, spidermonkey_60
+, enableJavaScript ? stdenv.isDarwin || lib.meta.availableOn stdenv.hostPlatform spidermonkey_68
+, spidermonkey_68
 , pcre
 , gsettings-desktop-schemas
 , glib
@@ -17,21 +17,23 @@
 , JavaScriptCore
 }:
 
-stdenv.mkDerivation rec {
+let
+  jsRuntime = if stdenv.hostPlatform.isDarwin then JavaScriptCore else spidermonkey_68;
+in stdenv.mkDerivation rec {
   pname = "libproxy";
-  version = "0.4.15";
+  version = "0.4.17";
 
   src = fetchFromGitHub {
     owner = "libproxy";
     repo = "libproxy";
     rev = version;
-    sha256 = "10swd3x576pinx33iwsbd4h15fbh2snmfxzcmab4c56nb08qlbrs";
+    sha256 = "0v8q4ln0pd5231kidpi8wpwh0chcjwcmawcki53czlpdrc09z96r";
   };
 
   outputs = [ "out" "dev" "py3" ];
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
     cmake
     makeWrapper
   ];
@@ -40,52 +42,30 @@ stdenv.mkDerivation rec {
     pcre
     python3
     zlib
+  ] ++ lib.optionals enableJavaScript [
+    jsRuntime
   ] ++ (if stdenv.hostPlatform.isDarwin then [
     SystemConfiguration
     CoreFoundation
-    JavaScriptCore
   ] else [
     glib
-    spidermonkey_60
     dbus
     networkmanager
   ]);
 
   cmakeFlags = [
-    "-DWITH_MOZJS=ON"
     "-DWITH_PYTHON2=OFF"
     "-DPYTHON3_SITEPKG_DIR=${placeholder "py3"}/${python3.sitePackages}"
-  ];
-
-  patches = [
-    # Make build with spidermonkey_60
-    (fetchpatch {
-      url = "https://github.com/libproxy/libproxy/pull/86.patch";
-      sha256 = "17c06ilinrnzr7xnnmw9pc6zrncyaxcdd6r6k1ah5p156skbykfs";
-    })
-    (fetchpatch {
-      url = "https://github.com/libproxy/libproxy/pull/87.patch";
-      sha256 = "0sagzfwm16f33inbkwsp88w9wmrd034rjmw0y8d122f7k1qfx6zc";
-    })
-    (fetchpatch {
-      url = "https://github.com/libproxy/libproxy/pull/95.patch";
-      sha256 = "18vyr6wlis9zfwml86606jpgb9mss01l9aj31iiciml8p857aixi";
-    })
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    (fetchpatch {
-      url = "https://github.com/libproxy/libproxy/commit/44158f03f8522116758d335688ed840dfcb50ac8.patch";
-      sha256 = "0axfvb6j7gcys6fkwi9dkn006imhvm3kqr83gpwban8419n0q5v1";
-    })
-  ];
+  ] ++ lib.optional (enableJavaScript && !stdenv.hostPlatform.isDarwin) "-DWITH_MOZJS=ON";
 
-  postFixup = stdenv.lib.optionalString stdenv.isLinux ''
+  postFixup = lib.optionalString stdenv.isLinux ''
     # config_gnome3 uses the helper to find GNOME proxy settings
     wrapProgram $out/libexec/pxgsettings --prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
   '';
 
   doCheck = false; # fails 1 out of 10 tests
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.lgpl21;
     homepage = "http://libproxy.github.io/libproxy/";