Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Bauer a2d9f58433 Merge pull request #85512 from ggreif/wasmtime
wasmtime-0.12.0: fix cargoSha256
2020-04-18 22:03:24 -05:00
Matthew Bauer 97fc083fd4 giac: broken on 64-bit blas 2020-04-17 16:24:31 -05:00
Matthew Bauer fcf33e2499 scs: breaks on 64bit blas 2020-04-17 16:24:31 -05:00
Matthew Bauer 98fb0ede70 arrayfire: remove mkl
This is unfree.
2020-04-17 16:24:30 -05:00
Matthew Bauer d83e9c9573 setup-hooks/audit-blas.sh: init
Add a simple hook that makes sure blas and lapack are linked to the
right place.
2020-04-17 16:24:25 -05:00
Matthew Bauer 7841b4290f pkgs/release-alternatives.nix: create
Add some ability to test the different BLAS/LAPACK implementations
together.
2020-04-17 16:24:16 -05:00
Matthew Bauer 1c8aba8334 treewide: use blas and lapack
This makes packages use lapack and blas, which can wrap different
BLAS/LAPACK implementations.

treewide: cleanup from blas/lapack changes

A few issues in the original treewide:

- can’t assume blas64 is a bool
- unused commented code
2020-04-17 16:24:09 -05:00
Matthew Bauer 43873351ff blas/lapack: add wrapper for “alternative”s of BLAS/LAPACK provider
This is based on previous work for switching between BLAS and LAPACK
implementation in Debian[1] and Gentoo[2]. The goal is to have one way
to depend on the BLAS/LAPACK libraries that all packages must use. The
attrs “blas” and “lapack” are used to represent a wrapped BLAS/LAPACK
provider. Derivations that don’t care how BLAS and LAPACK are
implemented can just use blas and lapack directly. If you do care what
you get (perhaps for some CPP), you should verify that blas and lapack
match what you expect with an assertion.

The “blas” package collides with the old “blas” reference
implementation. This has been renamed to “blas-reference”. In
addition, “lapack-reference” is also included, corresponding to
“liblapack” from Netlib.org.

Currently, there are 3 providers of the BLAS and LAPACK interfaces:

- lapack-reference: the BLAS/LAPACK implementation maintained by netlib.org
- OpenBLAS: an optimized version of BLAS and LAPACK
- MKL: Intel’s unfree but highly optimized BLAS/LAPACK implementation

By default, the above implementations all use the “LP64” BLAS and
LAPACK ABI. This corresponds to “openblasCompat” and is the safest way
to use BLAS/LAPACK. You may received some benefits from “ILP64” or
8-byte integer BLAS at the expense of breaking compatibility with some
packages.

This can be switched at build time with an override like:

    import <nixpkgs> {
        config.allowUnfree = true;
        overlays = [(self: super: {
          lapack = super.lapack.override {
            lapackProvider = super.lapack-reference;
          };
          blas = super.blas.override {
            blasProvider = super.lapack-reference;
          };
        })];
      }

or, switched at runtime via LD_LIBRARY_PATH like:

    $ LD_LIBRARY_PATH=$(nix-build -E '(with import <nixpkgs> {}).lapack.override { lapackProvider = pkgs.mkl; is64bit = true; })')/lib:$(nix-build -E '(with import <nixpkgs> {}).blas.override { blasProvider = pkgs.mkl; is64bit = true; })')/lib ./your-blas-linked-binary

By default, we use OpenBLAS LP64 also known in Nixpkgs as
openblasCompat.

