Commit Graph

34288 Commits

Author SHA1 Message Date
aszlig
c7bac81c66
Merge 'mingw-w64' and 'darwin' into cross-win-osx.
Both branches have quite a lot in common, so it's time for a merge and
do the cleanups with respect to both implementations and also generalize
both implementations as much as possible.

This also closes #1876.

Conflicts:
	pkgs/development/interpreters/lua-5/5.2.nix
	pkgs/development/libraries/SDL/default.nix
	pkgs/development/libraries/glew/default.nix
	pkgs/top-level/all-packages.nix
2014-03-12 10:16:51 +01:00
aszlig
a445199db4
xcode: Update to new version 5.1.
This version just got released two days ago, while we were working for
cross-builds on 5.0.2. From the release notes it shouldn't introduce any
incompatibilities.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:49 +01:00
aszlig
a6621202af
xcode: Drop use of weak_import on enumerators.
GCC doesn't support attributes on enumerators, which could pose a
problem but fortunately not in this case. Here a
__attribute__((weak_import)) is used, which doesn't make much sense for
enumerators anyway (noone will die because the corresponding enumerator
won't be referenced either in older OS X versions).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:49 +01:00
aszlig
5eb3dd8a1b
cmake: Add patch for fixing Darwin cross-builds.
This is an upstream patch and will eventually get into the next release.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:49 +01:00
aszlig
6998a866a8
SDL: Refactor package and fix Darwin cross-builds.
First of all, this needs two upstream patches for supporting OS X 10.9,
also the cross-gcc doesn't accept -fpascal-strings, so drop the flag.

And except putting all configure flags into a multiline string, we're
now using a list, which is easier when it comes to handling optional
components.

As X isn't used on recent Mac OS X versions and Windows, I'm temporarily
using --without-x for cross-builds until we have a better way to check
for those things.

Also, don't add audiofile to buildInputs if we're cross-compiling for
MinGW.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:48 +01:00
aszlig
cdaced58ae
libpng12/cross: Don't add zlib for Darwin builds.
Cross builds for Darwin already include the CoreFoundation and the
libraries from XCode, so zlib already exists on that platform.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:48 +01:00
aszlig
f73851710e
audiofile: Use alsaLib for native Linux only.
Using ALSA for non-Linux systems really doesn't make much sense, so
using buildNativeInputs to ensure it won't be used for cross-builds.

Of course, if you're cross-building to Linux, the dependency won't be
used, but right now we don't have a good way to easily check whether the
cross target is Linux.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:48 +01:00
aszlig
5e95800f26
openssl: Use Darwin patch for cross-builds too.
Might be better to have something like stdenv.isDarwinTarget, which can
be used to test for native Darwin _and_ cross-built Darwin as a target.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
aszlig
2d17335f68
gcc-cross-wrapper: Allow to pass US X min version.
This allows to pass a new attribute osxMinVersion to crossSystem, which
specifies the minimum Mac OS X version you want to be compatible to.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
aszlig
8c053312b5
zlib/cross: Fix build for Darwin.
Provide the correct cross ranlib, because native ranlib will fail.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
aszlig
30962765e0
openssl/cross: Fix build for Darwin.
This is just a minor fix, because when using "darwin64-x86_64-cc" for
config.openssl.system, the OpenSSL build scripts try to compile with
$prefix-cc, which is not available with the gcc-cross-wrapper.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
aszlig
3d73bf6c57
glew/cross: Fix build for Darwin.
The Makefile still contained calls to install with the -s (strip)
option, which we don't want because it uses the native strip utility and
we're going to crossStrip in fixupPhase later anyway.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:46 +01:00
aszlig
745c477930
lua5.2/cross: Fix build for Darwin.
The ld from cctools doesn't like the -soname argument, so let's strip it
off for now until we have a binutils <-> cctools bridge.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:46 +01:00
aszlig
3940b21988
cctools-port: Pass through wrapped XCToolchain.
At the moment, this includes only dyldinfo, dwarfdump and dsymutil, but
we'll see whether we need more of these utilities later.

Tho reason those are wrapped in cctools-port is because it is the
binutils used to cross-compile for Mac OS X.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:46 +01:00
aszlig
45cd9994bc
darwin: Add new package maloader.
This is the mentioned Mach-O loader that we're yoing to use to execute
Apple's proprietary binaries.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:45 +01:00
aszlig
53a267e535
darwin: Add new package opencflite.
This provides a port of Mac OS X's CoreFoundation and is needed if we
want to be able to run dsymutil using maloader.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:45 +01:00
aszlig
c0d55fcc6a
xcode: Provide the commandline toolchain as well.
This toolchain contains Mach-O binaries and might not be useful in the
first place, but there are programs like dsymutil, where Apple didn't
release the source code, so we need a Mach-O loader...

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:45 +01:00
aszlig
a9ef42f33c
gcc-4.8: Add ObjC and ObjC++ support for Darwin.
Cross-compiling stuff against Mac OS X's CoreFoundation won't work
without ObjC support, and we don't want to compile commandline utilities
only, right?

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:45 +01:00
aszlig
46e90f76c6
tzdata: Provide lib as an additional output.
We're already using tzcode inside tzdata, so let's make it available as
an output here. The reason we need it is in order to compile OpenCFLite.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:44 +01:00
aszlig
9a0a85827c
gcc-4.8: Hook in cross-darwin libc and binutils.
Let's finally hook everything into the existing cross-building
infrastructure. We're using --with-sysroot instead of --with-headers
here, because the XCode SDK contains references to /usr/lib.

I've tried to patch those references, but unfortunately (at least with
install_name_tool) it isn't possible to change those refernces in stub
dylibs.

