From 0ff12ea30bed2dac13bdc4b7fef3f50925afe5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 19 May 2010 16:46:48 +0000 Subject: [PATCH 01/68] Trying to fix the build of openoffice 3.2.0 svn path=/nixpkgs/trunk/; revision=21880 --- pkgs/applications/office/openoffice/builder.sh | 4 +++- pkgs/applications/office/openoffice/default.nix | 5 ----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/office/openoffice/builder.sh b/pkgs/applications/office/openoffice/builder.sh index 848afe96210..131e85de5bf 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 5c1e34a4425..9c8b7cdb362 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 = [ From 7751f8bd6218890b36579bde4b566fad25c36cef Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:58:35 +0000 Subject: [PATCH 02/68] Upgrade pinentry to 0.8.0 Also add optional pinentry-qt4 svn path=/nixpkgs/trunk/; revision=21882 --- pkgs/tools/misc/pinentry/default.nix | 17 +++++++++++------ pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/pinentry/default.nix b/pkgs/tools/misc/pinentry/default.nix index 900370d0f8e..004f3afa9b7 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc20f4af381..4c08ef9f766 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1369,8 +1369,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; }; From ea1953d7445ac719db975e6bdaf84e381c6f9803 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:58:47 +0000 Subject: [PATCH 03/68] Move gnupg to gnupg1 and gnupg2 to gnupg Also add gnupg1-compatibility symlinks to gnupg2. Most packages should be able to use gnupg2 instead of gnupg1. svn path=/nixpkgs/trunk/; revision=21883 --- pkgs/development/libraries/gpgme/default.nix | 4 +- pkgs/tools/security/gnupg/default.nix | 66 +++++++++++++------- pkgs/tools/security/gnupg1/default.nix | 36 +++++++++++ pkgs/tools/security/gnupg2/default.nix | 51 --------------- pkgs/top-level/all-packages.nix | 6 +- pkgs/top-level/release.nix | 2 +- 6 files changed, 86 insertions(+), 79 deletions(-) create mode 100644 pkgs/tools/security/gnupg1/default.nix delete mode 100644 pkgs/tools/security/gnupg2/default.nix diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 64f1a746b03..f98201fd4f8 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,4 +1,4 @@ -args: with args; +{stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth}: stdenv.mkDerivation { name = "gpgme-1.1.4"; @@ -6,5 +6,5 @@ stdenv.mkDerivation { url = ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.1.4.tar.bz2; sha256 = "0ncrv7p33rjq1avkxpp9x0gz6wna9y3b3dmw6nv366n5mgvxmpg8"; }; - buildInputs = [libgpgerror gnupg gnupg2 pkgconfig glib pth]; + buildInputs = [libgpgerror gnupg pkgconfig glib pth]; } diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index dc396d9f35b..2312d3ff06d 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 +, 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 = "sed -e 's@/bin/pwd@pwd@g' -i tests/pkits/*"; + + postInstall = '' + ln -s gpg2 $out/bin/gpg + ln -s gpgv2 $out/bin/gpgv + ''; + + 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 00000000000..dc396d9f35b --- /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/gnupg2/default.nix b/pkgs/tools/security/gnupg2/default.nix deleted file mode 100644 index b52d8bcf56a..00000000000 --- 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c08ef9f766..3e7684554cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -807,12 +807,12 @@ let inherit fetchurl stdenv ed; }); - gnupg = makeOverridable (import ../tools/security/gnupg) { + gnupg1 = makeOverridable (import ../tools/security/gnupg1) { inherit fetchurl stdenv readline bzip2; ideaSupport = false; }; - gnupg2 = makeOverridable (import ../tools/security/gnupg2) { + gnupg = makeOverridable (import ../tools/security/gnupg) { inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib openldap bzip2 libusb curl; }; @@ -4030,7 +4030,7 @@ let }; gpgme = import ../development/libraries/gpgme { - inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib; + inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg glib; }; gsasl = import ../development/libraries/gsasl { diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index edb82944508..47db7f58719 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; From d0b56edcf2d5ddea089bd7ed3c5c90b55aaec458 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:58:56 +0000 Subject: [PATCH 04/68] Mass GnuPG upgrade gnupg tests fail. Will try to fix later. svn path=/nixpkgs/trunk/; revision=21884 --- pkgs/development/libraries/gpgme/default.nix | 8 ++++---- pkgs/development/libraries/libassuan/default.nix | 8 ++++---- pkgs/development/libraries/libksba/default.nix | 8 ++++---- pkgs/tools/security/dirmngr/default.nix | 11 +++++++++++ pkgs/tools/security/gnupg/default.nix | 6 +++++- pkgs/top-level/all-packages.nix | 6 +++++- 6 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 pkgs/tools/security/dirmngr/default.nix diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index f98201fd4f8..3ca0e974ff1 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth}: -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 pkgconfig glib pth]; } diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index 9a161ec170f..90ee45865ed 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/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix index 513afc474ea..ec2468aca1d 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/tools/security/dirmngr/default.nix b/pkgs/tools/security/dirmngr/default.nix new file mode 100644 index 00000000000..be6d184a4f2 --- /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 2312d3ff06d..32632358c25 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -25,7 +25,11 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional useUsb libusb ++ stdenv.lib.optional useCurl curl; - patchPhase = "sed -e 's@/bin/pwd@pwd@g' -i tests/pkits/*"; + patchPhase = '' + find tests -type f | xargs sed -e 's@/bin/pwd@${stdenv.coreutils}&@g' -i + ''; + + checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check"; postInstall = '' ln -s gpg2 $out/bin/gpg diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e7684554cd..d3f50d6b5f8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -628,6 +628,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; @@ -4301,7 +4305,7 @@ let }; libassuan = import ../development/libraries/libassuan { - inherit fetchurl stdenv pth; + inherit fetchurl stdenv pth libgpgerror; }; libavc1394 = import ../development/libraries/libavc1394 { From fd63f04e4e972f0ff8a4e70527dc8e4f8595b603 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:59:03 +0000 Subject: [PATCH 05/68] Remove gpg->gpg2 symlink Also make gpgme compile&find gpg2 svn path=/nixpkgs/trunk/; revision=21885 --- pkgs/development/libraries/gpgme/default.nix | 5 +++-- pkgs/tools/security/gnupg/default.nix | 5 ----- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 3ca0e974ff1..42a592bf2dc 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth}: +{stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan}: stdenv.mkDerivation rec { name = "gpgme-1.3.0"; @@ -6,5 +6,6 @@ stdenv.mkDerivation rec { url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2"; sha256 = "18g6wgiacnbj437yfsczbjxaf041ljia48dnv2qgcqb0sky41q3l"; }; - buildInputs = [libgpgerror gnupg pkgconfig glib pth]; + buildInputs = [libgpgerror gnupg pkgconfig glib pth libassuan]; + configureFlags = "--with-gpg=${gnupg}/bin/gpg2"; } diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index 32632358c25..1da3e4e51a2 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -31,11 +31,6 @@ stdenv.mkDerivation rec { checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check"; - postInstall = '' - ln -s gpg2 $out/bin/gpg - ln -s gpgv2 $out/bin/gpgv - ''; - doCheck = true; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3f50d6b5f8..5c32d40b449 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4034,7 +4034,7 @@ let }; gpgme = import ../development/libraries/gpgme { - inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg glib; + inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg glib libassuan; }; gsasl = import ../development/libraries/gsasl { From b7a54122ef5d08265a2acafca2ae946f97d1e158 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:59:07 +0000 Subject: [PATCH 06/68] Pass coreutils explicitly instead of using stdenv.coreutils I hope that this fixes tarball creation for hydra svn path=/nixpkgs/trunk/; revision=21886 --- pkgs/tools/security/gnupg/default.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index 1da3e4e51a2..7b89dcb25b8 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -1,8 +1,9 @@ # Remember to install Pinentry and # 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'. -{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan, libksba -, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null, useUsb ? true, libusb ? null +{ 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 }: @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional useCurl curl; patchPhase = '' - find tests -type f | xargs sed -e 's@/bin/pwd@${stdenv.coreutils}&@g' -i + find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i ''; checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c32d40b449..a9826045d36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -818,7 +818,7 @@ let 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) { From 6a0318feadb583b2cf1c5eea48ecb6484ab76e61 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:59:15 +0000 Subject: [PATCH 07/68] Add libassuan1 back opensc needs it svn path=/nixpkgs/trunk/; revision=21887 --- .../libraries/libassuan1/default.nix | 28 +++++++++++++++++++ pkgs/tools/security/opensc/0.11.7.nix | 6 ++-- pkgs/top-level/all-packages.nix | 6 +++- 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/libraries/libassuan1/default.nix diff --git a/pkgs/development/libraries/libassuan1/default.nix b/pkgs/development/libraries/libassuan1/default.nix new file mode 100644 index 00000000000..9a161ec170f --- /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/tools/security/opensc/0.11.7.nix b/pkgs/tools/security/opensc/0.11.7.nix index af0bc5144a8..e1885836301 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a9826045d36..6f3e365cd2d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1275,7 +1275,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; }; @@ -4304,6 +4304,10 @@ let openssl attr; }; + libassuan1 = import ../development/libraries/libassuan1 { + inherit fetchurl stdenv pth; + }; + libassuan = import ../development/libraries/libassuan { inherit fetchurl stdenv pth libgpgerror; }; From cc6ca8b2ae628b5623fab2057a209af24650448a Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:59:20 +0000 Subject: [PATCH 08/68] Add gnupg1 compatibility wrapper Gnupg1compat is symlinked gnupg2 with two additional symlinks: gpg->gpg2 and gpgv->gpgv2. Move original gnupg 1.x to gnupg1orig. Set default gnupg1 to gnupg1compat. svn path=/nixpkgs/trunk/; revision=21888 --- pkgs/tools/security/gnupg1compat/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 ++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/security/gnupg1compat/default.nix diff --git a/pkgs/tools/security/gnupg1compat/default.nix b/pkgs/tools/security/gnupg1compat/default.nix new file mode 100644 index 00000000000..9bd71467f0e --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f3e365cd2d..a59975f4af4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -650,8 +650,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 { @@ -811,11 +812,18 @@ let inherit fetchurl stdenv ed; }); - gnupg1 = makeOverridable (import ../tools/security/gnupg1) { + gnupg1orig = makeOverridable (import ../tools/security/gnupg1) { inherit fetchurl stdenv readline bzip2; ideaSupport = false; }; + 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 coreutils; From 0639ff01ea2c52ebed59766a6f83f209f6c99473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:26:36 +0000 Subject: [PATCH 09/68] glibc: Fix non-Linux builds. svn path=/nixpkgs/trunk/; revision=21890 --- .../libraries/glibc-2.11/builder2.sh | 49 +++++++++++++++++++ .../libraries/glibc-2.11/default.nix | 7 ++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/glibc-2.11/builder2.sh 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 00000000000..f52573dbb08 --- /dev/null +++ b/pkgs/development/libraries/glibc-2.11/builder2.sh @@ -0,0 +1,49 @@ +### 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 + + # 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/default.nix b/pkgs/development/libraries/glibc-2.11/default.nix index 7c92a0fe41b..9ba106e74d4 100644 --- a/pkgs/development/libraries/glibc-2.11/default.nix +++ b/pkgs/development/libraries/glibc-2.11/default.nix @@ -39,7 +39,12 @@ in // (if hurdHeaders != null - then { inherit machHeaders hurdHeaders mig fetchgit; } + then { + inherit machHeaders hurdHeaders mig fetchgit; + + # XXX: Remove this hack in `stdenv-updates'. + builder = ./builder2.sh; + } else { }) // From e7521238ae2c1643705ed0fa8e7442f45cb35487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:26:48 +0000 Subject: [PATCH 10/68] glibc: Add comment about things to be fixed. svn path=/nixpkgs/trunk/; revision=21891 --- pkgs/development/libraries/glibc-2.11/common.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/glibc-2.11/common.nix b/pkgs/development/libraries/glibc-2.11/common.nix index 178dfcdcbeb..f1308ff4179 100644 --- a/pkgs/development/libraries/glibc-2.11/common.nix +++ b/pkgs/development/libraries/glibc-2.11/common.nix @@ -104,6 +104,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 // { From 8ccb0fda332ac46eaf4a821813c13f50b895a84f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:27:01 +0000 Subject: [PATCH 11/68] fetchgit: Track all remote branches when `$rev' is non-empty. svn path=/nixpkgs/trunk/; revision=21892 --- pkgs/build-support/fetchgit/builder.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh index ba06aed90e1..794b690341e 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 From eeba31dfc9a69fbb0798dcad6293093ccc719de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:27:38 +0000 Subject: [PATCH 12/68] GNU MIG: Use the date as the version number; remove misguided cross stuff. svn path=/nixpkgs/trunk/; revision=21893 --- pkgs/development/tools/misc/mig/default.nix | 17 ++++++++++------- pkgs/top-level/all-packages.nix | 6 +++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/misc/mig/default.nix b/pkgs/development/tools/misc/mig/default.nix index d09dc9dd4b0..68951e84e2d 100644 --- a/pkgs/development/tools/misc/mig/default.nix +++ b/pkgs/development/tools/misc/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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a59975f4af4..af68056a708 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3256,10 +3256,10 @@ let inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils; }; - migCross = forceBuildDrv (import ../development/tools/misc/mig { + mig = import ../development/tools/misc/mig { inherit fetchgit stdenv autoconf automake flex bison machHeaders; - cross = assert crossSystem != null; crossSystem; - }); + }; + migCross = mig; # FIXME: Remove me. mk = import ../development/tools/build-managers/mk { inherit fetchurl stdenv; From 5ecaa9ab320e4f229f902735142039635deda3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:27:53 +0000 Subject: [PATCH 13/68] GNU MIG: Move to `os-specific/gnu'. svn path=/nixpkgs/trunk/; revision=21894 --- .../{development/tools/misc => os-specific/gnu}/mig/default.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/{development/tools/misc => os-specific/gnu}/mig/default.nix (100%) diff --git a/pkgs/development/tools/misc/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix similarity index 100% rename from pkgs/development/tools/misc/mig/default.nix rename to pkgs/os-specific/gnu/mig/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af68056a708..0c4b60ceb99 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3256,7 +3256,7 @@ let inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils; }; - mig = import ../development/tools/misc/mig { + mig = import ../os-specific/gnu/mig { inherit fetchgit stdenv autoconf automake flex bison machHeaders; }; migCross = mig; # FIXME: Remove me. From 82db7c3f0e5437cffbd0c8eb9718714785752c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:03 +0000 Subject: [PATCH 14/68] glibc/hurd: Use the date as the version number. svn path=/nixpkgs/trunk/; revision=21895 --- pkgs/development/libraries/glibc-2.11/common.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glibc-2.11/common.nix b/pkgs/development/libraries/glibc-2.11/common.nix index f1308ff4179..3f0db7d46b7 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); From 5cb28c179c30a8698e35a31a63250f4ade1139e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:09 +0000 Subject: [PATCH 15/68] GNU Mach: Use the date as the version number. svn path=/nixpkgs/trunk/; revision=21896 --- pkgs/os-specific/gnu/mach/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix index 9bb08ef36fb..b79ef3a5c9d 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-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/gnumach.git"; From b9e28b8a8e4fd7333d408bfe6c35cb6ca24d0a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:14 +0000 Subject: [PATCH 16/68] GNU Hurd: Use the date as the version number. svn path=/nixpkgs/trunk/; revision=21897 --- pkgs/os-specific/gnu/hurd/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix index c9e1a1e6cab..24deb3b3d8a 100644 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -1,9 +1,14 @@ { fetchgit, stdenv, autoconf, automake, libtool, texinfo , machHeaders, mig, headersOnly ? true }: -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}}"; +in +stdenv.mkDerivation ({ + name = "hurd-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/hurd.git"; From 89b9d2af527cdb360385bb64db63e31ec54d6790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:28 +0000 Subject: [PATCH 17/68] GNU Mach, GNU Hurd: Add `-headers' in the name when asking for headers only. svn path=/nixpkgs/trunk/; revision=21898 --- pkgs/os-specific/gnu/hurd/default.nix | 2 +- pkgs/os-specific/gnu/mach/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix index 24deb3b3d8a..609955668e8 100644 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -8,7 +8,7 @@ let rev = "master@{${date}}"; in stdenv.mkDerivation ({ - name = "hurd-${date}"; + name = "hurd${if headersOnly then "-headers" else ""}-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/hurd.git"; diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix index b79ef3a5c9d..49f1f4883a3 100644 --- a/pkgs/os-specific/gnu/mach/default.nix +++ b/pkgs/os-specific/gnu/mach/default.nix @@ -8,7 +8,7 @@ let rev = "master@{${date}}"; in stdenv.mkDerivation ({ - name = "gnumach-${date}"; + name = "gnumach${if headersOnly then "-headers" else ""}-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/gnumach.git"; From 2534ea88b1a2a5203a3069201a89d680da392233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:34 +0000 Subject: [PATCH 18/68] GNU Hurd: Allow partial builds. svn path=/nixpkgs/trunk/; revision=21899 --- pkgs/os-specific/gnu/hurd/default.nix | 35 +++++++++++++++++++++------ pkgs/top-level/all-packages.nix | 18 ++++++++++++++ 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix index 609955668e8..b53dd98d9e7 100644 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -1,14 +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" }: assert (cross != null) -> (gccCross != null); let - date = "2010-05-12"; - rev = "master@{${date}}"; + date = "2010-05-12"; + rev = "master@{${date}}"; + suffix = if headersOnly + then "-headers" + else (if buildTarget != "all" + then "-minimal" + else ""); in stdenv.mkDerivation ({ - name = "hurd${if headersOnly then "-headers" else ""}-${date}"; + name = "hurd${suffix}-${date}"; src = fetchgit { url = "git://git.sv.gnu.org/hurd/hurd.git"; @@ -16,13 +23,19 @@ stdenv.mkDerivation ({ 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"; + buildPhase = "make ${buildTarget}"; + installPhase = "make ${installTarget}"; + meta = { description = "The GNU Hurd, GNU project's replacement for the Unix kernel"; @@ -46,4 +59,12 @@ stdenv.mkDerivation ({ (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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c4b60ceb99..127e6c09d99 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6085,6 +6085,24 @@ let inherit fetchurl stdenv ncurses; }; + 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; From e5571e9cd4739543c0ce4d56affc90469dc749f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:28:57 +0000 Subject: [PATCH 19/68] GNU Hurd: Add libpthread. svn path=/nixpkgs/trunk/; revision=21900 --- pkgs/os-specific/gnu/libpthread/default.nix | 65 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 +++ 2 files changed, 73 insertions(+) create mode 100644 pkgs/os-specific/gnu/libpthread/default.nix diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix new file mode 100644 index 00000000000..11adc618791 --- /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 + # . + 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 + # .) + 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 127e6c09d99..7cf7b4f44b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6110,6 +6110,14 @@ let 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; }; From ee7ad85926641e0325445ee92479b14be443fe54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:29:48 +0000 Subject: [PATCH 20/68] glibc/hurd: Add libhurduser and libmachuser to the libc.so linker script. svn path=/nixpkgs/trunk/; revision=21901 --- pkgs/development/libraries/glibc-2.11/builder2.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/glibc-2.11/builder2.sh b/pkgs/development/libraries/glibc-2.11/builder2.sh index f52573dbb08..f156e647e0b 100644 --- a/pkgs/development/libraries/glibc-2.11/builder2.sh +++ b/pkgs/development/libraries/glibc-2.11/builder2.sh @@ -34,6 +34,15 @@ postInstall() { 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 From fc763b15ebaa3b728bd70688f5d071f0db3ea9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:30:37 +0000 Subject: [PATCH 21/68] hwloc 1.0. svn path=/nixpkgs/trunk/; revision=21902 --- pkgs/development/libraries/hwloc/default.nix | 13 ++++--------- pkgs/top-level/all-packages.nix | 3 +-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix index 53c33787da5..5c3d37729e6 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7cf7b4f44b0..61da353a7c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4193,8 +4193,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 { From aa26710b444a2a976aa21ea983a09224c4c9cfa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:31:21 +0000 Subject: [PATCH 22/68] GCC 4.5: Add patch to fix GNU/Hurd builds. svn path=/nixpkgs/trunk/; revision=21903 --- .../development/compilers/gcc-4.5/default.nix | 2 +- .../compilers/gcc-4.5/softfp-hurd.patch | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/compilers/gcc-4.5/softfp-hurd.patch diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 9ef82293242..8ec79d7c43d 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -132,7 +132,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 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 00000000000..7e2a8a9c290 --- /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 , 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 From 91e31476227c8783b616b3f72e8ad94f3c55aab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:31:49 +0000 Subject: [PATCH 23/68] GCC 4.5: Unset $CPATH and $LIBRARY_PATH if and only if they are empty. svn path=/nixpkgs/trunk/; revision=21904 --- pkgs/development/compilers/gcc-4.5/builder.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.5/builder.sh b/pkgs/development/compilers/gcc-4.5/builder.sh index 3be8e795162..be2a2b11c16 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 @@ -49,13 +55,6 @@ if test "$noSysDirs" = "1"; then 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" From 63abc2ed86acfc39022d7674ccee66663a3451b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:32:19 +0000 Subject: [PATCH 24/68] GCC 4.5: Add support for a separate libpthread; rearrange target flags handling. svn path=/nixpkgs/trunk/; revision=21905 --- pkgs/development/compilers/gcc-4.5/builder.sh | 19 +++++++------------ .../development/compilers/gcc-4.5/default.nix | 19 +++++++++++++++++-- pkgs/top-level/all-packages.nix | 8 +++++++- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.5/builder.sh b/pkgs/development/compilers/gcc-4.5/builder.sh index be2a2b11c16..6c3ced85d75 100644 --- a/pkgs/development/compilers/gcc-4.5/builder.sh +++ b/pkgs/development/compilers/gcc-4.5/builder.sh @@ -54,14 +54,9 @@ if test "$noSysDirs" = "1"; then EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i" done - if test -n "$targetConfig"; then - 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 @@ -73,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 8ec79d7c43d..f5e4c67761e 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -24,6 +24,7 @@ , libcCross ? null , crossStageStatic ? true , gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd }: assert langTreelang -> bison != null && flex != null; @@ -212,15 +213,29 @@ 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))); 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 61da353a7c7..0d87a3c0987 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2103,7 +2103,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; From ed19699d1fd853dc673b5babb9f2eabcf69fac06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:32:24 +0000 Subject: [PATCH 25/68] glibc/hurd: Make Mach & Hurd headers propagated build inputs. svn path=/nixpkgs/trunk/; revision=21906 --- pkgs/development/libraries/glibc-2.11/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glibc-2.11/default.nix b/pkgs/development/libraries/glibc-2.11/default.nix index 9ba106e74d4..a9d82e677b1 100644 --- a/pkgs/development/libraries/glibc-2.11/default.nix +++ b/pkgs/development/libraries/glibc-2.11/default.nix @@ -39,9 +39,18 @@ in // (if hurdHeaders != null - then { + 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; } From 882ff5a41b6e4db2ca15bf97b91eb1ba3dd79580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 May 2010 21:32:31 +0000 Subject: [PATCH 26/68] GCC 4.5: Handle cross-glibc's propagated build inputs. svn path=/nixpkgs/trunk/; revision=21907 --- pkgs/development/compilers/gcc-4.5/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index f5e4c67761e..62a4e01803d 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -37,6 +37,7 @@ assert langVhdl -> gnat != null; assert libelf != null -> zlib != null; with stdenv.lib; +with builtins; let version = "4.5.0"; javaEcj = fetchurl { @@ -215,7 +216,13 @@ stdenv.mkDerivation ({ ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross))); + ++ 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") From 0fa66dac1c953c8b0e9fc3c7ac59eaffc4f16fc6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 10:40:40 +0000 Subject: [PATCH 27/68] * Twisted updated to 10.0.0. svn path=/nixpkgs/trunk/; revision=21909 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 48cdf1f143a..5f9947ecd86 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 ]; From 9db799acd5275f6ec876e746fd1b171e4549fd2e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 10:41:10 +0000 Subject: [PATCH 28/68] * pycrypto updated to 2.1.0. svn path=/nixpkgs/trunk/; revision=21910 --- .../python-modules/pycrypto/default.nix | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 67413fa9370..09f8591e971 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; + }; } From 81cd88d83dfe49a55bb90da3c97a9412519f6995 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 10:51:19 +0000 Subject: [PATCH 29/68] * Remove a bunch of empty files/directories. svn path=/nixpkgs/trunk/; revision=21911 --- pkgs/tools/compression/gzip/gnulib-futimens.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pkgs/tools/compression/gzip/gnulib-futimens.patch diff --git a/pkgs/tools/compression/gzip/gnulib-futimens.patch b/pkgs/tools/compression/gzip/gnulib-futimens.patch deleted file mode 100644 index e69de29bb2d..00000000000 From 3dd55eef2335f2a48e5761a1e0ba53aaf2fa953f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 11:11:24 +0000 Subject: [PATCH 30/68] * Added aria2, a download utility. svn path=/nixpkgs/trunk/; revision=21912 --- pkgs/tools/networking/aria2/default.nix | 17 +++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/tools/networking/aria2/default.nix diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix new file mode 100644 index 00000000000..5d433fdee39 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d87a3c0987..363727e6292 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; }; From 1d4fb3340ed8854d72eb20358b9993259025d933 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 11:18:52 +0000 Subject: [PATCH 31/68] * qemu-kvm updated to 0.12.4. svn path=/nixpkgs/trunk/; revision=21913 --- pkgs/os-specific/linux/qemu-kvm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix index a5f97503366..55a51a752c2 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 ]; From 430b98a7c1edf648c843dc089fd36b7cb047a8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 May 2010 11:54:31 +0000 Subject: [PATCH 32/68] Remove `migCross' top-level attribute. svn path=/nixpkgs/trunk/; revision=21914 --- pkgs/top-level/all-packages.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 363727e6292..f3b14e44885 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3269,7 +3269,6 @@ let mig = import ../os-specific/gnu/mig { inherit fetchgit stdenv autoconf automake flex bison machHeaders; }; - migCross = mig; # FIXME: Remove me. mk = import ../development/tools/build-managers/mk { inherit fetchurl stdenv; @@ -3923,10 +3922,7 @@ let // (if crossGNU - then { - inherit machHeaders hurdHeaders fetchgit; - mig = migCross; - } + then { inherit machHeaders hurdHeaders mig fetchgit; } else { })))); glibcCross = glibc211Cross; @@ -6113,8 +6109,7 @@ let }); 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; }; From 620870eb0d48fe6d07f1d330f62b07c8509b906d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 May 2010 11:54:37 +0000 Subject: [PATCH 33/68] GNU Hurd: Don't try to install files as `root'. svn path=/nixpkgs/trunk/; revision=21915 --- pkgs/os-specific/gnu/hurd/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix index b53dd98d9e7..88203a31d3b 100644 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -33,6 +33,14 @@ stdenv.mkDerivation ({ 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}"; From 012389b882cc58ae18aa835a6a01d5effcae2b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 May 2010 11:54:40 +0000 Subject: [PATCH 34/68] GNU Hurd: Add full cross build. svn path=/nixpkgs/trunk/; revision=21916 --- pkgs/top-level/all-packages.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3b14e44885..57465b0ea02 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6090,6 +6090,15 @@ 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; From a7adcf1e3fe17c90ea3b7be596e3656fa766dfd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 May 2010 11:54:43 +0000 Subject: [PATCH 35/68] Have Hydra build the cross Hurd. svn path=/nixpkgs/trunk/; revision=21917 --- pkgs/top-level/release-cross.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 0845d73175c..55633a07822 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -152,5 +152,6 @@ let in { crossGNU = mapTestOnCross crossSystem { gccCrossStageFinal = nativePlatforms; + hurdCross = nativePlatforms; }; }) From b93b157771b7f990a1146ca465057e0542cd40ba Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 12:23:16 +0000 Subject: [PATCH 36/68] svn path=/nixpkgs/trunk/; revision=21918 --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index adcac62070e..6c6cbbea2b5 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 ]; From 1fe9b4a3b1f5f8475e0f6c51d232d525fa03b29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 May 2010 13:00:30 +0000 Subject: [PATCH 37/68] GNU GSS: Add dependency on GNU Shishi. svn path=/nixpkgs/trunk/; revision=21922 --- pkgs/development/libraries/gss/default.nix | 14 ++++++++++---- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix index bf47c79f750..ca92fe30798 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 + # . + 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57465b0ea02..94cb6ce9219 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4064,7 +4064,7 @@ let }; gss = import ../development/libraries/gss { - inherit stdenv fetchurl; + inherit stdenv fetchurl shishi; }; gtkimageview = import ../development/libraries/gtkimageview { From 0619aaf2ac03d9a4b1e6d570868ce0b680cbd349 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 13:39:16 +0000 Subject: [PATCH 38/68] * Transmission updated to 1.93. svn path=/nixpkgs/trunk/; revision=21923 --- .../networking/p2p/transmission/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index 1ef88f56010..6d3d501887e 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; }; } From e316a95859147a703f6ba206213f26508081936c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 13:49:54 +0000 Subject: [PATCH 39/68] svn path=/nixpkgs/trunk/; revision=21924 --- pkgs/tools/package-management/nix/sqlite.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix index 5ea3a934bab..526b956d0d1 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 ]; From 50712e527979a78d6c424bbf6564446e2b621b87 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 22:11:44 +0000 Subject: [PATCH 40/68] * Added miniupnpd, an implementation of the UPnP Internet Gateway Device (IGD) specification. * Updated iptables to 1.4.8. svn path=/nixpkgs/trunk/; revision=21929 --- pkgs/os-specific/linux/iptables/default.nix | 17 +++++++++-- pkgs/tools/networking/miniupnpd/default.nix | 31 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/networking/miniupnpd/default.nix diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 2dc3217f290..5209518cb61 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,13 +1,26 @@ {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 + ln -s $out/include/net/netfilter $out/include/linux/netfilter + ''; + 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/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix new file mode 100644 index 00000000000..90de160a3e4 --- /dev/null +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -0,0 +1,31 @@ +{ 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)"; + + meta = { + homepage = http://miniupnp.free.fr/; + description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94cb6ce9219..34bbdf72249 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1094,6 +1094,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; From f5ccde78ff28b5062a776fd900c434cf8ab03b80 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 22:12:42 +0000 Subject: [PATCH 41/68] * Remove an unnecessary symlink. svn path=/nixpkgs/trunk/; revision=21930 --- pkgs/os-specific/linux/iptables/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 5209518cb61..0b4b492d318 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { mkdir $out/include/net cp -prd include/net/netfilter $out/include/net/netfilter mkdir $out/include/linux - ln -s $out/include/net/netfilter $out/include/linux/netfilter ''; meta = { From fa94d434a1d1829ac8014a99a82c0a5f020a77f1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 May 2010 23:06:10 +0000 Subject: [PATCH 42/68] * Install the manpage. svn path=/nixpkgs/trunk/; revision=21931 --- pkgs/tools/networking/miniupnpd/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index 90de160a3e4..5d62222d141 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -24,6 +24,12 @@ stdenv.mkDerivation rec { 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"; From 77430510ed7f82600bc54bbb846f5b6c05d3a964 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 21 May 2010 08:44:44 +0000 Subject: [PATCH 43/68] pkgs/top-level/perl-packages.nix: fixed build of perl-Net-SMTP-SSL on Darwin Thanks to David Brown for explaining how to do this. svn path=/nixpkgs/trunk/; revision=21933 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 421684be43b..7df0c824861 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 { From 000c2c51fdfffcd0b0cc91011d53080bf1f6513c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 13:46:46 +0000 Subject: [PATCH 44/68] GCC 4.5: Patch the spec string for GNU/Hurd to add the right `-I' flags. svn path=/nixpkgs/trunk/; revision=21934 --- .../development/compilers/gcc-4.5/default.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 62a4e01803d..6f7854794b7 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -143,6 +143,27 @@ 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; From 0b2906ca2872540d9c0af608398ce965dc1d17ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 13:46:54 +0000 Subject: [PATCH 45/68] Add cross Coreutils. svn path=/nixpkgs/trunk/; revision=21935 --- pkgs/tools/misc/coreutils/default.nix | 22 ++++++++++++++++++---- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index d588c49e5c3..f4cf9fe9886 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -1,6 +1,10 @@ -{stdenv, fetchurl, aclSupport ? false, acl, perl, gmp}: +{ stdenv, fetchurl, aclSupport ? false, acl ? null, perl, gmp ? null +, cross ? null, gccCross ? null }: -stdenv.mkDerivation rec { +assert aclSupport -> acl != null; +assert cross != null -> gccCross != null; + +stdenv.mkDerivation (rec { name = "coreutils-8.4"; src = fetchurl { @@ -8,13 +12,17 @@ stdenv.mkDerivation rec { sha256 = "0zq11lykc7hfs9nsdnb8gqk354l82hswqj38607mvwj3b0zqvc4b"; }; - buildInputs = [ perl gmp ] ++ stdenv.lib.optional aclSupport acl; + buildNativeInputs = [ perl ]; + buildInputs = + stdenv.lib.optional (gmp != null) gmp + ++ stdenv.lib.optional aclSupport acl + ++ stdenv.lib.optional (gccCross != null) gccCross; # The tests are known broken on Cygwin # (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/; @@ -32,3 +40,9 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } + +// + +(if cross != null + then { crossConfig = cross.config; } + else { })) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34bbdf72249..c4b304bd676 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -546,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; From 41cc998fd4b62a2e9f6d6f699fbb274e1f899ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 13:47:00 +0000 Subject: [PATCH 46/68] Have Hydra cross-build Coreutils. svn path=/nixpkgs/trunk/; revision=21936 --- pkgs/top-level/release-cross.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 55633a07822..6b1eff4b981 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; From 23d4be19b42827bd3b814cd7cb67d75659bfcb8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 13:47:07 +0000 Subject: [PATCH 47/68] Have Hydra cross-build the `basic' package set for GNU/Hurd. svn path=/nixpkgs/trunk/; revision=21937 --- pkgs/top-level/release-cross.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 6b1eff4b981..ab0310f7309 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -151,8 +151,10 @@ let libc = "glibc"; }; in { - crossGNU = mapTestOnCross crossSystem { - gccCrossStageFinal = nativePlatforms; - hurdCross = nativePlatforms; - }; + crossGNU = mapTestOnCross crossSystem ({ + gccCrossStageFinal = nativePlatforms; + hurdCross = nativePlatforms; + } + // + basic); }) From 6eefe563bd620fbd851ea4f0925ce3ba04102727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 15:07:47 +0000 Subject: [PATCH 48/68] GNU Zile: Make `help2man' a native build input. svn path=/nixpkgs/trunk/; revision=21940 --- pkgs/applications/editors/zile/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 3cc8d984a8c..7f5ae134a3d 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. From a57d897d943a693092328260652fe71ffbf669ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 May 2010 15:07:54 +0000 Subject: [PATCH 49/68] cross-GNU: Choose a different package set. svn path=/nixpkgs/trunk/; revision=21941 --- pkgs/top-level/release-cross.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index ab0310f7309..d4daf2652c3 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -151,10 +151,16 @@ let libc = "glibc"; }; in { - crossGNU = mapTestOnCross crossSystem ({ - gccCrossStageFinal = nativePlatforms; - hurdCross = nativePlatforms; - } - // - basic); + 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; + }; }) From 0212a63e075b039161331ffdf4c51739799bb822 Mon Sep 17 00:00:00 2001 From: Marco Maggesi Date: Sat, 22 May 2010 16:53:17 +0000 Subject: [PATCH 50/68] Add italian dictionary for aspell svn path=/nixpkgs/trunk/; revision=21942 --- pkgs/development/libraries/aspell/dictionaries.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index 97a8e961b41..0d1ee3d838f 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"; From 32edcce80b18f8aa01cc208e19dcf0f93d0c4971 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Sun, 23 May 2010 15:54:10 +0000 Subject: [PATCH 51/68] Build a package with debugging information so that you can run it within gdb or run valgrind on it. Example: xmessageDebug = misc.debugVersion xorg.xmessage svn path=/nixpkgs/trunk/; revision=21945 --- pkgs/lib/customisation.nix | 10 ++++++++-- pkgs/misc/misc.nix | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix index e6a26958ae2..334c8036627 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 fc8ab43d52f..3e4e94fbc78 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" + ''; + + }); } From e1f009b9dff84a77cec6596d00ed28eb617b7a5d Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Mon, 24 May 2010 08:19:41 +0000 Subject: [PATCH 52/68] Add yakuake svn path=/nixpkgs/trunk/; revision=21954 --- pkgs/desktops/kde-4.4/default.nix | 5 +++++ .../kde-4.4/extragear/yakuake/default.nix | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/desktops/kde-4.4/extragear/yakuake/default.nix diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index 3982301c8d1..36c30bc9124 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 00000000000..3513cb974bf --- /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 = linux; + }; +} From 0146e9b7ab355839a756f2c14e8b59822b019de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 May 2010 21:28:36 +0000 Subject: [PATCH 53/68] releaseTools.sourceTarball: Make the bootstrap build inputs native. svn path=/nixpkgs/trunk/; revision=21955 --- pkgs/build-support/release/source-tarball.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index 35e07589363..4121453ca1f 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -4,6 +4,7 @@ { officialRelease ? false , buildInputs ? [] +, buildNativeInputs ? [] , name ? "source-tarball" , version ? "0" , src, stdenv, autoconf, automake, libtool @@ -77,8 +78,8 @@ stdenv.mkDerivation ( { name = name + "-" + version + versionSuffix; - buildInputs = buildInputs ++ bootstrapBuildInputs; - + buildNativeInputs = bootstrapBuildInputs ++ buildNativeInputs; + postHook = '' ensureDir $out/nix-support ''; From bf9d470cc778467cbebbdb70a505ae16590b9b69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 May 2010 21:28:43 +0000 Subject: [PATCH 54/68] tor: Fix test suite. svn path=/nixpkgs/trunk/; revision=21956 --- pkgs/tools/security/tor/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 136a6efe7a1..7e416dceb2b 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -8,8 +8,13 @@ stdenv.mkDerivation { sha256 = "18kz1hs6lvckkddy4y36gi7ly03ar2il2xzkrf8bfgif1gnn1p3c"; }; + 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 = { From c293598da8fa12348db4d211f6210ebcc7d07872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 May 2010 21:28:54 +0000 Subject: [PATCH 55/68] tor: Add self as co-maintainer; add to Hydra; improve formatting. svn path=/nixpkgs/trunk/; revision=21957 --- pkgs/tools/security/tor/default.nix | 39 +++++++++++++++++------------ 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 7e416dceb2b..d896e442959 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,10 +1,10 @@ -{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"; }; @@ -13,23 +13,30 @@ stdenv.mkDerivation { '' sed -i "src/or/test.c" -es/localhost/127.0.0.1/g ''; - buildInputs = [libevent openssl zlib]; + 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"; - 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. - ''; - license="bsd"; - }; + 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. + ''; + + license="mBSD"; + + maintainers = + [ # Russell O’Connor ? + stdenv.lib.maintainers.ludo + ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; } From a51bbc1992596d2370f8878ac0d492d6adf520d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Mon, 24 May 2010 21:57:45 +0000 Subject: [PATCH 56/68] Adding libvpx (the codec VP8). Still no package uses it. svn path=/nixpkgs/trunk/; revision=21958 --- pkgs/development/libraries/libvpx/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/libraries/libvpx/default.nix diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix new file mode 100644 index 00000000000..43c29524d58 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4b304bd676..4877104a801 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4740,6 +4740,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; }; From e436eb491586a98b4397eb1065a7fd534d9d527e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 May 2010 23:03:00 +0000 Subject: [PATCH 57/68] releaseTools.sourceTarball: Fix regression introduced in r21955. svn path=/nixpkgs/trunk/; revision=21959 --- pkgs/build-support/release/source-tarball.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index 4121453ca1f..1fd7bc56233 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation ( { name = name + "-" + version + versionSuffix; - buildNativeInputs = bootstrapBuildInputs ++ buildNativeInputs; + buildNativeInputs = buildNativeInputs ++ bootstrapBuildInputs; postHook = '' ensureDir $out/nix-support From 2f1b9ce8f95aac9591b0922bc4ef6e527f5ec9d8 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Tue, 25 May 2010 06:43:34 +0000 Subject: [PATCH 58/68] consolekit: apply two upstream patches svn path=/nixpkgs/trunk/; revision=21960 --- .../0001-Don-t-daemonize-when-activated.patch | 28 +++++++++ ...0002-Don-t-take-bus-name-until-ready.patch | 62 +++++++++++++++++++ .../libraries/consolekit/default.nix | 2 + 3 files changed, 92 insertions(+) create mode 100644 pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch create mode 100644 pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch 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 00000000000..30f3ab4907b --- /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 +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 00000000000..2af59ac8d1e --- /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 +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 d6ea4a9e79b..5cebc5874bd 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"; From 9f50c154c3ed1411c8a1d7c269d4c33459f1ee1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 May 2010 08:24:50 +0000 Subject: [PATCH 59/68] Revert "releaseTools.sourceTarball: Make the bootstrap build inputs native." This reverts commit 84b521c23b57108fc63731de7723885d68a92b08. Reverting "releaseTools.sourceTarball: Fix regression introduced in r21955." Reverting "releaseTools.sourceTarball: Make the bootstrap build inputs native." svn path=/nixpkgs/trunk/; revision=21962 --- pkgs/build-support/release/source-tarball.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index 1fd7bc56233..35e07589363 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -4,7 +4,6 @@ { officialRelease ? false , buildInputs ? [] -, buildNativeInputs ? [] , name ? "source-tarball" , version ? "0" , src, stdenv, autoconf, automake, libtool @@ -78,8 +77,8 @@ stdenv.mkDerivation ( { name = name + "-" + version + versionSuffix; - buildNativeInputs = buildNativeInputs ++ bootstrapBuildInputs; - + buildInputs = buildInputs ++ bootstrapBuildInputs; + postHook = '' ensureDir $out/nix-support ''; From b6a166946d3d6fa1859c3883c87554deda8ef85d Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Tue, 25 May 2010 09:02:25 +0000 Subject: [PATCH 60/68] yakuake: fix eval error svn path=/nixpkgs/trunk/; revision=21964 --- pkgs/desktops/kde-4.4/extragear/yakuake/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix b/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix index 3513cb974bf..30d3d6a9c2c 100644 --- a/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/yakuake/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { homepage = http://yakuake.kde.org; description = "Quad-style terminal emulator for KDE"; maintainers = [ maintainers.urkud ]; - platforms = linux; + platforms = platforms.linux; }; } From 719f023f33ccd35ae80ed861bf46136d5ebe1a8d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 25 May 2010 10:35:14 +0000 Subject: [PATCH 61/68] * A quick hack to make release.nix evaluate in a reasonable amount of time and space on the new (non-ATerm) Nix expression evaluator. It turns out that release.nix relied rather heavily on maximal laziness for efficiency: every job calls `allPackages { inherit system; }' for each platform. This causes the dependencies of the job to be reevaluated for every job/platform combination. This is very slow and (because the evaluator doesn't have a garbage collector yet) eventually causes the evaluator to run out of memory and be killed. As a workaround, I've replaced the calls to `allPackages' with a quasi-memoised `pkgsFor' function. It "caches" the result by going through a variable such as `pkgs_x86_64_linux', which is evaluated only once. Evaluation now only takes 4.4s and 545 MiB on my machine. A cleaner solution may be to move the `system' argument outwards so that entire set of jobs is called only once for each value of `system'. svn path=/nixpkgs/trunk/; revision=21966 --- pkgs/top-level/release-lib.nix | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index 7350c4cc1b6..ffee50b4e49 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 */ From 5e846002d6e1d8e4a31a7f4f492df6080b0cbc48 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Tue, 25 May 2010 11:27:18 +0000 Subject: [PATCH 62/68] ati-drivers: restrict "platforms" to x86_64-linux svn path=/nixpkgs/trunk/; revision=21967 --- pkgs/os-specific/linux/ati-drivers/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 9c936544034..be5eff7e56e 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 From 8b59ac89bf8e86db2da0038b5ac82cac1e802319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 25 May 2010 17:05:52 +0000 Subject: [PATCH 63/68] Adding go-oo in multiple languages. The expression and names can be improved, but at least I reached a point where it works. Patches welcome - even without asking. I should add a way to regenerate src.nix automatically too, but the information on what to dowload is only inside their download script generated after configure. There are more things that can be added: kde4 support, gstreamer, ... I did not check that all the buildInputs are needed - most come from the old openoffice expression. svn path=/nixpkgs/trunk/; revision=21969 --- pkgs/applications/office/openoffice/go-oo.nix | 140 +++++++++++++++++ pkgs/applications/office/openoffice/src.nix | 141 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 15 ++ 3 files changed, 296 insertions(+) create mode 100644 pkgs/applications/office/openoffice/go-oo.nix create mode 100644 pkgs/applications/office/openoffice/src.nix diff --git a/pkgs/applications/office/openoffice/go-oo.nix b/pkgs/applications/office/openoffice/go-oo.nix new file mode 100644 index 00000000000..87e756c343a --- /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}; 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 00000000000..69c35bf9683 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4877104a801..34e3d138abe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8268,6 +8268,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; From a63c1f4c8a1c4e407bb86e2a245634a249c280f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 25 May 2010 17:37:39 +0000 Subject: [PATCH 64/68] Fix for go-oo: forgotten symlink, to make all work: soffice.bin svn path=/nixpkgs/trunk/; revision=21970 --- pkgs/applications/office/openoffice/go-oo.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/office/openoffice/go-oo.nix b/pkgs/applications/office/openoffice/go-oo.nix index 87e756c343a..bdf0939d64e 100644 --- a/pkgs/applications/office/openoffice/go-oo.nix +++ b/pkgs/applications/office/openoffice/go-oo.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { installPhase = '' bin/ooinstall $out ensureDir $out/bin - for a in $out/program/{sbase,scalc,sdraw,simpress,smath,soffice,swriter}; do + for a in $out/program/{sbase,scalc,sdraw,simpress,smath,soffice,swriter,soffice.bin}; do ln -s $a $out/bin done ''; From adc9f57c71401831d732319b44b2de71f0051484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 25 May 2010 18:39:24 +0000 Subject: [PATCH 65/68] Adding lame to ffmpeg so it can encode mp3, and allow it also build its assembly routines adding yasm, and --enable-runtime-cpudetection, that I hope will end in faster executions svn path=/nixpkgs/trunk/; revision=21971 --- pkgs/development/libraries/ffmpeg/default.nix | 6 ++++-- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index 70f7feaaf1a..2cc24d32c3a 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34e3d138abe..928baa70c24 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3738,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 { From f7bd2a829ed9a7df1b68fdf4733dcd03f9c318c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 25 May 2010 18:39:29 +0000 Subject: [PATCH 66/68] Adding yasm and lame support to mplayer svn path=/nixpkgs/trunk/; revision=21972 --- pkgs/applications/video/MPlayer/default.nix | 8 +++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix index 7ce8f0ed789..e2c25c3360c 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 928baa70c24..f4820cc7d81 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8189,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; From fc6b345f945e33dc897b532a19aaf7dc401cc044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 May 2010 19:38:13 +0000 Subject: [PATCH 67/68] GCJ 4.5: Build with `--enable-java-home' & co. svn path=/nixpkgs/trunk/; revision=21973 --- pkgs/development/compilers/gcc-4.5/default.nix | 11 +++++++++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 6f7854794b7..855ac76aebb 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 @@ -29,7 +30,8 @@ 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; @@ -168,6 +170,7 @@ stdenv.mkDerivation ({ 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]) @@ -185,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} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4820cc7d81..011124bc870 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2218,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 From c5098ff56e44ab8eeae3a067838cf4e139196d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 May 2010 19:38:18 +0000 Subject: [PATCH 68/68] GCC 4.5: Add dependency on Perl. svn path=/nixpkgs/trunk/; revision=21974 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 011124bc870..89e113a8ca2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2138,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;