- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes
Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
Haskell programs depend on gmp to implement the unbounded Integer type. Without
static variants of gmp we cannot build statically linked Haskell programs, what
some users have found desirable in the past. So far, we've used an override to
derive our own copy of gmp in the Haskell ecosystem, but this patch ends the
dichotomy between Haskell and the rest of Nixpkgs by enabling static gmp
libraries in the default build default.
(My OCD kicked in today...)
Remove repeated package names, capitalize first word, remove trailing
periods and move overlong descriptions to longDescription.
I also simplified some descriptions as well, when they were particularly
long or technical, often based on Arch Linux' package descriptions.
I've tried to stay away from generated expressions (and I think I
succeeded).
Some specifics worth mentioning:
* cron, has "Vixie Cron" in its description. The "Vixie" part is not
mentioned anywhere else. I kept it in a parenthesis at the end of the
description.
* ctags description started with "Exuberant Ctags ...", and the
"exuberant" part is not mentioned elsewhere. Kept it in a parenthesis
at the end of description.
* nix has the description "The Nix Deployment System". Since that
doesn't really say much what it is/does (especially after removing
the package name!), I changed that to "Powerful package manager that
makes package management reliable and reproducible" (borrowed from
nixos.org).
* Tons of "GNU Foo, Foo is a [the important bits]" descriptions
is changed to just [the important bits]. If the package name doesn't
contain GNU I don't think it's needed to say it in the description
either.
* By default, QEMU's CPUID identifies the CPU as GenuineIntel, family
6, model 2. Since there never was a physical 64-bit CPU like that,
64-bit GMP calls abort(). This causes every program linked against
libgmp to fail under QEMU (unless an appropriate -cpu or -M flag is
used), which is rather bad, especially for users of hosting
providers who cannot change QEMU's flags. The patch causes GMP to
be more liberal (i.e., use non-CPU-specific implementations).
svn path=/nixpkgs/branches/stdenv-updates/; revision=33531
Merge conflicts:
* unzip (almost trivial)
* dvswitch (trivial)
* gmp (copied result of `git merge`)
The last item introduced gmp-5.0.3, thus full rebuild.
+ensureDir->mkdir -p in TeX packages was catched by git but not svn.
svn path=/nixpkgs/branches/stdenv-updates/; revision=32091
some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
gmp; we can update all once we have stable ppl 0.11 and a working cloog-ppl
with all that.
This way we should at least gcc4.5 building with ppl/cloog-ppl
svn path=/nixpkgs/branches/stdenv-updates/; revision=22271
I chose a snapshot of the future 0.11 ppl (that had to be released one or two
months ago, I think), waiting for the 0.11 to be frozen. Only 0.11 supports
building with gmp 5.x
svn path=/nixpkgs/branches/stdenv-updates/; revision=22268
- Stating better the guile dependencies (native/host) for guile to build
- Fixing cross-linking, through --rpath-link (ld(1) explains well about it
- Made gcc call the linker and the assembler through the gcc wrapper instead of
directly. I thought this was the source of missing -rpath's, but the source
of the problem ended up being the lack of --rpath-link. But I think the
native gcc calls the wrapped ld and as, so let's do the same cross
compiling.
- Removed the binutilsCross from the glibc expressions. Now they are built
using the gcc-cross-wrapper, and they were built with the direct gcc and
binutils before this change.
- I think patchelf and strip don't break the cross-compiled binaries, so I
reallow them on cross compilation.
- I disable the checkPhase on cross compilation. This made gmp and libtool
fail when cross compiled, iirc.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18498
libgmp comes with an extended config.guess script that features more
accurate CPU detection. Unfortunately, use of that script causes the
configure phase to choose fairly aggressive optimization flags and the
resulting binaries might not work on architectures other than the
machine those binaries were built on.
The standard GNU config.guess script, however, recognizes a CPU type of
'x86' only. Thus, libgmp chooses the following settings:
ABI="32"
CC="gcc"
CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro"
CPPFLAGS=""
MPN_PATH=" x86/p6 x86 generic"
svn path=/nixpkgs/branches/stdenv-updates/; revision=16084