Commit graph

182222 commits

Author SHA1 Message Date
Eelco Dolstra
cbe3e13bde * Style fix.
svn path=/nixpkgs/trunk/; revision=846
2004-03-19 17:01:46 +00:00
Eelco Dolstra
5941f66f0e * The stdenv setup script now defines a generic builder that allows
builders for typical Autoconf-style to be much shorten, e.g.,

    . $stdenv/setup
    genericBuild

  The generic builder does lots of stuff automatically:

  - Unpacks source archives specified by $src or $srcs (it knows about
    gzip, bzip2, tar, zip, and unpacked source trees).
  - Determines the source tree.
  - Applies patches specified by $patches.
  - Fixes libtool not to search for libraries in /lib etc.
  - Runs `configure'.
  - Runs `make'.
  - Runs `make install'.
  - Strips debug information from static libraries.
  - Writes nested log information (in the format accepted by
    `log2xml').

  There are also lots of hooks and variables to customise the generic
  builder.  See `stdenv/generic/docs.txt'.

* Adapted the base packages (i.e., the ones used by stdenv) to use the
  generic builder.

* We now use `curl' instead of `wget' to download files in `fetchurl'.

* Neither `curl' nor `wget' are part of stdenv.  We shouldn't
  encourage people to download stuff in builders (impure!).

* Updated some packages.

* `buildinputs' is now `buildInputs' (but the old name also works).

