Merge 'master' into staging

(relatively simple conflicts)
This commit is contained in:
Vladimír Čunát
2015-04-26 22:52:08 +02:00
508 changed files with 26127 additions and 13733 deletions

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "ats2-${version}";
version = "0.1.9";
version = "0.1.11";
src = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
sha256 = "0zcki97zj9r1dvlfriwfckp9b9z7iavw09q21v6i5ld90hw9588q";
sha256 = "1dy2f7lxfwcmrk753midr75cy8xs6pqnmqmj9xj0ch479q4pkpsv";
};
buildInputs = [ gmp ];

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, unzip, curl }:
stdenv.mkDerivation {
name = "dmd-2.066.1";
name = "dmd-2.067.0";
src = fetchurl {
url = http://downloads.dlang.org/releases/2014/dmd.2.066.1.zip;
sha256 = "1qifwgrl6h232zsnvcx3kmb5d0fsy7j9zv17r3b4vln7x5rvzc66";
url = http://downloads.dlang.org/releases/2015/dmd.2.067.0.zip;
sha256 = "0b1b65694846ef3430de1de341c8cf353151a1a39656e6a1065fe56bc90fb60b";
};
buildInputs = [ unzip curl ];

View File

@@ -39,11 +39,14 @@
}:
let
version = "0.1.0";
libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.version}/ghcjs";
ghcArch = if pkgs.stdenv.system == "i686-linux"
then "i386-linux"
else pkgs.stdenv.system;
libDir = "share/ghcjs/${ghcArch}-${version}-${ghc.version}/ghcjs";
ghcjsBoot = fetchgit {
url = git://github.com/ghcjs/ghcjs-boot.git;
rev = "8cd6144870470258fb037b3e04a0a2a98c2b6551"; # 7.10 branch
sha256 = "16cbncx179n5khf8hkj9r221wf73rc8isffk8rv3n9psshv1jiji";
rev = "8bf1a2c665d42a66354f17220c7dfb1c8b44c0ea"; # 7.10 branch
sha256 = "18bm6sfa9c9kwsmv3lz6j27ng6jl0ck3ifgqbwwa8myfy7fw4il7";
fetchSubmodules = true;
};
shims = fetchgit {
@@ -56,8 +59,8 @@ in mkDerivation (rec {
inherit version;
src = fetchgit {
url = git://github.com/ghcjs/ghcjs.git;
rev = "35a59743c4027f26a227635cb24a6246bd851f8d"; # master branch
sha256 = "107sh36ji3psdl3py84vxgqbywjyzglj3p0akzpvcmbarxwfr1mw";
rev = "64c3768186d73d8c185b42d4d14dfb943919ee56"; # master branch
sha256 = "1w7rwcqzihg6h2j0khar7kjn8vdjg9ngjk6bndpiqcgf3kwfmvhf";
};
isLibrary = true;
isExecutable = true;
@@ -122,7 +125,5 @@ in mkDerivation (rec {
description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API";
license = stdenv.lib.licenses.bsd3;
platforms = ghc.meta.platforms;
maintainers = with stdenv.lib.maintainers; [
jwiegley cstrahan
];
maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan ];
})

View File

@@ -1,14 +0,0 @@
diff -Naur openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
--- openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
+++ openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java 2014-12-30 10:15:50.327905933 -0430
@@ -281,8 +281,8 @@
checkCurrencyCode(newCurrency);
String timeString = currencyInfo.substring(4, length - 4);
long time = format.parse(timeString).getTime();
- if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
- throw new RuntimeException("time is more than 10 years from present: " + time);
+ if (Math.abs(time - System.currentTimeMillis()) > ((long) 20) * 365 * 24 * 60 * 60 * 1000) {
+ throw new RuntimeException("time is more than 20 years from present: " + time);
}
specialCaseCutOverTimes[specialCaseCount] = time;
specialCaseOldCurrencies[specialCaseCount] = oldCurrency;

View File

@@ -78,7 +78,6 @@ let
patch -p0 < ${./cppflags-include-fix.patch}
patch -p0 < ${./fix-java-home.patch}
patch -p0 < ${./currency-date-range.patch}
'';
NIX_NO_SELF_RPATH = true;

View File

@@ -1,47 +1,47 @@
# This file is autogenerated from update.py in the same directory.
{
icedtea7 = rec {
version = "2.5.4";
version = "2.5.5";
url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz";
sha256 = "1npz2p11i4xy4732rxs8wv209iap0m3m24w3vkh9kj0p4k2gal0v";
sha256 = "1irxk2ndwsfk4c1zbzb5h3rpwv2bc9bhfjvz6p4dws5476vsxrq9";
common_url = "http://icedtea.classpath.org/download/drops/icedtea7/${version}";
bundles = {
openjdk = rec {
url = "${common_url}/openjdk.tar.bz2";
sha256 = "88c92a3cab37446352086876771733229b1602d4f79ef68629a151180652e1f1";
sha256 = "5301baacfb6b4ee28a3469b8429a0017898615532f727bb50d94777682c5fd0d";
};
corba = rec {
url = "${common_url}/corba.tar.bz2";
sha256 = "7411fe2df795981124ae2e4da0ddb7d98db0a94c9399a12876be03e7177eaa0b";
sha256 = "f0576599b474f56e58068071242cedbbf2f181b58c9010b614c9096be764ac51";
};
jaxp = rec {
url = "${common_url}/jaxp.tar.bz2";
sha256 = "84623e50b69710d12209fc761a49953c78f1a664ff54e022a77e35e25489f2f3";
sha256 = "293218d595763f7e02a91ea88860e5314e42330cbc21b73dc5de32e7e26fd256";
};
jaxws = rec {
url = "${common_url}/jaxws.tar.bz2";
sha256 = "4bd38a8121d85c422b425177ce648afdee9da18812c91c5b74939c58db33ab4b";
sha256 = "76d6d0670ede806b01d39e07c644e423a50984f1cf0ec560afa23f0fedf575be";
};
jdk = rec {
url = "${common_url}/jdk.tar.bz2";
sha256 = "e99b65baf66d8818e3c8fd31d71fbad4ad0ceb0b7fa4c2e0607eca3a40f2ba09";
sha256 = "c1bc0d25457ccf40fcaeb5311052f6d2fbab8ef316b0381995835827711da483";
};
langtools = rec {
url = "${common_url}/langtools.tar.bz2";
sha256 = "4fd76cbdf18174128863514b4d3997cb623368697bf4f5af6d079dbbcd7b378a";
sha256 = "71b269ea930da36d751c6183816ef53a65c0587b7cf0195f87759b4c02c3b660";
};
hotspot = rec {
url = "${common_url}/hotspot.tar.bz2";
sha256 = "4825f8543aa0c065530b05b0a95915a44eea153bbb696d2ffc4b50a398813e34";
sha256 = "d724a9749f51a3c66351ad8a27bc4570640720eace33cd03f1a52e2e45731dfb";
};
};
};

View File

@@ -65,6 +65,7 @@ let
./paxctl.patch
./read-truststore-from-env.patch
./currency-date-range.patch
./linux-4.0.patch
];
NIX_NO_SELF_RPATH = true;

View File

@@ -0,0 +1,12 @@
diff -Naur openjdk-7u65-b32/hotspot/make/linux/Makefile openjdk-7u65-b32-patch/hotspot/make/linux/Makefile
--- openjdk-7u65-b32/hotspot/make/linux/Makefile 2014-07-17 03:08:38.000000000 -0700
+++ openjdk-7u65-b32-patch/hotspot/make/linux/Makefile 2015-04-21 05:33:12.170190385 -0700
@@ -231,7 +231,7 @@
# Solaris 2.5.1, 2.6).
# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
-SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
+SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
OS_VERSION := $(shell uname -r)
EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, openjdk, cacert, perl } :
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, openjdk, cacert, perl, liberation_ttf, fontconfig } :
let
update = "40";
build = "25";
@@ -39,12 +39,12 @@ let
};
openjdk8 = stdenv.mkDerivation {
name = "openjdk-8u${update}b${build}";
srcs = [jdk8 langtools hotspot corba jdk jaxws jaxp nashorn];
srcs = [ jdk8 langtools hotspot corba jdk jaxws jaxp nashorn ];
outputs = [ "out" "jre" ];
buildInputs = [ cpio file which unzip zip
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
cups freetype alsaLib openjdk perl ];
cups freetype alsaLib openjdk perl liberation_ttf fontconfig ];
setSourceRoot = ''
sourceRoot="jdk8u${update}-jdk8u${update}-b${build}";
'';
@@ -77,18 +77,19 @@ let
"--with-build-number=b${build}"
"--with-milestone=fcs"
];
NIX_LDFLAGS= "-lfontconfig";
buildFlags = "DEBUG_BINARIES=true all";
installPhase = ''
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
cp -av build/*/images/j2sdk-image/* $out/lib/openjdk
cp -av build"/"*/images/j2sdk-image"/"* $out/lib/openjdk
# Move some stuff to top-level.
mv $out/lib/openjdk/include $out/include
mv $out/lib/openjdk/man $out/share/man
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
ln -s $out/include/linux"/"*_md.h $out/include/
# Remove some broken manpages.
rm -rf $out/share/man/ja*
@@ -96,16 +97,18 @@ let
# Remove crap from the installation.
rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample
# Move the JRE to a separate output.
# Move the JRE to a separate output and setup fallback fonts
mv $out/lib/openjdk/jre $jre/lib/openjdk/
mkdir $out/lib/openjdk/jre
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
rm -rf $out/lib/openjdk/jre/bina
ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
# Set PaX markings
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
exes=$(file $out/lib/openjdk/bin"/"* $jre/lib/openjdk/jre/bin"/"* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
echo "to mark: *$exes*"
for file in $exes; do
echo "marking *$file*"
@@ -128,15 +131,16 @@ let
ln -s $out/lib/openjdk/bin $out/bin
ln -s $jre/lib/openjdk/jre/bin $jre/bin
'';
meta = {
meta = with stdenv.lib; {
homepage = http://openjdk.java.net/;
license = stdenv.lib.licenses.gpl2;
license = licenses.gpl2;
description = "The open-source Java Development Kit";
maintainers = [ stdenv.lib.maintainers.cocreature ];
platforms = stdenv.lib.platforms.linux;
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
passthru.home = "${openjdk8}/lib/openjdk";
}; in openjdk8

View File

@@ -1,9 +1,9 @@
import ./jdk-linux-base.nix {
productVersion = "7";
patchVersion = "75";
patchVersion = "79";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
sha256_i686 = "173ppi5d90hllqgys90wlv596bpj2iw8gsbsr6pk7xvd4l1wdhrw";
sha256_x86_64 = "040n50nglr6rcli2pz5rd503c2qqdqqbqynp6hzc4kakkchmj2a6";
sha256_i686 = "1hv9bmj08y8gavhhkip5w5dg96b1dy4sc2cidpjcbwpb2mzh5lhs";
sha256_x86_64 = "140xl5kfdrlmh8wh2x3j23x53dbil8qxsvc7gf3138mz4805vmr9";
jceName = "UnlimitedJCEPolicyJDK7.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";

View File

@@ -1,9 +1,9 @@
import ./jdk-linux-base.nix {
productVersion = "7";
patchVersion = "76";
patchVersion = "80";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
sha256_i686 = "0558p5garc4b5g7h11dkzn161kpk84az5ad1q5hhsblbx02aqff3";
sha256_x86_64 = "130ckrv846amyfzbnnd6skljkznc457yky7d6ajaw5ndsbzg93yf";
sha256_i686 = "1fjpm8pa74c4vgv93lnky6pd3igln56yxdn4kbhgcg12lwc17vcx";
sha256_x86_64 = "08wn62sammvsvlqac0n8grrikl0ykh9ikqdy823i2mcnccqsgnds";
jceName = "UnlimitedJCEPolicyJDK7.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";

View File

@@ -1,10 +1,10 @@
import ./jdk-linux-base.nix {
productVersion = "8";
patchVersion = "40";
patchVersion = "45";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
sha256_i686 = "1bfabnmbar0kfx3i37wnxh97j7whkib8m6wqxrb1d9zf6k13bw50";
sha256_x86_64 = "0nfm4xqd57s8dmkgd0jsrhys8dhfw0fx5d57mq70ramq9dl2jq66";
sha256_i686 = "1y1zymydd1azv14r0hh12zjr8k64wa8wfdbz8sn1css84aqwl87d";
sha256_x86_64 = "0v9ilahx03isxdzh4ryv1bqmmzppckickz22hvgzs785769cm67j";
jceName = "jce_policy-8.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
}

View File

@@ -1,14 +1,13 @@
{stdenv, lib, fetchgit, dmd}:
{stdenv, lib, fetchurl, dmd}:
stdenv.mkDerivation {
name = "rdmd-20141113";
name = "rdmd-2.067.0";
buildInputs = [ dmd ];
src = fetchgit {
url = git://github.com/D-Programming-Language/tools.git;
rev = "f496c68ee4e776597bd7382aa47f05da698a69e";
sha256 = "0vbhmz8nbh8ayml4vad0239kfg982vqfyqqrjv6wrlnjah97n5ms";
src = fetchurl {
url = "https://github.com/D-Programming-Language/tools/archive/v2.067.0.tar.gz";
sha256 = "2702ecda0427c675084d9b688449bc8c8392fd73e30257d79e2488640d5a9982";
};
buildPhase = ''

View File

@@ -1,17 +0,0 @@
{ stdenv, callPackage }:
callPackage ./makeRustcDerivation.nix {
shortVersion = "1.0.0-alpha";
isRelease = true;
srcSha = "0p62gx3s087n09d2v3l9iyfx5cmsa1x91n4ysixcb7w3drr8a8is";
snapshotHashLinux686 = "d8b73fc9aa3ad72ce1408a41e35d78dba10eb4d4";
snapshotHashLinux64 = "697880d3640e981bbbf23284363e8e9a158b588d";
snapshotHashDarwin686 = "a73b1fc03e8cac747aab0aa186292bb4332a7a98";
snapshotHashDarwin64 = "e4ae2670ea4ba5c2e5b4245409c9cab45c9eeb5b";
snapshotDate = "2015-01-07";
snapshotRev = "9e4e524";
patches = [
./patches/hardcode_paths.alpha.patch
./patches/local_stage0.alpha.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
}

View File

@@ -1,16 +0,0 @@
{ stdenv, callPackage }:
callPackage ./makeRustcDerivation.nix {
shortVersion = "1.0.0-alpha.2";
isRelease = true;
srcSha = "1j2n34w0hdz7jrl100c9q9hl80l8nsc3xwnzizv9sh4gx52vjcd9";
snapshotHashLinux686 = "191ed5ec4f17e32d36abeade55a1c6085e51245c";
snapshotHashLinux64 = "acec86045632f4f3f085c072ba696f889906dffe";
snapshotHashDarwin686 = "9d9e622584bfa318f32bcb5b9ce6a365febff595";
snapshotHashDarwin64 = "e96c1e9860b186507cc75c186d1b96d44df12292";
snapshotDate = "2015-02-17";
snapshotRev = "f1bb6c2";
patches = [
./patches/alpha2.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
}

View File

@@ -0,0 +1,16 @@
{ stdenv, callPackage }:
callPackage ./makeRustcDerivation.nix {
shortVersion = "1.0.0-beta.2";
isRelease = true;
srcSha = "0wcpp6fg7cc75bj5b6dcz5dhgps6xw09n75qiapmd12qxjzj17wn";
snapshotHashLinux686 = "1ef82402ed16f5a6d2f87a9a62eaa83170e249ec";
snapshotHashLinux64 = "ef2154372e97a3cb687897d027fd51c8f2c5f349";
snapshotHashDarwin686 = "0310b1a970f2da7e61770fd14dbbbdca3b518234";
snapshotHashDarwin64 = "5f35d9c920b8083a7420ef8cf5b00d5ef3085dfa";
snapshotDate = "2015-03-27";
snapshotRev = "5520801";
patches = [
./patches/beta.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
configureFlags = [ "--release-channel=beta" ];
}

View File

@@ -2,15 +2,15 @@
callPackage ./makeRustcDerivation.nix {
shortVersion = "1.0.0-dev";
isRelease = false;
# src rev for master on 2015/03/09
srcRev = "91bdf23f504f79ed59617cde3dfebd3d5e39a476";
srcSha = "1s1v1q630d88idz331n4m0c3ninzipmvfzmkvdaqqm28wsn69xx7";
snapshotHashLinux686 = "50a47ef247610fb089d2c4f24e4b641eb0ba4afb";
snapshotHashLinux64 = "ccb20709b3c984f960ddde996451be8ce2268d7c";
snapshotHashDarwin686 = "ad263bdeadcf9bf1889426e0c1391a7cf277364e";
snapshotHashDarwin64 = "01c8275828042264206b7acd8e86dc719a2f27aa";
snapshotDate = "2015-03-07";
snapshotRev = "270a677";
# src rev for master on 2015/04/13
srcRev = "0cf99c3e06e84d20d68da649c888d63c72f33971";
srcSha = "0brnzsbxmidjnmvi36sz582k3kw6wk813y2y837zpmyxg9fjah0l";
snapshotHashLinux686 = "1ef82402ed16f5a6d2f87a9a62eaa83170e249ec";
snapshotHashLinux64 = "ef2154372e97a3cb687897d027fd51c8f2c5f349";
snapshotHashDarwin686 = "0310b1a970f2da7e61770fd14dbbbdca3b518234";
snapshotHashDarwin64 = "5f35d9c920b8083a7420ef8cf5b00d5ef3085dfa";
snapshotDate = "2015-03-27";
snapshotRev = "5520801";
patches = [
./patches/head.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;

View File

@@ -6,6 +6,7 @@
, snapshotHashLinux686, snapshotHashLinux64
, snapshotHashDarwin686, snapshotHashDarwin64
, snapshotDate, snapshotRev
, configureFlags ? []
, patches
}:
@@ -113,7 +114,8 @@ stdenv.mkDerivation {
'' else "");
};
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
configureFlags = configureFlags
++ [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
inherit patches;

View File

@@ -1,5 +1,5 @@
diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
index b506aff..b4b346b 100755
index ca59b1c..65ee7bf 100755
--- a/src/etc/local_stage0.sh
+++ b/src/etc/local_stage0.sh
@@ -50,11 +50,6 @@ if [ -z $TARG_DIR ]; then
@@ -15,11 +15,11 @@ index b506aff..b4b346b 100755
# do not fail if one of the above fails, as all we need is a working rustc!
exit 0
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index c45ee25..0f91672 100644
index ed44bf8..2b84627 100644
--- a/src/librustc_back/archive.rs
+++ b/src/librustc_back/archive.rs
@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
paths: &[&Path]) -> ProcessOutput {
@@ -57,7 +57,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
paths: &[&Path]) -> Output {
let ar = match *maybe_ar_prog {
Some(ref ar) => &ar[..],
- None => "ar"
@@ -28,10 +28,10 @@ index c45ee25..0f91672 100644
let mut cmd = Command::new(ar);
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
index ef849bb..e090b99 100644
index 3087a8e..578448f 100644
--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -350,8 +350,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
@@ -352,7 +352,7 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
pub fn get_cc_prog(sess: &Session) -> String {
match sess.opts.cg.linker {
@@ -41,15 +41,3 @@ index ef849bb..e090b99 100644
+ None => "@ccPath@".to_string(),
}
}
diff --git a/src/test/run-pass/issue-20797.rs b/src/test/run-pass/issue-20797.rs
index 049e08d..30b9d2a 100644
--- a/src/test/run-pass/issue-20797.rs
+++ b/src/test/run-pass/issue-20797.rs
@@ -90,5 +90,5 @@ impl<S: Strategy> Iterator for Subpaths<S> {
}
fn main() {
- let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/home")).unwrap();
+ let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/tmp")).unwrap();
}

View File

@@ -1,28 +0,0 @@
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index 7ea192b..cd5d01b 100644
--- a/src/librustc_back/archive.rs
+++ b/src/librustc_back/archive.rs
@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
paths: &[&Path]) -> ProcessOutput {
let ar = match *maybe_ar_prog {
Some(ref ar) => &ar[],
- None => "ar"
+ None => "@arPath@"
};
let mut cmd = Command::new(ar);
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
index dacf620..815ce60 100644
--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -348,8 +348,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
pub fn get_cc_prog(sess: &Session) -> String {
match sess.opts.cg.linker {
- Some(ref linker) => return linker.to_string(),
- None => sess.target.target.options.linker.clone(),
+ Some(ref linker) => linker.to_string(),
+ None => "@ccPath@".to_string(),
}
}

View File

@@ -41,15 +41,3 @@ index 3087a8e..578448f 100644
+ None => "@ccPath@".to_string(),
}
}
diff --git a/src/test/run-pass/issue-20797.rs b/src/test/run-pass/issue-20797.rs
index 049e08d..30b9d2a 100644
--- a/src/test/run-pass/issue-20797.rs
+++ b/src/test/run-pass/issue-20797.rs
@@ -90,5 +90,5 @@ impl<S: Strategy> Iterator for Subpaths<S> {
}
fn main() {
- let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/home")).unwrap();
+ let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/tmp")).unwrap();
}

View File

@@ -1,16 +0,0 @@
diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
index e78f231..6b6773b 100755
--- a/src/etc/local_stage0.sh
+++ b/src/etc/local_stage0.sh
@@ -53,11 +53,6 @@
fi
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
# do not fail if one of the above fails, as all we need is a working rustc!
exit 0

View File

@@ -15,12 +15,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildFlags = "cito";
buildPhase = ''
make -j$NIX_BUILD_CORES -C src/reification
make -j$NIX_BUILD_CORES -C src
'';
installPhase = ''
COQLIB=$out/lib/coq/${coq.coq-version}/
mkdir -p $COQLIB/user-contrib/Bedrock
cp -pR src $COQLIB/user-contrib/Bedrock
cp -pR src/* $COQLIB/user-contrib/Bedrock
'';
meta = with stdenv.lib; {

View File

@@ -1,4 +1,4 @@
{ go }:
{ go, govers, lib }:
{ name, buildInputs ? []
@@ -9,7 +9,7 @@
go.stdenv.mkDerivation ( args // {
name = "go${go.meta.branch}-${name}";
buildInputs = [ go ] ++ buildInputs;
buildInputs = [ go ] ++ buildInputs ++ (lib.optional (args ? renameImports) govers) ;
configurePhase = args.configurePhase or ''
runHook preConfigure
@@ -23,9 +23,16 @@ go.stdenv.mkDerivation ( args // {
runHook postConfigure
'';
renameImports = lib.optionalString (args ? renameImports)
(lib.concatMapStringsSep "\n"
(cmdargs: "govers -m ${cmdargs}")
args.renameImports);
buildPhase = args.buildPhase or ''
runHook preBuild
runHook renameImports
if [ -n "$subPackages" ] ; then
for p in $subPackages ; do
go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p
@@ -83,6 +90,7 @@ go.stdenv.mkDerivation ( args // {
meta = meta // {
# add an extra maintainer to every package
maintainers = (meta.maintainers or []) ++ [ go.stdenv.lib.maintainers.emery ];
maintainers = (meta.maintainers or []) ++
[ lib.maintainers.emery lib.maintainers.lethalman ];
};
})

View File

@@ -0,0 +1,19 @@
diff -ru3 brainfuck-0.1-old/Language/Brainfuck.hs brainfuck-0.1/Language/Brainfuck.hs
--- brainfuck-0.1-old/Language/Brainfuck.hs 2015-04-17 21:17:34.568721144 +0300
+++ brainfuck-0.1/Language/Brainfuck.hs 2015-04-17 21:19:17.065872395 +0300
@@ -19,6 +19,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -}
+{-# LANGUAGE FlexibleContexts #-}
+
module Language.Brainfuck where
import Data.Array.IO
@@ -287,4 +289,4 @@
halt = if debug
then putStrLn "Machine Halted.\n"
- else putStrLn "\n"
\ No newline at end of file
+ else putStrLn "\n"

View File

@@ -7,8 +7,8 @@ self: super: {
# Some packages need a non-core version of Cabal.
Cabal_1_18_1_6 = dontCheck super.Cabal_1_18_1_6;
Cabal_1_20_0_3 = dontCheck super.Cabal_1_20_0_3;
Cabal_1_22_2_0 = dontCheck super.Cabal_1_22_2_0;
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_2_0; });
Cabal_1_22_3_0 = dontCheck super.Cabal_1_22_3_0;
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_3_0; });
# Break infinite recursions.
digest = super.digest.override { inherit (pkgs) zlib; };
@@ -22,6 +22,9 @@ self: super: {
statistics = dontCheck super.statistics;
text = dontCheck super.text;
# https://github.com/bartavelle/hruby/issues/10
hruby = addExtraLibrary super.hruby pkgs.ruby_2_1;
# Doesn't compile with lua 5.2.
hslua = super.hslua.override { lua = pkgs.lua5_1; };
@@ -118,6 +121,7 @@ self: super: {
# The Haddock phase fails for one reason or another.
attoparsec-conduit = dontHaddock super.attoparsec-conduit;
blaze-builder-conduit = dontHaddock super.blaze-builder-conduit;
BNFC-meta = dontHaddock super.BNFC-meta;
bytestring-progress = dontHaddock super.bytestring-progress;
comonads-fd = dontHaddock super.comonads-fd;
comonad-transformers = dontHaddock super.comonad-transformers;
@@ -211,6 +215,15 @@ self: super: {
# https://github.com/liamoc/wizards/issues/5
wizards = doJailbreak super.wizards;
# https://github.com/tibbe/ekg-core/commit/c986d9750d026a0c049cf6e6610d69fc1f23121f, not yet in hackage
ekg-core = doJailbreak super.ekg-core;
# https://github.com/tibbe/ekg/commit/95018646f48f60d9ccf6209cc86747e0f132e737, not yet in hackage
ekg = doJailbreak super.ekg;
# https://github.com/diagrams/diagrams-rasterific/commit/2758e5760c64f8ca2528628bd11de502f354ab15, not yet in hackage
diagrams-rasterific = doJailbreak super.diagrams-rasterific;
# https://github.com/NixOS/cabal2nix/issues/136
glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib];
gtk3 = super.gtk3.override { inherit (pkgs) gtk3; };
@@ -280,7 +293,6 @@ self: super: {
amqp-conduit = dontCheck super.amqp-conduit;
concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
dbus = dontCheck super.dbus; # http://hydra.cryp.to/build/498404/log/raw
directory_1_2_2_0 = dontCheck super.directory_1_2_2_0; # https://github.com/haskell/directory/issues/24
hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw
hasql = dontCheck super.hasql; # http://hydra.cryp.to/build/502489/nixlog/4/raw
hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
@@ -298,6 +310,7 @@ self: super: {
stackage = dontCheck super.stackage; # http://hydra.cryp.to/build/501867/nixlog/1/raw
warp = dontCheck super.warp; # http://hydra.cryp.to/build/501073/nixlog/5/raw
wreq = dontCheck super.wreq; # http://hydra.cryp.to/build/501895/nixlog/1/raw
wreq-sb = dontCheck super.wreq-sb; # http://hydra.cryp.to/build/783948/log/raw
# https://github.com/NICTA/digit/issues/3
digit = dontCheck super.digit;
@@ -418,6 +431,7 @@ self: super: {
Rlang-QQ = dontCheck super.Rlang-QQ;
sai-shape-syb = dontCheck super.sai-shape-syb;
scp-streams = dontCheck super.scp-streams;
sdl2-ttf = dontCheck super.sdl2-ttf; # as of version 0.2.1, the test suite requires user intervention
separated = dontCheck super.separated;
shadowsocks = dontCheck super.shadowsocks;
shake-language-c = dontCheck super.shake-language-c;
@@ -532,6 +546,18 @@ self: super: {
# Upstream notified by e-mail.
MonadCompose = markBrokenVersion "0.2.0.0" super.MonadCompose;
# no haddock since this is an umbrella package.
cloud-haskell = dontHaddock super.cloud-haskell;
# Disable tests which couldn't be built.
distributed-process-async = dontCheck super.distributed-process-async;
# Disable tests which couldn't be built.
distributed-process-client-server = dontCheck super.distributed-process-client-server;
# Disable tests which couldn't be built.
distributed-process-extras = dontCheck super.distributed-process-extras;
# Make distributed-process-platform compile until next version
distributed-process-platform = overrideCabal super.distributed-process-platform (drv: {
patchPhase = "mv Setup.hs Setup.lhs";
@@ -539,6 +565,15 @@ self: super: {
doHaddock = false;
});
# Disable tests due to a failure (Sequential Shutdown Ordering test.)
distributed-process-supervisor = dontCheck super.distributed-process-supervisor;
# Disable network test and errorneous haddock.
distributed-process-tests = overrideCabal super.distributed-process-tests (drv: {
doCheck = false;
doHaddock = false;
});
# This packages compiles 4+ hours on a fast machine. That's just unreasonable.
CHXHtml = dontDistribute super.CHXHtml;
@@ -722,36 +757,32 @@ self: super: {
# Tries to run GUI in tests
leksah = dontCheck super.leksah;
} // {
# Patch to consider NIX_GHC just like xmonad does
dyre = appendPatch super.dyre ./dyre-nix.patch;
# Not on Hackage.
cabal2nix = self.mkDerivation {
pname = "cabal2nix";
version = "20150318";
src = pkgs.fetchgit {
url = "http://github.com/NixOS/cabal2nix.git";
rev = "b56cc6de2c4900fb0d1dc3617591a2f536aca60d";
sha256 = "0pza9j3x1mfjqrzcqq6ndg0jiqx85mg0sw8n9fmq18fk5g4hzhis";
deepClone = true;
};
isLibrary = false;
isExecutable = true;
buildDepends = with self; [
aeson base bytestring Cabal containers deepseq-generics directory
filepath hackage-db lens monad-par monad-par-extras mtl pretty
prettyclass process regex-posix SHA split transformers utf8-string cartel
];
testDepends = with self; [
aeson base bytestring Cabal containers deepseq deepseq-generics
directory doctest filepath hackage-db hspec lens monad-par
monad-par-extras mtl pretty prettyclass process QuickCheck
regex-posix SHA split transformers utf8-string
];
buildTools = [ pkgs.gitMinimal ];
preConfigure = "runhaskell $setupCompileFlags generate-cabal-file >cabal2nix.cabal";
homepage = "http://github.com/NixOS/cabal2nix";
description = "Convert Cabal files into Nix build instructions";
license = pkgs.stdenv.lib.licenses.bsd3;
};
# Fix problems with GHC >=7.8 (in compatible way)
mueval = let pkg = appendPatch super.mueval (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/gwern/mueval/pull/4.patch";
sha256 = "1l0jn2lbzbhx9ifbpb5g617qa0fc8fwa6kyr87pjqfxpqminsgp5";
});
# Nix-specific workaround
in appendPatch pkg ./mueval-nix.patch;
# Test suite won't compile against tasty-hunit 0.9.x.
zlib_0_6_1_0 = dontCheck super.zlib_0_6_1_0;
# Jailbreaking breaks the build.
QuickCheck_2_8_1 = dontJailbreak super.QuickCheck_2_8_1;
# Override the obsolete version from Hackage with our more up-to-date copy.
cabal2nix = pkgs.cabal2nix;
# https://github.com/urs-of-the-backwoods/HGamer3D/issues/7
HGamer3D-Bullet-Binding = dontDistribute super.HGamer3D-Bullet-Binding;
HGamer3D-Common = dontDistribute super.HGamer3D-Common;
HGamer3D-Data = markBroken super.HGamer3D-Data;
# https://github.com/ndmitchell/shake/issues/206
shake = overrideCabal super.shake (drv: { doCheck = !pkgs.stdenv.isDarwin; });
}

View File

@@ -49,14 +49,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -81,4 +79,7 @@ self: super: {
stm = addBuildTool super.stm self.Cabal_1_18_1_6;
split = super.split_0_1_4_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View File

@@ -42,14 +42,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -63,4 +61,7 @@ self: super: {
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View File

@@ -33,116 +33,9 @@ self: super: {
unix = null;
xhtml = null;
# should be fixed in versions > 0.6
pandoc-citeproc = overrideCabal super.pandoc-citeproc (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/4e4f9c2.patch";
sha256 = "18b08k56g5q4zz6jxczkrddblyn52vmd0811n1icfdpzqhgykn4p";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/34cc147.patch";
sha256 = "09vrdvg5w14qckn154zlxvk6i2ikmmhpsl9mxycxkql3rl4dqam3";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/8242c70.patch";
sha256 = "1lqpwxzz2www81w4mym75z36bsavqfj67hyvzn20ffvxq42yw7ry";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/e59f88d.patch";
sha256 = "05699hj3qa2vrfdnikj7rzmc2ajrkd7p8yd4cjlhmqq9asq90xzb";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/ae6ca86.patch";
sha256 = "19cag39k5s7iqagpvss9c2ny5g0lwnrawaqcc0labihc1a181k8l";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/f5a9fc7.patch";
sha256 = "08lsinh3mkjpz3cqj5i1vcnzkyl07jp38qcjcwcw7m2b7gsjbpvm";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/780a554.patch";
sha256 = "1kfn0mcp3vp32c9w8gyz0p0jv0xn90as9mxm8a2lmjng52jlzvy4";
})
];
});
# should be fixed in versions > 1.13.2
pandoc = overrideCabal super.pandoc (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/693f9ab.patch";
sha256 = "1niyrigs47ia1bhk6yrnzf0sq7hz5b7xisc8ph42wkp5sl8x9h1y";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/9c68017.patch";
sha256 = "0zccb6l5vmfyq7p8ii88fgggfhrff32hj43f5pp3w88l479f1qlh";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/dbe1b38.patch";
sha256 = "0d80692liyjx2y56w07k23adjcxb57w6vzcylmc4cfswzy8agrgy";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/5ea3856.patch";
sha256 = "1z15lc0ix9fv278v1xmfw3a6gl85ydahgs8kz61sfvh4jdiacabw";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/c80c9ac.patch";
sha256 = "0fk3j53zx0x88jmh0ism0aghs2w5qf87zcp9cwbfcgg5izh3b344";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/8b9bded.patch";
sha256 = "0f1dh1jmhq55mlv4dawvx3ck330y82qmys06bfkqcpl0jsyd9x1a";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/e4c7894.patch";
sha256 = "1rfdaq6swrl3m9bmbf6yhqq57kv3l3f4927xya3zq29dpvkmmi4z";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/2a6f68f.patch";
sha256 = "0sbh2x9jqvis9ln8r2dr6ihkjdn480mjskm4ny91870vg852228c";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/4e3281c.patch";
sha256 = "0zafhxxijli2mf1h0j7shp7kd7fxqbvlswm1m8ikax3aknvjxymi";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/cd5b1fe.patch";
sha256 = "0nxq7c0gpdiycgdrcj3llbfwxdni6k7hqqniwsbn2ha3h03i8hg1";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/ed7606d.patch";
sha256 = "0gchm46ziyj7vw6ibn3kk49cjzsc78z2lm8k7892g79q2livlc1f";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/b748833.patch";
sha256 = "03gj4qn9c5zyqrxyrw4xh21xlvbx9rbvw6gh8msgf5xk53ibs68b";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/10d5398.patch";
sha256 = "1nhp5b07vywk917bfap6pzahhqnwvvlbbfg5336a2nvb0c8iq6ih";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/f18ceb1.patch";
sha256 = "1vxsy5fn4nscvim9wcx1n78q7yh05x0z8p812csi3v3z79lbabhq";
})
];
# jailbreak-cabal omits part of the file
# https://github.com/peti/jailbreak-cabal/issues/9
postPatch = ''
sed -i '420i\ \ \ \ \ \ \ \ \ \ \ \ buildable: False' pandoc.cabal
'';
});
# see: https://github.com/jaspervdj/hakyll/issues/343
hakyll = overrideCabal super.hakyll (drv: {
buildDepends = drv.buildDepends ++ [ self.time-locale-compat ];
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jaspervdj/hakyll/pull/344.patch";
sha256 = "130c0icw3cj209p219siaq0n8avmm0fpmph0iyjgx67w62sffrli";
})
];
# ekmett/linear#74
linear = overrideCabal super.linear (drv: {
prePatch = "sed -i 's/-Werror//g' linear.cabal";
});
# Cabal_1_22_1_1 requires filepath >=1 && <1.4
@@ -157,18 +50,15 @@ self: super: {
# https://ghc.haskell.org/trac/ghc/ticket/9921
mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; });
Extra = appendPatch super.Extra (pkgs.fetchpatch {
url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch";
sha256 = "193i1xmq6z0jalwmq0mhqk1khz6zz0i1hs6lgfd7ybd6qyaqnf5f";
});
# haddock: No input file(s).
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
@@ -185,6 +75,13 @@ self: super: {
esqueleto = doJailbreak super.esqueleto;
pointfree = doJailbreak super.pointfree;
# acid-state/safecopy#25 acid-state/safecopy#26
safecopy = dontCheck (super.safecopy);
# test suite broken, some instance is declared twice.
# https://bitbucket.org/FlorianHartwig/attobencode/issue/1
AttoBencode = dontCheck super.AttoBencode;
# bos/attoparsec#92
attoparsec = dontCheck super.attoparsec;
@@ -204,19 +101,9 @@ self: super: {
# Test suite fails in "/tokens_bytestring_unicode.g.bin".
alex = dontCheck super.alex;
# TODO: should eventually update the versions in hackage-packages.nix
haddock-library = overrideCabal super.haddock-library (drv: {
version = "1.2.0";
sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56";
});
haddock-api = overrideCabal super.haddock-api (drv: {
version = "2.16.0";
sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj";
});
haddock = overrideCabal super.haddock (drv: {
version = "2.16.0";
sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa";
});
# https://github.com/haskell/haddock/issues/378
haddock-library_1_2_0 = dontCheck super.haddock-library_1_2_0;
haddock-library = self.haddock-library_1_2_0;
# Upstream was notified about the over-specified constraint on 'base'
# but refused to do anything about it because he "doesn't want to
@@ -228,31 +115,29 @@ self: super: {
sha256 = "1lwwvxyhxcmppdapbgpfhwi7xc2z78qir03xjrpzab79p2qyq7br";
});
wl-pprint = overrideCabal super.wl-pprint (drv: {
postPatch = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
jailbreak = true;
});
# https://github.com/kazu-yamamoto/unix-time/issues/30
unix-time = dontCheck super.unix-time;
# Until the changes have been pushed to Hackage
mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
url = "https://github.com/snoyberg/mono-traversable/pull/68.patch";
sha256 = "11hqf6hi3sc34wl0fn4rpigdf7wfklcjv6jwp8c3129yphg8687h";
});
conduit-combinators = appendPatch super.conduit-combinators (pkgs.fetchpatch {
url = "https://github.com/fpco/conduit-combinators/pull/16.patch";
sha256 = "0jpwpi3shdn5rms3lcr4srajbhhfp5dbwy7pl23c9kmlil3d9mk3";
});
annotated-wl-pprint = appendPatch super.annotated-wl-pprint (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/david-christiansen/annotated-wl-pprint/pull/2.patch";
sha256 = "0n0fbq3vd7b9kfmhg089q0dy40vawq4q88il3zc9ybivhi62nwv4";
});
ghc-events = appendPatch super.ghc-events (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/haskell/ghc-events/pull/8.patch";
sha256 = "1k881jrvzfvs761jgfhf5nsbmbc33c9333l4s0f5088p46ff2n1l";
});
dependent-sum-template = appendPatch super.dependent-sum-template (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/mokus0/dependent-sum-template/pull/4.patch";
sha256 = "1yb1ny4ckl4d3sf4xnvpbsa9rw2dficzgipijs5s3729dnsc3rb0";
});
mueval = appendPatch super.mueval (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/gwern/mueval/pull/10.patch";
sha256 = "1gs8p89d1qsrd1qycbhf6kv4qw0sbb8m6dy106dqkmdzcjzcyq74";
});
present = appendPatch super.present (pkgs.fetchpatch {
url = "https://github.com/chrisdone/present/commit/6a61f099bf01e2127d0c68f1abe438cd3eaa15f7.patch";
sha256 = "1vn3xm38v2f4lzyzkadvq322f3s2yf8c88v56wpdpzfxmvlzaqr8";
});
# Already applied in darcs repository.
gnuplot = appendPatch super.gnuplot ./gnuplot-fix-new-time.patch;
ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation {
pname = "ghcjs-prim";
@@ -265,4 +150,183 @@ self: super: {
buildDepends = [ primitive ];
license = pkgs.stdenv.lib.licenses.bsd3;
}) {};
# diagrams/monoid-extras#19
monoid-extras = overrideCabal super.monoid-extras (drv: {
prePatch = "sed -i 's|4\.8|4.9|' monoid-extras.cabal";
});
# diagrams/statestack#5
statestack = overrideCabal super.statestack (drv: {
prePatch = "sed -i 's|4\.8|4.9|' statestack.cabal";
});
# diagrams/diagrams-core#83
diagrams-core = overrideCabal super.diagrams-core (drv: {
prePatch = "sed -i 's|4\.8|4.9|' diagrams-core.cabal";
});
# https://github.com/mokus0/misfortune/pull/1
misfortune = appendPatch super.misfortune (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/mokus0/misfortune/pull/1.patch";
sha256 = "15frwdallm3i6k7mil26bbjd4wl6k9h20ixf3cmyris3q3jhlcfh";
});
timezone-series = doJailbreak super.timezone-series;
timezone-olson = doJailbreak super.timezone-olson;
libmpd = dontCheck super.libmpd;
xmonad-extras = overrideCabal super.xmonad-extras (drv: {
postPatch = ''
sed -i -e "s,<\*,<¤,g" XMonad/Actions/Volume.hs
'';
});
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# https://github.com/haskell-infra/hackage-trustees/issues/24
brainfuck = appendPatch super.brainfuck ./brainfuck-fix-ghc710.patch;
unlambda = appendPatch super.unlambda ./unlambda-fix-ghc710.patch;
# Updated Cabal file from Hackage tightened version bounds for some reason.
edit-distance = let pkg = appendPatch super.edit-distance ./edit-distance-fix-boundaries.patch;
in appendPatch pkg (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/batterseapower/edit-distance/pull/3.patch";
sha256 = "0v47pa5ymh9f23bqpkdv3k7vnb6h3ssccdmjdylhs2ybarqzrcwh";
});
# https://github.com/BNFC/bnfc/issues/137
BNFC = markBrokenVersion "2.7.1" super.BNFC;
cubical = dontDistribute super.cubical;
# contacted maintainer by e-mail
HList = markBrokenVersion "0.3.4.1" super.HList;
AspectAG = dontDistribute super.AspectAG;
Rlang-QQ = dontDistribute super.Rlang-QQ;
SyntaxMacros = dontDistribute super.SyntaxMacros;
expand = dontDistribute super.expand;
functional-arrow = dontDistribute super.functional-arrow;
guess-combinator = dontDistribute super.guess-combinator;
ihaskell-rlangqq = dontDistribute super.ihaskell-rlangqq;
ipopt-hs = dontDistribute super.ipopt-hs;
murder = dontDistribute super.murder;
netcore = dontDistribute super.netcore;
nettle-frp = dontDistribute super.nettle-frp;
nettle-netkit = dontDistribute super.nettle-netkit;
nettle-openflow = dontDistribute super.nettle-openflow;
oberon0 = dontDistribute super.oberon0;
poly-arity = dontDistribute super.poly-arity;
respond = dontDistribute super.respond;
semi-iso = dontDistribute super.semi-iso;
syntax = dontDistribute super.syntax;
syntax-attoparsec = dontDistribute super.syntax-attoparsec;
syntax-example = dontDistribute super.syntax-example;
syntax-example-json = dontDistribute super.syntax-example-json;
syntax-pretty = dontDistribute super.syntax-pretty;
syntax-printer = dontDistribute super.syntax-printer;
tuple-hlist = dontDistribute super.tuple-hlist;
tuple-morph = dontDistribute super.tuple-morph;
# contacted maintainer by e-mail
cmdlib = markBroken super.cmdlib;
darcs-fastconvert = dontDistribute super.darcs-fastconvert;
ivory-backend-c = dontDistribute super.ivory-backend-c;
ivory-bitdata = dontDistribute super.ivory-bitdata;
ivory-examples = dontDistribute super.ivory-examples;
ivory-hw = dontDistribute super.ivory-hw;
laborantin-hs = dontDistribute super.laborantin-hs;
# https://github.com/cartazio/arithmoi/issues/1
arithmoi = markBroken super.arithmoi;
NTRU = dontDistribute super.NTRU;
arith-encode = dontDistribute super.arith-encode;
barchart = dontDistribute super.barchart;
constructible = dontDistribute super.constructible;
cyclotomic = dontDistribute super.cyclotomic;
diagrams = dontDistribute super.diagrams;
diagrams-contrib = dontDistribute super.diagrams-contrib;
enumeration = dontDistribute super.enumeration;
ghci-diagrams = dontDistribute super.ghci-diagrams;
ihaskell-diagrams = dontDistribute super.ihaskell-diagrams;
nimber = dontDistribute super.nimber;
pell = dontDistribute super.pell;
quadratic-irrational = dontDistribute super.quadratic-irrational;
# https://github.com/kazu-yamamoto/ghc-mod/issues/467
ghc-mod = markBroken super.ghc-mod;
HaRe = dontDistribute super.HaRe;
ghc-imported-from = dontDistribute super.ghc-imported-from;
git-vogue = dontDistribute super.git-vogue;
haskell-token-utils = dontDistribute super.haskell-token-utils;
hbb = dontDistribute super.hbb;
hsdev = dontDistribute super.hsdev;
# http://hub.darcs.net/ivanm/graphviz/issue/5
graphviz = markBroken super.graphviz;
Graphalyze = dontDistribute super.Graphalyze;
HLearn-approximation = dontDistribute super.HLearn-approximation;
HLearn-classification = dontDistribute super.HLearn-classification;
HLearn-distributions = dontDistribute super.HLearn-distributions;
SourceGraph = dontDistribute super.SourceGraph;
Zora = dontDistribute super.Zora;
ampersand = dontDistribute super.ampersand;
caffegraph = dontDistribute super.caffegraph;
dot2graphml = dontDistribute super.dot2graphml;
dvda = dontDistribute super.dvda;
erd = dontDistribute super.erd;
filediff = dontDistribute super.filediff;
fsmActions = dontDistribute super.fsmActions;
gbu = dontDistribute super.gbu;
geni-gui = dontDistribute super.geni-gui;
ghc-vis = dontDistribute super.ghc-vis;
grammar-combinators = dontDistribute super.grammar-combinators;
llvm-analysis = dontDistribute super.llvm-analysis;
llvm-base-types = dontDistribute super.llvm-base-types;
llvm-data-interop = dontDistribute super.llvm-data-interop;
llvm-tools = dontDistribute super.llvm-tools;
marxup = dontDistribute super.marxup;
mathgenealogy = dontDistribute super.mathgenealogy;
optimusprime = dontDistribute super.optimusprime;
phybin = dontDistribute super.phybin;
prolog-graph = dontDistribute super.prolog-graph;
prolog-graph-lib = dontDistribute super.prolog-graph-lib;
teams = dontDistribute super.teams;
vacuum-graphviz = dontDistribute super.vacuum-graphviz;
vampire = dontDistribute super.vampire;
visual-graphrewrite = dontDistribute super.visual-graphrewrite;
xdot = dontDistribute super.xdot;
# https://github.com/lymar/hastache/issues/47
hastache = dontCheck super.hastache;
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# https://github.com/bos/bloomfilter/issues/11
bloomfilter = dontHaddock (appendConfigureFlag super.bloomfilter "--ghc-option=-XFlexibleContexts");
# https://github.com/ocharles/tasty-rerun/issues/5
tasty-rerun = dontHaddock (appendConfigureFlag super.tasty-rerun "--ghc-option=-XFlexibleContexts");
# Broken with GHC 7.10.x.
aeson_0_7_0_6 = markBroken super.aeson_0_7_0_6;
annotated-wl-pprint_0_5_3 = markBroken super.annotated-wl-pprint_0_5_3;
c2hs_0_20_1 = markBroken super.c2hs_0_20_1;
Cabal_1_20_0_3 = markBroken super.Cabal_1_20_0_3;
cabal-install_1_18_0_8 = markBroken super.cabal-install_1_18_0_8;
containers_0_4_2_1 = markBroken super.containers_0_4_2_1;
control-monad-free_0_5_3 = markBroken super.control-monad-free_0_5_3;
equivalence_0_2_5 = markBroken super.equivalence_0_2_5;
haddock-api_2_15_0_2 = markBroken super.haddock-api_2_15_0_2;
lens_4_7_0_1 = markBroken super.lens_4_7_0_1;
optparse-applicative_0_10_0 = markBroken super.optparse-applicative_0_10_0;
QuickCheck_1_2_0_1 = markBroken super.QuickCheck_1_2_0_1;
seqid-streams_0_1_0 = markBroken super.seqid-streams_0_1_0;
vector_0_10_9_3 = markBroken super.vector_0_10_9_3;
}

View File

@@ -39,17 +39,15 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -63,4 +61,7 @@ self: super: {
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View File

@@ -36,17 +36,15 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -66,4 +64,10 @@ self: super: {
# Choose appropriate flags for our version of 'bytestring'.
bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View File

@@ -33,23 +33,20 @@ self: super: {
time = null;
unix = null;
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# haskeline and terminfo are not core libraries for this compiler.
# These packages are core libraries in GHC 7.10.x, but not here.
haskeline = self.haskeline_0_7_2_1;
terminfo = self.terminfo_0_4_0_1;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -73,4 +70,10 @@ self: super: {
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View File

@@ -38,24 +38,22 @@ self: super: {
xhtml = null;
# mtl 2.2.x needs the latest transformers.
mtl_2_2_1 = super.mtl_2_2_1.override { transformers = self.transformers_0_4_3_0; };
mtl_2_2_1 = super.mtl.override { transformers = self.transformers_0_4_3_0; };
# Configure build for mtl 2.1.x.
# Configure mtl 2.1.x.
mtl = self.mtl_2_1_3_1;
transformers-compat = addBuildDepend (enableCabalFlag super.transformers-compat "three") self.mtl;
mtl-compat = addBuildDepend (enableCabalFlag super.mtl-compat "two-point-one") self.transformers-compat;
# haddock-api 2.16 requires ghc>=7.10
haddock-api = super.haddock-api_2_15_0_2;
# Idris requires mtl 2.2.x.
idris = overrideCabal (super.idris.overrideScope (self: super: {
mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
blaze-markup = self.blaze-markup_0_6_2_0;
# Idris needs special version of some libraries
idris = let super1 = super; in overrideCabal (super.idris.overrideScope (self: super: {
annotated-wl-pprint = self.annotated-wl-pprint_0_5_3;
blaze-html = self.blaze-html_0_7_0_3;
haskeline = self.haskeline_0_7_2_1;
blaze-markup = self.blaze-markup_0_6_2_0;
lens = self.lens_4_7_0_1;
mtl = super.mtl_2_2_1;
transformers = super.transformers_0_4_3_0;
transformers-compat = disableCabalFlag super.transformers-compat "three";
})) (drv: {
patchPhase = "find . -name '*.hs' -exec sed -i -s 's|-Werror||' {} +";
}); # warning: "Module Control.Monad.Error is deprecated"
@@ -120,4 +118,18 @@ self: super: {
# Newer versions require base > 4.7
gloss = super.gloss_1_9_2_1;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
# needs mtl-compat to build with mtl 2.1.x
cgi = addBuildDepend super.cgi self.mtl-compat;
}

View File

@@ -43,14 +43,6 @@ self: super: {
# haddock: No input file(s).
nats = dontHaddock super.nats;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
@@ -81,8 +73,12 @@ self: super: {
# Version 1.19.5 fails its test suite.
happy = dontCheck super.happy;
# Test suite hangs silently without consuming any CPU.
# https://github.com/ndmitchell/extra/issues/4
extra = dontCheck super.extra;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
}

View File

@@ -71,7 +71,7 @@ self: super: {
cat >> src/Reactive/Banana/Switch.hs <<EOF
instance Functor (AnyMoment Identity) where
fmap = liftM
instance Applicative (AnyMoment Identity) where
pure = return
(<*>) = ap
@@ -98,4 +98,5 @@ self: super: {
ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
buildDepends = [ self.base self.mtl self.text self.ghcjs-base ];
});
}

View File

@@ -0,0 +1,25 @@
--- dyre-0.8.12/Config/Dyre/Compile.hs 2015-04-13 11:00:20.794278350 +0100
+++ dyre-0.8.12-patched/Config/Dyre/Compile.hs 2015-04-13 11:07:26.938893502 +0100
@@ -10,11 +10,13 @@
import System.FilePath ( (</>) )
import System.Directory ( getCurrentDirectory, doesFileExist
, createDirectoryIfMissing )
+import System.Environment ( lookupEnv )
+import Control.Applicative ((<$>))
import Control.Exception ( bracket )
-import GHC.Paths ( ghc )
import Config.Dyre.Paths ( getPaths )
import Config.Dyre.Params ( Params(..) )
+import Data.Maybe ( fromMaybe )
-- | Return the path to the error file.
getErrorPath :: Params cfgType -> IO FilePath
@@ -47,6 +49,7 @@
errFile <- getErrorPath params
result <- bracket (openFile errFile WriteMode) hClose $ \errHandle -> do
ghcOpts <- makeFlags params configFile tempBinary cacheDir libsDir
+ ghc <- fromMaybe "ghc" <$> lookupEnv "NIX_GHC"
ghcProc <- runProcess ghc ghcOpts (Just cacheDir) Nothing
Nothing Nothing (Just errHandle)
waitForProcess ghcProc

View File

@@ -0,0 +1,30 @@
diff -ru3 edit-distance-0.2.1.2-old/edit-distance.cabal edit-distance-0.2.1.2/edit-distance.cabal
--- edit-distance-0.2.1.2-old/edit-distance.cabal 2015-04-17 22:46:50.964116064 +0300
+++ edit-distance-0.2.1.2/edit-distance.cabal 2015-04-17 22:41:31.216027373 +0300
@@ -36,7 +36,7 @@
Text.EditDistance.ArrayUtilities
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
else
Build-Depends: base < 3
@@ -54,7 +54,7 @@
else
Build-Depends: test-framework >= 0.1.1, QuickCheck >= 1.1 && < 2.0, test-framework-quickcheck
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0
else
Build-Depends: base < 3
@@ -65,7 +65,7 @@
Buildable: False
else
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0, time >= 1.0, process >= 1.0,
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, time >= 1.0, process >= 1.0,
deepseq >= 1.2, unix >= 2.3, criterion >= 0.6
else
Build-Depends: base < 3,

View File

@@ -137,10 +137,12 @@ stdenv.mkDerivation ({
prePatch = optionalString (editedCabalFile != null) ''
echo "Replace Cabal file with edited version from ${newCabalFileUrl}."
cp ${newCabalFile} ${pname}.cabal
'' + optionalString jailbreak ''
'' + prePatch;
postPatch = optionalString jailbreak ''
echo "Run jailbreak-cabal to lift version restrictions on build inputs."
${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
'' + prePatch;
'' + postPatch;
setupCompilerEnvironmentPhase = ''
runHook preSetupCompilerEnvironment

View File

@@ -0,0 +1,60 @@
diff -ru3 gnuplot-0.5.3.1-old/gnuplot.cabal gnuplot-0.5.3.1/gnuplot.cabal
--- gnuplot-0.5.3.1-old/gnuplot.cabal 2015-04-17 22:25:06.561715968 +0300
+++ gnuplot-0.5.3.1/gnuplot.cabal 2015-04-17 22:27:07.610913755 +0300
@@ -75,7 +75,7 @@
Library
Build-Depends:
- filepath >=1.1 && <1.4,
+ filepath >=1.1 && <1.5,
temporary >=1.1 && <1.3,
array >=0.1 && <0.6,
containers >=0.1 && <0.6,
@@ -83,12 +83,11 @@
data-accessor-transformers >=0.2.1 && <0.3,
data-accessor >=0.2.2 && <0.3,
transformers >=0.3 && <0.5,
- deepseq >=1.0 && <1.4
+ deepseq >=1.0 && <1.5
If flag(splitBase)
Build-Depends:
- process >=1.0,
- time >=1.1,
- old-locale >=1.0,
+ process >=1.0 && <1.3,
+ time >=1.1 && <1.6,
base >=2 && <5
Else
Build-Depends:
diff -ru3 gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Time.hs gnuplot-0.5.3.1/src/Graphics/Gnuplot/Time.hs
--- gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Time.hs 2015-04-17 22:25:06.560715975 +0300
+++ gnuplot-0.5.3.1/src/Graphics/Gnuplot/Time.hs 2015-04-17 22:27:49.872542430 +0300
@@ -1,7 +1,6 @@
module Graphics.Gnuplot.Time where
-import System.Locale (defaultTimeLocale, )
-import Data.Time.Format (FormatTime, formatTime, )
+import Data.Time.Format (FormatTime, formatTime, defaultTimeLocale, )
import Data.Tuple.HT (mapFst, )
{- |
diff -ru3 gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Value/Tuple.hs gnuplot-0.5.3.1/src/Graphics/Gnuplot/Value/Tuple.hs
--- gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Value/Tuple.hs 2015-04-17 22:25:06.560715975 +0300
+++ gnuplot-0.5.3.1/src/Graphics/Gnuplot/Value/Tuple.hs 2015-04-17 22:28:24.426238829 +0300
@@ -9,7 +9,6 @@
ColumnCount(ColumnCount),
) where
-import System.Locale (defaultTimeLocale, )
import qualified Data.Time as Time
import Data.Word (Word8, Word16, Word32, Word64, )
@@ -82,7 +81,7 @@
instance C Time.Day where
text d = text $ Time.UTCTime d 0
instance C Time.UTCTime where
- text = singleton . showString . Time.formatTime defaultTimeLocale "%s"
+ text = singleton . showString . Time.formatTime Time.defaultTimeLocale "%s"
instance (C a, C b) => C (a,b) where

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
diff -ru3 lambdabot-5.0.1.old/State/L.hs lambdabot-5.0.1/State/L.hs
--- lambdabot-5.0.1.old/State/L.hs 2015-04-15 03:26:04.818947594 +0300
+++ lambdabot-5.0.1/State/L.hs 2015-04-15 03:26:20.386099365 +0300
@@ -34,7 +34,6 @@
import Control.Monad
import Control.Monad.Cont
import Control.Monad.Identity
-import Control.Monad.Instances
import Control.Monad.Reader
import Control.Monad.ST.Safe
import Control.Monad.State
diff -ru3 lambdabot-5.0.1.old/State/Pristine.hs lambdabot-5.0.1/State/Pristine.hs
--- lambdabot-5.0.1.old/State/Pristine.hs 2015-04-15 03:26:04.818947594 +0300
+++ lambdabot-5.0.1/State/Pristine.hs 2015-04-15 03:26:20.386099365 +0300
@@ -34,7 +34,6 @@
import Control.Monad
import Control.Monad.Cont
import Control.Monad.Identity
-import Control.Monad.Instances
import Control.Monad.Reader
import Control.Monad.ST.Safe
import Control.Monad.State

View File

@@ -0,0 +1,23 @@
diff --git a/Mueval/Interpreter.hs b/Mueval/Interpreter.hs
index 29b771f..6360ee3 100644
--- a/Mueval/Interpreter.hs
+++ b/Mueval/Interpreter.hs
@@ -8,6 +8,7 @@ import Control.Monad.Writer (Any(..),runWriterT,tell)
import Data.Char (isDigit)
import Data.List (stripPrefix)
import System.Directory (copyFile, makeRelativeToCurrentDirectory, removeFile, setCurrentDirectory)
+import System.Environment (lookupEnv)
import System.Exit (exitFailure)
import System.FilePath.Posix (takeFileName)
import qualified Control.Exception.Extensible as E (evaluate,catch,SomeException(..))
@@ -47,6 +48,10 @@ interpreter Options { extensions = exts, namedExtensions = nexts,
-- Explicitly adding ImplicitPrelude because of
-- http://darcsden.com/jcpetruzza/hint/issue/1
unless (null lexts) $ set [languageExtensions := (UnknownExtension "ImplicitPrelude" : lexts)]
+ pkgs' <- liftIO $ lookupEnv "NIX_GHC_LIBDIR"
+ case pkgs' of
+ Just pkgs -> unsafeSetGhcOption ("-package-db " ++ pkgs ++ "/package.conf.d")
+ Nothing -> return ()
when trust $ do
unsafeSetGhcOption "-fpackage-trust"
forM_ (trustPkgs >>= words) $ \pkg ->

View File

@@ -0,0 +1,28 @@
diff -ru3 unlambda-0.1.3-old/Language/Unlambda.hs unlambda-0.1.3/Language/Unlambda.hs
--- unlambda-0.1.3-old/Language/Unlambda.hs 2015-04-17 21:16:32.415751612 +0300
+++ unlambda-0.1.3/Language/Unlambda.hs 2015-04-17 21:25:38.210123501 +0300
@@ -29,6 +29,7 @@
import Prelude hiding(catch)
#endif
import Control.Exception (catch, IOException)
+import Control.Monad (liftM, ap)
------------------------------------------------------------------------
-- Abstract syntax
@@ -85,6 +86,16 @@
type Cont a = (Maybe Char, Int) -> a -> IO Exp
+instance Functor Eval where
+
+ fmap = liftM
+
+instance Applicative Eval where
+
+ pure = return
+
+ (<*>) = ap
+
instance Monad Eval where
(Eval cp1) >>= f = Eval $ \dat1 cont2 ->

View File

@@ -1,273 +1,6 @@
{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
, apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql, gettext
, openssl, pkgconfig, sqlite, config, libiconv, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds }:
let
libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "5.4.39";
name = "php-${version}";
enableParallelBuilding = true;
buildInputs = ["flex" "bison" "pkgconfig"];
flags = {
# much left to do here...
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd];
};
# Extensions
ldap = {
configureFlags = ["--with-ldap=${openldap}"];
buildInputs = [openldap cyrus_sasl openssl];
};
mhash = {
configureFlags = ["--with-mhash"];
buildInputs = [libmhash];
};
curl = {
configureFlags = ["--with-curl=${curl}"];
buildInputs = [curl openssl];
};
curlWrappers = {
configureFlags = ["--with-curlwrappers"];
};
zlib = {
configureFlags = ["--with-zlib=${zlib}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = [
"--with-libxml-dir=${libxml2}"
#"--with-iconv-dir=${libiconv}"
];
buildInputs = [ libxml2 ];
};
pcntl = {
configureFlags = [ "--enable-pcntl" ];
};
readline = {
configureFlags = ["--with-readline=${readline}"];
buildInputs = [ readline ];
};
sqlite = {
configureFlags = ["--with-pdo-sqlite=${sqlite}"];
buildInputs = [ sqlite ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
mysqli = {
configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
buildInputs = [ mysql.lib ];
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [ libpng libjpeg freetype ];
};
soap = {
configureFlags = ["--enable-soap"];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl=${openssl}"];
buildInputs = ["openssl"];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
gettext = {
configureFlags = ["--with-gettext=${gettext}"];
buildInputs = [gettext];
};
intl = {
configureFlags = ["--enable-intl"];
buildInputs = [icu];
};
exif = {
configureFlags = ["--enable-exif"];
};
xsl = {
configureFlags = ["--with-xsl=${libxslt}"];
buildInputs = [libxslt];
};
mcrypt = {
configureFlags = ["--with-mcrypt=${libmcrypt}"];
buildInputs = [libmcryptOverride];
};
bz2 = {
configureFlags = ["--with-bz2=${bzip2}"];
buildInputs = [bzip2];
};
zip = {
configureFlags = ["--enable-zip"];
};
ftp = {
configureFlags = ["--enable-ftp"];
};
fpm = {
configureFlags = ["--enable-fpm"];
};
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
zts = {
configureFlags = ["--enable-maintainer-zts"];
};
calendar = {
configureFlags = ["--enable-calendar"];
};
/*
php is build within this derivation in order to add the xdebug lines to the php.ini.
So both Apache and command line php both use xdebug without having to configure anything.
Xdebug could be put in its own derivation.
*/
};
cfg = {
ldapSupport = config.php.ldap or true;
mhashSupport = config.php.mhash or true;
mysqlSupport = config.php.mysql or true;
mysqliSupport = config.php.mysqli or true;
pdo_mysqlSupport = config.php.pdo_mysql or true;
libxml2Support = config.php.libxml2 or true;
apxs2Support = config.php.apxs2 or true;
bcmathSupport = config.php.bcmath or true;
socketsSupport = config.php.sockets or true;
curlSupport = config.php.curl or true;
curlWrappersSupport = config.php.curlWrappers or false;
gettextSupport = config.php.gettext or true;
pcntlSupport = config.php.pcntl or true;
postgresqlSupport = config.php.postgresql or true;
pdo_pgsqlSupport = config.php.pdo_pgsql or true;
readlineSupport = config.php.readline or true;
sqliteSupport = config.php.sqlite or true;
soapSupport = config.php.soap or true;
zlibSupport = config.php.zlib or true;
opensslSupport = config.php.openssl or true;
mbstringSupport = config.php.mbstring or true;
gdSupport = config.php.gd or true;
intlSupport = config.php.intl or true;
exifSupport = config.php.exif or true;
xslSupport = config.php.xsl or false;
mcryptSupport = config.php.mcrypt or false;
bz2Support = config.php.bz2 or false;
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
ztsSupport = config.php.zts or false;
calendarSupport = config.php.calendar or false;
};
configurePhase = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies.
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
iniFile=$out/etc/php-recommended.ini
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
'';
installPhase = ''
unset installPhase; installPhase;
cp php.ini-production $iniFile
'';
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = "0znpd6pgri5vah4j4wwamhqc60awila43bhh699p973hir9pdsvw";
};
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = http://www.php.net/;
license = stdenv.lib.licenses.php301;
maintainers = with maintainers; [ globin ];
};
patches = [ ./fix-paths.patch ];
})
{ callPackage, apacheHttpd }:
callPackage ./makePhpDerivation.nix {
phpVersion = "5.4.39";
sha = "0znpd6pgri5vah4j4wwamhqc60awila43bhh699p973hir9pdsvw";
apacheHttpd = apacheHttpd;
}

View File

@@ -1,270 +1,6 @@
{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext
, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
, uwimap, pam, gmp }:
let
libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "5.5.21";
name = "php-${version}";
enableParallelBuilding = true;
buildInputs = ["flex" "bison" "pkgconfig"];
flags = {
# much left to do here...
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd];
};
# Extensions
imap = {
configureFlags = [
"--with-imap=${uwimap}"
"--with-imap-ssl"
];
buildInputs = [ uwimap openssl pam ];
};
ldap = {
configureFlags = ["--with-ldap=${openldap}"];
buildInputs = [openldap cyrus_sasl openssl];
};
mhash = {
configureFlags = ["--with-mhash"];
buildInputs = [libmhash];
};
curl = {
configureFlags = ["--with-curl=${curl}"];
buildInputs = [curl openssl];
};
zlib = {
configureFlags = ["--with-zlib=${zlib}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = [
"--with-libxml-dir=${libxml2}"
];
buildInputs = [ libxml2 ];
};
pcntl = {
configureFlags = [ "--enable-pcntl" ];
};
readline = {
configureFlags = ["--with-readline=${readline}"];
buildInputs = [ readline ];
};
sqlite = {
configureFlags = ["--with-pdo-sqlite=${sqlite}"];
buildInputs = [ sqlite ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
mysqli = {
configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
buildInputs = [ mysql.lib ];
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [ libpng libjpeg freetype ];
};
gmp = {
configureFlags = ["--with-gmp=${gmp}"];
buildInputs = [ gmp ];
};
soap = {
configureFlags = ["--enable-soap"];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl=${openssl}"];
buildInputs = ["openssl"];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
gettext = {
configureFlags = ["--with-gettext=${gettext}"];
buildInputs = [gettext];
};
intl = {
configureFlags = ["--enable-intl"];
buildInputs = [icu];
};
exif = {
configureFlags = ["--enable-exif"];
};
xsl = {
configureFlags = ["--with-xsl=${libxslt}"];
buildInputs = [libxslt];
};
mcrypt = {
configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
buildInputs = [libmcryptOverride];
};
bz2 = {
configureFlags = ["--with-bz2=${bzip2}"];
buildInputs = [bzip2];
};
zip = {
configureFlags = ["--enable-zip"];
};
ftp = {
configureFlags = ["--enable-ftp"];
};
fpm = {
configureFlags = ["--enable-fpm"];
};
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
calendar = {
configureFlags = ["--enable-calendar"];
};
};
cfg = {
imapSupport = config.php.imap or true;
ldapSupport = config.php.ldap or true;
mhashSupport = config.php.mhash or true;
mysqlSupport = config.php.mysql or true;
mysqliSupport = config.php.mysqli or true;
pdo_mysqlSupport = config.php.pdo_mysql or true;
libxml2Support = config.php.libxml2 or true;
apxs2Support = config.php.apxs2 or true;
bcmathSupport = config.php.bcmath or true;
socketsSupport = config.php.sockets or true;
curlSupport = config.php.curl or true;
gettextSupport = config.php.gettext or true;
pcntlSupport = config.php.pcntl or true;
postgresqlSupport = config.php.postgresql or true;
readlineSupport = config.php.readline or true;
sqliteSupport = config.php.sqlite or true;
soapSupport = config.php.soap or true;
zlibSupport = config.php.zlib or true;
opensslSupport = config.php.openssl or true;
mbstringSupport = config.php.mbstring or true;
gdSupport = config.php.gd or true;
intlSupport = config.php.intl or true;
exifSupport = config.php.exif or true;
xslSupport = config.php.xsl or false;
mcryptSupport = config.php.mcrypt or true;
bz2Support = config.php.bz2 or false;
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
gmpSupport = config.php.gmp or true;
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
calendarSupport = config.php.calendar or true;
};
configurePhase = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies.
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
iniFile=$out/etc/php-recommended.ini
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
'';
installPhase = ''
unset installPhase; installPhase;
cp php.ini-production $iniFile
'';
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = "1zl3valcak5hb4fmivpfa66arwpvi19js1d5cxq5vjn4fncl5sb2";
};
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = http://www.php.net/;
license = stdenv.lib.licenses.php301;
maintainers = with maintainers; [ globin ];
};
patches = [ ./fix-paths.patch ];
})
{ callPackage, apacheHttpd }:
callPackage ./makePhpDerivation.nix {
phpVersion = "5.5.21";
sha = "1zl3valcak5hb4fmivpfa66arwpvi19js1d5cxq5vjn4fncl5sb2";
apacheHttpd = apacheHttpd;
}

View File

@@ -1,272 +1,6 @@
{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext
, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
, uwimap, pam, gmp }:
let
libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "5.6.5";
name = "php-${version}";
enableParallelBuilding = true;
buildInputs = ["flex" "bison" "pkgconfig"];
flags = {
# much left to do here...
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd];
};
# Extensions
imap = {
configureFlags = [
"--with-imap=${uwimap}"
"--with-imap-ssl"
];
buildInputs = [ uwimap openssl pam ];
};
ldap = {
configureFlags = ["--with-ldap=${openldap}"];
buildInputs = [openldap cyrus_sasl openssl];
};
mhash = {
configureFlags = ["--with-mhash"];
buildInputs = [libmhash];
};
curl = {
configureFlags = ["--with-curl=${curl}"];
buildInputs = [curl openssl];
};
zlib = {
configureFlags = ["--with-zlib=${zlib}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = [
"--with-libxml-dir=${libxml2}"
];
buildInputs = [ libxml2 ];
};
pcntl = {
configureFlags = [ "--enable-pcntl" ];
};
readline = {
configureFlags = ["--with-readline=${readline}"];
buildInputs = [ readline ];
};
sqlite = {
configureFlags = ["--with-pdo-sqlite=${sqlite}"];
buildInputs = [ sqlite ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
mysqli = {
configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
buildInputs = [ mysql.lib ];
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [ libpng libjpeg freetype ];
};
gmp = {
configureFlags = ["--with-gmp=${gmp}"];
buildInputs = [ gmp ];
};
soap = {
configureFlags = ["--enable-soap"];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl=${openssl}"];
buildInputs = ["openssl"];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
gettext = {
configureFlags = ["--with-gettext=${gettext}"];
buildInputs = [gettext];
};
intl = {
configureFlags = ["--enable-intl"];
buildInputs = [icu];
};
exif = {
configureFlags = ["--enable-exif"];
};
xsl = {
configureFlags = ["--with-xsl=${libxslt}"];
buildInputs = [libxslt];
};
mcrypt = {
configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
buildInputs = [libmcryptOverride];
};
bz2 = {
configureFlags = ["--with-bz2=${bzip2}"];
buildInputs = [bzip2];
};
zip = {
configureFlags = ["--enable-zip"];
};
ftp = {
configureFlags = ["--enable-ftp"];
};
fpm = {
configureFlags = ["--enable-fpm"];
};
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
calendar = {
configureFlags = ["--enable-calendar"];
};
};
cfg = {
imapSupport = config.php.imap or true;
ldapSupport = config.php.ldap or true;
mhashSupport = config.php.mhash or true;
mysqlSupport = config.php.mysql or true;
mysqliSupport = config.php.mysqli or true;
pdo_mysqlSupport = config.php.pdo_mysql or true;
libxml2Support = config.php.libxml2 or true;
apxs2Support = config.php.apxs2 or true;
bcmathSupport = config.php.bcmath or true;
socketsSupport = config.php.sockets or true;
curlSupport = config.php.curl or true;
gettextSupport = config.php.gettext or true;
pcntlSupport = config.php.pcntl or true;
postgresqlSupport = config.php.postgresql or true;
readlineSupport = config.php.readline or true;
sqliteSupport = config.php.sqlite or true;
soapSupport = config.php.soap or true;
zlibSupport = config.php.zlib or true;
opensslSupport = config.php.openssl or true;
mbstringSupport = config.php.mbstring or true;
gdSupport = config.php.gd or true;
intlSupport = config.php.intl or true;
exifSupport = config.php.exif or true;
xslSupport = config.php.xsl or false;
mcryptSupport = config.php.mcrypt or true;
bz2Support = config.php.bz2 or false;
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
gmpSupport = config.php.gmp or true;
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
calendarSupport = config.php.calendar or true;
};
configurePhase = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies.
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
iniFile=$out/etc/php-recommended.ini
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
'';
installPhase = ''
unset installPhase; installPhase;
cp php.ini-production $iniFile
'';
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = "0vfhvwn84lrz9psf10sjnwljbna1r7yqxq3lmsh5qajifl3lraxd";
};
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = http://www.php.net/;
license = stdenv.lib.licenses.php301;
maintainers = with maintainers; [ globin ];
};
patches = [ ./fix-paths.patch ];
})
{ callPackage, apacheHttpd }:
callPackage ./makePhpDerivation.nix {
phpVersion = "5.6.6";
sha = "0k5vml94p5809bk2d5a8lhzf3h7f1xgs75b9qy6ikj70cndmqqh9";
apacheHttpd = apacheHttpd;
}

