Commit graph

139 commits

Author SHA1 Message Date
Jörg Thalheim b39dd890ac
tests.cc-wrapper: disable static compilation macOS
macOS does not support this
2020-12-14 20:53:00 +01:00
Jörg Thalheim ccfd26ef14 bintools-wrapper: skip dynamic linker for static binaries
Currently we set dynamic-linker unconditionally. This breaks
however some static binaries i.e. rust binaries linked against musl.
There is no reason we should set an elf interpreter for static binaries
hence this is skipped if `-static` or `-static-pie` is either passed to
our cc or ld wrapper.
2020-12-14 15:42:54 +00:00
John Ericson b7650aaa77 rust: Clean up target configs and test some more
See the new docs for details. The difference is vis-a-vis older versions
of this PR, not master.
2020-11-28 19:36:28 +00:00
John Ericson 8ddf5c6907 Merge remote-tracking branch 'upstream/master' into aj-rust-custom-target 2020-11-28 18:10:38 +00:00
Joe Hermaszewski 7673eda11d haskell: Add documentationTarball to lib 2020-11-13 21:37:56 +01:00
Vladimír Čunát 89023c38fc
Recover the complicated situation after my bad merge
I made a mistake merge.  Reverting it in c778945806 undid the state
on master, but now I realize it crippled the git merge mechanism.
As the merge contained a mix of commits from `master..staging-next`
and other commits from `staging-next..staging`, it got the
`staging-next` branch into a state that was difficult to recover.

I reconstructed the "desired" state of staging-next tree by:
 - checking out the last commit of the problematic range: 4effe769e2
 - `git rebase -i --preserve-merges a8a018ddc0` - dropping the mistaken
   merge commit and its revert from that range (while keeping
   reapplication from 4effe769e2)
 - merging the last unaffected staging-next commit (803ca85c20)
 - fortunately no other commits have been pushed to staging-next yet
 - applying a diff on staging-next to get it into that state
2020-10-26 09:01:04 +01:00
Vladimír Čunát c778945806
Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2"
I'm sorry; I didn't notice it contained staging commits.

This reverts commit 17f5305b6c, reversing
changes made to a8a018ddc0.
2020-10-25 09:41:51 +01:00
Aaron Janse 29cdd8ae60 fix whitespace 2020-10-17 14:38:36 -07:00
Aaron Janse 7ebcb6ee48 remove trailing period 2020-10-17 00:58:27 -07:00
Aaron Janse 0ac33bf3f8 add meta to rust-sysroot test 2020-10-17 00:58:09 -07:00
Aaron Janse 116ac11652 add test 2020-10-17 00:43:33 -07:00
Jan Tojnar 1882368e8a
Merge branch 'staging-next' into staging 2020-10-11 00:27:42 +02:00
Lily Ballard 03c9f6a647 installShellFiles: Add test suite 2020-10-08 15:08:40 -07:00
Dmitry Kalinkin 074f6d9d84
tests.texlive: init 2020-10-06 19:24:41 -04:00
(cdep)illabout 6bcfecbfa2 tests.haskell-shellFor: get compiling again 2020-09-25 21:08:23 +02:00
Jörg Thalheim 96092dc936
stdenv: make -nostdinc work as intended
Right now we add glibc to search path also -nostdinc was provided,
which breaks projects providing their own gcc.
2020-07-23 08:39:46 +01:00
Florian Klink cfb4d0dfe3
Merge pull request #84032 from teto/fix_kernel_merge
Fix kernel configuration merge
2020-05-22 13:32:22 +02:00
John Ericson c71ab32a67 pkg-config-wrapper: Init
This fixes longstanding build issues
2020-05-16 00:21:21 +00:00
John Ericson 27edd9efb3 cross/tests: Use crossPkgs.runCommand so we have strictDeps 2020-05-16 00:21:21 +00:00
Matthieu Coudron b9a4e6953d kernel: fix config generation
Addresses https://github.com/NixOS/nixpkgs/issues/71803:
Kernel options are not merged as described, especially the "optional"
aspects. The error silences legitimate warnings.
2020-04-01 22:25:57 +02:00
worldofpeace 6022db4d9d tests.nixos-functions: port test to python 2020-02-09 23:53:58 +01:00
Luka Blaskovic 0fc6280715 llvm_4: remove 2020-01-30 18:35:31 -05:00
Luka Blaskovic 0eafee8328 llvm_39: remove 2020-01-30 18:35:30 -05:00
Matthew Bauer 07db0b248c Merge remote-tracking branch 'obsidiansystems/work-on-multi-shellFor' 2020-01-17 18:00:27 -05:00
Jacquin Mininger 7d67db3919 shellFor: Refactor for consistency and cross
This makes it work like work-on-multi from Reflex Platform. In
particular, rather than making `.env` from `shellFor`, we make `.env`
the primitive, and `shellFor` works by combining together the arguments
of all the packages to `generic-builder` and taking the `.env` of the
resulting mashup-package.

There are 2 benefits of this:

