From 48c3faca5194fab0d6f19ad33a9756763dddefdd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Nov 2003 09:59:13 +0000 Subject: * Renamed pkgs-ng to pkgs. svn path=/nixpkgs/trunk/; revision=502 --- pkgs/README | 97 +++++ pkgs/applications/graphics/gqview/builder.sh | 10 + pkgs/applications/graphics/gqview/default.fix | 22 ++ .../networking/browsers/firebird/builder.sh | 30 ++ .../networking/browsers/firebird/default.fix | 25 ++ .../networking/mailreaders/sylpheed/builder.sh | 20 + .../networking/mailreaders/sylpheed/default.fix | 27 ++ .../networking/newsreaders/pan/builder.sh | 10 + .../networking/newsreaders/pan/default.fix | 29 ++ .../version-management/subversion/builder.sh | 35 ++ .../version-management/subversion/default.fix | 36 ++ pkgs/applications/video/MPlayer/builder.sh | 19 + pkgs/applications/video/MPlayer/default.fix | 31 ++ .../video/MPlayer/win32codecs/builder.sh | 9 + .../video/MPlayer/win32codecs/default.fix | 10 + pkgs/applications/video/mplayerplug-in/builder.sh | 11 + pkgs/applications/video/mplayerplug-in/default.fix | 17 + pkgs/build-support/fetchurl/builder.sh | 21 ++ pkgs/build-support/fetchurl/default.fix | 9 + pkgs/development/compilers/gcc/builder.sh | 56 +++ pkgs/development/compilers/gcc/default.fix | 12 + pkgs/development/interpreters/perl/builder.sh | 26 ++ pkgs/development/interpreters/perl/default.fix | 10 + pkgs/development/libraries/aterm/builder.sh | 10 + pkgs/development/libraries/aterm/default.fix | 10 + pkgs/development/libraries/db4/builder.sh | 10 + pkgs/development/libraries/db4/default.fix | 10 + pkgs/development/libraries/expat/builder.sh | 10 + pkgs/development/libraries/expat/default.fix | 10 + pkgs/development/libraries/fontconfig/builder.sh | 18 + pkgs/development/libraries/fontconfig/default.fix | 21 ++ pkgs/development/libraries/freetype/builder.sh | 10 + pkgs/development/libraries/freetype/default.fix | 10 + pkgs/development/libraries/gettext/builder.sh | 9 + pkgs/development/libraries/gettext/default.fix | 10 + pkgs/development/libraries/glibc/builder.sh | 26 ++ pkgs/development/libraries/glibc/default.fix | 21 ++ .../libraries/glibc/glibc-2.3.2-sscanf-1.patch | 68 ++++ pkgs/development/libraries/gnet/builder.sh | 10 + pkgs/development/libraries/gnet/default.fix | 16 + .../libraries/gtk+-1/gdk-pixbuf/builder.sh | 10 + .../libraries/gtk+-1/gdk-pixbuf/default.fix | 21 ++ pkgs/development/libraries/gtk+-1/glib/builder.sh | 9 + pkgs/development/libraries/gtk+-1/glib/default.fix | 10 + pkgs/development/libraries/gtk+-1/gtk+/builder.sh | 12 + pkgs/development/libraries/gtk+-1/gtk+/default.fix | 19 + pkgs/development/libraries/gtk+/atk/builder.sh | 10 + pkgs/development/libraries/gtk+/atk/default.fix | 17 + pkgs/development/libraries/gtk+/glib/builder.sh | 10 + pkgs/development/libraries/gtk+/glib/default.fix | 17 + pkgs/development/libraries/gtk+/gtk+/builder.sh | 12 + pkgs/development/libraries/gtk+/gtk+/default.fix | 30 ++ pkgs/development/libraries/gtk+/pango/builder.sh | 12 + pkgs/development/libraries/gtk+/pango/default.fix | 20 + pkgs/development/libraries/libIDL/builder.sh | 11 + pkgs/development/libraries/libIDL/default.fix | 18 + pkgs/development/libraries/libjpeg/builder.sh | 15 + pkgs/development/libraries/libjpeg/default.fix | 10 + pkgs/development/libraries/libpng/builder.sh | 16 + pkgs/development/libraries/libpng/default.fix | 15 + pkgs/development/libraries/libtiff/builder.sh | 16 + pkgs/development/libraries/libtiff/default.fix | 16 + pkgs/development/libraries/libxml2/builder.sh | 11 + pkgs/development/libraries/libxml2/default.fix | 15 + pkgs/development/libraries/openssl/builder.sh | 16 + pkgs/development/libraries/openssl/default.fix | 11 + pkgs/development/libraries/pcre/builder.sh | 9 + pkgs/development/libraries/pcre/default.fix | 10 + pkgs/development/libraries/xft/builder.sh | 12 + pkgs/development/libraries/xft/default.fix | 18 + pkgs/development/libraries/zlib/builder.sh | 10 + pkgs/development/libraries/zlib/default.fix | 10 + .../tools/build-managers/gnumake/builder.sh | 9 + .../tools/build-managers/gnumake/default.fix | 10 + pkgs/development/tools/misc/binutils/builder.sh | 17 + pkgs/development/tools/misc/binutils/default.fix | 11 + pkgs/development/tools/misc/gnum4/builder.sh | 9 + pkgs/development/tools/misc/gnum4/default.fix | 11 + pkgs/development/tools/misc/pkgconfig/builder.sh | 10 + pkgs/development/tools/misc/pkgconfig/default.fix | 10 + pkgs/development/tools/parsing/bison/builder.sh | 10 + pkgs/development/tools/parsing/bison/default.fix | 13 + pkgs/development/tools/parsing/flex/builder.sh | 10 + pkgs/development/tools/parsing/flex/default.fix | 13 + pkgs/os-specific/linux/alsa/library/builder.sh | 9 + pkgs/os-specific/linux/alsa/library/default.fix | 10 + pkgs/os-specific/linux/kernel-headers/builder.sh | 12 + pkgs/os-specific/linux/kernel-headers/default.fix | 11 + pkgs/servers/http/apache-httpd/builder.sh | 23 ++ pkgs/servers/http/apache-httpd/default.fix | 19 + pkgs/servers/x11/xfree86/builder.sh | 15 + pkgs/servers/x11/xfree86/default.fix | 34 ++ pkgs/servers/x11/xfree86/host.def | 30 ++ pkgs/shells/bash/builder.sh | 10 + pkgs/shells/bash/default.fix | 10 + pkgs/stdenv/generic/builder.sh | 41 +++ pkgs/stdenv/generic/default.fix | 23 ++ pkgs/stdenv/generic/gcc-wrapper.sh | 42 +++ pkgs/stdenv/generic/ld-wrapper.sh | 17 + pkgs/stdenv/generic/setup.sh | 67 ++++ pkgs/stdenv/native/default.fix | 13 + pkgs/stdenv/native/posthook.sh | 0 pkgs/stdenv/native/prehook.sh | 5 + pkgs/stdenv/nix-linux/boot.fix | 13 + pkgs/stdenv/nix-linux/default.fix | 13 + pkgs/stdenv/nix-linux/posthook.sh | 0 pkgs/stdenv/nix-linux/prehook-boot.sh | 12 + pkgs/stdenv/nix-linux/prehook.sh | 12 + pkgs/stdenv/nix/default.fix | 13 + pkgs/stdenv/nix/path.fix | 16 + pkgs/stdenv/nix/posthook.sh | 0 pkgs/stdenv/nix/prehook.sh | 7 + pkgs/system/all-packages-generic.fix | 401 +++++++++++++++++++++ pkgs/system/all-packages.fix | 50 +++ pkgs/system/i686-suse-linux.fix | 1 + pkgs/system/populate-linkdirs.pl | 65 ++++ pkgs/system/user-environment.fix | 30 ++ pkgs/tools/archivers/gnutar/builder.sh | 9 + pkgs/tools/archivers/gnutar/default.fix | 10 + pkgs/tools/archivers/zip/builder.sh | 8 + pkgs/tools/archivers/zip/default.fix | 10 + pkgs/tools/compression/bzip2/builder.sh | 8 + pkgs/tools/compression/bzip2/default.fix | 10 + pkgs/tools/compression/gzip/builder.sh | 9 + pkgs/tools/compression/gzip/default.fix | 10 + pkgs/tools/misc/coreutils/builder.sh | 9 + pkgs/tools/misc/coreutils/default.fix | 10 + pkgs/tools/misc/findutils/builder.sh | 9 + pkgs/tools/misc/findutils/default.fix | 10 + pkgs/tools/networking/wget/builder.sh | 9 + pkgs/tools/networking/wget/default.fix | 10 + pkgs/tools/text/diffutils/builder.sh | 9 + pkgs/tools/text/diffutils/default.fix | 10 + pkgs/tools/text/ed/builder.sh | 9 + pkgs/tools/text/ed/default.fix | 10 + pkgs/tools/text/gawk/builder.sh | 9 + pkgs/tools/text/gawk/default.fix | 10 + pkgs/tools/text/gnugrep/builder.sh | 10 + pkgs/tools/text/gnugrep/default.fix | 11 + pkgs/tools/text/gnused/builder.sh | 9 + pkgs/tools/text/gnused/default.fix | 10 + 141 files changed, 2684 insertions(+) create mode 100644 pkgs/README create mode 100755 pkgs/applications/graphics/gqview/builder.sh create mode 100644 pkgs/applications/graphics/gqview/default.fix create mode 100755 pkgs/applications/networking/browsers/firebird/builder.sh create mode 100644 pkgs/applications/networking/browsers/firebird/default.fix create mode 100755 pkgs/applications/networking/mailreaders/sylpheed/builder.sh create mode 100644 pkgs/applications/networking/mailreaders/sylpheed/default.fix create mode 100755 pkgs/applications/networking/newsreaders/pan/builder.sh create mode 100644 pkgs/applications/networking/newsreaders/pan/default.fix create mode 100755 pkgs/applications/version-management/subversion/builder.sh create mode 100644 pkgs/applications/version-management/subversion/default.fix create mode 100755 pkgs/applications/video/MPlayer/builder.sh create mode 100644 pkgs/applications/video/MPlayer/default.fix create mode 100755 pkgs/applications/video/MPlayer/win32codecs/builder.sh create mode 100644 pkgs/applications/video/MPlayer/win32codecs/default.fix create mode 100755 pkgs/applications/video/mplayerplug-in/builder.sh create mode 100644 pkgs/applications/video/mplayerplug-in/default.fix create mode 100755 pkgs/build-support/fetchurl/builder.sh create mode 100644 pkgs/build-support/fetchurl/default.fix create mode 100755 pkgs/development/compilers/gcc/builder.sh create mode 100644 pkgs/development/compilers/gcc/default.fix create mode 100755 pkgs/development/interpreters/perl/builder.sh create mode 100644 pkgs/development/interpreters/perl/default.fix create mode 100755 pkgs/development/libraries/aterm/builder.sh create mode 100644 pkgs/development/libraries/aterm/default.fix create mode 100755 pkgs/development/libraries/db4/builder.sh create mode 100644 pkgs/development/libraries/db4/default.fix create mode 100755 pkgs/development/libraries/expat/builder.sh create mode 100644 pkgs/development/libraries/expat/default.fix create mode 100755 pkgs/development/libraries/fontconfig/builder.sh create mode 100644 pkgs/development/libraries/fontconfig/default.fix create mode 100755 pkgs/development/libraries/freetype/builder.sh create mode 100644 pkgs/development/libraries/freetype/default.fix create mode 100755 pkgs/development/libraries/gettext/builder.sh create mode 100644 pkgs/development/libraries/gettext/default.fix create mode 100755 pkgs/development/libraries/glibc/builder.sh create mode 100644 pkgs/development/libraries/glibc/default.fix create mode 100644 pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch create mode 100755 pkgs/development/libraries/gnet/builder.sh create mode 100644 pkgs/development/libraries/gnet/default.fix create mode 100755 pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh create mode 100644 pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix create mode 100755 pkgs/development/libraries/gtk+-1/glib/builder.sh create mode 100644 pkgs/development/libraries/gtk+-1/glib/default.fix create mode 100755 pkgs/development/libraries/gtk+-1/gtk+/builder.sh create mode 100644 pkgs/development/libraries/gtk+-1/gtk+/default.fix create mode 100755 pkgs/development/libraries/gtk+/atk/builder.sh create mode 100644 pkgs/development/libraries/gtk+/atk/default.fix create mode 100755 pkgs/development/libraries/gtk+/glib/builder.sh create mode 100644 pkgs/development/libraries/gtk+/glib/default.fix create mode 100755 pkgs/development/libraries/gtk+/gtk+/builder.sh create mode 100644 pkgs/development/libraries/gtk+/gtk+/default.fix create mode 100755 pkgs/development/libraries/gtk+/pango/builder.sh create mode 100644 pkgs/development/libraries/gtk+/pango/default.fix create mode 100755 pkgs/development/libraries/libIDL/builder.sh create mode 100644 pkgs/development/libraries/libIDL/default.fix create mode 100755 pkgs/development/libraries/libjpeg/builder.sh create mode 100644 pkgs/development/libraries/libjpeg/default.fix create mode 100755 pkgs/development/libraries/libpng/builder.sh create mode 100644 pkgs/development/libraries/libpng/default.fix create mode 100755 pkgs/development/libraries/libtiff/builder.sh create mode 100644 pkgs/development/libraries/libtiff/default.fix create mode 100755 pkgs/development/libraries/libxml2/builder.sh create mode 100644 pkgs/development/libraries/libxml2/default.fix create mode 100755 pkgs/development/libraries/openssl/builder.sh create mode 100644 pkgs/development/libraries/openssl/default.fix create mode 100755 pkgs/development/libraries/pcre/builder.sh create mode 100644 pkgs/development/libraries/pcre/default.fix create mode 100755 pkgs/development/libraries/xft/builder.sh create mode 100644 pkgs/development/libraries/xft/default.fix create mode 100755 pkgs/development/libraries/zlib/builder.sh create mode 100644 pkgs/development/libraries/zlib/default.fix create mode 100755 pkgs/development/tools/build-managers/gnumake/builder.sh create mode 100644 pkgs/development/tools/build-managers/gnumake/default.fix create mode 100755 pkgs/development/tools/misc/binutils/builder.sh create mode 100644 pkgs/development/tools/misc/binutils/default.fix create mode 100755 pkgs/development/tools/misc/gnum4/builder.sh create mode 100644 pkgs/development/tools/misc/gnum4/default.fix create mode 100755 pkgs/development/tools/misc/pkgconfig/builder.sh create mode 100644 pkgs/development/tools/misc/pkgconfig/default.fix create mode 100755 pkgs/development/tools/parsing/bison/builder.sh create mode 100644 pkgs/development/tools/parsing/bison/default.fix create mode 100755 pkgs/development/tools/parsing/flex/builder.sh create mode 100644 pkgs/development/tools/parsing/flex/default.fix create mode 100755 pkgs/os-specific/linux/alsa/library/builder.sh create mode 100644 pkgs/os-specific/linux/alsa/library/default.fix create mode 100755 pkgs/os-specific/linux/kernel-headers/builder.sh create mode 100644 pkgs/os-specific/linux/kernel-headers/default.fix create mode 100755 pkgs/servers/http/apache-httpd/builder.sh create mode 100644 pkgs/servers/http/apache-httpd/default.fix create mode 100755 pkgs/servers/x11/xfree86/builder.sh create mode 100644 pkgs/servers/x11/xfree86/default.fix create mode 100644 pkgs/servers/x11/xfree86/host.def create mode 100755 pkgs/shells/bash/builder.sh create mode 100644 pkgs/shells/bash/default.fix create mode 100755 pkgs/stdenv/generic/builder.sh create mode 100644 pkgs/stdenv/generic/default.fix create mode 100644 pkgs/stdenv/generic/gcc-wrapper.sh create mode 100644 pkgs/stdenv/generic/ld-wrapper.sh create mode 100644 pkgs/stdenv/generic/setup.sh create mode 100644 pkgs/stdenv/native/default.fix create mode 100644 pkgs/stdenv/native/posthook.sh create mode 100644 pkgs/stdenv/native/prehook.sh create mode 100644 pkgs/stdenv/nix-linux/boot.fix create mode 100644 pkgs/stdenv/nix-linux/default.fix create mode 100644 pkgs/stdenv/nix-linux/posthook.sh create mode 100644 pkgs/stdenv/nix-linux/prehook-boot.sh create mode 100644 pkgs/stdenv/nix-linux/prehook.sh create mode 100644 pkgs/stdenv/nix/default.fix create mode 100644 pkgs/stdenv/nix/path.fix create mode 100644 pkgs/stdenv/nix/posthook.sh create mode 100644 pkgs/stdenv/nix/prehook.sh create mode 100644 pkgs/system/all-packages-generic.fix create mode 100644 pkgs/system/all-packages.fix create mode 100644 pkgs/system/i686-suse-linux.fix create mode 100755 pkgs/system/populate-linkdirs.pl create mode 100644 pkgs/system/user-environment.fix create mode 100755 pkgs/tools/archivers/gnutar/builder.sh create mode 100644 pkgs/tools/archivers/gnutar/default.fix create mode 100755 pkgs/tools/archivers/zip/builder.sh create mode 100644 pkgs/tools/archivers/zip/default.fix create mode 100755 pkgs/tools/compression/bzip2/builder.sh create mode 100644 pkgs/tools/compression/bzip2/default.fix create mode 100755 pkgs/tools/compression/gzip/builder.sh create mode 100644 pkgs/tools/compression/gzip/default.fix create mode 100755 pkgs/tools/misc/coreutils/builder.sh create mode 100644 pkgs/tools/misc/coreutils/default.fix create mode 100755 pkgs/tools/misc/findutils/builder.sh create mode 100644 pkgs/tools/misc/findutils/default.fix create mode 100755 pkgs/tools/networking/wget/builder.sh create mode 100644 pkgs/tools/networking/wget/default.fix create mode 100755 pkgs/tools/text/diffutils/builder.sh create mode 100644 pkgs/tools/text/diffutils/default.fix create mode 100755 pkgs/tools/text/ed/builder.sh create mode 100644 pkgs/tools/text/ed/default.fix create mode 100755 pkgs/tools/text/gawk/builder.sh create mode 100644 pkgs/tools/text/gawk/default.fix create mode 100755 pkgs/tools/text/gnugrep/builder.sh create mode 100644 pkgs/tools/text/gnugrep/default.fix create mode 100755 pkgs/tools/text/gnused/builder.sh create mode 100644 pkgs/tools/text/gnused/default.fix (limited to 'pkgs') diff --git a/pkgs/README b/pkgs/README new file mode 100644 index 00000000000..b315e1bfb7e --- /dev/null +++ b/pkgs/README @@ -0,0 +1,97 @@ +* Classification scheme for packages + +- many packages fall under several categories; what matters is the + *primary* purpose of a package. For example, the libxml2 package + builds both a library and some tools; but it's a library foremost, + so it goes under ./development/libraries. + +- when in doubt, refactor. + +IF it's used to support SOFTWARE DEVELOPMENT: + + IF it's a LIBRARY used by other packages: + IF it's directly related to GTK: + ./development/libraries/gtk+ + ELSE + ./development/libraries + (e.g., libxml2) + ELSE IF it's a COMPILER: + ./development/compilers + (e.g., gcc) + ELSE IF it's an INTERPRETER: + ./development/interpreters + ELSE IF it's a development TOOL (or set of): + IF it's a PARSER GENERATOR (incl. lexers): + ./development/tools/parsing + (e.g., bison, flex) + ELSE IF it's a BUILD MANAGER: + ./development/tools/build-managers + (e.g., gnumake + ELSE + ./development/tools/misc + (e.g., binutils) + ELSE + ./development/misc + +ELSE IF it's a TOOL (or set of): + # a tool is a relatively *small* program, esp. one intented to be + # used non-interactively + + IF it's for NETWORKING: + ./tools/networking + (e.g., wget) + ELSE IF it's for TEXT PROCESSING: + ./tools/text + (e.g., diffutils) + ELSE IF it's a SYSTEM utility, i.e., something related or essential + to the operation of a system: + ./tools/system + (e.g., init) + ELSE IF it's an ARCHIVER (which may include a compression function): + ./tools/archivers + (e.g., zip, tar) + ELSE IF it's a COMPRESSION program: + ./tools/compression + (e.g., gzip, bzip2) + ELSE + ./tools/misc + +ELSE IF it's a SHELL: + + ./shells + +ELSE IF it's a SERVER: + + IF it's a HTTP server: + ./servers/http + (e.g., apache) + IF it's a X11 server: + ./servers/x11 + (e.g., xfree86) + ELSE + ./servers/misc + +ELSE IF it's a DESKTOP ENVIRONMENT (incl. WINDOW MANAGERS): + + ./desktops + (e.g., kde, gnome, fvwm) + +ELSE IF it's an APPLICATION: + # a (typically large) program with a distinct user interface, + # primarily used interactively + + IF it's a VERSION MANAGEMENT system: + ./applications/version-management + ELSE IF it's for VIDEO playback/etc: + ./applications/video + ELSE IF it's for GRAPHICS viewing/editing/etc: + ./applications/graphics + ELSE IF it's for NETWORKING: + IF it's a MAILREADER: + ./applications/networking/mailreaders + IF it's a NEWSREADER: + ./applications/networking/newsreaders + ELSE + ./applications/networking/misc + ELSE + ./applications/misc diff --git a/pkgs/applications/graphics/gqview/builder.sh b/pkgs/applications/graphics/gqview/builder.sh new file mode 100755 index 00000000000..be377db2278 --- /dev/null +++ b/pkgs/applications/graphics/gqview/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pkgconfig $gtk $libpng" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd gqview-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/applications/graphics/gqview/default.fix b/pkgs/applications/graphics/gqview/default.fix new file mode 100644 index 00000000000..e9edb7f0bd0 --- /dev/null +++ b/pkgs/applications/graphics/gqview/default.fix @@ -0,0 +1,22 @@ +{stdenv, fetchurl, pkgconfig, gtk, libpng}: + +assert !isNull pkgconfig && !isNull gtk && !isNull png; +# Note that we cannot just copy gtk's png attribute, since gtk might +# not be linked against png. +assert libpng == gtk.libpng; + +derivation { + name = "gqview-1.3.5"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://heanet.dl.sourceforge.net/sourceforge/gqview/gqview-1.3.5.tar.gz; + md5 = "c44687bdd636ea6e5133fb936abf880a"; + }; + + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + libpng = libpng; +} diff --git a/pkgs/applications/networking/browsers/firebird/builder.sh b/pkgs/applications/networking/browsers/firebird/builder.sh new file mode 100755 index 00000000000..36225b5760d --- /dev/null +++ b/pkgs/applications/networking/browsers/firebird/builder.sh @@ -0,0 +1,30 @@ +#! /bin/sh + +buildinputs="$pkgconfig $gtk $perl $zip $libIDL" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd mozilla || exit 1 + +cat > .mozconfig <> .mozconfig + +./configure || exit 1 +make -f client.mk build || exit 1 +make install || exit 1 diff --git a/pkgs/applications/networking/browsers/firebird/default.fix b/pkgs/applications/networking/browsers/firebird/default.fix new file mode 100644 index 00000000000..b17b4a0e473 --- /dev/null +++ b/pkgs/applications/networking/browsers/firebird/default.fix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL +}: + +assert !isNull pkgconfig && !isNull gtk && !isNull perl + && !isNull zip && !isNull libIDL; + +assert libIDL.glib == gtk.glib; + +derivation { + name = "MozillaFirebird-0.7"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.mozilla.org/pub/mozilla.org/firebird/releases/0.7/MozillaFirebird-source-0.7.tar.gz; + md5 = "35112566a3dca5bdf363972056afc462"; + }; + + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + perl = perl; + zip = zip; + libIDL = libIDL; +} diff --git a/pkgs/applications/networking/mailreaders/sylpheed/builder.sh b/pkgs/applications/networking/mailreaders/sylpheed/builder.sh new file mode 100755 index 00000000000..db66df470aa --- /dev/null +++ b/pkgs/applications/networking/mailreaders/sylpheed/builder.sh @@ -0,0 +1,20 @@ +#! /bin/sh + +buildinputs="$gtk $gdkpixbuf $openssl" +. $stdenv/setup || exit 1 + +if test $sslSupport; then + extraflags="--enable-ssl $extraflags" +fi + +if test $imageSupport; then + extraflags="--enable-gdk-pixbuf $extraflags" +else + extraflags="--disable-gdk-pixbuf --disable-imlibtest $extraflags" +fi + +tar xvfj $src || exit 1 +cd sylpheed-* || exit 1 +./configure --prefix=$out $extraflags || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.fix b/pkgs/applications/networking/mailreaders/sylpheed/default.fix new file mode 100644 index 00000000000..c6e8cc066f8 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.fix @@ -0,0 +1,27 @@ +{ sslSupport ? true +, imageSupport ? true +, stdenv, fetchurl, gtk, openssl ? null, gdkpixbuf ? null +}: + +assert !isNull gtk; +assert sslSupport -> !isNull openssl; +assert imageSupport -> !isNull gdkpixbuf; + +derivation { + name = "sylpheed-0.9.7"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://sylpheed.good-day.net/sylpheed/sylpheed-0.9.7.tar.bz2; + md5 = "399deb5abd52396d26d6475689a5ec3f"; + }; + + sslSupport = sslSupport; + imageSupport = imageSupport; + + stdenv = stdenv; + gtk = gtk; + openssl = if sslSupport then openssl else null; + gdkpixbuf = if imageSupport then gdkpixbuf else null; +} diff --git a/pkgs/applications/networking/newsreaders/pan/builder.sh b/pkgs/applications/networking/newsreaders/pan/builder.sh new file mode 100755 index 00000000000..b2f160e155d --- /dev/null +++ b/pkgs/applications/networking/newsreaders/pan/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pkgconfig $gtk $gtkspell $gnet $libxml2 $perl" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd pan-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/applications/networking/newsreaders/pan/default.fix b/pkgs/applications/networking/newsreaders/pan/default.fix new file mode 100644 index 00000000000..26b7e6af2b5 --- /dev/null +++ b/pkgs/applications/networking/newsreaders/pan/default.fix @@ -0,0 +1,29 @@ +{ spellChecking ? true +, stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null, gnet, libxml2, perl +}: + +assert !isNull pkgconfig && !isNull gtk && !isNull gnet + && !isNull libxml2 && !isNull perl; +assert spellChecking -> !isNull gtkspell && gtk == gtkspell.gtk; +assert gtk.glib == gnet.glib; + +derivation { + name = "pan-0.14.2"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://pan.rebelbase.com/download/releases/0.14.2/SOURCE/pan-0.14.2.tar.bz2; + md5 = "ed3188e7059bb6d6c209ee5d46ac1852"; + }; + + spellChecking = spellChecking; + + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + gtkspell = if spellChecking then gtkspell else null; + gnet = gnet; + libxml2 = libxml2; + perl = perl; +} diff --git a/pkgs/applications/version-management/subversion/builder.sh b/pkgs/applications/version-management/subversion/builder.sh new file mode 100755 index 00000000000..72848c79532 --- /dev/null +++ b/pkgs/applications/version-management/subversion/builder.sh @@ -0,0 +1,35 @@ +#! /bin/sh + +buildinputs="$openssl $db4 $httpd $swig $expat" +. $stdenv/setup || exit 1 + +if test $localServer; then + extraflags="--with-berkeley-db=$db4 $extraflags" +fi + +if test $sslSupport; then + extraflags="--with-ssl --with-libs=$openssl $extraflags" +fi + +if test $httpServer; then + extraflags="--with-apxs=$httpd/bin/apxs --with-apr=$httpd --with-apr-util=$httpd $extraflags" + extramakeflags="APACHE_LIBEXECDIR=$out/modules $extramakeflags" +fi + +if test $swigBindings; then + extraflags="--with-swig=$swig $extraflags" +fi + +echo "extra flags: $extraflags" + +tar xvfz $src || exit 1 +cd subversion-* || exit 1 +./configure --prefix=$out $extraflags \ + --without-gdbm --disable-static || exit 1 +make $extramakeflags || exit 1 +make install $extramakeflags || exit 1 + +if test $swigBindings; then + make swig-py || exit 1 + make install-swig-py || exit 1 +fi diff --git a/pkgs/applications/version-management/subversion/default.fix b/pkgs/applications/version-management/subversion/default.fix new file mode 100644 index 00000000000..76a46511b27 --- /dev/null +++ b/pkgs/applications/version-management/subversion/default.fix @@ -0,0 +1,36 @@ +{ localServer ? false +, httpServer ? false +, sslSupport ? false +, swigBindings ? false +, stdenv, fetchurl +, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null +}: + +assert !isNull expat; +assert localServer -> !isNull db4; +assert httpServer -> !isNull httpd && httpd.expat == expat; +assert sslSupport -> !isNull openssl && (httpServer -> httpd.openssl == openssl); +assert swigBindings -> !isNull swig; + +derivation { + name = "subversion-0.32.1"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://svn.collab.net/tarballs/subversion-0.32.1.tar.gz; + md5 = "b06717a8ef50db4b5c4d380af00bd901"; + }; + + localServer = localServer; + httpServer = httpServer; + sslSupport = sslSupport; + swigBindings = swigBindings; + + stdenv = stdenv; + openssl = if sslSupport then openssl else null; + httpd = if httpServer then httpd else null; + expat = expat; + db4 = if localServer then db4 else null; + swig = if swigBindings then swig else null; +} diff --git a/pkgs/applications/video/MPlayer/builder.sh b/pkgs/applications/video/MPlayer/builder.sh new file mode 100755 index 00000000000..aa018e73c2f --- /dev/null +++ b/pkgs/applications/video/MPlayer/builder.sh @@ -0,0 +1,19 @@ +#! /bin/sh + +buildinputs="$freetype $x11 $alsa" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +tar xvfj $fonts || exit 1 +cd MPlayer-* || exit 1 +./configure --prefix=$out --with-win32libdir=$win32codecs \ + --with-x11incdir=$x11/include --with-x11libdir=$x11/lib \ + --with-reallibdir=$win32codecs \ + --disable-sdl --disable-esd --disable-xanim --disable-cdparanoia --disable-directfb \ + --disable-lirc --disable-svga --disable-libdv \ + --disable-vorbis --disable-png --disable-jpeg --disable-gif \ + --enable-runtime-cpudetection \ + || exit 1 +make || exit 1 +make install || exit 1 +cp -p ../font-arial-iso-8859-1/font-arial-18-iso-8859-1/* $out/share/mplayer/font || exit 1 diff --git a/pkgs/applications/video/MPlayer/default.fix b/pkgs/applications/video/MPlayer/default.fix new file mode 100644 index 00000000000..065676bc2ad --- /dev/null +++ b/pkgs/applications/video/MPlayer/default.fix @@ -0,0 +1,31 @@ +{ alsaSupport ? false +, stdenv, fetchurl, x11, freetype, alsa ? null}: + +assert !isNull x11 && !isNull freetype; +assert alsaSupport -> !isNull alsa; + +derivation { + name = "MPlayer-1.0pre2"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://www2.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre2.tar.bz2; + md5 = "a60c179468f85e83e3f9e1922e81ad64"; + }; + fonts = fetchurl { + url = http://www2.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2; + md5 = "1ecd31d17b51f16332b1fcc7da36b312"; + }; + + alsaSupport = alsaSupport; + + stdenv = stdenv; + x11 = x11; + freetype = freetype; + alsa = if alsaSupport then alsa else null; + win32codecs = (import ./win32codecs) { + stdenv = stdenv; + fetchurl = fetchurl; + }; +} diff --git a/pkgs/applications/video/MPlayer/win32codecs/builder.sh b/pkgs/applications/video/MPlayer/win32codecs/builder.sh new file mode 100755 index 00000000000..9b76079acab --- /dev/null +++ b/pkgs/applications/video/MPlayer/win32codecs/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +mkdir $out || exit 1 +cd $out || exit 1 +tar xvfj $src || exit 1 +mv extralite/* . || exit 1 +rmdir extralite || exit 1 diff --git a/pkgs/applications/video/MPlayer/win32codecs/default.fix b/pkgs/applications/video/MPlayer/win32codecs/default.fix new file mode 100644 index 00000000000..699875ae159 --- /dev/null +++ b/pkgs/applications/video/MPlayer/win32codecs/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "win32codecs-1"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www2.mplayerhq.hu/MPlayer/releases/codecs/extralite.tar.bz2; + md5 = "4748ecae87f71e8bda9cb2e2a9bd30b4"; + }; + stdenv = stdenv; +} diff --git a/pkgs/applications/video/mplayerplug-in/builder.sh b/pkgs/applications/video/mplayerplug-in/builder.sh new file mode 100755 index 00000000000..300a445ea0a --- /dev/null +++ b/pkgs/applications/video/mplayerplug-in/builder.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +buildinputs="$x11" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd mplayer* || exit 1 +./configure || exit 1 +make || exit 1 +mkdir -p $out/lib/mozilla/plugins || exit 1 +cp mplayerplug-in.so $out/lib/mozilla/plugins || exit 1 diff --git a/pkgs/applications/video/mplayerplug-in/default.fix b/pkgs/applications/video/mplayerplug-in/default.fix new file mode 100644 index 00000000000..c06fc31fee4 --- /dev/null +++ b/pkgs/applications/video/mplayerplug-in/default.fix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, x11}: + +assert !isNull x11; + +derivation { + name = "mplayerplug-in-1.0pre2"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = http://heanet.dl.sourceforge.net/sourceforge/mplayerplug-in/mplayerplug-in-1.0pre2.tar.gz; + md5 = "1a6eb243989c143984bb1aac63b5282e"; + }; + + stdenv = stdenv; + x11 = x11; +} diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh new file mode 100755 index 00000000000..4560017220f --- /dev/null +++ b/pkgs/build-support/fetchurl/builder.sh @@ -0,0 +1,21 @@ +#! /bin/sh + +. $stdenv/setup + +echo "downloading $url into $out..." + +#prefetch=@prefix@/store/nix-prefetch-url-$md5 +prefetch=/nix/store/nix-prefetch-url-$md5 +if test -f "$prefetch"; then + echo "using prefetched $prefetch"; + mv $prefetch $out || exit 1 +else + wget --passive-ftp "$url" -O "$out" || exit 1 +fi + +#actual=$(@bindir@/nix-hash --flat $out) +actual=$(/nix/bin/nix-hash --flat $out) +if test "$actual" != "$md5"; then + echo "hash is $actual, expected $md5" + exit 1 +fi diff --git a/pkgs/build-support/fetchurl/default.fix b/pkgs/build-support/fetchurl/default.fix new file mode 100644 index 00000000000..fe2c79bbcdd --- /dev/null +++ b/pkgs/build-support/fetchurl/default.fix @@ -0,0 +1,9 @@ +{stdenv}: {url, md5}: derivation { + name = baseNameOf (toString url); + system = stdenv.system; + builder = ./builder.sh; + stdenv = stdenv; + url = url; + md5 = md5; + id = md5; +} diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh new file mode 100755 index 00000000000..15746b26439 --- /dev/null +++ b/pkgs/development/compilers/gcc/builder.sh @@ -0,0 +1,56 @@ +#! /bin/sh + +buildinputs="$binutils" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 + +if test "$noSysDirs" == "1"; then + # Disable the standard include directories. + cd gcc-* || exit 1 + cat >> ./gcc/cppdefault.h < $mf.tmp || exit 1 + mv $mf.tmp $mf + + mf=gcc/Makefile + sed \ + -e "s^X_CFLAGS =\(.*\)^X_CFLAGS = \1 $extraflags^" \ + < $mf > $mf.tmp || exit 1 + mv $mf.tmp $mf + + # Patch gcc/Makefile to prevent fixinc.sh from "fixing" system header files + # from /usr/include. + mf=gcc/Makefile + sed \ + -e "s^NATIVE_SYSTEM_HEADER_DIR =\(.*\)^NATIVE_SYSTEM_HEADER_DIR = /fixinc-disabled^" \ + < $mf > $mf.tmp || exit 1 + mv $mf.tmp $mf +fi + +# Build and install. +make bootstrap || exit 1 +make install || exit 1 + +find $out -name "*.a" -exec strip -S {} \; || exit 1 diff --git a/pkgs/development/compilers/gcc/default.fix b/pkgs/development/compilers/gcc/default.fix new file mode 100644 index 00000000000..0effb18de1a --- /dev/null +++ b/pkgs/development/compilers/gcc/default.fix @@ -0,0 +1,12 @@ +{stdenv, fetchurl, binutils}: derivation { + name = "gcc-3.3.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-3.3.2/gcc-3.3.2.tar.bz2; + md5 = "65999f654102f5438ac8562d13a6eced"; + }; + stdenv = stdenv; + binutils = binutils; + noSysDirs = stdenv.noSysDirs; +} diff --git a/pkgs/development/interpreters/perl/builder.sh b/pkgs/development/interpreters/perl/builder.sh new file mode 100755 index 00000000000..7a925e6dbfd --- /dev/null +++ b/pkgs/development/interpreters/perl/builder.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd perl-* || exit 1 + +# Perl's Configure messes with PATH. We can't have that, so we patch it. +# Yeah, this is an ugly hack. +cat Configure | \ + grep -v '^paths=' | \ + grep -v '^locincpth=' | \ + grep -v '^xlibpth=' | \ + grep -v '^glibpth=' | \ + grep -v '^loclibpth=' | \ + grep -v '^locincpth=' | \ + cat > Configure.tmp || exit 1 +mv Configure.tmp Configure || exit 1 +chmod +x Configure || exit 1 + +./Configure -de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl \ + -Dlocincpth="$NIX_LIBC_INCLUDES" \ + -Dloclibpth="$NIX_LIBC_LIBS" \ + || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/interpreters/perl/default.fix b/pkgs/development/interpreters/perl/default.fix new file mode 100644 index 00000000000..8d9fa7f610d --- /dev/null +++ b/pkgs/development/interpreters/perl/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "perl-5.8.0"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.cs.uu.nl/mirror/CPAN/src/5.0/perl-5.8.1.tar.gz; + md5 = "87cf132f1fbf23e780f0b218046438a6"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/aterm/builder.sh b/pkgs/development/libraries/aterm/builder.sh new file mode 100755 index 00000000000..5915dc0f87d --- /dev/null +++ b/pkgs/development/libraries/aterm/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd aterm-* || exit 1 +./configure --prefix=$out --with-gcc || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/libraries/aterm/default.fix b/pkgs/development/libraries/aterm/default.fix new file mode 100644 index 00000000000..56b4c265ec0 --- /dev/null +++ b/pkgs/development/libraries/aterm/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "aterm-2.0"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.cwi.nl/projects/MetaEnv/aterm/aterm-2.0.tar.gz; + md5 = "853474e4bcf4a85f7d38a0676b36bded"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/db4/builder.sh b/pkgs/development/libraries/db4/builder.sh new file mode 100755 index 00000000000..f32e4ec50dd --- /dev/null +++ b/pkgs/development/libraries/db4/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd db-*/build_unix || exit 1 +../dist/configure --prefix=$out --enable-cxx --enable-compat185 || exit 1 +make || exit 1 +make install || exit 1 +rm -rf $out/doc || exit 1 diff --git a/pkgs/development/libraries/db4/default.fix b/pkgs/development/libraries/db4/default.fix new file mode 100644 index 00000000000..06974133ce9 --- /dev/null +++ b/pkgs/development/libraries/db4/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "db4-4.0.14"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz; + md5 = "12262c64fcd64b772e7cffad8e4d0ebc"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/expat/builder.sh b/pkgs/development/libraries/expat/builder.sh new file mode 100755 index 00000000000..c5ca8edfb92 --- /dev/null +++ b/pkgs/development/libraries/expat/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd expat-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/libraries/expat/default.fix b/pkgs/development/libraries/expat/default.fix new file mode 100644 index 00000000000..77b025b739f --- /dev/null +++ b/pkgs/development/libraries/expat/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "expat-1.95.7"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://heanet.dl.sourceforge.net/sourceforge/expat/expat-1.95.7.tar.gz; + md5 = "2ff59c2a5cbdd21a285c5f343e214fa9"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/fontconfig/builder.sh b/pkgs/development/libraries/fontconfig/builder.sh new file mode 100755 index 00000000000..3b705bd9eca --- /dev/null +++ b/pkgs/development/libraries/fontconfig/builder.sh @@ -0,0 +1,18 @@ +#! /bin/sh + +buildinputs="$freetype $expat $x11 $ed" +. $stdenv/setup || exit 1 + +# Fontconfig generates a bad `fonts.conf' file is the timezone is not known +# (because it calls `date'). +export TZ=UTC + +tar xvfz $src || exit 1 +cd fontconfig-* || exit 1 +./configure --prefix=$out --with-confdir=$out/etc/fonts \ + --x-includes=$x11/include --x-libraries=$x11/lib \ + --with-expat-includes=$expat/include --with-expat-lib=$expat/lib || exit 1 +make || exit 1 +make install || exit 1 + +echo "$freetype" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/fontconfig/default.fix b/pkgs/development/libraries/fontconfig/default.fix new file mode 100644 index 00000000000..15944697423 --- /dev/null +++ b/pkgs/development/libraries/fontconfig/default.fix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, x11, freetype, expat, ed}: + +assert !isNull x11 && x11.buildClientLibs; +assert !isNull freetype; +assert !isNull expat; +assert !isNull ed; + +derivation { + name = "fontconfig-2.2.90"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://pdx.freedesktop.org/software/fontconfig/releases/fontconfig-2.2.90.tar.gz; + md5 = "5cb87476743be1bbf1674ed72a76ae6a"; + }; + stdenv = stdenv; + x11 = x11; + freetype = freetype; + expat = expat; + ed = ed; +} diff --git a/pkgs/development/libraries/freetype/builder.sh b/pkgs/development/libraries/freetype/builder.sh new file mode 100755 index 00000000000..81bd27e4882 --- /dev/null +++ b/pkgs/development/libraries/freetype/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd freetype-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/libraries/freetype/default.fix b/pkgs/development/libraries/freetype/default.fix new file mode 100644 index 00000000000..4284979844d --- /dev/null +++ b/pkgs/development/libraries/freetype/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "freetype-2.1.5"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://heanet.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.5.tar.bz2; + md5 = "54537b518b84d04190a1eccd393a29df"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/gettext/builder.sh b/pkgs/development/libraries/gettext/builder.sh new file mode 100755 index 00000000000..57f18bb3da1 --- /dev/null +++ b/pkgs/development/libraries/gettext/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd gettext-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gettext/default.fix b/pkgs/development/libraries/gettext/default.fix new file mode 100644 index 00000000000..d20c6f4763e --- /dev/null +++ b/pkgs/development/libraries/gettext/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gettext-0.12.1"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/gettext/gettext-0.12.1.tar.gz; + md5 = "5d4bddd300072315e668247e5b7d5bdb"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh new file mode 100755 index 00000000000..7503e73a171 --- /dev/null +++ b/pkgs/development/libraries/glibc/builder.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +# glibc cannot have itself in its rpath. +export NIX_NO_SELF_RPATH=1 +. $stdenv/setup || exit 1 + +tar xvfj $glibcSrc || exit 1 +(cd glibc-* && tar xvfj $linuxthreadsSrc) || exit 1 + +(cd glibc-* && patch -p1 < $vaargsPatch) || exit 1 + +mkdir build || exit 1 +cd build || exit 1 +LDFLAGS=-Wl,-S ../glibc-*/configure --prefix=$out --enable-add-ons --disable-profile || exit 1 + +make || exit 1 +make install || exit 1 +make localedata/install-locales || exit 1 +strip -S $out/lib/*.a $out/lib/*.so $out/lib/gconv/*.so +strip -s $out/bin/* $out/sbin/* $out/libexec/* + +ln -sf /etc/ld.so.cache $out/etc/ld.so.cache || exit 1 + +(cd $out/include && ln -s $kernelHeaders/include/* .) || exit 1 + +exit 0 diff --git a/pkgs/development/libraries/glibc/default.fix b/pkgs/development/libraries/glibc/default.fix new file mode 100644 index 00000000000..bf001b85b2a --- /dev/null +++ b/pkgs/development/libraries/glibc/default.fix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, kernelHeaders}: derivation { + name = "glibc-2.3.2"; + system = stdenv.system; + builder = ./builder.sh; + + glibcSrc = fetchurl { + url = ftp://ftp.nl.net/pub/gnu/glibc/glibc-2.3.2.tar.bz2; + md5 = "ede969aad568f48083e413384f20753c"; + }; + linuxthreadsSrc = fetchurl { + url = ftp://ftp.nl.net/pub/gnu/glibc/glibc-linuxthreads-2.3.2.tar.bz2; + md5 = "894b8969cfbdf787c73e139782167607"; + }; + + # This is a patch to make glibc compile under GCC 3.3. Presumably + # later releases of glibc won't need this. + vaargsPatch = ./glibc-2.3.2-sscanf-1.patch; + + stdenv = stdenv; + kernelHeaders = kernelHeaders; +} diff --git a/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch b/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch new file mode 100644 index 00000000000..78940884cbe --- /dev/null +++ b/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch @@ -0,0 +1,68 @@ +Submitted By: David Shust (www.shustring.com) +Date: 2003-08-15 +Initial Package Version: 2.3.2 +Origin: glibc CVS changes performed by Roland McGrath +Description: patches stdio-common/sscanf.c, libio/{swprintf.c, swscanf.c} + +diff -Naur glibc-2.3.2/libio/swprintf.c glibc-2.3.2-new/libio/swprintf.c +--- glibc-2.3.2/libio/swprintf.c 2001-07-07 19:21:03.000000000 +0000 ++++ glibc-2.3.2-new/libio/swprintf.c 2003-08-15 19:36:42.000000000 +0000 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1991,1995,1997,1998,1999,2000 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1997,1998,1999,2000,2003 ++ Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -22,10 +23,7 @@ + /* Write formatted output into S, according to the format string FORMAT. */ + /* VARARGS3 */ + int +-swprintf (s, n, format) +- wchar_t *s; +- size_t n; +- const wchar_t *format; ++swprintf (wchar_t *s, size_t n, const wchar_t *format, ...) + { + va_list arg; + int done; +diff -Naur glibc-2.3.2/libio/swscanf.c glibc-2.3.2-new/libio/swscanf.c +--- glibc-2.3.2/libio/swscanf.c 2001-07-07 19:21:03.000000000 +0000 ++++ glibc-2.3.2-new/libio/swscanf.c 2003-08-15 19:36:42.000000000 +0000 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1996,1998,1999,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -22,9 +22,7 @@ + /* Read formatted input from S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-swscanf (s, format) +- const wchar_t *s; +- const wchar_t *format; ++swscanf (const wchar_t *s, const wchar_t *format, ...) + { + va_list arg; + int done; +diff -Naur glibc-2.3.2/stdio-common/sscanf.c glibc-2.3.2-new/stdio-common/sscanf.c +--- glibc-2.3.2/stdio-common/sscanf.c 2002-08-10 18:09:08.000000000 +0000 ++++ glibc-2.3.2-new/stdio-common/sscanf.c 2003-08-15 19:36:24.000000000 +0000 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991,95,96,98,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1996,1998,2002,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -27,9 +27,7 @@ + /* Read formatted input from S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-sscanf (s, format) +- const char *s; +- const char *format; ++sscanf (const char *s, const char *format, ...) + { + va_list arg; + int done; diff --git a/pkgs/development/libraries/gnet/builder.sh b/pkgs/development/libraries/gnet/builder.sh new file mode 100755 index 00000000000..220307fd8b9 --- /dev/null +++ b/pkgs/development/libraries/gnet/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pkgconfig $glib" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd gnet-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gnet/default.fix b/pkgs/development/libraries/gnet/default.fix new file mode 100644 index 00000000000..0475dfa06ab --- /dev/null +++ b/pkgs/development/libraries/gnet/default.fix @@ -0,0 +1,16 @@ +{stdenv, fetchurl, pkgconfig, glib}: + +assert !isNull pkgconfig && !isNull glib; + +derivation { + name = "gnet-2.0.4"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.gnetlibrary.org/src/gnet-2.0.4.tar.gz; + md5 = "b43e728391143214e2cfd0b835b6fd2a"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; +} diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh new file mode 100755 index 00000000000..c3dc0238305 --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$gtk $libtiff $libjpeg $libpng" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd gdk-pixbuf-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix new file mode 100644 index 00000000000..8fe9f5e0e14 --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, gtk, libtiff, libjpeg, libpng}: + +assert !isNull gtk && !isNull libtiff + && !isNull libjpeg && !isNull libpng; + +derivation { + name = "gdk-pixbuf-0.22.0"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.22/gdk-pixbuf-0.22.0.tar.bz2; + md5 = "05fcb68ceaa338614ab650c775efc2f2"; + }; + + stdenv = stdenv; + gtk = gtk; + libtiff = libtiff; + libjpeg = libjpeg; + libpng = libpng; +} diff --git a/pkgs/development/libraries/gtk+-1/glib/builder.sh b/pkgs/development/libraries/gtk+-1/glib/builder.sh new file mode 100755 index 00000000000..e6f721de3f4 --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/glib/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd glib-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gtk+-1/glib/default.fix b/pkgs/development/libraries/gtk+-1/glib/default.fix new file mode 100644 index 00000000000..7ae9be406b3 --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/glib/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "glib-1.2.10"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz; + md5 = "6fe30dad87c77b91b632def29dd69ef9"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/gtk+-1/gtk+/builder.sh b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh new file mode 100755 index 00000000000..0487465727a --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +buildinputs="$x11 $glib" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd gtk+-* || exit 1 +./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1 +make || exit 1 +make install || exit 1 + +echo "$x11 $glib" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/gtk+-1/gtk+/default.fix b/pkgs/development/libraries/gtk+-1/gtk+/default.fix new file mode 100644 index 00000000000..856b2ffcad0 --- /dev/null +++ b/pkgs/development/libraries/gtk+-1/gtk+/default.fix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, x11, glib}: + +assert !isNull x11 && !isNull glib; +assert x11.buildClientLibs; + +derivation { + name = "gtk+-1.2.10"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz; + md5 = "4d5cb2fc7fb7830e4af9747a36bfce20"; + }; + + stdenv = stdenv; + x11 = x11; + glib = glib; +} diff --git a/pkgs/development/libraries/gtk+/atk/builder.sh b/pkgs/development/libraries/gtk+/atk/builder.sh new file mode 100755 index 00000000000..212b5dbe287 --- /dev/null +++ b/pkgs/development/libraries/gtk+/atk/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pkgconfig $perl $glib" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd atk-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gtk+/atk/default.fix b/pkgs/development/libraries/gtk+/atk/default.fix new file mode 100644 index 00000000000..8db047f9c49 --- /dev/null +++ b/pkgs/development/libraries/gtk+/atk/default.fix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, pkgconfig, glib, perl}: + +assert !isNull pkgconfig && !isNull glib && !isNull perl; + +derivation { + name = "atk-1.2.4"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v2.2/atk-1.2.4.tar.bz2; + md5 = "2d6d50df31abe0e8892b5d3e7676a02d"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; + perl = perl; +} diff --git a/pkgs/development/libraries/gtk+/glib/builder.sh b/pkgs/development/libraries/gtk+/glib/builder.sh new file mode 100755 index 00000000000..8f4c0b097b2 --- /dev/null +++ b/pkgs/development/libraries/gtk+/glib/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pkgconfig $gettext $perl" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd glib-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/gtk+/glib/default.fix b/pkgs/development/libraries/gtk+/glib/default.fix new file mode 100644 index 00000000000..227aa80f17d --- /dev/null +++ b/pkgs/development/libraries/gtk+/glib/default.fix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, pkgconfig, gettext, perl}: + +assert !isNull pkgconfig && !isNull gettext && !isNull perl; + +derivation { + name = "glib-2.2.3"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.3.tar.bz2; + md5 = "aa214a10d873b68ddd67cd9de2ccae55"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + gettext = gettext; + perl = perl; +} diff --git a/pkgs/development/libraries/gtk+/gtk+/builder.sh b/pkgs/development/libraries/gtk+/gtk+/builder.sh new file mode 100755 index 00000000000..e8835feb3a7 --- /dev/null +++ b/pkgs/development/libraries/gtk+/gtk+/builder.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +buildinputs="$pkgconfig $x11 $glib $atk $pango $perl $libtiff $libjpeg $libpng" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd gtk+-* || exit 1 +./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1 +make || exit 1 +make install || exit 1 + +echo "$x11 $glib $atk $pango" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/gtk+/gtk+/default.fix b/pkgs/development/libraries/gtk+/gtk+/default.fix new file mode 100644 index 00000000000..f0fe5979d0b --- /dev/null +++ b/pkgs/development/libraries/gtk+/gtk+/default.fix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, x11, glib, atk +, pango, perl, libtiff, libjpeg, libpng}: + +assert !isNull pkgconfig && !isNull x11 && !isNull glib && !isNull atk + && !isNull pango && !isNull perl && !isNull perl && !isNull libtiff + && !isNull libjpeg && !isNull libpng; +assert x11.buildClientLibs; +assert glib == atk.glib; +assert glib == pango.glib; +assert x11 == pango.x11; + +derivation { + name = "gtk+-2.2.4"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v2.2/gtk+-2.2.4.tar.bz2; + md5 = "605332199533e73bc6eec481fb4f1671"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = x11; + glib = glib; + atk = atk; + pango = pango; + perl = perl; + libtiff = libtiff; + libjpeg = libjpeg; + libpng = libpng; +} diff --git a/pkgs/development/libraries/gtk+/pango/builder.sh b/pkgs/development/libraries/gtk+/pango/builder.sh new file mode 100755 index 00000000000..daa6001cc17 --- /dev/null +++ b/pkgs/development/libraries/gtk+/pango/builder.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +buildinputs="$pkgconfig $x11 $glib $xft" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd pango-* || exit 1 +./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1 +make || exit 1 +make install || exit 1 + +echo "$xft" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/gtk+/pango/default.fix b/pkgs/development/libraries/gtk+/pango/default.fix new file mode 100644 index 00000000000..d598d97f9c3 --- /dev/null +++ b/pkgs/development/libraries/gtk+/pango/default.fix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, pkgconfig, x11, glib, xft}: + +assert !isNull pkgconfig && !isNull x11 && !isNull glib && !isNull xft; +assert x11.buildClientLibs; +assert xft.x11 == x11; + +derivation { + name = "pango-1.2.5"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gtk.org/pub/gtk/v2.2/pango-1.2.5.tar.bz2; + md5 = "df00fe3e71cd297010f24f439b6c8ee6"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = x11; + glib = glib; + xft = xft; +} diff --git a/pkgs/development/libraries/libIDL/builder.sh b/pkgs/development/libraries/libIDL/builder.sh new file mode 100755 index 00000000000..113dfef5a64 --- /dev/null +++ b/pkgs/development/libraries/libIDL/builder.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +buildinputs="$pkgconfig $glib $lex $yacc" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd libIDL-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/libraries/libIDL/default.fix b/pkgs/development/libraries/libIDL/default.fix new file mode 100644 index 00000000000..79ef17dd6b8 --- /dev/null +++ b/pkgs/development/libraries/libIDL/default.fix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, pkgconfig, glib, lex, yacc}: + +assert !isNull pkgconfig && !isNull gtk && !isNull lex && !isNull yacc; + +derivation { + name = "libIDL-0.8.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2; + md5 = "a75d2dbf3a3c66b567047c94245f8b82"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; + lex = lex; + yacc = yacc; +} diff --git a/pkgs/development/libraries/libjpeg/builder.sh b/pkgs/development/libraries/libjpeg/builder.sh new file mode 100755 index 00000000000..9a27a8545c4 --- /dev/null +++ b/pkgs/development/libraries/libjpeg/builder.sh @@ -0,0 +1,15 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd jpeg-* || exit 1 +./configure --prefix=$out --enable-shared || exit 1 +make || exit 1 +mkdir $out || exit 1 +mkdir $out/bin || exit 1 +mkdir $out/lib || exit 1 +mkdir $out/include || exit 1 +mkdir $out/man || exit 1 +mkdir $out/man/man1 || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/libjpeg/default.fix b/pkgs/development/libraries/libjpeg/default.fix new file mode 100644 index 00000000000..80946833f72 --- /dev/null +++ b/pkgs/development/libraries/libjpeg/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "libjpeg-6b"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz; + md5 = "dbd5f3b47ed13132f04c685d608a7547"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/libpng/builder.sh b/pkgs/development/libraries/libpng/builder.sh new file mode 100755 index 00000000000..d601bfa5fbf --- /dev/null +++ b/pkgs/development/libraries/libpng/builder.sh @@ -0,0 +1,16 @@ +#! /bin/sh + +buildinputs="$zlib" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd libpng-* || exit 1 +make -f scripts/makefile.linux || exit 1 +mkdir $out || exit 1 +mkdir $out/bin || exit 1 +mkdir $out/lib || exit 1 +mkdir $out/include || exit 1 +make -f scripts/makefile.linux install prefix=$out || exit 1 +strip -S $out/lib/*.a || exit 1 + +echo "$zlib" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/libpng/default.fix b/pkgs/development/libraries/libpng/default.fix new file mode 100644 index 00000000000..47322de7d17 --- /dev/null +++ b/pkgs/development/libraries/libpng/default.fix @@ -0,0 +1,15 @@ +{stdenv, fetchurl, zlib}: + +assert !isNull zlib; + +derivation { + name = "libpng-1.2.5"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://heanet.dl.sourceforge.net/sourceforge/png-mng/libpng-1.2.5.tar.bz2; + md5 = "3fc28af730f12ace49b14568de4ad934"; + }; + stdenv = stdenv; + zlib = zlib; +} diff --git a/pkgs/development/libraries/libtiff/builder.sh b/pkgs/development/libraries/libtiff/builder.sh new file mode 100755 index 00000000000..c237077c8b4 --- /dev/null +++ b/pkgs/development/libraries/libtiff/builder.sh @@ -0,0 +1,16 @@ +#! /bin/sh + +buildinputs="$zlib $libjpeg" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd tiff-* || exit 1 +./configure --prefix=$out --with-DIR_MAN=$out/man \ + --with-ZIP --with-JPEG \ + --with-DIRS_LIBINC="$zlib/include $libjpeg/include" || exit 1 +make || exit 1 +mkdir $out || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 + +echo "$zlib $libjpeg" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/libtiff/default.fix b/pkgs/development/libraries/libtiff/default.fix new file mode 100644 index 00000000000..7a14a63ce33 --- /dev/null +++ b/pkgs/development/libraries/libtiff/default.fix @@ -0,0 +1,16 @@ +{stdenv, fetchurl, zlib, libjpeg}: + +assert !isNull zlib && !isNull libjpeg; + +derivation { + name = "libtiff-3.5.7"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.remotesensing.org/pub/libtiff/tiff-v3.5.7.tar.gz; + md5 = "82243b5ae9b7c9e492aeebc501680990"; + }; + stdenv = stdenv; + zlib = zlib; + libjpeg = libjpeg; +} diff --git a/pkgs/development/libraries/libxml2/builder.sh b/pkgs/development/libraries/libxml2/builder.sh new file mode 100755 index 00000000000..1b4e58174c8 --- /dev/null +++ b/pkgs/development/libraries/libxml2/builder.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +buildinputs="$zlib" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd libxml2-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/libraries/libxml2/default.fix b/pkgs/development/libraries/libxml2/default.fix new file mode 100644 index 00000000000..3e2fb8b13e5 --- /dev/null +++ b/pkgs/development/libraries/libxml2/default.fix @@ -0,0 +1,15 @@ +{stdenv, fetchurl, zlib}: + +assert !isNull zlib; + +derivation { + name = "libxml2-2.6.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://rpmfind.net/pub/libxml/libxml2-2.6.2.tar.gz; + md5 = "56e7f74d3d44cc16790ad08624faef64"; + }; + stdenv = stdenv; + zlib = zlib; +} diff --git a/pkgs/development/libraries/openssl/builder.sh b/pkgs/development/libraries/openssl/builder.sh new file mode 100755 index 00000000000..c1493365ae6 --- /dev/null +++ b/pkgs/development/libraries/openssl/builder.sh @@ -0,0 +1,16 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 +export PATH=$perl/bin:$PATH + +tar xvfz $src || exit 1 +cd openssl-* || exit 1 +./config --prefix=$out shared || exit 1 +make || exit 1 +mkdir $out || exit 1 +make install || exit 1 + +# Bug fix: openssl does a `chmod 644' on the pkgconfig directory. +chmod 755 $out/lib/pkgconfig || exit 1 + +echo $envpkgs > $out/envpkgs || exit 1 diff --git a/pkgs/development/libraries/openssl/default.fix b/pkgs/development/libraries/openssl/default.fix new file mode 100644 index 00000000000..38bf22cb0bf --- /dev/null +++ b/pkgs/development/libraries/openssl/default.fix @@ -0,0 +1,11 @@ +{stdenv, fetchurl, perl}: derivation { + name = "openssl-0.9.7c"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.openssl.org/source/openssl-0.9.7c.tar.gz; + md5 = "c54fb36218adaaaba01ef733cd88c8ec"; + }; + stdenv = stdenv; + perl = perl; +} diff --git a/pkgs/development/libraries/pcre/builder.sh b/pkgs/development/libraries/pcre/builder.sh new file mode 100755 index 00000000000..dea883667fc --- /dev/null +++ b/pkgs/development/libraries/pcre/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd pcre-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/pcre/default.fix b/pkgs/development/libraries/pcre/default.fix new file mode 100644 index 00000000000..9e18d88fccf --- /dev/null +++ b/pkgs/development/libraries/pcre/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "pcre-4.3"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-4.3.tar.bz2; + md5 = "7bc7d5b590a41e6f9ede30f272002a02"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/libraries/xft/builder.sh b/pkgs/development/libraries/xft/builder.sh new file mode 100755 index 00000000000..f4432e079bf --- /dev/null +++ b/pkgs/development/libraries/xft/builder.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +buildinputs="$pkgconfig $fontconfig $x11" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd xft-* || exit 1 +./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1 +make || exit 1 +make install || exit 1 + +echo "$fontconfig" > $out/propagated-build-inputs || exit 1 diff --git a/pkgs/development/libraries/xft/default.fix b/pkgs/development/libraries/xft/default.fix new file mode 100644 index 00000000000..0764a1dd80a --- /dev/null +++ b/pkgs/development/libraries/xft/default.fix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, pkgconfig, x11, fontconfig}: + +assert !isNull pkgconfig && !isNull x11 && !isNull fontconfig; +assert fontconfig.x11 == x11; + +derivation { + name = "xft-2.1.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://pdx.freedesktop.org/software/fontconfig/releases/xft-2.1.2.tar.gz; + md5 = "defb7e801d4938b8b15a426ae57e2f3f"; + }; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = x11; + fontconfig = fontconfig; +} diff --git a/pkgs/development/libraries/zlib/builder.sh b/pkgs/development/libraries/zlib/builder.sh new file mode 100755 index 00000000000..4ca1a830544 --- /dev/null +++ b/pkgs/development/libraries/zlib/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd zlib-* || exit 1 +./configure --prefix=$out --shared || exit 1 +make || exit 1 +mkdir $out || exit 1 +make install || exit 1 diff --git a/pkgs/development/libraries/zlib/default.fix b/pkgs/development/libraries/zlib/default.fix new file mode 100644 index 00000000000..7dfe3e6a9ab --- /dev/null +++ b/pkgs/development/libraries/zlib/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "zlib-1.1.4"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.gzip.org/zlib/zlib-1.1.4.tar.gz; + md5 = "abc405d0bdd3ee22782d7aa20e440f08"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/tools/build-managers/gnumake/builder.sh b/pkgs/development/tools/build-managers/gnumake/builder.sh new file mode 100755 index 00000000000..362de7cd9a8 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd make-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/tools/build-managers/gnumake/default.fix b/pkgs/development/tools/build-managers/gnumake/default.fix new file mode 100644 index 00000000000..6ca56d57ba6 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gnumake-3.80"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2; + md5 = "0bbd1df101bc0294d440471e50feca71"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/tools/misc/binutils/builder.sh b/pkgs/development/tools/misc/binutils/builder.sh new file mode 100755 index 00000000000..7782ea08988 --- /dev/null +++ b/pkgs/development/tools/misc/binutils/builder.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd binutils-* || exit 1 + +# Clear the default library search path. +if test "$noSysDirs" == "1"; then + echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt || exit 1 +fi + +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 + +strip -S $out/lib/*.a || exit 1 diff --git a/pkgs/development/tools/misc/binutils/default.fix b/pkgs/development/tools/misc/binutils/default.fix new file mode 100644 index 00000000000..07d6b416a54 --- /dev/null +++ b/pkgs/development/tools/misc/binutils/default.fix @@ -0,0 +1,11 @@ +{stdenv, fetchurl}: derivation { + name = "binutils-2.14"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/binutils/binutils-2.14.tar.bz2; + md5 = "2da8def15d28af3ec6af0982709ae90a"; + }; + stdenv = stdenv; + noSysDirs = stdenv.noSysDirs; +} diff --git a/pkgs/development/tools/misc/gnum4/builder.sh b/pkgs/development/tools/misc/gnum4/builder.sh new file mode 100755 index 00000000000..03f201582bb --- /dev/null +++ b/pkgs/development/tools/misc/gnum4/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd m4-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/tools/misc/gnum4/default.fix b/pkgs/development/tools/misc/gnum4/default.fix new file mode 100644 index 00000000000..25d095d387a --- /dev/null +++ b/pkgs/development/tools/misc/gnum4/default.fix @@ -0,0 +1,11 @@ +{stdenv, fetchurl}: +derivation { + name = "gnum4-1.4"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/m4/m4-1.4.tar.gz; + md5 = "9eb2dd07740b2d2f3c7adb3e8d299bda"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/tools/misc/pkgconfig/builder.sh b/pkgs/development/tools/misc/pkgconfig/builder.sh new file mode 100755 index 00000000000..5ec940cb03a --- /dev/null +++ b/pkgs/development/tools/misc/pkgconfig/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd pkgconfig-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +mkdir $out || exit 1 +make install || exit 1 diff --git a/pkgs/development/tools/misc/pkgconfig/default.fix b/pkgs/development/tools/misc/pkgconfig/default.fix new file mode 100644 index 00000000000..9194b041843 --- /dev/null +++ b/pkgs/development/tools/misc/pkgconfig/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "pkgconfig-0.15.0"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz; + md5 = "a7e4f60a6657dbc434334deb594cc242"; + }; + stdenv = stdenv; +} diff --git a/pkgs/development/tools/parsing/bison/builder.sh b/pkgs/development/tools/parsing/bison/builder.sh new file mode 100755 index 00000000000..c112a067c7b --- /dev/null +++ b/pkgs/development/tools/parsing/bison/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$m4" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd bison-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/tools/parsing/bison/default.fix b/pkgs/development/tools/parsing/bison/default.fix new file mode 100644 index 00000000000..fc8941b76f3 --- /dev/null +++ b/pkgs/development/tools/parsing/bison/default.fix @@ -0,0 +1,13 @@ +{stdenv, fetchurl, m4}: +assert !isNull m4; +derivation { + name = "bison-1.875"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/bison/bison-1.875.tar.bz2; + md5 = "b7f8027b249ebd4dd0cc948943a71af0"; + }; + stdenv = stdenv; + m4 = m4; +} diff --git a/pkgs/development/tools/parsing/flex/builder.sh b/pkgs/development/tools/parsing/flex/builder.sh new file mode 100755 index 00000000000..4c097580550 --- /dev/null +++ b/pkgs/development/tools/parsing/flex/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +export buildinputs="$yacc" +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd flex-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/development/tools/parsing/flex/default.fix b/pkgs/development/tools/parsing/flex/default.fix new file mode 100644 index 00000000000..605c29db2d2 --- /dev/null +++ b/pkgs/development/tools/parsing/flex/default.fix @@ -0,0 +1,13 @@ +{stdenv, fetchurl, yacc}: +assert !isNull yacc; +derivation { + name = "flex-2.5.4a"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/flex/flex-2.5.4a.tar.gz; + md5 = "bd8753d0b22e1f4ec87a553a73021adf"; + }; + stdenv = stdenv; + yacc = yacc; +} diff --git a/pkgs/os-specific/linux/alsa/library/builder.sh b/pkgs/os-specific/linux/alsa/library/builder.sh new file mode 100755 index 00000000000..4cb8210f186 --- /dev/null +++ b/pkgs/os-specific/linux/alsa/library/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd alsa-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/os-specific/linux/alsa/library/default.fix b/pkgs/os-specific/linux/alsa/library/default.fix new file mode 100644 index 00000000000..f13ca6ec54e --- /dev/null +++ b/pkgs/os-specific/linux/alsa/library/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "alsa-lib-0.9.8"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.alsa-project.org/pub/lib/alsa-lib-0.9.8.tar.bz2; + md5 = "c9f163fb0623de1b92bf287712641f6e"; + }; + stdenv = stdenv; +} diff --git a/pkgs/os-specific/linux/kernel-headers/builder.sh b/pkgs/os-specific/linux/kernel-headers/builder.sh new file mode 100755 index 00000000000..3afc94f0246 --- /dev/null +++ b/pkgs/os-specific/linux/kernel-headers/builder.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd linux-* || exit 1 +make include/linux/version.h || exit 1 +mkdir $out || exit 1 +mkdir $out/include || exit 1 +cp -prvd include/linux include/asm-i386 $out/include || exit 1 +cd $out/include || exit 1 +ln -s asm-i386 asm || exit 1 diff --git a/pkgs/os-specific/linux/kernel-headers/default.fix b/pkgs/os-specific/linux/kernel-headers/default.fix new file mode 100644 index 00000000000..cc626a25b26 --- /dev/null +++ b/pkgs/os-specific/linux/kernel-headers/default.fix @@ -0,0 +1,11 @@ +{stdenv, fetchurl}: derivation { + # !!! check that this is a i386 + name = "linux-headers-2.4.22-i386"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2; + md5 = "75dc85149b06ac9432106b8941eb9f7b"; + }; + stdenv = stdenv; +} diff --git a/pkgs/servers/http/apache-httpd/builder.sh b/pkgs/servers/http/apache-httpd/builder.sh new file mode 100755 index 00000000000..559c75d0124 --- /dev/null +++ b/pkgs/servers/http/apache-httpd/builder.sh @@ -0,0 +1,23 @@ +#! /bin/sh + +buildinputs="$openssl $db4 $expat $perl" +. $stdenv/setup || exit 1 + +if test $db4Support; then + extraflags="--with-berkeley-db=$db4 $extraflags" +fi + +if test $sslSupport; then + extraflags="--enable-ssl --with-ssl=$openssl $extraflags" +fi + +tar xvfz $src || exit 1 +cd httpd-* || exit 1 +./configure --prefix=$out \ + --with-expat=$expat --enable-mods-shared=all --without-gdbm \ + --enable-threads --with-devrandom=/dev/urandom \ + $extraflags || exit 1 +make || exit 1 +make install || exit 1 +strip -S $out/lib/*.a || exit 1 +rm -rf $out/manual || exit 1 diff --git a/pkgs/servers/http/apache-httpd/default.fix b/pkgs/servers/http/apache-httpd/default.fix new file mode 100644 index 00000000000..b0e9dd2e9c0 --- /dev/null +++ b/pkgs/servers/http/apache-httpd/default.fix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, openssl, db4, expat, perl +, sslSupport, db4Support +}: +derivation { + name = "apache-httpd-2.0.48"; + system = stdenv.system; + + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.cs.uu.nl/mirror/apache.org/dist/httpd/httpd-2.0.48.tar.gz; + md5 = "466c63bb71b710d20a5c353df8c1a19c"; + }; + + stdenv = stdenv; + perl = perl; + openssl = if sslSupport then openssl else ""; + db4 = if db4Support then db4 else ""; + expat = expat; +} diff --git a/pkgs/servers/x11/xfree86/builder.sh b/pkgs/servers/x11/xfree86/builder.sh new file mode 100755 index 00000000000..4717f42e0f6 --- /dev/null +++ b/pkgs/servers/x11/xfree86/builder.sh @@ -0,0 +1,15 @@ +#! /bin/sh + +export buildinputs="$bison $flex" +. $stdenv/setup || exit 1 + +tar xvfz $src1 || exit 1 +tar xvfz $src2 || exit 1 +tar xvfz $src3 || exit 1 +cd xc || exit 1 +sed "s^@OUT@^$out^" < $hostdef > config/cf/host.def +make World || exit 1 +make install || exit 1 + +# !!! Hack to get fontconfig to work. +ln -s /usr/X11R6/lib/X11/fonts $out/lib/X11/fonts diff --git a/pkgs/servers/x11/xfree86/default.fix b/pkgs/servers/x11/xfree86/default.fix new file mode 100644 index 00000000000..17971c2081f --- /dev/null +++ b/pkgs/servers/x11/xfree86/default.fix @@ -0,0 +1,34 @@ +{ buildServer ? true +, buildClientLibs ? true +, stdenv, fetchurl, bison, flex}: + +assert !buildServer; # we don't support this currently +assert buildClientLibs; # we don't support *not* doing this currently +assert !isNull bison && !isNull flex; + +derivation { + name = "xfree86-4.3"; + system = stdenv.system; + + builder = ./builder.sh; + hostdef = ./host.def; + src1 = fetchurl { + url = ftp://gnu.kookel.org/pub/XFree86/4.3.0/source/X430src-1.tgz; + md5 = "4f241a4f867363f40efa2b00dca292af"; + }; + src2 = fetchurl { + url = ftp://gnu.kookel.org/pub/XFree86/4.3.0/source/X430src-2.tgz; + md5 = "844c2ee908d21dbf8911fd13115bf8b4"; + }; + src3 = fetchurl { + url = ftp://gnu.kookel.org/pub/XFree86/4.3.0/source/X430src-3.tgz; + md5 = "b82a0443e1b7bf860e4343e6b6766cb6"; + }; + + buildServer = buildServer; + buildClientLibs = buildClientLibs; + + stdenv = stdenv; + bison = bison; + flex = flex; +} diff --git a/pkgs/servers/x11/xfree86/host.def b/pkgs/servers/x11/xfree86/host.def new file mode 100644 index 00000000000..0085f9dab25 --- /dev/null +++ b/pkgs/servers/x11/xfree86/host.def @@ -0,0 +1,30 @@ +#define BuildServer NO +#define BuildFontServer NO +#define BuildSpeedo NO +#define BuildType1 NO +#define BuildCID NO +#define BuildFreeType NO +#define BuildXTrueType NO +#define BuildFonts NO +#define BuildXftLibrary NO +#define BuildXft1Library NO +#define BuildClients NO +#define BuildDocs NO +#define BuildLibraries YES +#define BuildGLXLibrary NO +#define BuildOSMesaLib NO +#define BuildOSMesaLib NO +#define BuildXvMCExt NO +#define BuildXvMCLibrary NO + +#define XF86Server NO +#define XnestServer NO +#define XVirtualFramebufferServer NO +#define XprtServer NO +#define XF86CardDrivers +#define XInputDrivers + +#define ProjectRoot @OUT@ +#define NothingOutsideProjectRoot YES +#define EtcX11Directory ProjectRoot/etc +#define UseSeparateConfDir NO diff --git a/pkgs/shells/bash/builder.sh b/pkgs/shells/bash/builder.sh new file mode 100755 index 00000000000..7b0d093c576 --- /dev/null +++ b/pkgs/shells/bash/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd bash-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 +(cd $out/bin; ln -s bash sh) || exit 1 diff --git a/pkgs/shells/bash/default.fix b/pkgs/shells/bash/default.fix new file mode 100644 index 00000000000..92199565904 --- /dev/null +++ b/pkgs/shells/bash/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "bash-2.05b"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/bash/bash-2.05b.tar.gz; + md5 = "5238251b4926d778dfe162f6ce729733"; + }; + stdenv = stdenv; +} diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh new file mode 100755 index 00000000000..ad788118492 --- /dev/null +++ b/pkgs/stdenv/generic/builder.sh @@ -0,0 +1,41 @@ +#! /bin/sh + +# Set up the initial path. +for i in $initialPath; do + PATH=$PATH:$i/bin +done + +# Make output directories. +mkdir $out || exit 1 +mkdir $out/bin || exit 1 + +# Create the setup script. +sed \ + -e "s^@OUT@^$out^g" \ + -e "s^@PREHOOK@^$prehook^g" \ + -e "s^@POSTHOOK@^$posthook^g" \ + -e "s^@INITIALPATH@^$initialPath^g" \ + -e "s^@PARAM1@^$param1^g" \ + -e "s^@PARAM2@^$param2^g" \ + -e "s^@PARAM3@^$param3^g" \ + -e "s^@PARAM4@^$param4^g" \ + -e "s^@PARAM5@^$param5^g" \ + < $setup > $out/setup || exit 1 + +# Create the gcc wrapper. +sed \ + -e 's^@GCC\@^$NIX_CC^g' \ + < $gccwrapper > $out/bin/gcc || exit 1 +chmod +x $out/bin/gcc || exit 1 +ln -s gcc $out/bin/cc || exit 1 + +# Create the g++ wrapper. +sed \ + -e 's^@GCC\@^$NIX_CXX^g' \ + < $gccwrapper > $out/bin/g++ || exit 1 +chmod +x $out/bin/g++ || exit 1 +ln -s g++ $out/bin/c++ || exit 1 + +# Create the ld wrapper. +cp $ldwrapper $out/bin/ld || exit 1 +chmod +x $out/bin/ld || exit 1 diff --git a/pkgs/stdenv/generic/default.fix b/pkgs/stdenv/generic/default.fix new file mode 100644 index 00000000000..6778b4d131c --- /dev/null +++ b/pkgs/stdenv/generic/default.fix @@ -0,0 +1,23 @@ +{system, name, noSysDirs, prehook, posthook, initialPath, + param1, param2, param3, param4, param5}: +derivation { + name = name; + system = system; + builder = ./builder.sh; + noSysDirs = noSysDirs; + + setup = ./setup.sh; + gccwrapper = ./gcc-wrapper.sh; + ldwrapper = ./ld-wrapper.sh; + + prehook = prehook; + posthook = posthook; + + initialPath = initialPath; + # TODO: make this more elegant. + param1 = param1; + param2 = param2; + param3 = param3; + param4 = param4; + param5 = param5; +} diff --git a/pkgs/stdenv/generic/gcc-wrapper.sh b/pkgs/stdenv/generic/gcc-wrapper.sh new file mode 100644 index 00000000000..f68612d2c1e --- /dev/null +++ b/pkgs/stdenv/generic/gcc-wrapper.sh @@ -0,0 +1,42 @@ +#! /bin/sh + +IFS= + +justcompile=0 +for i in $@; do + if test "$i" == "-c"; then + justcompile=1 + elif test "$i" == "-S"; then + justcompile=1 + elif test "$i" == "-E"; then + justcompile=1 + elif test "$i" == "-E"; then + justcompile=1 + elif test "$i" == "-M"; then + justcompile=1 + elif test "$i" == "-MM"; then + justcompile=1 + fi +done + +IFS=" " +extra=($NIX_CFLAGS_COMPILE) +if test "$justcompile" != "1"; then + extra=(${extra[@]} $NIX_CFLAGS_LINK) + for i in $NIX_LDFLAGS; do + extra=(${extra[@]} "-Wl,$i") + done + if test "$NIX_STRIP_DEBUG" == "1"; then + extra=(${extra[@]} -g0 -Wl,-s) + fi +fi + +if test "$NIX_DEBUG" == "1"; then + echo "extra flags to @GCC@:" >&2 + for i in ${extra[@]}; do + echo " $i" >&2 + done +fi + +IFS= +exec @GCC@ $@ ${extra[@]} diff --git a/pkgs/stdenv/generic/ld-wrapper.sh b/pkgs/stdenv/generic/ld-wrapper.sh new file mode 100644 index 00000000000..e6a2fe74c5e --- /dev/null +++ b/pkgs/stdenv/generic/ld-wrapper.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +IFS=" " +extra=($NIX_CFLAGS_LINK $NIX_LDFLAGS) +if test "$NIX_STRIP_DEBUG" == "1"; then + extra=(${extra[@]} -s) +fi + +if test "$NIX_DEBUG" == "1"; then + echo "extra flags to @LD@:" >&2 + for i in ${extra[@]}; do + echo " $i" >&2 + done +fi + +IFS= +exec $NIX_LD $@ ${extra[@]} diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh new file mode 100644 index 00000000000..25b84bb5edc --- /dev/null +++ b/pkgs/stdenv/generic/setup.sh @@ -0,0 +1,67 @@ +# Set up the initial path. +for i in @INITIALPATH@; do + PATH=$PATH:$i/bin +done +echo $PATH + +# Execute the pre-hook. +param1=@PARAM1@ +param2=@PARAM2@ +param3=@PARAM3@ +param4=@PARAM4@ +param5=@PARAM5@ +. @PREHOOK@ + +# Add the directory containing the GCC wrappers to the PATH. +export PATH=@OUT@/bin:$PATH + +# Recursively add all buildinputs to the relevant environment variables. +addtoenv() +{ + pkgs="$buildinputs $1" + + if test -d $1/bin; then + export PATH=$1/bin:$PATH + fi + + if test -d $1/lib; then + export NIX_CFLAGS_LINK="-L$1/lib $NIX_CFLAGS_LINK" + export NIX_LDFLAGS="-rpath $1/lib $NIX_LDFLAGS" + fi + + if test -d $1/lib/pkgconfig; then + export PKG_CONFIG_PATH=$1/lib/pkgconfig:$PKG_CONFIG_PATH + fi + + if test -d $1/include; then + export NIX_CFLAGS_COMPILE="-I$1/include $NIX_CFLAGS_COMPILE" + fi + + if test -f $1/propagated-build-inputs; then + for i in $(cat $1/propagated-build-inputs); do + addtoenv $i + done + fi +} + +oldbuildinputs=$buildinputs +buildinputs= + +for i in $oldbuildinputs; do + addtoenv $i +done + +# Add the output as an rpath. +if test "$NIX_NO_SELF_RPATH" != "1"; then + export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS" +fi + +# Strip debug information by default. +export NIX_STRIP_DEBUG=1 + +# Execute the post-hook. +. @POSTHOOK@ + +if test "$NIX_DEBUG" == "1"; then + echo "Setup: PATH=$PATH" +fi diff --git a/pkgs/stdenv/native/default.fix b/pkgs/stdenv/native/default.fix new file mode 100644 index 00000000000..2859cc18d0e --- /dev/null +++ b/pkgs/stdenv/native/default.fix @@ -0,0 +1,13 @@ +{system}: (import ../generic) { + name = "stdenv-native"; + system = system; + prehook = ./prehook.sh; + posthook = ./posthook.sh; + initialPath = "/usr/local /usr /"; + param1 = ""; + param2 = ""; + param3 = ""; + param4 = ""; + param5 = ""; + noSysDirs = false; +} diff --git a/pkgs/stdenv/native/posthook.sh b/pkgs/stdenv/native/posthook.sh new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkgs/stdenv/native/prehook.sh b/pkgs/stdenv/native/prehook.sh new file mode 100644 index 00000000000..72e9c174870 --- /dev/null +++ b/pkgs/stdenv/native/prehook.sh @@ -0,0 +1,5 @@ +export SHELL=/bin/sh + +export NIX_CC=/usr/bin/gcc +export NIX_CXX=/usr/bin/g++ +export NIX_LD=/usr/bin/ld diff --git a/pkgs/stdenv/nix-linux/boot.fix b/pkgs/stdenv/nix-linux/boot.fix new file mode 100644 index 00000000000..c42b3f33302 --- /dev/null +++ b/pkgs/stdenv/nix-linux/boot.fix @@ -0,0 +1,13 @@ +{system, glibc}: (import ../generic) { + name = "stdenv-linux-boot"; + system = system; + prehook = ./prehook-boot.sh; + posthook = ./posthook.sh; + initialPath = "/usr/local /usr /"; + param1 = ""; + param2 = ""; + param3 = ""; + param4 = glibc; + param5 = ""; + noSysDirs = true; +} diff --git a/pkgs/stdenv/nix-linux/default.fix b/pkgs/stdenv/nix-linux/default.fix new file mode 100644 index 00000000000..305a9081869 --- /dev/null +++ b/pkgs/stdenv/nix-linux/default.fix @@ -0,0 +1,13 @@ +{bootStdenv, pkgs, glibc}: (import ../generic) { + name = "stdenv-nix-linux"; + system = bootStdenv.system; + prehook = ./prehook.sh; + posthook = ./posthook.sh; + initialPath = (import ../nix/path.fix) {pkgs = pkgs}; + param1 = pkgs.bash; + param2 = pkgs.gcc; + param3 = pkgs.binutils; + param4 = glibc; + param5 = ""; + noSysDirs = true; +} diff --git a/pkgs/stdenv/nix-linux/posthook.sh b/pkgs/stdenv/nix-linux/posthook.sh new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkgs/stdenv/nix-linux/prehook-boot.sh b/pkgs/stdenv/nix-linux/prehook-boot.sh new file mode 100644 index 00000000000..780c5aa5653 --- /dev/null +++ b/pkgs/stdenv/nix-linux/prehook-boot.sh @@ -0,0 +1,12 @@ +export SHELL=/bin/sh + +export NIX_CC=/usr/bin/gcc +export NIX_CXX=/usr/bin/g++ +export NIX_LD=/usr/bin/ld + +export NIX_CFLAGS_COMPILE="-isystem $param4/include $NIX_CFLAGS_COMPILE" +export NIX_CFLAGS_LINK="-L$param4/lib $NIX_CFLAGS_LINK" +export NIX_LDFLAGS="-dynamic-linker $param4/lib/ld-linux.so.2 -rpath $param4/lib $NIX_LDFLAGS" + +export NIX_LIBC_INCLUDES="$param4/include" +export NIX_LIBC_LIBS="$param4/lib" diff --git a/pkgs/stdenv/nix-linux/prehook.sh b/pkgs/stdenv/nix-linux/prehook.sh new file mode 100644 index 00000000000..cc38a9c174d --- /dev/null +++ b/pkgs/stdenv/nix-linux/prehook.sh @@ -0,0 +1,12 @@ +export SHELL=$param1 + +export NIX_CC=$param2/bin/gcc +export NIX_CXX=$param2/bin/g++ +export NIX_LD=$param3/bin/ld + +export NIX_CFLAGS_COMPILE="-isystem $param4/include $NIX_CFLAGS_COMPILE" +export NIX_CFLAGS_LINK="-L$param4/lib -L$param2/lib $NIX_CFLAGS_LINK" +export NIX_LDFLAGS="-dynamic-linker $param4/lib/ld-linux.so.2 -rpath $param4/lib -rpath $param2/lib $NIX_LDFLAGS" + +export NIX_LIBC_INCLUDES="$param4/include" +export NIX_LIBC_LIBS="$param4/lib" diff --git a/pkgs/stdenv/nix/default.fix b/pkgs/stdenv/nix/default.fix new file mode 100644 index 00000000000..e7f343d375f --- /dev/null +++ b/pkgs/stdenv/nix/default.fix @@ -0,0 +1,13 @@ +{bootStdenv, pkgs}: (import ../generic) { + name = "stdenv-nix"; + system = bootStdenv.system; + prehook = ./prehook.sh; + posthook = ./posthook.sh; + initialPath = (import ./path.fix) {pkgs = pkgs}; + param1 = pkgs.bash; + param2 = pkgs.gcc; + param3 = pkgs.binutils; + param4 = ""; + param5 = ""; + noSysDirs = false; +} diff --git a/pkgs/stdenv/nix/path.fix b/pkgs/stdenv/nix/path.fix new file mode 100644 index 00000000000..b3348cb0f35 --- /dev/null +++ b/pkgs/stdenv/nix/path.fix @@ -0,0 +1,16 @@ +{pkgs}: [ + pkgs.coreutils + pkgs.findutils + pkgs.diffutils + pkgs.gnused + pkgs.gnugrep + pkgs.gawk + pkgs.gnutar + pkgs.gzip + pkgs.bzip2 + pkgs.wget + pkgs.binutils + pkgs.gnumake + pkgs.gcc + pkgs.bash +] diff --git a/pkgs/stdenv/nix/posthook.sh b/pkgs/stdenv/nix/posthook.sh new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkgs/stdenv/nix/prehook.sh b/pkgs/stdenv/nix/prehook.sh new file mode 100644 index 00000000000..e6052113f16 --- /dev/null +++ b/pkgs/stdenv/nix/prehook.sh @@ -0,0 +1,7 @@ +export SHELL=$param1 + +echo "SHELL = $SHELL" + +export NIX_CC=$param2/bin/gcc +export NIX_CXX=$param2/bin/g++ +export NIX_LD=$param3/bin/ld diff --git a/pkgs/system/all-packages-generic.fix b/pkgs/system/all-packages-generic.fix new file mode 100644 index 00000000000..d469af8c678 --- /dev/null +++ b/pkgs/system/all-packages-generic.fix @@ -0,0 +1,401 @@ +# This file evaluates to a function that, when supplied with a system +# identifier and a standard build environment, returns the set of all +# packages provided by the Nix Package Collection. + +{system, stdenv}: rec { + + ### BUILD SUPPORT + + fetchurl = (import ../build-support/fetchurl) { + stdenv = stdenv; + }; + + + ### TOOLS + + coreutils = (import ../tools/misc/coreutils) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + findutils = (import ../tools/misc/findutils) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + diffutils = (import ../tools/text/diffutils) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gnused = (import ../tools/text/gnused) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gnugrep = (import ../tools/text/gnugrep) { + fetchurl = fetchurl; + stdenv = stdenv; + pcre = pcre; + }; + + gawk = (import ../tools/text/gawk) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + ed = (import ../tools/text/ed) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gnutar = (import ../tools/archivers/gnutar) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + zip = (import ../tools/archivers/zip) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gzip = (import ../tools/compression/gzip) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + bzip2 = (import ../tools/compression/bzip2) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + wget = (import ../tools/networking/wget) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + + ### SHELLS + + bash = (import ../shells/bash) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + + ### DEVELOPMENT + + binutils = (import ../development/tools/misc/binutils) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gnum4 = (import ../development/tools/misc/gnum4) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + pkgconfig = (import ../development/tools/misc/pkgconfig) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gnumake = (import ../development/tools/build-managers/gnumake) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + bison = (import ../development/tools/parsing/bison) { + fetchurl = fetchurl; + stdenv = stdenv; + m4 = gnum4; + }; + + flex = (import ../development/tools/parsing/flex) { + fetchurl = fetchurl; + stdenv = stdenv; + yacc = bison; + }; + + gcc = (import ../development/compilers/gcc) { + fetchurl = fetchurl; + stdenv = stdenv; + binutils = binutils; + }; + + perl = (import ../development/interpreters/perl) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + pcre = (import ../development/libraries/pcre) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + glibc = (import ../development/libraries/glibc) { + fetchurl = fetchurl; + stdenv = stdenv; + kernelHeaders = kernelHeaders; + }; + + aterm = (import ../development/libraries/aterm) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + expat = (import ../development/libraries/expat) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + libxml2 = (import ../development/libraries/libxml2) { + fetchurl = fetchurl; + stdenv = stdenv; + zlib = zlib; + }; + + gettext = (import ../development/libraries/gettext) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + db4 = (import ../development/libraries/db4) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + openssl = (import ../development/libraries/openssl) { + fetchurl = fetchurl; + stdenv = stdenv; + perl = perl; + }; + + freetype = (import ../development/libraries/freetype) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + fontconfig = (import ../development/libraries/fontconfig) { + fetchurl = fetchurl; + stdenv = stdenv; + x11 = xfree86; + freetype = freetype; + expat = expat; + ed = ed; + }; + + xft = (import ../development/libraries/xft) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = xfree86; + fontconfig = fontconfig; + }; + + zlib = (import ../development/libraries/zlib) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + libjpeg = (import ../development/libraries/libjpeg) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + libtiff = (import ../development/libraries/libtiff) { + fetchurl = fetchurl; + stdenv = stdenv; + zlib = zlib; + libjpeg = libjpeg; + }; + + libpng = (import ../development/libraries/libpng) { + fetchurl = fetchurl; + stdenv = stdenv; + zlib = zlib; + }; + + glib = (import ../development/libraries/gtk+/glib) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + gettext = gettext; + perl = perl; + }; + + atk = (import ../development/libraries/gtk+/atk) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; + perl = perl; + }; + + pango = (import ../development/libraries/gtk+/pango) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = xfree86; + glib = glib; + xft = xft; + }; + + gtk = (import ../development/libraries/gtk+/gtk+) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + x11 = xfree86; + glib = glib; + atk = atk; + pango = pango; + perl = perl; + libtiff = libtiff; + libjpeg = libjpeg; + libpng = libpng; + }; + + glib1 = (import ../development/libraries/gtk+-1/glib) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + gtk1 = (import ../development/libraries/gtk+-1/gtk+) { + fetchurl = fetchurl; + stdenv = stdenv; + x11 = xfree86; + glib = glib1; + }; + + gdkpixbuf = (import ../development/libraries/gtk+-1/gdk-pixbuf) { + fetchurl = fetchurl; + stdenv = stdenv; + gtk = gtk1; + libtiff = libtiff; + libjpeg = libjpeg; + libpng = libpng; + }; + + gnet = (import ../development/libraries/gnet) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; + }; + + libIDL = (import ../development/libraries/libIDL) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + glib = glib; + lex = flex; + yacc = bison; + }; + + + ### SERVERS + + apacheHttpd = (import ../servers/http/apache-httpd) { + fetchurl = fetchurl; + stdenv = stdenv; + sslSupport = true; + db4Support = true; + perl = perl; + openssl = openssl; + db4 = db4; + expat = expat; + }; + + xfree86 = (import ../servers/x11/xfree86) { + buildServer = false; + buildClientLibs = true; + fetchurl = fetchurl; + stdenv = stdenv; + flex = flex; + bison = bison; + }; + + + ### OS-SPECIFIC + + kernelHeaders = (import ../os-specific/linux/kernel-headers) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + alsaLib = (import ../os-specific/linux/alsa/library) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + + + ### APPLICATIONS + + subversion = (import ../applications/version-management/subversion) { + localServer = true; + httpServer = false; + sslSupport = true; + swigBindings = false; + fetchurl = fetchurl; + stdenv = stdenv; + openssl = openssl; + httpd = apacheHttpd; + db4 = db4; + expat = expat; + }; + + pan = (import ../applications/networking/newsreaders/pan) { + spellChecking = false; + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + gnet = gnet; + libxml2 = libxml2; + perl = perl; + }; + + sylpheed = (import ../applications/networking/mailreaders/sylpheed) { + sslSupport = true; + imageSupport = true; + fetchurl = fetchurl; + stdenv = stdenv; + gtk = gtk1; + openssl = openssl; + gdkpixbuf = gdkpixbuf; + }; + + firebird = (import ../applications/networking/browsers/firebird) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + perl = perl; + zip = zip; + libIDL = libIDL; + }; + + MPlayer = (import ../applications/video/MPlayer) { + alsaSupport = true; + fetchurl = fetchurl; + stdenv = stdenv; + x11 = xfree86; + freetype = freetype; + alsa = alsaLib; + }; + + MPlayerPlugin = (import ../applications/video/mplayerplug-in) { + fetchurl = fetchurl; + stdenv = stdenv; + x11 = xfree86; + }; + + gqview = (import ../applications/graphics/gqview) { + fetchurl = fetchurl; + stdenv = stdenv; + pkgconfig = pkgconfig; + gtk = gtk; + libpng = libpng; + }; + +} diff --git a/pkgs/system/all-packages.fix b/pkgs/system/all-packages.fix new file mode 100644 index 00000000000..d0228c3da1e --- /dev/null +++ b/pkgs/system/all-packages.fix @@ -0,0 +1,50 @@ +# This file evaluates to a function that, when supplied with a system +# identifier, returns the set of all packages provided by the Nix +# Package Collection. It does this by supplying +# `all-packages-generic.fix' with a standard build environment. +# +# On Linux systems, the standard build environment consists of +# Nix-built instances glibc and the `standard' Unix tools, i.e., the +# Posix utilities, the GNU C compiler, and so on. On other systems, +# we use the native C library. + +{system}: let { + allPackages = import ./all-packages-generic.fix; + + # The native (i.e., impure) build environment. This one uses the + # tools installed on the system outside of the Nix environment, + # i.e., the stuff in /bin, /usr/bin, etc. This environment should + # be used with care, since many Nix packages will not build properly + # with it (e.g., because they require GNU Make). + stdenvNative = (import ../stdenv/native) {system = system}; + stdenvNativePkgs = allPackages {system = system; stdenv = stdenvNative}; + + # The Nix build environment. + stdenvNix = (import ../stdenv/nix) { + bootStdenv = stdenvNative; + pkgs = stdenvNativePkgs; + }; + stdenvNixPkgs = allPackages {system = system; stdenv = stdenvNix}; + + # The Linux build environment consists of the Nix build environment + # built against the GNU C Library. + stdenvLinuxGlibc = stdenvNativePkgs.glibc; + stdenvLinuxBoot = (import ../stdenv/nix-linux/boot.fix) { + system = system; + glibc = stdenvLinuxGlibc; + }; + stdenvLinuxBootPkgs = allPackages {system = system; stdenv = stdenvLinuxBoot}; + + stdenvLinux = (import ../stdenv/nix-linux) { + bootStdenv = stdenvLinuxBoot; + pkgs = stdenvLinuxBootPkgs; + glibc = stdenvLinuxGlibc; + }; + stdenvLinuxPkgs = allPackages {system = system; stdenv = stdenvLinux}; + + # Select the right instantiation. + body = + if system == "i686-suse-linux" + then stdenvLinuxPkgs + else stdenvNixPkgs; +} diff --git a/pkgs/system/i686-suse-linux.fix b/pkgs/system/i686-suse-linux.fix new file mode 100644 index 00000000000..bb512827799 --- /dev/null +++ b/pkgs/system/i686-suse-linux.fix @@ -0,0 +1 @@ +(import ./user-environment.fix) {system = "i686-suse-linux"} diff --git a/pkgs/system/populate-linkdirs.pl b/pkgs/system/populate-linkdirs.pl new file mode 100755 index 00000000000..a0585a7d97c --- /dev/null +++ b/pkgs/system/populate-linkdirs.pl @@ -0,0 +1,65 @@ +#! /usr/bin/perl -w + +use strict; +use Cwd; + +my $selfdir = $ENV{"out"}; +mkdir "$selfdir", 0755 || die "error creating $selfdir"; + +# For each activated package, create symlinks. + +sub createLinks { + my $srcdir = shift; + my $dstdir = shift; + + my @srcfiles = glob("$srcdir/*"); + + foreach my $srcfile (@srcfiles) { + my $basename = $srcfile; + $basename =~ s/^.*\///g; # strip directory + my $dstfile = "$dstdir/$basename"; + if ($srcfile =~ /\/envpkgs$/) { + } elsif (-d $srcfile) { + # !!! hack for resolving name clashes + if (!-e $dstfile) { + mkdir $dstfile, 0755 || + die "error creating directory $dstfile"; + } + -d $dstfile or die "$dstfile is not a directory"; + createLinks($srcfile, $dstfile); + } elsif (-l $dstfile) { + my $target = readlink($dstfile); + die "collission between $srcfile and $target"; + } else { +# print "linking $dstfile to $srcfile\n"; + symlink($srcfile, $dstfile) || + die "error creating link $dstfile"; + } + } +} + +my %done; + +sub addPkg { + my $pkgdir = shift; + + return if (defined $done{$pkgdir}); + $done{$pkgdir} = 1; + + print "merging $pkgdir\n"; + + createLinks("$pkgdir", "$selfdir"); + +# if (-f "$pkgdir/envpkgs") { +# my $envpkgs = `cat $pkgdir/envpkgs`; +# chomp $envpkgs; +# my @envpkgs = split / +/, $envpkgs; +# foreach my $envpkg (@envpkgs) { +# addPkg($envpkg); +# } +# } +} + +foreach my $pkgdir (split ' ', $ENV{"dirs"}) { + addPkg($pkgdir); +} diff --git a/pkgs/system/user-environment.fix b/pkgs/system/user-environment.fix new file mode 100644 index 00000000000..98268c4d76d --- /dev/null +++ b/pkgs/system/user-environment.fix @@ -0,0 +1,30 @@ +# Given a system identifier, this function returns a derivation of a +# user environment, i.e., a set of symbolic links to `activated' +# packages. The resulting package is typically passed to the +# `nix-switch' command in order to actually activate it. + +{system}: let { + # All activated packages. + pkgs = (import ./all-packages.fix) {system = system}; + + # The packages selection for inclusion in the user environment. + # This list should be generated automatically by a package + # management user interface. + selectedPkgs = [ + pkgs.subversion + pkgs.pan + pkgs.sylpheed + pkgs.firebird + pkgs.MPlayer + pkgs.MPlayerPlugin + pkgs.gqview + ]; + + # Create a user environment. + body = derivation { + name = "user-environment"; + system = system; + builder = ./populate-linkdirs.pl; + dirs = selectedPkgs; + }; +} diff --git a/pkgs/tools/archivers/gnutar/builder.sh b/pkgs/tools/archivers/gnutar/builder.sh new file mode 100755 index 00000000000..f79d158b86a --- /dev/null +++ b/pkgs/tools/archivers/gnutar/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd tar-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/archivers/gnutar/default.fix b/pkgs/tools/archivers/gnutar/default.fix new file mode 100644 index 00000000000..b7c18e872ad --- /dev/null +++ b/pkgs/tools/archivers/gnutar/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gnutar-1.13.25"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://alpha.gnu.org/gnu/tar/tar-1.13.25.tar.gz; + md5 = "6ef8c906e81eee441f8335652670ac4a"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/archivers/zip/builder.sh b/pkgs/tools/archivers/zip/builder.sh new file mode 100755 index 00000000000..b68fdfe32b8 --- /dev/null +++ b/pkgs/tools/archivers/zip/builder.sh @@ -0,0 +1,8 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd zip-* || exit 1 +make -f unix/Makefile generic || exit 1 +make -f unix/Makefile prefix=$out install || exit 1 diff --git a/pkgs/tools/archivers/zip/default.fix b/pkgs/tools/archivers/zip/default.fix new file mode 100644 index 00000000000..7b4ea02fb40 --- /dev/null +++ b/pkgs/tools/archivers/zip/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "zip-2.3"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.info-zip.org/pub/infozip/src/zip23.tar.gz; + md5 = "5206a99541f3b0ab90f1baa167392c4f"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/compression/bzip2/builder.sh b/pkgs/tools/compression/bzip2/builder.sh new file mode 100755 index 00000000000..2fa113aa17a --- /dev/null +++ b/pkgs/tools/compression/bzip2/builder.sh @@ -0,0 +1,8 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd bzip2-* || exit 1 +make || exit 1 +make install PREFIX=$out || exit 1 diff --git a/pkgs/tools/compression/bzip2/default.fix b/pkgs/tools/compression/bzip2/default.fix new file mode 100644 index 00000000000..1684edd1659 --- /dev/null +++ b/pkgs/tools/compression/bzip2/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "bzip2-1.0.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz; + md5 = "ee76864958d568677f03db8afad92beb"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/compression/gzip/builder.sh b/pkgs/tools/compression/gzip/builder.sh new file mode 100755 index 00000000000..0254e252958 --- /dev/null +++ b/pkgs/tools/compression/gzip/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd gzip-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/compression/gzip/default.fix b/pkgs/tools/compression/gzip/default.fix new file mode 100644 index 00000000000..a5902361fe7 --- /dev/null +++ b/pkgs/tools/compression/gzip/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gzip-1.3.3"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = http://www.gzip.org/gzip-1.3.3.tar.gz; + md5 = "52eaf713673507d21f7abefee98ba662"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/misc/coreutils/builder.sh b/pkgs/tools/misc/coreutils/builder.sh new file mode 100755 index 00000000000..75308639108 --- /dev/null +++ b/pkgs/tools/misc/coreutils/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd coreutils-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/misc/coreutils/default.fix b/pkgs/tools/misc/coreutils/default.fix new file mode 100644 index 00000000000..d5a4b729556 --- /dev/null +++ b/pkgs/tools/misc/coreutils/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "coreutils-5.0"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/coreutils/coreutils-5.0.tar.bz2; + md5 = "94e5558ee2a65723d4840bfde2d323f0"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/misc/findutils/builder.sh b/pkgs/tools/misc/findutils/builder.sh new file mode 100755 index 00000000000..f61ec740c1b --- /dev/null +++ b/pkgs/tools/misc/findutils/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd findutils-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/misc/findutils/default.fix b/pkgs/tools/misc/findutils/default.fix new file mode 100644 index 00000000000..957aef5e0e4 --- /dev/null +++ b/pkgs/tools/misc/findutils/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "findutils-4.1.20"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://alpha.gnu.org/pub/gnu/findutils/findutils-4.1.20.tar.gz; + md5 = "e90ce7222daadeb8616b8db461e17cbc"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/networking/wget/builder.sh b/pkgs/tools/networking/wget/builder.sh new file mode 100755 index 00000000000..9523d7e9ca8 --- /dev/null +++ b/pkgs/tools/networking/wget/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd wget-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/networking/wget/default.fix b/pkgs/tools/networking/wget/default.fix new file mode 100644 index 00000000000..d0b7d01c1de --- /dev/null +++ b/pkgs/tools/networking/wget/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "wget-1.9"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/wget/wget-1.9.tar.gz; + md5 = "18ac093db70801b210152dd69b4ef08a"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/text/diffutils/builder.sh b/pkgs/tools/text/diffutils/builder.sh new file mode 100755 index 00000000000..408b75eb803 --- /dev/null +++ b/pkgs/tools/text/diffutils/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd diffutils-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/text/diffutils/default.fix b/pkgs/tools/text/diffutils/default.fix new file mode 100644 index 00000000000..bbf1990f713 --- /dev/null +++ b/pkgs/tools/text/diffutils/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "diffutils-2.8.1"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/diffutils/diffutils-2.8.1.tar.gz; + md5 = "71f9c5ae19b60608f6c7f162da86a428"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/text/ed/builder.sh b/pkgs/tools/text/ed/builder.sh new file mode 100755 index 00000000000..ba63de01c95 --- /dev/null +++ b/pkgs/tools/text/ed/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd ed-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/text/ed/default.fix b/pkgs/tools/text/ed/default.fix new file mode 100644 index 00000000000..1f79383e058 --- /dev/null +++ b/pkgs/tools/text/ed/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "ed-0.2"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.gnu.org/pub/gnu/ed/ed-0.2.tar.gz; + md5 = "ddd57463774cae9b50e70cd51221281b"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/text/gawk/builder.sh b/pkgs/tools/text/gawk/builder.sh new file mode 100755 index 00000000000..f1a951f1fd5 --- /dev/null +++ b/pkgs/tools/text/gawk/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd gawk-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/text/gawk/default.fix b/pkgs/tools/text/gawk/default.fix new file mode 100644 index 00000000000..85de9289dd0 --- /dev/null +++ b/pkgs/tools/text/gawk/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gawk-3.1.3"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/gawk/gawk-3.1.3.tar.bz2; + md5 = "a116eec17e7ba085febb74c7758823bd"; + }; + stdenv = stdenv; +} diff --git a/pkgs/tools/text/gnugrep/builder.sh b/pkgs/tools/text/gnugrep/builder.sh new file mode 100755 index 00000000000..3453b5b0cb8 --- /dev/null +++ b/pkgs/tools/text/gnugrep/builder.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +buildinputs="$pcre" +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +cd grep-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/text/gnugrep/default.fix b/pkgs/tools/text/gnugrep/default.fix new file mode 100644 index 00000000000..b526c81fa77 --- /dev/null +++ b/pkgs/tools/text/gnugrep/default.fix @@ -0,0 +1,11 @@ +{stdenv, fetchurl, pcre}: derivation { + name = "gnugrep-2.5.1"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/grep/grep-2.5.1.tar.bz2; + md5 = "ddd99e2d5d4f4611357e31e97f080cf2"; + }; + stdenv = stdenv; + pcre = pcre; +} diff --git a/pkgs/tools/text/gnused/builder.sh b/pkgs/tools/text/gnused/builder.sh new file mode 100755 index 00000000000..12663532792 --- /dev/null +++ b/pkgs/tools/text/gnused/builder.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfz $src || exit 1 +cd sed-* || exit 1 +./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 diff --git a/pkgs/tools/text/gnused/default.fix b/pkgs/tools/text/gnused/default.fix new file mode 100644 index 00000000000..a92b3996515 --- /dev/null +++ b/pkgs/tools/text/gnused/default.fix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: derivation { + name = "gnused-4.0.7"; + system = stdenv.system; + builder = ./builder.sh; + src = fetchurl { + url = ftp://ftp.nluug.nl/pub/gnu/sed/sed-4.0.7.tar.gz; + md5 = "005738e7f97bd77d95b6907156c8202a"; + }; + stdenv = stdenv; +} -- cgit 1.4.1