View File

@@ -0,0 +1,283 @@
{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
, mysql, libxml2, readline, zlib, curl, postgresql, gettext
, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
, uwimap, pam, gmp
, phpVersion, apacheHttpd, sha }:
let
libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "${phpVersion}";
name = "php-${version}";
enableParallelBuilding = true;
buildInputs = ["flex" "bison" "pkgconfig"];
flags = {
# much left to do here...
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd];
};
# Extensions
imap = {
configureFlags = [
"--with-imap=${uwimap}"
"--with-imap-ssl"
];
buildInputs = [ uwimap openssl pam ];
};
ldap = {
configureFlags = ["--with-ldap=${openldap}"];
buildInputs = [openldap cyrus_sasl openssl];
};
mhash = {
configureFlags = ["--with-mhash"];
buildInputs = [libmhash];
};
curl = {
configureFlags = ["--with-curl=${curl}"];
buildInputs = [curl openssl];
};
curlWrappers = {
configureFlags = ["--with-curlwrappers"];
};
zlib = {
configureFlags = ["--with-zlib=${zlib}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = [
"--with-libxml-dir=${libxml2}"
];
buildInputs = [ libxml2 ];
};
pcntl = {
configureFlags = [ "--enable-pcntl" ];
};
readline = {
configureFlags = ["--with-readline=${readline}"];
buildInputs = [ readline ];
};
sqlite = {
configureFlags = ["--with-pdo-sqlite=${sqlite}"];
buildInputs = [ sqlite ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
mysqli = {
configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
buildInputs = [ mysql.lib ];
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
buildInputs = [ mysql.lib ];
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [ libpng libjpeg freetype ];
};
gmp = {
configureFlags = ["--with-gmp=${gmp}"];
buildInputs = [ gmp ];
};
soap = {
configureFlags = ["--enable-soap"];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl=${openssl}"];
buildInputs = ["openssl"];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
gettext = {
configureFlags = ["--with-gettext=${gettext}"];
buildInputs = [gettext];
};
intl = {
configureFlags = ["--enable-intl"];
buildInputs = [icu];
};
exif = {
configureFlags = ["--enable-exif"];
};
xsl = {
configureFlags = ["--with-xsl=${libxslt}"];
buildInputs = [libxslt];
};
mcrypt = {
configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
buildInputs = [libmcryptOverride];
};
bz2 = {
configureFlags = ["--with-bz2=${bzip2}"];
buildInputs = [bzip2];
};
zip = {
configureFlags = ["--enable-zip"];
};
ftp = {
configureFlags = ["--enable-ftp"];
};
fpm = {
configureFlags = ["--enable-fpm"];
};
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
zts = {
configureFlags = ["--enable-maintainer-zts"];
};
calendar = {
configureFlags = ["--enable-calendar"];
};
};
cfg = {
imapSupport = config.php.imap or true;
ldapSupport = config.php.ldap or true;
mhashSupport = config.php.mhash or true;
mysqlSupport = config.php.mysql or true;
mysqliSupport = config.php.mysqli or true;
pdo_mysqlSupport = config.php.pdo_mysql or true;
libxml2Support = config.php.libxml2 or true;
apxs2Support = config.php.apxs2 or true;
bcmathSupport = config.php.bcmath or true;
socketsSupport = config.php.sockets or true;
curlSupport = config.php.curl or true;
curlWrappersSupport = config.php.curlWrappers or true;
gettextSupport = config.php.gettext or true;
pcntlSupport = config.php.pcntl or true;
postgresqlSupport = config.php.postgresql or true;
pdo_pgsqlSupport = config.php.pdo_pgsql or true;
readlineSupport = config.php.readline or true;
sqliteSupport = config.php.sqlite or true;
soapSupport = config.php.soap or true;
zlibSupport = config.php.zlib or true;
opensslSupport = config.php.openssl or true;
mbstringSupport = config.php.mbstring or true;
gdSupport = config.php.gd or true;
intlSupport = config.php.intl or true;
exifSupport = config.php.exif or true;
xslSupport = config.php.xsl or false;
mcryptSupport = config.php.mcrypt or true;
bz2Support = config.php.bz2 or false;
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
gmpSupport = config.php.gmp or true;
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
ztsSupport = config.php.zts or false;
calendarSupport = config.php.calendar or true;
};
configurePhase = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies.
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
iniFile=$out/etc/php-recommended.ini
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
'';
installPhase = ''
unset installPhase; installPhase;
cp php.ini-production $iniFile
'';
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = sha;
};
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = http://www.php.net/;
license = stdenv.lib.licenses.php301;
maintainers = with maintainers; [ globin ];
};
patches = [ ./fix-paths.patch ];
})

