Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Bauer 807e45f643 jitsi: use X-Internet for desktop categories
avoids error from incorrect category name.
2020-05-07 15:17:09 -05:00
Matthew Bauer 764c8203b8 nixos/systemd.nix: don’t require online for multi-user.target
Not all systems need to be online to boot up. So, don’t pull
network-online.target into multi-user.target. Services that need
online network can still require it.

This increases my boot time from ~9s to ~5s.
2020-04-28 18:59:48 -05:00
Matthew Bauer b3f812688c kde/{kate,konqueror,okular}: decrease text mimetype preference
These .desktop files set InitialPreference>1 which will override other
associations even the .desktop appears first in XDG_DATA_DIRS. This
applies to:

- org.kde.kate.desktop
- org.kde.kwrite.desktop
- kfmclient_html.desktop
- okularApplication_txt.desktop

Fixes #86137
2020-04-27 23:00:25 -05:00
Matthew Bauer 712026ead1 Merge pull request #85246 from matthewbauer/use-system-libraries-for-grpcio
python.pkgs.grpcio: use system openssl, zlib, and c-ares
2020-04-27 14:46:03 -05:00
Matthew Bauer 537f10f044 Merge pull request #85945 from matthewbauer/compiler-rt-support-x86_32
llvm/compiler-rt.nix: add i{4,5,6}86 to X86 architecture
2020-04-27 14:45:39 -05:00
Matthew Bauer ff642c5694 llvm/compiler-rt.nix: add i{4,5,6}86 to X86 architecture
Fixes #85622
2020-04-24 10:22:21 -05:00
Matthew Bauer 4238b2b943 doc/overlays.xml: fix missing documentation for blas/lapack
This adds some more information to the documentation as well as
addressing review from https://github.com/NixOS/nixpkgs/pull/85636.
2020-04-22 12:43:14 -05:00
Matthew Bauer 3d18975478 python.pkgs.scipy: set SCIPY_USE_G77_ABI_WRAPPER=1
To avoid segmentation fault on MKL, we need to use the CBLAS ABI.
Normally, scipy will autodetect this, but here we don’t link using the
‘libmkl_rt.so’ name. So we need to manually set this.

See https://github.com/scipy/scipy/blob/50012918db47f0ec3418dd53f0277daa589f82e3/doc/source/building/linux.rst#fortran-abi-mismatch
2020-04-22 12:38:28 -05:00
Matthew Bauer 5a500ff0ba blas,lapack: use correct name for library
To match the soname, we need to use libblas.so.3, liblapack.so.3.
2020-04-22 12:37:04 -05:00
Matthew Bauer 3c41d61514 doc/overlays.xml: update documentation for BLAS/LAPACK
This expands the documentation and explains how to assert LP64.
2020-04-21 11:03:10 -05:00
Matthew Bauer 8f58fa044d blas,lapack: symlink headers when using mkl
Some of these are necessary for things like python.pkgs.numexpr
2020-04-21 00:30:44 -05:00
Matthew Bauer 0caa375b4c blas,lapack: provide symlink for libmkl_rt.so
This is needed for numpy to detect mkl correctly.
2020-04-20 23:47:10 -05:00
Matthew Bauer a6a502fca0 magma: remove mklSupport flag
This now relies on the "blas" and "lapack" packages.
2020-04-20 16:02:57 -05:00
Matthew Bauer ff2f2644f8 blas,lapack: use isILP64 instead of is64bit
This is a better name since we have multiple 64-bit things that could
be referred to.