[1]: https://wiki.debian.org/DebianScience/LinearAlgebraLibraries
[2]: https://wiki.gentoo.org/wiki/Blas-lapack-switch
2020-04-17 16:23:55 -05:00
Matthew Bauer 90326ba624 lapack: enable shared libraries, cblas, and tests 2020-04-17 16:17:12 -05:00
Matthew Bauer 57e20c5d87 Merge pull request #83362 from bachp/boinc
nixos/boinc: simplify setup of boinc service
2020-04-14 15:55:54 -04:00
Matthew Bauer 156c67858f Merge pull request #85017 from r-ryantm/auto-update/android-udev-rules
android-udev-rules: 20191103 -> 20200410
2020-04-13 11:11:25 -04:00
Matthew Bauer 473cf3a189 Merge pull request #85084 from primeos/android-studio-license-fix
android-studio: Fix the license (unfree)
2020-04-13 11:10:33 -04:00
Matthew Bauer 9ef6f1aa99 Merge pull request #84933 from matthewbauer/fix-bazel-copts
build-bazel-package: fix linkopt flags
2020-04-11 15:31:35 -04:00
Matthew Bauer 184cd9f6ff build-bazel-package: fix linkopt flags
These values were incorrect. We need to use NIX_LDFLAGS, not
NIX_LD_FLAGS. Also need to prefix all flags with -Wl, for GCC to
accept it.
2020-04-10 15:41:39 -04:00
Matthew Bauer 55e82502a5 Merge pull request #84689 from matthewbauer/fix-77290
kwallet-pam: just provide plugin path for qtbase
2020-04-09 10:49:09 -04:00
Matthew Bauer f0db4de598 kwallet-pam: unset QT_PLUGIN_PATH
kwallet sets a limit of 1000 for a single characters for environment
variables read from the socket[1]. wrapQtApps gives us a huge value
for QT_PLUGIN_PATH (up to 13000 bytes on my system!) Since this was
overflowing, the Qt plugin loading mechanism was hitting a segfault
when it was trying to parse the truncated QT_PLUGIN_PATH.

So for now, we can just unset QT_PLUGIN_PATH in the pam_kwallet_init
script. kwalletd5 has its own QT_PLUGIN_PATH which it can use.

This problem occured on 20.03, but not 19.09. It’s unclear what
changes were made in that time, but likely that previously we weren’t
getting a QT_PLUGIN_PATH set in the plasma5 startup at all. This means
that in 19.09 our QT_PLUGIN_PATH value must have been small enough to
fit into the 1000 char limit.

Fixes #77290

[1]: https://github.com/KDE/kwallet/blob/bc9713e2725ab1c4311866f751c674a38584bd92/src/runtime/kwalletd/main.cpp#L44

/cc @ttuegel
2020-04-09 10:48:14 -04:00
Matthew Bauer eab992b4ac Merge pull request #83112 from bhipple/dev/reltools-cleanup
releaseTools: no-op expression cleanup
2020-04-04 17:18:28 -05:00
Matthew Bauer efae68aa49 Merge pull request #83906 from nh2/krb5-1.18-fix-musl-build
krb5: Add patches to fix build with musl on 1.18
2020-04-01 15:08:08 -05:00
Matthew Bauer fd6278500b Merge pull request #83889 from matthewbauer/andyetitmoves-make-unconditional
andyetitmoves: make unconditional
2020-03-31 22:06:45 -05:00
Matthew Bauer 6852f3c988 Merge pull request #83890 from matthewbauer/remove-ppc-bootstrap-tools
stdenv/linux: remove powerpc64le bootstrap tools
2020-03-31 22:05:50 -05:00
Matthew Bauer 8e3c712e24 Merge pull request #83891 from matthewbauer/retroarch-fix-macos
retroarch/cores.nix: use correct platform for darwin
2020-03-31 22:05:36 -05:00
Matthew Bauer eb84499355 retroarch/cores.nix: use correct platform for darwin
This should fix the regression found in
https://hydra.nixos.org/eval/1577308#tabs-now-fail. The libretro
scripts use “osx” as the identifier for macOS, and “unix” seems to
mean linux.

