Merge remote-tracking branch 'origin/master' into staging.

This commit is contained in:
Peter Simons 2015-03-05 12:24:57 +01:00
commit 1d953779b0
119 changed files with 2687 additions and 1342 deletions

View File

@ -234,8 +234,8 @@ rec {
in [x] ++ remove x xs; in [x] ++ remove x xs;
# Intersects list 'e' and another list # Intersects list 'e' and another list
intersect = e: filter (x: elem x e); intersectLists = e: filter (x: elem x e);
# Substracts list 'e' from another list # Subtracts list 'e' from another list
substract = e: filter (x: !(elem x e)); subtractLists = e: filter (x: !(elem x e));
} }

View File

@ -33,8 +33,8 @@ elif [[ $1 == build ]]; then
echo "=== Checking PR" echo "=== Checking PR"
nox-review pr ${TRAVIS_PULL_REQUEST} nox-review pr ${TRAVIS_PULL_REQUEST}
fi fi
echo "=== Checking tarball creation" # echo "=== Checking tarball creation"
nix-build pkgs/top-level/release.nix -A tarball # nix-build pkgs/top-level/release.nix -A tarball
else else
echo "$0: Unknown option $1" >&2 echo "$0: Unknown option $1" >&2
false false

View File

@ -489,6 +489,7 @@ in {
utmp.gid = ids.gids.utmp; utmp.gid = ids.gids.utmp;
adm.gid = ids.gids.adm; adm.gid = ids.gids.adm;
grsecurity.gid = ids.gids.grsecurity; grsecurity.gid = ids.gids.grsecurity;
input.gid = ids.gids.input;
}; };
system.activationScripts.users = stringAfter [ "etc" ] system.activationScripts.users = stringAfter [ "etc" ]

View File

@ -47,6 +47,15 @@ in
boot.extraModulePackages = [ nvidia_x11 ]; boot.extraModulePackages = [ nvidia_x11 ];
# nvidia-uvm is required by CUDA applications.
boot.kernelModules = [ "nvidia-uvm" ];
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
services.udev.extraRules =
''
KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
'';
boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ]; boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];
services.acpid.enable = true; services.acpid.enable = true;

View File

@ -301,8 +301,6 @@
mlmmj = 135; mlmmj = 135;
riemann = 137; riemann = 137;
riemanndash = 138; riemanndash = 138;
hbase = 139;
opentsdb = 140;
uhub = 142; uhub = 142;
mailpile = 146; mailpile = 146;
redmine = 147; redmine = 147;
@ -313,14 +311,17 @@
systemd-resolve = 153; systemd-resolve = 153;
systemd-timesync = 154; systemd-timesync = 154;
liquidsoap = 155; liquidsoap = 155;
fleet = 159; hbase = 158;
opentsdb = 159;
scollector = 160; scollector = 160;
bosun = 161; bosun = 161;
kubernetes = 162; kubernetes = 162;
gitlab = 165; gitlab = 165;
nylon = 166; nylon = 168;
panamax = 170; panamax = 170;
exim = 172; exim = 172;
fleet = 173;
input = 174;
# When adding a gid, make sure it doesn't match an existing # When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal # uid. Users and groups with the same name should have equal

View File

@ -59,11 +59,12 @@ in
virtualisation.xen.stored = virtualisation.xen.stored =
mkOption { mkOption {
default = "${pkgs.xen}/bin/oxenstored"; default = null;
description = description =
'' ''
Xen Store daemon to use. Xen Store daemon to use. Defaults to oxenstored of the xen package.
''; '';
apply = x: if x == null then "${xen}/bin/oxenstored" else x;
}; };
virtualisation.xen.trace = virtualisation.xen.trace =

View File

@ -254,6 +254,7 @@ in rec {
tests.fleet = scrubDrv (import tests/fleet.nix { system = "x86_64-linux"; }); tests.fleet = scrubDrv (import tests/fleet.nix { system = "x86_64-linux"; });
#tests.gitlab = callTest tests/gitlab.nix {}; #tests.gitlab = callTest tests/gitlab.nix {};
tests.gnome3 = callTest tests/gnome3.nix {}; tests.gnome3 = callTest tests/gnome3.nix {};
tests.i3wm = callTest tests/i3wm.nix {};
tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test); tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test);
tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test); tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test);
tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test); tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test);

28
nixos/tests/i3wm.nix Normal file
View File

@ -0,0 +1,28 @@
import ./make-test.nix {
name = "i3wm";
machine = { lib, pkgs, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ];
services.xserver.displayManager.auto.user = "alice";
services.xserver.windowManager.default = lib.mkForce "i3";
services.xserver.windowManager.i3.enable = true;
};
testScript = { nodes, ... }: ''
$machine->waitForX;
$machine->waitForWindow(qr/first configuration/);
$machine->sleep(1);
$machine->screenshot("started");
$machine->sendKeys("ret");
$machine->sleep(1);
$machine->sendKeys("alt");
$machine->sleep(1);
$machine->screenshot("configured");
$machine->sendKeys("ret");
$machine->sleep(2);
$machine->sendKeys("alt-ret");
$machine->waitForWindow(qr/machine.*alice/);
$machine->sleep(1);
$machine->screenshot("terminal");
'';
}

View File

@ -15,11 +15,11 @@ assert taglibSupport -> (taglib != null);
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ncmpcpp-${version}"; name = "ncmpcpp-${version}";
version = "0.6.2"; version = "0.6.3";
src = fetchurl { src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2"; url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
sha256 = "1mrd6m6ph0fscxp9x96ipxh6ai7w0n1miapcfqrqfy058qx5zbck"; sha256 = "00r2f7psd2jym2lxf3q3lz2lskz7091pz9glnxqam2bznwnlyxyp";
}; };
configureFlags = [ "BOOST_LIB_SUFFIX=" ] configureFlags = [ "BOOST_LIB_SUFFIX=" ]

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
version = "4.7.0"; version = "4.7.1";
pname = "kdevelop"; pname = "kdevelop";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "68de8f412e8ab6107766f00623e54c458d02825e3a70f5ea9969688f8c77c120"; sha256 = "e3ad5377f53739a67216d37cda3f88c03f8fbb0c96e2a9ef4056df3c124e95c1";
}; };
buildInputs = [ kdevplatform kdebase_workspace okteta qjson ]; buildInputs = [ kdevplatform kdebase_workspace okteta qjson ];

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
wrapProgram "$out/bin/mysql-workbench" \ wrapProgram "$out/bin/mysql-workbench" \
--prefix LD_LIBRARY_PATH : "${python}/lib" \ --prefix LD_LIBRARY_PATH : "${python}/lib" \
--prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-gcc)/lib64" \ --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64" \
--prefix PATH : "${gnome_keyring}/bin" \ --prefix PATH : "${gnome_keyring}/bin" \
--prefix PATH : "${python}/bin" \ --prefix PATH : "${python}/bin" \
--set PYTHONPATH $PYTHONPATH \ --set PYTHONPATH $PYTHONPATH \

View File

@ -0,0 +1,18 @@
From http://seclists.org/oss-sec/2014/q3/495 (with whitespace corrected).
--- a/src/formisc.c 2013-08-04 00:13:33.000000000 -0700
+++ b/src/formisc.c 2014-09-03 11:42:25.986002396 -0700
@@ -84,12 +84,11 @@
case '"':*target++=delim='"';start++;
}
;{ int i;
- do
+ while(*start)
if((i= *target++= *start++)==delim) /* corresponding delimiter? */
break;
else if(i=='\\'&&*start) /* skip quoted character */
*target++= *start++;
- while(*start); /* anything? */
}
hitspc=2;
}

View File

