diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-05-25 20:38:18 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-05-25 20:38:18 +0000 |
commit | fa1a414aeea9926721ed2b87b74e3f3755538e3b (patch) | |
tree | 5e4d6aea8bcd00c53b71a564ce9e0fe001751a84 | |
parent | d15811bf78eda2aacfa5274822ba07a911d9bca6 (diff) | |
parent | c5098ff56e44ab8eeae3a067838cf4e139196d52 (diff) | |
download | nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar.gz nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar.bz2 nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar.lz nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar.xz nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.tar.zst nixlib-fa1a414aeea9926721ed2b87b74e3f3755538e3b.zip |
Merging from trunk - I had to resolve conflicts on coreutils; I hope I resolved that
well svn path=/nixpkgs/branches/stdenv-updates/; revision=21975
58 files changed, 1264 insertions, 249 deletions
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 3cc8d984a8cd..7f5ae134a3db 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1lm24sw2ziqsib11sddz7gcqzw5iwfnsx65m1i461kxq218xl59h"; }; - buildInputs = [ ncurses help2man ]; + buildInputs = [ ncurses ]; + buildNativeInputs = [ help2man ]; # Tests can't be run because most of them rely on the ability to # fiddle with the terminal. diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index 1ef88f560105..6d3d501887e6 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -1,14 +1,19 @@ { stdenv, fetchurl, pkgconfig, openssl, curl, intltool, gtkClient ? true, gtk }: + stdenv.mkDerivation rec { - name = "transmission-1.92"; + name = "transmission-1.93"; + src = fetchurl { url = "http://mirrors.m0k.org/transmission/files/${name}.tar.bz2"; - sha256 = "1vdvl3aza5cip4skhd2y4ip2vjci7q3y3qi3008ykk28ga93gw6s"; + sha256 = "0w0nsyw10h4lm57qc09ja4iqqwvzcjldnqxi4zp0ha5dkbxv3dz9"; }; + buildInputs = [ pkgconfig openssl curl intltool ] ++ stdenv.lib.optional gtkClient gtk; + configureFlags = if gtkClient then "--enable-gtk" else "--disable-gtk"; + meta = { - description = "A fast, easy and free BitTorrent client."; + description = "A fast, easy and free BitTorrent client"; longDescription = '' Transmission is a BitTorrent client which features a simple interface on top of a cross-platform back-end. @@ -22,7 +27,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.transmissionbt.com/; license = [ "GPLv2" ]; - maintainers = with stdenv.lib.maintainers; [ astsmtl ]; - platforms = with stdenv.lib.platforms; linux; + maintainers = [ stdenv.lib.maintainers.astsmtl ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/office/openoffice/builder.sh b/pkgs/applications/office/openoffice/builder.sh index 848afe962109..131e85de5bf6 100644 --- a/pkgs/applications/office/openoffice/builder.sh +++ b/pkgs/applications/office/openoffice/builder.sh @@ -33,7 +33,8 @@ postConfigure() { buildPhase() { source LinuxX86*Env.Set.sh ./bootstrap - dmake # wait a few hours... + # bootstrap defines the alias 'build', that mostly runs this perl script: + (cd instsetoo_native; perl ../solenv/bin/build.pl --all) # wait a few hours... add -P4 for quadcores } wrapSOffice() { @@ -57,6 +58,7 @@ installPhase() { ooFiles=$out/lib/openoffice # This was all borrowed from ooo-build-2.2.1's bin/ooinstall. + # This needs the ./bootstrap having run in the buildPhase to get some env vars. eval $(grep 'BUILD\|LAST_MINOR' $SOLARENV/inc/minor.mk) export PYTHONPATH=$SOLARVERSION/$INPATH/lib:$SRC_ROOT/instsetoo_native/$INPATH/bin:$PYTHONPATH export OUT=../$INPATH diff --git a/pkgs/applications/office/openoffice/default.nix b/pkgs/applications/office/openoffice/default.nix index 5c1e34a4425c..9c8b7cdb3626 100644 --- a/pkgs/applications/office/openoffice/default.nix +++ b/pkgs/applications/office/openoffice/default.nix @@ -67,11 +67,6 @@ stdenv.mkDerivation rec { --without-system-graphite "; - # Double make - I don't know why a single make reports error, and two, do not. - buildPhase = '' - make || make - ''; - LD_LIBRARY_PATH = "${libXext}/lib:${libX11}/lib:${libXtst}/lib:${libXi}/lib:${libjpeg}/lib"; buildInputs = [ diff --git a/pkgs/applications/office/openoffice/go-oo.nix b/pkgs/applications/office/openoffice/go-oo.nix new file mode 100644 index 000000000000..bdf0939d64e1 --- /dev/null +++ b/pkgs/applications/office/openoffice/go-oo.nix @@ -0,0 +1,140 @@ +{ stdenv, fetchurl, pam, python, tcsh, libxslt, perl, ArchiveZip +, CompressZlib, zlib, libjpeg, expat, pkgconfig, freetype, libwpd +, libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon +, bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which +, icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups +, libXinerama, openssl, gperf, cppunit, GConf, ORBit2 +, autoconf, openldap, postgresql +, langs ? [ "en-US" "ca" "ru" "eo" "fr" "nl" "de" "en-GB" ] +}: + +let version = "3.2.0"; in +stdenv.mkDerivation rec { + name = "go-oo-3.2.0.10"; + # builder = ./builder.sh; + + downloadRoot = "http://download.services.openoffice.org/files/stable"; + versionDirs = true; + + src = fetchurl { + url = "http://download.go-oo.org/OOO320/ooo-build-3.2.0.10.tar.gz"; + sha256 = "0g6n0m9pibn6cx12zslmknzy1p764nqj8vdf45l5flyls9aj3x21"; + }; + + srcs_download = (import ./src.nix) fetchurl; + + # Multi-CPU: --with-num-cpus=4 + configurePhase = '' + sed -i -e '1s,/bin/bash,${stdenv.bash}/bin/bash,' $(find bin -type f) + sed -i -e '1s,/usr/bin/perl,${perl}/bin/perl,' download.in bin/ooinstall bin/generate-bash-completion + echo "$distroFlags" > distro-configs/SUSE-11.1.conf.in + + ./configure --with-distro=SUSE-11.1 --with-system-libwpd --without-git --with-system-cairo \ + --with-lang="${langsSpaces}" + ''; + + buildPhase = '' + for a in $srcs_download; do + FILE=$(basename $a) + # take out the hash + cp -v $a src/$(echo $FILE | sed 's/[^-]*-//') + done + sed '/-x $WGET/d' -i download + ./download + # Needed to find genccode + PATH=$PATH:${icu}/sbin + + make build.prepare + + set -x + pushd build/ooo3*-*/ + # Fix svtools: hardcoded jpeg path + sed -i -e 's,^JPEG3RDLIB=.*,JPEG3RDLIB=${libjpeg}/lib/libjpeg.so,' solenv/inc/libs.mk + # Fix sysui: wants to create a tar for root + sed -i -e 's,--own.*root,,' sysui/desktop/slackware/makefile.mk + # Fix libtextcat: wants to set rpath to /usr/local/lib + sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, libtextcat/makefile.mk + # Fix hunspell: the checks fail due to /bin/bash missing, and I find this fix easier + sed -i -e 's,make && make check,make,' hunspell/makefile.mk + # Fix redland: wants to set rpath to /usr/local/lib + sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, redland/redland/makefile.mk \ + redland/raptor/makefile.mk redland/rasqal/makefile.mk + popd + set +x + make + ''; + + installPhase = '' + bin/ooinstall $out + ensureDir $out/bin + for a in $out/program/{sbase,scalc,sdraw,simpress,smath,soffice,swriter,soffice.bin}; do + ln -s $a $out/bin + done + ''; + + distroFlags = '' + --with-vendor=NixPkgs + --with-package-format=native + --disable-epm + --disable-fontooo + --disable-gnome-vfs + --disable-gnome-vfs + --disable-mathmldtd + --disable-mozilla + --disable-odk + --disable-pasf + --disable-dbus + --disable-kde + --disable-kde4 + --disable-mono + --disable-gstreamer + --with-cairo + --with-system-libs + --with-system-python + --with-system-boost + --with-system-db + --with-jdk-home=${jdk} + --with-ant-home=${ant} + --without-afms + --without-dict + --without-fonts + --without-myspell-dicts + --without-nas + --without-ppds + --without-system-agg + --without-system-beanshell + --without-system-hsqldb + --without-system-xalan + --without-system-xerces + --without-system-xml-apis + --without-system-xt + --without-system-jars + --without-system-hunspell + --without-system-altlinuxhyph + --without-system-lpsolve + --without-system-graphite + --without-system-mozilla + --without-system-libwps + --without-system-libwpg + ''; + + buildInputs = [ + pam python tcsh libxslt perl ArchiveZip CompressZlib zlib + libjpeg expat pkgconfig freetype libwpd libxml2 db4 sablotron curl + libXaw fontconfig libsndfile neon bison flex zip unzip gtk libmspack + getopt file jdk cairo which icu boost libXext libX11 libXtst libXi + cups libXinerama openssl gperf GConf ORBit2 + + ant autoconf openldap postgresql + ]; + + langsSpaces = stdenv.lib.concatStringsSep " " langs; + + meta = { + description = "Go-oo - Novell variant of OpenOffice.org"; + homepage = http://go-oo.org/; + license = "LGPL"; + maintainers = [ stdenv.lib.maintainers.viric ]; + platforms = [ stdenv.lib.platforms.linux ]; + }; +} diff --git a/pkgs/applications/office/openoffice/src.nix b/pkgs/applications/office/openoffice/src.nix new file mode 100644 index 000000000000..69c35bf9683f --- /dev/null +++ b/pkgs/applications/office/openoffice/src.nix @@ -0,0 +1,141 @@ +fetchurl: +[ + (fetchurl { + url = "http://download.go-oo.org//DEV300/ooo-cli-prebuilt-3.2.tar.bz2"; + sha256 = "1v55fl0n8zisn6gih99fn1c5vp6wl6cf0qh1nwlcx9ia76jnjj9k"; + }) +/* + (fetchurl { + url = "http://cairographics.org/releases//cairo-1.4.10.tar.gz"; + sha256 = "0cji7shlnd3yg3939233p8imnrivykx4g39p3qr8r2a4c2k7hkjr"; + }) +*/ + (fetchurl { + url = "http://download.go-oo.org//SRC680/mdbtools-0.6pre1.tar.gz"; + sha256 = "1lz33lmqifjszad7rl1r7rpxbziprrm5rkb27wmswyl5v98dqsbi"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/artwork/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-artwork.tar.bz2"; + sha256 = "1zfn1gjdbxychxb9xvfi9hchzqbp20f15nf06badgga5klllir8b"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/base/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-base.tar.bz2"; + sha256 = "07gmicn9c2x16qzcfi0jh2z8mx0iz76vhskml7xkwv99vryy48im"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/bootstrap/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-bootstrap.tar.bz2"; + sha256 = "070zmd25wysmf2rka07b8w02wkyxz7qa30kscd9b3pc8m0cgq0fl"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/calc/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-calc.tar.bz2"; + sha256 = "0iwgmvffljmm1vbkjv36fq0riy7alk7r4gnfl5x9nrw7zic0xh29"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/components/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-components.tar.bz2"; + sha256 = "19x6lhdbcazkicp4h3zs8sq7n9gc7z9c3xkx6266m15n2k4c8ms9"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/extras/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-extras.tar.bz2"; + sha256 = "1lr8l0nxaqrhgcbb1vn08a8d4wzq032q2zl9a12dgjrnmgcx76s7"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/filters/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-filters.tar.bz2"; + sha256 = "1p13w9gngc5wz40nhsx8igk8zygnwcacd3bgas3m2jv9ifazk9v3"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/help/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-help.tar.bz2"; + sha256 = "0fqg8fpivgpyfqf0s085mjm09cmfzy684q1b58y62hg0f01wwr0k"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/impress/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-impress.tar.bz2"; + sha256 = "1dhrdsak1jqydjfkylj6r7w1h886gbcn1g4wjh1kgkwk50bdamh5"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/libs-gui/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-libs-gui.tar.bz2"; + sha256 = "0x5jf8bwzqkd76dpd7rh0fj1p4hmh8h9yshn8rfq6ss26bgwnmwr"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/libs-core/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-libs-core.tar.bz2"; + sha256 = "1qaa1g9mrlpjv7fkv0c8qarbl162l99w0a92ydsj1lv86jg01xvx"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/libs-extern/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-libs-extern.tar.bz2"; + sha256 = "0hxkba5yb1c09yyrqpw4llrr7xhpf5x08mnwgfdcfks690p1rzc9"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/postprocess/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-postprocess.tar.bz2"; + sha256 = "1jkkxpc199y64a41y13s6ib6gyp6gas8gl4w95sx506xvj90qxi3"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/sdk/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-sdk.tar.bz2"; + sha256 = "0211ak14sblmzswwa605q430gxxdjrqa5a2924r4lb1knrc9vlns"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/testing/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-testing.tar.bz2"; + sha256 = "0i7bcxd791id2bbgnsakwnmr4xnzd5hdcydlnqx50mni5mcd13v1"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/ure/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-ure.tar.bz2"; + sha256 = "16957l2npcbaizs29ly0xxfqaxinchnrvi720gggwhfp2mbl05ql"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/writer/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-writer.tar.bz2"; + sha256 = "0lcdlwy2scs01glj8fi1q1ysmyvn7j70b91ciad3m32lrxmr8s67"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/libs-extern-sys/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-libs-extern-sys.tar.bz2"; + sha256 = "0my3wh90xil3xpcjxi1q76v1bwi0rf62pzrf3pi3angd5y3hmysd"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/extensions/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-extensions.tar.bz2"; + sha256 = "1qmyc2vb0n6fdl7p92cpvp972zm6ilafq5s5m21wgicqwfr34chv"; + }) + (fetchurl { + url = "http://download.go-oo.org//SRC680/extras-3.tar.bz2"; + sha256 = "1s6cz92b2amfn135l6a2hras4qrd04kw5yyqli7xmb8xqa0m3y3c"; + }) + (fetchurl { + url = "http://download.go-oo.org//SRC680/biblio.tar.bz2"; + sha256 = "02v2xbq771zi09qw3k4zih95m1rjns4pwwpl51n0m34c0a00lhf0"; + }) + (fetchurl { + url = "http://tools.openoffice.org/unowinreg_prebuild/680//unowinreg.dll"; + sha256 = "0g3529nr0nfhn3cygn8x931pqxnqq88nfc5h829xncr1j8ifaqzm"; + }) + (fetchurl { + url = "http://cgit.freedesktop.org/ooo-build/l10n/snapshot/ooo/OOO320_m12.tar.bz2"; + name = "ooo320-m12-l10n.tar.bz2"; + sha256 = "0lknxxl0n4f383gxkljl1294zggfgaf2hbg3f6p4q6vr1byf3lww"; + }) + (fetchurl { + url = "http://download.go-oo.org//SRC680/libwps-0.1.2.tar.gz"; + sha256 = "1cdjmgpy0igrwlb5i1sm4s2yxvzbmqz6j7xnmmv3kpbx7z43zw78"; + }) + (fetchurl { + url = "http://download.go-oo.org//SRC680/libwpg-0.1.3.tar.gz"; + sha256 = "1qv5qqycaqrm8arprwf3vyk76fm6v7qabpx5qq58knp1xm72z98r"; + }) + (fetchurl { + url = "http://download.go-oo.org//DEV300/ooo_oxygen_images-2009-06-17.tar.gz"; + sha256 = "0jhgjhm63cmjr59nhvdln1szgm36v6kkazy2388l7z6xjjrhxk1z"; + }) +] diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix index 7ce8f0ed789d..e2c25c3360ce 100644 --- a/pkgs/applications/video/MPlayer/default.nix +++ b/pkgs/applications/video/MPlayer/default.nix @@ -8,7 +8,8 @@ , jackaudioSupport ? false, jackaudio ? null , x264Support ? false, x264 ? null , xvidSupport ? false, xvidcore ? null -, mesa, pkgconfig, unzip +, lameSupport ? true, lame ? null +, mesa, pkgconfig, unzip, yasm }: assert alsaSupport -> alsa != null; @@ -53,7 +54,7 @@ stdenv.mkDerivation { }; buildInputs = - [ x11 libXv freetype zlib mesa pkgconfig ] + [ x11 libXv freetype zlib mesa pkgconfig yasm ] ++ stdenv.lib.optional alsaSupport alsa ++ stdenv.lib.optional xvSupport libXv ++ stdenv.lib.optional theoraSupport libtheora @@ -65,7 +66,8 @@ stdenv.mkDerivation { ++ stdenv.lib.optional jackaudioSupport jackaudio ++ stdenv.lib.optionals amrSupport [ amrnb amrwb ] ++ stdenv.lib.optional x264Support x264 - ++ stdenv.lib.optional xvidSupport xvidcore; + ++ stdenv.lib.optional xvidSupport xvidcore + ++ stdenv.lib.optional lameSupport lame; configureFlags = '' ${if cacaSupport then "--enable-caca" else "--disable-caca"} diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh index ba06aed90e18..794b690341e3 100644 --- a/pkgs/build-support/fetchgit/builder.sh +++ b/pkgs/build-support/fetchgit/builder.sh @@ -5,7 +5,16 @@ header "exporting $url (rev $rev) into $out" git clone "$url" $out if test -n "$rev"; then cd $out - git checkout $rev + + # Track all remote branches so that revisions like + # `t/foo@{2010-05-12}' are correctly resolved. Failing to do that, + # Git bails out with an "invalid reference" error. + for branch in $(git branch -rl | grep -v ' origin/master$') + do + git branch --track "$(echo $branch | sed -es,origin/,,g)" "$branch" + done + + git checkout "$rev" -- fi if test -z "$leaveDotGit"; then diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index 3982301c8d13..36c30bc9124f 100644 --- a/pkgs/desktops/kde-4.4/default.nix +++ b/pkgs/desktops/kde-4.4/default.nix @@ -311,6 +311,11 @@ pkgs.recurseIntoAttrs (rec { inherit automoc4 phonon; }; + yakuake = import ./extragear/yakuake { + inherit (pkgs) stdenv fetchurl cmake perl gettext; + inherit kdelibs automoc4 qt4 phonon; + }; + ### LOCALIZATION l10n = pkgs.recurseIntoAttrs (import ./l10n { diff --git a/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix b/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix new file mode 100644 index 000000000000..30d3d6a9c2c2 --- /dev/null +++ b/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, kdelibs, cmake, gettext, perl, automoc4, qt4, phonon }: + +stdenv.mkDerivation rec { + name = "yakuake-2.9.6"; + + src = fetchurl { + url = "http://download.berlios.de/yakuake/${name}.tar.bz2"; + sha256 = "08n6kdzk205rq1bs4yx5f2qawz6xigdhn9air0pbjsi1j630yfzq"; + }; + + buildInputs = [ kdelibs cmake gettext perl automoc4 qt4 phonon stdenv.gcc.libc ]; + + meta = with stdenv.lib; { + homepage = http://yakuake.kde.org; + description = "Quad-style terminal emulator for KDE"; + maintainers = [ maintainers.urkud ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/compilers/gcc-4.5/builder.sh b/pkgs/development/compilers/gcc-4.5/builder.sh index 3be8e7951627..6c3ced85d754 100644 --- a/pkgs/development/compilers/gcc-4.5/builder.sh +++ b/pkgs/development/compilers/gcc-4.5/builder.sh @@ -15,6 +15,12 @@ else EXTRA_LDFLAGS="" fi +# GCC interprets empty paths as ".", which we don't want. +if test -z "$CPATH"; then unset CPATH; fi +if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi +echo "\$CPATH is \`$CPATH'" +echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'" + if test "$noSysDirs" = "1"; then if test -e $NIX_GCC/nix-support/orig-libc; then @@ -48,21 +54,9 @@ if test "$noSysDirs" = "1"; then EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i" done - if test -n "$targetConfig"; then - # Cross-compiling, we need gcc not to read ./specs in order to build - # the g++ compiler (after the specs for the cross-gcc are created). - # Having LIBRARY_PATH= makes gcc read the specs from ., and the build - # breaks. Having this variable comes from the default.nix code to bring - # gcj in. - unset LIBRARY_PATH - unset CPATH - if test -z "$crossStageStatic" -o -n "$crossMingw"; then - EXTRA_FLAGS_TARGET="-g0 -O2 -B${libcCross}/lib -idirafter ${libcCross}/include" - EXTRA_LDFLAGS_TARGET="-Wl,-L${libcCross}/lib" - fi - else - EXTRA_FLAGS_TARGET="$EXTRA_FLAGS" - EXTRA_LDFLAGS_TARGET="$EXTRA_LDFLAGS" + if test -z "$targetConfig"; then + EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS" fi # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find @@ -74,17 +68,17 @@ if test "$noSysDirs" = "1"; then NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ - CFLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \ - FLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \ + CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS" \ + FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ - LDFLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \ + LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS" \ ) if test -z "$targetConfig"; then makeFlagsArray=( \ "${makeFlagsArray[@]}" \ BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ - BOOT_LDFLAGS="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \ + BOOT_LDFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ ) fi diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 9ef82293242f..855ac76aebbe 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -7,6 +7,7 @@ , staticCompiler ? false , enableShared ? true , texinfo ? null +, perl ? null # optional, for texi2pod (then pod2man); required for Java , gmp, mpfr, mpc, gettext, which , libelf # optional, for link-time optimizations (LTO) , ppl ? null, cloogppl ? null # optional, for the Graphite optimization framework @@ -24,11 +25,13 @@ , libcCross ? null , crossStageStatic ? true , gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd }: assert langTreelang -> bison != null && flex != null; assert langJava -> zip != null && unzip != null - && zlib != null && boehmgc != null; + && zlib != null && boehmgc != null + && perl != null; # for `--enable-java-home' assert langAda -> gnatboot != null; assert langVhdl -> gnat != null; @@ -36,6 +39,7 @@ assert langVhdl -> gnat != null; assert libelf != null -> zlib != null; with stdenv.lib; +with builtins; let version = "4.5.0"; javaEcj = fetchurl { @@ -132,7 +136,7 @@ stdenv.mkDerivation ({ }; patches = - [ ] + [ ./softfp-hurd.patch ] ++ optional (cross != null) ./libstdc++-target.patch ++ optional noSysDirs ./no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its @@ -141,10 +145,32 @@ stdenv.mkDerivation ({ ++ optional langVhdl ./ghdl-ortho-cflags.patch ; + postPatch = + if (stdenv.system == "i586-pc-gnu" + || (cross != null && cross.config == "i586-pc-gnu" + && libcCross != null)) + then + # On GNU/Hurd glibc refers to Hurd & Mach headers so add the right `-I' + # flags to the default spec string. + let + libc = if cross != null then libcCross else stdenv.glibc; + config_h = "gcc/config/i386/gnu.h"; + extraCPPSpec = + concatStrings (intersperse " " + (map (x: "-I${x}/include") + libc.propagatedBuildInputs)); + in + '' echo "augmenting \`CPP_SPEC' in \`${config_h}' with \`${extraCPPSpec}'..." + sed -i "${config_h}" \ + -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' + '' + else null; + inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic libcCross crossMingw; buildInputs = [ texinfo gmp mpfr mpc libelf gettext which ] + ++ (optional (perl != null) perl) ++ (optional (ppl != null) ppl) ++ (optional (cloogppl != null) cloogppl) ++ (optionals langTreelang [bison flex]) @@ -162,7 +188,11 @@ stdenv.mkDerivation ({ ${if enableShared then "" else "--disable-shared"} ${if ppl != null then "--with-ppl=${ppl}" else ""} ${if cloogppl != null then "--with-cloog=${cloogppl}" else ""} - ${if langJava then "--with-ecj-jar=${javaEcj}" else ""} + ${if langJava then + "--with-ecj-jar=${javaEcj} " + + "--enable-java-home --with-java-home=\${prefix} " + + "--with-jvm-root-dir=\${prefix}/jdk" + else ""} ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} --with-gmp=${gmp} @@ -212,15 +242,35 @@ stdenv.mkDerivation ({ (optionals (zlib != null) [ zlib ] ++ optionals langJava [ boehmgc ] ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ]))); + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread + ++ optional (libpthreadCross != null) libpthreadCross + + # On GNU/Hurd glibc refers to Mach & Hurd + # headers. + ++ optionals (libcCross != null && + hasAttr "propagatedBuildInputs" libcCross) + libcCross.propagatedBuildInputs))); LIBRARY_PATH = concatStrings (intersperse ":" (map (x: x + "/lib") (optionals (zlib != null) [ zlib ] ++ optionals langJava [ boehmgc ] ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ]))); - + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread))); + + EXTRA_TARGET_CFLAGS = + if cross != null && libcCross != null + then "-g0 -O2 -idirafter ${libcCross}/include" + else null; + + EXTRA_TARGET_LDFLAGS = + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}") + else null; passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl enableMultilib; }; diff --git a/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch b/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch new file mode 100644 index 000000000000..7e2a8a9c2900 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch @@ -0,0 +1,32 @@ +This patch fixes undefined references to softp symbols (__multf3, __fixunstfsi, +__subtf3, etc.) in libgcc_s.so on GNU/Hurd. + +Taken from <http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00602.html>, with second +hunk adjusted so that it applies to GCC 4.5.0. + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 9e499cb..9aec392 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -3070,7 +3070,9 @@ case ${target} in + i[34567]86-*-darwin* | x86_64-*-darwin*) + tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" + ;; +- i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) ++ i[34567]86-*-linux* | x86_64-*-linux* | \ ++ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ ++ i[34567]86-*-gnu*) + tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" + ;; + ia64*-*-linux*) +diff --git a/libgcc/config.host b/libgcc/config.host +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -600,6 +600,7 @@ case ${host} in + i[34567]86-*-darwin* | x86_64-*-darwin* | \ + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ + i[34567]86-*-linux* | x86_64-*-linux* | \ ++ i[34567]86-*-gnu* | \ + i[34567]86-*-solaris2* | \ + i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) + if test "${host_address}" = 32; then diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index 97a8e961b411..0d1ee3d838f3 100644 --- a/pkgs/development/libraries/aspell/dictionaries.nix +++ b/pkgs/development/libraries/aspell/dictionaries.nix @@ -72,6 +72,15 @@ in { }; }; + it = buildDict { + shortName = "it-0.53-0"; + fullName = "Italian"; + src = fetchurl { + url = mirror://gnu/aspell/dict/it/aspell-it-0.53-0.tar.bz2; + sha256 = "0vzs2mk0h2znx0jjs5lqiwdrc4nf6v3f8xbrsni8pfnxhh5ik1rv"; + }; + }; + la = buildDict { shortName = "la-20020503-0"; fullName = "Latin"; diff --git a/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch b/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch new file mode 100644 index 000000000000..30f3ab4907b0 --- /dev/null +++ b/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch @@ -0,0 +1,28 @@ +Upstream patch + +From fc2870a65f6b3ed3b71bcac69c5faf3a9c759c64 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen <mclasen@redhat.com> +Date: Mon, 21 Dec 2009 11:13:23 -0500 +Subject: [PATCH 1/2] Don't daemonize when activated + +It confuses some versions of D-Bus and isn't needed +(or wanted it). + +http://bugs.freedesktop.org/show_bug.cgi?id=25642 +--- + data/org.freedesktop.ConsoleKit.service.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/data/org.freedesktop.ConsoleKit.service.in b/data/org.freedesktop.ConsoleKit.service.in +index ec2128c..d716a36 100644 +--- a/data/org.freedesktop.ConsoleKit.service.in ++++ b/data/org.freedesktop.ConsoleKit.service.in +@@ -1,4 +1,4 @@ + [D-BUS Service] + Name=org.freedesktop.ConsoleKit +-Exec=@sbindir@/console-kit-daemon ++Exec=@sbindir@/console-kit-daemon --no-daemon + User=root +-- +1.7.1 + diff --git a/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch b/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch new file mode 100644 index 000000000000..2af59ac8d1e5 --- /dev/null +++ b/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch @@ -0,0 +1,62 @@ +Upstream patch + +From 2418840248f07025ad0edc96ed17e03ce5e47f3e Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Mon, 21 Dec 2009 11:14:54 -0500 +Subject: [PATCH 2/2] Don't take bus name until ready + +Previously, we would take a bus name right away, but +not register the manager object until later. This +causes a race when being activated by a method call +on the manager object, where ConsoleKit gets started +but the method call fails. + +https://bugs.freedesktop.org/show_bug.cgi?id=25744 +--- + src/main.c | 16 ++++++++-------- + 1 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/main.c b/src/main.c +index 809c6d6..b8f698f 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -294,11 +294,19 @@ main (int argc, + + setup_debug_log (debug); + ++ g_debug ("initializing console-kit-daemon %s", VERSION); ++ + connection = get_system_bus (); + if (connection == NULL) { + goto out; + } + ++ manager = ck_manager_new (); ++ ++ if (manager == NULL) { ++ goto out; ++ } ++ + bus_proxy = get_bus_proxy (connection); + if (bus_proxy == NULL) { + g_warning ("Could not construct bus_proxy object; bailing out"); +@@ -310,16 +318,8 @@ main (int argc, + goto out; + } + +- g_debug ("initializing console-kit-daemon %s", VERSION); +- + create_pid_file (); + +- manager = ck_manager_new (); +- +- if (manager == NULL) { +- goto out; +- } +- + loop = g_main_loop_new (NULL, FALSE); + + g_signal_connect (bus_proxy, +-- +1.7.1 + diff --git a/pkgs/development/libraries/consolekit/default.nix b/pkgs/development/libraries/consolekit/default.nix index d6ea4a9e79bd..5cebc5874bd7 100644 --- a/pkgs/development/libraries/consolekit/default.nix +++ b/pkgs/development/libraries/consolekit/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 polkit expat ]; + patches = [ ./0001-Don-t-daemonize-when-activated.patch + ./0002-Don-t-take-bus-name-until-ready.patch ]; # For console-kit to get the rpath to libgcc_s, needed for pthread_cancel to work NIX_LDFLAGS = "-lgcc_s"; diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index 70f7feaaf1a9..2cc24d32c3ab 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, faad2, libtheora, speex, libvorbis, x264, pkgconfig, xvidcore}: +{stdenv, fetchurl, faad2, libtheora, speex, libvorbis, x264, pkgconfig, xvidcore, lame, yasm}: stdenv.mkDerivation { name = "ffmpeg-0.5.1"; @@ -24,9 +24,11 @@ stdenv.mkDerivation { --enable-libspeex --enable-libx264 --enable-libxvid + --enable-libmp3lame + --enable-runtime-cpudetect ''; - buildInputs = [faad2 libtheora speex libvorbis x264 pkgconfig xvidcore]; + buildInputs = [faad2 libtheora speex libvorbis x264 pkgconfig xvidcore lame yasm]; meta = { homepage = http://www.ffmpeg.org/; diff --git a/pkgs/development/libraries/glibc-2.11/builder2.sh b/pkgs/development/libraries/glibc-2.11/builder2.sh new file mode 100644 index 000000000000..f156e647e0b4 --- /dev/null +++ b/pkgs/development/libraries/glibc-2.11/builder2.sh @@ -0,0 +1,58 @@ +### XXX: This file should replace `builder.sh' in the `stdenv-updates' +### branch! + +# Glibc cannot have itself in its RPATH. +export NIX_NO_SELF_RPATH=1 + +source $stdenv/setup + +postConfigure() { + # Hack: get rid of the `-static' flag set by the bootstrap stdenv. + # This has to be done *after* `configure' because it builds some + # test binaries. + export NIX_CFLAGS_LINK= + export NIX_LDFLAGS_BEFORE= + + export NIX_DONT_SET_RPATH=1 + unset CFLAGS +} + + +postInstall() { + if test -n "$installLocales"; then + make localedata/install-locales + fi + + test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache + + # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been + # renamed. + if test -z "$hurdHeaders"; then + # Include the Linux kernel headers in Glibc, except the `scsi' + # subdirectory, which Glibc provides itself. + (cd $out/include && \ + ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .) + fi + + if test -f "$out/lib/libhurduser.so"; then + # libc.so, libhurduser.so, and libmachuser.so depend on each + # other, so add them to libc.so (a RUNPATH on libc.so.0.3 + # would be ignored by the cross-linker.) + echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..." + sed -i "$out/lib/libc.so" \ + -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g" + fi + + # Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink + # "lib64" to "lib". + if test -n "$is64bit"; then + ln -s lib $out/lib64 + fi + + # This file, that should not remain in the glibc derivation, + # may have not been created during the preInstall + rm -f $out/lib/libgcc_s.so.1 +} + + +genericBuild diff --git a/pkgs/development/libraries/glibc-2.11/common.nix b/pkgs/development/libraries/glibc-2.11/common.nix index e7e9738140aa..f227db3c632d 100644 --- a/pkgs/development/libraries/glibc-2.11/common.nix +++ b/pkgs/development/libraries/glibc-2.11/common.nix @@ -10,8 +10,9 @@ cross : , preConfigure ? "", ... }@args : let - rev = "df4c3faf0ccc848b5a8086c222bdb42679a9798f"; - version = if hurdHeaders != null then "0.0-pre" + rev else "2.11.1"; + date = "2010-05-12"; + rev = "tschwinge/Roger_Whittaker@{${date}}"; + version = if hurdHeaders != null then date else "2.11.1"; in assert (cross != null) -> (gccCross != null); @@ -100,6 +101,8 @@ stdenv.mkDerivation ({ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686"; } +# FIXME: This is way too broad and causes the *native* glibc to have a +# different store path dependending on whether `cross' is null or not. // args // { diff --git a/pkgs/development/libraries/glibc-2.11/default.nix b/pkgs/development/libraries/glibc-2.11/default.nix index 7c92a0fe41b4..a9d82e677b17 100644 --- a/pkgs/development/libraries/glibc-2.11/default.nix +++ b/pkgs/development/libraries/glibc-2.11/default.nix @@ -39,7 +39,21 @@ in // (if hurdHeaders != null - then { inherit machHeaders hurdHeaders mig fetchgit; } + then rec { + inherit machHeaders hurdHeaders mig fetchgit; + + propagatedBuildInputs = [ machHeaders hurdHeaders ]; + + passthru = { + # When building GCC itself `propagatedBuildInputs' above is not + # honored, so we pass it here so that the GCC builder can do the right + # thing. + inherit propagatedBuildInputs; + }; + + # XXX: Remove this hack in `stdenv-updates'. + builder = ./builder2.sh; + } else { }) // diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 64f1a746b03c..42a592bf2dcc 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,10 +1,11 @@ -args: with args; +{stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan}: -stdenv.mkDerivation { - name = "gpgme-1.1.4"; +stdenv.mkDerivation rec { + name = "gpgme-1.3.0"; src = fetchurl { - url = ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.1.4.tar.bz2; - sha256 = "0ncrv7p33rjq1avkxpp9x0gz6wna9y3b3dmw6nv366n5mgvxmpg8"; + url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2"; + sha256 = "18g6wgiacnbj437yfsczbjxaf041ljia48dnv2qgcqb0sky41q3l"; }; - buildInputs = [libgpgerror gnupg gnupg2 pkgconfig glib pth]; + buildInputs = [libgpgerror gnupg pkgconfig glib pth libassuan]; + configureFlags = "--with-gpg=${gnupg}/bin/gpg2"; } diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix index bf47c79f7506..ca92fe307980 100644 --- a/pkgs/development/libraries/gss/default.nix +++ b/pkgs/development/libraries/gss/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, shishi }: stdenv.mkDerivation rec { name = "gss-1.0.0"; @@ -8,16 +8,22 @@ stdenv.mkDerivation rec { sha256 = "0rcbzg19m7bddvbhjqv1iwyydkj61czb0xr691mkj0i5p4d4bakk"; }; + buildInputs = [ shishi ]; + doCheck = true; + # Work around the lack of `-lshishi' for `krb5context'. See + # <http://lists.gnu.org/archive/html/help-gsasl/2010-05/msg00005.html>. + checkPhase = "make check LDFLAGS=-lshishi"; + meta = { description = "GNU GSS Generic Security Service"; longDescription = '' GSS is an implementation of the Generic Security Service Application - Program Interface (GSS-API). GSS-API is used by network servers to - provide security services, e.g., to authenticate SMTP/IMAP clients - against SMTP/IMAP servers. + Program Interface (GSS-API). GSS-API is used by network servers to + provide security services, e.g., to authenticate SMTP/IMAP clients + against SMTP/IMAP servers. ''; homepage = http://www.gnu.org/software/gss/; diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix index 53c33787da59..5c3d37729e6d 100644 --- a/pkgs/development/libraries/hwloc/default.nix +++ b/pkgs/development/libraries/hwloc/default.nix @@ -1,19 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses -, autoconf, automake, libtool }: +{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses }: stdenv.mkDerivation rec { - name = "hwloc-1.0rc1"; + name = "hwloc-1.0"; src = fetchurl { url = "http://www.open-mpi.org/software/hwloc/v1.0/downloads/${name}.tar.bz2"; - sha256 = "0mgjlyfwp1pbl2312l9diwjw53yb9hb62slmvcb3xvhqdwvj0d7s"; + sha256 = "1s64w026idxrkf0y56q4cybapz7yldn1xycnfh1d5bj7v7ncds21"; }; - patches = [ ./ncurses.patch ]; - - preConfigure = "autoreconf -vfi"; - - buildInputs = [ autoconf automake libtool pkgconfig cairo expat ncurses ]; + buildInputs = [ pkgconfig cairo expat ncurses ]; doCheck = true; diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index 9a161ec170f4..90ee45865ed4 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -1,14 +1,14 @@ -{ fetchurl, stdenv, pth }: +{ fetchurl, stdenv, pth, libgpgerror }: stdenv.mkDerivation rec { - name = "libassuan-1.0.5"; + name = "libassuan-2.0.0"; src = fetchurl { url = "mirror://gnupg/libassuan/${name}.tar.bz2"; - sha256 = "1xar8i5jmah75wa9my4x7vkc5b6nmzd2p6k9kmpdg9hsv04292y5"; + sha256 = "13vzs4jxscnlskwzd3wpqwnfb5f0hwqc75rbi8j9f42bs6q08apx"; }; - propagatedBuildInputs = [ pth ]; + propagatedBuildInputs = [ pth libgpgerror ]; doCheck = true; diff --git a/pkgs/development/libraries/libassuan1/default.nix b/pkgs/development/libraries/libassuan1/default.nix new file mode 100644 index 000000000000..9a161ec170f4 --- /dev/null +++ b/pkgs/development/libraries/libassuan1/default.nix @@ -0,0 +1,28 @@ +{ fetchurl, stdenv, pth }: + +stdenv.mkDerivation rec { + name = "libassuan-1.0.5"; + + src = fetchurl { + url = "mirror://gnupg/libassuan/${name}.tar.bz2"; + sha256 = "1xar8i5jmah75wa9my4x7vkc5b6nmzd2p6k9kmpdg9hsv04292y5"; + }; + + propagatedBuildInputs = [ pth ]; + + doCheck = true; + + meta = { + description = "Libassuan, the IPC library used by GnuPG and related software"; + + longDescription = '' + Libassuan is a small library implementing the so-called Assuan + protocol. This protocol is used for IPC between most newer + GnuPG components. Both, server and client side functions are + provided. + ''; + + homepage = http://gnupg.org; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix index 513afc474ea0..ec2468aca1d3 100644 --- a/pkgs/development/libraries/libksba/default.nix +++ b/pkgs/development/libraries/libksba/default.nix @@ -1,11 +1,11 @@ -args: with args; +{ stdenv, fetchurl, libgpgerror }: stdenv.mkDerivation rec { - name = "libksba-1.0.2"; + name = "libksba-1.0.7"; src = fetchurl { - url = "ftp://ftp.gnupg.org/gcrypt/libksba/${name}.tar.bz2"; - sha256 = "1jkjh1daaykkrfq0s4vv8ddf0w8agdvspg9qm0ghjidlrfnsfiwh"; + url = "mirror://gnupg/libksba/${name}.tar.bz2"; + sha256 = "1biabl4ijaf0jyl4zf3qrhcs0iaq9pypjibp8wgnim3n3kg0bdda"; }; propagatedBuildInputs = [libgpgerror]; diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix new file mode 100644 index 000000000000..43c29524d58c --- /dev/null +++ b/pkgs/development/libraries/libvpx/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, bash}: + +stdenv.mkDerivation rec { + name = "libvpx-0.9.0"; + + src = fetchurl { + url = http://webm.googlecode.com/files/libvpx-0.9.0.tar.bz2; + sha256 = "1p5rl7r8zpw43n8i38wv73na8crkkakw16yx0v7n3ywwhp36l2d0"; + }; + + patchPhase = '' + sed -e 's,/bin/bash,${bash}/bin/bash,' -i configure build/make/version.sh \ + examples/gen_example_code.sh + ''; + + configurePhase = '' + mkdir -p build + cd build + ../configure --disable-install-srcs --disable-examples --enable-vp8 --enable-runtime-cpu-detect + ''; + + installPhase = '' + make quiet=false DIST_DIR=$out install + ''; + + meta = { + description = "VP8 video encoder"; + homepage = http://code.google.com/p/webm; + license = "BSD"; + }; +} + diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 67413fa93708..09f8591e9719 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -1,15 +1,26 @@ -{stdenv, fetchurl, python, gmp}: +{ stdenv, fetchurl, python, gmp }: -stdenv.mkDerivation { - name = "pycrypto-2.0.1"; +stdenv.mkDerivation rec { + name = "pycrypto-2.1.0"; + src = fetchurl { - url = http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz; - md5 = "4d5674f3898a573691ffb335e8d749cd"; + url = "http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${name}.tar.gz"; + sha256 = "18nq49l8wplg54hz9h26n61rq49vjzmy5xzlkm1g0j82x8i1qgi5"; }; - buildInputs = [python gmp]; + + buildInputs = [ python gmp ]; + buildPhase = "true"; - installPhase = " - python ./setup.py build_ext --library-dirs=${gmp}/lib - python ./setup.py install --prefix=$out - "; + + installPhase = + '' + python ./setup.py build_ext --library-dirs=${gmp}/lib + python ./setup.py install --prefix=$out + ''; + + meta = { + homepage = http://www.dlitz.net/software/pycrypto/; + description = "Python Cryptography Toolkit"; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix index e6a26958ae2e..334c80366275 100644 --- a/pkgs/lib/customisation.nix +++ b/pkgs/lib/customisation.nix @@ -1,4 +1,7 @@ -let lib = import ./default.nix; in +let lib = import ./default.nix; + inherit (builtins) getAttr attrNames isFunction; + +in rec { @@ -31,7 +34,10 @@ rec { overrideDerivation = drv: f: let # Filter out special attributes. - attrs = removeAttrs drv ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type" "override" "deepOverride" "origArgs"]; + drop = ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type" "override" "deepOverride" "origArgs"] + # also drop functions such as .merge .override etc + ++ lib.filter (n: isFunction (getAttr n drv)) (attrNames drv); + attrs = removeAttrs drv drop; newDrv = derivation (attrs // (f drv)); in newDrv // { meta = if drv ? meta then drv.meta else {}; diff --git a/pkgs/misc/misc.nix b/pkgs/misc/misc.nix index fc8ab43d52ff..3e4e94fbc78d 100644 --- a/pkgs/misc/misc.nix +++ b/pkgs/misc/misc.nix @@ -1,6 +1,6 @@ { pkgs, stdenv } : -let inherit (pkgs) stdenv runCommand perl; +let inherit (pkgs) stdenv runCommand perl lib; in @@ -106,4 +106,30 @@ in echo "''${PATH}" > $target/PATH ''; }; + + + # build a debug version of a package + debugVersion = pkg: lib.overrideDerivation pkg (attrs: { + + prePhases = ["preHook"] ++ lib.optionals (pkgs ? prePhases) pkgs.prePhases; + + dontStrip = true; + + NIX_STRIP_DEBUG=0; + CFLAGS="-ggdb -O0"; + CXXFLAGS="-ggdb -O0"; + + preHook = '' + s=$out/src + mkdir -p $s; cd $s; + export TMP=$s + export TEMP=$s + + for var in CFLAGS CXXFLAGS NIX_CFLAGS_COMPILE; do + declare -x "$var=''${!var} -ggdb -O0" + done + echo "file should tell that executable has not been strippee" + ''; + + }); } diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix index c9e1a1e6cab0..88203a31d3b1 100644 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -1,9 +1,21 @@ { fetchgit, stdenv, autoconf, automake, libtool, texinfo -, machHeaders, mig, headersOnly ? true }: +, machHeaders, mig, headersOnly ? true +, cross ? null, gccCross ? null, glibcCross ? null +, buildTarget ? "all", installTarget ? "install" }: -let rev = "7913beaef3e6a2c4f7f315a8db7a31dbe1f713e0"; in -stdenv.mkDerivation (rec { - name = "hurd-0.4-${rev}"; +assert (cross != null) -> (gccCross != null); + +let + date = "2010-05-12"; + rev = "master@{${date}}"; + suffix = if headersOnly + then "-headers" + else (if buildTarget != "all" + then "-minimal" + else ""); +in +stdenv.mkDerivation ({ + name = "hurd${suffix}-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/hurd.git"; @@ -11,13 +23,27 @@ stdenv.mkDerivation (rec { inherit rev; }; - buildInputs = [ autoconf automake libtool texinfo mig ]; + buildInputs = [ autoconf automake libtool texinfo mig ] + ++ stdenv.lib.optional (gccCross != null) gccCross + ++ stdenv.lib.optional (glibcCross != null) glibcCross; + propagatedBuildInputs = [ machHeaders ]; - configureFlags = "--build=i586-pc-gnu"; + configureFlags = stdenv.lib.optionals headersOnly [ "--build=i586-pc-gnu" ]; preConfigure = "autoreconf -vfi"; + patchPhase = + '' echo "removing \`-o root' from makefiles..." + for mf in {utils,daemons}/Makefile + do + sed -i "$mf" -e's/-o root//g' + done + ''; + + buildPhase = "make ${buildTarget}"; + installPhase = "make ${installTarget}"; + meta = { description = "The GNU Hurd, GNU project's replacement for the Unix kernel"; @@ -41,4 +67,12 @@ stdenv.mkDerivation (rec { (if headersOnly then { buildPhase = ":"; installPhase = "make install-headers"; } - else {})) + else (if (cross != null) + then { + crossConfig = cross.config; + + # The `configure' script wants to build executables so tell it where + # to find `crt1.o' et al. + LDFLAGS = "-B${glibcCross}/lib"; + } + else { }))) diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix new file mode 100644 index 000000000000..11adc6187912 --- /dev/null +++ b/pkgs/os-specific/gnu/libpthread/default.nix @@ -0,0 +1,65 @@ +{ fetchgit, stdenv, autoconf, automake, libtool +, machHeaders, hurdHeaders, hurd +, cross ? null, gccCross ? null, glibcCross ? null }: + +assert (cross != null) -> (gccCross != null) && (glibcCross != null); + +let + date = "2010-05-12"; + + # Use the weird branch prescribed in + # <http://www.gnu.org/software/hurd/hurd/building/cross-compiling.html>. + rev = "tschwinge/Peter_Herbolzheimer@{${date}}"; +in +stdenv.mkDerivation ({ + name = "libpthread-hurd-${date}"; + + src = fetchgit { + url = "git://git.sv.gnu.org/hurd/libpthread.git"; + sha256 = "1wya9kfmqgn04l995a25p4hxfwddjahfmhdzljb4cribw0bqdizg"; + inherit rev; + }; + + buildNativeInputs = [ autoconf automake libtool ]; + buildInputs = [ machHeaders hurdHeaders hurd ] + ++ stdenv.lib.optional (gccCross != null) gccCross; + + preConfigure = "autoreconf -vfi"; + + meta = { + description = "GNU Hurd's libpthread"; + + license = "LGPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + +// + +(if cross != null + then { + crossConfig = cross.config; + + # Tell gcc where to find `crt1.o' et al. This is specified in two + # different ways: one for gcc as run from `configure', and one for linking + # libpthread.so (by default `libtool --mode=link' swallows `-B', hence + # this workaround; see + # <http://lists.gnu.org/archive/html/bug-libtool/2010-05/msg00012.html>.) + LDFLAGS = "-B${glibcCross}/lib"; + makeFlags = [ "LDFLAGS=-Wc,-B${glibcCross}/lib" ]; + + # Help the linker find glibc. + CPATH = "${glibcCross}/include"; + LIBRARY_PATH = "${glibcCross}/lib"; + + passthru = { + # Extra target LDFLAGS to allow the cross-linker to find the + # dependencies of the cross libpthread.so, namely libihash.so. + # + # This is actually only useful while building the final cross-gcc, since + # afterwards gcc-cross-wrapper should add the relevant flags. + TARGET_LDFLAGS = "-Wl,-rpath-link=${hurd}/lib"; + }; + } + else { })) diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix index 9bb08ef36fba..49f1f4883a3b 100644 --- a/pkgs/os-specific/gnu/mach/default.nix +++ b/pkgs/os-specific/gnu/mach/default.nix @@ -3,10 +3,12 @@ assert (!headersOnly) -> (mig != null); -let rev = "7987a711e8f13c0543e87a0211981f4b40ef6d94"; +let + date = "2010-05-12"; + rev = "master@{${date}}"; in -stdenv.mkDerivation (rec { - name = "gnumach-1.4-${rev}"; +stdenv.mkDerivation ({ + name = "gnumach${if headersOnly then "-headers" else ""}-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/gnumach.git"; diff --git a/pkgs/development/tools/misc/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix index d09dc9dd4b03..68951e84e2d5 100644 --- a/pkgs/development/tools/misc/mig/default.nix +++ b/pkgs/os-specific/gnu/mig/default.nix @@ -1,9 +1,11 @@ -{ fetchgit, stdenv, autoconf, automake, flex, bison, machHeaders -, cross ? null }: +{ fetchgit, stdenv, autoconf, automake, flex, bison, machHeaders }: -let rev = "4fee6a5652f609cb68cdbd9049d4da7a194f15f8"; in -stdenv.mkDerivation rec { - name = "mig-1.4-${rev}"; +let + date = "2010-05-12"; + rev = "master@{${date}}"; +in +stdenv.mkDerivation { + name = "mig-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/mig.git"; @@ -15,8 +17,9 @@ stdenv.mkDerivation rec { preConfigure = "autoreconf -vfi"; - configureFlags = - stdenv.lib.optionalString (cross != null) "--build=${cross.config}"; + configureFlags = [ "--build=i586-pc-gnu" ]; + + doCheck = true; meta = { description = "GNU MIG, the Mach interface generator"; diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 9c936544034c..be5eff7e56e2 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation { homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx; license = "unfree"; maintainers = [stdenv.lib.maintainers.marcweber]; - platforms = stdenv.lib.platforms.linux; + platforms = [ "x86_64-linux" ]; }; # moved assertions here because the name is evaluated when the NixOS manual is generated diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 2dc3217f2905..0b4b492d3180 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,13 +1,25 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "iptables-1.4.6"; + name = "iptables-1.4.8"; src = fetchurl { url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2"; - sha256 = "193jdplnkzikrmk0y313d9alc4kp5gi55aikw3b668fnrac2fwvf"; + sha256 = "1d6wykz1x2h0hp03akpm5gdgnamb1ij1nxzx3w3lhdvbzjwpbaxq"; }; + # Install header files required by miniupnpd. + postInstall = + '' + cp include/iptables.h $out/include + cp include/libiptc/libiptc.h include/libiptc/ipt_kernel_headers.h $out/include/libiptc + mkdir $out/include/iptables + cp include/iptables/internal.h $out/include/iptables + mkdir $out/include/net + cp -prd include/net/netfilter $out/include/net/netfilter + mkdir $out/include/linux + ''; + meta = { description = "A program to configure the Linux IP packet filtering ruleset"; homepage = http://www.netfilter.org/projects/iptables/index.html; diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix index a5f975033665..55a51a752c2b 100644 --- a/pkgs/os-specific/linux/qemu-kvm/default.nix +++ b/pkgs/os-specific/linux/qemu-kvm/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "qemu-kvm-0.12.3"; + name = "qemu-kvm-0.12.4"; src = fetchurl { url = "mirror://sourceforge/kvm/${name}.tar.gz"; - sha256 = "1cn20jsmf27h23ynm804bz41i2fmmbg02gbnfknz6cwbjg4cvk3p"; + sha256 = "07hqcjg97i8j4cvpq3nicwhnc8dvd23rjyl1arr8ayzg1mdgx28l"; }; patches = [ ./unix-domain.patch ./smb-tmpdir.patch ]; diff --git a/pkgs/tools/compression/gzip/gnulib-futimens.patch b/pkgs/tools/compression/gzip/gnulib-futimens.patch deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/pkgs/tools/compression/gzip/gnulib-futimens.patch +++ /dev/null diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 6f7c0923d99f..2bd24b302bea 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -1,6 +1,8 @@ -{stdenv, fetchurl, aclSupport ? false, acl, perl, gmp}: +{ stdenv, fetchurl, aclSupport ? false, acl ? null, perl, gmp ? null}: -stdenv.mkDerivation rec { +assert aclSupport -> acl != null; + +stdenv.mkDerivation (rec { name = "coreutils-8.4"; src = fetchurl { @@ -26,7 +28,7 @@ stdenv.mkDerivation rec { # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025), # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), # and {Open,Free}BSD. - doCheck = (stdenv ? glibc); + doCheck = (stdenv ? glibc) && (cross == null); meta = { homepage = http://www.gnu.org/software/coreutils/; diff --git a/pkgs/tools/misc/pinentry/default.nix b/pkgs/tools/misc/pinentry/default.nix index 900370d0f8e4..004f3afa9b77 100644 --- a/pkgs/tools/misc/pinentry/default.nix +++ b/pkgs/tools/misc/pinentry/default.nix @@ -1,16 +1,21 @@ -{ fetchurl, stdenv, glib, pkgconfig, gtk, ncurses }: +{ fetchurl, stdenv, pkgconfig, glib +, useGtk ? true, gtk ? null +, useNcurses ? true, ncurses ? null +, useQt4 ? false, qt4 ? null }: + +assert useGtk -> (gtk != null); +assert useNcurses -> (ncurses != null); +assert useQt4 -> (qt4 != null); stdenv.mkDerivation rec { - name = "pinentry-0.7.5"; + name = "pinentry-0.8.0"; src = fetchurl { url = "mirror://gnupg/pinentry/${name}.tar.gz"; - sha256 = "cb269ac058793b2df343a12a65e3402abc4b68503e105b12e4ca903d8d8e3172"; + sha256 = "06phs3gbs6gf0z9g28z3jgsw312dhhpdgzrx4hhps53xrbwpyv22"; }; - patches = [ ./duplicate-glib-defs.patch ]; - - buildInputs = [ glib pkgconfig gtk ncurses ]; + buildInputs = [ glib pkgconfig gtk ncurses ] ++ stdenv.lib.optional useQt4 qt4; meta = { description = "GnuPG's interface to passphrase input"; diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix new file mode 100644 index 000000000000..5d433fdee391 --- /dev/null +++ b/pkgs/tools/networking/aria2/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, openssl, libxml2, zlib }: + +stdenv.mkDerivation rec { + name = "aria2-1.9.3"; + + src = fetchurl { + url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2"; + sha256 = "04vnvq5f797bbyrrv1kzvnv8h02f4wbhvsl34syi4gygimfrwkrn"; + }; + + buildInputs = [ openssl libxml2 zlib ]; + + meta = { + homepage = http://aria2.sourceforge.net/; + description = "A lightweight, multi-protocol, multi-source, command-line download utility"; + }; +} diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix new file mode 100644 index 000000000000..5d62222d1419 --- /dev/null +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, iptables }: + +assert stdenv.isLinux; + +stdenv.mkDerivation rec { + name = "miniupnpd-1.4"; + + src = fetchurl { + url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz"; + sha256 = "06q5agkzv2snjxcsszpm27h8bqv41jijahs8jqnarxdrik97rfl5"; + }; + + buildInputs = [ iptables ]; + + NIX_CFLAGS_COMPILE = "-DIPTABLES_143"; + + NIX_CFLAGS_LINK = "-liptc"; + + makefile = "Makefile.linux"; + + makeFlags = "LIBS="; + + postBuild = "cat config.h"; + + installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)"; + + postInstall = + '' + ensureDir $out/share/man/man1 + cp miniupnpd.1 $out/share/man/man1/ + ''; + + meta = { + homepage = http://miniupnp.free.fr/; + description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification"; + }; +} diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix index 5ea3a934bab8..526b956d0d11 100644 --- a/pkgs/tools/package-management/nix/sqlite.nix +++ b/pkgs/tools/package-management/nix/sqlite.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "nix-0.16pre21802"; + name = "nix-0.16pre21920"; src = fetchurl { - url = "http://hydra.nixos.org/build/410078/download/4/${name}.tar.bz2"; - sha256 = "dec142f401fd0aab771eebcddf8354edc57d9a05f63f07f0e74dd7c499df8cf8"; + url = "http://hydra.nixos.org/build/413218/download/4/${name}.tar.bz2"; + sha256 = "7d978a5d48a329c01d2af763ce6fc2038dbc24318e4ee57d873fa0c68d30f7ae"; }; buildInputs = [ perl curl openssl ]; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index adcac62070e1..6c6cbbea2b52 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "nix-0.16pre21778"; + name = "nix-0.16pre21832"; src = fetchurl { - url = "http://hydra.nixos.org/build/408983/download/4/${name}.tar.bz2"; - sha256 = "54e154776efe05973aaf75b33f6e00987cd147d1cb7a2a132f4386d4b51c6bdc"; + url = "http://hydra.nixos.org/build/410867/download/4/${name}.tar.bz2"; + sha256 = "c9ab6723859e07982a83c89f8863069c5c5ca9eea21591b194acd838f0de63b9"; }; buildNativeInputs = [ perl ]; diff --git a/pkgs/tools/security/dirmngr/default.nix b/pkgs/tools/security/dirmngr/default.nix new file mode 100644 index 000000000000..be6d184a4f2c --- /dev/null +++ b/pkgs/tools/security/dirmngr/default.nix @@ -0,0 +1,11 @@ +{ stdenv, fetchurl, libgpgerror, libgcrypt, libassuan, libksba, openldap }: + +stdenv.mkDerivation rec { + name = "dirmngr-1.0.3"; + src = fetchurl { + url = "mirror://gnupg/${name}.tar.bz2"; + sha256 = "03f54582caxgwjdv1b71azyk612a738ckgk2k05bmg466r1cw8jd"; + }; + + buildInputs = [ libgpgerror libgcrypt libassuan libksba openldap ]; +} diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index dc396d9f35b3..7b89dcb25b87 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -1,36 +1,58 @@ -{ # Support for the IDEA cipher (used by the old PGP) should only be - # enabled if it is legal for you to do so. - ideaSupport ? false +# Remember to install Pinentry and +# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'. -, stdenv, fetchurl, readline, bzip2 +{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan +, libksba, coreutils, useLdap ? true, openldap ? null +, useBzip2 ? true, bzip2 ? null, useUsb ? true, libusb ? null +, useCurl ? true, curl ? null }: -let - - idea = fetchurl { - url = http://nixos.org/tarballs/idea.c.gz; - md5 = "9dc3bc086824a8c7a331f35e09a3e57f"; - }; - -in +assert useLdap -> (openldap != null); +assert useBzip2 -> (bzip2 != null); +assert useUsb -> (libusb != null); +assert useCurl -> (curl != null); stdenv.mkDerivation rec { - name = "gnupg-1.4.10"; + name = "gnupg-2.0.15"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "0f5v8c8fkxcnrlmnijaq2sqfqq6xhmbyi2p44pj98y6n6927z452"; + sha256 = "070diybdiwf45d8xqbb5lwf3jjvhja1lcr6sf4fcw8519lpqi0aq"; }; - buildInputs = [ readline bzip2 ]; + buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ] + ++ stdenv.lib.optional useLdap openldap + ++ stdenv.lib.optional useBzip2 bzip2 + ++ stdenv.lib.optional useUsb libusb + ++ stdenv.lib.optional useCurl curl; + + patchPhase = '' + find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i + ''; + + checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check"; + + doCheck = true; - preConfigure = stdenv.lib.optionalString ideaSupport - '' - gunzip < ${idea} > ./cipher/idea.c - ''; - meta = { - description = "A free implementation of the OpenPGP standard for encrypting and signing data"; - homepage = http://www.gnupg.org/; + description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard"; + + longDescription = '' + GnuPG is the GNU project's complete and free implementation of + the OpenPGP standard as defined by RFC4880. GnuPG allows to + encrypt and sign your data and communication, features a + versatile key managment system as well as access modules for all + kind of public key directories. GnuPG, also known as GPG, is a + command line tool with features for easy integration with other + applications. A wealth of frontend applications and libraries + are available. Version 2 of GnuPG also provides support for + S/MIME. + ''; + + homepage = http://gnupg.org/; + + license = "GPLv3+"; + + maintainers = with stdenv.lib.maintainers; [ ludo urkud ]; }; } diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix new file mode 100644 index 000000000000..dc396d9f35b3 --- /dev/null +++ b/pkgs/tools/security/gnupg1/default.nix @@ -0,0 +1,36 @@ +{ # Support for the IDEA cipher (used by the old PGP) should only be + # enabled if it is legal for you to do so. + ideaSupport ? false + +, stdenv, fetchurl, readline, bzip2 +}: + +let + + idea = fetchurl { + url = http://nixos.org/tarballs/idea.c.gz; + md5 = "9dc3bc086824a8c7a331f35e09a3e57f"; + }; + +in + +stdenv.mkDerivation rec { + name = "gnupg-1.4.10"; + + src = fetchurl { + url = "mirror://gnupg/gnupg/${name}.tar.bz2"; + sha256 = "0f5v8c8fkxcnrlmnijaq2sqfqq6xhmbyi2p44pj98y6n6927z452"; + }; + + buildInputs = [ readline bzip2 ]; + + preConfigure = stdenv.lib.optionalString ideaSupport + '' + gunzip < ${idea} > ./cipher/idea.c + ''; + + meta = { + description = "A free implementation of the OpenPGP standard for encrypting and signing data"; + homepage = http://www.gnupg.org/; + }; +} diff --git a/pkgs/tools/security/gnupg1compat/default.nix b/pkgs/tools/security/gnupg1compat/default.nix new file mode 100644 index 000000000000..9bd71467f0ea --- /dev/null +++ b/pkgs/tools/security/gnupg1compat/default.nix @@ -0,0 +1,20 @@ +{ stdenv, gnupg, coreutils, writeScript }: + +stdenv.mkDerivation { + name = "gnupg1compat-0"; + + builder = writeScript "gnupg1compat-builder" '' + # First symlink all top-level dirs + ${coreutils}/bin/mkdir -p $out + ${coreutils}/bin/ln -s ${gnupg}/* $out + + # Replace bin with directory and symlink it contents + ${coreutils}/bin/rm $out/bin + ${coreutils}/bin/mkdir -p $out/bin + ${coreutils}/bin/ln -s ${gnupg}/bin/* $out/bin + + # Add gpg->gpg2 and gpgv->gpgv2 symlinks + ${coreutils}/bin/ln -s gpg2 $out/bin/gpg + ${coreutils}/bin/ln -s gpgv2 $out/bin/gpgv + ''; +} diff --git a/pkgs/tools/security/gnupg2/default.nix b/pkgs/tools/security/gnupg2/default.nix deleted file mode 100644 index b52d8bcf56ab..000000000000 --- a/pkgs/tools/security/gnupg2/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -# Remember to install Pinentry and -# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'. - -{ fetchurl, stdenv, readline, openldap, bzip2, zlib, libgpgerror -, pth, libgcrypt, libassuan, libksba, libusb, curl }: - -stdenv.mkDerivation rec { - name = "gnupg-2.0.12"; - - src = fetchurl { - url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1klw3m32s6d81qkslin4pibb2f84yz8l6n6fkwfdxyhrql2f2cwn"; - }; - - buildInputs = [ readline openldap bzip2 zlib libgpgerror pth libgcrypt - libassuan libksba libusb curl ]; - - patchPhase = '' - for file in tests/pkits/* - do - if [ -f "$file" ] - then - sed -i "$file" -es'|/bin/pwd|pwd|g' - fi - done - ''; - - doCheck = true; - - meta = { - description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard"; - - longDescription = '' - GnuPG is the GNU project's complete and free implementation of - the OpenPGP standard as defined by RFC4880. GnuPG allows to - encrypt and sign your data and communication, features a - versatile key managment system as well as access modules for all - kind of public key directories. GnuPG, also known as GPG, is a - command line tool with features for easy integration with other - applications. A wealth of frontend applications and libraries - are available. Version 2 of GnuPG also provides support for - S/MIME. - ''; - - homepage = http://gnupg.org/; - - license = "GPLv3+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/tools/security/opensc/0.11.7.nix b/pkgs/tools/security/opensc/0.11.7.nix index af0bc5144a87..e18858363013 100644 --- a/pkgs/tools/security/opensc/0.11.7.nix +++ b/pkgs/tools/security/opensc/0.11.7.nix @@ -1,5 +1,5 @@ -{stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite, libassuan, pkgconfig, -libXt, pinentry}: +{stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite, + libassuan1, pkgconfig, libXt, pinentry}: stdenv.mkDerivation rec { name = "opensc-0.11.7"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1" "--with-pinentry=${pinentry}/bin/pinentry" ]; - buildInputs = [ libtool readline zlib openssl pcsclite libassuan pkgconfig + buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig libXt ] ++ stdenv.lib.optional (! stdenv.isLinux) libiconv; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 136a6efe7a1e..d896e4429597 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,30 +1,42 @@ -{stdenv, fetchurl, libevent, openssl, zlib}: +{ stdenv, fetchurl, libevent, openssl, zlib }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "tor-0.2.1.26"; src = fetchurl { - url = "http://www.torproject.org/dist/tor-0.2.1.26.tar.gz"; + url = "http://www.torproject.org/dist/${name}.tar.gz"; sha256 = "18kz1hs6lvckkddy4y36gi7ly03ar2il2xzkrf8bfgif1gnn1p3c"; }; - buildInputs = [libevent openssl zlib]; - + patchPhase = + # DNS lookups fail in chroots. + '' sed -i "src/or/test.c" -es/localhost/127.0.0.1/g + ''; + + buildInputs = [ libevent openssl zlib ]; + doCheck = true; meta = { homepage = http://www.torproject.org/; - description = "Tor is an onion router enabling Internet anonymity by thwarting network traffic analysis"; + description = "Tor, an anonymous network router to improve privacy on the Internet"; + longDescription='' - Tor protects you by bouncing your communications around a distributed - network of relays run by volunteers all around the world: it prevents - somebody watching your Internet connection from learning what sites you - visit, and it prevents the sites you visit from learning your physical - location. Tor works with many of your existing applications, including - web browsers, instant messaging clients, remote login, and other - applications based on the TCP protocol. + Tor protects you by bouncing your communications around a distributed + network of relays run by volunteers all around the world: it prevents + somebody watching your Internet connection from learning what sites you + visit, and it prevents the sites you visit from learning your physical + location. Tor works with many of your existing applications, including + web browsers, instant messaging clients, remote login, and other + applications based on the TCP protocol. ''; - license="bsd"; - }; + license="mBSD"; + + maintainers = + [ # Russell O’Connor <roconnor@theorem.ca> ? + stdenv.lib.maintainers.ludo + ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8afede97c855..c50acf1ef8c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -371,6 +371,10 @@ let aria = builderDefsPackage (import ../tools/networking/aria) { }; + aria2 = import ../tools/networking/aria2 { + inherit fetchurl stdenv openssl libxml2 zlib; + }; + at = import ../tools/system/at { inherit fetchurl stdenv bison flex pam ssmtp; }; @@ -542,7 +546,9 @@ let else import ../tools/misc/coreutils) { inherit fetchurl stdenv acl perl gmp; - aclSupport = stdenv.isLinux; + + # TODO: Add ACL support for cross-Linux. + aclSupport = (crossSystem == null) && stdenv.isLinux; }; coreutils = useFromStdenv "coreutils" coreutils_real; @@ -628,6 +634,10 @@ let inherit fetchurl stdenv coreutils; }); + dirmngr = import ../tools/security/dirmngr { + inherit stdenv fetchurl libgpgerror libgcrypt libassuan libksba openldap; + }; + docbook2x = import ../tools/typesetting/docbook2x { inherit fetchurl stdenv texinfo perl gnused groff libxml2 libxslt makeWrapper; @@ -646,8 +656,9 @@ let }; duplicity = import ../tools/backup/duplicity { - inherit fetchurl stdenv librsync gnupg makeWrapper python; + inherit fetchurl stdenv librsync makeWrapper python; inherit (pythonPackages) boto; + gnupg = gnupg1; }; dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools { @@ -807,14 +818,21 @@ let inherit fetchurl stdenv ed; }); - gnupg = makeOverridable (import ../tools/security/gnupg) { + gnupg1orig = makeOverridable (import ../tools/security/gnupg1) { inherit fetchurl stdenv readline bzip2; ideaSupport = false; }; - gnupg2 = makeOverridable (import ../tools/security/gnupg2) { + gnupg1compat = import ../tools/security/gnupg1compat { + inherit stdenv gnupg writeScript coreutils; + }; + + # use config.packageOverrides if you prefer original gnupg1 + gnupg1 = gnupg1compat; + + gnupg = makeOverridable (import ../tools/security/gnupg) { inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib - openldap bzip2 libusb curl; + openldap bzip2 libusb curl coreutils; }; gnuplot = makeOverridable (import ../tools/graphics/gnuplot) { @@ -1078,6 +1096,10 @@ let flex = flex2535; }; + miniupnpd = import ../tools/networking/miniupnpd { + inherit fetchurl stdenv iptables; + }; + mjpegtools = import ../tools/video/mjpegtools { inherit fetchurl stdenv libjpeg; inherit (xlibs) libX11; @@ -1271,7 +1293,7 @@ let opensc_0_11_7 = import ../tools/security/opensc/0.11.7.nix { inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite - libassuan pkgconfig pinentry; + libassuan1 pkgconfig pinentry; inherit (xlibs) libXt; }; @@ -1369,8 +1391,8 @@ let inherit (xlibs) libX11; }; - pinentry = import ../tools/misc/pinentry { - inherit fetchurl stdenv pkgconfig ncurses; + pinentry = makeOverridable (import ../tools/misc/pinentry) { + inherit fetchurl stdenv pkgconfig ncurses qt4; inherit (gnome) glib gtk; }; @@ -2091,7 +2113,13 @@ let }; gccCrossStageFinal = wrapGCCCross { - gcc = forceBuildDrv gcc_realCross; + gcc = forceBuildDrv (gcc_realCross.override { + libpthreadCross = + # FIXME: Don't explicitly refer to `i586-pc-gnu'. + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then hurdLibpthreadCross + else null; + }); libc = libcCross; binutils = binutilsCross; cross = assert crossSystem != null; crossSystem; @@ -2110,7 +2138,7 @@ let })); gcc45 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.5) { - inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib perl ppl cloogppl gettext which noSysDirs; profiledCompiler = true; @@ -2190,7 +2218,7 @@ let langCC = true; langC = false; profiledCompiler = false; - inherit zip unzip zlib boehmgc gettext pkgconfig; + inherit zip unzip zlib boehmgc gettext pkgconfig perl; inherit (gtkLibs) gtk; inherit (gnome) libart_lgpl; inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender @@ -3244,10 +3272,9 @@ let inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils; }; - migCross = forceBuildDrv (import ../development/tools/misc/mig { + mig = import ../os-specific/gnu/mig { inherit fetchgit stdenv autoconf automake flex bison machHeaders; - cross = assert crossSystem != null; crossSystem; - }); + }; mk = import ../development/tools/build-managers/mk { inherit fetchurl stdenv; @@ -3711,7 +3738,8 @@ let }; ffmpeg = import ../development/libraries/ffmpeg { - inherit fetchurl stdenv faad2 libvorbis speex libtheora x264 pkgconfig xvidcore; + inherit fetchurl stdenv faad2 libvorbis speex libtheora x264 pkgconfig xvidcore + lame yasm; }; fftw = import ../development/libraries/fftw { @@ -3901,10 +3929,7 @@ let // (if crossGNU - then { - inherit machHeaders hurdHeaders fetchgit; - mig = migCross; - } + then { inherit machHeaders hurdHeaders mig fetchgit; } else { })))); glibcCross = glibc211Cross; @@ -4030,7 +4055,7 @@ let }; gpgme = import ../development/libraries/gpgme { - inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib; + inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg glib libassuan; }; gsasl = import ../development/libraries/gsasl { @@ -4046,7 +4071,7 @@ let }; gss = import ../development/libraries/gss { - inherit stdenv fetchurl; + inherit stdenv fetchurl shishi; }; gtkimageview = import ../development/libraries/gtkimageview { @@ -4181,8 +4206,7 @@ let }; hwloc = import ../development/libraries/hwloc { - inherit fetchurl stdenv pkgconfig cairo expat ncurses - autoconf automake libtool; + inherit fetchurl stdenv pkgconfig cairo expat ncurses; }; hydraAntLogger = import ../development/libraries/java/hydra-ant-logger { @@ -4300,10 +4324,14 @@ let openssl attr; }; - libassuan = import ../development/libraries/libassuan { + libassuan1 = import ../development/libraries/libassuan1 { inherit fetchurl stdenv pth; }; + libassuan = import ../development/libraries/libassuan { + inherit fetchurl stdenv pth libgpgerror; + }; + libavc1394 = import ../development/libraries/libavc1394 { inherit fetchurl stdenv pkgconfig libraw1394; }; @@ -4713,6 +4741,10 @@ let inherit fetchurl stdenv pkgconfig ncurses gpm glib; }; + libvpx = import ../development/libraries/libvpx { + inherit fetchurl stdenv bash; + }; + libvterm = import ../development/libraries/libvterm { inherit fetchurl stdenv pkgconfig ncurses glib; }; @@ -6069,13 +6101,47 @@ let inherit fetchurl stdenv ncurses; }; + hurdCross = forceBuildDrv(import ../os-specific/gnu/hurd { + inherit fetchgit stdenv autoconf libtool texinfo machHeaders + mig glibcCross; + automake = automake111x; + headersOnly = false; + cross = assert crossSystem != null; crossSystem; + gccCross = gccCrossStageFinal; + }); + + hurdCrossIntermediate = forceBuildDrv(import ../os-specific/gnu/hurd { + inherit fetchgit stdenv autoconf libtool texinfo machHeaders + mig glibcCross; + automake = automake111x; + headersOnly = false; + cross = assert crossSystem != null; crossSystem; + + # The "final" GCC needs glibc and the Hurd libraries (libpthread in + # particular) so we first need an intermediate Hurd built with the + # intermediate GCC. + gccCross = gccCrossStageStatic; + + # This intermediate Hurd is only needed to build libpthread, which really + # only needs libihash. + buildTarget = "libihash"; + installTarget = "libihash-install"; + }); + hurdHeaders = import ../os-specific/gnu/hurd { - inherit fetchgit stdenv autoconf libtool texinfo machHeaders; - mig = migCross; + inherit fetchgit stdenv autoconf libtool texinfo mig machHeaders; automake = automake111x; headersOnly = true; }; + hurdLibpthreadCross = forceBuildDrv(import ../os-specific/gnu/libpthread { + inherit fetchgit stdenv autoconf automake libtool + machHeaders hurdHeaders glibcCross; + hurd = hurdCrossIntermediate; + gccCross = gccCrossStageStatic; + cross = assert crossSystem != null; crossSystem; + }); + hwdata = import ../os-specific/linux/hwdata { inherit fetchurl stdenv; }; @@ -8123,7 +8189,7 @@ let MPlayer = import ../applications/video/MPlayer { inherit fetchurl stdenv freetype fontconfig x11 zlib libtheora libcaca libdvdnav - cdparanoia mesa pkgconfig unzip amrnb amrwb jackaudio x264 xvidcore; + cdparanoia mesa pkgconfig unzip amrnb amrwb jackaudio x264 xvidcore lame yasm; inherit (xlibs) libX11 libXv libXinerama libXrandr; alsaSupport = true; alsa = alsaLib; @@ -8203,6 +8269,21 @@ let stdenv = stdenv2; }; + go_oo = import ../applications/office/openoffice/go-oo.nix { + inherit fetchurl pam python tcsh libxslt perl zlib libjpeg + expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron + curl libsndfile flex zip unzip libmspack getopt file cairo + which icu jdk ant cups openssl bison boost gperf cppunit; + inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama; + inherit (gtkLibs) gtk; + inherit (perlPackages) ArchiveZip CompressZlib; + inherit (gnome) GConf ORBit2; + neon = neon026; + stdenv = stdenv2; + + inherit autoconf openldap postgresql; + }; + opera = import ../applications/networking/browsers/opera { inherit fetchurl zlib glibc stdenv makeDesktopItem; inherit (xlibs) libX11 libSM libICE libXt libXext; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 421684be43b5..7df0c8248612 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1879,8 +1879,8 @@ rec { url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz; sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p"; }; - # Test perform network access - doCheck = false; + patchPhase = "chmod a-x Configure"; + doCheck = false; # The test suite fails, because it requires network access. }; NetSMTPSSL = buildPerlPackage { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 48cdf1f143a9..5f9947ecd86a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -685,11 +685,11 @@ rec { }; twisted = buildPythonPackage { - name = "twisted-8.2.0"; + name = "twisted-10.0.0"; src = fetchurl { - url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2; - sha256 = "1c6zplisjdnjzkfs0ld3a0f7m7xbjgx5rcwsdw5i1xiibsq2nq70"; + url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.0/Twisted-10.0.0.tar.bz2; + sha256 = "1cbqpvwdwsc2av43fyqqdyyxs2j3drbagnl9m5vk7fl9k5q8q4fv"; }; propagatedBuildInputs = [ zopeInterface ]; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 0845d73175cc..d4daf2652c35 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -6,6 +6,7 @@ let basicHostDrv = { bison.hostDrv = nativePlatforms; busybox.hostDrv = nativePlatforms; + coreutils_real.hostDrv = nativePlatforms; dropbear.hostDrv = nativePlatforms; tightvnc.hostDrv = nativePlatforms; #openoffice.hostDrv = nativePlatforms; @@ -152,5 +153,14 @@ let in { crossGNU = mapTestOnCross crossSystem { gccCrossStageFinal = nativePlatforms; + hurdCross = nativePlatforms; + + coreutils_real.hostDrv = nativePlatforms; + ed.hostDrv = nativePlatforms; + grub2.hostDrv = nativePlatforms; + inetutils.hostDrv = nativePlatforms; + nixUnstable.hostDrv = nativePlatforms; + patch.hostDrv = nativePlatforms; + zile.hostDrv = nativePlatforms; }; }) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index 64530930ee50..be60de14ed81 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -3,7 +3,26 @@ rec { pkgs = allPackages {}; - /* The working or failing letters for cross builds will be sent only to + /* !!! Hack: poor man's memoisation function. Necessary for prevent + Nixpkgs from being evaluated again and again for every + job/platform pair. */ + pkgsFor = system: + if system == "x86_64-linux" then pkgs_x86_64_linux + else if system == "i686-linux" then pkgs_i686_linux + else if system == "x86_64-darwin" then pkgs_x86_64_darwin + else if system == "i686-darwin" then pkgs_i686_darwin + else if system == "i686-freebsd" then pkgs_i686_freebsd + else if system == "i686-cygwin" then pkgs_i686_cygwin + else abort "unsupported system type: ${system}"; + + pkgs_x86_64_linux = allPackages { system = "x86_64-linux"; }; + pkgs_i686_linux = allPackages { system = "i686-linux"; }; + pkgs_x86_64_darwin = allPackages { system = "x86_64-darwin"; }; + pkgs_i686_darwin = allPackages { system = "i686-darwin"; }; + pkgs_i686_freebsd = allPackages { system = "i686-freebsd"; }; + pkgs_i686_cygwin = allPackages { system = "i686-cygwin"; }; + + /* The working or failing mails for cross builds will be sent only to the following maintainers, as most package maintainers will not be interested in the result of cross building a package. */ crossMaintainers = with pkgs.lib.maintainers; [ viric ]; @@ -23,7 +42,7 @@ rec { to build on that platform. `f' is passed the Nixpkgs collection for the platform in question. */ testOn = systems: f: {system ? builtins.currentSystem}: - if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {}; + if pkgs.lib.elem system systems then f (pkgsFor system) else {}; /* Similar to the testOn function, but with an additional 'crossSystem' * parameter for allPackages, defining the target platform for cross builds */ diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index edb82944508f..47db7f587196 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -120,7 +120,7 @@ with (import ./release-lib.nix); gnum4 = all; gnumake = all; gnupatch = all; - gnupg2 = linux; + gnupg = linux; gnuplot = allBut "i686-cygwin"; gnused = all; gnutar = all; |