48085826f broke symbiyosys when it needed to call `yosys-abc`: when
`ABCEXTERNAL` is set in the Makefile, then `yosys-abc` is not built.
But in general `sby` was just calling programs out of the ambient
environment. Fix that for most programs it can invoke: it now has a
direct dependency on boolector, aiger, abc, yosys, etc.
This also does some other minor clean up.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
The library link name is embedded in the ELF executable, so renaming the
file doesn't work. This patch just bites the bullet and writes two
separate code paths for the secure vs non-secure build...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
03be1adb bumped libseccomp to 2.4.2, which has this note in the
changelog:
"Stop defining __NR_x values for syscalls that don't exist,
libseccomp now uses __SNR_x internally"
This change means that invalid syscalls for Linux that aren't defined in
glibc will no longer work. In this unlucky case, 'chrony' was trying to
reference the syscall number for 'ppoll', which doesn't exist. Fixing
this is easy with a simple patch.
This also includes another patch from upstream, which allows
clock_adjtime in the seccomp filter list. This is a robustness measure
for future glibc versions that use clock_adjutime inside adjtimex().
Signed-off-by: Austin Seipp <aseipp@pobox.com>
4d392099 didn't quite do the trick, but this should finally fix
everything -- namely, the -secure.so symlink was broken, and
libmimalloc.so itself was also a symlink that needed to be replaced with
the real shared object file.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Previous versions of the build assumed libmimalloc.so would be a hard
copy of mimalloc-secure.so iff secureBuild == true, but in 1.1.0 and
later it seems libmimalloc.so is a symlink to the -secure variant. This
apparently rectifies some behavior I noticed that was strange
previously.
This breakage wasn't caught because the 1.1.0 update was automatic in
5596317d4; there should be a checkPhase to ensure this doesn't happen
again...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Unfortunately, buildRustPackage isn't very flexible right now, and most
of these attrs can't be overridden. This is needed for some general
patch work, but isn't really long term sustainable. I plan on reverting
this after Vector 0.6 is out.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
These options should be experimental, and I'm keeping them off for now.
This also avoids any ABI concerns between libraries, too.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This was added on accident in cfaa8b8652,
as the gnome3 parameter is already specified.
This unbreaks Borg evaluation.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Properly separate the build and install phases for better nix shell
hacking when using `buildPhase` -- and also fix a bug where
`$NIX_BUILD_CORES` wasn't properly passed to `bmake`.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Update metadata (dead URL), add myself as a maintainer, and do some
minor touchups, including moving to `pname+version`.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This also lets us remove a hack for supporting LibreSSL 2.7, since we're
now using 2.9 by default, anyway.
Finally, use Ninja to run the CMake build instead of Make -- speeds
things up for me by a few seconds.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Terra heavily depends on its ability to interface with C APIs, but
without scanning NIX_CFLAGS_COMPILE, it's awkward and annoying to set up
imports correctly (by scanning and adding the flags yourself) in every
single project.
Luckily most of the Clang initialization is hidden away, but the Lua
code for the Terra library handles all the high-level stuff, so we patch
it in there.
This allows simple examples like:
C = terralib.includec("zlib.h")
to work instantly, provided `zlib` is a Nix dependency.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This option was added in 6336048c58 but it
is essentially a complete duplicate of the existing cfg.servers and
there seems to be no reason to keep maintaining it.
Furthermore, it requires annoying duplication if you try to do option
merging, e.g. merging in sets into your configuration.nix that add
`services.chrony.initstepslew` options will overwrite the servers option
unless you keep it, but that means you just have to duplicate
config.networking.timeServers again anyway which is an implementation
detail!
Signed-off-by: Austin Seipp <aseipp@pobox.com>
'iburst' allows chrony to make very quick adjustments to the clock by
doing a couple rapid measurements outside of the default 'minpoll'
option. This helps improve rapid time adjustment at boot, and is enabled
by default.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This is reckless, ill-advised, pointless, and I will be scorned for it,
but it makes me feel a lot better.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Normally changing the version of the tag in this manner would be nasty
for users -- `nix-env -u` would not see this as an upgrade on the
channel, for instance, if you had a previous version installed. But
liburing is a *library* and does not really come included with any
useful end-user tools. Most cases will use it directly as a build
dependency, in which case, an appropriate rebuild will happen anyway.
This also re-introduces AArch64 builds, which was previously broken due
to some internal changes requiring memory barrier support. In a twist of
fate, however, this was later broken by another patch, which was written
to fix a *different* regression for users. So we simply apply both of
these patches, as well as a third patch that re-fixes AArch64 support,
which I will submit upstream to Jens. Life is never easy.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This bumps the 6.1.x branch to the official 6.1.8 release. Also fixes a
minor bug in the new CMake build (an invalid parameter passed to CMake)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
81d4e65891 automatically bumped
linux_testing to 5.2.0-rc1, but the 5.2 merge window included a new
feature adding compressed headers for compiled kernels into
/proc/kheaders.tar.xz
See https://github.com/torvalds/linux/commit/43d8ce9d65a54846d378545770991e65838981e0
This feature requires 'cpio' to now be included in nativeBuildInputs
since it's used to construct that archive.
This wasn't caught by Hydra since we turn off build of linuxPackages,
but ideally we should at least build the kernel in the future
(linux_testing itself.)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Notably, this includes non-x86 platform support, eventfd registration
for completion events, "drained" events that must have all outstanding
prior events/further events drained (e.g. for fsync), and linked CQEs
that can express completion ordering dependencies.
Most of these require 5.2-rc1, and linked CQEs require custom patches
from Jens' linux-block tree (that didn't hit the 5.2 merge window,
apparently.)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This was a testing oversight that came from #61009 -- I forgot to test
the new traceFormat option with older server versions while I was
working on FDB 6.1.
Since trace_format is only available in 6.1+, emitting it
unconditionally caused older versions of the database fail to start,
reporting an error. We simply gate it behind a version check instead,
and assert the format is always XML on older versions. This avoids the
case where the user has an old version, changes traceFormat willingly,
and then is confused by why it didn't work.
As reported by @TimothyKlim in the comments on commit
c55b9236f0. See
https://github.com/NixOS/nixpkgs/commit/c55b9236f0f208a8689e400ddbea52858c923372#r33566132
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This adds a new build of FoundationDB 6.1, using the new, much improved
with CMake build system with fewer patches and rough edges.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
FoundationDB is currently in the process of migrating to CMake, and it
will eventually be the only build system. In preparation for this, split
off the current (somewhat nasty) builder into its own file, and allow
default.nix to be more declarative -- containing only the main supported
versions.
Similarly, a cmake.nix file will be added later.
There is no functional change here (NFC), only an organizational change
(file moves, no hash changes).
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This package has a spurious test failure on PyPy3, which was reported
upstream a while ago:
https://github.com/testing-cabal/funcsigs/issues/10
This is fixed thanks to the included patch, which was authored and is
also used by the Gentoo Python team.
With this, packages like 'pytest' and 'click' now work under PyPy3.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Souper is a very experimental package that's only useful for for
compiler hackers or people who are doing PhDs. The support/cost ratio of
keeping such a package probably isn't very good.
More importantly, this puts us one step closer to deleting
llvmPackages_4, as this is one of the only two remaining packages using
it. Deleting these older LLVM packages would be far more useful than the
value Souper currently provides.
Current versions of Souper support more recent LLVM versions anyway, so
this expression could be resurrected. But it might be better to place it
in the Nix User Archive (NUR), perhaps.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Requires a minor tweak to the deadlock detector patch (the file was
renamed in the upstream repo).
bcc now also wants a copy of libbpf, which it doesn't have in the source
release tarball. Clone a copy from GiHub that's synchronized with the
release, and put it in place.
Tested on Linux 5.1 (with bpftrace as well).
Signed-off-by: Austin Seipp <aseipp@pobox.com>