From 90f1e5b6725d9cd1e1dea068451d147a610d12be Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 6 Oct 2012 22:42:06 +0400 Subject: [PATCH 1/9] Add V4L support to SANE --- pkgs/misc/sane-backends/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix index 31372aa8418..ac6fed5deb4 100644 --- a/pkgs/misc/sane-backends/default.nix +++ b/pkgs/misc/sane-backends/default.nix @@ -1,21 +1,27 @@ -{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null +{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null +, pkgconfig ? null , gt68xxFirmware ? null }: let firmware = gt68xxFirmware {inherit fetchurl;}; in assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"); -stdenv.mkDerivation { - name = "sane-backends-1.0.22"; +stdenv.mkDerivation rec { + version = "1.0.23"; + name = "sane-backends-${version}"; src = fetchurl { - url = http://alioth.debian.org/frs/download.php/3503/sane-backends-1.0.22.tar.gz; - sha256 = "0m0cz4ljw9asqvpryl6gx1ndwf7ll2qinlvql9whnzs901la314z"; + url = "https://launchpad.net/ubuntu/+archive/primary/+files/sane-backends_${version}.orig.tar.gz"; + sha256 = "4d4f5b2881615af7fc0ed75fdde7dc623a749e80e40f3f792fe4010163cbb029"; }; udevSupport = hotplugSupport; - buildInputs = if libusb != null then [libusb] else []; + buildInputs = [] + ++ stdenv.lib.optional (libusb != null) libusb + ++ stdenv.lib.optional (libv4l != null) libv4l + ++ stdenv.lib.optional (pkgconfig != null) pkgconfig + ; postInstall = '' if test "$udevSupport" = "1"; then From 79fa3e218136b777c6498fe7915aa244979f739f Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 7 Oct 2012 07:15:03 +0200 Subject: [PATCH 2/9] pyaudio: New package, version 0.2.4. Signed-off-by: aszlig --- pkgs/top-level/python-packages.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ddc852ffa4a..e7ce262649e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1735,6 +1735,32 @@ let pythonPackages = python.modules // rec { }; }); + + pyaudio = pkgs.stdenv.mkDerivation rec { + name = "python-pyaudio-${version}"; + version = "0.2.4"; + + src = fetchurl { + url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz"; + md5 = "623809778f3d70254a25492bae63b575"; + }; + + buildInputs = [ python pkgs.portaudio ]; + + installPhase = '' + python setup.py install --prefix=$out + ''; + + doCheck = false; + + meta = { + description = "Python bindings for PortAudio"; + homepage = "http://people.csail.mit.edu/hubert/pyaudio/"; + license = stdenv.lib.licenses.mit; + }; + }; + + Babel = buildPythonPackage (rec { name = "Babel-0.9.6"; From e5239b78bdade58995b0741b82987fa0676da8c9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 7 Oct 2012 11:18:25 +0200 Subject: [PATCH 3/9] neko: Rewrite package from scratch, version 1.8.2. This should simplify the input of the derivation builder significantly and of course we don't need to rely on mawercer.de to supply the needed files. Also, the derivation name doesn't include "-cvs" anymore, as we're building from the release tarball. In addition, we don't need the patch anymore, as it was so simple that it could be done easily with sed. Signed-off-by: aszlig --- pkgs/development/compilers/neko/default.nix | 95 +++++++------------ .../compilers/neko/disable-modules.patch | 59 ------------ 2 files changed, 34 insertions(+), 120 deletions(-) delete mode 100644 pkgs/development/compilers/neko/disable-modules.patch diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix index 28a98fe1e25..64e1741ae5c 100644 --- a/pkgs/development/compilers/neko/default.nix +++ b/pkgs/development/compilers/neko/default.nix @@ -1,69 +1,42 @@ -{ composableDerivation, lib, fetchurl, mysql, apacheHttpd, zlib, sqlite -, pcre, apr, gtk, boehmgc, pkgconfig, makeWrapper, sourceFromHead }: +{ stdenv, fetchurl, boehmgc, zlib, sqlite, pcre }: -let +stdenv.mkDerivation rec { + name = "neko-${version}"; + version = "1.8.2"; - inherit (composableDerivation) edf wwf; - - libs = [ mysql apacheHttpd zlib sqlite pcre apr gtk ]; - - includes = lib.concatMapStrings (x: ''"${x}/include",'' ) libs + ''"{gkt}/include/gtk-2.0",''; - -in - -composableDerivation.composableDerivation {} ( fixed : { - - name = "neko-cvs"; - - # REGION AUTO UPDATE: { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; } - src = sourceFromHead "neko-F_16-06-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_16-06-48.tar.gz"; sha256 = "e952582a26099b7a5568d0798839a6d349331510ffe6d7936b4537d60b6ccf26"; }); - # END - - # optionally remove apache mysql like gentoo does? - # they just remove libs/{apache,mod_neko} - buildInputs = [boehmgc pkgconfig makeWrapper] ++ libs; - # apr should be in apacheHttpd propagatedBuildInputs - - preConfigure = '' - sed -i \ - -e 's@"/usr/include",@${includes}@' \ - src/tools/install.neko - sed -i "s@/usr/local@$out@" Makefile vm/load.c - # make sure that nekotools boot finds the neko executable and not our wrapper: - mkdir -p $out/{bin,lib} - - sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko - ln -s ./neko bin/.neko-wrapped - ''; - - inherit zlib; - - meta = { - description = "Neko is an high-level dynamicly typed programming language"; - homepage = http://nekovm.org; - license = ["GPLv2" ]; # -> docs/license.txt - maintainers = [ lib.maintainers.marcweber ]; - platforms = lib.platforms.linux; + src = fetchurl { + url = "http://nekovm.org/_media/neko-${version}.tar.gz"; + sha256 = "099727w6dk689z3pcgbhsqjl74zzrh82a5vb2abxynamcqxcgz1w"; }; - # if stripping was done neko and nekoc would be the same. ?! - dontStrip = 1; + prePatch = with stdenv.lib; let + libs = concatStringsSep "," (map (lib: "\"${lib}/include\"") buildInputs); + in '' + sed -i -e '/^search_includes/,/^}/c \ + search_includes = function(_) { return $array(${libs}) } + ' src/tools/install.neko + sed -i -e '/allocated = strdup/s|"[^"]*"|"'"$out/lib/neko:$out/bin"'"|' \ + vm/load.c - # neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "." - postInstall = '' - for prog in nekotools nekoc; do - wrapProgram "$out/bin/$prog" \ - --prefix "LD_LIBRARY_PATH" $out/lib/neko + for disabled_mod in mod_neko{,2} mod_tora{,2} mysql ui; do + sed -i -e '/^libs/,/^}/{/^\s*'"$disabled_mod"'\s*=>/,/^\s*}/d}' \ + src/tools/install.neko done - - wrapProgram "$out/bin/neko" \ - --prefix "LD_LIBRARY_PATH" $out/lib/neko - - # create symlink so that nekotools boot finds not wrapped neko-wrapped executable - ln -s ln -s ../../bin/.neko-wrapped $out/lib/neko ''; - # TODO make them optional and make them work - patches = [ ./disable-modules.patch ]; -}) + makeFlags = "INSTALL_PREFIX=$(out)"; + buildInputs = [ boehmgc zlib sqlite pcre ]; + dontStrip = true; + + preInstall = '' + install -vd "$out/lib" "$out/bin" + ''; + + meta = { + description = "A high-level dynamically typed programming language"; + homepage = http://nekovm.org; + license = stdenv.lib.licenses.lgpl21; + maintainers = [ stdenv.lib.maintainers.marcweber ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/neko/disable-modules.patch b/pkgs/development/compilers/neko/disable-modules.patch deleted file mode 100644 index d4d5a8eb30e..00000000000 --- a/pkgs/development/compilers/neko/disable-modules.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/src/tools/install.neko b/src/tools/install.neko -index 4cffa5e..5702add 100644 ---- a/src/tools/install.neko -+++ b/src/tools/install.neko -@@ -39,26 +39,6 @@ buffer_string = $loader.loadprim("std@buffer_string",1); - // LIBS DATAS - - libs = { -- mod_neko => { -- src => $array("../../vm/stats","mod_neko","cgi"), -- inc => "httpd.h", -- incname => "Apache 1.3.x" -- }, -- mod_neko2 => { -- src => $array("../../vm/stats","mod_neko","cgi"), -- inc => $array("httpd.h","apr.h"), -- incname => "Apache 2.2.x", -- cflags => "-D_LARGEFILE64_SOURCE", -- realdir => "mod_neko", -- apache2 => true, -- }, -- mysql => { -- src => $array("mysql"), -- inc => "mysql.h", -- incname => "MySQL 4.+" -- lib => "libmysqlclient_r.a", -- lparams => "-lz -lssl" -- }, - mysql5 => { - src => $array("../common/sha1","../common/socket","my_proto/my_proto","my_proto/my_api","mysql"), - inc => $array(), -@@ -83,27 +63,6 @@ libs = { - incname => "Sqlite 3", - lparams => "-lsqlite3", - }, -- ui => { -- src => $array("ui"), -- inc => switch system { "Mac" => "Carbon.h" default => "gtk/gtk.h" }, -- incname => switch system { "Mac" => "Carbon" default => "GTK+2.0" }, -- cflags => switch system { "Mac" => "" default => "`pkg-config --cflags gtk+-2.0`" }, -- lparams => switch system { "Mac" => "-framework Carbon" default => "`pkg-config --libs gtk+-2.0` -lgthread-2.0" }, -- }, -- mod_tora => { -- src => $array("../common/socket","protocol","mod_tora"), -- inc => "httpd.h", -- incname => "Apache 1.3.x", -- cflags => "-I../common", -- }, -- mod_tora2 => { -- src => $array("../common/socket","protocol","mod_tora"), -- inc => $array("httpd.h","apr.h"), -- incname => "Apache 2.2.x", -- cflags => "-D_LARGEFILE64_SOURCE -I../common", -- realdir => "mod_tora", -- apache2 => true, -- }, - } - - // PLATFORM From 064cf682815e953b4f17d8400c9708bca7573137 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 7 Oct 2012 11:24:51 +0200 Subject: [PATCH 4/9] haxe: Rewrite package from scratch, version 2.10. As well as for neko, we now have way less cruft within the mkDerivation attribute set. We also now use make to build haxe, which will include haxelib and haxedoc as well. The main reason why I was doing this was because the package didn't build and still was referencing mawercer.de, which does not contain those tarballs anymore. Signed-off-by: aszlig --- pkgs/development/compilers/haxe/default.nix | 162 ++++---------------- pkgs/top-level/all-packages.nix | 6 +- 2 files changed, 28 insertions(+), 140 deletions(-) diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix index 8018b478e80..f7af2467e5f 100644 --- a/pkgs/development/compilers/haxe/default.nix +++ b/pkgs/development/compilers/haxe/default.nix @@ -1,141 +1,33 @@ -args: with args; +{ stdenv, fetchsvn, ocaml, zlib, neko }: -let +stdenv.mkDerivation { + name = "haxe-2.10"; - src_haxe_swflib = { - # REGION AUTO UPDATE: { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; } - src = sourceFromHead "haxe_swflib-F_10-43-46.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_10-43-46.tar.gz"; sha256 = "a63de75e48bf500ef0e8ef715d178d32f0ef113ded8c21bbca698a8cc70e7b58"; }); - # END - }.src; + buildInputs = [ocaml zlib neko]; - src_haxe_extc = { - # REGION AUTO UPDATE: { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extc-F_10-43-47.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_10-43-47.tar.gz"; sha256 = "d0a9980527d62ac6cfe27925ddb0964d334ec382f813fdfb8bd6c59fbbede730"; }); - # END - }.src; - - src_haxe_extlib_dev = { - # REGION AUTO UPDATE: { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extlib_dev-F_10-43-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_10-43-48.tar.gz"; sha256 = "6b9037230e2615dd5e22f4e7f4165c84f2816bc526957683afc945394fcdf67e"; }); - # END - }.src; - - src_haxe_xml_light = { - # REGION AUTO UPDATE: { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; } - src = sourceFromHead "haxe_xml_light-F_10-43-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_10-43-48.tar.gz"; sha256 = "be29d9e22ad0dbcb3d447cbbc14907aff5f89bb562b8db369659d299f3a5b44f"; }); - # END - }.src; - - src_haxe_neko_include = { - # REGION AUTO UPDATE: { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; } - src = sourceFromHead "haxe_neko_include-F_10-43-49.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_10-43-49.tar.gz"; sha256 = "e49efc1b348fa6e0f6fb40079a2d380b947d9ebda31843bc293f3cc77f8453db"; }); - # END - }.src; - - src_haxe = { - # REGION AUTO UPDATE: { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; } - src = sourceFromHead "haxe-read-only-3220.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3220.tar.gz"; sha256 = "2b6702dca95d0829e539cea07b8224e3848e584a425ce8f8e0984a7a2bf7b1f8"; }); - # END - }.src; - - - # the HaXe compiler - haxe = stdenv.mkDerivation { - name = "haxe-cvs"; - - buildInputs = [ocaml zlib makeWrapper]; - - src = src_haxe; - - inherit zlib; - - buildPhase = '' - set -x - mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs - - # strange setup. install.ml seems to co the same repo again into haxe directory! - mkdir haxe - tar xfz $src --strip-components=1 -C haxe - - t(){ tar xfz $1 -C $2 --strip-components=2; } - t ${src_haxe_swflib} ocaml/swflib - t ${src_haxe_extc} ocaml/extc - t ${src_haxe_extlib_dev} ocaml/extlib-dev - t ${src_haxe_xml_light} ocaml/xml-light - t ${src_haxe_neko_include} neko/libs - - sed -e '/download();/d' \ - -e "s@/usr/lib/@''${zlib}/lib/@g" \ - doc/install.ml > install.ml - - ocaml install.ml - ''; - - # probably rpath should be set properly - installPhase = '' - mkdir -p $out/lib/haxe - cp -r bin $out/bin - wrapProgram "$out/bin/haxe" \ - --set "LD_LIBRARY_PATH" $zlib/lib \ - --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:." - cp -r std $out/lib/haxe/ - ''; - - meta = { - description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++"; - homepage = http://haxe.org; - license = ["GPLv2" "BSD2" /*?*/ ]; # -> docs/license.txt - maintainers = [args.lib.maintainers.marcweber]; - platforms = args.lib.platforms.linux; - }; - }; - - # build a tool found in std/tools/${name} source directory - # the .hxml files contain a recipe to cerate a binary. - tool = { name, description }: stdenv.mkDerivation { - - inherit name; - - src = src_haxe; - - buildPhase = '' - cd std/tools/${name}; - haxe *.hxml - mkdir -p $out/bin - mv ${name} $out/bin/ - ''; - - buildInputs = [haxe neko]; - - dontStrip=1; - - installPhase=":"; - - meta = { - inherit description; - homepage = http://haxe.org; - # license = "?"; TODO - maintainers = [args.lib.maintainers.marcweber]; - platforms = args.lib.platforms.linux; - }; - - }; - -in - -{ - - inherit haxe; - - haxelib = tool { - name = "haxelib"; - description = "haxelib is a HaXe library management tool similar to easyinstall or ruby gems"; + src = fetchsvn { + url = "http://haxe.googlecode.com/svn/tags/v2-10"; + sha256 = "dbd3c655e4136eb68a165ef83b96bfc1f0f2eb9ec8729603b19bcd717a61a679"; }; + prePatch = '' + sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml + ''; + + installPhase = '' + install -vd "$out/bin" "$out/lib/haxe/std" + install -vt "$out/bin" haxe haxelib haxedoc + find std -mindepth 1 -maxdepth 1 -path std/tools -o \ + -exec cp -vr '{}' "$out/lib/haxe/std" \; + ''; + + dontStrip = true; + + meta = { + description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++"; + homepage = http://haxe.org; + license = ["GPLv2" "BSD2" /*?*/ ]; # -> docs/license.txt + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5e45b644203..396f9fd9633 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2324,11 +2324,7 @@ let # Reasonably current HEAD snapshot. haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; - haxeDist = import ../development/compilers/haxe { - inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko; - }; - haxe = haxeDist.haxe; - haxelib = haxeDist.haxelib; + haxe = callPackage ../development/compilers/haxe { }; falcon = builderDefsPackage (import ../development/interpreters/falcon) { inherit cmake; From 08e025acab07aba03c9ab4ed3566a8b257306a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Fri, 5 Oct 2012 23:11:46 +0200 Subject: [PATCH 5/9] Adding Qt and GTK support to suil so that they can be used for the LV2 plugin GUIs --- pkgs/development/libraries/audio/suil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index a7300f541c4..9fa76f5b406 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom }: +{ stdenv, fetchurl, gtk, lv2, pkgconfig, python, serd, sord, sratom, qt4 }: stdenv.mkDerivation rec { name = "suil-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1rqi16zqnaf30gr2gwb8wbhg8a2l3m5fllf7rabldmgj4b4jlyzp"; }; - buildInputs = [ lv2 pkgconfig python serd sord sratom ]; + buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ]; configurePhase = "python waf configure --prefix=$out"; From 2b31648deed18a7d558204205e0fd222ffbebb6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 7 Oct 2012 13:46:16 +0200 Subject: [PATCH 6/9] Upgrading suil (LV2 plugin library) from 0.6.2 to 0.6.4 --- pkgs/development/libraries/audio/suil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 9fa76f5b406..0358e1c982c 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "suil-${version}"; - version = "0.6.2"; + version = "0.6.4"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1rqi16zqnaf30gr2gwb8wbhg8a2l3m5fllf7rabldmgj4b4jlyzp"; + sha256 = "12pz2w74rhhi6gsskfs6l71vw8qfz8906kbjf5w6jyy1x4kkdca2"; }; buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ]; From 25b4957e4aaaf1a341b683fc85f3ab6b89dd4d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 7 Oct 2012 13:51:39 +0200 Subject: [PATCH 7/9] Add the Distrho collection of audio plugins --- pkgs/applications/audio/distrho/default.nix | 58 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/applications/audio/distrho/default.nix diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix new file mode 100644 index 00000000000..b51c97a6d68 --- /dev/null +++ b/pkgs/applications/audio/distrho/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio +, libxslt, lv2, pkgconfig, premake, xlibs }: + +let + rev = "7815b3545978e"; +in +stdenv.mkDerivation rec { + name = "distrho-${rev}"; + + src = fetchgit { + url = "git://distrho.git.sf.net/gitroot/distrho/distrho"; + inherit rev; + sha256 = "2e260f16ee67b1166c39e2d55c8dd5593902c8b3d8d86485545ef83139e1e844"; + }; + + patchPhase = '' + sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile + sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile + ''; + + buildInputs = [ + alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake + xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext + xlibs.libXinerama xlibs.libXrender + ]; + + buildPhase = '' + sh ./scripts/premake-update.sh linux + make standalone + make lv2 + + # generate lv2 ttl + sh scripts/generate-ttl.sh + ''; + + installPhase = '' + mkdir -p $out/bin + cp bin/standalone/* $out/bin/ + mkdir -p $out/lib/lv2 + cp -a bin/lv2/* $out/lib/lv2/ + ''; + + meta = with stdenv.lib; { + homepage = http://distrho.sourceforge.net; + description = "A collection of cross-platform audio effects and plugins"; + longDescription = '' + Includes: + 3BandEQ bitmangler drowaudio-distortion drowaudio-flanger + drowaudio-tremolo eqinox HybridReverb2 juce_pitcher sDelay + TAL-Filter TAL-NoiseMaker TAL-Reverb-2 TAL-Vocoder-2 ThePilgrim + Wolpertinger argotlunar capsaicin drowaudio-distortionshaper + drowaudio-reverb drumsynth highlife JuceDemoPlugin PingPongPan + TAL-Dub-3 TAL-Filter-2 TAL-Reverb TAL-Reverb-3 TheFunction vex + ''; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 396f9fd9633..57078ac3750 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6678,6 +6678,8 @@ let inherit (pkgs.gnome) libart_lgpl libgnomeui; }; + distrho = callPackage ../applications/audio/distrho {}; + djvulibre = callPackage ../applications/misc/djvulibre { }; djview = callPackage ../applications/graphics/djview { }; From 749cc2bf1e1a25d4b53d1f50450da130a4bfaee5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 7 Oct 2012 18:02:46 +0400 Subject: [PATCH 8/9] Adding Debian devscripts. Mostly for uscan. I plan to later use uscan for simplifying package updates in some NixPkgs packages. I have no code for that now. I added Perl packages File::DesktopEntry and File::BaseDir in a slightly hascky way because one part of the installation system replaced PREFIX= with --prefix= and the other complained that it doesn't know what to do with --prefix=. I checked that a script using File::DesktopEntry works, and I don't know enough Perl to rewrite buildPerlPackage and hope that my change is an improvement. I removed trnaslated manpages because it uses po4a which has some more Debian-specific dependencies of its own. --- pkgs/tools/misc/debian-devscripts/default.nix | 34 +++++++++++++++++++ .../tools/package-management/dpkg/default.nix | 17 +++++----- pkgs/top-level/all-packages.nix | 4 +++ pkgs/top-level/perl-packages.nix | 27 +++++++++++++++ 4 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/misc/debian-devscripts/default.nix diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix new file mode 100644 index 00000000000..693cf7c78bf --- /dev/null +++ b/pkgs/tools/misc/debian-devscripts/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile + , FileDesktopEntry, libxslt, docbook_xsl, python, setuptools, makeWrapper +}: +stdenv.mkDerivation rec { + version = "2.12.4"; + name = "debian-devscripts-${version}"; + src = fetchurl { + url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.gz"; + sha256 = "34bcbec78bd4fe34d9f1326b9d1477ff2410e20e2dca6b7bfbf2bf92dbb83904"; + }; + buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile + FileDesktopEntry libxslt python setuptools makeWrapper ]; + preConfigure = '' + export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}"; + sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile + sed -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' -i Makefile */Makefile + tgtpy="$out/lib/${python.libPrefix}/site-packages" + mkdir -p "$tgtpy" + export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy" + sed -re "s@/usr( |$|/)@$out\\1@" -i Makefile* */Makefile* + sed -re "s@/etc( |$|/)@$out/etc\\1@" -i Makefile* */Makefile* + ''; + postInstall = '' + for i in "$out/bin"/*; do + wrapProgram "$i" \ + --prefix PERL5LIB : "$PERL5LIB" \ + --prefix PERL5LIB : "$out/share/devscripts" + done + ''; + meta = { + description = ''Debian package maintenance scripts''; + license = "GPL (variuous)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... + }; +} diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index 2ffacb08479..95682df5d39 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -1,16 +1,16 @@ -{stdenv, fetchurl, perl, zlib, bzip2}: +{stdenv, fetchurl, perl, zlib, bzip2, xz}: -let version = "1.14.29"; in +let version = "1.16.8"; in stdenv.mkDerivation { name = "dpkg-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.gz"; - sha256 = "0cynms4vziy957r4zskybbid87sz99vrfy8d999vlhxgc74c2zpa"; + url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz"; + sha256 = "4a1f4611390d93f1f198d910d3a4e4913b3cf81702b31f585a1872ca98df0eaa"; }; - configureFlags = "--without-dselect --with-admindir=/var/lib/dpkg"; + configureFlags = "--disable-dselect --with-admindir=/var/lib/dpkg "; preConfigure = '' # Can't use substitute pending resolution of NIXPKGS-89. @@ -24,11 +24,12 @@ stdenv.mkDerivation { chmod +x $TMPDIR/dpkg PATH=$TMPDIR:$PATH - substituteInPlace src/Makefile.in --replace "install-data-local:" "disabled:" - substituteInPlace dpkg-split/Makefile.in --replace "install-data-local:" "disabled:" + for i in $(find . -name Makefile.in); do + substituteInPlace $i --replace "install-data-local:" "disabled:" ; + done ''; - buildInputs = [ perl zlib bzip2 ]; + buildInputs = [ perl zlib bzip2 xz ]; meta = { description = "The Debian package manager"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57078ac3750..32fb0cb4675 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -587,6 +587,10 @@ let dcraw = callPackage ../tools/graphics/dcraw { }; + debian_devscripts = callPackage ../tools/misc/debian-devscripts { + inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry; + }; + debootstrap = callPackage ../tools/misc/debootstrap { }; detox = callPackage ../tools/misc/detox { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index eeba996990d..0e1f11d0b8a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1578,6 +1578,19 @@ rec { }; }; + FileBaseDir = buildPerlPackage rec { + version = "0.03"; + name = "File-BaseDir-${version}"; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + src = fetchurl { + url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; + sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886"; + }; + }; + FileCopyRecursive = buildPerlPackage rec { name = "File-Copy-Recursive-0.38"; src = fetchurl { @@ -1586,6 +1599,20 @@ rec { }; }; + FileDesktopEntry = buildPerlPackage rec { + version = "0.04"; + name = "File-DesktopEntry-${version}"; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + src = fetchurl { + url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; + sha256 = "d7f80d8bd303651a43dc1810c73740d38a0d2b158fb33cd3b6ca4d3a566da7cb"; + }; + propagatedBuildInputs = [ FileBaseDir ]; + }; + FileFindRule = buildPerlPackage rec { name = "File-Find-Rule-0.32"; src = fetchurl { From 4454e45955e665f955e1176541bb8d195dfcb40c Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 7 Oct 2012 19:21:35 +0400 Subject: [PATCH 9/9] Adding meta.maintainers --- pkgs/tools/misc/debian-devscripts/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix index 693cf7c78bf..e8a8abea91d 100644 --- a/pkgs/tools/misc/debian-devscripts/default.nix +++ b/pkgs/tools/misc/debian-devscripts/default.nix @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { ''; meta = { description = ''Debian package maintenance scripts''; - license = "GPL (variuous)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... + license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... + maintainers = with stdenv.lib.maintainers; [raskin]; }; }