Commit Graph
100 Commits
Author SHA1 Message Date
Austin Seipp 4f74e3abcf souffle: 1.2.0 -> 1.5.1, co-maintain
Souffle has seen some significant upgrades in the past few years and now
has trimmed and replaced several of its more expensive dependencies,
such as boost, openjdk, etc.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-03-12 00:45:38 -05:00
Austin Seipp 37fe6bf786 websocat: init at 1.3.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-03-10 16:50:24 -05:00
Austin Seipp f435d75d79 ttyd: init at 1.4.2_pre174_6df6ac3e
ttyd hasn't seen a release in a while, but has a few useful bugfixes and
features (such as IPv6) that are good to have. It also seems to fix a
few crashes I encountered (likely due to newer openssl/libwebsockets).
So in an untraditional fashion, we'll adopt this with a _pre tag to
ensure it gets bumped correctly later on.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-03-06 02:22:49 -06:00
Austin Seipp 0267483ac3 yosys: 2019.01.08 -> 2019.02.22
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 12:08:48 -06:00
Austin Seipp b30ad4be96 nextpnr: 2019.01.08 -> 2019.02.20
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 12:08:48 -06:00
Austin Seipp ad8d28c98f arachne-pnr: update git repo location
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 12:08:48 -06:00
Austin Seipp 609b49ea78 icestorm: 2018.12.31 -> 2019.02.23
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 12:08:48 -06:00
Austin Seipp ba59a8a9df trellis: 2018.12.20 -> 2019.02.21
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 12:08:48 -06:00
Austin Seipp c193b9c158 nixos/manual: fix missed <listitem> in highlights section
Otherwise, the "Kubernetes" note shows up inside the "Pantheon Desktop
Environment" highlight section.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 09:59:43 -06:00
Austin Seipp 136c3823ce nixos/manual: add 19.03 release note for cockroachdb module
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-23 09:55:00 -06:00
Austin Seipp d011a91b70 firecracker: 0.14.0 -> 0.15.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-22 13:23:46 -06:00
Austin Seipp 3a1f39e1de kernel: enable pressure stall information on 4.20+
Closes #56207.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-22 12:47:37 -06:00
Austin Seipp b59b5b2052 cockroachdb: 2.1.3 -> 2.1.5
Closes #56192.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-22 10:06:47 -06:00
Austin Seipp c36c048c0e dockerTools: mark store-path-to-layer.sh as executable
bcf54ce5bb introduced a treewide change to
use ${stdenv.shell} where-ever possible. However, this broke a script
used by dockerTools, store-path-to-layer.sh, as it did not preserve the
+x mode bit. This meant the file got put into the store as mode 0444,
resulting in a build-time error later on that looked like:

    xargs: /nix/store/jixivxhh3c8sncp9xlkc4ls3y5f2mmxh-store-path-to-layer.sh: Permission denied