If anyone could help out by confirming this works. I don’t currently
have access to a macOS machine.
2020-03-31 15:07:57 -04:00
Matthew Bauer e45f16b9f5 stdenv/linux: remove powerpc64le bootstrap tools
These files never existed, so best to not leave the reference. If
someone want to step up to maintain this, that would be fine. I don’t
have the hardware to test these out. In addition, someone tried to use
the bootstrap-tools currently built by Hydra and found that they were
broken in some unclear way.
2020-03-31 15:03:26 -04:00
Matthew Bauer cc7fec170b andyetitmoves: make unconditional
This should never be null - the meta.platforms gives us an assertion.
2020-03-26 17:32:25 -04:00
Matthew Bauer e003ae1874 Merge pull request #83159 from khumba/pydf
pydf: install man page and default config file
2020-03-26 11:00:40 -05:00
Matthew Bauer 1efa4c4f39 Merge pull request #83246 from r-ryantm/auto-update/rgbds
rgbds: 0.3.9 -> 0.3.10
2020-03-23 19:12:58 -04:00
Matthew Bauer 11f8bb71f8 Merge pull request #83240 from kolbycrouch/picodrive-fix
retroarch: fix picodrive on aarch64
2020-03-23 17:03:34 -04:00
Matthew Bauer e7dc153109 Merge pull request #83117 from Ninlives/netease-music-fix
netease-cloud-music: do not set QT_AUTO_SCREEN_SCALE_FACTOR
2020-03-22 14:47:12 -04:00
Matthew Bauer 082afb21f2 Merge pull request #79704 from rnhmjoj/powerline-fonts
powerline-fonts: install psf to share/consolefonts
2020-03-22 14:45:47 -04:00
Matthew Bauer bacccb7823 Merge pull request #80784 from enolan/fix-eatmydata
libeatmydata: fix launcher script - find shell library properly
2020-03-22 14:42:52 -04:00
Matthew Bauer b94300945a Merge pull request #75940 from davidtwco/wooting-init
wooting: init wootility, wooting-udev-rules and module
2020-03-22 02:03:52 -04:00
Matthew Bauer c08d6d55dc Merge pull request #82781 from DieGoldeneEnte/llvm10-rc4
llvmPackages_10: rc3 -> rc4 -> rc5, polly enabled by default
2020-03-22 02:00:41 -04:00
Matthew Bauer 46f8756aee Merge pull request #79593 from thefloweringash/wafhook-phases
wafHook: allow overriding phases and disabling of cross flags
2020-03-22 01:59:41 -04:00
Matthew Bauer 81d84153c7 Merge pull request #82633 from kolbycrouch/master
retroarch: 1.8.1 -> 1.8.5
2020-03-21 23:49:01 -04:00
Matthew Bauer ed46adb48b retroarch/cores.nix: use correct license for gw
This should be zlib the license, not zlib the package.
2020-03-21 23:38:58 -04:00
Matthew Bauer a8a0cb147f retroarch: remove macOS app support
This is badly out of date so requires extra work to get working.