@ -15,7 +15,9 @@ stdenv.mkDerivation {
make DESTDIR=\$out install make DESTDIR=\$out install
"; ";
phases = "unpackPhase installPhase"; phases = "unpackPhase patchPhase installPhase";
patches = [ ./CVE-2014-3618.patch ];
src = fetchurl { src = fetchurl {
url = ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/procmail-3.22.tar.gz; url = ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/procmail-3.22.tar.gz;

View File

@ -12,11 +12,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "profanity-${version}"; name = "profanity-${version}";
version = "0.4.5"; version = "0.4.6";
src = fetchurl { src = fetchurl {
url = "http://www.profanity.im/profanity-${version}.tar.gz"; url = "http://www.profanity.im/profanity-${version}.tar.gz";
sha256 = "0qzwqxcxf695z3gf94psd2x619vlp4hkkjmkrpsla1ns0f6v6dkl"; sha256 = "17ra53c1m0w0lzm5bj63y1ysx8bv119z5h0csisxsn4r85z6cwln";
}; };
buildInputs = [ buildInputs = [

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
echo "patching ts3client..." echo "patching ts3client..."
patchelf \ patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-gcc)/${libDir} \ --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-cc)/${libDir} \
--force-rpath \ --force-rpath \
ts3client ts3client
''; '';

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation {
echo "patching ts3server" echo "patching ts3server"
patchelf \ patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $(cat $NIX_CC/nix-support/orig-gcc)/${libDir} \ --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \
--force-rpath \ --force-rpath \
ts3server ts3server
''; '';

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
, pythonPackages, cacert, cmake, makeWrapper }: , pythonPackages, cacert, cmake, makeWrapper
, extraBuildInputs ? [] }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.1.1"; version = "1.1.1";
@ -15,18 +16,15 @@ stdenv.mkDerivation rec {
[ ncurses perl python openssl aspell gnutls zlib curl pkgconfig [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
cacert cmake ] cacert cmake ]
++ stdenv.lib.optional stdenv.isDarwin pythonPackages.pync; ++ extraBuildInputs;
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}"; NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ca-bundle.crt";
postInstall = '' postInstall = ''
NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages" NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
'' + stdenv.lib.optionalString stdenv.isDarwin '' wrapProgram "$out/bin/weechat" \
NIX_PYTHONPATH+="${pythonPackages.pync}/lib/${python.libPrefix}/site-packages" --prefix PYTHONPATH : "$PYTHONPATH" \
'' + '' --prefix PYTHONPATH : "$NIX_PYTHONPATH"
wrapProgram "$out/bin/weechat" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix PYTHONPATH : "$NIX_PYTHONPATH"
''; '';
meta = { meta = {

View File

@ -0,0 +1,47 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
, bash, patchelf, config }:
let
topath = "${wineUnstable}/bin";
toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib")
[ stdenv.cc.cc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
in
stdenv.mkDerivation {
name = "teamviewer-10.0.37742";
src = fetchurl {
url = config.teamviewer10.url or "http://download.teamviewer.com/download/teamviewer_amd64.deb";
sha256 = config.teamviewer10.sha256 or "1j3zbvyj003gk8mm9sv1dld9x30l6fswwlhdyk46mixsqq5ayp6c";
};
buildInputs = [ makeWrapper patchelf ];
unpackPhase = ''
ar x $src
tar xf data.tar.gz
'';
installPhase = ''
mkdir -p $out/share/teamviewer $out/bin
cp -a opt/teamviewer/* $out/share/teamviewer
rm -R $out/share/teamviewer/tv_bin/wine/{bin,lib,share}
cat > $out/bin/teamviewer << EOF
#!${bash}/bin/sh
export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
export PATH=${topath}\''${PATH:+:\$PATH}
$out/share/teamviewer/tv_bin/script/teamviewer "\$@"
EOF
chmod +x $out/bin/teamviewer
patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer/tv_bin/teamviewerd
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer/tv_bin/teamviewerd
ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin/
'';
meta = {
homepage = "http://www.teamviewer.com";
license = stdenv.lib.licenses.unfree;
description = "Desktop sharing application, providing remote support and online meetings";
};
}

View File

@ -1,53 +0,0 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper
, bash, findutils, coreutils }:
assert stdenv.system == "i686-linux";
let
topath = "${wine}/bin";
toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib")
[ stdenv.cc.cc libX11 libXtst libXext libXdamage libXfixes wine ]);
in
stdenv.mkDerivation {
name = "teamviewer-7.0.9377";
src = fetchurl {
url = "http://download.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
sha256 = "1f8934jqj093m1z56yl6k2ah6njkk6pz1rjvpqnryi29pp5piaiy";
};
buildInputs = [ makeWrapper ];
# I need patching, mainly for it not try to use its own 'wine' (in the tarball).
installPhase = ''
mkdir -p $out/share/teamviewer $out/bin
cp -a .tvscript/* $out/share/teamviewer
cp -a .wine/drive_c $out/share/teamviewer
sed -i -e 's/^tv_Run//' \
-e 's/^ setup_tar_env//' \
-e 's/^ setup_env//' \
-e 's,^ TV_Wine_dir=.*, TV_Wine_dir=${wine},' \
-e 's,progsrc=.*drive_c,progsrc='$out'"/share/teamviewer/drive_c,' \
$out/share/teamviewer/wrapper
cat > $out/bin/teamviewer << EOF
#!${bash}/bin/sh
# Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those
# paths become garbage collected, teamviewer crashes upon start because of
# those broken symlinks. An easy workaround to this behaviour is simply to
# delete all symlinks before we start teamviewer. Teamviewer will fixup the
# symlinks, just like it did the first time the user ran it.
${findutils}/bin/find "\$HOME"/.teamviewer/*/*/"Program Files/TeamViewer/" -type l -print0 | ${findutils}/bin/xargs -0 ${coreutils}/bin/rm
export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
export PATH=${topath}\''${PATH:+:\$PATH}
$out/share/teamviewer/wrapper wine "c:\Program Files\TeamViewer\Version7\TeamViewer.exe" "\$@"
EOF
chmod +x $out/bin/teamviewer
'';
meta = {
homepage = "http://www.teamviewer.com";
license = stdenv.lib.licenses.unfree;
description = "Desktop sharing application, providing remote support and online meetings";
};
}

View File

@ -4,12 +4,12 @@ with goPackages;
buildGoPackage rec { buildGoPackage rec {
name = "syncthing-${version}"; name = "syncthing-${version}";
version = "0.10.23"; version = "0.10.24";
goPackagePath = "github.com/syncthing/syncthing"; goPackagePath = "github.com/syncthing/syncthing";
src = fetchgit { src = fetchgit {
url = "git://github.com/syncthing/syncthing.git"; url = "git://github.com/syncthing/syncthing.git";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "1f1a83d9e5f1b235d62ecbd86d3afb682d88c2471354ad308f00d2ef668e797e"; sha256 = "9c79f62a10c88fe5d3452f16b0f8ed9cde5a70ec82aaec1e7b99cc1fb41a3dda";
}; };
subPackages = [ "cmd/syncthing" ]; subPackages = [ "cmd/syncthing" ];

View File

@ -6,7 +6,7 @@ buildPhase() {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
} }

View File

@ -6,7 +6,7 @@ buildPhase() {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
} }

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
''; '';

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
''; '';

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
''; '';

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
''; '';
@ -28,7 +28,7 @@ stdenv.mkDerivation {
mkdir -p $out mkdir -p $out
cp -prvd * $out/ cp -prvd * $out/
wrapProgram $out/bin/ib2012ux --prefix PATH : ${xdg_utils}/bin \ wrapProgram $out/bin/ib2012ux --prefix PATH : ${xdg_utils}/bin \
--prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-gcc)/lib/libgcc_s.so.1 --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
''; '';
meta = { meta = {

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation {
for i in bin/*; do for i in bin/*; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i $i
done done
''; '';
@ -28,7 +28,7 @@ stdenv.mkDerivation {
mkdir -p $out mkdir -p $out
cp -prvd * $out/ cp -prvd * $out/
wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \ wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \
--prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-gcc)/lib/libgcc_s.so.1 --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
''; '';
meta = { meta = {

View File

@ -59,11 +59,11 @@ in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mpv-${version}"; name = "mpv-${version}";
version = "0.8.0"; version = "0.8.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
sha256 = "110m4kdnggw0g1sl8jp3gjgjc3q7qb013dba0ggpvlqc8mwm4rg3"; sha256 = "19vlh2bzgf2vp1a4887xj7cmnhb42sc0cbqrdya4mck8yr5r6rd5";
}; };
buildInputs = buildInputs =

View File

@ -14,7 +14,7 @@ with stdenv.lib;
let let
buildType = "release"; buildType = "release";
version = "4.3.20"; # changes ./guest-additions as well version = "4.3.24"; # changes ./guest-additions as well
forEachModule = action: '' forEachModule = action: ''
for mod in \ for mod in \
@ -35,13 +35,13 @@ let
''; '';
# See https://github.com/NixOS/nixpkgs/issues/672 for details # See https://github.com/NixOS/nixpkgs/issues/672 for details
extpackRevision = "96996"; extpackRevision = "98716";
extensionPack = requireFile rec { extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to # IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp! # VBoxExtPackHelperApp!
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
sha256 = "7e1253f7013e9cdc84a614a0db38b40de7bbd330cb5b85bd3ef3de213773450d"; sha256 = "c6b61774e323b70da0d4f5677ef56f1c53990eccef859d3c720d814f98a01f8d";
message = '' message = ''
In order to use the extension pack, you need to comply with the VirtualBox Personal Use In order to use the extension pack, you need to comply with the VirtualBox Personal Use
and Evaluation License (PUEL) by downloading the related binaries from: and Evaluation License (PUEL) by downloading the related binaries from:
@ -60,7 +60,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "1484f8e9993ec4fe3892c5165db84d238713d2506e147ed8236541ece642e965"; sha256 = "e2123c9b6100fdd52a9b436fe29aa7215fce17c26904583977c1160b11b170cc";
}; };
buildInputs = buildInputs =

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "9ab48f44ac26a6deb374cb5fe6bad103bbf4fdf5186140e2d40ebe48bd01f3ea"; sha256 = "df4385aaa80f322ee2acda0657a53d9ca5c489e695ee5f9776574b67c649c960";
}; };
KERN_DIR = "${kernel.dev}/lib/modules/*/build"; KERN_DIR = "${kernel.dev}/lib/modules/*/build";
@ -78,6 +78,10 @@ stdenv.mkDerivation {
patchelf --set-rpath $out/lib:${dbus}/lib $i patchelf --set-rpath $out/lib:${dbus}/lib $i
done done
# FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
# NixOS module) to 98vboxadd-xclient. For now, just work around it:
mv lib/VBoxGuestAdditions/98vboxadd-xclient bin/VBoxClient-all
# Remove references to /usr from various scripts and files # Remove references to /usr from various scripts and files
sed -i -e "s|/usr/bin|$out/bin|" share/VBoxGuestAdditions/vboxclient.desktop sed -i -e "s|/usr/bin|$out/bin|" share/VBoxGuestAdditions/vboxclient.desktop
sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all

View File

@ -109,7 +109,7 @@ chmod +x "$out/bin/$crossConfig-ld"
# Emit a setup hook. Also store the path to the original GCC and # Emit a setup hook. Also store the path to the original GCC and
# Glibc. # Glibc.
test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc test -n "$gcc" && echo $gcc > $out/nix-support/orig-cc
test -n "$libc" && echo $libc > $out/nix-support/orig-libc test -n "$libc" && echo $libc > $out/nix-support/orig-libc
doSubstitute "$addFlags" "$out/nix-support/add-flags" doSubstitute "$addFlags" "$out/nix-support/add-flags"

View File

@ -196,7 +196,7 @@ fi
# Emit a setup hook. Also store the path to the original GCC and # Emit a setup hook. Also store the path to the original GCC and
# Glibc. # Glibc.
test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc test -n "$gcc" && echo $gcc > $out/nix-support/orig-cc
test -n "$libc" && echo $libc > $out/nix-support/orig-libc test -n "$libc" && echo $libc > $out/nix-support/orig-libc
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh" doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
version = "d7e8c4cdcf";
package-name = "numix-icon-theme-circle";
name = "${package-name}-20150304";
buildInputs = [ unzip ];
src = fetchurl {
url = "https://github.com/numixproject/${package-name}/archive/${version}.zip";
sha256 = "672d6f4d000c4c75a64e0297f9609afab1035d082d7ab4f7abe3e2173cba9324";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/icons
cp -dr --no-preserve='ownership' Numix-Circle{,-Light} $out/share/icons/
'';
meta = {
description = "Numix icon theme (circle version)";
homepage = https://numixproject.org;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
version = "2c11fbfcee";
package-name = "numix-icon-theme";
name = "${package-name}-20150302";
buildInputs = [ unzip ];
src = fetchurl {
url = "https://github.com/numixproject/${package-name}/archive/${version}.zip";
sha256 = "61dc170b8a70b20a9075f06e1668d6bd8907a6db0ef9e3568c473296d0f351e1";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/icons
cp -dr --no-preserve='ownership' Numix{,-Light} $out/share/icons/
'';
meta = {
description = "Numix icon theme";
homepage = https://numixproject.org;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -5,9 +5,9 @@ let
platform = with stdenv; platform = with stdenv;
if isDarwin then "macosx" if isDarwin then "macosx"
else if isCygwin then "cygwin" else if isCygwin then "cygwin"
else if isBSD then "bsd" else if (isFreeBSD || isOpenBSD) then "bsd"
else if isSunOS then "solaris" else if isSunOS then "solaris"
else "linux"; # Should be a sane default else "linux"; # Should be a sane default
lib = stdenv.lib; lib = stdenv.lib;
in in
stdenv.mkDerivation { stdenv.mkDerivation {

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
'{}' \; || true '{}' \; || true
find . -type f -exec patchelf \ find . -type f -exec patchelf \
--set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
--force-rpath \ --force-rpath \
'{}' \; || true '{}' \; || true
''; '';

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
'{}' \; || true '{}' \; || true
find . -type f -exec patchelf \ find . -type f -exec patchelf \
--set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-gcc)/lib \ --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
--force-rpath \ --force-rpath \
'{}' \; || true '{}' \; || true
''; '';

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
gtk2 glib fontconfig freetype unixODBC alsaLib gtk2 glib fontconfig freetype unixODBC alsaLib
]; ];
rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64"; rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
unpackPhase = '' unpackPhase = ''
sh $src --keep --noexec sh $src --keep --noexec
@ -40,10 +40,10 @@ stdenv.mkDerivation rec {
buildPhase = '' buildPhase = ''
find . -type f -executable -exec patchelf \ find . -type f -executable -exec patchelf \
--set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
'{}' \; || true '{}' \; || true
find . -type f -exec patchelf \ find . -type f -exec patchelf \
--set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \ --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
--force-rpath \ --force-rpath \
'{}' \; || true '{}' \; || true
''; '';

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation {
set +e set +e
for a in $out/bin/* ; do for a in $out/bin/* ; do
patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath $(cat $NIX_CC/nix-support/orig-libc)/lib:$(cat $NIX_CC/nix-support/orig-gcc)/lib64:$(cat $NIX_CC/nix-support/orig-gcc)/lib $a --set-rpath $(cat $NIX_CC/nix-support/orig-libc)/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib $a
done done
set -e set -e
mv $out/bin/gnatgcc_2wrap $out/bin/gnatgcc mv $out/bin/gnatgcc_2wrap $out/bin/gnatgcc

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, fetchgit, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl }: { stdenv, lib, fetchurl, fetchgit, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl, Security }:
let let
loader386 = "${glibc}/lib/ld-linux.so.2"; loader386 = "${glibc}/lib/ld-linux.so.2";
@ -6,8 +6,8 @@ let
loaderArm = "${glibc}/lib/ld-linux.so.3"; loaderArm = "${glibc}/lib/ld-linux.so.3";
srcs = { srcs = {
golang = fetchurl { golang = fetchurl {
url = https://github.com/golang/go/archive/go1.4.1.tar.gz; url = https://github.com/golang/go/archive/go1.4.2.tar.gz;
sha256 = "1q21i08nymy30vszbcah8l8yjxm32x2wmjs44kn2x2r4556y1mgi"; sha256 = "3e5d07bc5214a1ffe187cf6406c5b5a80ee44f12f6bca97a5463db0afee2f6ac";
}; };
tools = fetchgit { tools = fetchgit {
url = https://github.com/golang/tools.git; url = https://github.com/golang/tools.git;
@ -18,12 +18,14 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "go-1.4.1"; name = "go-1.4.2";
src = srcs.golang; src = srcs.golang;
# perl is used for testing go vet # perl is used for testing go vet
buildInputs = [ bison bash makeWrapper perl ] ++ lib.optionals stdenv.isLinux [ glibc ] ; buildInputs = [ bison bash makeWrapper perl ]
++ lib.optionals stdenv.isLinux [ glibc ]
++ lib.optionals stdenv.isDarwin [ Security ];
# I'm not sure what go wants from its 'src', but the go installation manual # I'm not sure what go wants from its 'src', but the go installation manual
# describes an installation keeping the src. # describes an installation keeping the src.
@ -76,10 +78,13 @@ stdenv.mkDerivation {
else throw "Unsupported system"; else throw "Unsupported system";
GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
GO386 = 387; # from Arch: don't assume sse2 on i686 GO386 = 387; # from Arch: don't assume sse2 on i686
CGO_ENABLED = if stdenv.isDarwin then 0 else 1; CGO_ENABLED = 1;
# The go build actually checks for CC=*/clang and does something different, so we don't
# just want the generic `cc` here.
CC = if stdenv.isDarwin then "clang" else "cc";
installPhase = '' installPhase = ''
export CC=cc
mkdir -p "$out/bin" mkdir -p "$out/bin"
export GOROOT="$(pwd)/" export GOROOT="$(pwd)/"
export GOBIN="$out/bin" export GOBIN="$out/bin"

View File

@ -1,27 +1,19 @@
{ stdenv, fetchgit, vim, avrdude, avrgcclibc, makeWrapper }: { stdenv, fetchzip, vim, avrdude, avrgcclibc, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "microscheme-${version}"; name = "microscheme-${version}";
version = "2015-02-04"; version = "0.9.2";
# externalize url/rev/sha256 to permit easier override src = fetchzip {
rev = "2f14781034a67adc081a22728fbf47a632f4484e"; name = "${name}-src";
sha256 = "15bdlmchzbhxj262r2fj78wm4c4hfrap4kyzv8n5b624svszr0zd"; url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz";
url = https://github.com/ryansuchocki/microscheme.git; sha256 = "0ly1cphvnsip70kng9q0blb07pkyp9allav42sr6ybswqfqg60j9";
src = fetchgit {
inherit rev;
inherit sha256;
inherit url;
}; };
buildInputs = [ makeWrapper vim ]; buildInputs = [ makeWrapper vim ];
installPhase = '' installPhase = ''
mkdir -p $out/bin && make install PREFIX=$out make install PREFIX=$out
mkdir -p $out/share/microscheme/
cp -r examples/ $out/share/microscheme
wrapProgram $out/bin/microscheme \ wrapProgram $out/bin/microscheme \
--prefix PATH : "${avrdude}/bin:${avrgcclibc}/bin" --prefix PATH : "${avrdude}/bin:${avrgcclibc}/bin"

View File

@ -1,90 +1,17 @@
{stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper { stdenv, callPackage }:
, tzdata, git, valgrind, procps, coreutils callPackage ./makeRustcDerivation.nix {
}: shortVersion = "1.0.0-alpha";
isRelease = true;
assert !stdenv.isFreeBSD; srcSha = "0p62gx3s087n09d2v3l9iyfx5cmsa1x91n4ysixcb7w3drr8a8is";
snapshotHashLinux686 = "d8b73fc9aa3ad72ce1408a41e35d78dba10eb4d4";
/* Rust's build process has a few quirks : snapshotHashLinux64 = "697880d3640e981bbbf23284363e8e9a158b588d";
snapshotHashDarwin686 = "a73b1fc03e8cac747aab0aa186292bb4332a7a98";
- It requires some patched in llvm that haven't landed upstream, so it snapshotHashDarwin64 = "e4ae2670ea4ba5c2e5b4245409c9cab45c9eeb5b";
compiles its own llvm. This might change in the future, so at some snapshotDate = "2015-01-07";
point we may be able to switch to nix's llvm. snapshotRev = "9e4e524";
patches = [
- The Rust compiler is written is Rust, so it requires a bootstrap ./patches/hardcode_paths.alpha.patch
compiler, which is downloaded during the build. To make the build ./patches/local_stage0.alpha.patch
pure, we download it ourself before and put it where it is ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
expected. Once the language is stable (1.0) , we might want to
switch it to use nix's packaged rust compiler.
*/
with ((import ./common.nix) {inherit stdenv; version = "1.0.0-alpha"; });
let snapshotHash = if stdenv.system == "i686-linux"
then "d8b73fc9aa3ad72ce1408a41e35d78dba10eb4d4"
else if stdenv.system == "x86_64-linux"
then "697880d3640e981bbbf23284363e8e9a158b588d"
else if stdenv.system == "i686-darwin"
then "a73b1fc03e8cac747aab0aa186292bb4332a7a98"
else if stdenv.system == "x86_64-darwin"
then "e4ae2670ea4ba5c2e5b4245409c9cab45c9eeb5b"
else abort "no-snapshot for platform ${stdenv.system}";
snapshotDate = "2015-01-07";
snapshotRev = "9e4e524";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
in stdenv.mkDerivation {
inherit name;
inherit version;
inherit meta;
src = fetchurl {
url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = "0p62gx3s087n09d2v3l9iyfx5cmsa1x91n4ysixcb7w3drr8a8is";
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
snapshot = stdenv.mkDerivation {
name = "rust-stage0";
src = fetchurl {
url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
sha1 = snapshotHash;
};
dontStrip = true;
installPhase = ''
mkdir -p "$out"
cp -r bin "$out/bin"
'' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
"$out/bin/rustc"
'' else "");
};
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
# The compiler requires cc, so we patch the source to tell it where to find it
patches = [ ./hardcode_paths.patch ./local_stage0.patch ]
++ stdenv.lib.optional stdenv.needsPax ./grsec.patch;
postPatch = ''
substituteInPlace src/librustc_trans/back/link.rs \
--subst-var-by "ccPath" "${stdenv.cc}/bin/cc"
substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
substituteInPlace src/rust-installer/gen-install-script.sh \
--replace /bin/echo "${coreutils}/bin/echo"
substituteInPlace src/rust-installer/gen-installer.sh \
--replace /bin/echo "${coreutils}/bin/echo"
'';
buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ];
enableParallelBuilding = false; # disabled due to rust-lang/rust#16305
preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
doCheck = true;
} }

View File

@ -0,0 +1,16 @@
{ 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

@ -1,35 +0,0 @@
{stdenv, version}:
{
inherit version;
platform = if stdenv.system == "i686-linux"
then "linux-i386"
else if stdenv.system == "x86_64-linux"
then "linux-x86_64"
else if stdenv.system == "i686-darwin"
then "macos-i386"
else if stdenv.system == "x86_64-darwin"
then "macos-x86_64"
else abort "no snapshot to bootstrap for this platform (missing platform url suffix)";
target = if stdenv.system == "i686-linux"
then "i686-unknown-linux-gnu"
else if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else if stdenv.system == "i686-darwin"
then "i686-apple-darwin"
else if stdenv.system == "x86_64-darwin"
then "x86_64-apple-darwin"
else abort "no snapshot to bootstrap for this platform (missing target triple)";
meta = with stdenv.lib; {
homepage = http://www.rust-lang.org/;
description = "A safe, concurrent, practical language";
maintainers = with maintainers; [ madjar cstrahan wizeman ];
license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
platforms = platforms.linux;
};
name = "rustc-${version}";
}

View File

@ -1,16 +0,0 @@
diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
index 2fcdd32..2d9ddb0 100644
--- a/src/test/run-make/relocation-model/Makefile
+++ b/src/test/run-make/relocation-model/Makefile
@@ -5,9 +5,11 @@ all:
$(call RUN,foo)
$(RUSTC) -C relocation-model=default foo.rs
+ paxctl -czexm $(TMPDIR)/foo
$(call RUN,foo)
$(RUSTC) -C relocation-model=static foo.rs
+ paxctl -czexm $(TMPDIR)/foo
$(call RUN,foo)
$(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs

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

@ -1,101 +1,18 @@
{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper { stdenv, callPackage }:
, tzdata, git, valgrind, procps, coreutils callPackage ./makeRustcDerivation.nix {
}: shortVersion = "1.0.0-dev";
isRelease = false;
assert !stdenv.isFreeBSD; # src rev for master on 2015/03/01
srcRev = "157614249594f187f421cd97f928e64c5ab5c1fa";
/* Rust's build process has a few quirks : srcSha = "06d6fwl1dg6wfnwa002ak89hnjplpf2sjhg78yjg4ki0ca7b0b74";
snapshotHashLinux686 = "3278ebbce8cb269acc0614dac5ddac07eab6a99c";
- It requires some patched in llvm that haven't landed upstream, so it snapshotHashLinux64 = "72287d0d88de3e5a53bae78ac0d958e1a7637d73";
compiles its own llvm. This might change in the future, so at some snapshotHashDarwin686 = "33b366b5287427a340a0aa6ed886d5ff4edf6a76";
point we may be able to switch to nix's llvm. snapshotHashDarwin64 = "914bf9baa32081a9d5633f1d06f4d382cd71504e";
snapshotDate = "2015-02-25";
- The Rust compiler is written is Rust, so it requires a bootstrap snapshotRev = "880fb89";
compiler, which is downloaded during the build. To make the build patches = [
pure, we download it ourself before and put it where it is ./patches/head.patch
expected. Once the language is stable (1.0) , we might want to ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
switch it to use nix's packaged rust compiler.
NOTE : some derivation depend on rust. When updating this, please make
sure those derivations still compile. (racer, for example).
*/
let shortVersion = "1.0.0-dev";
rev = "a833337943300db1c310a4cf9c84b7b4ef4e9468";
revShort = builtins.substring 0 7 rev;
in
with ((import ./common.nix) {inherit stdenv; version = "${shortVersion}-g${revShort}"; });
let snapshotHash = if stdenv.system == "i686-linux"
then "0197ad7179d74eba06a8b46432548caf226aa03d"
else if stdenv.system == "x86_64-linux"
then "03459f8b216e96ed8b9abe25a42a75859195103d"
else if stdenv.system == "i686-darwin"
then "b5c004883ddff84159f11a3329cde682e0b7f75b"
else if stdenv.system == "x86_64-darwin"
then "b69ea42e1c995682adf0390ed4ef8a762c001a4e"
else abort "no snapshot for platform ${stdenv.system}";
snapshotDate = "2015-01-15";
snapshotRev = "9ade482";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
in
stdenv.mkDerivation {
inherit name;
inherit version;
inherit meta;
src = fetchgit {
url = https://github.com/rust-lang/rust;
inherit rev;
sha256 = "1b9rnx3j37ckxa3vf20g8amsbffzvk2m9lzv5x1m04ci54w85f56";
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
snapshot = stdenv.mkDerivation {
name = "rust-stage0";
src = fetchurl {
url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
sha1 = snapshotHash;
};
dontStrip = true;
installPhase = ''
mkdir -p "$out"
cp -r bin "$out/bin"
'' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
"$out/bin/rustc"
'' else "");
};
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
# The compiler requires cc, so we patch the source to tell it where to find it
patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ]
++ stdenv.lib.optional stdenv.needsPax ./grsec.HEAD.patch;
postPatch = ''
substituteInPlace src/librustc_trans/back/link.rs \
--subst-var-by "ccPath" "${stdenv.cc}/bin/cc"
substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
substituteInPlace src/rust-installer/gen-install-script.sh \
--replace /bin/echo "${coreutils}/bin/echo"
substituteInPlace src/rust-installer/gen-installer.sh \
--replace /bin/echo "${coreutils}/bin/echo"
'';
buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ];
enableParallelBuilding = false; # disabled due to rust-lang/rust#16305
preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
doCheck = true;
} }

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

@ -0,0 +1,140 @@
{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper
, tzdata, git, valgrind, procps, coreutils
, shortVersion, isRelease
, srcSha, srcRev ? ""
, snapshotHashLinux686, snapshotHashLinux64
, snapshotHashDarwin686, snapshotHashDarwin64
, snapshotDate, snapshotRev
, patches
}:
assert !stdenv.isFreeBSD;
/* Rust's build process has a few quirks :
- It requires some patched in llvm that haven't landed upstream, so it
compiles its own llvm. This might change in the future, so at some
point we may be able to switch to nix's llvm.
- The Rust compiler is written is Rust, so it requires a bootstrap
compiler, which is downloaded during the build. To make the build
pure, we download it ourself before and put it where it is
expected. Once the language is stable (1.0) , we might want to
switch it to use nix's packaged rust compiler.
NOTE : some derivation depend on rust. When updating this, please make
sure those derivations still compile. (racer, for example).
*/
assert (if isRelease then srcRev == "" else srcRev != "");
let version = if isRelease then
"${shortVersion}"
else
"${shortVersion}-g${builtins.substring 0 7 srcRev}";
name = "rustc-${version}";
platform = if stdenv.system == "i686-linux"
then "linux-i386"
else if stdenv.system == "x86_64-linux"
then "linux-x86_64"
else if stdenv.system == "i686-darwin"
then "macos-i386"
else if stdenv.system == "x86_64-darwin"
then "macos-x86_64"
else abort "no snapshot to bootstrap for this platform (missing platform url suffix)";
target = if stdenv.system == "i686-linux"
then "i686-unknown-linux-gnu"
else if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else if stdenv.system == "i686-darwin"
then "i686-apple-darwin"
else if stdenv.system == "x86_64-darwin"
then "x86_64-apple-darwin"
else abort "no snapshot to bootstrap for this platform (missing target triple)";
meta = with stdenv.lib; {
homepage = http://www.rust-lang.org/;
description = "A safe, concurrent, practical language";
maintainers = with maintainers; [ madjar cstrahan wizeman ];
license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
platforms = platforms.linux;
};
snapshotHash = if stdenv.system == "i686-linux"
then snapshotHashLinux686
else if stdenv.system == "x86_64-linux"
then snapshotHashLinux64
else if stdenv.system == "i686-darwin"
then snapshotHashDarwin686
else if stdenv.system == "x86_64-darwin"
then snapshotHashDarwin64
else abort "no snapshot for platform ${stdenv.system}";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
in
stdenv.mkDerivation {
inherit name;
inherit version;
inherit meta;
src = if isRelease then
fetchurl {
url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = srcSha;
}
else
fetchgit {
url = https://github.com/rust-lang/rust;
rev = srcRev;
sha256 = srcSha;
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
snapshot = stdenv.mkDerivation {
name = "rust-stage0";
src = fetchurl {
url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
sha1 = snapshotHash;
};
dontStrip = true;
installPhase = ''
mkdir -p "$out"
cp -r bin "$out/bin"
'' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
"$out/bin/rustc"
'' else "");
};
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
inherit patches;
postPatch = ''
substituteInPlace src/librustc_trans/back/link.rs \
--subst-var-by "ccPath" "${stdenv.cc}/bin/cc"
substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
substituteInPlace src/rust-installer/gen-install-script.sh \
--replace /bin/echo "${coreutils}/bin/echo"
substituteInPlace src/rust-installer/gen-installer.sh \
--replace /bin/echo "${coreutils}/bin/echo"
'';
buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ];
enableParallelBuilding = false; # disabled due to rust-lang/rust#16305
preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
doCheck = true;
}

View File

@ -0,0 +1,44 @@
diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
index b506aff..b4b346b 100755
--- a/src/etc/local_stage0.sh
+++ b/src/etc/local_stage0.sh
@@ -50,11 +50,6 @@ if [ -z $TARG_DIR ]; then
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
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index c45ee25..0f91672 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 ef849bb..e090b99 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
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

@ -0,0 +1,44 @@
diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
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
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
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index 6bf7453..319f9af 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 ea5001a..911445c 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
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

@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
maintainers = [ stdenv.lib.maintainers.simons ]; maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
broken = !stdenv.is64bit; # the linux 32 bit build fails.
}; };
} }

View File

@ -57,6 +57,9 @@ self: super: {
''; '';
}); });
# The package doesn't know about the AL include hierarchy.
al = appendConfigureFlag super.al "--extra-include-dirs=${pkgs.openal}/include/AL";
# Depends on code distributed under a non-free license. # Depends on code distributed under a non-free license.
bindings-yices = dontDistribute super.bindings-yices; bindings-yices = dontDistribute super.bindings-yices;
yices = dontDistribute super.yices; yices = dontDistribute super.yices;
@ -117,6 +120,7 @@ self: super: {
shakespeare-text = dontHaddock super.shakespeare-text; shakespeare-text = dontHaddock super.shakespeare-text;
types-compat = dontHaddock super.types-compat; # https://github.com/philopon/apiary/issues/15 types-compat = dontHaddock super.types-compat; # https://github.com/philopon/apiary/issues/15
wai-test = dontHaddock super.wai-test; wai-test = dontHaddock super.wai-test;
zlib-conduit = dontHaddock super.zlib-conduit;
# jailbreak doesn't get the job done because the Cabal file uses conditionals a lot. # jailbreak doesn't get the job done because the Cabal file uses conditionals a lot.
darcs = overrideCabal super.darcs (drv: { darcs = overrideCabal super.darcs (drv: {
@ -150,12 +154,6 @@ self: super: {
# http://openradar.appspot.com/10207999 and similar issues # http://openradar.appspot.com/10207999 and similar issues
fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify; fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify;
# Doesn't properly handle nonsense byte sequences on HFS+
# https://github.com/fpco/haskell-filesystem/issues/5
system-fileio = if pkgs.stdenv.isDarwin
then dontCheck super.system-fileio
else super.system-fileio;
# Prevents needing to add security_tool as a build tool to all of x509-system's # Prevents needing to add security_tool as a build tool to all of x509-system's
# dependencies. # dependencies.
# TODO: use pkgs.darwin.security_tool once we can build it # TODO: use pkgs.darwin.security_tool once we can build it
@ -230,8 +228,9 @@ self: super: {
postgresql-simple = dontCheck super.postgresql-simple; postgresql-simple = dontCheck super.postgresql-simple;
postgrest = dontCheck super.postgrest; postgrest = dontCheck super.postgrest;
snowball = dontCheck super.snowball; snowball = dontCheck super.snowball;
test-sandbox = dontCheck super.test-sandbox;
wai-middleware-hmac = dontCheck super.wai-middleware-hmac; wai-middleware-hmac = dontCheck super.wai-middleware-hmac;
wai-middleware-throttle = dontCheck super.wai-middleware-throttle; wai-middleware-throttle = dontCheck super.wai-middleware-throttle; # https://github.com/creichert/wai-middleware-throttle/issues/1
xmlgen = dontCheck super.xmlgen; xmlgen = dontCheck super.xmlgen;
# These packages try to access the network. # These packages try to access the network.
@ -588,6 +587,30 @@ self: super: {
lambdabot-reference-plugins = markBroken super.lambdabot-reference-plugins; lambdabot-reference-plugins = markBroken super.lambdabot-reference-plugins;
lambdabot-social-plugins = markBroken super.lambdabot-social-plugins; lambdabot-social-plugins = markBroken super.lambdabot-social-plugins;
# Upstream provides no issue tracker and no contact details.
vivid = markBroken super.vivid;
# Test suite wants to connect to $DISPLAY.
hsqml = dontCheck super.hsqml;
# https://github.com/megantti/rtorrent-rpc/issues/1
rtorrent-rpc = markBroken super.rtorrent-rpc;
# https://github.com/PaulJohnson/geodetics/issues/1
geodetics = dontCheck super.geodetics;
# https://github.com/AndrewRademacher/aeson-casing/issues/1
aeson-casing = dontCheck super.aeson-casing;
# https://github.com/junjihashimoto/test-sandbox-compose/issues/2
test-sandbox-compose = dontCheck super.test-sandbox-compose;
# Broken by GLUT update.
Monadius = markBroken super.Monadius;
# https://github.com/ddssff/cabal-debian/issues/35
cabal-debian = markBroken super.cabal-debian;
} // { } // {
# Not on Hackage. # Not on Hackage.

View File

@ -81,25 +81,23 @@ self: super: {
# Needs mtl 2.2.x due to "plailude". # Needs mtl 2.2.x due to "plailude".
clac = dontDistribute super.clac; clac = dontDistribute super.clac;
# https://github.com/junjihashimoto/test-sandbox-compose/issues/1
hspec-test-sandbox = markBroken super.hspec-test-sandbox;
test-framework-sandbox = markBroken super.test-sandbox-quickcheck;
test-sandbox = markBroken super.test-sandbox;
test-sandbox-compose = markBroken super.test-sandbox-compose;
test-sandbox-hunit = markBroken super.test-sandbox-hunit;
test-sandbox-quickcheck = markBroken super.test-sandbox-quickcheck;
# These packages need mtl 2.2.x directly or indirectly via dependencies. # These packages need mtl 2.2.x directly or indirectly via dependencies.
apiary-purescript = markBroken super.apiary-purescript; apiary-purescript = markBroken super.apiary-purescript;
highlighter2 = markBroken super.highlighter2; highlighter2 = markBroken super.highlighter2;
hypher = markBroken super.hypher; hypher = markBroken super.hypher;
purescript = markBroken super.purescript; purescript = markBroken super.purescript;
xhb-atom-cache = markBroken super.xhb-atom-cache;
xhb-ewmh = markBroken super.xhb-ewmh;
yesod-purescript = markBroken super.yesod-purescript; yesod-purescript = markBroken super.yesod-purescript;
yet-another-logger = markBroken super.yet-another-logger; yet-another-logger = markBroken super.yet-another-logger;
# https://github.com/frosch03/arrowVHDL/issues/2 # https://github.com/frosch03/arrowVHDL/issues/2
ArrowVHDL = markBroken super.ArrowVHDL; ArrowVHDL = markBroken super.ArrowVHDL;
# https://ghc.haskell.org/trac/ghc/ticket/9625
wai-middleware-preprocessor = dontCheck super.wai-middleware-preprocessor;
incremental-computing = dontCheck super.incremental-computing;
} }
// # packages relating to amazonka // # packages relating to amazonka

File diff suppressed because it is too large Load Diff

View File

@ -246,67 +246,94 @@ let
(map mkBuildFlags (map mkBuildFlags
(lib.filter needsBuildFlags (attrValues instantiated))); (lib.filter needsBuildFlags (attrValues instantiated)));
in derivation = stdenv.mkDerivation {
inherit name;
stdenv.mkDerivation { buildInputs = [
inherit name; ruby
bundler
git
];
buildInputs = [ phases = [ "installPhase" "fixupPhase" ];
ruby
bundler
git
];
phases = [ "installPhase" "fixupPhase" ]; outputs = [
"out" # the installed libs/bins
"bundle" # supporting files for bundler
];
outputs = [ installPhase = ''
"out" # the installed libs/bins mkdir -p $bundle
"bundle" # supporting files for bundler export BUNDLE_GEMFILE=$bundle/Gemfile
]; cp ${gemfile} $BUNDLE_GEMFILE
cp ${purifiedLockfile} $BUNDLE_GEMFILE.lock
installPhase = '' export NIX_GEM_SOURCES=${sources}
mkdir -p $bundle export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath}
export BUNDLE_GEMFILE=$bundle/Gemfile
cp ${gemfile} $BUNDLE_GEMFILE
cp ${purifiedLockfile} $BUNDLE_GEMFILE.lock
export NIX_GEM_SOURCES=${sources} export GEM_HOME=$out/${ruby.gemPath}
export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath} export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
mkdir -p $GEM_HOME
export GEM_HOME=$out/${ruby.gemPath} ${allBuildFlags}
export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
mkdir -p $GEM_HOME
${allBuildFlags} mkdir gems
cp ${bundler}/${bundler.ruby.gemPath}/cache/bundler-*.gem gems
${copyGems}
mkdir gems ${lib.optionalString (!documentation) ''
cp ${bundler}/${bundler.ruby.gemPath}/cache/bundler-*.gem gems mkdir home
${copyGems} HOME="$(pwd -P)/home"
echo "gem: --no-rdoc --no-ri" > $HOME/.gemrc
''}
${lib.optionalString (!documentation) '' mkdir env
mkdir home ${runPreInstallers}
HOME="$(pwd -P)/home"
echo "gem: --no-rdoc --no-ri" > $HOME/.gemrc
''}
mkdir env mkdir $out/bin
${runPreInstallers} cp ${./monkey_patches.rb} monkey_patches.rb
export RUBYOPT="-rmonkey_patches.rb -I $(pwd -P)"
bundler install --frozen --binstubs ${lib.optionalString enableParallelBuilding "--jobs $NIX_BUILD_CORES"}
RUBYOPT=""
mkdir $out/bin runHook postInstall
cp ${./monkey_patches.rb} monkey_patches.rb '';
export RUBYOPT="-rmonkey_patches.rb -I $(pwd -P)"
bundler install --frozen --binstubs ${lib.optionalString enableParallelBuilding "--jobs $NIX_BUILD_CORES"}
RUBYOPT=""
runHook postInstall inherit postInstall;
'';
inherit postInstall; passthru = {
inherit ruby;
inherit bundler;
passthru = { env = let
inherit ruby; irbrc = builtins.toFile "irbrc" ''
inherit bundler; if not ENV["OLD_IRBRC"].empty?
require ENV["OLD_IRBRC"]
end
require 'rubygems'
require 'bundler/setup'
'';
in stdenv.mkDerivation {
name = "interactive-${name}-environment";
nativeBuildInputs = [ ruby derivation ];
shellHook = ''
export BUNDLE_GEMFILE=${derivation.bundle}/Gemfile
export GEM_HOME=${derivation}/${ruby.gemPath}
export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath}
export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
export OLD_IRBRC="$IRBRC"
export IRBRC=${irbrc}
'';
buildCommand = ''
echo >&2 ""
echo >&2 "*** Ruby 'env' attributes are intended for interactive nix-shell sessions, not for building! ***"
echo >&2 ""
exit 1
'';
};
};
inherit meta;
}; };
inherit meta; in derivation
}

View File

@ -2,11 +2,11 @@
gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }: gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kdevplatform-1.7.0"; name = "kdevplatform-1.7.1";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/kdevelop/4.7.0/src/${name}.tar.xz"; url = "mirror://kde/stable/kdevelop/4.7.1/src/${name}.tar.xz";
sha256 = "bfd765019511c5c9abc19bc412c75d7abd468f1a077ce4bc471cd6704b9f53f7"; sha256 = "dfd8953aec204f04bd949443781aa0f6d9d58c40f73027619a168bb4ffc4b1ac";
}; };
propagatedBuildInputs = [ kdelibs qt4 phonon ]; propagatedBuildInputs = [ kdelibs qt4 phonon ];

