This includes several enhancements in the underlying compiler, including
codegen improvements for AVX-512, Ice Lake CPU definitions,
cross-{arch,os} compilation (currently unsupported due to multilib
issues), and more.
This also bumps the LLVM backend to the 10.0 release. Note that ispc
itself requires a few extra stability patches on top of 10.0 for AVX-512
support, but these aren't applied for us. Therefore AVX-512 still has
some extra, rough edges.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
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>