Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Bauer f1a111bbc5 Merge pull request #51408 from matthewbauer/disable-subsecond-gnumake
gnumake: disable subsecond mtime on darwin
2018-12-03 08:32:59 -06:00
Matthew Bauer 26de2d1780 gnumake: disable subsecond mtime on darwin
gnumake can support subsecond mtimes if it is available. But Darwin
doesn’t support setting subsecond mtimes until 10.13! So we can just
disable this check to avoid the issue where most of our built tools
use seconds but make uses nanoseconds. Might fix some parallel issues
along the way.

Fixes #51221
2018-12-03 08:31:57 -06:00
Matthew Bauer 3b32c920d5 systems/parse.nix: support eabihf
eabihf is an abi that can be used with ARM architectures that support
the “hard float”. It should probably only be used with ARM32 when you
are absolutely sure your binaries will run on ARM systems with a FPU.

Also, add an example "armhf-embedded" to match the preexisting
arm-embedded system. qmk_firmware needs hard float in a few places, so
add them here to get that to work.

Fixes #51184
2018-12-02 19:49:36 -06:00
Matthew Bauer 808f05808b kmod: avoid mass rebuild
elf-header shouldn’t be needed on linux
2018-12-02 19:34:55 -06:00
Matthew Bauer 973781444a Merge branch 'darwin-fixes2' 2018-12-02 14:15:05 -06:00
Matthew Bauer 820927cb2c btrfs-progs: fix on cross compilation
Fixes #50925

(cherry picked from commit 04978d152e8e8e0c2f82cbb8c2addc4ecc93c79c)
2018-12-02 14:12:42 -06:00
Matthew Bauer 7a2c07d29b kmod: enable on darwin
This is needed to build linux kernels on darwin. While we can’t
actually use it to load kernel modules, we can use it to create
indexes of modules on macOS.

(cherry picked from commit ebb31480e8a45efbaff4c4a212bdfc0b053adde0)
2018-12-02 14:12:42 -06:00
Matthew Bauer 9ddc2ec27d tsocks: broken on darwin
(cherry picked from commit 83982dc675ecf0fb6860d8077335c39e96d6c739)
2018-12-02 14:12:41 -06:00
Matthew Bauer b4087750c3 flent/http-getter: broken on clang
(cherry picked from commit a5dcde16bbe737914849536362d15eb5a9675297)
2018-12-02 14:12:41 -06:00
Matthew Bauer 5e2394ae3c rofi: only works on linux
(cherry picked from commit 568079277c5a8b6711db9ac0e3f4567bdffa8747)
2018-12-02 14:12:40 -06:00
Matthew Bauer b57f6b26a7 tinyfugue: only works on linux
(cherry picked from commit 420352fae8ddb11da757bd2f2f10c2dc6650bc58)
2018-12-02 14:12:40 -06:00
Matthew Bauer e8a3c91b0e hugs: broken on clang
(cherry picked from commit 4861aecfae43f96589034567546ec200225c1d7e)
2018-12-02 14:12:40 -06:00
Matthew Bauer e3b02a49c9 i3-lock-color: broken on clang
(cherry picked from commit ff12b98820bccc8f2ddb3f82ba7d12391375042e)
2018-12-02 14:12:39 -06:00
Matthew Bauer 28e2277305 make-derivation: remove selfConsistent check
version is set in lots of places but might not need to be in a name.

Alternative to #50364.
2018-11-30 17:58:33 +01:00
Matthew Bauer 76c7a8bac0 Merge pull request #51205 from matthewbauer/more-setup-hooks
Add premake & imake setup hook
2018-11-29 19:36:25 -06:00
Matthew Bauer e6834171b9 Merge pull request #51183 from matthewbauer/make-derivation-no-assertions
Fix breaking changes to make-derivation
2018-11-29 19:35:55 -06: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
Matthew Bauer ce6d558c4d systems/examples.nix: move riscv function to let binding
Makes it easier to use mapAttrs with lib.systems.examples. Now every
entry in it are legitimate systems.
2018-11-29 19:15:28 -06:00
Matthew Bauer 1cd300e57b Merge pull request #51255 from vaibhavsagar/fix-musl
pkgs/stdenv/generic/make-derivation.nix: s/targetPlatform/hostPlatform/
2018-11-29 19:00:00 -06:00
Matthew Bauer c0a804c747 treewide: add dontUseImakeConfigure where needed
We need to set dontUseImakeConfigure in a few places to prevent imake
from overriding the default configure phase. This packages all have a
configure script that needs to get run:

