diff --git a/pkgs/applications/audio/id3v2/default.nix b/pkgs/applications/audio/id3v2/default.nix index 8a025ac6843..a7835f020d1 100644 --- a/pkgs/applications/audio/id3v2/default.nix +++ b/pkgs/applications/audio/id3v2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, id3lib, groff}: +{stdenv, fetchurl, id3lib, groff, zlib}: stdenv.mkDerivation rec { name = "id3v2-0.1.11"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { patches = [ ./id3v2-0.1.11-track-bad-free.patch ]; nativeBuildInputs = [ groff ]; - buildInputs = [ id3lib ]; + buildInputs = [ id3lib zlib ]; configurePhase = '' export makeFlags=PREFIX=$out diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 0987f961baf..c74795f52c4 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -18,8 +18,9 @@ stdenv.mkDerivation rec { patchPhase = '' tar xf ${qt48.src} + qtdir=$(realpath $(ls | grep qt | grep 4.8 | grep src)) sed -i setup/build_environment.py \ - -e "s|^qt_private_inc = .*|qt_private_inc = ['../qt-everywhere-opensource-src-4.8.5/include/%s'%(m) for m in ('QtGui', 'QtCore')]|" + -e "s|^qt_private_inc = .*|qt_private_inc = ['$qtdir/include/%s\'%(m) for m in ('QtGui', 'QtCore')]|" ''; buildInputs = diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix index a8c4a535258..25a23b019d8 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/default.nix @@ -14,9 +14,9 @@ let else if stdenv.system == "i686-linux" then "ld-linux.so.2" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - version = "1.1.42"; - sha256 = if stdenv.system == "x86_64-linux" then "07gcjzhhr8simkjjxhyzkvh3748ll81d742fz7j31nwdi34my8ri" - else if stdenv.system == "i686-linux" then "0awf5bfhb4dp4aydzrgdp3wqv1mz6ys1z45i0r1hbqszvf44xj7c" + version = "1.1.70"; + sha256 = if stdenv.system == "x86_64-linux" then "1hnyncq5439fxn1q8dkzcg2alxjkanr4q4pgqqf3nngz4cdar5vi" + else if stdenv.system == "i686-linux" then "1ijdmzl8bnb4k99vrjn5gd31hy64p9wiyxw5wc5gbpgap191h5i5" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; in stdenv.mkDerivation { diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index b5b3d4044c5..d53ca7a0135 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -71,7 +71,7 @@ rec { hub = import ./hub { inherit (rubyLibs) rake; - inherit stdenv fetchgit groff makeWrapper; + inherit stdenv fetchurl groff makeWrapper; }; gitFastExport = import ./fast-export { diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index e545d2bc6f4..b9a053211fa 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchgit, groff, rake, makeWrapper }: +{ stdenv, fetchurl, groff, rake, makeWrapper }: stdenv.mkDerivation rec { name = "hub-${version}"; - version = "1.10.3"; + version = "1.10.6"; - src = fetchgit { - url = "git://github.com/defunkt/hub.git"; - rev = "refs/tags/v${version}"; - sha256 = "0j0krmf0sf09hhw3nsn0w1y97d67762g4qrc8080bwcx38lbyvbg"; + src = fetchurl { + url = "https://github.com/github/hub/archive/v${version}.tar.gz"; + sha256 = "0vfl1iq1927in81vd7zvp7yqqzay7pciyj87s83qfxrqyjpxn609"; }; buildInputs = [ rake makeWrapper ]; diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index b826434549f..dcf5b4e5009 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -7,14 +7,14 @@ , x86Only ? false }: -let n = "qemu-1.6.0"; in +let n = "qemu-1.5.2"; in stdenv.mkDerivation rec { name = n + (if x86Only then "-x86-only" else ""); src = fetchurl { url = "http://wiki.qemu.org/download/${n}.tar.bz2"; - sha256 = "0j6bnaa93fyqwzg07krx5w1fb88ap1yz1hp84ilkpm16va5facii"; + sha256 = "0l52jwlxmwp9g3jpq0g7ix9dq4qgh46nd2h58lh47f0a35yi8qgn"; }; buildInputs = diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index fdb40be320c..f68f918d585 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib -, xlibs, fontconfig, freetype, unixODBC, alsaLib +, xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib } : stdenv.mkDerivation rec { - name = "cudatoolkit-4.2.9"; + name = "cudatoolkit-5.5.22"; dontPatchELF = true; dontStrip = true; @@ -11,8 +11,8 @@ stdenv.mkDerivation rec { src = if stdenv.system == "x86_64-linux" then fetchurl { - url = http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/cudatoolkit_4.2.9_linux_64_suse11.2.run; - sha256 = "1inngzwq520bhpdfrh5bm4cxfyf3hxj94jialjxgviri5bj9hz60"; + url = http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run; + sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4"; } else throw "cudatoolkit does not support platform ${stdenv.system}"; @@ -21,13 +21,15 @@ stdenv.mkDerivation rec { runtimeDependencies = [ ncurses expat python zlib xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext - fontconfig freetype unixODBC alsaLib + gtk2 glib fontconfig freetype unixODBC alsaLib ]; rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64"; unpackPhase = '' sh $src --keep --noexec + cd pkg/run_files + sh cuda-linux64-rel-5.5.22-16488124.run --keep --noexec cd pkg ''; @@ -36,7 +38,7 @@ stdenv.mkDerivation rec { --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ '{}' \; || true find . -type f -exec patchelf \ - --set-rpath $rpath:$out/lib:$out/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \ + --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \ --force-rpath \ '{}' \; || true ''; diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix index bbc273365b9..00c5ef36a38 100644 --- a/pkgs/development/compilers/gprolog/default.nix +++ b/pkgs/development/compilers/gprolog/default.nix @@ -1,25 +1,28 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "gprolog-1.4.1"; + name = "gprolog-1.4.4"; src = fetchurl { urls = [ "mirror://gnu/gprolog/${name}.tar.gz" "http://www.gprolog.org/${name}.tar.gz" ]; - sha256 = "e2819ed9c426138d3191e4d97ae5121cf97e132eecf102400f87f1e372a05b72"; + sha256 = "13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q"; }; - configurePhase = "cd src ;" - + "./configure --prefix=$out " - + "--with-install-dir=$out/share/${name} " - + "--with-examples-dir=$out/share/doc/${name}/examples " - + "--with-doc-dir=$out/share/doc/${name}"; + preConfigure = '' + cd src + configureFlagsArray=( + "--with-install-dir=$out" + "--without-links-dir" + "--with-examples-dir=$out/share/${name}/examples" + "--with-doc-dir=$out/share/${name}/doc" + ) + ''; postInstall = '' - ln -vs "$out/share/${name}/include" "$out/include" - ln -vs "$out/share/${name}/lib" "$out/lib" + mv -v $out/[A-Z]* $out/gprolog.ico $out/share/${name}/ ''; doCheck = true; @@ -27,7 +30,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.gnu.org/software/gprolog/"; description = "GNU Prolog, a free Prolog compiler with constraint solving over finite domains"; - license = "GPLv2+"; + license = stdenv.lib.licenses.lgpl3Plus; longDescription = '' GNU Prolog is a free Prolog compiler with constraint solving diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index ffa4402a72a..3ac2368342d 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, erlang, rebar }: +{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }: stdenv.mkDerivation { name = "elixir-0.10.1"; @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "0gfr2bz3mw7ag9z2wb2g22n2vlyrp8dwy78fj9zi52kzl5w3vc3w"; }; - buildInputs = [ erlang rebar ]; + buildInputs = [ erlang rebar makeWrapper ]; preBuild = '' substituteInPlace rebar \ @@ -18,6 +18,17 @@ stdenv.mkDerivation { --replace "/usr/local" $out ''; + postFixup = '' + # Elixirs binaries are shell scripts which run erl. This adds some + # stuff to PATH so the scripts run without problems. + + for f in $out/bin/* + do + wrapProgram $f \ + --prefix PATH ":" "${erlang}/bin:${coreutils}/bin" + done + ''; + meta = { homepage = "http://elixir-lang.org/"; description = "Elixir is a functional, meta-programming aware language built on top of the Erlang VM."; diff --git a/pkgs/development/interpreters/erlang/R14B04.nix b/pkgs/development/interpreters/erlang/R14B04.nix index 1d5c9ae3d39..4dd32cd806c 100644 --- a/pkgs/development/interpreters/erlang/R14B04.nix +++ b/pkgs/development/interpreters/erlang/R14B04.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, perl, gnum4, ncurses, openssl }: +{ stdenv, fetchurl, perl, gnum4, ncurses, openssl +, makeWrapper, gnused, gawk }: let version = "14B04"; in @@ -10,7 +11,7 @@ stdenv.mkDerivation { sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9"; }; - buildInputs = [ perl gnum4 ncurses openssl ]; + buildInputs = [ perl gnum4 ncurses openssl makeWrapper ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -21,6 +22,12 @@ stdenv.mkDerivation { configureFlags = "--with-ssl=${openssl}"; + # Some erlang bin/ scripts run sed and awk + postFixup = '' + wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" + ''; + meta = { homepage = "http://www.erlang.org/"; description = "Programming language used for massively scalable soft real-time systems"; diff --git a/pkgs/development/interpreters/erlang/R15B03.nix b/pkgs/development/interpreters/erlang/R15B03.nix index d282e45dc62..e0760db9f58 100644 --- a/pkgs/development/interpreters/erlang/R15B03.nix +++ b/pkgs/development/interpreters/erlang/R15B03.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl +, makeWrapper, gnused, gawk , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; @@ -15,6 +16,7 @@ stdenv.mkDerivation { buildInputs = [ perl gnum4 ncurses openssl + makeWrapper ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,6 +28,12 @@ stdenv.mkDerivation { configureFlags = "--with-ssl=${openssl}"; + # Some erlang bin/ scripts run sed and awk + postFixup = '' + wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" + ''; + meta = { homepage = "http://www.erlang.org/"; description = "Programming language used for massively scalable soft real-time systems"; diff --git a/pkgs/development/interpreters/erlang/R16B01.nix b/pkgs/development/interpreters/erlang/R16B01.nix index 902af75d494..168db4484b1 100644 --- a/pkgs/development/interpreters/erlang/R16B01.nix +++ b/pkgs/development/interpreters/erlang/R16B01.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl +, gnused, gawk, makeWrapper , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; @@ -14,7 +15,7 @@ stdenv.mkDerivation { }; buildInputs = - [ perl gnum4 ncurses openssl + [ perl gnum4 ncurses openssl makeWrapper ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,6 +27,12 @@ stdenv.mkDerivation { configureFlags = "--with-ssl=${openssl}"; + # Some erlang bin/ scripts run sed and awk + postFixup = '' + wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" + ''; + meta = { homepage = "http://www.erlang.org/"; description = "Programming language used for massively scalable soft real-time systems"; diff --git a/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix b/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix deleted file mode 100644 index aaca850c0d7..00000000000 --- a/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ cabal, binary, dataAccessor, distributedProcess, network -, networkMulticast, networkTransport, networkTransportTcp -, transformers -}: - -cabal.mkDerivation (self: { - pname = "distributed-process-simplelocalnet"; - version = "0.2.0.9"; - sha256 = "0bkb26bfpmyhh26hgznnw073kvk78ws6lqi86pxrgnnm9sx5mi21"; - isLibrary = true; - isExecutable = true; - buildDepends = [ - binary dataAccessor distributedProcess network networkMulticast - networkTransport networkTransportTcp transformers - ]; - meta = { - homepage = "http://github.com/haskell-distributed/distributed-process"; - description = "Simple zero-configuration backend for Cloud Haskell"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/distributed-process/default.nix b/pkgs/development/libraries/haskell/distributed-process/default.nix deleted file mode 100644 index 95f7993da22..00000000000 --- a/pkgs/development/libraries/haskell/distributed-process/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ cabal, ansiTerminal, binary, dataAccessor, distributedStatic -, HUnit, mtl, network, networkTransport, networkTransportTcp -, random, rank1dynamic, stm, syb, testFramework, testFrameworkHunit -, time, transformers -}: - -cabal.mkDerivation (self: { - pname = "distributed-process"; - version = "0.4.2"; - sha256 = "16w8jp66903vn089ysqdn534v0744cr2m6wkqd77zri6a0caaa6c"; - isLibrary = true; - isExecutable = true; - buildDepends = [ - binary dataAccessor distributedStatic mtl networkTransport random - rank1dynamic stm syb time transformers - ]; - testDepends = [ - ansiTerminal binary distributedStatic HUnit network - networkTransport networkTransportTcp random stm testFramework - testFrameworkHunit - ]; - noHaddock = true; - jailbreak = true; - doCheck = false; - meta = { - homepage = "http://github.com/haskell-distributed/distributed-process"; - description = "Cloud Haskell: Erlang-style concurrency in Haskell"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix index c4039458d76..38ee62dd5af 100644 --- a/pkgs/development/libraries/haskell/hoogle/default.nix +++ b/pkgs/development/libraries/haskell/hoogle/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hoogle"; - version = "4.2.19"; - sha256 = "0mfmb3ky93gicwd1i4n3xfhlr3y6zgc4dv2nrilrr9l0kfka37f8"; + version = "4.2.20"; + sha256 = "0sff230qc9lk3kqr9azg399fsaybwqpic9pj52jyw61ffasnl2dd"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/lens-datetime/default.nix b/pkgs/development/libraries/haskell/lens-datetime/default.nix new file mode 100644 index 00000000000..b1a472dfc7c --- /dev/null +++ b/pkgs/development/libraries/haskell/lens-datetime/default.nix @@ -0,0 +1,14 @@ +{ cabal, lens, time }: + +cabal.mkDerivation (self: { + pname = "lens-datetime"; + version = "0.1.1"; + sha256 = "0p93211ibq1rkh4aj69xdwan0338k35vb5qyf7zp761nghnk3d47"; + buildDepends = [ lens time ]; + meta = { + homepage = "http://github.com/klao/lens-datetime"; + description = "Lenses for Data.Time.* types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix index c4a77630e6a..7d53d81f7bb 100644 --- a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix +++ b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix @@ -4,6 +4,7 @@ cabal.mkDerivation (self: { pname = "modular-arithmetic"; version = "1.0.1.1"; sha256 = "14n83kjmz8mqjivjhwxk1zckms5z3gn77yq2hsw2yybzff2vkdkd"; + noHaddock = true; meta = { description = "A type for integers modulo some constant"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/network-multicast/default.nix b/pkgs/development/libraries/haskell/network-multicast/default.nix index 3a461a51f53..59a0d77d67c 100644 --- a/pkgs/development/libraries/haskell/network-multicast/default.nix +++ b/pkgs/development/libraries/haskell/network-multicast/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "network-multicast"; - version = "0.0.7"; - sha256 = "18qlg4cg7ci1z3mbqh5z16mxkjir0079a0rgm4qk6jbmsnvfsq43"; + version = "0.0.8"; + sha256 = "0jsbp8z2a69x5h6dc3b16wdxs0shv6438mnf5mg0jxq7xddbhph8"; buildDepends = [ network ]; meta = { description = "Simple multicast library"; diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix index ec8ccd01054..cb346ac7d27 100644 --- a/pkgs/development/libraries/haskell/texmath/default.nix +++ b/pkgs/development/libraries/haskell/texmath/default.nix @@ -1,12 +1,12 @@ -{ cabal, parsec, syb, xml }: +{ cabal, pandocTypes, parsec, syb, xml }: cabal.mkDerivation (self: { pname = "texmath"; - version = "0.6.3"; - sha256 = "1ajza3p4rj318l03rffscqs6rbk635drmdciv7hhl4nljc4qmnpz"; + version = "0.6.4"; + sha256 = "090xqs14ap3c6pljqzyva46phxb1lhqayi4g098f6d77d1ygvshf"; isLibrary = true; isExecutable = true; - buildDepends = [ parsec syb xml ]; + buildDepends = [ pandocTypes parsec syb xml ]; meta = { homepage = "http://github.com/jgm/texmath"; description = "Conversion of LaTeX math formulas to MathML or OMML"; diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix index df8add774a1..4d94624ce78 100644 --- a/pkgs/development/libraries/id3lib/default.nix +++ b/pkgs/development/libraries/id3lib/default.nix @@ -1,9 +1,11 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, zlib}: stdenv.mkDerivation { name = "id3lib-3.8.3"; patches = [ ./id3lib-3.8.3-gcc43-1.patch ]; + + buildInputs = [ zlib ]; src = fetchurl { url = mirror://sourceforge/id3lib/id3lib-3.8.3.tar.gz; diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 3fb1650bf46..ce305a2880b 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -1,72 +1,112 @@ -{ stdenv, fetchurl, pkgconfig, yasm, xz -, mp3Support ? true, lame ? null -, speexSupport ? true, speex ? null -, theoraSupport ? true, libtheora ? null -, vorbisSupport ? true, libvorbis ? null -, vpxSupport ? false, libvpx ? null -, x264Support ? false, x264 ? null -, xvidSupport ? true, xvidcore ? null -, faacSupport ? false, faac ? null +{ stdenv, fetchurl, pkgconfig, yasm, bzip2, zlib +, mp3Support ? true, lame ? null +, speexSupport ? true, speex ? null +, theoraSupport ? true, libtheora ? null +, vorbisSupport ? true, libvorbis ? null +, vpxSupport ? true, libvpx ? null +, x264Support ? false, x264 ? null +, xvidSupport ? true, xvidcore ? null +, faacSupport ? false, faac ? null +, vaapiSupport ? false, libva ? null # ToDo: it has huge closure +, vdpauSupport ? true, libvdpau ? null +, freetypeSupport ? true, freetype ? null # it's small and almost everywhere +, SDL # only for avplay in $tools, adds nontrivial closure to it +, enableGPL ? true # ToDo: some additional default stuff may need GPL +, enableUnfree ? faacSupport }: -assert speexSupport -> speex != null; -assert theoraSupport -> libtheora != null; -assert vorbisSupport -> libvorbis != null; -assert vpxSupport -> libvpx != null; -assert x264Support -> x264 != null; -assert xvidSupport -> xvidcore != null; +assert faacSupport -> enableUnfree; -stdenv.mkDerivation rec { - name = "libav-0.7"; - - src = fetchurl { - url = "http://libav.org/releases/${name}.tar.xz"; - sha256 = "04pl6y53xh6xmwzz0f12mg5vh62ylp5zwwinj6dxzd8pnbjg4lsz"; +with { inherit (stdenv.lib) optional optionals; }; + +/* ToDo: + - more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools + - maybe do some more splitting into outputs +*/ + +let + result = { + libav_9 = libavFun "9.8" "0r7hg9wg3cxjsmwzpa6f2p1a092g2iazyjjy23604ccskzbnirg3"; + libav_0_8 = libavFun "0.8.8" "1wnbmbs0z4f55y8r9bwb63l04zn383l1avy4c9x1ffb2xccgcp79"; }; - # `--enable-gpl' (as well as the `postproc' and `swscale') mean that - # the resulting library is GPL'ed, so it can only be used in GPL'ed - # applications. - configureFlags = [ - "--enable-gpl" - "--enable-postproc" - "--enable-swscale" - "--disable-ffserver" - "--disable-ffplay" - "--enable-shared" - "--enable-runtime-cpudetect" - ] - ++ stdenv.lib.optional mp3Support "--enable-libmp3lame" - ++ stdenv.lib.optional speexSupport "--enable-libspeex" - ++ stdenv.lib.optional theoraSupport "--enable-libtheora" - ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis" - ++ stdenv.lib.optional vpxSupport "--enable-libvpx" - ++ stdenv.lib.optional x264Support "--enable-libx264" - ++ stdenv.lib.optional xvidSupport "--enable-libxvid" - ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"; + libavFun = version : sha256 : stdenv.mkDerivation rec { + name = "libav-${version}"; - buildInputs = [ pkgconfig lame yasm ] - ++ stdenv.lib.optional mp3Support lame - ++ stdenv.lib.optional speexSupport speex - ++ stdenv.lib.optional theoraSupport libtheora - ++ stdenv.lib.optional vorbisSupport libvorbis - ++ stdenv.lib.optional vpxSupport libvpx - ++ stdenv.lib.optional x264Support x264 - ++ stdenv.lib.optional xvidSupport xvidcore - ++ stdenv.lib.optional faacSupport faac; + src = fetchurl { + url = "http://libav.org/releases/${name}.tar.xz"; + inherit sha256; + }; + configureFlags = + assert stdenv.lib.all (x: x!=null) buildInputs; + [ + #"--enable-postproc" # it's now a separate package in upstream + "--disable-avserver" # upstream says it's in a bad state + "--enable-avplay" + "--enable-shared" + "--enable-runtime-cpudetect" + ] + ++ optionals enableGPL [ "--enable-gpl" "--enable-swscale" ] + ++ optional mp3Support "--enable-libmp3lame" + ++ optional speexSupport "--enable-libspeex" + ++ optional theoraSupport "--enable-libtheora" + ++ optional vorbisSupport "--enable-libvorbis" + ++ optional vpxSupport "--enable-libvpx" + ++ optional x264Support "--enable-libx264" + ++ optional xvidSupport "--enable-libxvid" + ++ optional faacSupport "--enable-libfaac --enable-nonfree" + ++ optional vaapiSupport "--enable-vaapi" + ++ optional vdpauSupport "--enable-vdpau" + ++ optional freetypeSupport "--enable-libfreetype" + ; - crossAttrs = { - dontSetConfigureCross = true; - configureFlags = configureFlags ++ [ - "--cross-prefix=${stdenv.cross.config}-" - "--enable-cross-compile" - "--target_os=linux" - "--arch=${stdenv.cross.arch}" - ]; - }; + buildInputs = [ pkgconfig lame yasm zlib bzip2 SDL ] + ++ optional mp3Support lame + ++ optional speexSupport speex + ++ optional theoraSupport libtheora + ++ optional vorbisSupport libvorbis + ++ optional vpxSupport libvpx + ++ optional x264Support x264 + ++ optional xvidSupport xvidcore + ++ optional faacSupport faac + ++ optional vaapiSupport libva + ++ optional vdpauSupport libvdpau + ++ optional freetypeSupport freetype + ; + + enableParallelBuilding = true; + + outputs = [ "out" "tools" ]; + + postInstall = '' + mkdir -p "$tools/bin" + mv "$out/bin/avplay" "$tools/bin" + cp -s "$out"/bin/* "$tools/bin/" + ''; + + doInstallCheck = true; + installCheckTarget = "check"; # tests need to be run *after* installation + + crossAttrs = { + dontSetConfigureCross = true; + configureFlags = configureFlags ++ [ + "--cross-prefix=${stdenv.cross.config}-" + "--enable-cross-compile" + "--target_os=linux" + "--arch=${stdenv.cross.arch}" + ]; + }; + + passthru = { inherit vdpauSupport; }; + + meta = with stdenv.lib; { + homepage = http://libav.org/; + description = "A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)"; + license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not? + else if enableGPL then gpl2Plus else lgpl21Plus; + platforms = platforms.all; + }; + }; # libavFun + +in result - meta = { - homepage = http://libav.org/; - description = "A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)"; - }; -} diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix index dd16d6ef94e..2af9565e0b4 100644 --- a/pkgs/development/libraries/spice/default.nix +++ b/pkgs/development/libraries/spice/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "spice-0.12.3"; + name = "spice-0.12.4"; src = fetchurl { url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; - sha256 = "0il50hcw87mzs3dw80a9gkidmhgf9s8691xmki3gj9358qf5xmmz"; + sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng"; }; buildInputs = [ pixman celt alsaLib openssl libjpeg zlib diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix index cd0eb3fcdcb..4a208dbc64e 100644 --- a/pkgs/development/libraries/xmlrpc-c/default.nix +++ b/pkgs/development/libraries/xmlrpc-c/default.nix @@ -1,16 +1,27 @@ -{ stdenv, fetchsvn, curl }: +{ stdenv, fetchurl, curl }: -let rev = "2262"; in -stdenv.mkDerivation { - name = "xmlrpc-c-r${rev}"; +stdenv.mkDerivation rec { + name = "xmlrpc-c-1.25.25"; + + src = fetchurl { + url = "mirror://sourceforge/xmlrpc-c/${name}.tgz"; + sha256 = "1sk33q4c6liza920rp4w803cfq0a79saq7fg1yjsp8hks7q011ml"; + }; buildInputs = [ curl ]; - preInstall = "export datarootdir=$out/share"; + # Build and install the "xmlrpc" tool (like the Debian package) + postInstall = '' + (cd tools/xmlrpc && make && make install) + ''; - src = fetchsvn { - url = http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced; - rev = "2262"; - sha256 = "1grwnczp5dq3w20rbz8bgpwl6jmw0w7cm7nbinlasf3ap5sc5ahb"; + meta = with stdenv.lib; { + description = "A lightweight RPC library based on XML and HTTP"; + homepage = http://xmlrpc-c.sourceforge.net/; + # /doc/COPYING also lists "Expat license", + # "ABYSS Web Server License" and "Python 1.5.2 License" + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix index eadeb51d1b3..a17529c2837 100644 --- a/pkgs/development/tools/boomerang/default.nix +++ b/pkgs/development/tools/boomerang/default.nix @@ -1,29 +1,49 @@ -{ stdenv, fetchgit, cmake, boehmgc, expat, cppunit }: +{ stdenv, fetchgit, cmake, expat }: -stdenv.mkDerivation { - name = "boomerang-1.0pre"; - - buildInputs = [ cmake boehmgc expat cppunit ]; - - installPhase = '' - for loaderfile in loader/*.so - do - install -vD "$loaderfile" "$out/lib/$(basename "$loaderfile")" - done - - install -vD boomerang "$out/bin/boomerang" - ''; - - patches = [ ./dlopen_path.patch ]; +stdenv.mkDerivation rec { + name = "boomerang-${version}"; + version = "0.3.2alpha"; src = fetchgit { - url = "git://github.com/aszlig/boomerang.git"; - rev = "d0b147a5dfc915a5fa8fe6c517e66a049a37bf22"; - sha256 = "6cfd95a3539ff45c18b17de76407568b0d0c17fde4e45dda54486c7eac113969"; + url = "https://github.com/nemerle/boomerang.git"; + rev = "78c6b9dd33790be43dcb07edc549161398904006"; + sha256 = "1hh8v0kcnipwrfz4d45d6pm5bzbm9wgbrdgg0ir2l7wyshbkff6i"; }; + buildInputs = [ cmake expat ]; + + postPatch = '' + sed -i -e 's/-std=c++0x/-std=c++11 -fpermissive/' CMakeLists.txt + + # Hardcode library base path ("lib/" is appended elsewhere) + sed -i -e 's|::m_base_path = "|&'"$out"'/|' loader/BinaryFileFactory.cpp + # Deactivate setting base path at runtime + sed -i -e 's/m_base_path *=[^}]*//' include/BinaryFile.h + + # Fix up shared directory locations + shared="$out/share/boomerang/" + find frontend -name '*.cpp' -print | xargs sed -i -e \ + 's|Boomerang::get()->getProgPath()|std::string("'"$shared"'")|' + + cat >> loader/CMakeLists.txt <> CMakeLists.txt <