1. The dependency logic is deduplicated. generic builder just concatted
   lists, whereas all the envs until now would sieve apart haskell and
   system build inputs. Now, they both decide haskell vs system the same
   way: according to the argument list and without reflection.
   Consistency is good, especially because it mean that if the build
   works, the shell is more likely to work.

2. Cross is handled better. For native builds, because the
   `ghcWithPackages` calls would shadow, we through both the regular
   component (lib, exe, test, bench) haskell deps and Setup.hs haskell
   deps in the same `ghcWithPackages` call. But for cross builds we use
   `buildPackages.ghcWithPackages` to get the setup deps. This ensures
   everything works correctly.
2020-01-17 10:46:29 -05:00
Will Dietz a4d1e97e3d
tests.cc-wrapper-{clang,libcxx}-{8,9}: add stdenv tests for LLVM 8, 9 2019-09-19 15:03:09 -05:00
volth 08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
worldofpeace 3f4a353737 treewide: use dontUnpack 2019-07-01 04:23:51 -04:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Austin Seipp 64f7cb24d5
all-packages/test: add gcc9Stdenv, cc-wrapper-gcc9
Follow up from #60860.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-07 17:21:31 -05:00
Matthew Bauer 9abff4af4f wasm: init cross target
Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
with a WebAssembly toolchain.

stdenv/cross: use static overlay on isWasm

isWasm doesn’t make sense dynamically linked.
2019-04-23 21:48:57 -04:00
Matthew Bauer 8e25da0beb cross/tests: add llvm-based tests 2019-02-26 19:46:24 -05:00
Matthew Bauer b86e62d30d llvm: support cross compilation with useLLVM flag
You can build (partially) with LLVM toolchain using the useLLVM flag.
This works like so:

  nix-build -A hello --arg crossSystem '{ system =
    "aarch64-unknown-linux-musl"; useLLVM = true }'

also don’t separate debug info in lldClang

It doesn’t work currently with that setup hook. Missing build-id?
2019-02-26 19:45:35 -05:00
Matthieu Coudron 461cb3f9ed linux: added tests for the config 2019-01-28 09:07:24 +09:00
Matthew Bauer f435272ce3
Merge pull request #50212 from matthewbauer/host-emulator
Add "emulator" function to systems
2018-11-29 19:34:20 -06:00
Matthew Bauer 9c8fd41224 treewide: add emulator to platform
You can use stdenv.hostPlatform.emulator to get an executable that
runs cross-built binaries. This could be any emulator. For instance,
we use QEMU to emulate Linux targets and Wine to emulate Windows
targets. To work with qemu, we need to support custom targets.

I’ve reworked the cross tests in pkgs/test/cross to use this
functionality.

Also, I’ve used talloc to cross-execute with the emulator. There
appears to be a cross-execute for all waf builds. In the future, it
would be nice to set this for all waf builds.

Adds stdenv.hostPlatform.qemuArch attrbute to get the qemuArch for
each platform.
2018-11-29 19:15:30 -06:00
Jörg Thalheim f12bd000b9
Merge pull request #49290 from krebs/nix-writers
get nix-writers into nixpkgs
2018-11-27 07:17:03 +00:00
lassulus 2d02cd7790 build-support writers: add tests 2018-11-27 07:08:13 +01:00
Jan Malakhovski 58ff402b40 pkgs/test/nixos-functions: use dummy versioning
With this OfBorg and similar tools won't report this derivation as
changed every single time.
2018-11-19 19:26:52 +00:00
Robert Hensing 3783f2d510 pkgs/test/nixos-functions: Add inline doc 2018-11-13 10:47:17 +01:00
Robert Hensing 5d594d764e tests: Don't use pkgs.extend. OfBorg will reject it.
The good news is that it worked as expected.
2018-11-13 10:43:05 +01:00
Robert Hensing 933c95c0f4 Add tests for pkgs.nixos and pkgs.nixosTest 2018-11-13 10:43:05 +01:00
Jan Tojnar a2de5fc56e Remove openftd
It never worked, never was added as an attribute and the website is dead.
2018-10-21 21:52:20 +02:00
Vladimír Čunát 3a09a4b579
Merge branch 'master' into staging
Hydra: ?compare=1480463
2018-09-24 21:18:23 +02:00
Will Dietz 0c459474f9 tests: add variants for llvm7 2018-09-23 13:30:17 -05:00
Dan Peebles 88a969d1b7 top-level/release.nix: add patchShebangs test
This is currently failing but nobody noticed!
2018-09-16 14:22:29 -04:00
Tuomas Tynkkynen e94fcbcd01 pkgs/tests: Add test for LD_LIBRARY_PATH
The latest binutils upgrade silently broke this until it was fixed by
https://github.com/NixOS/nixpkgs/pull/43531.

So add a test.
2018-08-01 19:02:21 +03:00
Matthew Bauer b98b4eac71 tests: add some cross tests 2018-07-21 17:00:05 -04:00
John Ericson b3d957649f Merge remote-tracking branch 'upstream/master' into staging 2018-06-18 15:30:39 -04:00
John Ericson e3b1937baf tests.cc-wrapper: Fix sanitizer condition
fc9644d4c9 accidentally enabled the
sanitizer tests for GCC on Darwin, when fixing that case was never
attempted. Also inverted the condition from broken to working for
clarity.
2018-06-18 15:05:57 -04:00
John Ericson 6e7e22da70 llvm 5: split out compiler-rt and remove libcxxabi dep
We already did them on non-mass-rebuild llvm 6. Also, this allows
simplifying the stdenv booting.