View File

@ -50,4 +50,6 @@ stdenv.mkDerivation rec {
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ]; maintainers = with maintainers; [ wkennington ];
}; };
passthru.implementation = "heimdal";
} }

View File

@ -34,4 +34,6 @@ stdenv.mkDerivation (rec {
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ]; maintainers = with maintainers; [ wkennington ];
}; };
passthru.implementation = "krb5";
}) })

View File

@ -21,14 +21,13 @@ stdenv.mkDerivation rec {
dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling. dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
postInstall = # Install headers in the right place.
# Install headers in the right place. postInstall = ''
'' ln -s${if stdenv.isBSD then "" else "r"}v "$out/lib/"libffi*/include "$out/include" ln -s${if (stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) then "" else "r"}v "$out/lib/"libffi*/include "$out/include"
''; '';
meta = { meta = {
description = "A foreign function call interface library"; description = "A foreign function call interface library";
longDescription = '' longDescription = ''
The libffi library provides a portable, high level programming The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a interface to various calling conventions. This allows a
@ -43,12 +42,9 @@ stdenv.mkDerivation rec {
interface. A layer must exist above libffi that handles type interface. A layer must exist above libffi that handles type
conversions for values passed between the two languages. conversions for values passed between the two languages.
''; '';
homepage = http://sourceware.org/libffi/; homepage = http://sourceware.org/libffi/;
# See http://github.com/atgreen/libffi/blob/master/LICENSE . # See http://github.com/atgreen/libffi/blob/master/LICENSE .
license = stdenv.lib.licenses.free; license = stdenv.lib.licenses.free;
maintainers = [ ]; maintainers = [ ];
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
}; };

View File

@ -0,0 +1,10 @@
--- a/libsoup/libsoup-2.4.sym 2014-10-29 22:37:54 -0700
+++ b/libsoup/libsoup-2.4.sym 2014-06-18 07:42:51 -0700
@@ -348,7 +348,6 @@
soup_server_get_async_context
soup_server_get_listener
soup_server_get_listeners
-soup_server_get_gsocket
soup_server_get_port
soup_server_get_type
soup_server_get_uris

View File

@ -16,6 +16,7 @@ stdenv.mkDerivation {
patchPhase = '' patchPhase = ''
patchShebangs libsoup/ patchShebangs libsoup/
patch -p1 < ${./bad-symbol.patch}
''; '';
buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]; buildInputs = libintlOrEmpty ++ [ intltool python sqlite ];

View File

@ -0,0 +1,21 @@
{ stdenv, fetchgit, cmake, pkgconfig }:
stdenv.mkDerivation rec {
name = "nss_wrapper-1.0.3";
src = fetchgit {
url = "git://git.samba.org/nss_wrapper.git";
rev = "refs/tags/${name}";
sha256 = "1jka6d873vhvfr7k378xvgxmbpka87w33iq6b91ynwg36pz53ifw";
};
buildInputs = [ cmake pkgconfig ];
meta = with stdenv.lib; {
description = "a wrapper for the user, group and hosts NSS API";
homepage = https://git.samba.org/?p=nss_wrapper.git;a=summary;
license = licenses.bsd3;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.all;
};
}

View File

@ -1,21 +1,41 @@
{stdenv, fetchurl, libtool, pcsclite, libusb, pkgconfig}: { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, pcsclite, libusb
, doxygen, libxslt
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "openct-0.6.19"; name = "openct-${version}";
version = "0.6.20";
src = fetchurl { src = fetchFromGitHub {
url = "http://www.opensc-project.org/files/openct/${name}.tar.gz"; owner = "OpenSC";
sha256 = "1y4jlr877g3lziq7i3p6pdkscqpkn1lld874q6r2hsvc39n7c88z"; repo = "openct";
rev = name;
sha256 = "09wxq0jxdxhci3zr7jd3zcxjkl3j0r1v00k3q8gqrg9gighh8nk2";
}; };
configureFlags = [ "--enable-usb" "--enable-pcsc" "--localstatedir=/var" ];
buildInputs = [ libtool pcsclite libusb pkgconfig ];
meta = { postPatch = ''
homepage = http://www.opensc-project.org/openct/; sed -i 's,$(DESTDIR),$(out),g' etc/Makefile.am
license = "LGPL"; '';
configureFlags = [
"--enable-api-doc"
"--enable-usb"
"--enable-pcsc"
"--localstatedir=/var"
"--sysconfdir=/etc"
];
buildInputs = [ autoreconfHook pkgconfig pcsclite libusb doxygen libxslt ];
preInstall = ''
mkdir -p $out/etc
'';
meta = with stdenv.lib; {
homepage = https://github.com/OpenSC/openct/;
license = licenses.lgpl21;
description = "Drivers for several smart card readers"; description = "Drivers for several smart card readers";
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with maintainers; [ viric wkennington ];
platforms = with stdenv.lib.platforms; linux; platforms = platforms.all;
}; };
} }

View File

@ -0,0 +1,21 @@
{ stdenv, fetchgit, cmake, pkgconfig }:
stdenv.mkDerivation rec {
name = "socket_wrapper-1.1.3";
src = fetchgit {
url = "git://git.samba.org/socket_wrapper.git";
rev = "refs/tags/${name}";
sha256 = "0b3sfjy7418gg52qkdblfi5x57g4m44n7434xhacz9isyl5m52vn";
};
buildInputs = [ cmake pkgconfig ];
meta = with stdenv.lib; {
description = "a library passing all socket communications through unix sockets";
homepage = https://git.samba.org/?p=socket_wrapper.git;a=summary;
license = licenses.bsd3;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.all;
};
}

View File

@ -3,11 +3,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tevent-0.9.22"; name = "tevent-0.9.24";
src = fetchurl { src = fetchurl {
url = "mirror://samba/tevent/${name}.tar.gz"; url = "mirror://samba/tevent/${name}.tar.gz";
sha256 = "0myyi3lwsi6f3f0a5qw8rjpm2d5yf18pw4vljdwyi885l411sksl"; sha256 = "0l1zjx2z6nhvn6gwbcvzn8w0cca53j717fwi10s7a5v1jb04rfad";
}; };
buildInputs = [ buildInputs = [

View File

@ -0,0 +1,21 @@
{ stdenv, fetchgit, cmake, pkgconfig }:
stdenv.mkDerivation rec {
name = "uid_wrapper-1.1.0";
src = fetchgit {
url = "git://git.samba.org/uid_wrapper.git";
rev = "refs/tags/${name}";
sha256 = "1wb71lliw56pmks3vm9m3ndf8hqnyw9iyppy1nyl80msi4ssq5jj";
};
buildInputs = [ cmake pkgconfig ];
meta = with stdenv.lib; {
description = "a wrapper for the user, group and hosts NSS API";
homepage = https://git.samba.org/?p=uid_wrapper.git;a=summary;
license = licenses.bsd3;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.all;
};
}

View File

@ -217,6 +217,30 @@ in
}; };
}; };
android_support_extra = buildGoogleApis {
name = "android_support_extra";
src = fetchurl {
url = https://dl-ssl.google.com/android/repository/support_r20.zip;
sha1 = "719c260dc3eb950712988f987daaf91afa9e36af";
};
meta = {
description = "Android Support Library";
url = http://developer.android.com/;
};
};
google_play_services = buildGoogleApis {
name = "google_play_services";
src = fetchurl {
url = https://dl-ssl.google.com/android/repository/google_play_services_3265130_r12.zip;
sha1 = "92558dbc380bba3d55d0ec181167fb05ce7c79d9";
};
meta = {
description = "Google Play services client library and sample code";
url = http://developer.android.com/;
};
};
} }