* `findInputs' in the setup script now prevents inputs from being
  processed multiple times (which could happen, e.g., if an input was
  a propagated input of several other inputs; this caused the size
  variables like $PATH to blow up exponentially in the worst case).

* Patched GNU Make to write nested log information in the format
  accepted by `log2xml'.  Also, prior to writing the build command,
  Make now writes a line `building X' to indicate what is being
  built.  This is unfortunately often obscured by the gigantic tool
  invocations in many Makefiles.  The actual build commands are marked
  `unimportant' so that they don't clutter pages generated by
  `log2html'.


svn path=/nixpkgs/trunk/; revision=845
2004-03-19 16:53:04 +00:00
Eelco Dolstra
0fd59fd7a4 * Re-enabled purity checking: it should work now. First we only
checked whether absolute paths passed to gcc/ld refer to the store,
  which is wrong: they can also refer to the build tree
  (/tmp/nix-...).

* Less static composition in the construction of stdenv-nix-linux:
  gcc-wrapper and generic are now passed in as arguments, rather then
  referenced by relative path.  This makes it easier to hack on a
  specific stage of the bootstrap process (before, a change to, e.g.,
  generic/setup.sh would cause all bootstrap stages to be redone).

svn path=/nixpkgs/trunk/; revision=833
2004-03-12 11:12:18 +00:00
Eelco Dolstra
de13527000 * Finally got stdenv-nix-linux working again. Still not perfect,
though.
* libxml2: upgrade to latest.
* octavefront/rna: keep debug info.

svn path=/nixpkgs/trunk/; revision=830
2004-03-11 17:26:14 +00:00
Eelco Dolstra
a1b3ae0c81 * stdenv-nix-linux should more-or-less work again now.
svn path=/nixpkgs/trunk/; revision=826
2004-03-09 17:16:02 +00:00
Eelco Dolstra
ab73ec398b * Removed the old gcc.
svn path=/nixpkgs/trunk/; revision=825
2004-03-09 17:10:23 +00:00
Eelco Dolstra
b8b4f9ce4b * Reject inputs outside of the store in ld if NIX_ENFORCE_PURITY is
set.
* Various bug fixes.

svn path=/nixpkgs/trunk/; revision=824
2004-03-09 17:08:41 +00:00
Eelco Dolstra
d74192ee38 * propagated-build-inputs should now be placed in $out/nix-support.
svn path=/nixpkgs/trunk/; revision=823
2004-03-09 10:59:55 +00:00
Eelco Dolstra
c8455be838 * Use a setup hook to set PKG_CONFIG_PATH.
svn path=/nixpkgs/trunk/; revision=822
2004-03-09 10:45:01 +00:00
Eelco Dolstra
5c5db47443 * Set a flag to indicate whether we're doing a native build.
svn path=/nixpkgs/trunk/; revision=821
2004-03-09 10:36:45 +00:00
Eelco Dolstra
e8d2b1cc36 * Allow Perl to be built using the native stdenv.
svn path=/nixpkgs/trunk/; revision=820
2004-03-09 10:29:30 +00:00
Eelco Dolstra
1b39a96d37 * Create a dummy linux/autoconf.h, which is needed by linux/config.h.
* Updated to 2.4.25.

svn path=/nixpkgs/trunk/; revision=819
2004-03-09 10:28:31 +00:00
Eelco Dolstra
70d26112f2 * Set the TZ variable to UTC to prevent silly errors in date strings.
* Bug fix in PATH initialisation.

svn path=/nixpkgs/trunk/; revision=818
2004-03-09 10:27:42 +00:00
Eelco Dolstra
946a2d4a48 * gcc-wrapper now filters out -L and -I flags referring to paths
outside the store (in pure builds).

svn path=/nixpkgs/trunk/; revision=817
2004-03-08 18:29:08 +00:00
Eelco Dolstra
ce50734cf0 * Started reorganising stdenv:
- gcc/ld-wrappers have been factored out into a separate
    derivation.  This allows a working gcc to be installed in the user
    environment.  (Previously the Nix gcc didn't work because it
    needed a whole bunch of flags to point to glibc.)
    
  - Better modularity: packages can specify hooks into the setup
    scripts.  For instance, setup no longer knows about the
    PKG_CONFIG_PATH variable; pkgconfig can set it up instead.

  - gcc not longer depends on binutils.  This simplifies the bootstrap
    process.

svn path=/nixpkgs/trunk/; revision=816
2004-03-08 16:02:46 +00:00
Eelco Dolstra
1b8e9faf08 * Add octavefront to the cache.
svn path=/nixpkgs/trunk/; revision=815
2004-03-08 09:22:09 +00:00
Eelco Dolstra
287edecf42 * Added gperf, texinfo, ncurses.
* Started moving the gcc wrapper stuff out of stdenv.
* Added octavefront and rna.

svn path=/nixpkgs/trunk/; revision=814
2004-03-05 10:13:23 +00:00
Eelco Dolstra
f82050134e * Perl nixification fixes. Oh, the humanity.
svn path=/nixpkgs/trunk/; revision=813
2004-02-20 16:25:34 +00:00
Eelco Dolstra
1999676d30 * Bug fix: don't pass -B to the linker.
svn path=/nixpkgs/trunk/; revision=811
2004-02-20 10:03:46 +00:00
Eelco Dolstra
b7ad383924 * Bah. All this time gcc was linking programs against
/usr/lib/crt1.o, while it should be using $glibc/lib/crt1.o.  This
  quick hack (prepending $glibc/lib to the GCC search path using "-B")
  fixes the problem, but a better solution to prevent this sort of
  thing is to remove these static paths from gcc.

  Note: this problem was found using the pure UML Nix environment
  (where we don't have /usr/lib).

svn path=/nixpkgs/trunk/; revision=810
2004-02-19 16:55:23 +00:00
Eelco Dolstra
16c0047575 * Use a 2-stage bootstrap for creating the standard build environment
(stdenv) on Linux.  The previous 1-stage bootstrap was insufficient,
  because the tools in stdenv where built by native tools.  For
  instance, the Nix bash had a reference to /lib/libncurses.  This
  doesn't happen with a 2-stage bootstrap, since the bash built in
  stage 2 will be built with the gcc built in stage 1, which doesn't
  search in the "standard" locations.

  Motto: "Disparaging the boot is a bootable offense."

svn path=/nixpkgs/trunk/; revision=809
2004-02-19 16:33:10 +00:00
Eelco Dolstra
08dbd48e8d * Newer version.
svn path=/nixpkgs/trunk/; revision=808
2004-02-19 16:24:43 +00:00
Eelco Dolstra
91a5fe9eb0 * Networking now works in the UML machine. Masquerading for the tun
device should be enabled on the host in order for the UML machine to
  be able to talk to the Internet.

svn path=/nixu/trunk/; revision=806
2004-02-19 12:49:00 +00:00
Eelco Dolstra
e5fd37f35d * Added net-tools (for ifconfig, route, hostname).
svn path=/nixpkgs/trunk/; revision=805
2004-02-19 12:46:35 +00:00
Eelco Dolstra
cd0e06b9ef * Added the UML utilities (in particular for tunctl). mconsole is
not built since it requires readline, which we don't have right now.

svn path=/nixpkgs/trunk/; revision=804
2004-02-18 16:22:31 +00:00
Eelco Dolstra
3514c5658b * Proper sysvinit boot/halt. At runlevel 2, creates login shells at
virtual consoles 0 and 1.  To shutdown, do `init 0' (`halt' and
  `shutdown' don't work because they call /sbin/init).

svn path=/nixu/trunk/; revision=803
2004-02-18 14:56:32 +00:00
Eelco Dolstra
008ef42267 * init -> boot, to prevent confusion.
svn path=/nixu/trunk/; revision=802
2004-02-18 14:12:49 +00:00
Eelco Dolstra
1e87e75d07 * Use sysvinit's init to start the system. This has the happy
side-effect of initialising the console properly (i.e., enabling
  Ctrl-[C, Z]).

svn path=/nixu/trunk/; revision=801
2004-02-18 10:56:07 +00:00
Eelco Dolstra
428f8b4ca3 * Upgraded vlc to 0.7.0.
svn path=/nixpkgs/trunk/; revision=800
2004-02-18 08:17:48 +00:00
Eelco Dolstra
73c7b4a111 * Pass parameters correctly.
svn path=/nixpkgs/trunk/; revision=799
2004-02-18 08:17:12 +00:00
Eelco Dolstra
b79b18dfb7 * Add bittorrent to the cache.
svn path=/nixpkgs/trunk/; revision=798
2004-02-17 20:08:01 +00:00
Eelco Dolstra
90e75450a4 * Added BitTorrent.
svn path=/nixpkgs/trunk/; revision=797
2004-02-17 20:03:12 +00:00
Eelco Dolstra
56712d5032 * Export a variation point `zlibSupport'.
svn path=/nixpkgs/trunk/; revision=796
2004-02-17 20:02:31 +00:00
Eelco Dolstra
9261c1eaa5 * Added wxPython.
svn path=/nixpkgs/trunk/; revision=795
2004-02-17 19:19:26 +00:00
Eelco Dolstra
057ad6798c * Export a variation point `compat22' to specify compatibility with
wxWindows 2.2.

svn path=/nixpkgs/trunk/; revision=794
2004-02-17 19:18:46 +00:00
Eelco Dolstra
5eea59c2cd * Use separate Berkeley DB and ATerm.
svn path=/nixpkgs/trunk/; revision=793
2004-02-16 16:54:01 +00:00
Eelco Dolstra
d113da8bab * Added a Nix expression for Nix.
svn path=/nixpkgs/trunk/; revision=790
2004-02-16 15:40:55 +00:00
Eelco Dolstra
e535bc8ad0 * Added e2fsprogs (for e2fsck).
svn path=/nixpkgs/trunk/; revision=788
2004-02-16 14:31:52 +00:00
Eelco Dolstra
500a06b8a9 * Added sysvinit (mostly because it provides a decent `halt'
command).

