3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

159526 commits

Author SHA1 Message Date
Austin Seipp 6054dabc11 foundationdb: rework python bindings, build system
FoundationDB uses Python at build time for some code generation.
However, it also has the official python bindings inside the source code
too, and the code for the Python bindings has some of it auto-generated
at compile time.

This made building python packages unattractive: we want to use the
source code generated from the FoundationDB build, but we don't want to
rebuild it. Previously we would override the 'python' input to the
FoundationDB module, but this meant we would do a complete rebuild, as
it was a necessary build time dependency, even though the resulting
generated code itself would not change. Furthermore, FoundationDB
versions < 6.0 don't properly support Python 3 *for the build system*,
though the bindings supported it, so that caused build failures. But the
first effect is the worst: it meant building separate python2 and
python3 packages implied two complete rebuilds of a single FoundationDB
version. This meant rather than 3 FDB builds, we'd do 3*N where N = the
number of major Python versions we support.

Finally, because we did not use pip to generate a wheel that we install
with metadata recorded for the installation, the FoundationDB python
package couldn't be used as an input to other setup.py-based packages:
there would be no recorded metadata in the dist-info folder which would
say this is the foundationdb package. This greatly limits its utility.

To fix all this, we do a few things:

  - Apply some patches to fix the build system with Python 3.x for
    older FoundationDB versions. (This is nice if end-users have
    overridden the global Python version for some reason.)
  - Move python directly into nativeBuildInputs, so it is only a
    build time dependency.
  - Take the python source code from the ./bindings directory and
    tar it up use later after the build is done, so we get to keep
    the generated code. This is the new 'pythonsrc' output from the
    build. This code doesn't change based on whether or not the input
    or resulting package is using Python 2 or 3, it's totally
    deterministic.
  - The build system also patches up the python source code a little,
    so it can be installed directly with setup.py (it needs a little
    stuff that it normally expects the build system to do.)
  - Rework the python package to a separate file that uses
    buildPythonPackage directly. Because the source code is already
    prepared, it needs almost nothing else. Furthermore, this kills
    the override itself for the foundationdb package, meaning rebuilds
    are no longer needed.
  - This package is very simple and just uses foundationdb.pythonsrc
    as its source input. It also ensures a link to libfdb_c.so can
    be found by ctypes (using substituteInPlace)
  - python-packages.nix now just uses callPackage directly.

The net effect of this is, most importantly, that python packages do not
imply a full rebuild of the server source code: building python2 and
python3 packages from a version of FoundationDB now does not need to
override the foundationdb python input, reducing the number of needless
builds. They instead just run setup.py with the given version as input.

The second biggest effect is that wheel metadata is recorded correctly,
meaning dependent-python-packages that want to use the FoundationDB
bindings e.g. from PyPi should now work fine with buildPythonPackage.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16 20:34:19 -06:00
Austin Seipp 32948a6f3d foundationdb: include fdb.options in .dev for binding generators
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16 20:22:40 -06:00
Austin Seipp 1629147423 openjdk11: enable ZGC on x86_64-linux
The Z Garbage Collector is a concurrent, scalable, low latency garbage
collector designed to meet extremely-low-pause-time requirements for
small-to-multi-TB heap sizes.

ZGC can be enabled with the magical incantation:

    $ java -XX:+UnlockExperimentalVMOptions -XX:+UseZGC ...