We were missing the libcxxabi dep in compile-rt in llvm 6, so fixed that
too.
2018-06-14 19:22:15 -04:00
John Ericson fc9644d4c9 llvm 6: Fix libcxxabi impurity and darwin sanitizers 2018-06-14 19:19:54 -04:00
Orivej Desh 07ebb8bb79 tests.cc-wrapper: do not test sanitizers on darwin
They are not supported yet.

https://github.com/NixOS/nixpkgs/pull/41284#issuecomment-394977350
2018-06-06 08:01:13 +00:00
Benjamin Saunders f24f6d7af3 tests.cc-wrapper: skip known-broken sanitizer cases 2018-05-30 18:48:42 -07:00
Benjamin Saunders b0d0b1adfe clang_6: fix sanitizers under libstdc++ 2018-05-24 15:04:30 -07:00
Benjamin Saunders 46eeef1898 tests.cc-wrapper: verify building with sanitizers 2018-05-24 02:57:44 -04:00
Matthew Bauer 4d141bd463 tests: move to attribute set 2018-05-10 23:58:12 -05:00
Jan Tojnar a31d98f312
tree-wide: autorename gnome packages to use dashes 2018-02-25 17:41:16 +01:00
Daiderd Jordan 80de99b46b
sierra-shared-test: fix build
Using 500 libraries started failing with clang++: Argument list too long
This is enough to reproduce the issue.
2018-01-05 23:20:55 +01:00
Will Dietz 9d8f9b2e53 Add clang multilib variants (x64_64-only, 64/32bit), basic multilib tests 2017-12-05 07:17:14 -06:00
John Ericson 5aec3f96a2 treewide: Use *Platform.extensions 2017-09-13 11:16:10 -04:00
Daiderd Jordan b91307c2e1
nixpkgs-tests: add basic test for buildInputs 2017-09-10 22:49:47 +02:00
Daiderd Jordan 19c4673310
nixpkgs-tests: add basic test for cc-wrapper 2017-09-10 22:49:39 +02:00
John Ericson 14e05c30e8 macos-sierra-shared: Make live code and add to nascent Darwin channel
Also add appropriate `meta.platforms = ...` to each derivation.
2017-07-31 21:28:18 -04:00
John Ericson eeed1814dc cc-wrapper-test: Use $CXX else the C++ std lib won't be on the include path 2017-07-31 17:02:56 -04:00
John Ericson a9dd855894 cc-wrapper-test: Don't use assert 2017-07-31 17:02:56 -04:00
John Ericson 539dcb8e27 cc-wrapper-test: Forgot to extern "C" now that main is C++ 2017-07-31 17:02:56 -04:00
John Ericson f671b85fb2 cc-wrapper: Beef up sierra tests to actually use functions 2017-07-31 17:02:56 -04:00
John Ericson 0c37778c2c cc-wrapper: WIP linking hack for mac OS
Probably best to override Haskell packages set, or anything else
linking a lot of libraries, with this.
2017-07-31 17:02:56 -04:00
Eelco Dolstra a133a74c89 Remove cruft 2016-04-26 17:31:54 +02:00
Vladimír Čunát ab15a62c68 Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Nicolas B. Pierron 6313a5698a Replace references to all-packages.nix, by references to the top-level of nixpkgs repository. 2016-03-13 18:25:52 +00:00
Vladimír Čunát 99e4371526 curl: split into multiple outputs
Also use pkgconfig to be safer and fix (some) referrers.
2015-10-13 20:18:48 +02:00
Mateusz Kowalczyk 7e5d0ee0c3 s/dependancy/dependency/ 2014-09-10 00:28:49 +01:00
Nicolas Pierron 0e25bb67cf Add a new way to handle option sets.
svn path=/nixpkgs/trunk/; revision=12505
2008-08-05 17:16:35 +00:00
Wouter den Breejen e3d6f44256 Missing gecko now.
svn path=/nixpkgs/trunk/; revision=9715
2007-11-16 14:41:15 +00:00
Wouter den Breejen c8a2eb68a9 libnotify is missing
svn path=/nixpkgs/trunk/; revision=9711
2007-11-16 14:24:24 +00:00
Wouter den Breejen 499a0942d5 Added openftd. Doesnt work (yet)
svn path=/nixpkgs/trunk/; revision=9708
2007-11-16 13:49:02 +00:00
Eelco Dolstra 105344a44e * Moved hsqldb.
svn path=/nixpkgs/trunk/; revision=9293
2007-09-11 11:06:31 +00:00
Wouter den Breejen 606a46e6b5 hsqldb: Forgot these 2
svn path=/nixpkgs/trunk/; revision=9264
2007-09-06 15:38:32 +00:00
Eelco Dolstra 82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +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 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 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 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 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