Commit Graph

4103 Commits

Author SHA1 Message Date
Eelco Dolstra
50321b735b * Basic transparent mirror support in fetchurl (NIXPKGS-70). When
fetching a file with hash HASH of type TYPE, we first try to
  download <base-url>/<type>/<hash>, where <base-url> is one of a list
  of mirrors.  For instance, given

    src = fetchurl {
      url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.6/source/firefox-2.0.0.6-source.tar.bz2;
      sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
    };

  and the mirror list [http://nix.cs.uu.nl/dist/tarballs], we first
  try to download

    eb72f55e4a

  and if that fails, we use the original URL.

  The list of mirrors is not yet user-configurable.

* `fetchurl' now also accepts an argument `urls' instead of `url' for
  a list of alternative download locations, which fetchurl will try in
  sequence.

svn path=/nixpkgs/trunk/; revision=9190
2007-08-23 15:22:30 +00:00
Eelco Dolstra
fffe4c7900 * /var/state -> /var/run.
svn path=/nixpkgs/trunk/; revision=8851
2007-06-09 19:46:27 +00:00
Eelco Dolstra
13567556bf * Give the real GCC a lower priority than the GCC wrapper so that both
can be installed in a user environment without conflict.  This is
  useful if you need gcov (which isn't symlinked in the GCC wrapper).

svn path=/nixpkgs/trunk/; revision=8809
2007-05-31 13:00:49 +00:00
Wouter den Breejen
5200276c3b nixpkgs dir: nvidia and libsrvg
svn path=/nixpkgs/trunk/; revision=8785
2007-05-28 14:10:46 +00:00
Eelco Dolstra
37aa92faec * Merge gcc-wrapper-new.
svn path=/nixpkgs/trunk/; revision=8758
2007-05-24 15:35:14 +00:00
Eelco Dolstra
d3b29d16a0 * wrapGCC: pass the right purity options for the platform.
svn path=/nixpkgs/trunk/; revision=8710
2007-05-16 15:15:46 +00:00
Eelco Dolstra
0a05618f11 * Fix weird behaviour with "gcc -v" due to linker flags being appended
to the gcc invocation.

  If we pass a flag like -Wl, then gcc will call the linker unless it
  can figure out that it has to do something else (e.g., because of a
  "-c" flag).  So if no non-flag arguments are given, don't pass any
  linker flags.  This catches cases like "gcc" (should just print
  "gcc: no input files") and "gcc -v" (should print the version).

svn path=/nixpkgs/trunk/; revision=8644
2007-05-02 14:59:40 +00:00
Eelco Dolstra
69b62bf2d6 * Process packages in the specified order (i.e., don't sort).
svn path=/nixpkgs/trunk/; revision=8166
2007-03-04 01:20:07 +00:00
Eelco Dolstra
2d33b25877 * fetchurl: accept an optional name. Useful for file names that contain
unacceptable characters (such as ? on Windows).

svn path=/nixpkgs/trunk/; revision=8149
2007-03-02 19:07:36 +00:00
Eelco Dolstra
213aefac17 * Look for the current OpenGL driver in /var/state/opengl-driver.
svn path=/nixpkgs/trunk/; revision=8068
2007-02-27 00:49:47 +00:00
Eelco Dolstra
7a79d1ff6a * Remove references to substitute.sh.
svn path=/nixpkgs/trunk/; revision=7499
2006-12-27 18:17:53 +00:00
Eelco Dolstra
138c0ae751 * Merge the new generic builder.
* Removed substitute, it's part of the generic builder now.
* stdenv-initial (Linux): use the real generic builder script.  This
  does require that sed is in the path of the builder of the initial
  stdenv.

svn path=/nixpkgs/trunk/; revision=7498
2006-12-27 18:14:57 +00:00
Eelco Dolstra
f59f5d7d96 * Handle weird cases when the server redirects us while setting a
cookie.

svn path=/nixpkgs/trunk/; revision=7352
2006-12-15 21:28:59 +00:00
Eelco Dolstra
7dfbf0eba7 * Move the substitution functions into stdenv (not merged yet).
* If the environment variable buildCommand is set, then eval that
  instead of doing the build phases.  This is used by the runCommand
  function in all-packages.nix to allow one-lines like

    foo = runCommand "foo" {} "mkdir $out; echo foo > $out/foo";
    

svn path=/nixpkgs/trunk/; revision=7298
2006-12-10 22:24:42 +00:00
Eelco Dolstra
153d4e65a1 * Fork of build-env in the Nix distribution. This one supports
ignoring collisions and selectively including directories.

svn path=/nixpkgs/trunk/; revision=7160
2006-11-28 16:46:12 +00:00
Eelco Dolstra
36b1473e09 * Allow the result to be stored somewhere else than $out.
svn path=/nixpkgs/trunk/; revision=6978
2006-11-08 09:26:18 +00:00
Eelco Dolstra
609607768f * Turn the nukeRefs() function into a separate program.
svn path=/nixpkgs/trunk/; revision=6941
2006-11-03 13:33:24 +00:00
Eelco Dolstra
05c884b471 * Utility: the generic substituter. It substitutes all occurences of
`@var@' in the file `src', writing the result to $out, where `var'
  is any environment variable starting with a lowercase character.
  Example:

    genericSubstituter {
      src = ./file;
      foo = "bla";
      shell = bash + "/bin/sh";
    };

  will replace `@foo@' with `bla' and `@shell@' with
  `/nix/store/...-bash-.../bin/sh'.

svn path=/nixpkgs/trunk/; revision=6928
2006-11-02 22:44:32 +00:00
Eelco Dolstra
f95a93197a * Don't use EPSV.
svn path=/nixpkgs/trunk/; revision=6894
2006-10-28 22:07:25 +00:00
Eelco Dolstra
01fbf62a2c * nativeGlibc -> nativeLibc (gcc-cross-wrapper is probably broken
right now; should merge gcc-wrapper changes).

svn path=/nixpkgs/trunk/; revision=6876
2006-10-27 13:44:17 +00:00
Eelco Dolstra
ee2b63c872 * Argggggghhhh.
svn path=/nixpkgs/trunk/; revision=6872
2006-10-27 12:07:03 +00:00
Eelco Dolstra
29961dbb85 * Doh.
svn path=/nixpkgs/trunk/; revision=6866
2006-10-26 22:40:44 +00:00
Eelco Dolstra
c8cc992038 * Put a symlink to the assembler in the GCC wrapper. Otherwise, when
we use the GCC wrapper in a user environment, the wrong assembler
  will be called.  This is not usually a problem, but sometimes it is
  (e.g., when using G++ 4.1.1 with binutils 2.16 or so).

svn path=/nixpkgs/trunk/; revision=6862
2006-10-26 20:25:31 +00:00
Eelco Dolstra
fd2b826b17 * Add -B$gcc/lib64 when appropriate. This is so that configure
(calling gcc -print-search-dirs) builds a libtool that searches in
  lib64 for libstdc++.so.

svn path=/nixpkgs/trunk/; revision=6850
2006-10-25 16:32:13 +00:00
Eelco Dolstra
b342dcb13b * gcc-wrapper: separately store the flags necessary to find GCC and
Glibc.  This is useful when building GCC.
* gcc-wrapper: the dynamic linker has a different name on x86_64 and
  powerpc.
* gcc-wrapper: "glibc" -> "libc", because someday we might support
  different C libraries.
* gcc: don't do a multilib build (e.g., 32-bit support on x86_64),
  don't need it.
* gcc: merge in support for static builds.
* gcc: various simplifications in the compiler/linker flags, hope they
  work.

svn path=/nixpkgs/trunk/; revision=6823
2006-10-24 18:26:23 +00:00
Eelco Dolstra
361cf08c59 * Add $pkg/lib64 (if it exists) to the library search path in addition
to $pkg/lib.

svn path=/nixpkgs/trunk/; revision=6820
2006-10-24 13:50:21 +00:00
Eelco Dolstra
0a355c0073 * Don't pollute /tmp.
svn path=/nixpkgs/trunk/; revision=5769
2006-07-18 12:00:38 +00:00
Eelco Dolstra
f14988b362 * Show less garbage.
svn path=/nixpkgs/trunk/; revision=5761
2006-07-17 21:27:10 +00:00
Martin Bravenboer
7478e8ef87 Added ssh support to fetchsvn
svn path=/nixpkgs/trunk/; revision=5734
2006-07-17 15:22:20 +00:00
Eelco Dolstra
b3936b7062 * Add nmedit.
svn path=/nixpkgs/trunk/; revision=5713
2006-07-14 17:17:01 +00:00
Eelco Dolstra
471dc2c8bc * Probably need "nm" etc. as well.
svn path=/nixpkgs/trunk/; revision=5712
2006-07-14 17:11:39 +00:00
Eelco Dolstra
dd325103df * Better stdenv for Darwin: uses gcc, coreutils etc. built in Nix, but
external binutils (i.e., Apple's cctools in /usr/bin).

svn path=/nixpkgs/trunk/; revision=5706
2006-07-14 11:59:38 +00:00
Eelco Dolstra
f4ce796a20 * More hackery.
svn path=/nixpkgs/trunk/; revision=5351
2006-05-31 10:36:02 +00:00
Eelco Dolstra
bb93fa69fa * fetchurl: use standard proxy-related variables from the caller such
as `http_proxy'.

svn path=/nixpkgs/trunk/; revision=5347
2006-05-31 09:52:39 +00:00
Eelco Dolstra
046aeb12b0 * We no longer need the prefetch stuff.
svn path=/nixpkgs/trunk/; revision=5340
2006-05-30 12:43:45 +00:00
Eelco Dolstra
c4c224e368 * Make nix-prefetch-svn use nix-store --add-fixed (just like
nix-prefetch-url) 

svn path=/nixpkgs/trunk/; revision=5339
2006-05-30 12:42:00 +00:00
Roy van den Broek
9ece10787e Added fetchcvs.
svn path=/nixpkgs/trunk/; revision=5295
2006-05-11 12:36:16 +00:00
Eelco Dolstra
b8fd332dd8 * Do use readlink if available.
svn path=/nixpkgs/trunk/; revision=5252
2006-05-02 09:21:59 +00:00
Eelco Dolstra
fcbffab371 * system -> top-level.
svn path=/nixpkgs/trunk/; revision=5128
2006-03-30 09:14:50 +00:00
Eelco Dolstra
bb28c87406 * Filter out the meta attribute.
svn path=/nixpkgs/trunk/; revision=5091
2006-03-24 14:20:31 +00:00
Eelco Dolstra
09a9cae715 * Merged the usability branch (from trunk@4749 to branches/usability@5087).
svn path=/nixpkgs/trunk/; revision=5088
2006-03-24 12:25:19 +00:00
Eelco Dolstra
b92bd0f001 * Don't use i686-linux.nix.
svn path=/nixpkgs/trunk/; revision=5046
2006-03-15 21:35:18 +00:00
Eelco Dolstra
439e93640e * Removed readlink.
svn path=/nixpkgs/trunk/; revision=5040
2006-03-15 10:32:40 +00:00
Eelco Dolstra
baec8f5b38 * stdenv.mkDerivation now takes an optional attribute "meta" that
contains arbitrary information about a package, like this:

  meta = {
    homepage = "http://gcc.gnu.org/";
    license = "GPL/LGPL";
    description = "GNU Compiler Collection, 4.0.x";
  };

  The "meta" attribute is not passed to the actual derivation
  operation, so it's not a dependency --- changes to "meta" attributes
  don't trigger a recompilation.

  Now we have to standardise some useful attributes ;-)

svn path=/nixpkgs/branches/usability/; revision=5024
2006-03-10 16:12:46 +00:00
Armijn Hemel
bdf35869f6 make sure we can find things like mips-linux-ar, mips-linux-strip, and so on.
Even though you could just inherit binutils it is conceptually cleaner (I
think) to make these tools available here.

svn path=/nixpkgs/trunk/; revision=4967
2006-03-02 18:03:20 +00:00
Andres Löh
70c36821c6 * updated darcs to 1.0.5, added curl dependency
* added an experimental fetchdarcs function, based on fetchsvn
  (there are no expressions yet that use this function)

svn path=/nixpkgs/trunk/; revision=4615
2006-01-30 11:18:38 +00:00
Eelco Dolstra
410f21887a * A quick hack to get accelerated OpenGL working: just use the driver
in /usr/lib/libGL.so.1 (which will typically load a driver in
  /usr/X11R6/lib/modules/dri).  This has been tested on a i915
  graphics card; it should work with most open source X.org drivers.
  For NVidia's proprietary drivers (which we cannot build ourselves
  anyway), some more symlinks are necessary; I'll add those later.

  So to get hardware-accelerated Quake 3, do:

  $ nix-env -p /nix/var/nix/profiles/opengl -i xorg-sys-opengl
  $ nix-env -i quake3-demo
  $ quake3

svn path=/nixpkgs/trunk/; revision=4613
2006-01-28 01:13:31 +00:00
Eelco Dolstra
7f74c406c4 * In Quake 3, by default use Mesa as the OpenGL implementation. But
allow the OpenGL implementation to be overriden through the
  OPENGL_DRIVER environment variable.  If it is not set, we use the
  implementation installed in the profile
  /nix/var/nix/profiles/opengl, allowing easy late binding by the
  user, e.g.,

    $ nix-env -p /nix/var/nix/profiles/opengl -i nvidia-sys-opengl

  might install the NVidia OpenGL implementation.

  The code that does this is not specific to Quake 3: it has been
  factored out into build-support/opengl/mesa-switch.sh.  Presumably
  any application that requires hardware-accelerated OpenGL needs it.

* Add the Quake 3 demo to the cache.

svn path=/nixpkgs/trunk/; revision=4612
2006-01-28 00:41:16 +00:00
Eelco Dolstra
07687a8514 * Pipe the "p" character into Subversion to force it to accept the
server's certificate.  This is perfectly safe: we don't care whether
  the server is being spoofed --- only the cryptographic hash of the
  output matters.

svn path=/nixpkgs/trunk/; revision=4377
2005-12-15 17:21:20 +00:00
Eelco Dolstra
51c111cb2e * Use a restrictive umask to prevent permission problems.
svn path=/nixpkgs/trunk/; revision=4374
2005-12-15 17:00:56 +00:00
Eelco Dolstra
ded942b341 * Make sure that `gcc -v' (i.e., with no other arguments) does the
right thing.  This is necessary to make libtool detect g++
  properly.  (Fixes the `libtool: compile: unable to infer tagged
  configuration' error on FreeBSD when building Berkeley DB 4.4.)

svn path=/nixpkgs/trunk/; revision=4370
2005-12-15 13:37:36 +00:00
Eelco Dolstra
82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Armijn Hemel
508cd3a3e8 add a wrapper for cross compilers, which makes the correct link to the cross compiler. Only works for "gcc", haven't tried for g++ and the others
svn path=/nixpkgs/trunk/; revision=4317
2005-11-29 01:40:33 +00:00
Eelco Dolstra
6f8e9bc2f6 * Make the grep call optional.
svn path=/nixpkgs/trunk/; revision=3330
2005-07-13 09:07:54 +00:00
Eelco Dolstra
a85877edaf * r3317 was wrong: grep should be applied to gcc's stderr, not stdout.
svn path=/nixpkgs/trunk/; revision=3329
2005-07-13 08:45:57 +00:00
Eelco Dolstra
620d5b9d4a * Make gcc work properly again in nix-env installations (e.g., when
used outside of builders).

svn path=/nixpkgs/trunk/; revision=3317
2005-07-12 14:02:36 +00:00
Eelco Dolstra
b691c30aa7 * Remove FreeBSD gcc wrapper.
svn path=/nixpkgs/trunk/; revision=3187
2005-06-17 09:25:16 +00:00
Eelco Dolstra
9cc0ac9090 * Merge r3019.
svn path=/nixpkgs/trunk/; revision=3186
2005-06-17 09:23:15 +00:00
Eelco Dolstra
0217d8b204 * Add a simple standard environment for FreeBSD.
* Use the system Perl on all non-i686-linux platforms.
* Don't build Python support in libxml2 on most platforms.

svn path=/nixpkgs/trunk/; revision=3019
2005-05-10 12:59:28 +00:00
Eelco Dolstra
71ea4dbb8c * Fix for *non*-suid installations.
svn path=/nixpkgs/trunk/; revision=2546
2005-04-12 13:48:36 +00:00
Eelco Dolstra
df2a7e5168 * F-spot: work properly if an incompatible Mono is in the PATH.
svn path=/nixpkgs/trunk/; revision=2392
2005-03-13 20:43:04 +00:00
Eelco Dolstra
6b25f34d77 * Allow variables to be set to a specific value.
svn path=/nixpkgs/trunk/; revision=2359
2005-03-09 19:07:23 +00:00
Eelco Dolstra
9efa069a65 * Added a tool `mono-dll-fixer' to absolutise the DLL maps in the
`*.dll.config' files corresponding to CLR assemblies.  I.e., the
  full path to native libraries is included in the maps.  In effect
  this allows us to set the equivalent of an RPATH for assemblies.

* gtk-sharp: use the DLL fixer.  It's not perfect yet: I still have to
  set the LD_LIBRARY_PATH for monodoc to include the gtk-sharp lib
  directory itself, so that it can find the `*sharpglue.so' files.
  This seems to be gtk-sharp's fault; it doesn't have an entry for
  those libraries in its DLL maps.

svn path=/nixpkgs/trunk/; revision=2330
2005-03-03 17:19:58 +00:00
Eelco Dolstra
ba20e223f1 * Use a hash over the entire SVN exported tree.
svn path=/nixpkgs/trunk/; revision=2279
2005-02-22 21:15:13 +00:00
Eelco Dolstra
fa88e75c45 * Use fixed-output hashes in fetchsvn.
* In nix-prefetch-svn, support setuid installations where the user has
  no write access to the Nix store.

svn path=/nixpkgs/trunk/; revision=2275
2005-02-22 16:27:28 +00:00
Eelco Dolstra
44a1f60787 * md5' -> id' in compatibility mode.
svn path=/nixpkgs/trunk/; revision=2273
2005-02-22 15:34:58 +00:00
Eelco Dolstra
4eba4a211e * Check the hash, but only on Nix <= 0.7.
svn path=/nixpkgs/trunk/; revision=2272
2005-02-22 15:23:56 +00:00
Eelco Dolstra
2e0380b7a0 * Use the generic substituter in the generation of stdenv and gcc-wrapper.
svn path=/nixpkgs/trunk/; revision=2269
2005-02-22 14:32:56 +00:00
Eelco Dolstra
ecd2596677 * Do the generic sed thing for Glibc.
* Remove debug stuff from ld-wrapper.

svn path=/nixpkgs/trunk/; revision=2261
2005-02-21 17:57:53 +00:00
Eelco Dolstra
e6744d0f89 * Merge diff between trunk/pkgs@1646 and branches/nixos-pkgs@2256;
this contains mostly Armijn's pure stdenv-linux.

* After unpacking the statically linked GCC, patch all store paths to
  /nix/store/ffffffffffffffffffffffffffffffff.  Ugly hack to prevent
  undeclared references but it works.

* We don't need Glib's dynamic libraries in the first bootstrap stage;
  delete them.  Actually the downloaded Glibc binary is only needed
  for building Glibc, since GCC needs a C compiler to build some
  programs in `configure'.  So static linking is fine for that.  Maybe
  it would be better to patch `configure' so that we don't need a
  pre-built Glibc at all.

* Set the svn:executable property on `cp' and `patchelf'.

* In Glibc, revert to LinuxThreads.  Maybe NPTL will work, but TLS
  support is a problem.

* Delete most Glibc patches; they're no longer needed since the branch
  updated it to 20050110.
  
* Some cleanups.

svn path=/nixpkgs/trunk/; revision=2258
2005-02-21 16:03:34 +00:00
Eelco Dolstra
cdaecff49f * Use Nix 0.8-style fixed outputs.
svn path=/nixpkgs/trunk/; revision=2257
2005-02-21 15:52:37 +00:00
Eelco Dolstra
eeff1fcdd1 * More wrapper generation features. The Firefox wrapper generator is
now just 3 lines.

svn path=/nixpkgs/trunk/; revision=2243
2005-02-16 11:38:52 +00:00
Eelco Dolstra
3bf404a3f2 * Let the Mozilla plugins announce where in their output the actual
plugins are, rather then requiring certain fixed directories.

svn path=/nixpkgs/trunk/; revision=2242
2005-02-16 11:24:40 +00:00
Eelco Dolstra
b930967805 * A utility function for the automatic generation of wrapper scripts.
svn path=/nixpkgs/trunk/; revision=2241
2005-02-16 11:13:18 +00:00
Eelco Dolstra
cbdd91f2a6 * Some utility functions to make performing substitutions in text
files easier.  Examples:

    substitute inputFile outputFile \
      --replace "@bindir@" "$out/bin" \
      --replace "@gcc@" "$GCC/bin/gcc"

    substitute inputFile outputFile --subst-var out

      (this is sugar for --replace "@out@" "$out")

    substituteInPlace file --replace a b

      (input and output are both `file'; the execute bit is preserved)
  

svn path=/nixpkgs/trunk/; revision=2239
2005-02-15 17:44:03 +00:00
Armijn Hemel
4b16211201 use new kernel headers
svn path=/nixpkgs/branches/nixos-pkgs/; revision=2053
2005-01-18 13:16:42 +00:00
Eelco Dolstra
60e7948db1 * Allow a known hash to be specified.
svn path=/nixpkgs/trunk/; revision=1892
2004-12-17 11:04:18 +00:00
Eelco Dolstra
2a3f5188b5 * Option to print out the path, analogous to nix-prefetch-url.
svn path=/nixpkgs/trunk/; revision=1890
2004-12-17 10:40:00 +00:00
Armijn Hemel
aad382248f add modified gcc-wrapper
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1793
2004-11-22 16:36:27 +00:00
Eelco Dolstra
5808ac7148 * Renamed Martin's linker derivation to `make-symlinks'.
* Propagate name automatically.

svn path=/nixpkgs/trunk/; revision=1409
2004-09-16 12:38:10 +00:00
Eelco Dolstra
2bf90b3fbf * gcc-wrapper: inherit gcc's name by default.
* gcc: upgraded to 3.4.1.

  Zie je wel, Martin, gcc is niet eng :-)

svn path=/nixpkgs/trunk/; revision=1128
2004-07-05 12:00:19 +00:00
Eelco Dolstra
5c847a370a * fetchsvn' now requires the MD5 hash (as computed by nix-hash') of
the tree being fetched from a Subversion repository.  The revision
  number is now optional (and defaults to HEAD).

  This makes `fetchsvn' more pure.  First, a URL/revision tuple does
  not uniquely identify a file resource, since the repository itself
  might change.  Second, `svn:external' attributes can cause arbitrary
  resources to be exported.

  A script `nix-prefetch-svn' has been provided to determine the hash
  of a URL.

svn path=/nixpkgs/trunk/; revision=938
2004-04-14 10:55:33 +00:00
Eelco Dolstra
9c55897afc * Accept relative paths such as -I ..' (-I..' was already being
accepted).

svn path=/nixpkgs/trunk/; revision=924
2004-04-07 14:15:54 +00:00
Eelco Dolstra
beaff0a892 * Ensure that when building gcc, libstdc++ is linked against the
libgcc of the gcc being built, not the gcc building it.
* Only include a directory in the rpath of an executable/library if it
  is actually used.  Before, the `/lib' directory of every build input
  was added to the rpath, causing many unnecessary retained
  dependencies.  For instance, Perl has a `/lib' directory, but most
  applications whose build process uses Perl don't actually link
  against Perl.  (Also added a test for this.)
* After building glibc, remove glibcbug, to prevent a retained
  dependency on gcc.
* Add a newline after `building X' in GNU Make.