View File

@@ -1,4 +1,4 @@
source "http://rubygems.org"
gem "bundix",
:git => "https://github.com/cstrahan/bundix.git",
:ref => "v1.0.2"
:ref => "v1.0.3"

View File

@@ -1,7 +1,7 @@
GIT
remote: https://github.com/cstrahan/bundix.git
revision: e098b8c04087079c897aaf9542990e9fdd503bcf
ref: v1.0.2
revision: c879cf901ff8084b4c97aaacfb5ecbdb0f95cc03
ref: v1.0.3
specs:
bundix (1.0.2)
thor (~> 0.19.1)

View File

@@ -4,8 +4,8 @@
source = {
type = "git";
url = "https://github.com/cstrahan/bundix.git";
rev = "e098b8c04087079c897aaf9542990e9fdd503bcf";
sha256 = "0www8srjqlxy1pzn2b6himy5y768dni54m7rv67gj8yvx48vd803";
rev = "c879cf901ff8084b4c97aaacfb5ecbdb0f95cc03";
sha256 = "05kmdnq4qa5h8l3asv05cjpnyplnqqx6hrqybj2cjlzmdxnkkgyj";
fetchSubmodules = false;
};
dependencies = [

View File

@@ -31,7 +31,7 @@ in
{
charlock_holmes = attrs: {
buildInputs = [ which icu ];
buildInputs = [ which icu zlib ];
};
ffi = attrs: {

View File

@@ -74,16 +74,24 @@ Bundler::Fetcher.class_eval do
spec_list = gem_names.map do |name|
spec = Bundler.nix_gemspecs.detect {|spec| spec.name == name }
dependencies = spec.dependencies.
select {|dep| dep.type != :development}.
map do |dep|
deps_list << dep.name
dep
end
if spec.nil?
msg = "WARNING: Could not find gemspec for '#{name}'"
Bundler.ui.warn msg
nil
else
dependencies = spec.dependencies.
select {|dep| dep.type != :development}.
map do |dep|
deps_list << dep.name
dep
end
[spec.name, spec.version, spec.platform, dependencies]
[spec.name, spec.version, spec.platform, dependencies]
end
end
spec_list.compact!
[spec_list, deps_list.uniq]
end
end

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, audiofile
{ stdenv, fetchurl, pkgconfig, audiofile, libcap
, openglSupport ? false, mesa ? null
, alsaSupport ? true, alsaLib ? null
, x11Support ? true, x11 ? null, libXrandr ? null
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
buildInputs = let
notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt";
in stdenv.lib.optional notMingw audiofile;
in [ libcap ]
++ (stdenv.lib.optional notMingw audiofile);
nativeBuildInputs = [ pkgconfig ] ++
stdenv.lib.optional openglSupport [ mesa ];

View File

@@ -0,0 +1,21 @@
diff --git a/configure.ac b/configure.ac
index 6ce6b6b..72d2e65 100644
--- a/configure.ac
+++ b/configure.ac
@@ -110,14 +110,10 @@ AC_MSG_RESULT([$enable_debug])
if test "$enable_debug" = "yes"; then
AC_DEFINE([DEBUG],[],[Debug Mode])
- AM_CFLAGS="$AM_CFLAGS -g -ggdb -Wall -Werror -Wdeclaration-after-statement \
- -Wsign-compare -Wc++-compat \
- -fno-omit-frame-pointer -O0 -D_REENTRANT -D_GNU_SOURCE"
+ AM_CFLAGS="$AM_CFLAGS -g -ggdb -fno-omit-frame-pointer -O0 -D_REENTRANT -D_GNU_SOURCE"
else
AC_DEFINE([NDEBUG],[],[No-debug Mode])
- AM_CFLAGS="$AM_CFLAGS -g -ggdb -Wall -Werror -Wpadded -Wdeclaration-after-statement \
- -Wsign-compare -Wc++-compat \
- -O3 -D_REENTRANT -D_GNU_SOURCE"
+ AM_CFLAGS="$AM_CFLAGS -O3 -D_REENTRANT -D_GNU_SOURCE"
fi
AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,

View File

@@ -0,0 +1,51 @@
{ stdenv, fetchFromGitHub, autoreconfHook, libibverbs, librdmacm, libevent
# Linux only deps
, numactl, kernel ? null
}:
stdenv.mkDerivation rec {
name = "accelio-${version}${stdenv.lib.optionalString (kernel != null) "-kernel"}";
version = "1.3";
src = fetchFromGitHub {
owner = "accelio";
repo = "accelio";
rev = "v${version}";
sha256 = "05yqzjs12nymhs0pq1ypnfszgbmvfprjqd3gr2iz3vqbkpzi9n2c";
};
patches = [ ./cflags.patch ];
postPatch = ''
# Don't build broken examples
sed -i '/AC_CONFIG_SUBDIRS(\[\(examples\|tests\)\/kernel/d' configure.ac
# Allow the installation of xio kernel headers
sed -i 's,/opt/xio,''${out},g' src/kernel/xio/Makefile.in
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libevent ];
propagatedBuildInputs = [ libibverbs librdmacm ]
++ stdenv.lib.optional stdenv.isLinux numactl;
configureFlags = [
"--enable-rdma"
"--disable-raio-build"
] ++ stdenv.lib.optionals (kernel != null) [
"--enable-kernel-module"
"--with-kernel=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
"--with-kernel-build=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
INSTALL_MOD_PATH = "\${out}";
meta = with stdenv.lib; {
homepage = http://www.accelio.org/;
description = "a high-performance asynchronous reliable messaging and RPC library optimized for hardware acceleration";
license = licenses.bsd3;
platforms = with platforms; linux ++ freebsd;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -37,6 +37,15 @@ in {
};
};
da = buildDict {
shortName = "da-1.4.42-1";
fullName = "Danish";
src = fetchurl {
url = mirror://gnu/aspell/dict/da/aspell5-da-1.4.42-1.tar.bz2;
sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp";
};
};
de = buildDict {
shortName = "de-20030222-1";
fullName = "German";

View File

@@ -149,7 +149,7 @@ stdenv.mkDerivation {
configureScript = "./bootstrap.sh";
configureFlags = commonConfigureFlags ++ [
"--with-icu=${icu}"
"--with-python=${python}/bin/python"
"--with-python=${python.interpreter}"
] ++ optional (toolset != null) "--with-toolset=${toolset}";
buildPhase = builder nativeB2Args;

View File

@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
homepage = http://www.celt-codec.org/;
license = licenses.bsd2;
maintainers = with maintainers; [ codyopel raskin ];
platform = platforms.unix;
platforms = platforms.unix;
};
}

View File

@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
homepage = http://cimg.sourceforge.net/;
license = licenses.cecill-c;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@@ -46,10 +46,11 @@ stdenv.mkDerivation rec {
doCheck = true;
checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
meta = {
meta = with stdenv.lib; {
description = "Crypto++, a free C++ class library of cryptographic schemes";
homepage = http://cryptopp.com/;
license = stdenv.lib.licenses.boost;
license = licenses.boost;
platforms = platforms.all;
maintainers = [ ];
};
}

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, dbus, glib, gtkmm, pkgconfig, expat }:
{ stdenv, fetchurl, dbus, glib, pkgconfig, expat }:
stdenv.mkDerivation rec {
name = "dbus-cplusplus-${version}";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/0.9.0/libdbus-c%2B%2B-0.9.0.tar.gz";
name = "dbus-cplusplus.tar.gz";
name = "${name}.tar.gz";
sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw";
};
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
})];
buildInputs = [ dbus glib gtkmm pkgconfig expat ];
buildInputs = [ dbus glib pkgconfig expat ];
configureFlags = "--disable-ecore";

View File

@@ -76,6 +76,7 @@ let
# (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands.
NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1";
buildInputs = [ systemdOrEmpty ];
meta.platforms = with stdenv.lib.platforms; allBut darwin;
};

View File

@@ -18,6 +18,7 @@ stdenv.mkDerivation {
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus;
homepage = http://eigen.tuxfamily.org ;
platforms = platforms.unix;
maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
inherit version;
};

View File

@@ -5,11 +5,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "fdk-aac-${version}";
version = "0.1.3";
version = "0.1.4";
src = fetchurl {
url = "mirror://sourceforge/opencore-amr/fdk-aac/${name}.tar.gz";
sha256 = "138c1l6c571289czihk0vlcfbla7qlac2jd5yyps5dyg08l8gjx9";
sha256 = "1aqmzxri23q83wfmwbbashs27mq1mapvfirz5r9i7jkphrwgw42r";
};
configureFlags = [ ]

View File

@@ -13,6 +13,12 @@ composableDerivation.composableDerivation {} (fixed: rec {
buildInputs = [ unzip libjpeg libtiff libpng python pythonPackages.numpy proj openssl ];
patches = [
# This ensures that the python package is installed into gdal's prefix,
# rather than trying to install into python's prefix.
./python.patch
];
# Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
# Unset CC and CXX as they confuse libtool.
preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
@@ -31,6 +37,18 @@ composableDerivation.composableDerivation {} (fixed: rec {
"--with-geos=${geos}/bin/geos-config"# optional
];
# Prevent this:
#
# Checking .pth file support in /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/
# /nix/store/pbi1lgank10fy0xpjckbdpgacqw34dsz-python-2.7.9/bin/python -E -c pass
# TEST FAILED: /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/ does NOT support .pth files
# error: bad install directory or PYTHONPATH
preBuild = ''
pythonInstallDir=$out/lib/${python.libPrefix}/site-packages
mkdir -p $pythonInstallDir
export PYTHONPATH=''${PYTHONPATH:+''${PYTHONPATH}:}$pythonInstallDir
'';
meta = {
description = "Translator library for raster geospatial data formats";
homepage = http://www.gdal.org/;

View File

@@ -0,0 +1,17 @@
diff --git a/swig/python/GNUmakefile.old b/swig/python/GNUmakefile
index b4d5e90..2160b83 100644
--- a/swig/python/GNUmakefile
+++ b/swig/python/GNUmakefile
@@ -67,11 +67,7 @@ egg:
install:
-ifeq ($(PY_HAVE_SETUPTOOLS),1)
- $(PYTHON) setup.py install
-else
$(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix)
-endif
for f in $(SCRIPTS) ; do $(INSTALL) ./scripts/$$f $(DESTDIR)$(INST_BIN) ; done

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "gecode-${version}";
version = "4.3.3";
version = "4.4.0";
src = fetchurl {
url = "http://www.gecode.org/download/${name}.tar.gz";
sha256 = "1nxcv32pqmf7fsdpa8zp482i8a1nhrfppqaimymcxvxjgxzmpj1i";
sha256 = "0akqjzy6pd229mn0lhpdbyc4wbazhprkd5ijqs99z68bj3b9h0s3";
};
buildInputs = [ perl ];

View File

@@ -1,16 +1,23 @@
{ stdenv, fetchurl }:
{ stdenv, fetchFromGitHub, autoreconfHook }:
stdenv.mkDerivation rec {
name = "glog-0.3.3";
name = "glog-${version}";
version = "0.3.4";
src = fetchurl {
url = "http://google-glog.googlecode.com/files/${name}.tar.gz";
sha1 = "ed40c26ecffc5ad47c618684415799ebaaa30d65";
src = fetchFromGitHub {
owner = "Google";
repo = "glog";
rev = "v${version}";
sha256 = "0ym5g15m7c8kjfr2c3zq6bz08ghin2d1r1nb6v2vnkfh1vn945x1";
};
meta = {
nativeBuildInputs = [ autoreconfHook ];
meta = with stdenv.lib; {
homepage = http://code.google.com/p/google-glog/;
license = stdenv.lib.licenses.bsd3;
license = licenses.bsd3;
description = "Library for application-level logging";
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -1,45 +1,55 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl
, staticSupport ? false # Compile statically (support for packages that look for the static object)
}:
let
inherit (stdenv) isDarwin;
inherit (stdenv.lib) optional optionalString;
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "gsm-${version}";
version = "1.0.13";
version = "1.0.14";
src = fetchurl {
url = "http://www.quut.com/gsm/${name}.tar.gz";
sha256 = "1bcjl2h60gvr1dc5a963h3vnz9zl6n8qrfa3qmb2x3229lj1iiaj";
sha256 = "0b1mx69jq88wva3wk0hi6fcl5a52qhnq2f9p3f3jdh5k61ma252q";
};
patchPhase = ''
# Fix include directory
sed -e 's,$(GSM_INSTALL_ROOT)/inc,$(GSM_INSTALL_ROOT)/include/gsm,' -i Makefile
makeFlags="$makeFlags INSTALL_ROOT=$out"
# Build shared library instead of static
sed -e 's,-c -O2 -DNeedFunctionPrototypes=1,-c -O2 -fPIC -DNeedFunctionPrototypes=1,' -i Makefile
sed -e 's,libgsm.a,libgsm.so,' -i Makefile
sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile
sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile
'';
'' + optionalString (!staticSupport) (
(if isDarwin then ''
# Build dylib on Darwin
sed -e 's,libgsm.a,libgsm.dylib,' -i Makefile
sed -e 's,$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS),$(LD) -o $(LIBGSM) -dynamiclib -install_name $(GSM_INSTALL_ROOT)/$(LIBGSM) $(GSM_OBJECTS) -lc,' -i Makefile
'' else ''
# Build ELF shared object by default
sed -e 's,libgsm.a,libgsm.so,' -i Makefile
sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile
'') + ''
# Remove line that is unused when building shared libraries
sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile
''
);
makeFlags = [
''SHELL=${stdenv.shell}''
];
"SHELL=${stdenv.shell}"
"INSTALL_ROOT=$(out)"
] ++ optional (stdenv.cc.cc.isClang or false) "CC=clang";
preInstall = ''
mkdir -p "$out/"{bin,lib,man/man1,man/man3,include/gsm}
'';
preInstall = "mkdir -p $out/{bin,lib,man/man1,man/man3,include/gsm}";
NIX_CFLAGS_COMPILE = "-fPIC";
NIX_CFLAGS_COMPILE = optional (!staticSupport) "-fPIC";
parallelBuild = false;
meta = {
meta = with stdenv.lib; {
description = "Lossy speech compression codec";
homepage = http://www.quut.com/gsm/;
license = licenses.bsd2;
maintainers = with maintainers; [ codyopel raskin ];
platforms = platforms.all;
platforms = platforms.unix;
};
}

View File

@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig gtk ];
preConfigure = ''
sed '/DEPRECATED_FLAGS/d' -i configure
sed 's/-Wall -Werror//' -i configure
'';
doCheck = true;
meta = {

View File

@@ -2,7 +2,7 @@
If user need access to more haskell package for building his
diagrams, he simply has to pass these package through the
extra packages function as follow in `config.nix`:
~~~
diagramBuilderWrapper.override {
extraPackages = self : [myHaskellPackage];
@@ -10,22 +10,21 @@
­~~~
WARNING:
Note that this solution works well but however, as this is a
Note that this solution works well but however, as this is a
non-cabal derivation, user should be carefull to never put this
package inside the listing passed as argument to `ghcWithPackages`
as it will silently disregard the package. This silent disregard
should be regarded as an issue for `ghcWithPackages`. It should
rather raise an error instead when a non-cabal dirivation is
directly passed to it. The alternative would have been to
use a fake cabal file in order to make this a cabal derivation
such as what `yiCustom` package did.
use a fake cabal file in order to make this a cabal derivation.
*/
{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper,
{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper,
extraPackages ? (self: []) }:
let
# Used same technique as for the yiCustom package.
w = ghcWithPackages
# Used same technique such as xmonad
w = ghcWithPackages
(self: [ diagramsBuilder ] ++ extraPackages self);
wrappedGhc = w.override { ignoreCollisions = true; };
in
@@ -50,4 +49,4 @@ stdenv.mkDerivation {
'';
preferLocalBuild = true;
meta = diagramsBuilder.meta;
}
}

View File

@@ -1,13 +1,14 @@
{ stdenv, fetchgit }:
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "hiredis-${version}";
version = "0.12.1";
version = "0.13.0";
src = fetchgit {
url = "git://github.com/redis/hiredis";
rev = "37c06facda57af9bad68f50c18edfa22d6ef76f7";
sha256 = "1z1rzhh1659g8i5bl78k1i1imlz2prwirhzbkn6j7hvq4mxbf2yz";
src = fetchFromGitHub {
owner = "redis";
repo = "hiredis";
rev = "v${version}";
sha256 = "195ih8jprw0q253nvhnmfv9dsm8pss6pdf4x3c88q4mfsyw8pg76";
};
PREFIX = "\${out}";
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://github.com/redis/hiredis;
description = "Minimalistic C client for Redis >= 1.2";
licenses = licenses.bsd3;
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];
};

View File

@@ -3,17 +3,17 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "jquery-1.11.1";
name = "jquery-1.11.2";
src = if compressed then
fetchurl {
url = "http://code.jquery.com/${name}.min.js";
sha256 = "0hgly37jhg0n5cqlx3ylmwcxkxmbkvv07f9z9pm94jyxq7gcc2sl";
sha256 = "1h09zz6cjm66g30wa7c41by1jswx9gjpgqgbxln0dv2v55fjkk9f";
}
else
fetchurl {
url = "http://code.jquery.com/${name}.js";
sha256 = "1g7nhy8dwzzai7h7m800fsig4gzw34kjxxbpqdac2y8ch9586a9h";
sha256 = "098gnzndmmjygpsfywxgmb0vi42b882pwpby77gqkrd2nwsp1hjq";
};
unpackPhase = "true";

View File

@@ -0,0 +1,224 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8217cba..a6c1d70 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,7 +32,7 @@ else(APPLE)
endif(${BUILD_FOR_ARM})
endif(APPLE)
-set(CMAKE_CXX_FLAGS "--std=c++0x -Wall -Wextra -Werror -Wno-unknown-warning-option -Wno-unused-parameter -Wno-null-dereference -Wno-unused-local-typedefs -DGTEST_USE_OWN_TR1_TUPLE=1 ${BUILD_PIC_COMPILER_FLAGS}")
+set(CMAKE_CXX_FLAGS "--std=c++11 -DGTEST_USE_OWN_TR1_TUPLE=1 ${BUILD_PIC_COMPILER_FLAGS}")
set(TEST_BINARY "kinetic_client_test")
set(TEST_BINARY_PATH ${kinetic_cpp_client_BINARY_DIR}/${TEST_BINARY})
@@ -50,103 +50,16 @@ set(GENERATED_SOURCES_PATH ${kinetic_cpp_client_SOURCE_DIR}/src/main/generated)
set(PREFIX "${CMAKE_BINARY_DIR}/vendor")
set(EXTERNAL_PREFIX "${kinetic_cpp_client_BINARY_DIR}/vendor")
-include(ExternalProject)
-
-set(KINETIC_PROTO_VERSION "3.0.0")
-set(KINETIC_PROTO_MD5 "85ca027b870811a297c1f6d792498934")
-
-ExternalProject_add(
- kinetic-proto
- PREFIX ${PREFIX}
- DOWNLOAD_COMMAND curl -L https://github.com/Seagate/kinetic-protocol/archive/${KINETIC_PROTO_VERSION}.tar.gz -o kinetic-proto.tar.gz && openssl md5 kinetic-proto.tar.gz | grep -q ${KINETIC_PROTO_MD5} && rm -rf kinetic-proto && mkdir -p kinetic-proto && tar -xz --strip-components 1 -C kinetic-proto -f kinetic-proto.tar.gz
- BUILD_IN_SOURCE 1
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ""
- INSTALL_COMMAND ""
-)
-
-ExternalProject_add(
- gflags
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/gflags-2.0-no-svn-files.tar.gz"
- URL_MD5 "9084829124e02a7e6be0f0f824523423"
- CONFIGURE_COMMAND ../gflags/configure --prefix=${EXTERNAL_PREFIX} --enable-static ${CONFIG_HOST_FLAG} ${CHILD_MAKE_FLAGS} ${PIC_MAKE_FLAGS}
-)
-
-ExternalProject_add(
- glog
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/glog-0.3.3.tar.gz"
- URL_MD5 "a6fd2c22f8996846e34c763422717c18"
- PATCH_COMMAND sh ${kinetic_cpp_client_SOURCE_DIR}/patches/apply-glog-patches.sh ${kinetic_cpp_client_SOURCE_DIR}
- CONFIGURE_COMMAND ../glog/configure --prefix=${EXTERNAL_PREFIX} --with-gflags=${EXTERNAL_PREFIX} --enable-static ${CONFIG_HOST_FLAG} ${CHILD_MAKE_FLAGS} ${PIC_MAKE_FLAGS}
- DEPENDS gflags
-)
-
-ExternalProject_add(
- gtest
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/gtest-1.6.0.zip"
- URL_MD5 "4577b49f2973c90bf9ba69aa8166b786"
- BUILD_IN_SOURCE 1
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ${CMAKE_CXX_COMPILER} -DGTEST_USE_OWN_TR1_TUPLE=1 -I../gtest -I../gtest/include -c ../gtest/src/gtest-all.cc && ar -rv libgtest.a gtest-all.o && ranlib libgtest.a
- INSTALL_COMMAND ""
-)
-
-ExternalProject_add(
- gmock
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/gmock-1.6.0.zip"
- URL_MD5 "f547f47321ca88d3965ca2efdcc2a3c1"
- BUILD_IN_SOURCE 1
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ${CMAKE_CXX_COMPILER} -DGTEST_USE_OWN_TR1_TUPLE=1 -I../gmock -I../gmock/include -I../gtest -I../gtest/include -c ../gmock/src/gmock-all.cc && ar -rv libgmock.a gmock-all.o && ranlib libgmock.a
- INSTALL_COMMAND ""
- DEPENDS gtest
-)
-
-ExternalProject_add(
- openssl
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/openssl-1.0.1g.tar.gz"
- URL_MD5 "de62b43dfcd858e66a74bee1c834e959"
- BUILD_IN_SOURCE 1
- CONFIGURE_COMMAND ${OPENSSL_CONFIGURE_COMMAND} --prefix=${EXTERNAL_PREFIX} ${BUILD_PIC_COMPILER_FLAG}
- BUILD_COMMAND touch apps/openssl && touch openssl.pc && make ${CHILD_MAKE_FLAGS} build_libs libssl.pc libcrypto.pc
- INSTALL_COMMAND make install_sw
-)
-
-# The protobuf build requires the existence of a protoc binary that can be
-# executed on the host machine. To handle cross compilation, we always build
-# protobuf once for the host so that we have a suitable copy of protoc.
-ExternalProject_add(
- protoc
- PREFIX ${EXTERNAL_PREFIX}/host
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/protobuf-2.5.0.tar.bz2"
- URL_MD5 "a72001a9067a4c2c4e0e836d0f92ece4"
- CONFIGURE_COMMAND ../protoc/configure --prefix=${EXTERNAL_PREFIX}/host --enable-static
-)
-
# Protobuf code generation rules
-set(PROTOC_PATH "${PREFIX}/host/bin/protoc")
-set(PROTO_DIR "${CMAKE_BINARY_DIR}/vendor/src/kinetic-proto")
+set(PROTOC_PATH "protoc")
+set(PROTO_DIR "${CMAKE_BINARY_DIR}/kinetic-proto")
set(PROTO_ORIG_PATH "${PROTO_DIR}/kinetic.proto")
set(PROTO_MODIFIED_PATH "${PROTO_DIR}/kinetic_client.proto")
-ExternalProject_add(
- protobuf
- PREFIX ${EXTERNAL_PREFIX}
- URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/protobuf-2.5.0.tar.bz2"
- URL_MD5 "a72001a9067a4c2c4e0e836d0f92ece4"
- CONFIGURE_COMMAND ../protobuf/configure --prefix=${EXTERNAL_PREFIX} --enable-static --with-protoc=${PROTOC_PATH} ${CONFIG_HOST_FLAG} ${CHILD_MAKE_FLAGS} ${PIC_MAKE_FLAGS}
- DEPENDS protoc
-)
add_custom_command(
COMMENT "Compiling protobuf"
OUTPUT ${GENERATED_SOURCES_PATH}/kinetic_client.pb.h ${GENERATED_SOURCES_PATH}/kinetic_client.pb.cc
COMMAND mkdir -p ${GENERATED_SOURCES_PATH} && sed 's/com\\.seagate\\.kinetic\\.proto/com.seagate.kinetic.client.proto/' ${PROTO_ORIG_PATH} > ${PROTO_MODIFIED_PATH} && ${PROTOC_PATH} -I=${PROTO_DIR} --cpp_out=${GENERATED_SOURCES_PATH} ${PROTO_MODIFIED_PATH}
- DEPENDS kinetic-proto protoc protobuf
)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${GENERATED_SOURCES_PATH})
@@ -157,21 +70,10 @@ include_directories(
src/test/mock
src/test
-
- ${EXTERNAL_PREFIX}/include
- ${EXTERNAL_PREFIX}/src/gmock/include
- ${EXTERNAL_PREFIX}/src/gtest/include
)
set(LIBRARY_DEPENDENCIES
kinetic_client
- ${CMAKE_BINARY_DIR}/vendor/lib/libglog.a
- ${CMAKE_BINARY_DIR}/vendor/lib/libgflags.a
- ${CMAKE_BINARY_DIR}/vendor/lib/libssl.a
- ${CMAKE_BINARY_DIR}/vendor/lib/libcrypto.a
- ${CMAKE_BINARY_DIR}/vendor/lib/libprotobuf.a
- ${CMAKE_BINARY_DIR}/vendor/src/gtest/libgtest.a
- ${CMAKE_BINARY_DIR}/vendor/src/gmock/libgmock.a
${CMAKE_THREAD_LIBS_INIT}
dl
)
@@ -180,12 +82,68 @@ set(LIBRARY_DEPENDENCIES
# Otherwise glog uses the standard glibc unwinder and there is no dependency.
find_library(LIBUNWIND "unwind")
if(LIBUNWIND)
- set(LIBRARY_DEPENDENCIES
- ${LIBRARY_DEPENDENCIES}
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
${LIBUNWIND}
)
endif()
+find_library(LIBSSL "ssl")
+if(LIBSSL)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBSSL}
+ )
+endif()
+
+find_library(LIBCRYPTO "crypto")
+if(LIBCRYPTO)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBCRYPTO}
+ )
+endif()
+
+find_library(LIBPROTOBUF "protobuf")
+if(LIBPROTOBUF)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBPROTOBUF}
+ )
+endif()
+
+find_library(LIBGLOG "glog")
+if(LIBGLOG)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBGLOG}
+ )
+endif()
+
+find_library(LIBGFLAGS "gflags")
+if(LIBGFLAGS)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBGFLAGS}
+ )
+endif()
+
+find_library(LIBGMOCK "gmock")
+if(LIBGMOCK)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBGMOCK}
+ )
+endif()
+
+find_library(LIBGTEST "gtest")
+if(LIBGTEST)
+ set(LIBRARY_DEPENDENCIES
+ ${LIBRARY_DEPENDENCIES}
+ ${LIBGTEST}
+ )
+endif()
+
add_library(kinetic_client
src/main/generated/kinetic_client.pb.cc
src/main/hmac_provider.cc
diff --git a/src/test/kinetic_cpp_client_test.cc b/src/test/kinetic_cpp_client_test.cc
index 2079fab..c5004a2 100644
--- a/src/test/kinetic_cpp_client_test.cc
+++ b/src/test/kinetic_cpp_client_test.cc
@@ -22,6 +22,7 @@
#include <iostream>
+#include "gflags/gflags.h"
#include "gtest/gtest.h"
#include "glog/logging.h"

View File

@@ -0,0 +1,59 @@
{ stdenv, fetchgit, fetchurl, cmake, protobuf, libunwind, openssl, glog
, google-gflags, gmock, gtest
}:
let
protoTar = fetchurl {
url = "http://github.com/Seagate/kinetic-protocol/archive/3.0.0.tar.gz";
sha256 = "0406pp0sdf0rg6s5g18r2d8si2rin7p6qbzp7c6pma5hyzsygz48";
};
in
stdenv.mkDerivation rec {
name = "kinetic-cpp-client-2015-04-14";
src = fetchgit {
url = "git://github.com/Seagate/kinetic-cpp-client.git";
rev = "015085a5c89db0398f80923053f36b9e0611e107";
sha256 = "15iwlfjwnyswiwssdjg6qiflhddh66nv07xji4yhz1s4vqhk3nrx";
};
patches = [ ./build-fix.patch ];
postPatch = ''
mkdir -p build/kinetic-proto
tar -x --strip-components 1 -C build/kinetic-proto -f ${protoTar}
'';
nativeBuildInputs = [ cmake protobuf ];
buildInputs = [ libunwind glog google-gflags gmock gtest ];
# The headers and library include from these and there is no provided pc file
propagatedBuildInputs = [ protobuf openssl ];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=true"
];
preCheck = ''
# The checks cannot find libkinetic_client.so otherwise
export LD_LIBRARY_PATH="$(pwd)"
'';
installPhase = ''
# There is no included install script so do our best
mkdir -p $out/lib
cp libkinetic_client.so $out/lib
cp -r ../include $out
cp ../src/main/generated/kinetic_client.pb.h $out/include
'';
doCheck = true;
meta = with stdenv.lib; {
homepage = https://github.com/Seagate/kinetic-cpp-client;
description = "code for producing C and C++ kinetic clients";
license = licenses.lgpl21;
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib
{ lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib, libcap
, usePulseAudio }:
stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
buildInputs =
[ pkgconfig ] ++
[ pkgconfig libcap ] ++
lib.optional stdenv.isLinux (if usePulseAudio then [ pulseaudio ] else [ alsaLib ]);
meta = {

View File

@@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "libasyncns-0.8";
src = fetchurl {
url = "http://0pointer.de/lennart/projects/libasyncns/${name}.tar.gz";
sha256 = "0x5b6lcic4cd7q0bx00x93kvpyzl7n2abbgvqbrlzrfb8vknc6jg";
};
meta = with stdenv.lib; {
homepage = http://0pointer.de/lennart/projects/libasyncns/;
description = "a C library for Linux/Unix for executing name service queries asynchronously";
license = licenses.lgpl21;
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libtool, gtk ? null
{ stdenv, fetchurl, pkgconfig, libtool, gtk ? null, libcap
, alsaLib, pulseaudio, gstreamer, gst_plugins_base, libvorbis }:
stdenv.mkDerivation rec {
@@ -9,8 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
};
buildInputs = # ToDo: gstreamer not found (why?), add (g)udev?
[ pkgconfig libtool alsaLib pulseaudio /*gstreamer gst_plugins_base*/ libvorbis gtk ];
buildInputs = [
pkgconfig libtool alsaLib pulseaudio libvorbis gtk libcap
/*gstreamer gst_plugins_base*/ # ToDo: gstreamer not found (why?), add (g)udev?
];
configureFlags = "--disable-oss";

View File

@@ -0,0 +1,26 @@
{ stdenv, fetchurl, }:
stdenv.mkDerivation rec {
name = "libclthreads-${version}";
version = "2.4.0";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2";
sha256 = "1s8xx99z6llv46cvkllmd72v2pkzbfl5gngcql85mf14mxkdb7x6";
};
configurePhase = ''
sed -e "s@/usr/local@$out@" -i Makefile
sed -e "s@/usr/bin/install@install@" -i Makefile
sed -e "s@/sbin/ldconfig@ldconfig@" -i Makefile
sed -e "s@SUFFIX :=.*@SUFFIX =@" -i Makefile
'';
meta = {
description = "zita thread library";
version = "${version}";
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,38 @@
{ stdenv, fetchurl, libclthreads, libXft, libX11, xlibs }:
stdenv.mkDerivation rec {
name = "libclxclient-${version}";
version = "3.9.0";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2";
sha256 = "14l7xrh964gllymraq4n5pgax94p5jsfjslqi5c6637zc4lmgnl0";
};
buildInputs = [
libclthreads libXft libX11 xlibs.xproto
];
configurePhase = ''
cpp -v
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${xlibs.xproto}/include"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXft}/include"
echo $NIX_CFLAGS_COMPILE
sed -e "s@/usr/local@$out@" -i Makefile
sed -e "s@#include <clthreads.h>@#include <${libclthreads}/include>@" -i clxclient.h
sed -e "s@ldconfig@@" -i Makefile
sed -e "s@SUFFIX :=.*@SUFFIX =@" -i Makefile
'';
fixupPhase = ''
ln $out/lib/libclxclient.so $out/lib/libclxclient.so.3
'';
meta = {
description = "zita X11 library";
version = "${version}";
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, libdbi
, mysql ? null, sqlite ? null, postgresql ? null
, libmysql ? null, sqlite ? null, postgresql ? null
}:
with stdenv.lib;
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
};
buildInputs = [ libdbi sqlite postgresql ]
++ optional (mysql != null) mysql.lib;
buildInputs = [ libdbi libmysql sqlite postgresql ];
postPatch = ''
sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure;
@@ -25,10 +24,10 @@ stdenv.mkDerivation rec {
"--enable-libdbi"
"--with-dbi-incdir=${libdbi}/include"
"--with-dbi-libdir=${libdbi}/lib"
] ++ optionals (mysql != null) [
] ++ optionals (libmysql != null) [
"--with-mysql"
"--with-mysql-incdir=${mysql.lib}/include/mysql"
"--with-mysql-libdir=${mysql.lib}/lib/mysql"
"--with-mysql-incdir=${libmysql}/include/mysql"
"--with-mysql-libdir=${libmysql}/lib/mysql"
] ++ optionals (postgresql != null) [
"--with-pgsql"
"--with-pgsql_incdir=${postgresql}/include"

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, ncurses, groff }:
stdenv.mkDerivation rec {
name = "libedit-20140620-3.1";
name = "libedit-20150325-3.1";
src = fetchurl {
url = "http://www.thrysoee.dk/editline/${name}.tar.gz";
sha256 = "1wnapwcpl4yq8p95j898jl0hsr39if28qzm5a7zwkbplihm9nax2";
sha256 = "1if8zi9h52m80ck796an28rrqfljk2n8cn25m3fl0prwz155x2n8";
};
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.thrysoee.dk/editline/";
description = "A port of the NetBSD Editline library (libedit)";
license = licenses.bsd3;
platforms = platforms.all;
};
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, python }:
stdenv.mkDerivation rec {
name = "libevdev-1.3.1";
name = "libevdev-1.4.1";
src = fetchurl {
url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
sha256 = "0hr6xjp7vcnr7lnr1il03235rcslqb95yv7j88qh51q0bwcpcz2b";
sha256 = "11dfiz7pkb2jbavr1ba8phn86qavvgf1xwlxmfs69mqxlz4x6yai";
};
buildInputs = [ python ];

View File

@@ -1,20 +1,24 @@
{ stdenv, fetchurl, python }:
{ stdenv, fetchFromGitHub, autoreconfHook, python }:
let version = "2.0.21"; in
let version = "2.0.22"; in
stdenv.mkDerivation {
name = "libevent-${version}";
src = fetchurl {
url = "https://github.com/downloads/libevent/libevent/libevent-${version}-stable.tar.gz";
sha256 = "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992";
src = fetchFromGitHub {
owner = "libevent";
repo = "libevent";
rev = "release-${version}-stable";
sha256 = "1x2437af9j870i7l37dav1i2g9z93lbz406kyimx4nq5qcx5463p";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ python ];
patchPhase = ''
substituteInPlace event_rpcgen.py \
--replace "/usr/bin/env python2" "${python}/bin/python"
patchShebangs event_rpcgen.py
'';
meta = {
meta = with stdenv.lib; {
description = "Event notification library";
longDescription =
@@ -29,7 +33,8 @@ stdenv.mkDerivation {
the event loop.
'';
license = "mBSD";
platforms = stdenv.lib.platforms.all;
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -1,38 +1,28 @@
a :
let
fetchurl = a.fetchurl;
{ stdenv, fetchcvs }:
version = a.lib.attrByPath ["version"] "2009-05-27" a;
buildInputs = with a; [
];
in
rec {
src = a.fetchcvs {
stdenv.mkDerivation rec {
name = "libffcall-${version}";
version = "2009-05-27";
src = fetchcvs {
cvsRoot = ":pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall";
module = "ffcall";
date = version;
sha256 = "91bcb5a20c85a9ccab45886aae8fdbbcf1f20f995ef898e8bdd2964448daf724";
sha256 = "097pv94495njppl9iy2yk47z5wdwvf7swsl88nmwrac51jibbg4i";
};
inherit buildInputs;
configureFlags = [];
/* doConfigure should be removed if not needed */
phaseNames = ["doConfigure" "doMakeInstall"];
doConfigure = a.fullDepEntry (''
configurePhase = ''
for i in ./configure */configure; do
cwd="$PWD"
cd "$(dirname "$i")";
cd "$(dirname "$i")";
( test -f Makefile && make distclean ) || true
./configure --prefix=$out
cd "$cwd"
done
'') a.doConfigure.deps;
'';
name = "libffcall-" + version;
meta = {
description = "Foreign function call library";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, gettext }:
stdenv.mkDerivation rec {
name = "libgpg-error-1.18";
name = "libgpg-error-1.19";
src = fetchurl {
url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
sha256 = "0408v19h3h0q6w61g51hgbdg6cyw81nyzkh70qfprvsc3pkddwcz";
sha256 = "12wpqhjlsw4iaanifbqm2kich6c7x7lm8a7zhy6x5ifm6c9hw4jk";
};
postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure";

View File

@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://www.openfabrics.org/;
license = licenses.bsd2;
platforms = platforms.linux;
platforms = with platforms; linux ++ freebsd;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -14,8 +14,10 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ libraw1394 ];
meta = {
meta = with stdenv.lib; {
homepage = http://www.linux1394.org;
license = "LGPL";
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -15,11 +15,11 @@ in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libinput-0.13.0";
name = "libinput-0.14.1";
src = fetchurl {
url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
sha256 = "06n6ih2bfr957rprsgjxhi6f7m96wmf4kgac8y0ispsjvrzszv3c";
sha256 = "0r0v5jqbnwgndq6ns3ss3kv1438ny302m7bg1najcl1dpqp21v9b";
};
configureFlags = [

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, libgpgerror }:
stdenv.mkDerivation rec {
name = "libksba-1.3.2";
name = "libksba-1.3.3";
src = fetchurl {
url = "mirror://gnupg/libksba/${name}.tar.bz2";
sha256 = "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb";
sha256 = "11kp3h9l3b8ikydkcdkwgx45r662zi30m26ra5llyhfh6kz5yzqc";
};
propagatedBuildInputs = [ libgpgerror ];

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
stdenv.mkDerivation rec {
version = "0.7.72";
version = "0.7.73";
name = "libmediainfo-${version}";
src = fetchurl {
url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.bz2";
sha256 = "1ndfag9a7yl8j1iwxgd2d8slwzc0ifmzg9zf8lg7fsqsa9c3s7m6";
sha256 = "1c7yc9m4fdrfdlb80g6157sa8s0wlv892pixrfdzfljsqayxnl6k";
};
buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];

View File

@@ -1,14 +1,18 @@
{ stdenv, fetchurl, texinfo }:
{ stdenv, fetchurl, texinfo, alsaLib, pulseaudio }:
stdenv.mkDerivation rec {
name = "libmikmod-3.3.7";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/mikmod/libmikmod/3.3.7/libmikmod-3.3.7.tar.gz";
url = "mirror://sourceforge/mikmod/${name}.tar.gz";
sha256 = "18nrkf5l50hfg0y50yxr7bvik9f002lhn8c00nbcp6dgm5011x2c";
};
buildInputs = [ texinfo ];
buildInputs = [ texinfo ]
++ stdenv.lib.optional stdenv.isLinux [ alsaLib pulseaudio ];
propagatedBuildInputs =
stdenv.lib.optional stdenv.isLinux pulseaudio;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lasound";
meta = with stdenv.lib; {
description = "A library for playing tracker music module files";

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, fixedPoint ? false, withCustomModes ? false }:
{ stdenv, fetchurl, fixedPoint ? false, withCustomModes ? true }:
let
version = "1.1";
@@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = {
meta = with stdenv.lib; {
description = "Open, royalty-free, highly versatile audio codec";
license = stdenv.lib.licenses.bsd3;
homepage = http://www.opus-codec.org/;
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
sha256 = "0w5sw06p51wfq2ahgql93ljkkp3hqprifzcxq8dq71c8zcbgyg58";
};
meta = {
meta = with stdenv.lib; {
description = "Library providing direct access to the IEEE 1394 bus through the Linux 1394 subsystem's raw1394 user space interface";
homepage = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394";
license = ["GPL" "LGPL"];
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://www.openfabrics.org/;
platforms = platforms.linux;
platforms = with platforms; linux ++ freebsd;
license = licenses.bsd2;
maintainers = with maintainers; [ wkennington ];
};

View File

@@ -0,0 +1,22 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "librsync-0.9.7";
src = fetchurl {
url = mirror://sourceforge/librsync/librsync-0.9.7.tar.gz;
sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6";
};
configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
crossAttrs = {
dontStrip = true;
};
meta = {
homepage = http://librsync.sourceforge.net/;
license = stdenv.lib.licenses.lgpl2Plus;
description = "Implementation of the rsync remote-delta algorithm";
};
}

View File

@@ -0,0 +1,22 @@
{ stdenv, fetchgit, curl, libxml2 }:
stdenv.mkDerivation {
name = "libs3-2015-01-09";
src = fetchgit {
url = "git://github.com/bji/libs3.git";
rev = "4d21fdc0857b88c964649b321057d7105d1e4da3";
sha256 = "058sixppk078mdn9ii3swg87nbpgl86llz9mdhj5km5m53a7dnjw";
};
buildInputs = [ curl libxml2 ];
DESTDIR = "\${out}";
meta = with stdenv.lib; {
homepage = https://github.com/bji/libs3;
description = "a library for interfacing with amazon s3";
licenses = licenses.gpl3;
platforms = platforms.unix;
};
}

View File

@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
homepage = http://www.mega-nerd.com/libsndfile/;
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ lovek323 ];
platfomrs = platforms.unix;
platforms = platforms.unix;
longDescription = ''
Libsndfile is a C library for reading and writing files containing

View File

@@ -1,149 +1,148 @@
{stdenv, fetchurl, bash, perl, yasm
, vp8Support ? true # VP8
{stdenv, fetchFromGitHub, perl, yasm
, vp8DecoderSupport ? true # VP8 decoder
, vp8EncoderSupport ? true # VP8 encoder
, vp9Support ? true # VP9
, vp9DecoderSupport ? true # VP9 decoder
, vp9EncoderSupport ? true # VP9 encoder
, extraWarningsSupport ? false # emit non-fatal warnings
, werrorSupport ? false # treat warnings as errors (not available with all compilers)
, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
, installLibsSupport ? true # install libraries
, installSrcsSupport ? false # install sources
, debugSupport ? false # debug mode
, gprofSupport ? false # gprof profiling instrumentation
, gcovSupport ? false # gcov coverage instrumentation
, sizeLimitSupport ? true # limit max size to allow in the decoder
, optimizationsSupport ? true # compiler optimization flags
, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
, thumbSupport ? false # build arm assembly in thumb mode
, libsSupport ? true # build librares
, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
, fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
, codecSrcsSupport ? false # codec library source code
, debugLibsSupport ? false # include debug version of each library
, md5Support ? true # support for output of checksum data
, postprocSupport ? true # postprocessing
, vp9PostprocSupport ? true # VP9 specific postprocessing
, multithreadSupport ? true # multithreaded decoding & encoding
, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
, memTrackerSupport ? false # track memory usage
, spatialResamplingSupport ? true # spatial sampling (scaling)
, realtimeOnlySupport ? false # build for real-time encoding
, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
, errorConcealmentSupport ? false # decoder conceals losses
, smallSupport ? false # favor smaller binary over speed
, postprocVisualizerSupport ? false # macro block/block level visualizers
, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
, webmIOSupport ? true # input from and output to webm container
, libyuvSupport ? true # libyuv
, decodePerfTestsSupport ? false # build decoder perf tests with unit tests
, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
, multiResEncodingSupport ? false # multiple-resolution encoding
, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
, decryptSupport ? false
, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
, experimentalSupport ? false # experimental features
# Experimental features
, experimentalMultipleArfSupport ? false
, experimentalNon420Support ? false
, experimentalAlphaSupport ? false
, experimentalSpatialSvcSupport ? false # Spatial scalable video coding
, experimentalFpMbStatsSupport ? false
, experimentalEmulateHardwareSupport ? false
}:
assert (vp8Support || vp9Support);
assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
assert vp8DecoderSupport -> vp8Support;
assert vp8EncoderSupport -> vp8Support;
assert vp9DecoderSupport -> vp9Support;
assert vp9EncoderSupport -> vp9Support;
assert installLibsSupport -> libsSupport;
# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
assert installBinsSupport -> examplesSupport;
assert examplesSupport -> md5Support;
assert vp9PostprocSupport -> (vp9Support && postprocSupport);
assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
assert postprocVisualizerSupport -> postprocSupport;
assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
assert unitTestsSupport -> ((curl != null) && (coreutils != null));
assert (experimentalMultipleArfSupport || experimentalNon420Support || experimentalAlphaSupport) -> experimentalSupport;
assert stdenv.isCygwin -> unitTestsSupport;
let
mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
inherit (stdenv.lib) enableFeature optional optionals;
in
with stdenv.lib;
assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support
assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
but is only executed if spatialResamplingSupport is enabled */
assert spatialResamplingSupport;
assert postprocVisualizerSupport -> postprocSupport;
assert unitTestsSupport -> curl != null && coreutils != null;
assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
stdenv.mkDerivation rec {
name = "libvpx-${version}";
version = "1.3.0";
version = "1.4.0";
src = fetchurl {
url = "http://webm.googlecode.com/files/libvpx-v${version}.tar.bz2";
sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc";
src = fetchFromGitHub {
owner = "webmproject";
repo = "libvpx";
rev = "v${version}";
sha256 = "1y8cf2q5ij8z8ab5j36m18rbs62aah6sw6shzbs3jr70ja0z6n8s";
};
patchPhase = ''
patchShebangs .
'';
nativeBuildInputs = [ bash perl yasm ];
buildInputs = [ ]
++ optional unitTestsSupport coreutils
++ optional unitTestsSupport curl;
patchPhase = ''patchShebangs .'';
configureFlags = [
(mkFlag vp8Support "vp8")
(mkFlag vp8EncoderSupport "vp8-encoder")
(mkFlag vp8DecoderSupport "vp8-decoder")
(mkFlag vp9Support "vp9")
(mkFlag vp9EncoderSupport "vp9-encoder")
(mkFlag vp9DecoderSupport "vp9-decoder")
(mkFlag extraWarningsSupport "extra-warnings")
(mkFlag werrorSupport "werror")
(enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
(enableFeature vp8EncoderSupport "vp8-encoder")
(enableFeature vp8DecoderSupport "vp8-decoder")
(enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
(enableFeature vp9EncoderSupport "vp9-encoder")
(enableFeature vp9DecoderSupport "vp9-decoder")
(enableFeature extraWarningsSupport "extra-warnings")
(enableFeature werrorSupport "werror")
"--disable-install-docs"
(mkFlag installBinsSupport "install-bins")
(mkFlag installLibsSupport "install-libs")
(mkFlag installSrcsSupport "install-srcs")
(mkFlag debugSupport "debug")
(mkFlag gprofSupport "gprof")
(mkFlag gcovSupport "gcov")
(enableFeature examplesSupport "install-bins")
"--enable-install-libs"
"--disable-install-srcs"
(enableFeature debugSupport "debug")
(enableFeature gprofSupport "gprof")
(enableFeature gcovSupport "gcov")
# Required to build shared libraries
(mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
(mkFlag (stdenv.isx86_64 || !stdenv.isDarwin || stdenv.isCygwin) "use-x86inc")
(mkFlag optimizationsSupport "optimizations")
(mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
(mkFlag thumbSupport "thumb")
(mkFlag libsSupport "libs")
(mkFlag examplesSupport "examples")
(enableFeature (!isCygwin) "pic")
(enableFeature (isi686 || isx86_64) "use-x86inc")
(enableFeature optimizationsSupport "optimizations")
(enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
(enableFeature thumbSupport "thumb")
"--enable-libs"
(enableFeature examplesSupport "examples")
"--disable-docs"
"--as=yasm"
(mkFlag fastUnalignedSupport "fast-unaligned")
(mkFlag codecSrcsSupport "codec-srcs")
(mkFlag debugLibsSupport "debug-libs")
(mkFlag md5Support "md5")
(mkFlag stdenv.isMips "dequant-tokens")
(mkFlag stdenv.isMips "dc-recon")
(mkFlag postprocSupport "postproc")
(mkFlag vp9PostprocSupport "vp9-postproc")
(mkFlag multithreadSupport "multithread")
(mkFlag internalStatsSupport "internal-stats")
(mkFlag memTrackerSupport "mem-tracker")
/* If --enable-spatial-resampling not enabled, build will fail with undeclared variable errors.
Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
but is only executed if --enable-spatial-resampling is enabled */
"--enable-spatial-resampling"
(mkFlag realtimeOnlySupport "realtime-only")
(mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
(mkFlag errorConcealmentSupport "error-concealment")
# Limit default decoder max to WHXGA
(if sizeLimitSupport then "--size-limit=5120x3200" else null)
(enableFeature fastUnalignedSupport "fast-unaligned")
"--disable-codec-srcs"
(enableFeature debugLibsSupport "debug-libs")
(enableFeature isMips "dequant-tokens")
(enableFeature isMips "dc-recon")
(enableFeature postprocSupport "postproc")
(enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
(enableFeature multithreadSupport "multithread")
(enableFeature internalStatsSupport "internal-stats")
(enableFeature memTrackerSupport "mem-tracker")
(enableFeature spatialResamplingSupport "spatial-resampling")
(enableFeature realtimeOnlySupport "realtime-only")
(enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
(enableFeature errorConcealmentSupport "error-concealment")
# Shared libraries are only supported on ELF platforms
(mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
(mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
(mkFlag smallSupport "small")
(mkFlag postprocVisualizerSupport "postproc-visualizer")
(mkFlag unitTestsSupport "unit-tests")
(mkFlag multiResEncodingSupport "multi-res-encoding")
(mkFlag temporalDenoisingSupport "temporal-denoising")
(mkFlag decryptSupport "decrypt")
(mkFlag experimentalSupport "experimental")
(if isDarwin || isCygwin then
"--enable-static --disable-shared"
else
"--disable-static --enable-shared")
(enableFeature smallSupport "small")
(enableFeature postprocVisualizerSupport "postproc-visualizer")
(enableFeature unitTestsSupport "unit-tests")
(enableFeature webmIOSupport "webm-io")
(enableFeature libyuvSupport "libyuv")
(enableFeature decodePerfTestsSupport "decode-perf-tests")
(enableFeature encodePerfTestsSupport "encode-perf-tests")
(enableFeature multiResEncodingSupport "multi-res-encoding")
(enableFeature temporalDenoisingSupport "temporal-denoising")
(enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
(enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
(enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
(enableFeature (experimentalSpatialSvcSupport ||
experimentalFpMbStatsSupport ||
experimentalEmulateHardwareSupport) "experimental")
# Experimental features
(mkFlag experimentalMultipleArfSupport "multiple-arf")
(mkFlag experimentalNon420Support "non420")
(mkFlag experimentalAlphaSupport "alpha")
];
] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
nativeBuildInputs = [ perl yasm ];
buildInputs = [ ]
++ optionals unitTestsSupport [ coreutils curl ];
enableParallelBuilding = true;
@@ -163,7 +162,8 @@ stdenv.mkDerivation rec {
# Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
"--force-target=${stdenv.cross.config}${(
if isDarwin then (
if stdenv.cross.osxMinVersion == "10.9" then "13"
if stdenv.cross.osxMinVersion == "10.10" then "14"
else if stdenv.cross.osxMinVersion == "10.9" then "13"
else if stdenv.cross.osxMinVersion == "10.8" then "12"
else if stdenv.cross.osxMinVersion == "10.7" then "11"
else if stdenv.cross.osxMinVersion == "10.6" then "10"
@@ -174,11 +174,11 @@ stdenv.mkDerivation rec {
];
};
meta = {
meta = with stdenv.lib; {
description = "WebM VP8/VP9 codec SDK";
homepage = http://www.webmproject.org/;
license = licenses.bsd3;
maintainers = with maintainers; [ codyopel lovek323 ];
maintainers = with maintainers; [ codyopel ];
platforms = platforms.all;
};
}

View File

@@ -1,15 +1,10 @@
{stdenv, fetchgit, perl, yasm
, vp8Support ? true # VP8
, vp8DecoderSupport ? true # VP8 decoder
, vp8EncoderSupport ? true # VP8 encoder
, vp9Support ? true # VP9
, vp9DecoderSupport ? true # VP9 decoder
, vp9EncoderSupport ? true # VP9 encoder
, extraWarningsSupport ? false # emit non-fatal warnings
, werrorSupport ? false # treat warnings as errors (not available with all compilers)
, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
, installLibsSupport ? true # install libraries
, installSrcsSupport ? false # install sources
, debugSupport ? false # debug mode
, gprofSupport ? false # gprof profiling instrumentation
, gcovSupport ? false # gcov coverage instrumentation
@@ -17,13 +12,10 @@
, optimizationsSupport ? true # compiler optimization flags
, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
, thumbSupport ? false # build arm assembly in thumb mode
, libsSupport ? true # build librares
, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
, fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
, codecSrcsSupport ? false # codec library source code
, debugLibsSupport ? false # include debug version of each library
, postprocSupport ? true # postprocessing
, vp9PostprocSupport ? true # VP9 specific postprocessing
, multithreadSupport ? true # multithreaded decoding & encoding
, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
, memTrackerSupport ? false # track memory usage
@@ -40,7 +32,6 @@
, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
, multiResEncodingSupport ? false # multiple-resolution encoding
, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
, vp9TemporalDenoisingSupport ? true # VP9 specific temporal denoising
, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
, experimentalSupport ? false # experimental features
@@ -50,118 +41,109 @@
, experimentalEmulateHardwareSupport ? false
}:
assert (vp8Support || vp9Support);
assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
assert vp8DecoderSupport -> vp8Support;
assert vp8EncoderSupport -> vp8Support;
assert vp9DecoderSupport -> vp9Support;
assert vp9EncoderSupport -> vp9Support;
assert installLibsSupport -> libsSupport;
# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
assert installBinsSupport -> examplesSupport;
assert vp9PostprocSupport -> (vp9Support && postprocSupport);
assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
let
inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
inherit (stdenv.lib) enableFeature optional optionals;
in
assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support
assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
but is only executed if spatialResamplingSupport is enabled */
assert spatialResamplingSupport;
assert postprocVisualizerSupport -> postprocSupport;
assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
assert unitTestsSupport -> ((curl != null) && (coreutils != null));
assert vp9TemporalDenoisingSupport -> (vp9Support && temporalDenoisingSupport);
assert vp9HighbitdepthSupport -> vp9Support;
assert (experimentalSpatialSvcSupport || experimentalFpMbStatsSupport || experimentalEmulateHardwareSupport) -> experimentalSupport;
assert stdenv.isCygwin -> (unitTestsSupport && webmIOSupport && libyuvSupport);
assert unitTestsSupport -> curl != null && coreutils != null;
assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
let
mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libvpx-git";
name = "libvpx-git-${version}";
version = "2015-2-12";
src = fetchgit {
url = "https://chromium.googlesource.com/webm/libvpx";
/* DO NOT under any circumstance ever just bump the git commit without
confirming changes have not been made to the configure system */
rev = "f4c29ae9ea16c502c980a81ca9683327d5051929"; # 2015-2-12
rev = "f4c29ae9ea16c502c980a81ca9683327d5051929";
sha256 = "1d5m3dryfdrsf3mi6bcbsndyhihzksqalzfvi21fbxxkk1imsb9x";
};
patchPhase = ''
patchShebangs .
'';
patchPhase = ''patchShebangs .'';
configureFlags = [
(enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
(enableFeature vp8EncoderSupport "vp8-encoder")
(enableFeature vp8DecoderSupport "vp8-decoder")
(enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
(enableFeature vp9EncoderSupport "vp9-encoder")
(enableFeature vp9DecoderSupport "vp9-decoder")
(enableFeature extraWarningsSupport "extra-warnings")
(enableFeature werrorSupport "werror")
"--disable-install-docs"
(enableFeature examplesSupport "install-bins")
"--enable-install-libs"
"--disable-install-srcs"
(enableFeature debugSupport "debug")
(enableFeature gprofSupport "gprof")
(enableFeature gcovSupport "gcov")
# Required to build shared libraries
(enableFeature (!isCygwin) "pic")
(enableFeature (isi686 || isx86_64) "use-x86inc")
(enableFeature optimizationsSupport "optimizations")
(enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
(enableFeature thumbSupport "thumb")
"--enable-libs"
(enableFeature examplesSupport "examples")
"--disable-docs"
"--as=yasm"
# Limit default decoder max to WHXGA
(if sizeLimitSupport then "--size-limit=5120x3200" else null)
(enableFeature fastUnalignedSupport "fast-unaligned")
"--disable-codec-srcs"
(enableFeature debugLibsSupport "debug-libs")
(enableFeature isMips "dequant-tokens")
(enableFeature isMips "dc-recon")
(enableFeature postprocSupport "postproc")
(enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
(enableFeature multithreadSupport "multithread")
(enableFeature internalStatsSupport "internal-stats")
(enableFeature memTrackerSupport "mem-tracker")
(enableFeature spatialResamplingSupport "spatial-resampling")
(enableFeature realtimeOnlySupport "realtime-only")
(enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
(enableFeature errorConcealmentSupport "error-concealment")
# Shared libraries are only supported on ELF platforms
(if isDarwin || isCygwin then
"--enable-static --disable-shared"
else
"--disable-static --enable-shared")
(enableFeature smallSupport "small")
(enableFeature postprocVisualizerSupport "postproc-visualizer")
(enableFeature unitTestsSupport "unit-tests")
(enableFeature webmIOSupport "webm-io")
(enableFeature libyuvSupport "libyuv")
(enableFeature decodePerfTestsSupport "decode-perf-tests")
(enableFeature encodePerfTestsSupport "encode-perf-tests")
(enableFeature multiResEncodingSupport "multi-res-encoding")
(enableFeature temporalDenoisingSupport "temporal-denoising")
(enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
(enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
(enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
(enableFeature (experimentalSpatialSvcSupport ||
experimentalFpMbStatsSupport ||
experimentalEmulateHardwareSupport) "experimental")
# Experimental features
] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
nativeBuildInputs = [ perl yasm ];
buildInputs = [ ]
++ optional unitTestsSupport coreutils
++ optional unitTestsSupport curl;
configureFlags = [
(mkFlag vp8Support "vp8")
(mkFlag vp8EncoderSupport "vp8-encoder")
(mkFlag vp8DecoderSupport "vp8-decoder")
(mkFlag vp9Support "vp9")
(mkFlag vp9EncoderSupport "vp9-encoder")
(mkFlag vp9DecoderSupport "vp9-decoder")
(mkFlag extraWarningsSupport "extra-warnings")
(mkFlag werrorSupport "werror")
"--disable-install-docs"
(mkFlag installBinsSupport "install-bins")
(mkFlag installLibsSupport "install-libs")
(mkFlag installSrcsSupport "install-srcs")
(mkFlag debugSupport "debug")
(mkFlag gprofSupport "gprof")
(mkFlag gcovSupport "gcov")
# Required to build shared libraries
(mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
(mkFlag (stdenv.isi686 || stdenv.isx86_64) "use-x86inc")
(mkFlag optimizationsSupport "optimizations")
(mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
(mkFlag thumbSupport "thumb")
(mkFlag libsSupport "libs")
(mkFlag examplesSupport "examples")
"--disable-docs"
"--as=yasm"
# Limit default decoder max to WHXGA
(if sizeLimitSupport then "--size-limit=5120x3200" else "")
(mkFlag fastUnalignedSupport "fast-unaligned")
(mkFlag codecSrcsSupport "codec-srcs")
(mkFlag debugLibsSupport "debug-libs")
(mkFlag stdenv.isMips "dequant-tokens")
(mkFlag stdenv.isMips "dc-recon")
(mkFlag postprocSupport "postproc")
(mkFlag vp9PostprocSupport "vp9-postproc")
(mkFlag multithreadSupport "multithread")
(mkFlag internalStatsSupport "internal-stats")
(mkFlag memTrackerSupport "mem-tracker")
(mkFlag spatialResamplingSupport "spatial-resampling")
(mkFlag realtimeOnlySupport "realtime-only")
(mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
(mkFlag errorConcealmentSupport "error-concealment")
# Shared libraries are only supported on ELF platforms
(mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
(mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
(mkFlag smallSupport "small")
(mkFlag postprocVisualizerSupport "postproc-visualizer")
(mkFlag unitTestsSupport "unit-tests")
(mkFlag webmIOSupport "webm-io")
(mkFlag libyuvSupport "libyuv")
(mkFlag decodePerfTestsSupport "decode-perf-tests")
(mkFlag encodePerfTestsSupport "encode-perf-tests")
(mkFlag multiResEncodingSupport "multi-res-encoding")
(mkFlag temporalDenoisingSupport "temporal-denoising")
(mkFlag vp9TemporalDenoisingSupport "vp9-temporal-denoising")
(mkFlag coefficientRangeCheckingSupport "coefficient-range-checking")
(mkFlag (vp9HighbitdepthSupport && !stdenv.isi686) "vp9-highbitdepth")
(mkFlag experimentalSupport "experimental")
# Experimental features
(mkFlag experimentalSpatialSvcSupport "spatial-svc")
(mkFlag experimentalFpMbStatsSupport "fp-mb-stats")
(mkFlag experimentalEmulateHardwareSupport "emulate-hardware")
];
++ optionals unitTestsSupport [ coreutils curl ];
enableParallelBuilding = true;
@@ -193,7 +175,7 @@ stdenv.mkDerivation rec {
];
};
meta = {
meta = with stdenv.lib; {
description = "WebM VP8/VP9 codec SDK";
homepage = http://www.webmproject.org/;
license = licenses.bsd3;

Some files were not shown because too many files have changed in this diff Show More