diff --git a/pkgs-ng/development/tools/misc/gnum4/builder.sh b/pkgs-ng/development/tools/misc/gnum4/builder.sh new file mode 100755 index 000000000000..03f201582bb7 --- /dev/null +++ b/pkgs-ng/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-ng/development/tools/misc/gnum4/default.fix b/pkgs-ng/development/tools/misc/gnum4/default.fix new file mode 100644 index 000000000000..25d095d387a0 --- /dev/null +++ b/pkgs-ng/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-ng/development/tools/parsing/bison/builder.sh b/pkgs-ng/development/tools/parsing/bison/builder.sh new file mode 100755 index 000000000000..c112a067c7b9 --- /dev/null +++ b/pkgs-ng/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-ng/development/tools/parsing/bison/default.fix b/pkgs-ng/development/tools/parsing/bison/default.fix new file mode 100644 index 000000000000..fc8941b76f34 --- /dev/null +++ b/pkgs-ng/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-ng/development/tools/parsing/flex/builder.sh b/pkgs-ng/development/tools/parsing/flex/builder.sh new file mode 100755 index 000000000000..4c0975805508 --- /dev/null +++ b/pkgs-ng/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-ng/development/tools/parsing/flex/default.fix b/pkgs-ng/development/tools/parsing/flex/default.fix new file mode 100644 index 000000000000..605c29db2d22 --- /dev/null +++ b/pkgs-ng/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-ng/servers/x11/xfree86/builder.sh b/pkgs-ng/servers/x11/xfree86/builder.sh new file mode 100755 index 000000000000..4717f42e0f6f --- /dev/null +++ b/pkgs-ng/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-ng/servers/x11/xfree86/default.fix b/pkgs-ng/servers/x11/xfree86/default.fix new file mode 100644 index 000000000000..c02ffcb84289 --- /dev/null +++ b/pkgs-ng/servers/x11/xfree86/default.fix @@ -0,0 +1,31 @@ +{ 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"; + }; + + stdenv = stdenv; + bison = bison; + flex = flex; +} diff --git a/pkgs-ng/servers/x11/xfree86/host.def b/pkgs-ng/servers/x11/xfree86/host.def new file mode 100644 index 000000000000..0085f9dab259 --- /dev/null +++ b/pkgs-ng/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-ng/system/all-packages-generic.fix b/pkgs-ng/system/all-packages-generic.fix index ff3eb263d324..8aa98651ae3e 100644 --- a/pkgs-ng/system/all-packages-generic.fix +++ b/pkgs-ng/system/all-packages-generic.fix @@ -85,6 +85,23 @@ stdenv = stdenv; }; + gnum4 = (import ../development/tools/misc/gnum4) { + 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; @@ -142,6 +159,15 @@ expat = expat; }; + xfree86 = (import ../servers/x11/xfree86) { + buildServer = false; + buildClientLibs = true; + fetchurl = fetchurl; + stdenv = stdenv; + flex = flex; + bison = bison; + }; + ### OS-SPECIFIC diff --git a/pkgs-ng/system/user-environment.fix b/pkgs-ng/system/user-environment.fix index df4ff8b4f79e..735318f94065 100644 --- a/pkgs-ng/system/user-environment.fix +++ b/pkgs-ng/system/user-environment.fix @@ -13,6 +13,7 @@ selectedPkgs = [ pkgs.aterm pkgs.subversion + pkgs.xfree86 ]; # Create a user environment.