Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Bauer 78cabc3ca9 libffado: refactor lib-prefixed package 2018-12-15 14:43:57 -06:00
Matthew Bauer e422585c0d Merge pull request #52146 from matthewbauer/readd-gcc-arm-embedded
Revert "gcc-arm-embedded: remove"
2018-12-15 14:22:34 -06:00
Matthew Bauer 676b840172 Merge pull request #50837 from bkchr/android_ndk_18_b
androidndk: 17c -> 18b
2018-12-15 13:35:12 -06:00
Matthew Bauer 4c9bbf01ef Revert "gcc-arm-embedded: remove"
This reverts commit c327df544a.
2018-12-15 12:32:12 -06:00
Matthew Bauer ac22b8db09 Merge pull request #51598 from AndersonTorres/upload/tecoc
tecoc: add BSD and Darwin/OSX support
2018-12-14 22:21:58 -06:00
Matthew Bauer 9a06f08d85 Merge pull request #51847 from plapadoo/fix-epsxe
epsxe: add libGLU_combined to buildInputs
2018-12-14 22:19:45 -06:00
Matthew Bauer ca00533887 Merge pull request #51966 from Twey/automatic-static-glibc
makeStaticBinaries: add a static glibc when performing a mkDerivation
2018-12-14 19:03:37 -06:00
Matthew Bauer af2cebe78f stdenv/darwin: fix portable libsystem hook
Some packages don’t have /bin directories. We should only run
install_name_tool if that directory exists.

(cherry picked from commit 0b8574540b)
2018-12-13 17:49:18 -05:00
Matthew Bauer 3c36dccd7c top-level/stage.nix: add static overlay
Adds the static overlay that can be used to build Nixpkgs statically.
Can be used like:

  nix build pkgsStatic.hello

Not all packages build, as some rely on dynamic linking.

(cherry picked from commit 6d90a8b894)
2018-12-13 14:04:34 -05:00
Matthew Bauer 3170d617ef ncurses: make shared linking optinoal
when enableShared = false, we set --without-shared flag.

(cherry picked from commit 53a67891ab)
2018-12-13 14:04:34 -05:00
Matthew Bauer a8e0694993 zlib: clean up static/shared distincion
This is kind of a mess, but basically:

- static=true, shared=true means to build statically but move it to
  the static output
- static=true, shared=false means to build statically and leave it in
  the main output
- static=false, shared=true means to not build static at all

Confusingly, the old default was static=true, shared=true even though
static=false? Still can’t figure out what was meant by that.

(cherry picked from commit e999def159)
2018-12-13 14:04:34 -05:00
Matthew Bauer f11d5341aa darwin/libiconv: fix static/shared logic
The conditional was incorrect - postInstall script should only hsppen
when enableShared = true.

(cherry picked from commit 5e06294276)
2018-12-13 14:04:33 -05:00
Matthew Bauer 7fcbc52d7d stdenv/adapters.nix: fixup makeStaticBinaries
- makeStaticBinaries don’t work on Darwin (no stable ABI!)
- Need to make sure NIX_CFLAGS_LINK appends
- isStatic is not used anymore

(cherry picked from commit 8726f6a558)
2018-12-13 14:04:33 -05:00
Matthew Bauer e84255296f stdenv: implement crossOverlays
crossOverlays only apply to the packages being built, not the build
packages. It is useful when you don’t care what is used to build your
packages, just what is being built. The idea relies heavily on the
cross compiling infrastructure. Using this implies that we need to
create a cross stdenv.

(cherry picked from commit a3a6ad7a01)
2018-12-13 14:04:33 -05:00
Matthew Bauer 465a5e1d97 Merge pull request #51880 from matthewbauer/simavr-mac
simavr: work on macOS
2018-12-11 20:36:58 -06:00
Matthew Bauer 79e886a61b simavr: work on macOS 2018-12-11 14:40:48 -06:00
Matthew Bauer a27c51f71f premake3: use premake3 -> premake
premake3 only has the "premake" executable. This is a little confusing
because premake4 and premake5 both have the version suffix.

Fixes #51744
2018-12-08 14:47:13 -06:00
Matthew Bauer ab22183941 Merge pull request #51469 from matthewbauer/gimp-fix
gimp: fix on darwin
2018-12-05 13:43:40 -06:00
Matthew Bauer 73a87b57a6 gimp: fix on darwin
Fixes #41071
2018-12-05 13:20:14 -06:00
Matthew Bauer 0b8574540b stdenv/darwin: fix portable libsystem hook
Some packages don’t have /bin directories. We should only run
install_name_tool if that directory exists.
2018-12-05 12:56:12 -06:00
Matthew Bauer ceee97c038 Merge pull request #48803 from matthewbauer/crossOverlays
Adding pkgsStatic: a fully static overlay
2018-12-04 22:16:31 -06:00
Matthew Bauer 6d90a8b894 top-level/stage.nix: add static overlay
Adds the static overlay that can be used to build Nixpkgs statically.
Can be used like:

  nix build pkgsStatic.hello

Not all packages build, as some rely on dynamic linking.
2018-12-04 21:56:03 -06:00
Matthew Bauer 53a67891ab ncurses: make shared linking optinoal
when enableShared = false, we set --without-shared flag.
2018-12-04 21:16:43 -06:00
Matthew Bauer e999def159 zlib: clean up static/shared distincion
This is kind of a mess, but basically:

- static=true, shared=true means to build statically but move it to
  the static output
- static=true, shared=false means to build statically and leave it in
  the main output
- static=false, shared=true means to not build static at all

Confusingly, the old default was static=true, shared=true even though
static=false? Still can’t figure out what was meant by that.
2018-12-04 21:14:41 -06:00
Matthew Bauer 5e06294276 darwin/libiconv: fix static/shared logic
The conditional was incorrect - postInstall script should only hsppen
when enableShared = true.
2018-12-04 21:13:24 -06:00
Matthew Bauer 8726f6a558 stdenv/adapters.nix: fixup makeStaticBinaries
- makeStaticBinaries don’t work on Darwin (no stable ABI!)
- Need to make sure NIX_CFLAGS_LINK appends
- isStatic is not used anymore
2018-12-04 21:12:17 -06:00
Matthew Bauer b966d3c583 treewide: remove static packages
Nixpkgs is meant to link everything dynamically. We don’t want to
expose static packages at the top level. If some package needs
statically built binaries, it should use a custom override.
2018-12-04 21:10:45 -06:00
Matthew Bauer a3a6ad7a01 stdenv: implement crossOverlays
crossOverlays only apply to the packages being built, not the build
packages. It is useful when you don’t care what is used to build your
packages, just what is being built. The idea relies heavily on the
cross compiling infrastructure. Using this implies that we need to
create a cross stdenv.
2018-12-04 21:06:46 -06:00
Matthew Bauer 9d8de9ffaa c-ares: don’t set configure flags
These aren’t needed with dontDisableStatic
2018-12-04 20:58:19 -06:00
Matthew Bauer 357732e6a3 Merge pull request #50936 from tathougies/travis/dhcpcd-runtime-shell
dhcpcd: Use runtimeShell in dhcpcd-run-hooks
2018-12-03 09:48:38 -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