LP64  : integer=32, long=64, pointer=64
ILP64 : integer=64, long=64, pointer=64
2020-04-20 16:02:43 -05:00
Matthew Bauer f86d582ea7 doc/overlays.xml: add information on BLAS/LAPACK switching 2020-04-20 15:50:28 -05:00
Matthew Bauer 3c9c894f83 blas,lapack: don’t patchelf
We have some unused RPATHs we don’t want shrunk. These are used in MKL
to dlopen based on architecture.
2020-04-20 15:50:28 -05:00
Matthew Bauer 015f46beba numpy: set lapack,blas library names correctly 2020-04-20 13:53:29 -05:00
Matthew Bauer c45295d47e nixos/nixos-generate-config.pl: use modulesPath instead of <nixpkgs>
For imports, it is better to use ‘modulesPath’ than rely on <nixpkgs>
being correctly set. Some users may not have <nixpkgs> set correctly.
In addition, when ‘pure-eval=true’, <nixpkgs> is unset.
2020-04-20 09:57:17 -05:00
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 6367a55312 fetchurl: don’t run ‘postFetch’ on hashed-mirrors
hashed-mirrors are content addressed. So if $outputHash is in the
hashed-mirror, changes from ‘postFetch’ would already be made. So,
running postFetch will end up applying the change /again/, which we
don’t want.
2020-04-16 16:36:56 -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 849f26d61c python.pkgs.grpcio: use system openssl, zlib, and c-ares 2020-04-14 15:13:37 -04:00
Matthew Bauer e520d6af29 Merge pull request #84415 from matthewbauer/mb-cross-fixes-april2020
Cross compilation fixes [april 2020]
2020-04-13 16:48:38 -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 3fb4b17de5 Merge pull request #84860 from matthewbauer/fix-79651
generic/setup.sh: allow clobbering env-vars file
2020-04-11 01:50:42 -04:00
Matthew Bauer 53752d0374 Merge pull request #83181 from matthewbauer/move-win-outputs
gcc: move .dll.a* outputs to $lib
2020-04-10 23:44:06 -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 e0fb0df64f generic/setup.sh: allow clobbering env-vars file
If the option ‘noclobber’ is set in Bash, we get an error when we
clobber an already existing env-vars. This is an okay error to ignore,
so just >| instead. Note that >| is NOT a Bashism[[1]].

Fixes #79651

