Commit Graph

90 Commits

Author SHA1 Message Date
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