- Xaw3d
- R
- tkgate
- ssvnc
2018-11-28 20:14:45 -06:00
Matthew Bauer 38f1b48232 tightvnc: use imake setup hook 2018-11-28 20:14:44 -06:00
Matthew Bauer 5d9b3a8e8b nas: use imake setup hook 2018-11-28 20:14:44 -06:00
Matthew Bauer 8e4b0ceeb2 vncrec: use imake setup hook 2018-11-28 20:14:43 -06:00
Matthew Bauer 3f00c67ef9 x11-ssh-askpass: cleanup 2018-11-28 20:14:42 -06:00
Matthew Bauer f0077dc7da transfig: use imake setup hook 2018-11-28 20:14:41 -06:00
Matthew Bauer c90dba094d xzoom: use imake setup hook 2018-11-28 20:14:40 -06:00
Matthew Bauer fd1a5aecab xvkbd: use imake setup hook 2018-11-28 20:14:40 -06:00
Matthew Bauer 39122285ba xbrightness: use imake setup hook 2018-11-28 20:14:39 -06:00
Matthew Bauer be10bee0e4 x2x: use imake setup hook 2018-11-28 20:14:38 -06:00
Matthew Bauer 92c119fb31 xautolock: use imake setup hook 2018-11-28 20:14:38 -06:00
Matthew Bauer 1eab4151d4 xsnow: use imake setup hook 2018-11-28 20:14:37 -06:00
Matthew Bauer cbf9b5610b larswm: use imake setup hook 2018-11-28 20:14:37 -06:00
Matthew Bauer 8a4da41849 xearth: use imake setup hook 2018-11-28 20:14:36 -06:00
Matthew Bauer cf3940ef95 xxkb: use imake setup hook 2018-11-28 20:14:36 -06:00
Matthew Bauer f5be016c23 xmove: remove
This package is unmaintained.

https://packages.qa.debian.org/x/xmove/news/20090130T204752Z.html
2018-11-28 20:14:35 -06:00
Matthew Bauer 3d3f87365c xcruiser: add setup hook
Cleans things up a bit here.
2018-11-28 20:14:34 -06:00
Matthew Bauer a858113076 oneko: use imake setup hook
Simplifies some things here.
2018-11-28 20:14:33 -06:00
Matthew Bauer 613e262fc2 imake: add setup hook 2018-11-28 20:14:33 -06:00
Matthew Bauer 801b375925 tome4: use premake hook 2018-11-28 20:14:32 -06:00
Matthew Bauer 9d2c6ea47a otfcc: use premake setup hook 2018-11-28 20:14:32 -06:00
Matthew Bauer 0984032d6a gmad: use premake setup hook 2018-11-28 20:14:31 -06:00
Matthew Bauer 932c1ff4c8 distrho: cleanup premake usage 2018-11-28 20:14:30 -06:00
Matthew Bauer e0471b6c45 yojimbo: use premake build hook 2018-11-28 20:14:30 -06:00
Matthew Bauer a06eb84705 bootil: cleanup installation
A few changes needed here:

- We don’t want to guess what our platform is. We can patch location
  and targetdir to not put things in an unpredictable directory.