Currently, ZGC is only available for x86_64-linux (though a port for
aarch64-linux may become available at a future time.) There are also a
number of other features that currently aren't present, such as JVMCI
integration (meaning compiler tools like Graal which require JVMCI will
not work with ZGC enabled.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16 20:22:40 -06:00
gnidorah 7142a3a8ec pakcs: 2.0.2-b9 -> 2.0.2 2018-11-17 05:08:21 +03:00
Silvan Mosberger 5c4ed80ad7
Merge pull request #49835 from Synthetica9/fix-49826
nixos-generate-config: fix for swapless kernels
2018-11-17 02:53:43 +01:00
Jörg Thalheim 40449fe1ae
Merge pull request #47175 from avnik/fix/glfw
glfw: hardwire path to libGL.so.1
2018-11-17 01:38:05 +00:00
Jörg Thalheim d10c66c8ca
Merge pull request #50319 from fuwa0529/update-monero
monero: 0.13.0.3 -> 0.13.0.4
2018-11-17 01:23:08 +00:00
Carles Pagès 424107c490
Merge pull request #50431 from eadwu/nvidia_x11/410.78
nvidia_x11: 410.73 -> 410.78
2018-11-17 02:17:15 +01:00
Jörg Thalheim b8bb8638f3
Merge pull request #50003 from Mic92/node-10
nodePackages: 8_x -> 10_x
2018-11-17 00:12:52 +00:00
rnhmjoj 88a86f78a3
monero-gui: 0.13.0.3 -> 0.13.0.4 2018-11-17 01:07:08 +01:00
Jörg Thalheim 3c032bbadd
nodePackages: regenerate 2018-11-16 23:41:18 +00:00
Jörg Thalheim 43c8b6309f
Merge pull request #50481 from rnhmjoj/gnash
gnash: remove gstreamer support
2018-11-16 23:40:42 +00:00
Patrick Hilhorst 874b017564 vscode: 1.29.0 -> 1.29.1 (#50462) 2018-11-17 00:22:43 +01:00
c0bw3b 18f95bd6ba mdds: drop 0.7.x and 0.12.x 2018-11-17 00:02:48 +01:00
rnhmjoj 79192b2d05
gnash: remove gstreamer support 2018-11-16 23:56:52 +01:00
Michael Weiss 939bb2189b monetdb: 11.29.7 -> 11.31.11 2018-11-16 23:33:26 +01:00
Franz Pletz 264346bd8c
minishift: 1.25.0 -> 1.27.0 2018-11-16 23:32:06 +01:00
Christian Albrecht 08c3c0094a
minishift: add openshift input
minishift depdends on oc to control the openshift installation.
2018-11-16 23:18:51 +01:00
zimbatm b56191746e
nixos: doc typo and ws 2018-11-16 22:44:55 +01:00
Aaron Janse fba452f556
nodePackages: add fkill-clifix
fixes #49308
2018-11-16 21:36:36 +00:00
Christian Rackerseder 525587ce81
nodePackages.cpy-cli: init at 2.0.0
fixes #50303
2018-11-16 21:35:14 +00:00
Jörg Thalheim 25d6dc99bb
nodePackages: 8_x -> 10_x 2018-11-16 21:31:44 +00:00
Jörg Thalheim d688cedce1
create-cycle-app: unpin nodePackages version 2018-11-16 21:24:26 +00:00
Jörg Thalheim 552b2955d3
doc/node: document the new preferred node version 2018-11-16 21:24:25 +00:00
Jörg Thalheim 131f2e93b6
sage: unpin nodePackage version 2018-11-16 21:24:25 +00:00
Kevin Liu c93b16829c
boinc: 7.8.0 -> 7.14.2 2018-11-16 15:52:22 -05:00
Domen Kožar e81b1a06be
Add nodePackages_10_x.parcel-bundler 2018-11-16 20:46:19 +00:00
Maximilian Bosch c59c9a3737
pythonPackages.nose-cov: init at 1.6
Module for coverage reports with Python using nosetests.
2018-11-16 21:41:06 +01:00
Linus Heckemann 4ef0760808 lib/licenses: remove bsl10
Licence isn't used anywhere and nonfree.
2018-11-16 20:58:49 +01:00
Linus Heckemann 8fb1e5e166 lib/licenses: mark some as unfree
AMD license agreement (currently unavailable at the given URL, but
included in tarball) disallows reverse-engineering, modification,
redistribution etc;

BSL licenses limit commercial production use.
2018-11-16 20:58:33 +01:00
Samuel Dionne-Riel 07eaaf6c8b
Merge pull request #49838 from dasJ/mysql-datadir
nixos/mysql: Explicitly set datadir in my.cnf
2018-11-16 19:21:01 +00:00
Linus Heckemann d1eb06cb18
Merge pull request #50434 from bcdarwin/nifty_reg
niftyreg: init at 1.3.9; niftyseg: init at 1.0.0
2018-11-16 20:13:12 +01:00
Renaud 9100eb4083
Merge pull request #50465 from romildo/upd.obsidian-2
theme-obsidian2: 2.7 -> 2.8
2018-11-16 20:05:13 +01:00
Jean-Philippe Cugnet bdc04a7a72
erlangR21: 21.1.1 -> 21.1.2 2018-11-16 20:04:10 +01:00
Renaud 21ca2be9fb
Merge pull request #50461 from mayflower/at-tests
at: run tests
2018-11-16 20:03:55 +01:00
Ben Darwin cb6d819b93 niftyseg: init at 1.0.0 2018-11-16 12:29:29 -05:00
Ben Darwin 6aa3deeb50 niftyreg: init at 1.3.9 2018-11-16 12:24:53 -05:00
José Romildo Malaquias 65a5931ef5 theme-obsidian2: 2.7 -> 2.8 2018-11-16 15:02:45 -02:00
Jörg Thalheim 348b7b8be9 nixos/netdata: own plugins must the looked up first
Otherwise netdata will not find python modules.
To make sure netdata still pick up our setuid version of apps.plugin
we rename the original executable.
2018-11-16 11:24:27 -05:00
Jörg Thalheim d417ca7ba9 netdata: Disable files in /etc and /var 2018-11-16 11:24:27 -05:00
Mario Rodas 49ac683e70 netdata: 1.10.0 -> 1.11.0 2018-11-16 11:24:27 -05:00
Jörg Thalheim feda77de9e
Merge pull request #50457 from romildo/upd.vivaldi
vivaldi: 2.1.1337.36-1 -> 2.1.1337.47-1
2018-11-16 15:45:24 +00:00
Linus Heckemann 55c9afc140 at: run tests 2018-11-16 16:45:08 +01:00
Jörg Thalheim 9c050202a1
Merge pull request #50451 from Mic92/node-springclean-vol2
nodePackages: springclean take 2
2018-11-16 15:29:21 +00:00
Jörg Thalheim fe191176cf
Merge pull request #50454 from taku0/thunderbird-bin-60.3.1
thunderbird, thunderbird-bin: 60.3.0 -> 60.3.1
2018-11-16 15:26:36 +00:00
Andreas Rammhold b4f2c7ba8b
Merge pull request #50373 from pbogdan/ff-no-gs
firefoxen: remove unused gstreamer dependencies
2018-11-16 16:25:23 +01:00
Renaud 4d402da500
Merge pull request #50404 from bts/fix-nixnote2-post-install
nixnote2: fix window icon and themes
2018-11-16 16:21:49 +01:00
Jörg Thalheim 64f66db499
Merge pull request #49791 from Gerschtli/add/apcu-bc
php72Packages.apcu_bc: init at 1.0.4
2018-11-16 15:18:01 +00:00
Victor SENE a70779458a use correct path for read/write configuration 2018-11-16 16:05:02 +01:00
José Romildo Malaquias b14d1167c9 vivaldi: 2.1.1337.36-1 -> 2.1.1337.47-1 2018-11-16 12:28:38 -02:00