Anyway, you can still use it without the menu, with no problem.
2020-03-21 23:36:54 -04:00
Matthew Bauer 9d8d66baf5 nixos/nixpkgs.nix: Allow just using config in system (#80818)
* nixos/nixpkgs.nix: Allow just using config in system

This assertion requires system to work properly. We might not have
this in cases where the user just sets config and wants Nixpkgs to
infer system from that. This adds a default for when this happens,
using doubleFromSystem.

* parens
2020-03-21 23:23:24 -04:00
Matthew Bauer 6b95893a6d Merge pull request #81042 from KoviRobi/zhf-20.03-fix-noweb
noweb: fix installation of manpages, use placeholders
2020-03-21 23:21:19 -04:00
Matthew Bauer 0127594a93 Merge pull request #80778 from expipiplus1/restic-cross
restic: fix cross compilation
2020-03-21 23:18:51 -04:00
Matthew Bauer 4327049a1c Merge pull request #82708 from hamishmack/openssl-musl
openssl: Fix openssl build for x86_64-unknown-linux-musl
2020-03-21 23:10:53 -04:00
Matthew Bauer 293b16aae9 Merge remote-tracking branch 'origin/master' into retroarch-update 2020-03-21 23:01:45 -04:00
Matthew Bauer f094e132e2 retroarch/cores.nix: cleanup
- Avoid using overrides unless necessary
- Set platform and ARCH by default
- Don’t set dontConfigure unless absolutely necessary
- Use preBuild instead of overriding entire configurePhase
2020-03-21 23:01:01 -04:00
Matthew Bauer d513980ea6 retroarch: 1.8.4 -> 1.8.5 2020-03-21 22:59:18 -04:00
Matthew Bauer e1cab10dcd Revert " Fix init"
This reverts commit e68a4094d2.
2020-03-21 22:58:58 -04:00
Matthew Bauer bd0fef954a Merge pull request #83046 from khumba/patch-shebangs-error-message-fix
patch-shebangs.sh: fix error messages to go to stderr, not '0' file
2020-03-20 22:13:14 -04:00
Matthew Bauer 078b222dc6 Merge pull request #83010 from volth/patch-393
$toplevel/system: use kernel's architecture
2020-03-20 14:05:00 -04:00
Matthew Bauer bd15dfa21b Merge pull request #82853 from sepiabrown/patch-2
glib-networking for TLS/SSL network (https://) in xwidget
2020-03-18 13:48:35 -04:00
Matthew Bauer 655e29d049 Merge pull request #81858 from matthewbauer/mb-cross-fixes-march-2020
Cross compilation fixes (march 2020)
2020-03-16 18:51:51 -04:00
Matthew Bauer 67b0ddf3f3 Merge remote-tracking branch 'origin/staging' into mb-cross-fixes-march-2020 2020-03-16 14:34:03 -04:00
Matthew BauerandJan Tojnar e9c2957c14 treewide: add comments on where native inputs are needed
makes it more clear why this happens

Co-Authored-By: Jan Tojnar <jtojnar@gmail.com>
2020-03-16 14:27:23 -04:00
Matthew BauerandJan Tojnar c6b320a679 bubblewrap: put docbook_xsl, libxslt in nativeBuildInputs
Co-Authored-By: Jan Tojnar <jtojnar@gmail.com>
2020-03-16 14:24:09 -04:00
Matthew Bauer acb24b4cc4 lib/systems: Assume newlib when no kernel and no libc is provided
newlib is the default for most tools when no kernel is provided. Other
exist, but this seems like a safe default.

(cherry picked from commit 8009c20711)
2020-03-12 02:22:19 -04:00
Matthew Bauer 8d72e6bd5f util-linux: use $bin output for umount
This wasn’t updated when adding the bin output.
2020-03-06 07:14:20 +01:00
Matthew Bauer dfbe76a681 waf: move binary to $out/bin/
Originally this was just the executable, but this breaks nix-shell
usage. Instead, just do a normal directory.

Fixes #79909
2020-03-06 07:06:01 +01:00
Matthew Bauer 1265615594 gtk-icon-cache: get native gtk3 for icon cache 2020-03-06 00:45:48 -05:00
Matthew Bauer f8006597a8 breeze-plymouth: make some things native
some of these only need to be on the build machine.
2020-03-06 00:45:48 -05:00
Matthew Bauer 1bac797616 plymouth: update configure flags
- only set host when cross compiling
- use top-level configureFlags and installFlags instead of putting it
  in the pre configure.
2020-03-06 00:45:47 -05:00
Matthew Bauer d1e58be703 nixos-artwork: make imagemagick a native build input
This is only needed on the builder, no need to cross compile it.
2020-03-06 00:45:47 -05:00
Matthew Bauer 5ffd779348 pango: add glib to nativeBuildInputs
Needed for some build tool
2020-03-06 00:45:47 -05:00
Matthew Bauer 636a072df5 json-glib: add glib to nativeBuildInputs
Needed for some build tools in glib
2020-03-06 00:45:47 -05:00
Matthew Bauer 7996be73b5 gsettings-desktop-schemas: add glib to nativeBuildInputs 2020-03-06 00:45:46 -05:00
Matthew Bauer 7aed3f8877 dconf: needs glib in nativeBuildInputs 2020-03-06 00:45:46 -05:00
Matthew Bauer ebdd644836 atk: needs glib in nativeBuildInputs 2020-03-06 00:45:46 -05:00
Matthew Bauer 895ef23658 libsoup: needs glib in nativeBuildInputs 2020-03-06 00:45:46 -05:00
Matthew Bauer 439704b092 glade: add libxml2 to nativeBuildInputs
Some build tools are needed from here
2020-03-06 00:45:46 -05:00
Matthew Bauer 84b7c644ae gnome-desktop: needs glib in nativeBuildInputs 2020-03-06 00:45:45 -05:00
Matthew Bauer 66fcc60af8 epiphany: fix cross compilation 2020-03-06 00:45:45 -05:00
Matthew Bauer b5efbd50de libhandy: add libxml2 to nativeBuildInputs
Some build tools are needed for code gen.
2020-03-06 00:45:45 -05:00
Matthew Bauer 09c498fe66 libdazzle: add glib to nativeBuildInputs
This is needed for build tools.
2020-03-06 00:45:45 -05:00
Matthew Bauer d2775e4ce0 webkitgtk: ignore gettext when cross compiling
Unfortunately, CMake looks in CMAKE_PREFIX_PATH for binaries when
cross-compiling. This means that it will use gettext from
CMAKE_PREFIX_PATH even when we provide a gettext binary in PATH! This
is bad because the on in CMAKE_PREFIX_PATH is for the cross system,
not the native one. The only documented way I can find to change this
behavior is by manually setting the CMAKE_IGNORE_PATH variable.
2020-03-06 00:45:45 -05:00
Matthew Bauer f773ef51c5 gcr: specify libgrypt prefix
This is needed for cross because gcrypt-config is not available to
execute. It’s safe to do otherwise as well though.
2020-03-06 00:45:38 -05:00
Matthew Bauer f187d8c26f wlroots: add wayland as nativeBuildInputs
Needed on the build machine
2020-03-05 20:42:35 -05:00
Matthew Bauer 78f9cad387 cage: add wayland as nativeBuildInputs
Needed on the build machine
2020-03-05 20:42:09 -05:00
Matthew Bauer 8c3160b619 bubblewrap: use buildInputs instead of nativeBuildInputs
these are all libraries.
2020-03-05 20:41:46 -05:00
Matthew Bauer 5198179adc gstreamer: needs extra build inputs
Cross needs some extra native tools:

- glib
- wayland
- orc
- glib is needed in nativeBuildInputs

Also:

- bash-completion needs to be available for PKG_CONFIG_PATH
2020-03-05 20:41:06 -05:00
Matthew Bauer de14f0c6e1 libinput: move test dependencies to checkInputs
This avoids pulling them in when tests are disabled.
2020-03-05 20:40:45 -05:00
Matthew Bauer fdfde0324e libsecret: add glib as a native dependency
glib is both a native and target dependency. Some binary from glib is
used to generate files.
2020-03-05 20:40:28 -05:00
Matthew Bauer e0ac0546de libpsl: add libxslt as a native dependency
libxslt is actually both a target and native build input because some
libxslt binary is needed to generate files and the built binaries also
link against libxslt.
2020-03-05 20:39:34 -05:00
Matthew Bauer 42fe7c7d47 libevdev: python is a native input 2020-03-05 20:39:00 -05:00
Matthew Bauer d8b92121d4 aspell: perl is also a native build input
This is needed for some scripts needed at build time.
2020-03-05 20:38:43 -05:00
Matthew Bauer bad6770d27 elfutils: remove unneeded custom cross build/install phase
This is no longer needed. elfutils compiles out of the box!
2020-03-05 20:38:30 -05:00
Matthew Bauer b8102aa32e Merge pull request #81844 from lopsided98/gcc-separate-output-cross
gcc: place cross-compiled target libraries in lib output
2020-03-05 20:30:35 -05:00
Matthew BauerandFlorian Klink e0e4d591cc nixos/cage: init
Add a cage module to nixos. This can be used to make kiosk-style
systems that boot directly to a single application. The user (demo by
default) is automatically logged in by this service and the
program (xterm by default) is automatically started.

This is useful for some embedded, single-user systems where we want
automatic booting. To keep the system secure, the user should have
limited privileges.

Based on the service provided in the Cage wiki here:

https://github.com/Hjdskes/cage/wiki/Starting-Cage-on-boot-with-systemd

Co-Authored-By: Florian Klink <flokli@flokli.de>
2020-03-02 13:43:20 -08:00
Matthew Bauer 8009c20711 lib/systems: Assume newlib when no kernel and no libc is provided
newlib is the default for most tools when no kernel is provided. Other
exist, but this seems like a safe default.
2020-02-22 12:37:46 -05:00
Matthew Bauer 95f735008a Merge pull request #80107 from phryneas/fix-build-tools
androidenv build-tools: fix old versions under linux
2020-02-14 13:35:04 -05:00
Matthew Bauer ba30ee3389 Merge pull request #79708 from saschagrunert/unused-ldflags-var
cri-o: remove unused ldflags variable
2020-02-10 14:28:12 -05:00
Matthew Bauer e0595054e3 Merge pull request #79168 from helsinki-systems/fix/gnustep-base
gnustep/base: replace libbfd with binutils-unwrapped
2020-02-03 15:02:36 -05:00
Matthew Bauer fb36553584 Merge pull request #78397 from sternenseemann/uberwriter-bugfix
uberwriter: add shared-mime-info to environment and update
2020-01-28 14:44:08 -05:00
Matthew Bauer 3eb6e3f5ef v8: remove duplicate libs, cflags entries
This was an oversight, and unnecessary in the .pc file.
2020-01-28 11:37:15 -05:00
Matthew Bauer db29857eb3 Re-Revert "clang_7,clang_8,clang_9: fix compilation of HIP-code"
This reverts commit f14a4d60b7, and thus
applying 558af6fbc7.
2020-01-28 11:35:19 -05:00
Matthew Bauer f14a4d60b7 Revert "clang_7,clang_8,clang_9: fix compilation of HIP-code"
This reverts commit 558af6fbc7.

This was meant for staging. Will apply there.
2020-01-27 23:24:35 -05:00
Matthew Bauer d4ad868aaa Merge pull request #78308 from DieGoldeneEnte/clang-hip-patch
clang_7,clang_8,clang_9: fix compilation of HIP-code
2020-01-27 23:15:19 -05:00
Matthew Bauer 3a7fe07e3c Merge pull request #69057 from volth/ld-linux
add config.environment.ld-linux
2020-01-27 20:08:12 -05:00
Matthew Bauer 07db0b248c Merge remote-tracking branch 'obsidiansystems/work-on-multi-shellFor' 2020-01-17 18:00:27 -05:00
Matthew Bauer f23ad86d6f openssl: don’t separate debug info on useLLVM
fixes #77779
2020-01-15 13:16:10 -05:00
Matthew Bauer d7627dd2df Merge pull request #77520 from thefloweringash/libretro-snes9x-src
libretro.snes9x: 29b78d -> 04692e
2020-01-13 11:47:32 -05:00
Matthew Bauer 0ab7cf72c3 Merge pull request #77147 from hamishmack/email-sender-macos
perlPackages.EmailSender: Fix for macOS
2020-01-08 15:25:54 -05:00
Matthew Bauer 063935621c Merge pull request #77336 from matthewbauer/fix-missing-xmemdup-in-gnustep
gnustep/base: add libiberty to linker flags
2020-01-08 15:11:06 -05:00
Matthew Bauer 2c6eaef83e gnustep/base: add libiberty to linker flags
In https://github.com/NixOS/nixpkgs/issues/76927, we found that
xmemdup is missing when compiling some conftest for gnustep-base. It’s
unclear why this happens but it appears to be from the update to gcc9.
Adding libiberty gives us that symbol and fixes things. What’s less
clear is why this happens to begin with.

Fixes #76927
2020-01-08 15:05:57 -05:00
Matthew Bauer 4612d9cd57 Merge pull request #77243 from nomeata/joachim/wasmtime
wasmtime: 20191111 -> v0.8.0
2020-01-07 14:27:16 -05:00