svn path=/nixpkgs/trunk/; revision=911
2004-04-04 22:02:41 +00:00
Eelco Dolstra
1550034ac4 * Various bug fixes in setup.sh and ld-wrapper.sh.
svn path=/nixpkgs/trunk/; revision=909
2004-04-02 17:49:44 +00:00
Eelco Dolstra
7bf54b734e * Follow redirects.
svn path=/nixpkgs/trunk/; revision=899
2004-04-01 19:10:37 +00:00
Eelco Dolstra
ab7af4709a * Add `--fail' to curl invocation to catch errors.
svn path=/nixpkgs/trunk/; revision=889
2004-04-01 12:23:02 +00:00
Eelco Dolstra
01a1658c6b * Finally we have a working stdenvLinux again.
On the downside, the build process of stdenvLinux builds gcc 9 times
  (3 x 3 bootstrap stages).  That's a bit excessive.

svn path=/nixpkgs/trunk/; revision=880
2004-03-30 12:46:52 +00:00
Eelco Dolstra
8ed9ea8b51 * Use a Nix shell for gcc-wrapper and ld-wrapper.
svn path=/nixpkgs/trunk/; revision=875
2004-03-29 17:34:00 +00:00
Eelco Dolstra
12ae5363ea * Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
2004-03-29 17:23:01 +00:00
Eelco Dolstra
4df6ec860c * Typo fix.
svn path=/nixpkgs/trunk/; revision=850
2004-03-27 15:44:05 +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
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
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
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
Martin Bravenboer
067726f3e2 * Added the j2sdk of Sun for Linux. Downloading this thing is
a big problem, so I decided to require to user to get the
          file and put it in some location in the file system. wget
          doesn't seem to accept the file scheme however, so I had to
          move the copying into the builder itself. The builder checks
          the md5 hash of the downloaded file. Maybe having a separate
          'fetchfile' would be useful to make a file in the outside
          world pure. I tried to add this to build-support, but this
          obviously did not work. I still committed it. Just remove it
          if you think that it sucks.

svn path=/nixpkgs/trunk/; revision=716
2004-01-24 23:46:00 +00:00
Eelco Dolstra
38bc744a0b * Use md5sum instead of nix-hash.
svn path=/nixpkgs/trunk/; revision=584
2003-12-21 16:00:17 +00:00
Eelco Dolstra
003ce6c40d * A function to fetch sources from a Subversion repository.
svn path=/nixpkgs/trunk/; revision=544
2003-11-25 17:38:48 +00:00
Eelco Dolstra
026ff9466a * Rename .fix -> .nix.
svn path=/nixpkgs/trunk/; revision=511
2003-11-18 12:12:56 +00:00
Eelco Dolstra
48c3faca51 * Renamed pkgs-ng to pkgs.
svn path=/nixpkgs/trunk/; revision=502
2003-11-14 09:59:13 +00:00