diff options
Diffstat (limited to 'pkgs')
31 files changed, 384 insertions, 241 deletions
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix index 1612752d4702..aade5636c168 100644 --- a/pkgs/applications/audio/cantata/default.nix +++ b/pkgs/applications/audio/cantata/default.nix @@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib; assert withReplaygain -> withTaglib; let - version = "1.4.2"; + version = "1.5.0"; pname = "cantata"; fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF"); fstats = x: map (fstat x); @@ -50,8 +50,8 @@ stdenv.mkDerivation rec { src = fetchurl { inherit name; - url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60UDFOeU1qSkIzaVE"; - sha256 = "0ycwx75f1jlsaca170bz82av06bnlknl3q0df001rhmhb7wh4j6c"; + url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60c0pFbEtldEk1UnM"; + sha256 = "0gnqfp3ps79d500hrivxj2xkkia042knhg86md6w8ycl3945611p"; }; buildInputs = diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix index 72e546246d50..434f683bd5cd 100644 --- a/pkgs/applications/audio/hydrogen/default.nix +++ b/pkgs/applications/audio/hydrogen/default.nix @@ -2,12 +2,12 @@ , liblrdf, libsndfile, pkgconfig, qt4 }: stdenv.mkDerivation rec { - version = "0.9.6"; + version = "0.9.6.1"; name = "hydrogen-${version}"; src = fetchurl { url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; - sha256 = "1z7j8aq158mp41iv78j0w6fyx98y1y51z592b4x5hkvicabgck5w"; + sha256 = "0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll"; }; buildInputs = [ diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix index dd3eaecc7441..6d89d9e52715 100644 --- a/pkgs/applications/science/electronics/qucs/default.nix +++ b/pkgs/applications/science/electronics/qucs/default.nix @@ -1,17 +1,16 @@ -{stdenv, fetchurl, qt3, libX11}: +{stdenv, fetchurl, flex, bison, qt4, libX11 }: stdenv.mkDerivation rec { - name = "qucs-0.0.16"; + name = "qucs-0.0.18"; src = fetchurl { url = "mirror://sourceforge/qucs/${name}.tar.gz"; - sha256 = "1h8ba84k06rix5zl5p9p414zj2facbnlf1vxwh4a1sp4h9dbfnzy"; + sha256 = "3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7"; }; - patches = [ ./tr1-complex.patch ]; - patchFlags = "-p0"; + QTDIR=qt4; - buildInputs = [ qt3 libX11 ]; + buildInputs = [ flex bison qt4 libX11 ]; meta = { description = "Integrated circuit simulator"; diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix index 51051918f105..f63ae98c4866 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix @@ -2,27 +2,25 @@ , selectTextPatch ? false }: stdenv.mkDerivation rec { - versionMajor = "0.38"; - versionMinor = "0"; + versionMajor = "0.36"; + versionMinor = "3"; moduleName = "vte"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1llg2xnjpn630vd86ci8csbjjacj3ia6syck2bsq4kinr66z5zsw"; + sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c"; }; patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.patch; - buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses vala libxml2 ]; + buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; configureFlags = [ "--enable-introspection" ]; enableParallelBuilding = true; - preBuild = "patchShebangs ./src"; - postInstall = '' substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" ''; diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch index 7f72b17c3378..80a2a445ec03 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch +++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch @@ -1,20 +1,7 @@ -Only in vte-0.38.0.new: expose_select_text.patch -diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c ---- vte-0.38.0/src/vteaccess.c 2014-08-13 08:00:38.000000000 -0400 -+++ vte-0.38.0.new/src/vteaccess.c 2014-09-21 17:05:23.934641193 -0400 -@@ -1427,7 +1427,7 @@ - *start_offset = offset_from_xy (priv, start_x, start_y); - _vte_terminal_get_end_selection (terminal, &end_x, &end_y); - *end_offset = offset_from_xy (priv, end_x, end_y); -- return _vte_terminal_get_selection (terminal); -+ return vte_terminal_get_selection (terminal); - } - - static gboolean -diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c ---- vte-0.38.0/src/vte.c 2014-09-13 03:23:47.000000000 -0400 -+++ vte-0.38.0.new/src/vte.c 2014-09-21 17:03:04.671656749 -0400 -@@ -122,7 +122,6 @@ +diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c +--- vte-0.32.2-old/src/vte.c 2012-07-13 21:09:04.003969877 -0400 ++++ vte-0.32.2/src/vte.c 2012-08-30 04:30:04.285924831 -0400 +@@ -129,7 +129,6 @@ gpointer data, GArray *attributes, gboolean include_trailing_spaces); @@ -22,7 +9,7 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal); static void vte_terminal_stop_processing (VteTerminal *terminal); -@@ -3267,9 +3266,10 @@ +@@ -3508,8 +3507,8 @@ _vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n"); terminal->pvt->pty_input_source = 0; } @@ -31,11 +18,9 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c +void +vte_terminal_connect_pty_read(VteTerminal *terminal) { -+ g_return_if_fail(VTE_IS_TERMINAL(terminal)); if (terminal->pvt->pty_channel == NULL) { return; - } -@@ -3321,9 +3321,10 @@ +@@ -3560,8 +3559,8 @@ } } @@ -44,11 +29,29 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c +void +vte_terminal_disconnect_pty_read(VteTerminal *terminal) { -+ g_return_if_fail(VTE_IS_TERMINAL(terminal)); if (terminal->pvt->pty_input_source != 0) { _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n"); - g_source_remove(terminal->pvt->pty_input_source); -@@ -6154,6 +6155,28 @@ +@@ -3708,8 +3707,8 @@ + return NULL; + } + +-static char * +-_vte_terminal_get_user_shell_with_fallback (void) ++char * ++vte_terminal_get_user_shell_with_fallback (void) + { + char *command; + const gchar *env; +@@ -3744,7 +3743,7 @@ + char **argv2; + char *shell = NULL; + +- argv2 = __vte_pty_get_argv(command ? command : (shell = _vte_terminal_get_user_shell_with_fallback ()), ++ argv2 = __vte_pty_get_argv(command ? command : (shell = vte_terminal_get_user_shell_with_fallback ()), + argv, + flags); + g_free(shell); +@@ -6545,6 +6544,28 @@ } } @@ -77,8 +80,8 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c static GtkClipboard * vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board) { -@@ -6319,7 +6342,7 @@ - vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE); +@@ -6676,7 +6697,7 @@ + terminal->pvt->selection_start.row); /* Temporarily stop caring about input from the child. */ - _vte_terminal_disconnect_pty_read(terminal); @@ -86,7 +89,7 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c } static gboolean -@@ -6336,7 +6359,7 @@ +@@ -6693,7 +6714,7 @@ terminal->pvt->selecting = FALSE; /* Reconnect to input from the child if we paused it. */ @@ -95,8 +98,35 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c return TRUE; } -@@ -6834,6 +6857,50 @@ - vte_terminal_deselect_all (terminal); +@@ -8994,7 +9015,7 @@ + #endif + kill(terminal->pvt->pty_pid, SIGHUP); + } +- _vte_terminal_disconnect_pty_read(terminal); ++ vte_terminal_disconnect_pty_read(terminal); + _vte_terminal_disconnect_pty_write(terminal); + if (terminal->pvt->pty_channel != NULL) { + g_io_channel_unref (terminal->pvt->pty_channel); +@@ -14384,7 +14405,7 @@ + g_object_freeze_notify(object); + + if (pvt->pty != NULL) { +- _vte_terminal_disconnect_pty_read(terminal); ++ vte_terminal_disconnect_pty_read(terminal); + _vte_terminal_disconnect_pty_write(terminal); + + if (terminal->pvt->pty_channel != NULL) { +@@ -14440,7 +14461,7 @@ + _vte_terminal_setup_utf8 (terminal); + + /* Open channels to listen for input on. */ +- _vte_terminal_connect_pty_read (terminal); ++ vte_terminal_connect_pty_read (terminal); + + g_object_notify(object, "pty"); + g_object_notify(object, "pty-object"); +@@ -14567,6 +14588,50 @@ + } } +/** @@ -143,72 +173,21 @@ diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c + _vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0); +} + - /* Autoscroll a bit. */ - static gboolean - vte_terminal_autoscroll(VteTerminal *terminal) -@@ -8476,7 +8543,7 @@ - #endif - kill(terminal->pvt->pty_pid, SIGHUP); - } -- _vte_terminal_disconnect_pty_read(terminal); -+ vte_terminal_disconnect_pty_read(terminal); - _vte_terminal_disconnect_pty_write(terminal); - if (terminal->pvt->pty_channel != NULL) { - g_io_channel_unref (terminal->pvt->pty_channel); -@@ -12533,7 +12600,7 @@ - g_object_freeze_notify(object); - - if (pvt->pty != NULL) { -- _vte_terminal_disconnect_pty_read(terminal); -+ vte_terminal_disconnect_pty_read(terminal); - _vte_terminal_disconnect_pty_write(terminal); - - if (terminal->pvt->pty_channel != NULL) { -@@ -12588,7 +12655,7 @@ - _vte_terminal_setup_utf8 (terminal); - - /* Open channels to listen for input on. */ -- _vte_terminal_connect_pty_read (terminal); -+ vte_terminal_connect_pty_read (terminal); - - g_object_notify(object, "pty"); - -@@ -12623,7 +12690,7 @@ - } - - char * --_vte_terminal_get_selection(VteTerminal *terminal) -+vte_terminal_get_selection(VteTerminal *terminal) - { - g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); - -Only in vte-0.38.0.new/src: .vte.c.swp -diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h ---- vte-0.38.0/src/vteint.h 2014-05-16 13:51:26.000000000 -0400 -+++ vte-0.38.0.new/src/vteint.h 2014-09-21 17:05:44.934589281 -0400 -@@ -25,7 +25,6 @@ - G_BEGIN_DECLS - - void _vte_terminal_accessible_ref(VteTerminal *terminal); --char* _vte_terminal_get_selection(VteTerminal *terminal); - void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y); - void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y); - void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset); -diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h ---- vte-0.38.0/src/vteterminal.h 2014-09-13 03:23:47.000000000 -0400 -+++ vte-0.38.0.new/src/vteterminal.h 2014-09-21 17:03:39.094903032 -0400 -@@ -170,6 +170,18 @@ - - void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); - void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); -+gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); -+void vte_terminal_set_selection_block_mode(VteTerminal *terminal, -+ gboolean block_mode) _VTE_GNUC_NONNULL(1); + void + _vte_terminal_select_text(VteTerminal *terminal, + long start_col, long start_row, +diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h +--- vte-0.32.2-old/src/vte.h 2012-07-13 21:09:04.003969877 -0400 ++++ vte-0.32.2/src/vte.h 2012-08-30 04:30:09.695999432 -0400 +@@ -296,6 +296,15 @@ + /* simple manipulation of selection */ + void vte_terminal_select_all(VteTerminal *terminal); + void vte_terminal_select_none(VteTerminal *terminal); ++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal); ++void vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode); +void vte_terminal_select_text(VteTerminal *terminal, + long start_col, long start_row, -+ long end_col, long end_row) _VTE_GNUC_NONNULL(1); -+char * -+vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); ++ long end_col, long end_row); + +/* pause and unpause output */ +void vte_terminal_disconnect_pty_read(VteTerminal *vte); @@ -216,13 +195,20 @@ diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h /* Set the terminal's size. */ void vte_terminal_set_size(VteTerminal *terminal, -@@ -276,6 +288,8 @@ +@@ -435,6 +444,8 @@ + GArray *attributes); void vte_terminal_get_cursor_position(VteTerminal *terminal, - glong *column, - glong *row) _VTE_GNUC_NONNULL(1); + glong *column, glong *row); +void vte_terminal_set_cursor_position(VteTerminal *terminal, -+ long column, long row) _VTE_GNUC_NONNULL(1); ++ long column, long row); + /* Display string matching: clear all matching expressions. */ + void vte_terminal_match_clear_all(VteTerminal *terminal); + +@@ -484,6 +495,7 @@ + VtePty *vte_terminal_get_pty_object(VteTerminal *terminal); + + char *vte_get_user_shell (void); ++char *vte_terminal_get_user_shell_with_fallback(void); - /* Add a matching expression, returning the tag the widget assigns to that - * expression. */ -Only in vte-0.38.0.new/src: .vteterminal.h.swp + /* Accessors for bindings. */ + #if !GTK_CHECK_VERSION (2, 91, 2) diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix index 547e9e813be1..3980c5b61b31 100644 --- a/pkgs/development/libraries/freetds/default.nix +++ b/pkgs/development/libraries/freetds/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl +, odbcSupport ? false, unixODBC ? null }: + +assert odbcSupport -> unixODBC != null; stdenv.mkDerivation { name = "freetds-0.91"; @@ -8,6 +11,10 @@ stdenv.mkDerivation { sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba"; }; + buildInputs = stdenv.lib.optional odbcSupport [ unixODBC ]; + + configureFlags = stdenv.lib.optionalString odbcSupport "--with-odbc=${unixODBC}"; + doDist = true; distPhase = '' diff --git a/pkgs/development/libraries/haskell/pipes-shell/default.nix b/pkgs/development/libraries/haskell/pipes-shell/default.nix new file mode 100644 index 000000000000..5a27c099597e --- /dev/null +++ b/pkgs/development/libraries/haskell/pipes-shell/default.nix @@ -0,0 +1,23 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, async, hspec, pipes, pipesBytestring, pipesSafe, stm +, stmChans, text +}: + +cabal.mkDerivation (self: { + pname = "pipes-shell"; + version = "0.1.2"; + sha256 = "18ikjkppds7k9fgjn39qvdp8avj8vv3csiqcrhgrpfqy1d0hgrlw"; + buildDepends = [ + async pipes pipesBytestring pipesSafe stm stmChans text + ]; + testDepends = [ + async hspec pipes pipesBytestring pipesSafe stm stmChans text + ]; + doCheck = false; + meta = { + description = "Create proper Pipes from System.Process"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/rawStringsQq/default.nix b/pkgs/development/libraries/haskell/rawStringsQq/default.nix new file mode 100644 index 000000000000..ca5c22489583 --- /dev/null +++ b/pkgs/development/libraries/haskell/rawStringsQq/default.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal }: + +cabal.mkDerivation (self: { + pname = "raw-strings-qq"; + version = "1.0.2"; + sha256 = "0wnifa97am2s9bqixlidw3nf8w14h2qkg3sn1rxzgvc3fws57jg9"; + meta = { + homepage = "https://github.com/23Skidoo/raw-strings-qq"; + description = "Raw string literals for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index 90ce4f970e3d..2bcf7e5d21c7 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pth, libgpgerror }: stdenv.mkDerivation rec { - name = "libassuan-2.1.1"; + name = "libassuan-2.1.2"; src = fetchurl { url = "mirror://gnupg/libassuan/${name}.tar.bz2"; - sha256 = "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"; + sha256 = "0yxp3mdsxg75aj3h2r94vzad5i1y2mh0df9pv76ggals6k4sgy1r"; }; propagatedBuildInputs = [ libgpgerror pth ]; diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix index dbd2516c0595..ed40bfa876bf 100644 --- a/pkgs/development/libraries/libksba/default.nix +++ b/pkgs/development/libraries/libksba/default.nix @@ -1,17 +1,20 @@ { stdenv, fetchurl, libgpgerror }: stdenv.mkDerivation rec { - name = "libksba-1.2.0"; + name = "libksba-1.3.1"; src = fetchurl { url = "mirror://gnupg/libksba/${name}.tar.bz2"; - sha256 = "0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9"; + sha256 = "1ya6mcd6pk2v1pylvlk6wv3869aslz2mr2xw2gs6faxx2ravk5mw"; }; - propagatedBuildInputs = [libgpgerror]; + propagatedBuildInputs = [ libgpgerror ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnupg.org; description = "CMS and X.509 access library under development"; + platforms = platforms.all; + license = licenses.lgpl3; + maintainers = with maintainers; [ wkennington ]; }; } diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index 8be17b289f7e..884db2b3b25a 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,18 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, udev }: +{ stdenv, fetchurl, pkgconfig, udev ? null }: -let - version = "1.0.18"; -in stdenv.mkDerivation rec { - name = "libusb-${version}"; # at 1.0.18 libusb joined with libusbx + name = "libusb-1.0.19"; src = fetchurl { - url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2"; - sha256 = "081px0j98az0pjwwyjlq4qcmfn194fvm3qd4im0r9pm58pn5qgy7"; + url = "mirror://sourceforge/libusb/${name}.tar.bz2"; + sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c"; }; buildInputs = [ pkgconfig ]; - propagatedBuildInputs = stdenv.lib.optional (stdenv.isLinux) udev; + propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux udev; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh index 112dbe0c5136..4ab0dadd8b29 100644 --- a/pkgs/development/libraries/libxml2/setup-hook.sh +++ b/pkgs/development/libraries/libxml2/setup-hook.sh @@ -11,14 +11,6 @@ addXMLCatalogs () { if test -z "$libxmlHookDone"; then libxmlHookDone=1 - # Set http_proxy and ftp_proxy to an invalid host to prevent - # xmllint and xsltproc from trying to download DTDs from the - # network even when --nonet is not given. That would be impure. - # (Note that .invalid is a reserved domain guaranteed not to - # work.) - export http_proxy=http://nodtd.invalid/ - export ftp_proxy=http://nodtd.invalid/ - # Set up XML_CATALOG_FILES. An empty initial value prevents # xmllint and xsltproc from looking in /etc/xml/catalog. export XML_CATALOG_FILES diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix index 4f87f2bc230f..784b132a2e47 100644 --- a/pkgs/development/libraries/npth/default.nix +++ b/pkgs/development/libraries/npth/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "npth-0.91"; + name = "npth-1.0"; src = fetchurl { url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2"; - sha256 = "1qgs1n70x83dyyysabg50dh8s3464jwsa63qi5if2cd3sk78dvya"; + sha256 = "0vppr13821bkdv8348067l1aj3sb0n0rbmnsgymzy3iifvirvm4s"; }; - meta = { + meta = with stdenv.lib; { description = "The New GNU Portable Threads Library"; longDescription = '' This is a library to provide the GNU Pth API and thus a non-preemptive @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { that this is a solid way to provide a co-routine based framework. ''; homepage = http://www.gnupg.org; - license = stdenv.lib.licenses.lgpl3; - platforms = stdenv.lib.platforms.all; + license = licenses.lgpl3; + platforms = platforms.all; }; } diff --git a/pkgs/development/tools/haskell/ghcid/default.nix b/pkgs/development/tools/haskell/ghcid/default.nix new file mode 100644 index 000000000000..a14eb1b48f58 --- /dev/null +++ b/pkgs/development/tools/haskell/ghcid/default.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, cmdargs, filepath, tasty, tastyHunit, time }: + +cabal.mkDerivation (self: { + pname = "ghcid"; + version = "0.2"; + sha256 = "1g0jwj8s0rgwrdgyn6dwrqhf9v4kck5kfr4ggmp9c0mjjyfxq6pf"; + isLibrary = true; + isExecutable = true; + buildDepends = [ cmdargs filepath time ]; + testDepends = [ cmdargs filepath tasty tastyHunit time ]; + doCheck = false; + meta = { + homepage = "https://github.com/ndmitchell/ghcid#readme"; + description = "GHCi based bare bones IDE"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix new file mode 100644 index 000000000000..4970d641643f --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-build/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, ocaml, findlib, ncurses }: + +stdenv.mkDerivation { + + name = "ocp-build-1.99.8-beta"; + + src = fetchurl { + url = "https://github.com/OCamlPro/ocp-build/archive/ocp-build.1.99.8-beta.tar.gz"; + sha256 = "06qh8v7k5m52xbivas08lblspsnvdl0vd7ghfj6wvpnfl8qvqabn"; + }; + + buildInputs = [ ocaml findlib ncurses ]; + + patches = [ ./fix-for-no-term.patch ]; + + # In the Nix sandbox, the TERM variable is unset and stty does not + # work. In such a case, ocp-build crashes due to a bug. The + # ./fix-for-no-term.patch fixes this bug in the source code and hence + # also in the final installed version of ocp-build. However, it does not + # fix the bug in the precompiled bootstrap version of ocp-build that is + # used during the compilation process. In order to bypass the bug until + # it's also fixed upstream, we simply set TERM to some valid entry in the + # terminfo database during the bootstrap. + TERM = "xterm"; + + meta = with stdenv.lib; { + homepage = "http://typerex.ocamlpro.com/ocp-build.html"; + description = "A build tool for OCaml"; + longDescription = '' + ocp-build is a build system for OCaml application, based on simple + descriptions of packages. ocp-build combines the descriptions of + packages, and optimize the parallel compilation of files depending on + the number of cores and the automatically-infered dependencies + between source files. + ''; + license = licenses.gpl3; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.jirkamarsik ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch new file mode 100644 index 000000000000..8ce83d095fb3 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch @@ -0,0 +1,11 @@ +--- ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml 2014-10-27 13:54:37.532023502 +0100 ++++ ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml.new 2014-10-27 13:54:43.397099033 +0100 +@@ -49,7 +49,7 @@ + | _ -> failwith "stty" + end + | _ -> raise Not_found +- with Unix.Unix_error _ | End_of_file | Failure _ -> ++ with Unix.Unix_error _ | End_of_file | Failure _ | Not_found -> + try + (* shell envvar *) + int_of_string (Sys.getenv "COLUMNS") diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix new file mode 100644 index 000000000000..d50e003f8474 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, ocaml, findlib, ocpBuild, opam, cmdliner }: + +let inherit (stdenv.lib) getVersion versionAtLeast; in + +assert versionAtLeast (getVersion ocaml) "3.12.1"; +assert versionAtLeast (getVersion ocpBuild) "1.99.3-beta"; + +stdenv.mkDerivation { + + name = "ocp-indent-1.4.2b"; + + src = fetchurl { + url = "https://github.com/OCamlPro/ocp-indent/archive/1.4.2b.tar.gz"; + sha256 = "1p0n2zcl5kf543x2xlqrz1aa51f0dqal8l392sa41j6wx82j0gpb"; + }; + + buildInputs = [ ocaml findlib ocpBuild opam cmdliner ]; + + createFindlibDestdir = true; + + # The supplied installer uses opam-installer which breaks when run + # normally since it tries to `mkdir $HOME`. However, we can use + # `opam-installer --script` to get the shell script that performs only + # the installation and just run that. Furthermore, we do the same that is + # done by pkgs/development/ocaml-modules/react and rename the paths meant + # for opam-installer so that they are in line with the other OCaml + # libraries in Nixpkgs. + installPhase = '' + opam-installer --script --prefix=$out ocp-indent.install \ + | sed s!lib/ocp-indent!lib/ocaml/${getVersion ocaml}/site-lib/ocp-indent! \ + | sh + ''; + + meta = with stdenv.lib; { + homepage = "http://typerex.ocamlpro.com/ocp-indent.html"; + description = "A customizable tool to indent OCaml code"; + license = licenses.gpl3; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.jirkamarsik ]; + }; +} diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix new file mode 100644 index 000000000000..7dbbf10b486c --- /dev/null +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }: + +stdenv.mkDerivation rec { + name = "hammer-${version}"; + version = "e7aa734"; + + src = fetchgit { + url = "git://github.com/UpstandingHackers/hammer"; + sha256 = "1v8f2a6bgjgdkhbqz751bqjlwb9lmqn5x63xcskwcl2b9n36vqi9"; + rev = "e7aa73446e23f4af2fce5f88572aae848f212c16"; + }; + + buildInputs = [ glib pkgconfig python scons ]; + buildPhase = "scons prefix=$out"; + installPhase = "scons prefix=$out install"; + + meta = with stdenv.lib; { + description = "Hammer is a parsing library"; + longDescription = "Hammer is a parsing library. Like many modern parsing libraries, + it provides a parser combinator interface for writing grammars + as inline domain-specific languages, but Hammer also provides a + variety of parsing backends. It's also bit-oriented rather than + character-oriented, making it ideal for parsing binary data such + as images, network packets, audio, and executables."; + homepage = https://github.com/UpstandingHackers/hammer; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix index a4d2ca621a1c..2539cdf7701e 100644 --- a/pkgs/misc/drivers/hplip/default.nix +++ b/pkgs/misc/drivers/hplip/default.nix @@ -5,16 +5,16 @@ }: stdenv.mkDerivation rec { - name = "hplip-3.14.4"; + name = "hplip-3.14.10"; src = fetchurl { url = "mirror://sourceforge/hplip/${name}.tar.gz"; - sha256 = "1j8h44f8igl95wqypj4rk9awcw513hlps980jmcnkx60xghc4l6f"; + sha256 = "164mm30yb61psk5j4ziybxdd310y09fixgl09hmb59ny261wvcqi"; }; plugin = fetchurl { url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; - sha256 = "0k1vpmy7babbm3c5v4dcbhq0jgyr8as722nylfs8zx0dy7kr8874"; + sha256 = "10cvgy1h84fwh7xpw4x6cbkpisqbn3nbcqrgd9xz5fc6mn0b95dk"; }; hplip_state = ./hplip.state; @@ -120,6 +120,6 @@ stdenv.mkDerivation rec { homepage = http://hplipopensource.com/; license = if withPlugin then licenses.unfree else "free"; # MIT/BSD/GPL platforms = platforms.linux; - maintainers = with maintainers; [ ttuegel ]; + maintainers = with maintainers; [ ttuegel jgeerds ]; }; } diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix index c3d846c566ce..100b280ef576 100644 --- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix +++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix @@ -2,12 +2,12 @@ cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }: stdenv.mkDerivation rec { - version = "1.4.5"; + version = "1.4.6"; name = "oxygen-gtk2-${version}"; src = fetchurl { url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2"; - sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v"; + sha256 = "09mz4szsz3yswbj0nbw6qzlc5bc4id0f9r6ifm60b5nc8x1l72d2"; }; buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index 4d5f585e7d7b..947761bad344 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -3,11 +3,11 @@ , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }: stdenv.mkDerivation rec { - name = "xf86-input-wacom-0.26.1"; + name = "xf86-input-wacom-0.26.99.1"; src = fetchurl { url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2"; - sha256 = "1qlls71k10igjx9c5lwqa6cdl31ncpdkzirpl85acpmqbqc63qh8"; + sha256 = "00sclpsmimqfr79zkm8lvkd0b80x62rmcflbv558zy479bnsazav"; }; buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender diff --git a/pkgs/servers/mediatomb/default.nix b/pkgs/servers/mediatomb/default.nix index d88e1dd9e141..4d3ef231af3f 100644 --- a/pkgs/servers/mediatomb/default.nix +++ b/pkgs/servers/mediatomb/default.nix @@ -1,28 +1,27 @@ -{ stdenv, fetchurl -, sqlite, expat, spidermonkey, taglib, libexif, curl, ffmpeg, file }: +{ stdenv, fetchgit +, sqlite, expat, mp4v2, flac, spidermonkey, taglib, libexif, curl, ffmpeg, file +, pkgconfig, autoreconfHook }: stdenv.mkDerivation rec { name = "mediatomb-${version}"; version = "0.12.1"; - src = fetchurl { - url = "mirror://sourceforge/mediatomb/${name}.tar.gz"; - sha256 = "1k8i5zvgik7cad7znd8358grzwh62frpqww1a5rwkldrlws3q5ii"; + src = fetchgit { + url = meta.repositories.git; + rev = "7ab761696354868bd5d67ff4f2d849994e4c98e2"; + sha256 = "7b51d488ac0b93c7720f8f8373970884a55b0879b1f6941873e916f41177d062"; }; - patches = [ ./zmm_new.patch ]; - - buildInputs = [ sqlite expat spidermonkey taglib libexif curl ffmpeg file ]; - - configureFlags = [ "--enable-inotify" ]; + buildInputs = [ sqlite expat spidermonkey taglib libexif curl ffmpeg file mp4v2 flac + pkgconfig autoreconfHook ]; meta = with stdenv.lib; { homepage = http://mediatomb.cc; + repositories.git = git://mediatomb.git.sourceforge.net/gitroot/mediatomb/mediatomb; description = "UPnP MediaServer with a web user interface"; license = licenses.gpl2; maintainers = [ maintainers.phreedom ]; platforms = platforms.linux; - broken = true; }; } diff --git a/pkgs/servers/mediatomb/zmm_new.patch b/pkgs/servers/mediatomb/zmm_new.patch deleted file mode 100644 index 5238b42035bf..000000000000 --- a/pkgs/servers/mediatomb/zmm_new.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rc mediatomb-0.12.1.old/src/zmm/object.h mediatomb-0.12.1/src/zmm/object.h -*** mediatomb-0.12.1.old/src/zmm/object.h 2010-03-25 07:58:08.000000000 -0700 ---- mediatomb-0.12.1/src/zmm/object.h 2013-02-15 17:57:02.000000000 -0800 -*************** -*** 33,38 **** ---- 33,39 ---- - #define __ZMM_OBJECT_H__ - - #include <new> // for size_t -+ #include <stddef.h> - #include "atomic.h" - - namespace zmm diff --git a/pkgs/tools/filesystems/jfsrec/default.nix b/pkgs/tools/filesystems/jfsrec/default.nix deleted file mode 100644 index 5b5e7c8808e1..000000000000 --- a/pkgs/tools/filesystems/jfsrec/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, boost }: - -stdenv.mkDerivation { - name = "jfsrec-0-pre-svn-7"; - - src = fetchurl { - url = mirror://sourceforge/jfsrec/jfsrec-svn-7.tar.gz; - sha256 = "163z6ljr05vw2k5mj4fim2nlg4khjyibrii95370pvn474mg28vg"; - }; - - patches = [ ./jfsrec-gcc-4.3.patch ]; - buildInputs = [ boost ]; - - preConfigure = - '' - sed -e '/[#]include [<]config.h[>]/a\#include <string.h>' -i src/unicode_to_utf8.cpp - ''; - - meta = { - description = "JFS recovery tool"; - homepage = http://jfsrec.sourceforge.net/; - }; -} diff --git a/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch b/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch deleted file mode 100644 index 063a7c24813b..000000000000 --- a/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch +++ /dev/null @@ -1,24 +0,0 @@ -Taken from Archlinux, although this solves the build in gcc 4.4, not 4.3. -http://aur.archlinux.org/packages/jfsrec-svn/jfsrec-svn/jfsrec-gcc-4.3.patch -diff -uBdr jfsrec/src/device.cpp jfsrec-build/src/device.cpp ---- jfsrec/src/device.cpp 2009-12-01 18:34:03.860437077 +0100 -+++ jfsrec-build/src/device.cpp 2009-12-01 18:39:48.297067088 +0100 -@@ -20,6 +20,7 @@ - //Parts of the code in this file was originally taken from JFS's xpeek (debugfs_jfs) - - #include "device.h" -+#include <stdio.h> - #ifdef __linux__ - #include <linux/fs.h> - #include <sys/ioctl.h> -diff -uBdr jfsrec/src/unicode_to_utf8.cpp jfsrec-build/src/unicode_to_utf8.cpp ---- jfsrec/src/unicode_to_utf8.cpp 2009-12-01 18:34:03.860437077 +0100 -+++ jfsrec-build/src/unicode_to_utf8.cpp 2009-12-01 18:39:43.501626737 +0100 -@@ -8,6 +8,7 @@ - */ - #include <config.h> - #include "unicode_to_utf8.h" -+#include <string.h> - #define JFS_PATH_MAX 4096 - - /* diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix new file mode 100644 index 000000000000..b15c615fc34d --- /dev/null +++ b/pkgs/tools/misc/yubico-piv-tool/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, openssl, pcsclite }: + +stdenv.mkDerivation rec { + name = "yubico-piv-tool-0.1.0"; + + src = fetchurl { + url = "https://developers.yubico.com/yubico-piv-tool/Releases/${name}.tar.gz"; + sha256 = "1m573f0vn3xgzsl29ps679iykp5krwd0fnr4nhm1fw2hm5zahrhf"; + }; + + buildInputs = [ pkgconfig openssl pcsclite ]; + + configureFlags = [ "--with-backend=pcsc" ]; + + meta = with stdenv.lib; { + homepage = https://developers.yubico.com/yubico-piv-tool/; + description = ""; + maintainers = with maintainers; [ wkennington ]; + license = licenses.bsd2; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix index 038044ad6810..9dfd7ff9052a 100644 --- a/pkgs/tools/security/pinentry/default.nix +++ b/pkgs/tools/security/pinentry/default.nix @@ -6,11 +6,11 @@ assert useGtk || useNcurses || useQt4; stdenv.mkDerivation rec { - name = "pinentry-0.8.3"; + name = "pinentry-0.8.4"; src = fetchurl { url = "mirror://gnupg/pinentry/${name}.tar.bz2"; - sha256 = "1bd047crf7xb8g61mval8v6qww98rddlsw2dz6j8h8qbnl4hp2sn"; + sha256 = "04jnlfncj9d5rg0j4gmsi2l1q9q7c6gjbvxfnfh3nx6b8szv779m"; }; buildInputs = let opt = stdenv.lib.optional; in [] diff --git a/pkgs/tools/text/sgml/opensp/setup-hook.sh b/pkgs/tools/text/sgml/opensp/setup-hook.sh index 2c9142da1016..72751b85ef60 100644 --- a/pkgs/tools/text/sgml/opensp/setup-hook.sh +++ b/pkgs/tools/text/sgml/opensp/setup-hook.sh @@ -9,14 +9,6 @@ addSGMLCatalogs () { if test -z "$sgmlHookDone"; then sgmlHookDone=1 - # Set http_proxy and ftp_proxy to a invalid host to prevent - # xmllint and xsltproc from trying to download DTDs from the - # network even when --nonet is not given. That would be impure. - # (Note that .invalid is a reserved domain guaranteed not to - # work.) - export http_proxy=http://nodtd.invalid/ - export ftp_proxy=http://nodtd.invalid/ - export SGML_CATALOG_FILES envHooks=(${envHooks[@]} addSGMLCatalogs) fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 40a173e21170..fc7f4149434c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3641,6 +3641,10 @@ let ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; + ocpBuild = callPackage ../development/tools/ocaml/ocp-build { }; + + ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { }; + ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { }; ounit = callPackage ../development/ocaml-modules/ounit { }; @@ -4591,6 +4595,8 @@ let ragel = callPackage ../development/tools/parsing/ragel { }; + hammer = callPackage ../development/tools/parsing/hammer { }; + re2c = callPackage ../development/tools/parsing/re2c { }; remake = callPackage ../development/tools/build-managers/remake { }; @@ -6956,6 +6962,8 @@ let yajl = callPackage ../development/libraries/yajl { }; + yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { }; + yubikey-personalization = callPackage ../tools/misc/yubikey-personalization { libusb = libusb1; }; @@ -7386,7 +7394,9 @@ let mailman = callPackage ../servers/mail/mailman { }; - mediatomb = callPackage ../servers/mediatomb { }; + mediatomb = callPackage ../servers/mediatomb { + spidermonkey = spidermonkey_185; + }; memcached = callPackage ../servers/memcached {}; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 19eea20f272d..1ca6d2186ab7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -916,6 +916,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled }; + ghcid = callPackage ../development/tools/haskell/ghcid {}; ghcServer = callPackage ../development/libraries/haskell/ghc-server {}; @@ -1983,6 +1984,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in pipesSafe = callPackage ../development/libraries/haskell/pipes-safe {}; + pipesShell = callPackage ../development/libraries/haskell/pipes-shell {}; + pipesText = callPackage ../development/libraries/haskell/pipes-text {}; pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {}; @@ -2122,6 +2125,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in Rasterific = callPackage ../development/libraries/haskell/Rasterific {}; + rawStringsQq = callPackage ../development/libraries/haskell/rawStringsQq {}; + reserve = callPackage ../development/libraries/haskell/reserve {}; rvar = callPackage ../development/libraries/haskell/rvar {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d51622ff24f2..f74bcc327a63 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2160,13 +2160,13 @@ let evdev = buildPythonPackage rec { - version = "0.4.5"; + version = "0.4.6"; name = "evdev-${version}"; disabled = isPy34; # see http://bugs.python.org/issue21121 src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz"; - sha256 = "0w8ib3ab4mpfc1rvd335l8xkd41qbh3iyb0vfiiapgcfvqk74aq7"; + sha256 = "08bzyr3zc8ijnv25bysmmvzircblh42ja15f6ijdzmqqw8vfaij8"; }; buildInputs = with self; [ pkgs.linuxHeaders ]; @@ -9515,8 +9515,22 @@ let ] ++ optional isPy26 argparse; patchPhase = '' - substituteInPlace "virtualenvwrapper.sh" --replace "which" "${pkgs.which}/bin/which" - substituteInPlace "virtualenvwrapper_lazy.sh" --replace "which" "${pkgs.which}/bin/which" + for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do + substituteInPlace "$file" --replace "which" "${pkgs.which}/bin/which" + + # We can't set PYTHONPATH in a normal way (like exporting in a wrapper + # script) because the user has to evaluate the script and we don't want + # modify the global PYTHONPATH which would affect the user's + # environment. + # Furthermore it isn't possible to just use VIRTUALENVWRAPPER_PYTHON + # for this workaround, because this variable is well quoted inside the + # shell script. + # (the trailing " -" is required to only replace things like these one: + # "$VIRTUALENVWRAPPER_PYTHON" -c "import os,[...] and not in + # if-statements or anything like that. + # ...and yes, this "patch" is hacky :) + substituteInPlace "$file" --replace '"$VIRTUALENVWRAPPER_PYTHON" -' 'env PYTHONPATH="$VIRTUALENVWRAPPER_PYTHONPATH" "$VIRTUALENVWRAPPER_PYTHON" -' + done ''; postInstall = '' @@ -9530,8 +9544,8 @@ let mv "$wrapper" "$wrapped" cat > "$wrapper" <<- EOF - export PATH=$PATH:\$PATH - export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out):\$PYTHONPATH + export PATH="$PATH:\$PATH" + export VIRTUALENVWRAPPER_PYTHONPATH="$PYTHONPATH:$(toPythonPath $out)" source "$wrapped" EOF |