View File

@ -0,0 +1,80 @@
{ stdenv, fetchurl, zlib, ncurses, lib, makeWrapper
, coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which
, platformTools
}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "android-ndk-r8e";
src = if stdenv.system == "i686-linux"
then fetchurl {
url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2";
sha256 = "c2c4e0c8b3037149a0f5dbb08d72f814a52af4da9fff9d80328c675457e95a98";
}
else if stdenv.system == "x86_64-linux" then fetchurl {
url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2";
sha256 = "093gf55zbh38p2gk5bdykj1vg9p5l774wjdzw5mhk4144jm1wdq7";
}
else throw "platform ${stdenv.system} not supported!";
phases = "buildPhase";
buildInputs = [ makeWrapper ];
buildCommand = let
bin_path = "$out/bin";
pkg_path = "$out/libexec/${name}";
sed_script_1 =
"'s|^PROGDIR=`dirname $0`" +
"|PROGDIR=`dirname $(readlink -f $(which $0))`|'";
sed_script_2 =
"'s|^MYNDKDIR=`dirname $0`" +
"|MYNDKDIR=`dirname $(readlink -f $(which $0))`|'";
runtime_paths = (lib.makeSearchPath "bin" [
coreutils file findutils
gawk gnugrep gnused
jdk
which
]) + ":${platformTools}/platform-tools";
in ''
set -x
mkdir -pv $out/libexec
cd $out/libexec
tar -xjf $src
# so that it doesn't fail because of read-only permissions set
cd -
patch -p1 \
--no-backup-if-mismatch \
-d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch }
cd ${pkg_path}
find $out \( \
\( -type f -a -name "*.so*" \) -o \
\( -type f -a -perm /0100 \) \
\) -exec patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-*so.? \
--set-rpath ${zlib}/lib:${ncurses}/lib {} \;
# fix ineffective PROGDIR / MYNDKDIR determination
for i in ndk-build ndk-gdb ndk-gdb-py
do
sed -i -e ${sed_script_1} $i
done
sed -i -e ${sed_script_2} ndk-which
# a bash script
patchShebangs ndk-which
# make some executables available in PATH
mkdir -pv ${bin_path}
for i in \
ndk-build ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which
do
ln -sf ${pkg_path}/$i ${bin_path}/$i
done
# wrap
for i in ndk-build ndk-gdb ndk-gdb-py ndk-which
do
wrapProgram "${bin_path}/$i" --prefix PATH : "${runtime_paths}"
done
'';
}