- Make premake4 a native build input.
- Set the premakefile variable.
2018-11-28 20:14:29 -06:00
Matthew Bauer fd78464de9 premake: add setup-hook
Adds a configure phase for packages using premake.
premakeConfigurePhase runs the correct premake version for the premake
you are using (see premake_cmd).
2018-11-28 20:14:29 -06:00
Matthew Bauer 54737e329b doc: fix incorrect example
For whatever reason, nix-build ... --argstr a.b "c" doesn't work. It fails quitely so it's best to use an example here that works.
2018-11-28 16:00:43 -06:00
Matthew Bauer a56fe056ec make-derivation: don’t add host suffix if there is no c compiler
Some trivial builders use the name attr to choose the exec name
produced. For example nixos-install,

  nixos-install = makeProg {
    name = "nixos-install";
    src = ./nixos-install.sh;
    nix = config.nix.package.out;
    path = makeBinPath [ nixos-enter ];
  };

When cross compiling, this puts the prog in,

  /bin/nixos-install-powerpc64le-unknown-linux-gnu
2018-11-28 12:44:10 -06:00
Matthew Bauer a9b7fa7634 Revert "treewide: for substituteAll: s/version/version_/"
This reverts commit 1e99582eaf.
2018-11-28 12:30:24 -06:00
Matthew Bauer d64f288154 make-derivation: don’t assert on separateDebugInfo
When separateDebugInfo = true & !stdenv.hostPlatform.isLinux, we
always gave an error. There is no reason to do this. Instead, just
don’t add separate debug info when we aren’t on Linux.
2018-11-28 12:29:00 -06:00
Matthew Bauer 13e45aeed3 make-derivation: remove selfConsistent check
version is set in lots of places but might not need to be in a name.

Alternative to #50364.
2018-11-28 12:26:21 -06:00
Matthew Bauer c315b9ec52 Merge pull request #51118 from bennofs/fix-mkpasswd
mkpasswd: fix cross compilation
2018-11-28 11:59:05 -06:00
Matthew Bauer c94162dbec Merge pull request #48273 from volth/patch-269
fetchgit: use buildPackages's git

Fixes #51119
2018-11-28 11:57:13 -06:00
Matthew Bauer 7fa8c41c4a Merge pull request #50235 from illegalprime/more-fhsuserenv-blacklists
fix FHSUserEnv blacklists
2018-11-28 09:32:01 -06:00
Matthew Bauer 7eeb02d47b Revert "make-derivation: add disallowedReferences in strictDeps"
This reverts commit 8dbfb61e46.
Also reverts commit fc99c337ed.

Fixes #50915
2018-11-25 15:53:28 -06:00
Matthew Bauer 11e2f31532 kmymoney: cleanup install check
A few things changed:

- no need for stdenv.hostPlatform == stdenv.buildPlatform conditional - this is already done in make-derivation
- put xvfb_run in installCheckInputs
2018-11-24 13:46:54 -06:00
Matthew Bauer 67b7a57e30 Merge pull request #46310 from hamishmack/gobject-introspection-macos
gobject-introspection: Fix macos shared lib paths
2018-11-21 15:39:38 -06:00
Matthew Bauer 75999d4e38 Merge pull request #41887 from gmarmstrong/fix/seahorse-update
nixos/seahorse: require gnome3.dconf
2018-11-21 15:15:32 -06:00
Matthew Bauer fc99c337ed make-derivation: don’t disallow propagated native inputs
propagateNativeBuildInputs will end up going in the output derivation.
This case is allowed to end up in references because of that. Sorry
for the disruption!