However, in a twist of fate, bcf54ce5bb
not only introduced this regression but, in this particular instance,
didn't even fix the original bug: the store-path-to-layer.sh script
*still* uses /bin/sh as its shebang line, rather than an absolute path
to stdenv. (Fixing this can be done in a separate commit.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-21 08:30:47 -06:00
Austin Seipp c19807e25d foundationdb60: 6.0.17 -> 6.0.18
Fixes numerous bugs in blobstore backup.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-02-12 23:03:25 -06:00
Austin Seipp 5069fa0a30 nixpkgs: remove sapic-0.9
SAPIC is bundled with Tamarin and doesn't have separate releases
anymore; add an appropriate 'throw' clause to the alias so people know
where to find it.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-19 18:54:38 -06:00
Austin Seipp fc159594a7 tamarin-prover: 1.4.0 -> 1.4.1, bundled sapic
With this, we can drop the old 1.4.0 patches for 8.4 support, since
those are now upstream.

Furthermore, SAPIC Is now bundled inside Tamarin, so we can drop the
external dependency. (This includes a patch that compiles SAPIC to
native code, much like the original, to reduce closure size.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-19 18:54:38 -06:00
Austin Seipp 8cbe6b9ce4 nixpkgs: reorganize the postgresql extensions
This is a backwards compatible change; it mostly puts all the extensions
for postgresql in a common directory to keep them isolated.

It also moves a few things that /were not/ extensions out into other parts of
the filesystem namespace; namely the postgresql_jdbc and psqlodbc libraries
were moved under development/java-modules and development/libraries,
respectively. Because these libraries use the libpq postgresql client drivers,
they're less sensitive to underlying version changes anyway (since the protocol
is relatively stable).

No attributes were renamed or harmed in the creation of this patch.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-19 17:33:32 -06:00
Austin Seipp 73f56ae191 nixpkgs: move postgresql patches into a common directory
This simply makes it easier to browse the PostgreSQL package directory. More to
come.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-19 17:33:32 -06:00
Austin Seipp 564653f91d ocamlPackages.zarith: use buildOcaml instead of mkDerivation
This has two main advantages:

  - By setting hasSharedObjects = true, buildOcaml will automatically
include a setup-hook.sh that sets CAML_LD_LIBRARY_PATH in dependent
expressions. This is needed to pick up dllzarith.so properly which is
shipped as part of the library.

  - We can kill the ugly assert in the expression and instead change it
to use minimumSupportedOcamlVersion.

(Note: this was reverted in b44d5136e8, but the change is
exactly equivalent -- I wasn't sure what impact zarith might actually
have without checking OfBorg, which I wanted to do first.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-15 01:28:11 -06:00
Austin Seipp b44d5136e8 Revert "ocamlPackages.zarith: use buildOcaml instead of mkDerivation"
This reverts commit 9d5a7af4e5.
2019-01-15 00:35:11 -06:00
Austin Seipp 9d5a7af4e5 ocamlPackages.zarith: use buildOcaml instead of mkDerivation
This has two main advantages:

  - By setting hasSharedObjects = true, buildOcaml will automatically
include a setup-hook.sh that sets CAML_LD_LIBRARY_PATH in dependent
expressions. This is needed to pick up dllzarith.so properly which is
shipped as party of the library.

  - We can kill the ugly assert in the expression and instead change it
to use minimumSupportedOcamlVersion.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-15 00:33:59 -06:00
Austin Seipp ee3949d720 nextpnr: use qtbase-5.11 instead of 5.12
This fixes a bizarre regression in the NextPNR GUI that causes the
background of the OpenGL floorplanning window to become 'transparent' on
certain platforms, greatly limiting its utility. However, QT 5.11 seems
to work just fine here.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-15 00:33:59 -06:00
Austin Seipp b5c6156062 firecracker: 0.12.0 -> 0.13.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-12 20:12:08 -06:00
Austin Seipp 53fb3bb3ef compcert: clean up expression
- Require Coq 8.6.1+
  - Split substituteInPlace call into patchPhase
  - Constrain platforms correctly to x86_64 Linux/Darwin, which was all
it supported anyway (there was no way to properly configure i686 builds,
nor cross builds. In the future there might be)
  - Minor stylistic cleanups
  - Add new 'man' and 'doc' outputs (the previous attempt to move the
build artifact outputs into $lib no longer worked correctly and they
were installed into 'out' instead, this fixes it completely).
  - Clean up weird binary artifacts left in $out (that were already
in $lib)
  - Wrap ccomp to undefine _FORTIFY_SOURCE; otherwise it causes
annoying warnings on every invocation

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-12 20:06:28 -06:00
Austin Seipp 3d36ea6a05 nextpnr: with GUI support, be sure to set QT_PLUGIN_PATH
This is to help QT find all the necessary plugin libraries at startup
time, otherwise it freaks out when run out of 'nix-env' environment or
run directly, e.g.  `./result/bin/nextpnr-ice40 --gui`. The reason for
this is that none of the traditional paths it looks for are available.
The workarounds for this are to otherwise:

  - Install e.g. into environment.systemPackages (presumably it will
then pick up QT libraries in /run/current-system/sw/lib/qt-*)

  - Install 'qtbase' into your user environment (qt will also try to
load dependent libraries out of ~/.nix-profile/lib/qt-*)

However, this QT_PLUGIN_PATH wrapping hack is used elsewhere in the
tree, presumably to mitigate these (poor) workarounds, especially for
non-NixOS users. There seems to be no downside to this.

With this, I have been able to run NextPNR's GUI on an Ubuntu 16.04
system using the 'nixGL' hack by simply running the resulting binary
from anywhere (though there seems to be some glitching artifacts in the
floorplan UI, I suspect this is due to a buggy OpenGL stack rather than
any direct problem with NextPNR or the QT libraries themselves).

This does not mark the GUI build as non-broken yet, though. That will
happen in the future after a bit more testing and splitting nextpnr into
separate minimal/GUI attributes.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-12 15:51:00 -06:00
Austin Seipp 8b5e6b7711 icestorm: minor cleanup with pythonPkg.interpreter [NFC]
Suggested cleanup by @dotlambda. See:

  https://github.com/NixOS/nixpkgs/commit/18839e1cc1a0c2ee787a8990809141cf43e1848c#commitcomment-31917295

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-12 15:51:00 -06:00
Austin Seipp 61e57a827b icestorm: enableParallelBuilding = true
With the previous PyPy3 change, this reduces the compile time from
~1m30s to roughly 36s (compared to the original, serial, Python 3 build
time of 2:30s).

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 18:03:35 -06:00
Austin Seipp 18839e1cc1 icestorm: improve x86 build/runtime perf with pypy
PyPy3 offers tremendous speedups for IceStorm tools written in Python,
including tools used at compile-time to generate the chip databases, and
runtime tools distributed to users, such as icebox_vlog.

For example, on my ThreadRipper 1950X, build times for IceStorm
consistently go from 2m30s -> 1m30s with this change, a 40% improvement,
simply due to improvements in raw CPU efficiency. (This is also worsened
by the fact the build is currently serial, but that can easily be fixed
anyway.)

On top of that, tools distributed to users are also now run using PyPy.
Utilities such as icebox_vlog are useful for post-bitstream testing, for
instance, and also are improved due to improved CPU efficiency as well.
For example, when "decompiling" an ICE40 bitstream for HX8K devices,
containing a synthesized copy of PicoRV32 (from the NextPNR demos), the
runtime of icebox_vlog is cut from 25 seconds to 9 seconds consistently
with this change alone.

Normally, picking a Python interpreter outright for Python-based code is
a "bad idea", but in the case of IceStorm it should be perfectly safe,
and an excellent improvement for users. There are a few reasons for
this:

  - IceStorm uses pure Python 3 and nothing else. There are no
requirements for any 3rd party packages, which might cause annoying
incompatibilities, and PyPy has historically shown very strong core
Python compatibility.

  - IceStorm is NOT a set of Python libraries, it is a set of tools,
some of which, coincidentally, are written in Python. It is (normally)
bad form to fix libraries to certain interpreters versions if the reason
strictly isn't "it doesn't work/isn't compatible". That is not the case
here. These tools may later be used by other programs, such as NextPNR,
but the Python interpreter is ultimately not that important in quesion
for the user. In this sense, there is almost no downside to picking
PyPy explicitly if it offers far better performance.

(Point 2 is not actually strictly true; there are some distributed .py
files that you can import from but they are basically just static
classes that are imported by tools like nextpnr; this is expected.)

Because of this, users should see very little change except better
performance for IceStorm tools on their machines.

Note that PyPy is not supported on aarch64 -- this only applies to
x86_64 machines.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 18:03:35 -06:00
Austin Seipp beaf69cee2 nextpnr: enable ECP5 P&R with Project Trellis
This requires an absurd, disgustingly gross hack in order to share the
build artifacts necessary for nextpnr to use trellis.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp d67cbe9e53 trellis: 2018.08.01 -> 2018.12.20, update, cleanup
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp 651679c257 nextpnr: fix version string output
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp 412e02c784 nextpnr: disable broken GUI build for now
This didn't work remotely (on a server with Nvidia drivers) _or_ on a
local Intel machine with integrated graphics. I presumably messed
something up (a missing dependency), but I'm not sure where. We can fix
it later.

In the mean time, just disable this by hiding it behind a minimal flag.
As a bonus this reduces the closure size by about half, although it's
still surprisingly large (~300MB or so). Part of that is probably
Python, though.

When the GUI is reintroduced in a working manner, we can expose two
nextpnr attributes for the minimal non-GUI build, and the GUI build.
(Note that I have no plans of making Python optional, since it's
extremely valuable in general and much more lightweight than qtbase.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp c10650760d yices: s/fetchurl/fetchFromGitHub/
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp 38aa0a3df4 z3: 4.8.3 -> 4.8.4
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp 1d36130ac1 nextnpr: 2018.12.29 -> 2019.01.08
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp db136382f8 icestorm: 2018.09.04 -> 2018.12.31
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp d77f381055 symbiyosys: 2018.09.12 -> 2018.12.09
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp c60adabfbc yosys: 2018.10.17 -> 2019.01.08
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-08 19:15:24 -06:00
Austin Seipp 1438b2fcc6 Merge pull request #52916 from r-ryantm/auto-update/capstone
capstone: 3.0.5 -> 4.0
2018-12-29 09:07:00 -06:00
Austin Seipp f2c99c61cf cockroachdb: 2.1.1 -> 2.1.3
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-28 07:59:48 -06:00
Austin Seipp af53114a09 pythonPackages.pytorch: fix Intel MKL BLAS compile failure
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-25 10:49:40 -06:00
Austin Seipp 60176e005d pythonPackages.pytorch: add libnuma dep on Linux
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-25 10:49:40 -06:00
Austin Seipp 79d21285dd pythonPackages.pytorch: meta touch up, add myself as maintainer
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-25 10:49:39 -06:00
Austin Seipp 6fcebb6427 pythonPackages.pytorch: fix spurious test failures
This was fixed upstream already -- these tests ensure multi-GPU
functionality works, and thus requires multiple GPUs.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-25 10:49:39 -06:00
Austin Seipp c6ecb3887f pythonPackages.pytorch: fix weirdly broken wheel version number
Otherwise, the wheel gets built with invalid metadata -- causing
'torch >= 1.0.0' to be unsatisfiable in other python packages, for
instance.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-25 10:49:39 -06:00
Austin Seipp 814319f1ae nixpkgs/firecracker: init at 0.12.0
This currently uses a binary-only package, since building
jailer/firecracker all on their own is somewhat complex from my
attempts.

This will later be changed into a source-only build, ideally.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-21 11:17:01 -06:00
Austin Seipp 004cb5a694 lmdb: ship static library, too
This is useful if you're using pkgs.pkgsMusl to build static libraries.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-14 17:41:37 -06:00
Austin Seipp 3e6abb633c ber_metaocaml: cleanup, tweaks
This puts MetaOCaml on more equal footing with the normal OCaml
packages, which have a few passthru's and expect to have more 'meta'
information available (such as 'platforms').

With these changes, you can use the ber_metaocaml package along with
ocaml-ng.mkOcamlPackages in order to create a full package set with
Native MetaOCaml support, though this currently isn't implemented (you
have to do this yourself).

There are also other light cleanups, for example this also removes the
old MIPS support and restricts the platforms to x86 Linux/Darwin, for
now. Other platforms can be added on a case-by-case basis.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-14 11:46:17 -06:00
Austin Seipp 3ebdd65ad7 foundationdb: x86_64-linux only
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-04 22:32:54 -06:00
Austin Seipp c9fd7dc0ee foundationdb60: 6.0.15 -> 6.0.17
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-04 22:32:54 -06:00
Austin Seipp 3aa9091162 buildRustCreate: export RUSTDOC during cargo config
See https://github.com/NixOS/nixpkgs/pull/50452#issuecomment-443455411

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-04 19:51:51 -06:00
Austin Seipp 2a22554092 nixos/cockroachdb: simplify dataDir management, tweaks
This cleans up the CockroachDB expression, with a few suggestions from
@aszlig.

However, it brought up the note of using systemd's StateDirectory=
directive, which is a nice feature for managing long-term data files,
especially for UID/GID assigned services. However, it can only manage
directories under /var/lib (for global services), so it has to introduce
a special path to make use of it at all in the case someone wants a path
at a different root.

While the dataDir directive at the NixOS level is _occasionally_ useful,
I've gone ahead and removed it for now, as this expression is so new,
and it makes the expression cleaner, while other kinks can be worked out
and people can test drive it.

CockroachDB's dataDir directive, instead, has been replaced with
systemd's StateDirectory management to place the data under
/var/lib/cockroachdb for all uses.

There's an included RequiresMountsFor= clause like usual though, so if
people want dependencies for any kind of mounted device at boot
time/before database startup, it's easy to specify using their own
mount/filesystems clause.

This can also be reverted if necessary, but, we can see if anyone ever
actually wants that later on before doing it -- it's a backwards
compatible change, anyway.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-04 19:44:16 -06:00
Austin Seipp 4594b18070 nixos/chrony: fix misplaced ConditionCapability= directive
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-12-02 20:32:47 -06:00
Austin Seipp ee14496ae2 nixos/dhcpcd: (try to) restart chrony in the exitHook
As the comment notes, restarts/exits of dhcpcd generally require
restarting the NTP service since, if name resolution fails for a pool of
servers, the service might break itself. To be on the safe side, try
restarting Chrony in these instances, too.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-30 18:50:33 -06:00
Austin Seipp 7b8d9700e1 nixos/chrony: don't emit initstepslew when servers is empty
Setting the server list to be empty is useful e.g. for hardware-only
or virtualized reference clocks that are passed through to the system
directly. In this case, initstepslew has no effect, so don't emit it.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-30 18:50:32 -06:00
Austin Seipp c90a45a383 cockroachdb: 2.0.0 -> 2.1.1, aarch64 support
This also splits the .bin output to have a separate .man attribute:
previously it contained both.

This also adds provisional support for aarch64-linux, which seems to
build easily. (Full testing will ideally come via NixOS tests later)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-29 15:12:35 -06:00
Austin Seipp 47b3086bdf foundationdb: set RELEASE=true for official builds
This ensures the proper version is reported in the server status
information; otherwise it has a '-PRERELEASE' suffix.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-17 22:12:40 -06:00
Austin Seipp 3e02311f89 foundationdb: default to 6.0.x
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-17 22:12:40 -06:00
Austin Seipp 04a543b3a0 defaultCrateOverrides: foundationdb native dependencies
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-17 19:28:48 -06:00
Austin Seipp 8d4f8a6d26 foundationdb60: 6.0.11pre2716 -> 6.0.15
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-16 20:34:20 -06:00
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
Austin Seipp d01b0f9d2e libndctl: 61.2 -> 63
This also adds me as the maintainer (as it lacked one previously),
and simplifies the expression quite a bit.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-15 16:09:32 -06:00
Austin Seipp 7676dc7b9b ber_metaocaml: 104 -> 107
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-08 13:37:07 -06:00
Austin Seipp be39781058 Merge branch 'master' into staging 2018-11-04 08:38:30 -06:00
Austin Seipp 4569ee7d74 plv8: unbreak build, bump to version 2.3.8
ee58a5b30d broke the plv8 build because it
upgraded the v8_6_x expression everywhere to the 6.9 branch, which came
with API changes. Notably, it seems plv8 only supports up-to v8 6.4.x at
this time.

This keeps a copy of the plv8_6_x expression inside the same directory
as the other v8 versions (so patches, etc are easy to apply), but it is
not exposed to the top-level of all-packages.nix.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-04 08:24:19 -06:00
Austin Seipp b0f7c86094 timescaledb: fix license (Apache 2.0, not PostgreSQL)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-04 07:30:23 -06:00
Austin Seipp c55fa1e122 Merge branch 'master' into staging 2018-11-03 19:57:25 -05:00
Austin Seipp 800184df21 tsearch_extras: 0.3 -> 0.4
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-03 19:53:52 -05:00
Austin Seipp d8abcdc1de pg_topn: 2.0.2 -> 2.2.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-03 19:53:46 -05:00
Austin Seipp a713251348 timescaledb: 0.11.0 -> 1.0.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-03 19:49:00 -05:00
Austin Seipp cecee87f39 pg_repack: reindent to 2-spaces
More or less all the Postgres code uses this, so it's nice to be
consistent.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-03 19:46:07 -05:00
Austin Seipp b5be88c97a pg_hll: 2.10.2-9af41684 -> 2.12
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-03 19:44:24 -05:00
Austin Seipp 1155e2d8e4 Merge branch 'master' into staging 2018-11-02 14:18:45 -05:00
Austin Seipp 5ca1b19dab timescaledb-parallel-copy: init at 2018-05-14
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-02 14:16:09 -05:00
Austin Seipp 3378db6adf Merge branch 'master' into staging 2018-11-02 14:01:15 -05:00
Austin Seipp 648f4a2769 nixpkgs: tidy up pgjwt package
This makes pgjwt take a dummy 'postgresql' argument, which it does not *need*
in the buildInputs (it is purely a SQL extension with no C code). However, this
argument will be necessary for an upcoming change that will parameterize the
extensions over a particular PostgreSQL version.

It also does some tiny cleanup, setting a null build phase.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-02 13:52:48 -05:00
Austin Seipp 2266f2014b nixos/postgresql: add myself as maintainer
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-02 13:52:33 -05:00
Austin Seipp 6a0e8c2738 .github/CODEOWNERS: add myself as the PostgreSQL owner
Since the development of #38698, I have been radically overhauling the
PostgreSQL support and plan on maintaining it in the long run, taking
over from @ocharles, who authored most of it initially.

However, while #38698 has not been merged (yet), I'm taking the time to
go ahead and add myself as the owner of all the related code, so that I
can be marked as a reviewer for things people submit in the mean time.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-02 09:29:36 -05:00
Austin Seipp 93aa285376 nixos: fix #48917 by setting SYSTEMD_TIMEDATED_NTP_SERVICES
Setting this variable in the environment of systemd-timedated allows
'timedatectl' to tell if an NTP service is running.

Closes #48917.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-11-02 09:10:15 -05:00
Austin Seipp 46dc76b60b cloudflared: init at 2018.10.3
'cloudflared' is a multi-purpose client-side tool for CloudFlare Argo
Tunnel, CloudFlare Access, as well as including a simple DNS-over-HTTP
(DoH) proxy tool as well.

However, 'cloudflared' is NOT available under an open source license.
Furthermore, the exact terms of redistribution (namely, if we are able
to redistribute binaries at all) are not entirely clear to me. As a
result, I have filed the following bug report concerning the terms of
redistribution for the source code and binaries:

  https://github.com/cloudflare/cloudflared/issues/53

'cloudflared' does have source code available, however, and it
encourages users to use 'go install' in order to set it up, in fact (or
download their prebuilt, compiled binaries). So using the source seems
to be encouraged. Even then, I'm still not sure if Hydra can serve these
binaries.

In lieu of a more pointed answer regarding source/binary licensing, and
to avoid keeping this expression in my private tree, I've marked it as
'unfree' (to avoid Hydra serving it in any way) as well as compiled from
source (to avoid any 'redistribution allowed while unmodified' terms
that may crop up).

The dependencies for this build were generated using 'dep2nix'.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-23 15:20:35 -05:00
Austin Seipp 778dc453b6 perlPackages.CryptEd25519: init at 1.04
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-05 06:04:08 -05:00
Austin Seipp 20c7b61963 perlPackages.Mojolicious: 8.01 -> 8.02
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-05 06:04:08 -05:00
Austin Seipp 5a179ffb01 perlPackages.Mojolicious: 8.0 -> 8.01
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:55 -05:00
Austin Seipp 37ce9316bf perlPackages.MojoliciousPluginStatus: init at 1.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:55 -05:00
Austin Seipp 65923ede17 perlPackages: init Sereal package family at 4.005
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:54 -05:00
Austin Seipp 919a3b7f9c symbiyosys: 2018.07.26 -> 2018.09.12
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:54 -05:00
Austin Seipp d7393024d1 yosys: 2018.08.08 -> 2018.09.30
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:54 -05:00
Austin Seipp 7b0b895053 arachne-pnr: 2018.05.13 -> 2018.09.08
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:54 -05:00
Austin Seipp 1e9e3adfb1 icestorm: 2018.08.01 -> 2018.09.04
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-01 22:32:54 -05:00
Austin Seipp af48e5783a libiio: install python bindings
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-26 19:37:40 -05:00
Austin Seipp 0ce90d58cc nixos/chrony: clean up, rework to be a little closer to upstream
Most importantly, this sets PrivateTmp, ProtectHome, and ProtectSystem
so that Chrony flaws are mitigated, should they occur.

Moving to ProtectSystem=full however, requires moving the chrony key
files under /var/lib/chrony -- which should be fine, anyway.

This also ensures ConditionCapability=CAP_SYS_TIME is set, ensuring
that chronyd will only be launched in an environment where such a
capability can be granted.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-24 15:42:44 -05:00
Austin Seipp 0214f9e25e perlPackages.MojoIOLoopForkCall: 0.19 -> 0.20
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-20 15:17:30 -05:00
Austin Seipp 08815b9af8 perlPackages.Mojolicious: 7.88 -> 8.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-20 15:17:30 -05:00
Austin Seipp f1737fa646 foundationdb60: 6.0.4pre2497_73d64cb2 -> 6.0.11pre2716_9e8c1941e
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-17 17:49:09 -05:00
Austin Seipp 0f2b10d1ac libiio: init at 0.15
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-12 23:33:57 -05:00
Austin Seipp 185f0015f2 opendht: rework module to use autoreconfHook, and use multiple outputs
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-03 03:23:32 -05:00
Austin Seipp d5e496a2bb boolector: 2.4.1 -> 3.0.0, relicensed to MIT
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-08-15 20:44:05 -05:00