From 85854ab2435629c6cb127773f422e2309bf0eade Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Wed, 18 Apr 2018 08:21:43 +0200 Subject: [PATCH 01/27] vamp-sdk: 2.5 -> 2.7.1 --- pkgs/development/libraries/audio/vamp/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix index 8098ac9f3efb..f8b1006d2eb7 100644 --- a/pkgs/development/libraries/audio/vamp/default.nix +++ b/pkgs/development/libraries/audio/vamp/default.nix @@ -1,16 +1,19 @@ # set VAMP_PATH ? # plugins availible on sourceforge and http://www.vamp-plugins.org/download.html (various licenses) -{ stdenv, fetchurl, pkgconfig, libsndfile }: +{ stdenv, fetchFromGitHub, pkgconfig, libsndfile }: rec { vampSDK = stdenv.mkDerivation { - name = "vamp-sdk-2.5"; + name = "vamp-sdk-2.7.1"; + # version = "2.7.1"; - src = fetchurl { - url = http://code.soundsoftware.ac.uk/attachments/download/690/vamp-plugin-sdk-2.5.tar.gz; - sha256 = "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"; + src = fetchFromGitHub { + owner = "c4dm"; + repo = "vamp-plugin-sdk"; + rev = "vamp-plugin-sdk-v2.7.1"; + sha256 = "1ifd6l6b89pg83ss4gld5i72fr0cczjnl2by44z5jnndsg3sklw4"; }; nativeBuildInputs = [ pkgconfig ]; From 6e7f4f99d152fef88ed70654f7946d55d2643fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Mon, 7 May 2018 00:35:45 +0200 Subject: [PATCH 02/27] manual: Document `types.attrs` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niklas Hambüchen --- nixos/doc/manual/development/option-types.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index 7969d8124738..5cb747e6d9f1 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -21,6 +21,15 @@ + + types.attrs + + + + A free-form attribute set. + + + types.bool From 5855459f49b56a0f4e59a08583be1d1f5d111c47 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 7 May 2018 01:42:37 +0200 Subject: [PATCH 03/27] modules/system/boot/luksroot: remove comment about input_leds for caps lock Since f2a9f9aeab5016d28ab4bcf6da81924ceecdd676, we already load "input_leds", so this comment isn't useful anymore. --- nixos/modules/system/boot/luksroot.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 54dfb53fd30f..7ebfdb134d7d 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -454,7 +454,6 @@ in ["firewire_ohci" "firewire_core" "firewire_sbp2"]; # Some modules that may be needed for mounting anything ciphered - # Also load input_leds to get caps lock light working (#12456) boot.initrd.availableKernelModules = [ "dm_mod" "dm_crypt" "cryptd" "input_leds" ] ++ luks.cryptoModules # workaround until https://marc.info/?l=linux-crypto-vger&m=148783562211457&w=4 is merged From b917daaf60fbc27f03822ee5e79eae5b34b806fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Lang?= Date: Mon, 7 May 2018 00:42:05 -0300 Subject: [PATCH 04/27] fzf: fix vim plugin patch phase During patch phase, the path to the fzf binary is overwritten in the vim plugin source. The sed expression doing this wasn't working because the fzf code changed in this commit: https://github.com/junegunn/fzf/commit/02ceae15a235de6b5cd2aca9de070fb3fff78e5b making the patch useless. I fixed it and added a check to verify that the plugin was effecively patched to prevent this to happen in the future. --- pkgs/tools/misc/fzf/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix index 1eb4393c978b..d9da04c1fa1b 100644 --- a/pkgs/tools/misc/fzf/default.nix +++ b/pkgs/tools/misc/fzf/default.nix @@ -23,8 +23,13 @@ buildGoPackage rec { goDeps = ./deps.nix; patchPhase = '' - sed -i -e "s|expand(':h:h').'/bin/fzf'|'$bin/bin/fzf'|" plugin/fzf.vim - sed -i -e "s|expand(':h:h').'/bin/fzf-tmux'|'$bin/bin/fzf-tmux'|" plugin/fzf.vim + sed -i -e "s|expand(':h:h')|'$bin'|" plugin/fzf.vim + + # Original and output files can't be the same + if cmp -s $src/plugin/fzf.vim plugin/fzf.vim; then + echo "Vim plugin patch not applied properly. Aborting" && \ + exit 1 + fi ''; preInstall = '' From 4ee409a59c106a63697b82f8f2c7e2df45a748f7 Mon Sep 17 00:00:00 2001 From: Roland Koebler Date: Mon, 7 May 2018 22:25:14 +0200 Subject: [PATCH 05/27] i3lock/i3lock-color: meta: improve description - i3lock-color: extend description to differ from i3lock - i3lock/i3lock-color: add long description --- .../window-managers/i3/lock-color.nix | 25 +++++++++++++++++-- pkgs/applications/window-managers/i3/lock.nix | 5 ++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix index 66a6af2fbb08..ea1f1bda9f14 100644 --- a/pkgs/applications/window-managers/i3/lock-color.nix +++ b/pkgs/applications/window-managers/i3/lock-color.nix @@ -27,8 +27,29 @@ stdenv.mkDerivation rec { mv $out/bin/i3lock $out/bin/i3lock-color ''; meta = with stdenv.lib; { - description = "A simple screen locker like slock"; - homepage = https://i3wm.org/i3lock/; + description = "A simple screen locker like slock, enhanced version with extra configuration options"; + longDescription = '' + Simple screen locker. After locking, a colored background (default: white) or + a configurable image is shown, and a ring-shaped unlock-indicator gives feedback + for every keystroke. After entering your password, the screen is unlocked again. + + i3lock-color is forked from i3lock (https://i3wm.org/i3lock/) with the following + enhancements / additional configuration options: + + - indicator: + - shape: ring or bar + - size: configurable + - all colors: configurable + - all texts: configurable + - visibility: can be always visible, can be restricted to some screens + + - background: optionally show a blurred screen instead of a single color + + - more information: show text at configurable positions: + - clock: time/date with configurable format + - keyboard-layout + ''; + homepage = http://github.com/PandorasFox/i3lock-color; maintainers = with maintainers; [ garbas malyn ]; license = licenses.bsd3; diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix index 4d572e8c040d..d4bb3cdc1c2e 100644 --- a/pkgs/applications/window-managers/i3/lock.nix +++ b/pkgs/applications/window-managers/i3/lock.nix @@ -23,6 +23,11 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A simple screen locker like slock"; + longDescription = '' + Simple screen locker. After locking, a colored background (default: white) or + a configurable image is shown, and a ring-shaped unlock-indicator gives feedback + for every keystroke. After entering your password, the screen is unlocked again. + ''; homepage = https://i3wm.org/i3lock/; maintainers = with maintainers; [ garbas malyn domenkozar ]; license = licenses.bsd3; From b45fa92de64c4df29587e78ccbeb69052d032596 Mon Sep 17 00:00:00 2001 From: Roland Koebler Date: Tue, 8 May 2018 00:39:38 +0200 Subject: [PATCH 06/27] ext4magic: init at 0.3.2 --- maintainers/maintainer-list.nix | 5 +++ pkgs/tools/filesystems/ext4magic/default.nix | 39 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 46 insertions(+) create mode 100644 pkgs/tools/filesystems/ext4magic/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9369a76688cb..91db07f4795b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3144,6 +3144,11 @@ github = "rittelle"; name = "Lennart Rittel"; }; + rkoe = { + email = "rk@simple-is-better.org"; + github = "rkoe"; + name = "Roland Koebler"; + }; rlupton20 = { email = "richard.lupton@gmail.com"; github = "rlupton20"; diff --git a/pkgs/tools/filesystems/ext4magic/default.nix b/pkgs/tools/filesystems/ext4magic/default.nix new file mode 100644 index 000000000000..0211ab63b3e9 --- /dev/null +++ b/pkgs/tools/filesystems/ext4magic/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, fetchpatch, file, libuuid, e2fsprogs, zlib, bzip2 }: + +stdenv.mkDerivation rec { + version = "0.3.2"; + name = "ext4magic-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/ext4magic/${name}.tar.gz"; + sha256 = "8d9c6a594f212aecf4eb5410d277caeaea3adc03d35378257dfd017ef20ea115"; + }; + + patches = [ + (fetchpatch { + url = https://sourceforge.net/p/ext4magic/tickets/10/attachment/ext4magic-0.3.2-i_dir_acl.patch; + sha256 = "1accydd8kigid68yir2fbihm3r3x8ws3iyznp25snkx41w6y6x8c"; + }) + ]; + + buildInputs = [ file libuuid e2fsprogs zlib bzip2 ]; + installFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "Recover / undelete files from ext3 or ext4 partitions"; + longDescription = '' + ext4magic can recover/undelete files from ext3 or ext4 partitions + by retrieving file-information from the filesystem journal. + + If the information in the journal are sufficient, ext4magic can + recover the most file types, with original filename, owner and group, + file mode bits and also the old atime/mtime stamps. + + It's much more effective and works much better than extundelete. + ''; + homepage = http://ext4magic.sourceforge.net/ext4magic_en.html; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.rkoe ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7fb532e14c47..8f8184075a5c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2209,6 +2209,8 @@ with pkgs; exiftool = perlPackages.ImageExifTool; + ext4magic = callPackage ../tools/filesystems/ext4magic { }; + extundelete = callPackage ../tools/filesystems/extundelete { }; expect = callPackage ../tools/misc/expect { }; From 480d52ebed1c80e3eff8e8dc6ddb2a402bf3d102 Mon Sep 17 00:00:00 2001 From: Yurii Rashkovskii Date: Mon, 7 May 2018 16:18:22 -0700 Subject: [PATCH 07/27] sit: better fix for aarch64 bug --- .../version-management/sit/aarch64-eexist.patch | 17 ----------------- .../version-management/sit/aarch64-isel.patch | 9 +++++++++ .../version-management/sit/default.nix | 2 +- 3 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 pkgs/applications/version-management/sit/aarch64-eexist.patch create mode 100644 pkgs/applications/version-management/sit/aarch64-isel.patch diff --git a/pkgs/applications/version-management/sit/aarch64-eexist.patch b/pkgs/applications/version-management/sit/aarch64-eexist.patch deleted file mode 100644 index 8b45e77d040d..000000000000 --- a/pkgs/applications/version-management/sit/aarch64-eexist.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/sit-core/src/repository.rs b/sit-core/src/repository.rs -index ebd357d..074dcc9 100644 ---- a/sit-core/src/repository.rs -+++ b/sit-core/src/repository.rs -@@ -305,6 +305,12 @@ impl Repository { - let id: String = name.into(); - let mut path = self.items_path.clone(); - path.push(&id); -+ #[cfg(all(debug_assertions, target_arch = "aarch64"))] { -+ use std::io; -+ if path.is_dir() { -+ return Err(io::Error::from_raw_os_error(17).into()); // 17 is EEXIST -+ } -+ } - fs::create_dir(path)?; - let id = OsString::from(id); - Ok(Item { diff --git a/pkgs/applications/version-management/sit/aarch64-isel.patch b/pkgs/applications/version-management/sit/aarch64-isel.patch new file mode 100644 index 000000000000..411922cfd8e7 --- /dev/null +++ b/pkgs/applications/version-management/sit/aarch64-isel.patch @@ -0,0 +1,9 @@ +diff --git a/.cargo/config b/.cargo/config +new file mode 100644 +index 0000000..15e7649 +--- /dev/null ++++ b/.cargo/config +@@ -0,0 +1,3 @@ ++# https://github.com/rust-lang/rust/issues/50516 ++[target.'cfg(all(debug_assertions, target_arch = "aarch64"))'] ++rustflags = ["-C", "llvm-args=-fast-isel"] diff --git a/pkgs/applications/version-management/sit/default.nix b/pkgs/applications/version-management/sit/default.nix index ae84add283e6..e189241531d6 100644 --- a/pkgs/applications/version-management/sit/default.nix +++ b/pkgs/applications/version-management/sit/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "102haqix13nwcncng1s8qkw68spn6fhh3vysk2nbahw6f78zczqg"; - patches = [ ./aarch64-eexist.patch ]; + patches = [ ./aarch64-isel.patch ]; meta = with stdenv.lib; { description = "Serverless Information Tracker"; From 302c4c5f2da82794f2f7fb217a1b977897f852fa Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 7 May 2018 19:53:56 -0400 Subject: [PATCH 08/27] stdenv: Put back isArm, with deprecation notice. This was always meant to be deprecated rather than removed. --- pkgs/stdenv/generic/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 190fc500068c..e9ae54811a21 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -118,6 +118,7 @@ let inherit (hostPlatform) isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD isi686 isx86_64 is64bit isAarch32 isAarch64 isMips isBigEndian; + isArm = builtins.trace "stdenv.isArm is deprecated after 18.03" hostPlatform.isArm; # Whether we should run paxctl to pax-mark binaries. needsPax = isLinux; From a33756a866e1d64337e58c78e3fef2303a00af3d Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Mon, 7 May 2018 23:48:04 -0400 Subject: [PATCH 09/27] Use build packages GHC for haskell.packages.integer-simple --- pkgs/top-level/haskell-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 937c930ac750..8a395fbec186 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -159,7 +159,7 @@ in rec { (name: ! builtins.elem name integerSimpleExcludes) (pkgs.lib.attrNames packages); in pkgs.lib.genAttrs integerSimpleGhcNames (name: packages."${name}".override { - ghc = compiler.integer-simple."${name}"; + ghc = bh.compiler.integer-simple."${name}"; overrides = _self : _super : { integer-simple = null; integer-gmp = null; From 219b1c1e1bfbf2ec56584c2e6fd7c1fb937d253a Mon Sep 17 00:00:00 2001 From: taku0 Date: Tue, 8 May 2018 15:14:54 +0900 Subject: [PATCH 10/27] flashplayer: 29.0.0.140 -> 29.0.0.171 --- .../networking/browsers/chromium/plugins.nix | 4 ++-- .../browsers/mozilla-plugins/flashplayer/default.nix | 10 +++++----- .../mozilla-plugins/flashplayer/standalone.nix | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index f0862aebafe5..cb2121553ace 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -98,12 +98,12 @@ let flash = stdenv.mkDerivation rec { name = "flashplayer-ppapi-${version}"; - version = "29.0.0.140"; + version = "29.0.0.171"; src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/" + "${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "1p0jr7s6vyzxw1mhbrl5yx092z2wpvfw0jjw127gs576z0zwamwh"; + sha256 = "1j7w81wjfrpkir11m719jdahnbnw4sph448hs90hvai6rsn3imib"; stripRoot = false; }; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix index 162dd88054c7..6c19b684aaa5 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix @@ -73,7 +73,7 @@ let in stdenv.mkDerivation rec { name = "flashplayer-${version}"; - version = "29.0.0.140"; + version = "29.0.0.171"; src = fetchurl { url = @@ -84,14 +84,14 @@ stdenv.mkDerivation rec { sha256 = if debug then if arch == "x86_64" then - "0bj0d899dswfbkbrm08c381yzm0hlqdv53sgbl2z9zj4x8rqyi3p" + "140galarr38lmfnd2chl2msvxizx96kdi000gbikir9xnd7bx1hc" else - "16as2dydgqip6qlg13jh83sd4lb2cgrny4ibqg7jlx1d1a1i0jwh" + "0wzmf12xrmyq8vqqyii932yx4nadrvkn2j9s86xcw67lb40xj5ig" else if arch == "x86_64" then - "10s6j5izsy2v2ljljcv2vk898jg9xmp6zqqazmj07zy7m5vywfi7" + "17c57xgs0w71p4xsjw5an7dg484769wanq3kx86ppaqw8vqhnqc3" else - "0xk8a2brpzfxi87mqqfv8l5xi5j9x71cy0ik64dzwcq7ka16gpz1"; + "06pjbc9050fgi2njzf9vm6py7c22i6chw852rbm8flx3cmplw23b"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix index 42d7aa2f56f0..fa9c89b442bb 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix @@ -55,7 +55,7 @@ let in stdenv.mkDerivation rec { name = "flashplayer-standalone-${version}"; - version = "29.0.0.140"; + version = "29.0.0.171"; src = fetchurl { url = @@ -65,9 +65,9 @@ stdenv.mkDerivation rec { "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz"; sha256 = if debug then - "1gvfm4z46m2y39fswpzhx18dlwcxwwy5mins3kx2m425dgp76zd5" + "1q2lmsb9g2cxbwxb712javmadk6vmcgkihd244394nr10isdzw67" else - "08a21c0l47w97xhwiby8j5055kl37ld5insfd459gz92d3f145fl"; + "0qj5qdc9k53pgqxb5jpcbgfsgavmlyzp0cpz468c4zacsvxgq502"; }; nativeBuildInputs = [ unzip ]; From aad0a825f9190539002fbac010b06b268c1dadbf Mon Sep 17 00:00:00 2001 From: scalavision Date: Tue, 8 May 2018 10:40:10 +0200 Subject: [PATCH 11/27] singularity: 2.4.6 -> 2.5.1 --- pkgs/applications/virtualization/singularity/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix index d6913a94432b..2048d7d2ed92 100644 --- a/pkgs/applications/virtualization/singularity/default.nix +++ b/pkgs/applications/virtualization/singularity/default.nix @@ -13,11 +13,12 @@ , gnused , curl , utillinux +, libarchive }: stdenv.mkDerivation rec { name = "singularity-${version}"; - version = "2.4.6"; + version = "2.5.1"; enableParallelBuilding = true; @@ -45,11 +46,11 @@ stdenv.mkDerivation rec { owner = "singularityware"; repo = "singularity"; rev = version; - sha256 = "0bs1jqm7v7wv1kdxq8kyqn3gl5m76j0wwwgjyjnndrhczlsh5m1d"; + sha256 = "1i029qs6dfpyirhbdz0nrx2sh5fddysk4wqkjqj5m60kxs4x8a3d"; }; nativeBuildInputs = [ autoreconfHook makeWrapper ]; - buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux ]; + buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux libarchive ]; meta = with stdenv.lib; { homepage = http://singularity.lbl.gov/; From 7936474efcef8fae93e96fe66d36b5cb363d4857 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Tue, 8 May 2018 10:49:49 -0400 Subject: [PATCH 12/27] gnucash: restore version 2.4 --- pkgs/applications/office/gnucash/2.4.nix | 85 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 +++ 2 files changed, 93 insertions(+) create mode 100644 pkgs/applications/office/gnucash/2.4.nix diff --git a/pkgs/applications/office/gnucash/2.4.nix b/pkgs/applications/office/gnucash/2.4.nix new file mode 100644 index 000000000000..252c6d878d0c --- /dev/null +++ b/pkgs/applications/office/gnucash/2.4.nix @@ -0,0 +1,85 @@ +{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx +, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui +, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade +, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar +}: + +/* If you experience GConf errors when running GnuCash on NixOS, see + * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications + * for a possible solution. + */ + +stdenv.mkDerivation rec { + name = "gnucash-2.4.15"; + + src = fetchurl { + url = "mirror://sourceforge/gnucash/${name}.tar.bz2"; + sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml + libgnomeprint goffice enchant gettext intltool perl guile slibGuile + swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl + perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar + ]; + propagatedUserEnvPkgs = [ gconf ]; + + configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking"; + + postInstall = '' + # Auto-updaters don't make sense in Nix. + rm $out/bin/gnc-fq-update + + sed -i $out/bin/update-gnucash-gconf \ + -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|' + + for prog in $(echo "$out/bin/"*) + do + # Don't wrap the gnc-fq-* scripts, since gnucash calls them as + # "perl