Fixes #50865
2018-11-21 09:39:47 -06:00
Matthew Bauer 3d6f6e3e7f libvpx-git: remove
Older than the stable version.
2018-11-21 09:39:33 -06:00
Matthew Bauer 5ad5708f83 arb-git: remove
Older than the stable version
2018-11-21 09:39:23 -06:00
Matthew Bauer f4bf6ba67b mdbtools: 0.6pre1 -> 0.7.1
Also remove mbdtools_git. This was older than mbdtools!
2018-11-21 09:39:11 -06:00
Matthew Bauer 3e6d7a2329 ao: replace with libfive
ao has been renamed to libfive. Because there’s already a libfive
package, we can just remove the old ao package. No packages appear to
depend directly on it.
2018-11-21 09:38:53 -06:00
Matthew Bauer 4e68511bb1 bintools: use i386 on all 32 bit x86 systems 2018-11-21 09:38:28 -06:00
Matthew Bauer 4b00cfe77f systems/parse: add older x86 architectures
i386, i486, i586 are added. These may have issues as many places
assume i686 is the only valid 32 bit x86 architecture.
2018-11-21 09:38:10 -06:00
Matthew Bauer 4d8664e593 libtirpc: fix cross compilation
KRB5_CONFIG needs to be aviailable to get the right one when cross
compiling. These things should just use pkgconfig, but it’s fairly
easy to hack around this. krb5-config will not be on path because we
don’t know ahead of time what architecture it will be for.
2018-11-21 01:48:22 -06:00
Matthew Bauer d492f53faf Merge pull request #50527 from matthewbauer/ninja-check-phase
Add check phase to ninja setup hook
2018-11-20 16:55:12 -06:00
Matthew Bauer 70e2b0bef0 cmake: also set CTEST_PARALLEL_LEVEL 2018-11-19 18:14:44 -06:00
Matthew Bauer 285eb9a894 cmake: set CTEST_OUTPUT_ON_FAILURE globally
We should always use this.
2018-11-19 16:16:16 -06:00
Matthew Bauer 5767ea8955 bc: flex is also a runtime dep
This is one of the rare times when flex is not just needed at build
time. When cross compiling, we will need 2 versions of flex - one for
the local system and one for the cross system.
2018-11-19 16:05:33 -06:00
Matthew Bauer 123da1f9c8 Merge pull request #50674 from matthewbauer/proofing
Doc clean up
2018-11-19 14:13:54 -06:00
Matthew Bauer c2e6a4362a doc/cross-compilation: remove reference to old wiki
The link doesn’t work and it’s not very important to the documentation anyway.
2018-11-19 13:03:24 -06:00
Matthew Bauer 5e9f452385 doc/reviewing-contributions: pull-requests -> pull requests
This makes things more consistent. It’s also how GitHub refers to pull
requests.
2018-11-19 13:03:23 -06:00
Matthew Bauer 9d3108c3ae doc/cross-compilation: fixup
More cleanups and stuff. May need to be split up.
2018-11-19 13:03:23 -06:00
Matthew Bauer ee58ab3cb9 doc/platform-notes: reword xcode warning
xcbuild doesn’t work exactly like xcode in some ways.
2018-11-19 13:03:23 -06:00
Matthew Bauer 4a49921a69 doc/stdenv: more changes
Lots of reworking here. May need to be split up.
2018-11-19 13:03:22 -06:00
Matthew Bauer 49e5bd0dbe doc/stdenv: document more setup hook
Here I document setup hooks provided by:

- cmake
- xcbuildHook
- meson
- ninja
- unzip
- wafHook
- scons
2018-11-19 13:03:09 -06:00
Matthew Bauer 4621d14b4a doc/stdenv: document prefixKey
This seems like a useful thing to document
2018-11-19 13:02:31 -06:00
Matthew Bauer b01613c9ce doc: move checkInputs to check phase section
This makes more sense in context.
2018-11-19 13:02:31 -06:00
Matthew Bauer 32ddbe3da9 doc: typo fixes 2018-11-19 13:02:17 -06:00
Matthew Bauer b75d5adb33 ninja: restore old -l flag value
This can be set unconditionally to $NIX_BUILD_CORES according to
@orivej.
2018-11-18 19:31:03 -06:00
Matthew Bauer a16c04c9d3 ninja: don’t use build/install/check flags in setup-hook
These don’t have much use in ninja, so easiest to leave them out.
2018-11-18 19:31:02 -06:00
Matthew Bauer 4ebab3de1e ninja: use -t query to find test target 2018-11-18 19:31:02 -06:00
Matthew Bauer 2c47a4229f treewide: remove ctest usages
These are already in the generated makefiles!
2018-11-18 19:31:02 -06:00
Matthew Bauer f6f7283e69 meson: remove check phase
This is now handled in ninja.
2018-11-18 19:31:01 -06:00
Matthew Bauer 9433a3882b ninja: fix mistake in setup-hook 2018-11-18 19:31:01 -06:00
Matthew Bauer 955fd85829 treewide: remove "ninja test" checkPhase
This is now handled in the ninja setup hook.