View File

@ -5,7 +5,7 @@
, libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
, freetype, fontconfig, glib, gtk, atk, file, jdk , freetype, fontconfig, glib, gtk, atk, file, jdk
}: }:
{platformVersions, abiVersions, useGoogleAPIs}: {platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs?false, useGooglePlayServices?false}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "android-sdk-${version}"; name = "android-sdk-${version}";
@ -134,6 +134,18 @@ stdenv.mkDerivation rec {
ln -s ${supportRepository}/m2repository ln -s ${supportRepository}/m2repository
${if useExtraSupportLibs then
"ln -s ${addons.android_support_extra}/support ."
else ""}
cd ..
mkdir -p google
cd google
${if useGooglePlayServices then
"ln -s ${addons.google_play_services}/google-play-services google_play_services"
else ""}
cd ../.. cd ../..
# Symlink required platforms # Symlink required platforms

View File

@ -134,11 +134,26 @@ rec {
useGoogleAPIs = true; useGoogleAPIs = true;
}; };
androidsdk_5_0_1_extras = androidsdk {
platformVersions = [ "21" ];
abiVersions = [ "armeabi-v7a" "x86" ];
useGoogleAPIs = true;
useExtraSupportLibs = true;
useGooglePlayServices = true;
};
androidndk = import ./androidndk.nix { androidndk = import ./androidndk.nix {
inherit (pkgs) stdenv fetchurl zlib ncurses p7zip lib makeWrapper; inherit (pkgs) stdenv fetchurl zlib ncurses p7zip lib makeWrapper;
inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which; inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
inherit platformTools; inherit platformTools;
}; };
androidndk_r8e = import ./androidndk_r8e.nix {
inherit (pkgs) stdenv fetchurl zlib ncurses lib makeWrapper;
inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
inherit platformTools;
};
buildApp = import ./build-app.nix { buildApp = import ./build-app.nix {
inherit (pkgs) stdenv jdk ant gnumake gawk file which; inherit (pkgs) stdenv jdk ant gnumake gawk file which;

View File

@ -0,0 +1,13 @@
diff -ru android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh android-ndk-r8e/build/tools/make-standalone-toolchain.sh
--- android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh 2014-10-16 03:46:32.000000000 +0200
+++ android-ndk-r8e/build/tools/make-standalone-toolchain.sh 2014-10-24 23:46:22.544928306 +0200
@@ -194,6 +194,9 @@
# Now copy the GCC toolchain prebuilt binaries
run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR"
+# Making it writable again
+chmod -R +w "$TMPDIR"
+
if [ -n "$LLVM_VERSION" ]; then
# Copy the clang/llvm toolchain prebuilt binaries
run copy_directory "$LLVM_TOOLCHAIN_PATH" "$TMPDIR"

View File

@ -0,0 +1,24 @@
{ stdenv, fetchzip, ocaml, findlib }:
let version = "2.0.0"; in
stdenv.mkDerivation {
name = "ocaml-base64-${version}";
src = fetchzip {
url = "https://github.com/mirage/ocaml-base64/archive/v${version}.tar.gz";
sha256 = "1nv55gwq5vaxmrcz9ja2s165b1p9fhcxszc1l76043gpa56qm4fs";
};
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
meta = {
homepage = https://github.com/mirage/ocaml-base64;
platforms = ocaml.meta.platforms;
description = "Base64 encoding and decoding in OCaml";
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, ocaml, findlib }:
stdenv.mkDerivation {
name = "ocaml-fileutils-0.4.5";
src = fetchurl {
url = https://forge.ocamlcore.org/frs/download.php/1194/ocaml-fileutils-0.4.5.tar.gz;
sha256 = "0rlqmcgjrfjihjgw5cfmack169cag8054gh5yrqph15av3lx5cra";
};
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
meta = {
homepage = https://forge.ocamlcore.org/projects/ocaml-fileutils/;
platforms = ocaml.meta.platforms;
description = "Library to provide pure OCaml functions to manipulate real file (POSIX like) and filename";
license = stdenv.lib.licenses.lgpl21Plus;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -663,7 +663,6 @@ let
"ArrayBin" # requires SAGx "ArrayBin" # requires SAGx
"babel" # requires edgeR "babel" # requires edgeR
"BACA" # requires RDAVIDWebService "BACA" # requires RDAVIDWebService
"bamboo" # depends on broken jvmr
"BcDiag" # requires fabia "BcDiag" # requires fabia
"bdvis" # requres taxize "bdvis" # requres taxize
"beadarrayFilter" # requires beadarray "beadarrayFilter" # requires beadarray
@ -694,6 +693,7 @@ let
"curvHDR" # requires flowCore "curvHDR" # requires flowCore
"D2C" # requires gRbase "D2C" # requires gRbase
"DAAGbio" # requires limma "DAAGbio" # requires limma
"daff" # requires V8 to build
"dagbag" # requires Rlapack "dagbag" # requires Rlapack
"DBKGrad" # requires SDD "DBKGrad" # requires SDD
"dbmss" # requires spatstat "dbmss" # requires spatstat
@ -761,7 +761,6 @@ let
"isva" # requires qvalue "isva" # requires qvalue
"jomo" # linking errors "jomo" # linking errors
"js" # requires broken V8 "js" # requires broken V8
"jvmr" # tries to download files during its build
"KANT" # requires affy, and Biobase "KANT" # requires affy, and Biobase
"ktspair" # requires Biobase "ktspair" # requires Biobase
"latticeDensity" # requires spatstat "latticeDensity" # requires spatstat
@ -860,6 +859,7 @@ let
"retistruct" # depends on broken RImageJROI "retistruct" # depends on broken RImageJROI
"rggobi" # requires GGobi "rggobi" # requires GGobi
"RImageJROI" # requires spatstat "RImageJROI" # requires spatstat
"rjade" # requires V8 to build
"rJPSGCS" # requires chopsticks "rJPSGCS" # requires chopsticks
"rLindo" # requires LINDO API "rLindo" # requires LINDO API
"Rmosek" # requires mosek "Rmosek" # requires mosek
@ -909,7 +909,6 @@ let
"spocc" # requires leafletR "spocc" # requires leafletR
"SQDA" # requires limma "SQDA" # requires limma
"Statomica" # requires Biobase, multtest "Statomica" # requires Biobase, multtest
"StochKit2R" # tarball is invalid on server
"stpp" # requires spatstat "stpp" # requires spatstat
"structSSI" # requires multtest "structSSI" # requires multtest
"strum" # requires Rgraphviz "strum" # requires Rgraphviz

View File

@ -3,7 +3,12 @@ library(parallel)
cl <- makeCluster(10) cl <- makeCluster(10)
options(repos=structure(c(CRAN="http://cran.rstudio.com/"))) options(repos=structure(c(CRAN="http://cran.rstudio.com/")))
readFormatted <- as.data.table(read.table(skip=6, sep='"', text=head(readLines('cran-packages.nix'), -1)))
nixPrefetch <- function(name, version) { nixPrefetch <- function(name, version) {
prevV <- readFormatted$V2 == name & readFormatted$V4 == version
if (sum(prevV) == 1) as.character(readFormatted$V6[ prevV ]) else
system(paste0("nix-prefetch-url --type sha256 http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE) system(paste0("nix-prefetch-url --type sha256 http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE)
# system(paste0("nix-hash --flat --base32 --type sha256 /nix/store/*", name, "_", version, ".tar.gz", "| head -n 1"), intern=TRUE) # system(paste0("nix-hash --flat --base32 --type sha256 /nix/store/*", name, "_", version, ".tar.gz", "| head -n 1"), intern=TRUE)
} }
@ -21,7 +26,7 @@ formatPackage <- function(name, version, sha256, depends, imports, linkingTo, kn
paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };") paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };")
} }
clusterExport(cl, c("nixPrefetch")) clusterExport(cl, c("nixPrefetch","readFormatted"))
pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates"))) pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates")))
pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib") pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib")

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.4"; version = "6.4.1";
name = "checkstyle-${version}"; name = "checkstyle-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz"; url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz";
sha256 = "0qk653i8973ygz630siava3fm54vxmahbw6rikdi9lzjlpvvn74f"; sha256 = "0w41h5m51mfswdrqpgyjs73x4qr73scswv34f5zwckcih4dvsdzz";
}; };
installPhase = '' installPhase = ''