So after bugging @tpoechtrager with annoying questions (thanks again), I
think my initial approach (patching the SDK itself and/or regenerating
the dylib stubs) was way to complicated so I ended up with this
implementation.

Also, I've added a condition to binutilsCross to use cctools if the libc
is set to libSystem. This might need some cleanups someday, mainly to
figure out how to properly bridge cctools and binutils.

So, as an example on how to cross-compile GNU Hello to Darwin, you can
use something like this:

(import <nixpkgs> {
  crossSystem = {
    config = "x86_64-apple-darwin13";
    arch = "x86_64";
    libc = "libSystem";
    platform = {};
  };
}).hello.crossDrv

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:44 +01:00
aszlig
dd10bb3181
Add a cross-platform port of cctools.
This basically is binutils for Mac OS X, but ported to work on
(GNU/)Linux and FreeBSD.

And it's up-to-date as well! I'm mentioning this, because it was quite
hard to find a recent port of it and I just accidentally stumbled on it
while trying to do the port by myself.

So thanks to @tpoechtrager for doing this.

Also, I've added two more patches, which essentially are:

 * ld-rpath-nonfinal:
     This allows -rpath to be used for linking non-final builds, which
     was allowed for earlier versions of cctools and got a check for
     that in more recent versions.

 * ld-ignore-rpath-link:
     Ignores the -rpath-link option, because the cross-wrapper uses it
     in different places. Unfortunately, the cctools linker doesn't
     support it, so we might need to implement this later if it's
     possible (I'm not a Mach-O man^H^H^Hexpert).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:44 +01:00
aszlig
83dd414ca2
Add new package for Apple's XCode.
This package provides the SDK and standard library needed for
cross-compiling to Mac US X. We're using xpwn here to extract the DMG.

Also, this version (XCode 5.0.2) only contains the SDKs for version 10.9
and 10.8, so we might need to add requireFile directives for older
versions as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:43 +01:00
aszlig
5e565754ab
Add new package "xpwn" from @dborca's fork.
This really hase some nice utilities for coping with HFS+ and DMG
format. We're going to use it for extracting the xcode DMG, but it could
be used for more, even generating DMGs.

The reason I'm using the fork instead of the repository from
@planetbeing is thet the fork contains a few fixes, especially for
dealing with symlinks in HFS+ images.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:43 +01:00
Rickard Nilsson
a3bf4df6e4 libvirt-python: Update from 1.2.0 to 1.2.2 2014-03-12 08:33:43 +01:00
Rickard Nilsson
773d886f51 libvirt: Clean up nix file, update meta 2014-03-12 08:27:05 +01:00
Vladimír Čunát
ef825eaca7 libproxy: attempt to fix build on Darwin
It seems it won't compile with too old compilers.
2014-03-12 07:11:15 +01:00
Vladimír Čunát
4c9bac5004 liferea: fix https URIs by adding glib_networking 2014-03-11 22:01:12 +01:00
Vladimír Čunát
4a0d464384 glib_networking: big update, cleanup, meta added 2014-03-11 21:56:28 +01:00
Rickard Nilsson
28437226ae libvirt: Update from 1.2.0 to 1.2.2 2014-03-11 18:27:09 +01:00
Peter Simons
4c226fb88a haskell-hledger-web: jailbreak to fix build with recent versions of yesod 2014-03-11 17:33:09 +01:00
Eelco Dolstra
36ee5c61c3 Rename git -> git-minimal, git-full -> git
Since most people probably want the full Git.
2014-03-11 17:00:17 +01:00
Peter Simons
d35e61913b haskell-ghcjs-codemirror: add version 0.0.0.1 2014-03-11 13:50:51 +01:00
Peter Simons
27247b0325 haskell-ghcjs-dom: add version 0.0.4 2014-03-11 13:50:51 +01:00
Peter Simons
b46aac7d79 haskell-vado: add version 0.0.1 2014-03-11 13:50:51 +01:00
Peter Simons
1e662766fb haskell-vcsgui: add version 0.0.2 2014-03-11 13:50:51 +01:00
Peter Simons
d0734f8aaa haskell-vcswrapper: add version 0.0.3 2014-03-11 13:50:50 +01:00
Peter Simons
902d57fe40 haskell-http-reverse-proxy: update to version 0.3.1 2014-03-11 13:50:50 +01:00
Peter Simons
55f2f3b465 haskell-alsa-mixer: update to version 0.2.0.1 2014-03-11 13:50:50 +01:00
Peter Simons
66729b6dea haskell-lens: remove obsolete version 3.10.2 2014-03-11 13:50:50 +01:00
Peter Simons
d765d5ddbb haskell-keter: update to version 1.2.0 2014-03-11 13:50:50 +01:00
Peter Simons
2273294b50 haskell-HaRe: update to version 0.7.1.4 2014-03-11 13:50:50 +01:00
Peter Simons
4139ea10be haskell-zip-archive: update to version 0.2.2 2014-03-11 13:50:50 +01:00
Peter Simons
46145143fc haskell-yesod-form: update to version 1.3.6 2014-03-11 13:50:50 +01:00
Peter Simons
f1120ff4b5 haskell-yesod-core: update to version 1.2.7 2014-03-11 13:50:50 +01:00
Peter Simons
e5cf206741 haskell-yesod-bin: update to version 1.2.7 2014-03-11 13:50:50 +01:00
Peter Simons
b48704974a haskell-yesod-auth: update to version 1.2.7 2014-03-11 13:50:50 +01:00
Peter Simons
ccac7c5dca haskell-x509: update to version 1.4.11 2014-03-11 13:50:50 +01:00
Peter Simons
5acfd49d17 haskell-warp: update to version 2.1.0 2014-03-11 13:50:50 +01:00
Peter Simons
def8957c30 haskell-warp-tls: update to version 2.0.3.1 2014-03-11 13:50:50 +01:00
Peter Simons
6455c132c3 haskell-wai: update to version 2.1.0 2014-03-11 13:50:50 +01:00