svn path=/nixpkgs/trunk/; revision=787
2004-02-16 14:09:55 +00:00
Eelco Dolstra
a33753a973 * Added util-linux (for mount etc.).
svn path=/nixpkgs/trunk/; revision=786
2004-02-16 10:40:45 +00:00
Eelco Dolstra
1f7a8c8ae9 * Started setting up a proper init environment.
svn path=/nixu/trunk/; revision=785
2004-02-16 09:41:00 +00:00
Eelco Dolstra
e019265ec9 * Scripts to set up and run the absolute minimal pure Nix
environment; that is, an operating system environment in which there
  is (essentially) only a store.

  The script `make-disk.sh' creates an ext2 disk image, creates a Nix
  store in it, and copies the closure of the bash package (from
  nixpkgs) to it.  The script `run.sh' then starts bash in a UML
  virtual machine.

  The contents of the image after creation look like this:

  $ ls -l
  drwxr-xr-x    2 root     root         1024 2004-02-14 19:13 dev
  lrwxrwxrwx    1 root     root           61 2004-02-14 23:34 init -> /nix/store/e40873ece7a010752ad72b4262b23d28-bash-2.05b/bin/sh
  drwx------    2 root     root        12288 2004-02-14 19:13 lost+found
  drwxr-xr-x    4 root     root         1024 2004-02-14 19:13 nix
  drwxr-xr-x    2 root     root         1024 2004-02-14 19:13 proc
  drwxrwxrwt    2 root     root         1024 2004-02-14 19:13 tmp

  The next step is to add all the other stuff that goes into a working
  system (coreutils, etc.).  BTW, if you don't have `ls' you can still
  list directories by doing `echo *' :-)

  Nix itself should also be Nixified so that it can be put into the
  store.

svn path=/nixu/trunk/; revision=783
2004-02-14 22:56:51 +00:00
Eelco Dolstra
d6a58594d2 * User-Mode Linux and GNU Patch.
svn path=/nixpkgs/trunk/; revision=779
2004-02-13 14:42:28 +00:00
Eelco Dolstra
191a465665 * Added GHC and Helium. Note that GHC is built using a pre-built GHC
for Linux/x86, which is not pure and doesn't work on other
  platforms!

svn path=/nixpkgs/trunk/; revision=776
2004-02-12 13:18:24 +00:00
Eelco Dolstra
73049cea22 * Ugh.
svn path=/nixpkgs/trunk/; revision=774
2004-02-10 18:32:42 +00:00
Eelco Dolstra
ecbf66674f * Override packages in stdenvLinux with those already built in earlier
stages of the bootstrap process (i.e., stdenvLinuxBoot).
* Add those packages to the distribution.  We didn't do that before
  because it would cause them to be built twice.

svn path=/nixpkgs/trunk/; revision=753
2004-02-04 17:25:51 +00:00
Martin Bravenboer
103d1b2c83 Added version 2.6.5 of libxml2
svn path=/nixpkgs/trunk/; revision=750
2004-02-04 16:36:22 +00:00
Eelco Dolstra
9a4afa3f94 * Fix undefined variables.
svn path=/nixpkgs/trunk/; revision=744
2004-02-03 14:44:48 +00:00
Eelco Dolstra
9d9c76529f * Use the `inherit' syntax.
svn path=/nixpkgs/trunk/; revision=740
2004-02-02 21:40:18 +00:00
Eelco Dolstra
3f6bf521fc * Flex required M4 at runtime.
svn path=/nixpkgs/trunk/; revision=734
2004-01-30 17:23:34 +00:00