(cherry picked from commit f5e099754fffc3d2b68c8ba6fc8025f3c921fddc)
2018-11-18 19:31:01 -06:00
Matthew Bauer 69d1151bfa ninja: make setup-hook.sh closer to setup.sh
Things changed in the Ninja setup-hook:
- Respect installFlags
- Automatically add checkPhase (can be disabled with dontUseNinjaCheck
  in the same way as dontUseNinjaBuild and dontUseNinjaInstall). Tests
  are only run when "ninja test" exists.
- Error in build phase when build.ninja is missing. We don’t have a
  way to fall back to other build methods, so it’s best to be very
  clear when we aren’t able to build with ninja
- Set -l flag to 1 when enableParallelBuilding is disabled
2018-11-18 19:31:01 -06:00
Matthew Bauer 2c1d3a9a82 Merge remote-tracking branch 'upstream/master' into staging 2018-11-18 19:02:09 -06:00
Matthew Bauer e6f4f0ef8d libgcrypt: pass --with-libgpg-error-prefix
Avoids having to put the gpg-error-config binary directly in PATH.

/cc @shlevy
2018-11-18 18:52:43 -06:00
Matthew Bauer 5f575e7339 ghc: perl is needed at runtime
ghc-split is a script that is written in perl. We need to have a perl interpreter around to use it.

Fixes #50569
2018-11-18 18:47:02 -06:00
Matthew Bauer e2817a270b inkscape: make python & perl runtime deps
These two interpreters are needed for some runtime scripts.

Fixes #50570
2018-11-18 18:47:02 -06:00
Matthew Bauer 0925c482c8 Merge pull request #50556 from oxij/pkgs/curl-cleanup
curl: move option defaults from `all-packages.nix` to the derivation itself
2018-11-18 18:25:36 -06:00
Matthew Bauer c52a5c5b23 Merge pull request #47930 from jamtrott/gnulib
gnulib: add a symlink from bin/gnulib-tool to gnulib-tool
2018-11-17 20:38:07 -06:00
Matthew Bauer 3f0bd4c334 Merge pull request #50363 from matthewbauer/cleanups3
Fallout fixes from #50293
2018-11-14 16:39:28 -06:00
Matthew Bauer df8ee06477 glib: only add gsettingsschemadir in make
gsettingsschemedir only works in make where you can set any variable
from the command line as in “make VAR=VAL”. Other build systems may
not support this kind of loose overriding of variables. This broke a
scons build here:

  https://hydra.nixos.org/build/84073119/
2018-11-14 14:02:56 -06:00
Matthew Bauer d375193057 dxx-rebirth: prevent infinite loop
The postInstall phase should not run postInstall itself! My mistake in
renaming the old installPhase.
2018-11-14 14:02:10 -06:00
Matthew Bauer 9cac8feafb mapnik: use provided configure script
This gives us support for the class autoconf “./configure && make &&
make install” build-style.
2018-11-14 14:00:19 -06:00
Matthew Bauer b6fce7201e xboxdrv: add dontUseSconsInstall flag
xboxdrv doesn’t use scons for installing, but instead using a
makefile! Everything else is in scons so we have to keep that. I’ve
added a dontUseSconsInstall flag to the scons setup-hook to skip the
automatic overwrite of default “make install” call.
2018-11-14 13:57:41 -06:00
Matthew Bauer 0874ee8f05 Merge pull request #47684 from roberth/nixpkgs-nixosTest
Add pkgs.nixosTest
2018-11-14 11:20:46 -06:00