View File

@ -2,19 +2,19 @@
/* Cargo binary snapshot */ /* Cargo binary snapshot */
let snapshotDate = "2015-01-24"; let snapshotDate = "2015-02-26";
in in
with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; }); with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; });
let snapshotHash = if stdenv.system == "i686-linux" let snapshotHash = if stdenv.system == "i686-linux"
then "96213038f850569f1c4fa6a0d146c6155c0d566b" then "2a28b604d09b4a76a54a05d91f7f158692427b3a"
else if stdenv.system == "x86_64-linux" else if stdenv.system == "x86_64-linux"
then "4d87486493c2881edced7b1d2f8beaac32aaa5b5" then "7367f4aca86d38e209ef7236b00175df036c03e2"
else if stdenv.system == "i686-darwin" else if stdenv.system == "i686-darwin"
then "17b9fc782e86bffe170abb83a01e0cb7c90a0daa" then "e5cabb0a4a2b4e47f7b1ae9b802e2b5d0b14eac5"
else if stdenv.system == "x86_64-darwin" else if stdenv.system == "x86_64-darwin"
then "18887bdbd3e6d2a127aa34216fa06e9877b0fbc6" then "3026c60ddd46d2bcf1cb178fc801095dbfba5286"
else throw "no snapshot for platform ${stdenv.system}"; else throw "no snapshot for platform ${stdenv.system}";
snapshotName = "cargo-nightly-${platform}.tar.gz"; snapshotName = "cargo-nightly-${platform}.tar.gz";
in in
@ -34,7 +34,7 @@ stdenv.mkDerivation {
installPhase = '' installPhase = ''
mkdir -p "$out" mkdir -p "$out"
cp -r bin "$out/bin" ./install.sh "--prefix=$out"
'' + (if stdenv.isLinux then '' '' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \ patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \ --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
patchPhase = '' patchPhase = ''
substituteInPlace "src/cflow.h" \ substituteInPlace "src/cflow.h" \
--replace "/usr/bin/cpp" \ --replace "/usr/bin/cpp" \
"$(cat ${stdenv.cc}/nix-support/orig-gcc)/bin/cpp" "$(cat ${stdenv.cc}/nix-support/orig-cc)/bin/cpp"
''; '';
buildInputs = [ gettext ] ++ buildInputs = [ gettext ] ++

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
#TODO add emacs support #TODO add emacs support
name = "racer-git-2015-01-20"; name = "racer-git-2015-02-28";
src = fetchgit { src = fetchgit {
url = https://github.com/phildawes/racer; url = https://github.com/phildawes/racer;
rev = "599aa524ea949ec5f9f0be0375dbb1df9cb852ae"; rev = "2e1d718fae21431de4493c238196466e9d4996bc";
sha256 = "1kasm7vffn176wr072m1dmqg1rb3wqai9yisxf8mia62548pdx88"; sha256 = "0lvp494kg2hlbbdrwxmmxkyhjw53y9wjdml9z817pwj3fwmrjsx0";
}; };
buildInputs = [ rustc cargo makeWrapper ]; buildInputs = [ rustc cargo makeWrapper ];

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
mv chromedriver $out/bin mv chromedriver $out/bin
patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
wrapProgram "$out/bin/chromedriver" \ wrapProgram "$out/bin/chromedriver" \
--prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH" --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -67,9 +67,9 @@ let
if filterPlatforms == [] then platforms if filterPlatforms == [] then platforms
else else
if hasPrefix "!" entry then if hasPrefix "!" entry then
substract (intersect filterPlatforms nodejs.meta.platforms) platforms subtractLists (intersectLists filterPlatforms nodejs.meta.platforms) platforms
else else
platforms ++ (intersect filterPlatforms nodejs.meta.platforms) platforms ++ (intersectLists filterPlatforms nodejs.meta.platforms)
) [] os; ) [] os;
mapDependencies = deps: f: rec { mapDependencies = deps: f: rec {

View File

@ -39,8 +39,8 @@ buildPythonPackage rec {
fixLoaderPath = fixLoaderPath =
let dollar = "\$"; in let dollar = "\$"; in
'' sed -i "$out/bin/castle-combat" \ '' sed -i "$out/bin/castle-combat" \
-e "/^exec/ iexport LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-gcc)/lib\:"'${dollar}'"LD_LIBRARY_PATH\"\\ -e "/^exec/ iexport LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-cc)/lib\:"'${dollar}'"LD_LIBRARY_PATH\"\\
export LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-gcc)/lib64\:"'${dollar}'"LD_LIBRARY_PATH\"" export LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64\:"'${dollar}'"LD_LIBRARY_PATH\""
''; '';
# ^ # ^
# `--- The run-time says: "libgcc_s.so.1 must be installed for # `--- The run-time says: "libgcc_s.so.1 must be installed for

View File

@ -3,11 +3,11 @@
with stdenv.lib; with stdenv.lib;
assert stdenv.isi686; assert stdenv.isi686;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "tibia-10.75"; name = "tibia-10.76";
src = fetchurl { src = fetchurl {
url = http://static.tibia.com/download/tibia1075.tgz; url = http://static.tibia.com/download/tibia1076.tgz;
sha256 = "16g4spc8lh7sq3lbnjiprj8d2xd9r9mxy4yz2fnfzj6pa4bx3182"; sha256 = "1kzsbrravk8lmpirghhsynnygmcig8jkbw6qfzk1fkabi1d02yrv";
}; };
shell = stdenv.shell; shell = stdenv.shell;

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "2.2.3";
name = "numix-gtk-theme-${version}";
src = fetchurl {
url = "https://github.com/shimmerproject/Numix/archive/v${version}.tar.gz";
sha256 = "b0acc2d81300b898403766456d3406304553cc7016677381f3179dbeb1192a2d";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/themes/Numix
cp -dr --no-preserve='ownership' {LICENSE,CREDITS,index.theme,gtk-2.0,gtk-3.0,metacity-1,openbox-3,unity,xfce-notify-4.0,xfwm4} $out/share/themes/Numix/
'';
meta = {
description = "Numix GTK theme";
homepage = https://numixproject.org;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchgit }: { stdenv, fetchgit }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "firmware-linux-nonfree-2015-02-24"; name = "firmware-linux-nonfree-2015-02-27";
src = fetchgit { src = fetchgit {
url = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; url = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
rev = "4517261caab34742afdeaf0c36128b9579675717"; rev = "cef33368c4d3425f11306496f0250f8ef1cf3c1f";
sha256 = "0w386nfwlqhk1wn7zzhfxkxx06nzqasc4dr0qq61wc29s9qlgi3c"; sha256 = "0az6b7fbhanqdc9v9dl651yqqnfbm1npdibip196vnmd5qlv2iw4";
}; };
preInstall = '' preInstall = ''

View File

@ -3,31 +3,35 @@
with stdenv.lib; with stdenv.lib;
'' ''
# Power management and debugging. # Debugging.
DEBUG_KERNEL y DEBUG_KERNEL y
PM_ADVANCED_DEBUG y
${optionalString (versionOlder version "3.19") ''
PM_RUNTIME y
''}
${optionalString (versionAtLeast version "3.10") ''
X86_INTEL_PSTATE y
''}
TIMER_STATS y TIMER_STATS y
${optionalString (versionOlder version "3.10") ''
USB_SUSPEND y
''}
BACKTRACE_SELF_TEST n BACKTRACE_SELF_TEST n
CPU_NOTIFIER_ERROR_INJECT? n CPU_NOTIFIER_ERROR_INJECT? n
DEBUG_DEVRES n DEBUG_DEVRES n
DEBUG_NX_TEST n DEBUG_NX_TEST n
DEBUG_STACK_USAGE n DEBUG_STACK_USAGE n
${optionalString (!(features.grsecurity or true)) '' ${optionalString (!(features.grsecurity or false)) ''
DEBUG_STACKOVERFLOW n DEBUG_STACKOVERFLOW n
''} ''}
RCU_TORTURE_TEST n RCU_TORTURE_TEST n
SCHEDSTATS n SCHEDSTATS n
DETECT_HUNG_TASK y DETECT_HUNG_TASK y
# Power management.
${optionalString (versionOlder version "3.19") ''
PM_RUNTIME y
''}
PM_ADVANCED_DEBUG y
${optionalString (versionAtLeast version "3.10") ''
X86_INTEL_PSTATE y
''}
INTEL_IDLE y
CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
${optionalString (versionOlder version "3.10") ''
USB_SUSPEND y
''}
# Support drivers that need external firmware. # Support drivers that need external firmware.
STANDALONE n STANDALONE n
@ -151,7 +155,9 @@ with stdenv.lib;
EXT2_FS_XATTR y EXT2_FS_XATTR y
EXT2_FS_POSIX_ACL y EXT2_FS_POSIX_ACL y
EXT2_FS_SECURITY y EXT2_FS_SECURITY y
EXT2_FS_XIP y # Ext2 execute in place support ${optionalString (versionOlder version "4.0") ''
EXT2_FS_XIP y # Ext2 execute in place support
''}
EXT3_FS_POSIX_ACL y EXT3_FS_POSIX_ACL y
EXT3_FS_SECURITY y EXT3_FS_SECURITY y
EXT4_FS_POSIX_ACL y EXT4_FS_POSIX_ACL y

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.10.69"; version = "3.10.70";
extraMeta.branch = "3.10"; extraMeta.branch = "3.10";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "14m4npds1f0whsd1nhnpl3bsscck9kg0r8bvrha4bdlhc8fjzrrc"; sha256 = "0x7v5gy0wr6g8697slhr57zdpv0i6lwa1yrzzrxizvsgvh4y9mpz";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.12.37"; version = "3.12.38";
extraMeta.branch = "3.12"; extraMeta.branch = "3.12";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "0p7d6qdk7327yzfxzlxbxizrf7dm8vxbc3spm2ai4q278wxbi8jx"; sha256 = "0vwvvjzl6qx4nd4577lawmmb8lj3z0zfghm345dh20plhblcl3ck";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.14.33"; version = "3.14.34";
# Remember to update grsecurity! # Remember to update grsecurity!
extraMeta.branch = "3.14"; extraMeta.branch = "3.14";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "07wqh93z5hix5aga2ns8fnkz350i2sx2l7gzr7n6136gbcb5lxb6"; sha256 = "18hdmshrmvp99zq8f8mclaq5f4517inwa8j4ysskpjaxarjjl7h4";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.18.7"; version = "3.18.8";
# Remember to update grsecurity! # Remember to update grsecurity!
extraMeta.branch = "3.18"; extraMeta.branch = "3.18";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "08gl48x9fim8b8icsardp18vckzmi411kwkaswlznmr67gfz89yz"; sha256 = "1nxa0iq3v2jrjk9jy2pjcff40ragd4zxfpizi58pkcpj0gadkyww";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.2.66"; version = "3.2.67";
extraMeta.branch = "3.2"; extraMeta.branch = "3.2";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "09l0rfv10c5kzlgfhi339ly496f6j9ichq3arpvkb3fivjkxcm45"; sha256 = "18pfw17gpvswcs8as2a9d53cpcaj5fq6aricgzh0n34ivyqv6msg";
}; };
# We don't provide these patches if grsecurity is enabled, because # We don't provide these patches if grsecurity is enabled, because

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, ... } @ args: { stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "3.19-rc7"; version = "4.0-rc2";
modDirVersion = "3.19.0-rc7"; modDirVersion = "4.0.0-rc2";
extraMeta.branch = "3.19"; extraMeta.branch = "4.0";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
sha256 = "007xjngbyvdx127rkrzxs23kxcw2z54gzad9954iwhphqw0kpq9x"; sha256 = "1njjl31g27ddjdp5z14fhx4mpm69jqkxy43k7liisvxdc9j75jj9";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -65,17 +65,17 @@ rec {
}; };
grsecurity_stable = grsecPatch grsecurity_stable = grsecPatch
{ kversion = "3.14.33"; { kversion = "3.14.34";
revision = "201502222137"; revision = "201502271838";
branch = "stable"; branch = "stable";
sha256 = "1mzw5g4m5yxs0qzrx2am5s19zggn4n9pws8vsqq82dhawmwcbbq2"; sha256 = "01wi0gidshipjd7f1z5m616saywwq3ghh42ncczi0bbpcmy52x7k";
}; };
grsecurity_unstable = grsecPatch grsecurity_unstable = grsecPatch
{ kversion = "3.18.7"; { kversion = "3.18.8";
revision = "201502222138"; revision = "201502271843";
branch = "test"; branch = "test";
sha256 = "0dnnwky9s8qhfm2b5zhl41m8br4qdxwmwwv8rbp11srydcz1pzib"; sha256 = "0kj05imdll2j4lncdwc9r6fljad6aqa4s5k5dkh26gdcncjslkch";
}; };
grsec_fix_path = grsec_fix_path =

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pax-utils-${version}"; name = "pax-utils-${version}";
version = "0.9.2"; version = "1.0";
src = fetchurl { src = fetchurl {
url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz"; url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz";
sha256 = "1pmlpjhr2475h5v90abmsfgr37r3b6c4mknhzswbgcb10vgh322p"; sha256 = "04p356j46symayh2d14i51xv9qic3iz9gnc7fr906skw3hccr7y3";
}; };
makeFlags = [ makeFlags = [

View File

@ -1,12 +1,12 @@
{ callPackage, fetchgit, ... } @ args: { callPackage, fetchgit, ... } @ args:
callPackage ./generic.nix (args // rec { callPackage ./generic.nix (args // rec {
version = "2015-02-04"; version = "2015-02-27";
src = fetchgit { src = fetchgit {
url = git://github.com/zfsonlinux/spl.git; url = git://github.com/zfsonlinux/spl.git;
rev = "086476f92005506cb07e75f889e8ddb69026e842"; rev = "c1bc8e610be8bf1cc8170f788a89a9ee257eb51f";
sha256 = "1n3cjdwxccvcns7jydgznkb6jy0p59qx1yg512jjf4m9hf5p2pwm"; sha256 = "1rpq7rxqmqmlaqv9aj7n2bmlw3ls55iyhcsk8kp4g9kf20f0pgym";
}; };
patches = [ ./const.patch ./install_prefix-git.patch ]; patches = [ ./const.patch ./install_prefix-git.patch ];

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