[1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02
2020-04-09 22:39:16 -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 c6ff360cc4 python-dbusmock: avoid eval error when missing test output of bluez
This fixes an evaluation error that occurs when we don’t have
bluez.test. getOutput defaults to "out" in these cases.
2020-04-06 16:36:30 -04:00
Matthew Bauer 51ab062863 dvtm: add ncurses dev input to PATH
fixes cross compilation
2020-04-06 16:36:30 -04:00
Matthew Bauer dcb8c6fa8b kodi: fix cross compilation
- provide native binaries
- set cpu / os / etc. flags
- fix wayland compilation
2020-04-06 16:36:30 -04:00
Matthew Bauer 97309f7fa2 fstrcmp: patch for cross
Patches fstrcmp to cross-compile
2020-04-06 16:36:30 -04:00
Matthew Bauer 89dac3c856 flatbuffers: don’t build tests when cross compiling 2020-04-06 16:36:30 -04:00
Matthew Bauer 7887d50ae4 ftgl: add --with-ft-prefix for finding freetype
freetype-config is not in PATH when cross-compiling. We need to
provide our own.
2020-04-06 16:36:29 -04:00
Matthew Bauer bedd47ed4b libcddb: force malloc and realloc
This needs to be set to avoid having undefined malloc symbol.
2020-04-06 16:36:29 -04:00
Matthew Bauer a1c6dea273 libcdio: get native help2man 2020-04-06 16:36:29 -04:00
Matthew Bauer 72363f71bf libcec: get native cmake for cross 2020-04-06 16:36:29 -04:00
Matthew Bauer 433d5178ca setup-hooks/auto-patchelf.sh: get prefixed readelf 2020-04-06 16:36:29 -04:00
Matthew Bauer 5256aa688f libcrossguid: get prefixed utility 2020-04-06 16:36:29 -04:00
Matthew Bauer 5c80a3585b tinyxml2: fix cross compilation
- use native unzip
- add target prefix to LD
2020-04-06 16:36:28 -04:00
Matthew Bauer 71a9eb80e7 waylandpp: fix cross compilation
- add libffi dependency
- provide wayland-scanner++ when cross compiling
2020-04-06 16:36:28 -04:00
Matthew Bauer 99355cc2e4 libasyncns: override malloc null check in cross
This is needed to build and avoid malloc error.
2020-04-06 16:36:28 -04:00
Matthew Bauer a656aeb7f1 libvisual: fix null malloc check on cross
this is needed to build
2020-04-06 16:36:28 -04:00
Matthew Bauer 024877e7b2 alsa-plugins: move pkgconfig to native 2020-04-06 16:36:28 -04:00
Matthew Bauer 0bbdba2d11 bluez: don’t build python packages when tests are disabled
Can’t run these on cross anyway
2020-04-06 16:36:28 -04:00
Matthew Bauer e446334824 libvpx: set proper target name
- Needs to be like <cpu>-<os>-gcc.
- Remove unneeded --enable-external-build flag
    This confuses the feature detection and is not needed for cross
    compilation anymore.
2020-04-06 16:36:28 -04:00
Matthew Bauer 24f8bad37c libXres: enable cross-compilation
- adds utilmacros
- set null malloc flag
2020-04-06 16:36:27 -04:00
Matthew Bauer 7cc40e15e4 treewide/nixos: use stdenv.cc.libc instead of glibc when available
This prevents duplication in cross-compiled nixos machines. The
bootstrapped glibc differs from the natively compiled one, so we get
two glibc’s in the closure. To reduce closure size, just use
stdenv.cc.libc where available.
2020-04-06 16:36:27 -04:00
Matthew Bauer 8a5059e1cc fontconfig: only generate cache on native compilation
We can’t cross-compile the cache, so just skip it for now.
2020-04-06 16:36:22 -04:00
Matthew Bauer 6c5983a291 gdk-pixbuf: make target env hook
Unfortunately, we need to emulate the system to get a real cache.
Native version doesn’t know the right paths.
2020-04-06 16:36:22 -04:00
Matthew Bauer 93a8887531 hicolor-icon-theme: only add target icons to deps 2020-04-06 16:36:22 -04:00
Matthew Bauer 36109cda6e glib: put gsettings directory in target
These should be runtime, not build time deps
2020-04-06 16:36:22 -04:00
Matthew Bauer 80be56bd6a epiphany: include gtk3 build dependency 2020-04-06 16:36:21 -04:00
Matthew Bauer 777a2b4c56 xorg.libXScrnSaver: add utilmacros and malloc 0 2020-04-06 16:36:21 -04:00
Matthew Bauer 65b967fd38 libva: add wayland as native build input
Also set wayland-scanner to proper path
2020-04-06 16:36:21 -04:00
Matthew Bauer 3a71e62c56 plymouth: set systemd-tty-ask-password-agent path
This is needed in cross where systemd is not in path.
2020-04-06 16:36:21 -04:00
Matthew Bauer 139fd8b397 gdk-pixbuf: support cross compilation
- add glib to nativeBuildInputs
- only update loaders cache on native builds
2020-04-06 16:36:21 -04:00
Matthew Bauer f8347478a8 vulkan-loader: make cmake a native build input 2020-04-06 16:36:21 -04:00
Matthew Bauer 0f41c1582f cracklib: only use local binaries on native build 2020-04-06 16:36:21 -04:00
Matthew Bauer d0dbdfea4f git: fix cross compilation 2020-04-06 16:36:14 -04:00
Matthew Bauer 7d278d7e33 retroarch: add wayland dependency and fix cross
- Need custom pkg-config setting
- add wayland & libxkbcommon
2020-04-05 21:37:45 -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 c304c1e7d0 gcc: move .dll.a* outputs to $lib
These are expected to be here for Windows compilation. The change in
e1831ebea3 didn’t move these
correctly (while still patching the search paths).

https://hydra.nixos.org/build/114202790
2020-03-23 00:43:57 -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