Merge pull request #133431 from Ma27/glibc-2.34

glibc: 2.33-108 -> 2.34-115
This commit is contained in:
Jonathan Ringer 2022-02-27 18:07:11 -08:00 committed by GitHub
commit 3af9faf36d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
91 changed files with 1332 additions and 142 deletions

View File

@ -232,7 +232,8 @@ done
mkdir -p /lib
ln -s @modulesClosure@/lib/modules /lib/modules
ln -s @modulesClosure@/lib/firmware /lib/firmware
echo @extraUtils@/bin/modprobe > /proc/sys/kernel/modprobe
# see comment in stage-1.nix for explanation
echo @extraUtils@/bin/modprobe-kernel > /proc/sys/kernel/modprobe
for i in @kernelModules@; do
info "loading module $(basename $i)..."
modprobe $i

View File

@ -131,6 +131,26 @@ let
copy_bin_and_libs ${pkgs.kmod}/bin/kmod
ln -sf kmod $out/bin/modprobe
# Dirty hack to make sure the kernel properly loads modules
# such as ext4 on demand (e.g. on a `mount(2)` syscall). This is necessary
# because `kmod` isn't linked against `libpthread.so.0` anymore (since
# it was merged into `libc.so.6` since version `2.34`), but still needs
# to access it for some reason. This is not an issue in stage-1 itself
# because of the `LD_LIBRARY_PATH`-variable and anytime later because the rpath of
# kmod/modprobe points to glibc's `$out/lib` where `libpthread.so.6` exists.
# However, this is a problem when the kernel calls `modprobe` inside
# the initial ramdisk because it doesn't know about the
# `LD_LIBRARY_PATH` and the rpath was nuked.
#
# Also, we can't use `makeWrapper` here because `kmod` only does
# `modprobe` functionality if `argv[0] == "modprobe"`.
cat >$out/bin/modprobe-kernel <<EOF
#!$out/bin/ash
export LD_LIBRARY_PATH=$out/lib
exec $out/bin/modprobe "\$@"
EOF
chmod +x $out/bin/modprobe-kernel
# Copy resize2fs if any ext* filesystems are to be resized
${optionalString (any (fs: fs.autoResize && (lib.hasPrefix "ext" fs.fsType)) fileSystems) ''
# We need mke2fs in the initrd.

View File

@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub, libjack2, libsndfile, xorg, freetype
, libxkbcommon, cairo, glib, gnome, flac, libogg, libvorbis, libopus, cmake
, pango, pkg-config }:
, pango, pkg-config, catch2
}:
stdenv.mkDerivation rec {
pname = "sfizz";
@ -40,6 +41,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkg-config ];
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp
substituteInPlace plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \
--replace 'zenitypath = "zenity"' 'zenitypath = "${gnome.zenity}/bin/zenity"'
substituteInPlace plugins/editor/src/editor/NativeHelpers.cpp \
@ -48,6 +51,8 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DSFIZZ_TESTS=ON" ];
doCheck = true;
meta = with lib; {
homepage = "https://github.com/sfztools/sfizz";
description = "SFZ jack client and LV2 plugin";

View File

@ -7,6 +7,7 @@
, qtquickcontrols2
, SDL
, python3
, catch2
}:
mkDerivation rec {
@ -21,6 +22,10 @@ mkDerivation rec {
fetchSubmodules = true;
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp 3rdparty/catch2/single_include/catch2/catch.hpp
'';
nativeBuildInputs = [
cmake
extra-cmake-modules
@ -33,6 +38,8 @@ mkDerivation rec {
SDL
];
doCheck = true;
meta = with lib; {
homepage = "https://github.com/agateau/sfxr-qt";
description = "A sound effect generator, QtQuick port of sfxr";

View File

@ -7,5 +7,10 @@ import ./generic.nix (rec {
url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=a88f63500e475f842e5fbdd9abba4ce122cdb082";
sha256 = "sha256-RF9b5PojFUAjh2TDUW4+HaWveV30Spy1iAXhaWf1ZVg=";
})
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/emacs/raw/181aafcdb7ee2fded9fce4cfc448f27edccc927f/f/emacs-glibc-2.34.patch";
sha256 = "sha256-2o3C/jhZPl2OW/LmVPt/fhdwbS9NOdF9lVEF1Kn9aEk=";
})
];
})

View File

@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
owner = "apitrace";
};
patches = [
# glibc 2.34 compat
# derived from https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb
./glibc-2.34-compat.patch
];
# LD_PRELOAD wrappers need to be statically linked to work against all kinds
# of games -- so it's fine to use e.g. bundled snappy.
buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ];

View File

@ -0,0 +1,13 @@
diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
index 2eda082..0c0c8ee 100644
--- a/wrappers/dlsym.cpp
+++ b/wrappers/dlsym.cpp
@@ -34,7 +34,7 @@
#include "os.hpp"
-#ifdef __GLIBC__
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
#include <dlfcn.h>

View File

@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
sha256 = "0sja0ddd9c8wjjpzk2ag8q1lxpj09adgmhd7wnsylincqnj2jyls";
};
postPatch = ''
# Don't build tests, vendored catch doesn't build with latest glibc.
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory (tests)" ""
'';
nativeBuildInputs = [
cmake
gettext

View File

@ -21,6 +21,19 @@ stdenv.mkDerivation rec {
--subst-var-by APP_VERSION_YEAR ${lib.versions.major version} \
--subst-var-by APP_VERSION_NUMBER ${lib.versions.minor version} \
--subst-var-by GIT_DESCRIBE v${version}
# Tests don't compile because of vendored `catch2` being incompatible with glibc-2.34.
# Also, no need to since we don't even run them.
substituteInPlace lib/CMakeLists.txt \
--replace "add_subdirectory(Catch2)" ""
substituteInPlace lib/vecmath/CMakeLists.txt \
--replace "add_subdirectory(test)" "" \
--replace "add_subdirectory(lib)" ""
substituteInPlace lib/kdl/CMakeLists.txt \
--replace "add_subdirectory(test)" ""
substituteInPlace common/CMakeLists.txt \
--replace "add_subdirectory(test)" "" \
--replace "add_subdirectory(benchmark)" ""
'';
nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems ];

View File

@ -2,6 +2,7 @@
, fetchFromGitHub
, cmake
, clingo
, catch2
}:
stdenv.mkDerivation rec {
@ -15,6 +16,10 @@ stdenv.mkDerivation rec {
sha256 = "1g2xkz9nsgqnrw3fdf5jchl16f0skj5mm32va61scc2yrchll166";
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp libclingcon/tests/catch.hpp
'';
nativeBuildInputs = [ cmake clingo ];
cmakeFlags = [

View File

@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Q93+EHJKi4XiRo9kA7YABzcYbwHmDgvWL95p2EIjTMU=";
};
patches = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/rcs/raw/f8e07cd37f4abfb36e37d41852bb8f9e234d3fb1/f/rcs-5.10.0-SIGSTKSZ.patch";
sha256 = "sha256-mc6Uye9mdEsLBcOnf1m1TUb1BV0ncNU//iKBpLGBjho=";
})
];
ac_cv_path_ED = "${ed}/bin/ed";
DIFF = "${diffutils}/bin/diff";
DIFF3 = "${diffutils}/bin/diff3";

View File

@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
maintainers = [ ];
broken = true; # missing glibc-2.34 support, no upstream activity
};
}

View File

@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
maintainers = [ ];
broken = true; # missing glibc-2.34 support, no upstream activity
};
}

View File

@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
maintainers = [ ];
broken = true; # missing glibc-2.34 support, no upstream activity
};
}

View File

@ -61,8 +61,8 @@ let majorVersion = "10";
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
patches = [ ./gcc10-asan-glibc-2.34.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch
++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied

View File

@ -0,0 +1,70 @@
From 950bac27d63c1c2ac3a6ed867692d6a13f21feb3 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Sat, 17 Apr 2021 11:27:14 +0200
Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
glibc 2.34 and later, so
static const uptr kAltStackSize = SIGSTKSZ * 4;
needs dynamic initialization, but is used by a function called indirectly
from .preinit_array and therefore before the variable is constructed.
This results in using 0 size instead and all asan instrumented programs
die with:
==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Here is a cherry-pick from upstream to fix this.
2021-04-17 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/100114
* sanitizer_common/sanitizer_posix_libcdep.cpp: Cherry-pick
llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
(cherry picked from commit d9f462fb372fb02da032cefd6b091d7582c425ae)
---
.../sanitizer_common/sanitizer_posix_libcdep.cpp | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
index 304b3a01a08..ac88fbe074e 100644
--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
#if !SANITIZER_GO
// TODO(glider): different tools may require different altstack size.
-static const uptr kAltStackSize = SIGSTKSZ * 4; // SIGSTKSZ is not enough.
+static uptr GetAltStackSize() {
+ // SIGSTKSZ is not enough.
+ static const uptr kAltStackSize = SIGSTKSZ * 4;
+ return kAltStackSize;
+}
void SetAlternateSignalStack() {
stack_t altstack, oldstack;
@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
// TODO(glider): the mapped stack should have the MAP_STACK flag in the
// future. It is not required by man 2 sigaltstack now (they're using
// malloc()).
- void* base = MmapOrDie(kAltStackSize, __func__);
- altstack.ss_sp = (char*) base;
+ altstack.ss_size = GetAltStackSize();
+ altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
altstack.ss_flags = 0;
- altstack.ss_size = kAltStackSize;
CHECK_EQ(0, sigaltstack(&altstack, nullptr));
}
@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
stack_t altstack, oldstack;
altstack.ss_sp = nullptr;
altstack.ss_flags = SS_DISABLE;
- altstack.ss_size = kAltStackSize; // Some sane value required on Darwin.
+ altstack.ss_size = GetAltStackSize(); // Some sane value required on Darwin.
CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
}
--
2.27.0

View File

@ -63,6 +63,9 @@ let majorVersion = "7";
./riscv-pthread-reentrant.patch
# https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
./riscv-no-relax.patch
# Fix for asan w/glibc-2.34. Although there's no upstream backport to v7,
# the patch from gcc 8 seems to work perfectly fine.
./gcc8-asan-glibc-2.34.patch
./0001-Fix-build-for-glibc-2.31.patch
]

View File

@ -0,0 +1,70 @@
From ef195a39d0d3b929cc676302d074b42c25460601 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Sat, 17 Apr 2021 11:27:14 +0200
Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
glibc 2.34 and later, so
static const uptr kAltStackSize = SIGSTKSZ * 4;
needs dynamic initialization, but is used by a function called indirectly
from .preinit_array and therefore before the variable is constructed.
This results in using 0 size instead and all asan instrumented programs
die with:
==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Here is a cherry-pick from upstream to fix this.
2021-04-17 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/100114
* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
---
.../sanitizer_common/sanitizer_posix_libcdep.cc | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
index 1a37118c299..066079b3954 100644
--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -159,7 +159,11 @@ bool SupportsColoredOutput(fd_t fd) {
#if !SANITIZER_GO
// TODO(glider): different tools may require different altstack size.
-static const uptr kAltStackSize = SIGSTKSZ * 4; // SIGSTKSZ is not enough.
+static uptr GetAltStackSize() {
+ // SIGSTKSZ is not enough.
+ static const uptr kAltStackSize = SIGSTKSZ * 4;
+ return kAltStackSize;
+}
void SetAlternateSignalStack() {
stack_t altstack, oldstack;
@@ -170,10 +174,9 @@ void SetAlternateSignalStack() {
// TODO(glider): the mapped stack should have the MAP_STACK flag in the
// future. It is not required by man 2 sigaltstack now (they're using
// malloc()).
- void* base = MmapOrDie(kAltStackSize, __func__);
- altstack.ss_sp = (char*) base;
+ altstack.ss_size = GetAltStackSize();
+ altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
altstack.ss_flags = 0;
- altstack.ss_size = kAltStackSize;
CHECK_EQ(0, sigaltstack(&altstack, nullptr));
}
@@ -181,7 +184,7 @@ void UnsetAlternateSignalStack() {
stack_t altstack, oldstack;
altstack.ss_sp = nullptr;
altstack.ss_flags = SS_DISABLE;
- altstack.ss_size = kAltStackSize; // Some sane value required on Darwin.
+ altstack.ss_size = GetAltStackSize(); // Some sane value required on Darwin.
CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
}
--
2.27.0

View File

@ -78,7 +78,7 @@ let majorVersion = "9";
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96796
#
# This patch can most likely be removed by a post 9.3.0-release.
[ ./avoid-cycling-subreg-reloads.patch ]
[ ./avoid-cycling-subreg-reloads.patch ./gcc9-asan-glibc-2.34.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
++ optional noSysDirs ../no-sys-dirs.patch

View File

@ -0,0 +1,70 @@
From 3d0135bf3be416bbe2531dc763d19b749eb2b856 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Sat, 17 Apr 2021 11:27:14 +0200
Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
glibc 2.34 and later, so
static const uptr kAltStackSize = SIGSTKSZ * 4;
needs dynamic initialization, but is used by a function called indirectly
from .preinit_array and therefore before the variable is constructed.
This results in using 0 size instead and all asan instrumented programs
die with:
==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Here is a cherry-pick from upstream to fix this.
2021-04-17 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/100114
* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
---
.../sanitizer_common/sanitizer_posix_libcdep.cc | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
index d2fd76a6d36..1917e29ced2 100644
--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
#if !SANITIZER_GO
// TODO(glider): different tools may require different altstack size.
-static const uptr kAltStackSize = SIGSTKSZ * 4; // SIGSTKSZ is not enough.
+static uptr GetAltStackSize() {
+ // SIGSTKSZ is not enough.
+ static const uptr kAltStackSize = SIGSTKSZ * 4;
+ return kAltStackSize;
+}
void SetAlternateSignalStack() {
stack_t altstack, oldstack;
@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
// TODO(glider): the mapped stack should have the MAP_STACK flag in the
// future. It is not required by man 2 sigaltstack now (they're using
// malloc()).
- void* base = MmapOrDie(kAltStackSize, __func__);
- altstack.ss_sp = (char*) base;
+ altstack.ss_size = GetAltStackSize();
+ altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
altstack.ss_flags = 0;
- altstack.ss_size = kAltStackSize;
CHECK_EQ(0, sigaltstack(&altstack, nullptr));
}
@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
stack_t altstack, oldstack;
altstack.ss_sp = nullptr;
altstack.ss_flags = SS_DISABLE;
- altstack.ss_size = kAltStackSize; // Some sane value required on Darwin.
+ altstack.ss_size = GetAltStackSize(); // Some sane value required on Darwin.
CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
}
--
2.27.0

View File

@ -3,4 +3,7 @@ import ./generic.nix {
minor_version = "10";
patch_version = "2";
sha256 = "sha256-locUYQeCgtXbAiB32JveJchfteN2YStE+MN9ToTwAOM=";
patches = [
./glibc-2.34-for-ocaml-4.10-and-11.patch
];
}

View File

@ -3,4 +3,7 @@ import ./generic.nix {
minor_version = "11";
patch_version = "2";
sha256 = "1m3wrgkkv3f77wvcymjm0i2srxzmx62y6jln3i0a2px07ng08l9z";
patches = [
./glibc-2.34-for-ocaml-4.10-and-11.patch
];
}

View File

@ -3,4 +3,9 @@ import ./generic.nix {
minor_version = "12";
patch_version = "0";
sha256 = "1hxy349jfa2vkfgmxf6pvd9w4z5bmcgsg0fxfdabcghyvjw9vvir";
patches = [
{ url = "https://src.fedoraproject.org/rpms/ocaml/raw/129153b85109944bf0b2922949f77ef8f32b39a1/f/0004-Dynamically-allocate-the-alternate-signal-stack-1026.patch";
sha256 = "sha256-FdQ1HkMKHU9QvgLPUBvMdPiEa7w7IL3+1F3SLv63Gog=";
}
];
}

View File

@ -1,4 +1,4 @@
{ minor_version, major_version, patch_version
{ minor_version, major_version, patch_version, patches ? []
, ...}@args:
let
versionNoPatch = "${toString major_version}.${toString minor_version}";
@ -6,7 +6,7 @@ let
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips || stdenv.hostPlatform.isStatic);
in
{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind
{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind, fetchpatch
, libX11, xorgproto, useX11 ? safeX11 stdenv && !lib.versionAtLeast version "4.09"
, aflSupport ? false
, flambdaSupport ? false
@ -35,6 +35,8 @@ let
x11env = buildEnv { name = "x11env"; paths = [libX11 xorgproto]; };
x11lib = x11env + "/lib";
x11inc = x11env + "/include";
fetchpatch' = x: if builtins.isAttrs x then fetchpatch x else x;
in
stdenv.mkDerivation (args // {
@ -44,6 +46,8 @@ stdenv.mkDerivation (args // {
inherit src;
patches = map fetchpatch' patches;
strictDeps = true;
prefixKey = "-prefix ";

View File

@ -0,0 +1,37 @@
From dfb5e954a04f59b0456cc4c0ddf3acaf22e0ff07 Mon Sep 17 00:00:00 2001
From: Richard W.M. Jones <rjones@redhat.com>
Date: Feb 28 2021 20:45:47 +0000
Subject: Workaround for glibc non-constant SIGSTKSZ
https://github.com/ocaml/ocaml/issues/10250
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c
index 8b64ab4..7f0a975 100644
--- a/runtime/signals_nat.c
+++ b/runtime/signals_nat.c
@@ -181,7 +181,19 @@ DECLARE_SIGNAL_HANDLER(trap_handler)
#error "CONTEXT_SP is required if HAS_STACK_OVERFLOW_DETECTION is defined"
#endif
+#ifndef __GLIBC__
static char sig_alt_stack[SIGSTKSZ];
+#else
+/* glibc 2.34 has non-constant SIGSTKSZ */
+static char *sig_alt_stack;
+
+static void allocate_sig_alt_stack(void) __attribute__((constructor));
+static void
+allocate_sig_alt_stack(void)
+{
+ sig_alt_stack = malloc(SIGSTKSZ);
+}
+#endif
/* Code compiled with ocamlopt never accesses more than
EXTRA_STACK bytes below the stack pointer. */

View File

@ -40,6 +40,7 @@ let
./currency-date-range-jdk10.patch
./increase-javadoc-heap.patch
./fix-library-path-jdk11.patch
./fix-glibc-2.34.patch
] ++ lib.optionals (!headless && enableGnome2) [
./swing-use-gtk-jdk10.patch
];

View File

@ -48,6 +48,7 @@ let
url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
})
./fix-glibc-2.34.patch
] ++ lib.optionals (!headless && enableGnome2) [
./swing-use-gtk-jdk13.patch
];

View File

@ -0,0 +1,24 @@
Taken from https://build.opensuse.org/package/view_file/Java:Factory/java-15-openjdk/openjdk-glibc234.patch
--- openjdk/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c 2021-04-09 11:36:58.000000000 +0200
+++ openjdk/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c 2021-08-26 15:42:52.326232581 +0200
@@ -67,8 +67,17 @@
longjmp(context, 1);
}
+static char* altstack = NULL;
+
void set_signal_handler() {
- static char altstack[SIGSTKSZ];
+ if (altstack == NULL) {
+ // Dynamically allocated in case SIGSTKSZ is not constant
+ altstack = malloc(SIGSTKSZ);
+ if (altstack == NULL) {
+ fprintf(stderr, "Test ERROR. Unable to malloc altstack space\n");
+ exit(7);
+ }
+ }
stack_t ss = {
.ss_size = SIGSTKSZ,

View File

@ -1,4 +1,4 @@
{lib, stdenv, fetchurl, autoreconfHook}:
{lib, stdenv, fetchurl, autoreconfHook, fetchpatch }:
let
version = "5.6";
@ -12,6 +12,14 @@ stdenv.mkDerivation {
substituteInPlace configure.ac --replace stdc++ c++
'';
patches = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
})
];
buildInputs = lib.optional stdenv.isDarwin autoreconfHook;
src = fetchurl {

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }:
{ lib, stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi, fetchpatch }:
stdenv.mkDerivation rec {
pname = "polyml";
@ -8,7 +8,15 @@ stdenv.mkDerivation rec {
substituteInPlace configure.ac --replace stdc++ c++
'';
patches = [ ./5.7-new-libffi-FFI_SYSV.patch ];
patches = [
./5.7-new-libffi-FFI_SYSV.patch
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
})
];
buildInputs = [ libffi gmp ];

View File

@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = lib.optional stdenv.isDarwin autoreconfHook;
patches = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
})
];
configureFlags = [
"--enable-shared"
"--with-system-libffi"

View File

@ -30,6 +30,10 @@ stdenv.mkDerivation {
hardeningDisable = [ "stackprotector" ] ++
lib.optionals stdenv.isi686 [ "pic" "fortify" ];
# Fix for glibc-2.34, see
# https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4
configureFlags = [ "--without-libsigsegv" ];
preConfigure = ''
configureFlagsArray=(
--datadir="$out/share/maude"

View File

@ -8,4 +8,6 @@ callPackage ./generic.nix (args // rec {
# SHA256 from http://www.boost.org/users/history/version_1_69_0.html
sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
};
patches = [ ./pthread-stack-min-fix.patch ];
})

View File

@ -8,4 +8,6 @@ callPackage ./generic.nix (args // rec {
# SHA256 from http://www.boost.org/users/history/version_1_70_0.html
sha256 = "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778";
};
patches = [ ./pthread-stack-min-fix.patch ];
})

View File

@ -11,5 +11,7 @@ callPackage ./generic.nix (args // rec {
# SHA256 from http://www.boost.org/users/history/version_1_72_0.html
sha256 = "59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722";
};
patches = [ ./pthread-stack-min-fix.patch ];
})

View File

@ -0,0 +1,15 @@
Taken from https://github.com/conan-io/conan-center-index/pull/361/files
diff --git a/include/boost/thread/pthread/thread_data.hpp b/include/boost/thread/pthread/thread_data.hpp
index aefbeb4..bc9b136 100644
--- a/boost/thread/pthread/thread_data.hpp
+++ b/boost/thread/pthread/thread_data.hpp
@@ -57,7 +57,7 @@ namespace boost
#else
std::size_t page_size = ::sysconf( _SC_PAGESIZE);
#endif
-#if PTHREAD_STACK_MIN > 0
+#ifdef PTHREAD_STACK_MIN
if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
#endif
size = ((size+page_size-1)/page_size)*page_size;

View File

@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
url = "https://github.com/catchorg/Catch2/commit/bb6d08323f23a39eb65dd86671e68f4f5d3f2d6c.patch";
sha256 = "1vhbzx84nrhhf9zlbl6h5zmg3r5w5v833ihlswsysb9wp2i4isc5";
})
# Fix glibc-2.34 build
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/catch1/raw/23276476148a657e7a45ade547f858cbf965a33a/f/catch1-sigstksz.patch";
sha256 = "sha256-XSsI3iDEZCUSbozlYWC0y/LZ7qr/5zwACpn1jHKD0yU=";
})
];
doCheck = true;

View File

@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
owner = "puppetlabs";
};
postPatch = ''
sed -i -e '/add_subdirectory(tests)/d' lib/CMakeLists.txt
'';
NIX_CFLAGS_COMPILE = "-Wno-error";
nativeBuildInputs = [ cmake ];

View File

@ -0,0 +1,131 @@
From f81744bae4442345ff6f40d80fdb8adaba8b330f Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Fri, 27 Aug 2021 17:19:27 +0200
Subject: [PATCH] Revert "Remove all usage of @BASH@ or ${BASH} in installed
files, and hardcode /bin/bash instead"
We need the ability to override to use `/bin/sh` here to avoid having
some bootstrap tools in a final build product.
This reverts commit 5188a9d0265cc6f7235a8af1d31ab02e4a24853d.
---
debug/Makefile | 5 +++--
debug/xtrace.sh | 2 +-
elf/Makefile | 4 +++-
elf/ldd.bash.in | 2 +-
elf/sotruss.sh | 2 +-
malloc/Makefile | 5 +++--
malloc/memusage.sh | 2 +-
timezone/Makefile | 3 ++-
8 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/debug/Makefile b/debug/Makefile
index 6893111cbf..3f66666c6c 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -216,7 +216,8 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
$(objpfx)xtrace: xtrace.sh
rm -f $@.new
- sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
- -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
+ -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@
diff --git a/debug/xtrace.sh b/debug/xtrace.sh
index 9697fbe0b4..279fe59ac6 100755
--- a/debug/xtrace.sh
+++ b/debug/xtrace.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! @BASH@
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
diff --git a/elf/Makefile b/elf/Makefile
index d05f410592..9264409fdd 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -144,7 +144,8 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
$(common-objpfx)libc_nonshared.a
$(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make
- sed -e 's%@VERSION@%$(version)%g' \
+ sed -e 's%@BASH@%$(BASH)%g' \
+ -e 's%@VERSION@%$(version)%g' \
-e 's%@TEXTDOMAINDIR@%$(localedir)%g' \
-e 's%@PREFIX@%$(prefix)%g' \
-e 's|@PKGVERSION@|$(PKGVERSION)|g' \
@@ -659,6 +660,7 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \
-e 's%@VERSION@%$(version)%g' \
-e 's|@PKGVERSION@|$(PKGVERSION)|g' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
+ -e 's%@BASH@%$(BASH)%g' \
-e 's%@TEXTDOMAINDIR@%$(localedir)%g'
ifeq ($(ldd-rewrite-script),no)
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index ba736464ac..57442bc3f2 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! @BASH@
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
diff --git a/elf/sotruss.sh b/elf/sotruss.sh
index 003cf4d825..fd4da80244 100755
--- a/elf/sotruss.sh
+++ b/elf/sotruss.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! @BASH@
# Copyright (C) 2011-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
diff --git a/malloc/Makefile b/malloc/Makefile
index 9b70831d38..90ecadff6c 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -271,8 +271,9 @@ $(objpfx)mtrace: mtrace.pl
$(objpfx)memusage: memusage.sh
rm -f $@.new
- sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
- -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
+ -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@
diff --git a/malloc/memusage.sh b/malloc/memusage.sh
index 0645f09911..c1cd4e23b7 100755
--- a/malloc/memusage.sh
+++ b/malloc/memusage.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! @BASH@
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
diff --git a/timezone/Makefile b/timezone/Makefile
index c624a189b3..395abfeebd 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -123,7 +123,8 @@ $(testdata)/XT%: testdata/XT%
cp $< $@
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
- sed -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
+ sed -e 's|/bin/bash|$(BASH)|' \
+ -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
-e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
-e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
-e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
--
2.31.1

Binary file not shown.

View File

@ -43,9 +43,9 @@
} @ args:
let
version = "2.33";
patchSuffix = "-117";
sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
version = "2.34";
patchSuffix = "-115";
sha256 = "sha256-RNJqH+ILiFOkj0cOrQHkJ56GmsFJsZXdpORKGV2YGrI=";
in
assert withLinuxHeaders -> linuxHeaders != null;
@ -62,14 +62,14 @@ stdenv.mkDerivation ({
patches =
[
/* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
$ git fetch --all -p && git checkout origin/release/2.33/master && git describe
glibc-2.33-117-g55446dd8a2
$ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
$ git fetch --all -p && git checkout origin/release/2.34/master && git describe
glibc-2.34-115-gd5d1c95aaf
$ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz
To compare the archive contents zdiff can be used.
$ zdiff -u 2.33-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz
$ zdiff -u 2.34-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.34-master.patch.gz
*/
./2.33-master.patch.gz
./2.34-master.patch.gz
/* Allow NixOS and Nix to handle the locale-archive. */
./nix-locale-archive.patch
@ -125,6 +125,8 @@ stdenv.mkDerivation ({
/* https://github.com/NixOS/nixpkgs/pull/137601 */
./nix-nss-open-files.patch
./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
]
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
@ -138,6 +140,10 @@ stdenv.mkDerivation ({
# nscd needs libgcc, and we don't want it dynamically linked
# because we don't want it to depend on bootstrap-tools libs.
echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
# Ensure that `__nss_files_fopen` can still be wrapped by `libredirect`.
sed -i -e '/libc_hidden_def (__nss_files_fopen)/d' nss/nss_files_fopen.c
sed -i -e '/libc_hidden_proto (__nss_files_fopen)/d' include/nss_files.h
''
# FIXME: find a solution for infinite recursion in cross builds.
# For now it's hopefully acceptable that IDN from libc doesn't reliably work.

View File

@ -119,6 +119,17 @@ callPackage ./common.nix { inherit stdenv; } {
# Get rid of more unnecessary stuff.
rm -rf $out/var $bin/bin/sln
# Backwards-compatibility to fix e.g.
# "configure: error: Pthreads are required to build libgomp" during `gcc`-build
# because it's not actually needed anymore to link against `pthreads` since
# it's now part of `libc.so.6` itself, but the gcc build breaks if
# this doesn't work.
ln -sf $out/lib/libpthread.so.0 $out/lib/libpthread.so
ln -sf $out/lib/librt.so.1 $out/lib/librt.so
ln -sf $out/lib/libdl.so.2 $out/lib/libdl.so
ln -sf $out/lib/libutil.so.1 $out/lib/libutil.so
touch $out/lib/libpthread.a
''
# For some reason these aren't stripped otherwise and retain reference
# to bootstrap-tools; on cross-arm this stripping would break objects.

View File

@ -1,7 +1,8 @@
diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
--- glibc-2.27-orig/locale/loadarchive.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/loadarchive.c 2018-02-17 22:32:25.680169462 -0500
@@ -123,6 +123,23 @@
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
index 512769eaec..171dbb4ad9 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -123,6 +123,23 @@ calculate_head_size (const struct locarhead *h)
return MAX (namehash_end, MAX (string_end, locrectab_end));
}
@ -25,7 +26,7 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
/* Find the locale *NAMEP in the locale archive, and return the
internalized data structure for its CATEGORY data. If this locale has
@@ -202,7 +219,7 @@
@@ -202,7 +219,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
archmapped = &headmap;
/* The archive has never been opened. */
@ -34,23 +35,25 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
if (fd < 0)
/* Cannot open the archive, for whatever reason. */
return NULL;
@@ -397,8 +414,7 @@
@@ -397,8 +414,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
if (fd == -1)
{
struct stat64 st;
struct __stat64_t64 st;
- fd = __open_nocancel (archfname,
- O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ fd = open_locale_archive ();
+ fd = open_locale_archive();
if (fd == -1)
/* Cannot open the archive, for whatever reason. */
return NULL;
diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
--- glibc-2.27-orig/locale/programs/locale.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/programs/locale.c 2018-02-17 22:36:39.726293213 -0500
@@ -633,6 +633,24 @@
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index ca0a95be99..e484783402 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -633,6 +633,24 @@ nameentcmp (const void *a, const void *b)
}
static int
+static int
+open_locale_archive (void)
+{
+ int fd = -1;
@ -68,11 +71,10 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
+}
+
+
+static int
static int
write_archive_locales (void **all_datap, char *linebuf)
{
struct stat64 st;
@@ -644,7 +662,7 @@
@@ -645,7 +663,7 @@ write_archive_locales (void **all_datap, char *linebuf)
int fd, ret = 0;
uint32_t cnt;
@ -81,10 +83,11 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
if (fd < 0)
return 0;
diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
--- glibc-2.27-orig/locale/programs/locarchive.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/programs/locarchive.c 2018-02-17 22:40:51.245293975 -0500
@@ -117,6 +117,22 @@
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index f38e835c52..779a3199fc 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -117,6 +117,22 @@ prepare_address_space (int fd, size_t total, size_t *reserved, int *xflags,
}
@ -107,7 +110,7 @@ diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/progra
static void
create_archive (const char *archivefname, struct locarhandle *ah)
{
@@ -578,7 +594,7 @@
@@ -578,7 +594,7 @@ open_archive (struct locarhandle *ah, bool readonly)
while (1)
{
/* Open the archive. We must have exclusive write access. */

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
owner = "puppetlabs";
};
cmakeFlags = [ "-DLEATHERMAN_ENABLE_TESTING=OFF" ];
NIX_CFLAGS_COMPILE = "-Wno-error";
nativeBuildInputs = [ cmake ];

View File

@ -47,5 +47,6 @@ mkDerivation {
maintainers = with maintainers; [ hodapp kovirobi ];
license = with licenses; [ mpl20 gpl2Plus ];
platforms = with platforms; linux ++ darwin;
broken = true;
};
}

View File

@ -11,6 +11,8 @@ mkDerivation rec {
sha256 = "1pa459h52kw88mvsdvkz83f4p35vvgsfy2qfjwcj61gj4y9d2rq4";
};
cmakeFlags = [ "-DOSMSCOUT_BUILD_TESTS=OFF" ];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ marisa qtlocation ];

View File

@ -17,5 +17,8 @@ stdenv.mkDerivation rec {
homepage = "https://www.fefe.de/libowfat/";
license = licenses.gpl2;
platforms = platforms.linux;
# Doesn't build with glibc 2.34: https://hydra.nixos.org/build/156248131
# Should be fixed with the next release: https://bugs.gentoo.org/806505
broken = true;
};
}

View File

@ -89,6 +89,10 @@ in {
libressl_3_2 = generic {
version = "3.2.7";
sha256 = "112bjfrwwqlk0lak7fmfhcls18ydf62cp7gxghf4gklpfl1zyckw";
patches = [
# See https://github.com/libressl-portable/portable/issues/653 for context.
./fix-build-with-glibc.patch
];
};
libressl_3_4 = generic {
version = "3.4.2";

View File

@ -0,0 +1,92 @@
diff --git a/tests/explicit_bzero.c b/tests/explicit_bzero.c
index 34c60baa8a..9c0e917829 100644
--- a/tests/explicit_bzero.c
+++ b/tests/explicit_bzero.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: explicit_bzero.c,v 1.6 2014/07/11 01:10:35 matthew Exp $ */
+/* $OpenBSD: explicit_bzero.c,v 1.7 2021/03/27 11:17:58 bcook Exp $ */
/*
* Copyright (c) 2014 Google Inc.
*
@@ -18,6 +18,7 @@
#include <assert.h>
#include <errno.h>
#include <signal.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -36,19 +37,33 @@ enum {
SECRETBYTES = SECRETCOUNT * sizeof(secret)
};
-static char altstack[SIGSTKSZ + SECRETBYTES];
+/*
+ * As of glibc 2.34, when _GNU_SOURCE is defined, SIGSTKSZ is no longer
+ * constant on Linux. SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).
+ */
+static char *altstack;
+#define ALTSTACK_SIZE (SIGSTKSZ + SECRETBYTES)
static void
setup_stack(void)
{
+ altstack = calloc(1, ALTSTACK_SIZE);
+ ASSERT_NE(NULL, altstack);
+
const stack_t sigstk = {
.ss_sp = altstack,
- .ss_size = sizeof(altstack),
+ .ss_size = ALTSTACK_SIZE
};
ASSERT_EQ(0, sigaltstack(&sigstk, NULL));
}
+static void
+cleanup_stack(void)
+{
+ free(altstack);
+}
+
static void
assert_on_stack(void)
{
@@ -129,7 +144,7 @@ test_without_bzero()
char buf[SECRETBYTES];
assert_on_stack();
populate_secret(buf, sizeof(buf));
- char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
+ char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
ASSERT_NE(NULL, res);
return (res);
}
@@ -140,7 +155,7 @@ test_with_bzero()
char buf[SECRETBYTES];
assert_on_stack();
populate_secret(buf, sizeof(buf));
- char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
+ char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
ASSERT_NE(NULL, res);
explicit_bzero(buf, sizeof(buf));
return (res);
@@ -183,15 +198,17 @@ main()
* on the stack. This sanity checks that call_on_stack() and
* populate_secret() work as intended.
*/
- memset(altstack, 0, sizeof(altstack));
+ memset(altstack, 0, ALTSTACK_SIZE);
call_on_stack(do_test_without_bzero);
/*
* Now test with a call to explicit_bzero() and check that we
* *don't* find any instances of the secret data.
*/
- memset(altstack, 0, sizeof(altstack));
+ memset(altstack, 0, ALTSTACK_SIZE);
call_on_stack(do_test_with_bzero);
+ cleanup_stack();
+
return (0);
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
{ lib, stdenv, fetchFromGitHub, autoreconfHook, fetchpatch }:
with lib;
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "03iiaafdcwh220pqignk407h6klrakwz0zkb8iwk6nkwipkwvhsx";
};
patches = [
# glibc-2.34 compat
(fetchpatch {
url = "https://raw.githubusercontent.com/gentoo/gentoo/dbb8a5c9f749cc11e61cfe558f164b165cbc30cb/mail-filter/libspf2/files/libspf2-1.2.11-undefined-dn_.patch";
sha256 = "sha256-6JVVkVGCcFJsNeBdVTPcLhW4KoHLY4ai/KXDMliXgPA=";
})
];
postPatch = ''
# disable static bins compilation
sed -i \

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake }:
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "mustache";
@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
sha256 = "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb";
};
nativeBuildInputs = [ cmake ];
dontBuild = true;
installPhase = ''
mkdir -p $out/include
cp ../mustache.hpp $out/include
cp mustache.hpp $out/include
'';
meta = with lib; {

View File

@ -85,6 +85,14 @@ let
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];
qtwebengine = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/d122c011631137b79455850c363676c655cf9e09/f/qtwebengine-everywhere-src-5.15.5-SIGSTKSZ.patch";
sha256 = "sha256-CJxN6sTvWdPVEwSkr0zpPrjyhUIi6tYSWb8ZyO0sY2o=";
excludes = [
"src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc"
];
})
./qtwebengine-no-build-skip.patch
# https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
# https://bugreports.qt.io/browse/QTBUG-77037

View File

@ -96,6 +96,12 @@ let
stripLen = 1;
extraPrefix = "src/3rdparty/";
})
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/4cef673b2dd01ce85ce7a841cf352104bbe79668/f/qtwebengine-everywhere-5.15.2-SIGSTKSZ.patch";
sha256 = "sha256-2D0/FL4PBL4p6ccd6JoDAGqNtLs2aeE1OdM+PJItock=";
})
] ++ lib.optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
qtwebkit = [
(fetchpatch {

View File

@ -56,7 +56,13 @@ let
qtdeclarative = [ ./qtdeclarative.patch ];
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];
qtwebengine = lib.optionals stdenv.isDarwin [
qtwebengine = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/d122c011631137b79455850c363676c655cf9e09/f/qtwebengine-everywhere-src-5.15.5-SIGSTKSZ.patch";
sha256 = "sha256-1zS7nvbe5ZVuW/wSNOUBc2Qz0aB483Kfnz1JbzKEI+M=";
})
] ++ lib.optionals stdenv.isDarwin [
./qtwebengine-darwin-no-platform-check.patch
./qtwebengine-mac-dont-set-dsymutil-path.patch
];

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU }:
{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU, catch }:
stdenv.mkDerivation rec {
pname = "recastai";
@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-QP3lMMFR6fiKQTksAkRL6X9yaoVz2xt4QSIP9g6piww=";
};
postPatch = ''
cp ${catch}/include/catch/catch.hpp Tests/catch.hpp
'';
doCheck = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ libGL SDL2 libGLU ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib }:
{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib, catch2 }:
stdenv.mkDerivation rec {
pname = "seasocks";
@ -11,9 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "1f9a3mx3yjmr5qry4rc1c7mrx3348iifxm7d8sj8yd41kqnzmfv4";
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp src/test/c/catch/catch2/catch.hpp
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib python3 ];
doCheck = true;
meta = with lib; {
homepage = "https://github.com/mattgodbolt/seasocks";
description = "Tiny embeddable C++ HTTP and WebSocket server";

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
];
# Do not build static libraries
cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];
cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" "-DSOCI_TESTS=off" ];
nativeBuildInputs = [ cmake ];
buildInputs = [

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, cmake, fmt_8 }:
{ lib, stdenv, fetchFromGitHub, cmake, fmt_8, fetchpatch }:
let
generic = { version, sha256 }:
generic = { version, sha256, patches ? [] }:
stdenv.mkDerivation {
pname = "spdlog";
inherit version;
@ -13,6 +13,8 @@ let
inherit sha256;
};
inherit patches;
nativeBuildInputs = [ cmake ];
# spdlog <1.3 uses a bundled version of fmt
propagatedBuildInputs = lib.optional (lib.versionAtLeast version "1.3") fmt_8;
@ -51,6 +53,13 @@ in
spdlog_1 = generic {
version = "1.9.2";
sha256 = "sha256-GSUdHtvV/97RyDKy8i+ticnSlQCubGGWHg4Oo+YAr8Y=";
patches = [
# glibc 2.34 compat
(fetchpatch {
url = "https://github.com/gabime/spdlog/commit/d54b8e89c058f3cab2b32b3e9a2b49fd171d5895.patch";
sha256 = "sha256-pb7cREF90GXb5Mbs8xFLQ+eLo6Xum13/xYa8JUgJlbI=";
})
];
};
spdlog_0 = generic {

View File

@ -5,6 +5,7 @@
, flint
, mpfr
, libmpc
, catch
}:
stdenv.mkDerivation rec {
@ -18,6 +19,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-5KpxBusJCuwrfFWHbrRKlH6Ic7YivYqz2m+BCbNfZp0=";
};
postPatch = ''
cp ${catch}/include/catch/catch.hpp symengine/utilities/catch/catch.hpp
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ gmp flint mpfr libmpc ];

View File

@ -1,59 +0,0 @@
{ stdenv, lib, fetchFromGitHub
, mcpp, bzip2, expat, openssl, db5
, darwin, libiconv, Security
, zeroc-ice # to share meta
, cpp11 ? false
}:
stdenv.mkDerivation rec {
pname = "zeroc-ice";
version = "3.6.5";
src = fetchFromGitHub {
owner = "zeroc-ice";
repo = "ice";
rev = "v${version}";
sha256 = "073h7v1f2sw77cr1a6xxa5l9j547pz24sxa9qdjc4zki0ivcnq15";
};
buildInputs = [ mcpp bzip2 expat openssl db5 ]
++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
postUnpack = ''
sourceRoot=$sourceRoot/cpp
'';
prePatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace config/Make.rules.Darwin \
--replace xcrun ""
'';
patches = [
# Fixes compilation warning about uninitialied variables (in test code)
./uninitialized-variable-warning.patch
];
preBuild = ''
makeFlagsArray+=(
"prefix=$out"
"OPTIMIZE=yes"
"USR_DIR_INSTALL=yes"
"CONFIGS=${if cpp11 then "cpp11-shared" else "shared"}"
"SKIP=slice2py" # provided by a separate package
)
'';
# cannot find -lIceXML (linking bin/transformdb)
enableParallelBuilding = false;
outputs = [ "out" "bin" "dev" ];
postInstall = ''
mkdir -p $bin $dev/share
mv $out/bin $bin
mv $out/share/Ice-* $dev/share/ice
rm -rf $out/share/slice
'';
inherit (zeroc-ice) meta;
}

View File

@ -3,6 +3,7 @@
, darwin, libiconv, Security
, python3 # for tests only
, cpp11 ? false
, fetchpatch
}:
let
@ -32,6 +33,18 @@ in stdenv.mkDerivation rec {
sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
};
patches = [
# Fixes for openssl 3.0 / glibc-2.34.
(fetchpatch {
url = "https://github.com/zeroc-ice/ice/commit/7204b31a082a10cd481c1f31dbb6184ec699160d.patch";
sha256 = "sha256-RN8kQrvWRu1oXB7UV7DkYbZ8A0VyJYGArx6ikovwefo=";
})
(fetchpatch {
url = "https://github.com/zeroc-ice/ice/commit/358e7fea00383d55d1c19d38a3bbb64aca803aeb.patch";
sha256 = "sha256-ntrTO6qHB7dw398BRdAyJQUfVYW3iEfzUaBYoWWOEDs=";
})
];
buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];

View File

@ -1,20 +0,0 @@
diff --git a/test/Glacier2/dynamicFiltering/TestControllerI.h b/test/Glacier2/dynamicFiltering/TestControllerI.h
index 7e21639..1279200 100644
--- a/test/Glacier2/dynamicFiltering/TestControllerI.h
+++ b/test/Glacier2/dynamicFiltering/TestControllerI.h
@@ -21,13 +21,12 @@ struct SessionTuple
{
Glacier2::SessionPrx session;
Glacier2::SessionControlPrx sessionControl;
- bool configured;
+ bool configured = false;
SessionTuple() {}
SessionTuple(Glacier2::SessionPrx s, Glacier2::SessionControlPrx control):
session(s),
- sessionControl(control),
- configured(false)
+ sessionControl(control)
{}
SessionTuple&

View File

@ -20,6 +20,11 @@ in stdenv.mkDerivation {
ln -s ${lss} $sourceRoot/src/third_party/lss
'';
postPatch = ''
substituteInPlace src/client/linux/handler/exception_handler.cc \
--replace "max(16384" "max(static_cast<long>(16384)"
'';
meta = with lib; {
description = "An open-source multi-platform crash reporting system";
homepage = "https://chromium.googlesource.com/breakpad";

View File

@ -1,4 +1,8 @@
import ./common.nix {
version = "6.8";
sha256 = "1i7yb7mrp3inz25zbzv2pllr4y7d58v818f1as7iz8mw53nm7dwf";
patches = [
# glibc 2.34 compat
./fix-glibc-2.34.patch
];
}

View File

@ -1,4 +1,4 @@
{ version, sha256 }:
{ version, sha256, patches ? [] }:
{ lib, stdenv, buildPackages, fetchurl, perl, xz, gettext
@ -26,7 +26,7 @@ stdenv.mkDerivation {
inherit sha256;
};
patches = optional crossBuildTools ./cross-tools-flags.patch;
patches = patches ++ optional crossBuildTools ./cross-tools-flags.patch;
# ncurses is required to build `makedoc'
# this feature is introduced by the ./cross-tools-flags.patch

View File

@ -0,0 +1,186 @@
Patch by Vitezslav Crhonek <vcrhonek@redhat.com>
Source: https://src.fedoraproject.org/rpms/texinfo/c/9b2cca4817fa4bd8d520fed05e9560fc7183dcdf?branch=rawhide
diff -up texinfo-6.8/gnulib/lib/cdefs.h.orig texinfo-6.8/gnulib/lib/cdefs.h
--- texinfo-6.8/gnulib/lib/cdefs.h.orig 2021-03-11 19:57:53.000000000 +0100
+++ texinfo-6.8/gnulib/lib/cdefs.h 2021-07-19 12:26:46.985176475 +0200
@@ -321,15 +321,15 @@
/* The nonnull function attribute marks pointer parameters that
must not be NULL. */
-#ifndef __attribute_nonnull__
+#ifndef __nonnull
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
-# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
+# define __nonnull(params) __attribute__ ((__nonnull__ params))
# else
-# define __attribute_nonnull__(params)
+# define __nonnull(params)
# endif
-#endif
-#ifndef __nonnull
-# define __nonnull(params) __attribute_nonnull__ (params)
+#elif !defined __GLIBC__
+# undef __nonnull
+# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params)
#endif
/* If fortification mode, we warn about unused results of certain
diff -up texinfo-6.8/gnulib/lib/libc-config.h.orig texinfo-6.8/gnulib/lib/libc-config.h
--- texinfo-6.8/gnulib/lib/libc-config.h.orig 2021-03-11 19:57:54.000000000 +0100
+++ texinfo-6.8/gnulib/lib/libc-config.h 2021-07-19 12:27:58.810590975 +0200
@@ -33,9 +33,9 @@
#include <config.h>
/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
- _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 and
- DragonFlyBSD 5.9 it includes <sys/cdefs.h> which defines __nonnull.
- Elsewhere it is harmless. */
+ _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 it
+ includes <sys/cdefs.h> which defines __nonnull. Elsewhere it
+ is harmless. */
#include <errno.h>
/* From glibc <errno.h>. */
diff -up texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c
--- texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig 2021-03-11 19:57:54.000000000 +0100
+++ texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c 2021-07-19 12:24:46.878419397 +0200
@@ -192,7 +192,7 @@ DYNARRAY_NAME (free__array__) (struct DY
/* Initialize a dynamic array object. This must be called before any
use of the object. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static void
DYNARRAY_NAME (init) (struct DYNARRAY_STRUCT *list)
{
@@ -202,7 +202,7 @@ DYNARRAY_NAME (init) (struct DYNARRAY_ST
}
/* Deallocate the dynamic array and its elements. */
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __nonnull ((1))
static void
DYNARRAY_FREE (struct DYNARRAY_STRUCT *list)
{
@@ -213,7 +213,7 @@ DYNARRAY_FREE (struct DYNARRAY_STRUCT *l
}
/* Return true if the dynamic array is in an error state. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline bool
DYNARRAY_NAME (has_failed) (const struct DYNARRAY_STRUCT *list)
{
@@ -222,7 +222,7 @@ DYNARRAY_NAME (has_failed) (const struct
/* Mark the dynamic array as failed. All elements are deallocated as
a side effect. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static void
DYNARRAY_NAME (mark_failed) (struct DYNARRAY_STRUCT *list)
{
@@ -236,7 +236,7 @@ DYNARRAY_NAME (mark_failed) (struct DYNA
/* Return the number of elements which have been added to the dynamic
array. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline size_t
DYNARRAY_NAME (size) (const struct DYNARRAY_STRUCT *list)
{
@@ -245,7 +245,7 @@ DYNARRAY_NAME (size) (const struct DYNAR
/* Return a pointer to the array element at INDEX. Terminate the
process if INDEX is out of bounds. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline DYNARRAY_ELEMENT *
DYNARRAY_NAME (at) (struct DYNARRAY_STRUCT *list, size_t index)
{
@@ -257,7 +257,7 @@ DYNARRAY_NAME (at) (struct DYNARRAY_STRU
/* Return a pointer to the first array element, if any. For a
zero-length array, the pointer can be NULL even though the dynamic
array has not entered the failure state. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline DYNARRAY_ELEMENT *
DYNARRAY_NAME (begin) (struct DYNARRAY_STRUCT *list)
{
@@ -267,7 +267,7 @@ DYNARRAY_NAME (begin) (struct DYNARRAY_S
/* Return a pointer one element past the last array element. For a
zero-length array, the pointer can be NULL even though the dynamic
array has not entered the failure state. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline DYNARRAY_ELEMENT *
DYNARRAY_NAME (end) (struct DYNARRAY_STRUCT *list)
{
@@ -294,7 +294,7 @@ DYNARRAY_NAME (add__) (struct DYNARRAY_S
/* Add ITEM at the end of the array, enlarging it by one element.
Mark *LIST as failed if the dynamic array allocation size cannot be
increased. */
-__attribute_nonnull__ ((1))
+__nonnull ((1))
static inline void
DYNARRAY_NAME (add) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item)
{
@@ -348,8 +348,7 @@ DYNARRAY_NAME (emplace__) (struct DYNARR
/* Allocate a place for a new element in *LIST and return a pointer to
it. The pointer can be NULL if the dynamic array cannot be
enlarged due to a memory allocation failure. */
-__attribute_maybe_unused__ __attribute_warn_unused_result__
-__attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
static
/* Avoid inlining with the larger initialization code. */
#if !(defined (DYNARRAY_ELEMENT_INIT) || defined (DYNARRAY_ELEMENT_FREE))
@@ -373,7 +372,7 @@ DYNARRAY_NAME (emplace) (struct DYNARRAY
existing size, new elements are added (which can be initialized).
Otherwise, the list is truncated, and elements are freed. Return
false on memory allocation failure (and mark *LIST as failed). */
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __nonnull ((1))
static bool
DYNARRAY_NAME (resize) (struct DYNARRAY_STRUCT *list, size_t size)
{
@@ -418,7 +417,7 @@ DYNARRAY_NAME (resize) (struct DYNARRAY_
}
/* Remove the last element of LIST if it is present. */
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __nonnull ((1))
static void
DYNARRAY_NAME (remove_last) (struct DYNARRAY_STRUCT *list)
{
@@ -435,7 +434,7 @@ DYNARRAY_NAME (remove_last) (struct DYNA
/* Remove all elements from the list. The elements are freed, but the
list itself is not. */
-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __nonnull ((1))
static void
DYNARRAY_NAME (clear) (struct DYNARRAY_STRUCT *list)
{
@@ -453,8 +452,7 @@ DYNARRAY_NAME (clear) (struct DYNARRAY_S
stored in *RESULT if LIST refers to an empty list. On success, the
pointer in *RESULT is heap-allocated and must be deallocated using
free. */
-__attribute_maybe_unused__ __attribute_warn_unused_result__
-__attribute_nonnull__ ((1, 2))
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1, 2))
static bool
DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list,
DYNARRAY_FINAL_TYPE *result)
@@ -485,8 +483,7 @@ DYNARRAY_NAME (finalize) (struct DYNARRA
have a sentinel at the end). If LENGTHP is not NULL, the array
length is written to *LENGTHP. *LIST is re-initialized and can be
reused. */
-__attribute_maybe_unused__ __attribute_warn_unused_result__
-__attribute_nonnull__ ((1))
+__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
static DYNARRAY_ELEMENT *
DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, size_t *lengthp)
{

View File

@ -49,7 +49,7 @@ stdenv.mkDerivation {
'';
makeFlags = [
"PREFIX=$(out)" "LANGUAGES=all"
"PREFIX=$(out)" "LANGUAGES=all" "RUNTESTS=0"
(if useXdgDir then "USE_XDG_DIR=1" else "USE_HOME_DIR=1")
] ++ optionals (!debug) [
"RELEASE=1"

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison
{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison, fetchpatch
, less
, buildPackages
, x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkg-config, qt5
@ -24,6 +24,15 @@ in stdenv.mkDerivation rec {
else if qtMode then "nethack-qt"
else "nethack";
patches = [
# Don't unset `__warn_unused_result__`, breaks on glibc-2.34
(fetchpatch {
url = "https://github.com/NetHack/NetHack/commit/81d73ce417dda6a98e2e918e06922e68b67c53f7.patch";
sha256 = "sha256-PX9XtJTEE3K1yg/IwIzEIT+EZWi02gU+9msrsG9ZWQY=";
revert = true;
})
];
src = fetchurl {
url = "https://nethack.org/download/${version}/nethack-${lib.replaceStrings ["."] [""] version}-src.tgz";
sha256 = "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng";

View File

@ -83,5 +83,10 @@ mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ abbradar marius851000 ];
platforms = platforms.linux;
# 2021-10-13, doesn't compile with glibc-2.34, maintainers prefer a fix on glibc's end.
# Can be marked as un-broken as soon as https://gitlab.com/OpenMW/openmw/-/merge_requests/1239
# is resolved and a patch is appliable here.
broken = true;
};
}

View File

@ -1,5 +1,7 @@
{ lib, stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs
, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto }:
, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto
, fetchpatch
}:
stdenv.mkDerivation rec {
version = "5.1.6";
@ -10,6 +12,15 @@ stdenv.mkDerivation rec {
sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx";
};
patches = [
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/autofs/raw/cc745af5e42396d540d5b3b92fae486e232bf6bd/f/autofs-5.1.7-use-default-stack-size-for-threads.patch";
sha256 = "sha256-6ETDFbW7EhHR03xFWF+6OJBgn9NX3WW3bGhTNGodaOc=";
excludes = [ "CHANGELOG" ];
})
];
preConfigure = ''
configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
export sssldir="${sssd}/lib/sssd/modules"

View File

@ -1,7 +1,7 @@
{ config, lib, stdenv, fetchFromGitHub, pkg-config, cmake
# dependencies
, glib, libXinerama
, glib, libXinerama, catch2
# optional features without extra dependencies
, mpdSupport ? true
@ -85,6 +85,8 @@ stdenv.mkDerivation rec {
sed -i 's/ Example: .*$//' doc/config_settings.xml
substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)"
cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp
'';
NIX_LDFLAGS = "-lgcc_s";
@ -133,6 +135,8 @@ stdenv.mkDerivation rec {
# src/conky.cc:137:23: fatal error: defconfig.h: No such file or directory
enableParallelBuilding = false;
doCheck = true;
meta = with lib; {
homepage = "http://conky.sourceforge.net/";
description = "Advanced, highly configurable system monitor based on torsmo";

View File

@ -31,7 +31,13 @@ in stdenv.mkDerivation rec {
})
++ (if isFuse3
then [ ./fuse3-install.patch ./fuse3-Do-not-set-FUSERMOUNT_DIR.patch ]
else [ ./fuse2-Do-not-set-FUSERMOUNT_DIR.patch ]);
else [
./fuse2-Do-not-set-FUSERMOUNT_DIR.patch
(fetchpatch {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch?id=8a970396fca7aca2d5a761b8e7a8242f1eef14c9";
sha256 = "sha256-ELYBW/wxRcSMssv7ejCObrpsJHtOPJcGq33B9yHQII4=";
})
]);
nativeBuildInputs = if isFuse3
then [ meson ninja pkg-config ]

View File

@ -17,6 +17,7 @@
, python3Packages
, libuuid
, wrapGAppsHook
, catch2
}:
stdenv.mkDerivation rec {
@ -30,6 +31,10 @@ stdenv.mkDerivation rec {
sha256 = "0hpy9yhc4mn6w8gvzwif703smmcys0j2jqbz2xfghqxcyb0ykplj";
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp external/catch/catch.hpp
'';
nativeBuildInputs = [
cmake
pkg-config

View File

@ -13,6 +13,7 @@
, python3
, xz
, zlib
, catch2
# recommended dependencies
, withHwloc ? true
, hwloc
@ -113,6 +114,8 @@ stdenv.mkDerivation rec {
tools/check-unused-dependencies
substituteInPlace configure --replace '/usr/bin/file' '${file}/bin/file'
cp ${catch2}/include/catch2/catch.hpp tests/include/catch.hpp
'' + lib.optionalString stdenv.isLinux ''
substituteInPlace configure \
--replace '/usr/include/linux' '${linuxHeaders}/include/linux'

View File

@ -1,5 +1,6 @@
{ stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl
, coreutils, findutils, gnugrep, gawk, icu, pcre, m4
, fetchpatch
, buildPackages, nixosTests
, withLDAP ? true, openldap
, withPgSQL ? false, postgresql
@ -46,6 +47,12 @@ in stdenv.mkDerivation rec {
./postfix-3.0-no-warnings.patch
./post-install-script.patch
./relative-symlinks.patch
# glibc 2.34 compat
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/postfix/raw/2f9d42453e67ebc43f786d98262a249037f80a77/f/postfix-3.6.2-glibc-234-build-fix.patch";
sha256 = "sha256-xRUL5gaoIt6HagGlhsGwvwrAfYvzMgydsltYMWvl9BI=";
})
];
postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which }:
{ stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which, catch2, catch }:
let
common = { version, sha256 }: stdenv.mkDerivation {
@ -26,6 +26,14 @@ let
# with nixpkgs, it has no sense to check for a version update
substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" ""
substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" ""
${if (lib.versionOlder version "3.4") then ''
cp ${catch}/include/catch/catch.hpp 3rdParty/catch/catch.hpp
'' else if (lib.versionOlder version "3.5") then ''
cp ${catch2}/include/catch2/catch.hpp 3rdParty/catch/catch.hpp
'' else ''
(cd 3rdParty/boost/1.69.0 && patch -p1 < ${../../../development/libraries/boost/pthread-stack-min-fix.patch})
''}
'';
cmakeFlags = [

View File

@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
hash = "sha256-/EK1CKJ0IR7fkKSpQkONbWcz6uhUoAwK430ljNYsV5U=";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace \
"add_executable(ursadb_test Tests.cpp)" "" \
--replace \
"target_link_libraries(ursadb_test ursa)" ""
'';
installPhase = ''
mkdir -p $out/bin
cp ursadb $out/bin/

View File

@ -230,7 +230,7 @@ in
overrides = self: super: {
inherit (prevStage)
ccWrapperStdenv
gcc-unwrapped coreutils gnugrep
coreutils gnugrep
perl gnum4 bison;
dejagnu = super.dejagnu.overrideAttrs (a: { doCheck = false; } );

View File

@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
do
sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
done
# Fix for glibc-2.34. For some reason, `LIBSEMA="CCC"` is added
# if `sem_init` is part of libc which causes errors like
# `gcc: error: CCC: No such file or directory` during the build.
substituteInPlace configure \
--replace 'LIBSEMA="CCC"' 'LIBSEMA=""'
'';
buildInputs =

View File

@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
sha256 = "0kqf0cy3h4cfiy5a2sigmisx0lvvsi1n0fbyb9ll5gacmy1b8nxa";
};
postPatch = ''
# Taken from https://github.com/pupnp/pupnp/pull/334/files
substituteInPlace libupnp/threadutil/inc/ithread.h \
--replace \
"#define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np" \
'#define ithread_mutexattr_setkind_np pthread_mutexattr_settype'
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ fuse];

View File

@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
./add-macfuse-support.patch
];
postPatch = ''
sed -i -e '/TEST_SOURCES/d' CMakeLists.txt
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ fuse ];

View File

@ -2,6 +2,7 @@
, stdenv
, fetchFromGitHub
, boost
, catch2
, clasp
, cmake
, gringo
@ -19,6 +20,10 @@ stdenv.mkDerivation rec {
hash = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp libcudf/tests/catch.hpp
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ boost clasp gringo re2c ];
@ -28,6 +33,8 @@ stdenv.mkDerivation rec {
"-DASPCUD_CLASP_PATH=${clasp}/bin/clasp"
];
doCheck = true;
meta = with lib; {
description = "Solver for package problems in CUDF format using ASP";
homepage = "https://potassco.org/aspcud/";

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
"--localstatedir=/var/cache"
];
CFLAGS = [
CFLAGS = lib.optionals stdenv.isDarwin [
# TODO: Revisit upstream issue https://savannah.gnu.org/bugs/?59972
# https://github.com/Homebrew/homebrew-core/pull/69761#issuecomment-770268478
"-D__nonnull\\(params\\)="

View File

@ -7,6 +7,7 @@
, openssl
, protobuf
, zlib
, catch2
}:
stdenv.mkDerivation rec {
@ -20,6 +21,10 @@ stdenv.mkDerivation rec {
hash = "sha256-cCZbG0CD5V/FTj1BuVr083EJ+BCgIcKHomNtpJb3lOo=";
};
preBuild = ''
cp ${catch2}/include/catch2/catch.hpp ../external_imported/Catch2/single_include/catch2/catch.hpp
'';
nativeBuildInputs = [
cmake
];
@ -42,6 +47,8 @@ stdenv.mkDerivation rec {
"-std=c++17"
];
doCheck = true;
meta = with lib; {
description = "Remote shell that automatically reconnects without interrupting the session";
homepage = "https://eternalterminal.dev/";

View File

@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "06cwhimm71safmwvp6nhxp6hvxsg62whnbgbgiflsqb8mgg40n7n";
};
patches = [
# From https://patchwork.openembedded.org/patch/180019/
./glibc-2.34-fix.patch
];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"

View File

@ -0,0 +1,28 @@
From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 31 Jul 2021 10:51:41 -0700
Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc
In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which
could mean different stack sizes at runtime on different architectures
and it also causes compile failure. Default glibc thread stack size
or 64Kb set by ntp should be good in glibc these days.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libntp/work_thread.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libntp/work_thread.c b/libntp/work_thread.c
index 03a5647..3ddd751 100644
--- a/libntp/work_thread.c
+++ b/libntp/work_thread.c
@@ -41,7 +41,7 @@
#ifndef THREAD_MINSTACKSIZE
# define THREAD_MINSTACKSIZE (64U * 1024)
#endif
-#ifndef __sun
+#if !defined(__sun) && !defined(__GLIBC__)
#if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN
# undef THREAD_MINSTACKSIZE
# define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN
--
2.32.0

View File

@ -0,0 +1,177 @@
From c52a5046e19718a43d48c9b3cfdc121d964e8c3b Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Fri, 28 Jan 2022 17:43:35 +0100
Subject: [PATCH] Exclude all tests from the build
For some reason it isn't sufficient to set `-DJPP_ENABLE_TESTS=OFF`.
Doing that because the tests on 2.0.0-rc3 don't seem to be working and
the vendored catch2 doesn't build with glibc 2.34.
---
src/CMakeLists.txt | 3 +--
src/core/CMakeLists.txt | 11 +----------
src/core/analysis/CMakeLists.txt | 2 --
src/core/codegen/CMakeLists.txt | 3 ---
src/core/spec/CMakeLists.txt | 2 --
src/core/training/CMakeLists.txt | 2 --
src/jumandic/CMakeLists.txt | 8 +-------
src/rnn/CMakeLists.txt | 5 +----
src/util/CMakeLists.txt | 2 --
9 files changed, 4 insertions(+), 34 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 169dff5..64b6a07 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -67,7 +67,6 @@ function(jpp_feature_codegen)
endfunction(jpp_feature_codegen)
add_subdirectory(util)
-add_subdirectory(testing)
add_subdirectory(core)
add_subdirectory(jumandic)
-add_subdirectory(rnn)
\ No newline at end of file
+add_subdirectory(rnn)
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index c63d134..01c825e 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -55,20 +55,11 @@ set(core_hdrs
${core_hdrs}
)
-set(core_test_srcs
- ${core_test_srcs}
- ${core_tsrcs}
- test/test_analyzer_env.h
- ../testing/test_analyzer.h
- )
-
add_library(jpp_core ${core_srcs} ${core_hdrs} ${libs3p_pegtl_headers})
-jpp_test_executable(jpp_core_tests ${core_test_srcs})
target_include_directories(jpp_core PUBLIC ${jpp_core_cfg_dir})
target_link_libraries(jpp_core PUBLIC jpp_util jpp_rnn PRIVATE pathie)
-target_link_libraries(jpp_core_tests jpp_core jpp_core_train)
if (${JPP_USE_PROTOBUF})
target_include_directories(jpp_core PUBLIC ${Protobuf_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
@@ -78,4 +69,4 @@ endif()
add_subdirectory(benchmarks)
if (${JPP_ENABLE_DEV_TOOLS})
add_subdirectory(devtools)
-endif ()
\ No newline at end of file
+endif ()
diff --git a/src/core/analysis/CMakeLists.txt b/src/core/analysis/CMakeLists.txt
index 526263e..1b32f8d 100644
--- a/src/core/analysis/CMakeLists.txt
+++ b/src/core/analysis/CMakeLists.txt
@@ -79,5 +79,3 @@ jpp_core_files(core_hdrs
)
-jpp_test_executable(jpp_core_analysis_tests ${core_analysis_tsrc})
-target_link_libraries(jpp_core_analysis_tests jpp_core)
diff --git a/src/core/codegen/CMakeLists.txt b/src/core/codegen/CMakeLists.txt
index a905cee..fa759c7 100644
--- a/src/core/codegen/CMakeLists.txt
+++ b/src/core/codegen/CMakeLists.txt
@@ -30,7 +30,4 @@ set(jpp_codegen_tsrcs
add_library(jpp_core_codegen ${jpp_codegen_srcs} ${jpp_codegen_hdrs})
-jpp_test_executable(jpp_codegen_tests ${jpp_codegen_tsrcs})
-target_include_directories(jpp_codegen_tests PRIVATE ${cgtest02_INCLUDE})
target_link_libraries(jpp_core_codegen jpp_core)
-target_link_libraries(jpp_codegen_tests jpp_core_codegen)
\ No newline at end of file
diff --git a/src/core/spec/CMakeLists.txt b/src/core/spec/CMakeLists.txt
index f495d67..da827b9 100644
--- a/src/core/spec/CMakeLists.txt
+++ b/src/core/spec/CMakeLists.txt
@@ -33,5 +33,3 @@ jpp_core_files(core_hdrs
)
-jpp_test_executable(jpp_core_spec_tests ${core_spec_tsrc} ${libs3p_pegtl_headers})
-target_link_libraries(jpp_core_spec_tests jpp_core)
\ No newline at end of file
diff --git a/src/core/training/CMakeLists.txt b/src/core/training/CMakeLists.txt
index 960437e..4ede9e1 100644
--- a/src/core/training/CMakeLists.txt
+++ b/src/core/training/CMakeLists.txt
@@ -39,7 +39,5 @@ set(core_train_hdrs
add_library(jpp_core_train ${core_train_src} ${core_train_hdrs})
-jpp_test_executable(jpp_core_train_tests ${core_train_tsrc})
target_link_libraries(jpp_core_train jpp_core)
-target_link_libraries(jpp_core_train_tests jpp_core_train)
\ No newline at end of file
diff --git a/src/jumandic/CMakeLists.txt b/src/jumandic/CMakeLists.txt
index bef3149..85a8b5d 100644
--- a/src/jumandic/CMakeLists.txt
+++ b/src/jumandic/CMakeLists.txt
@@ -53,10 +53,6 @@ if (${JPP_USE_PROTOBUF})
endif ()
-jpp_test_executable(jpp_jumandic_tests ${jumandic_tests})
-jpp_test_executable(jpp_bug_tests ${bug_test_sources})
-target_include_directories(jpp_jumandic_tests PRIVATE ${jpp_jumandic_cg_INCLUDE})
-
add_executable(jpp_jumandic_bootstrap main/bootstrap.cc)
add_executable(jumanpp_v2 main/jumanpp.cc)
add_executable(jumanpp_v2_train main/jumanpp_train.cc main/jumanpp_train.h)
@@ -64,11 +60,9 @@ add_executable(jpp_jumandic_pathdiff main/path_diff.cc)
target_include_directories(jpp_jumandic_pathdiff PRIVATE ${jpp_jumandic_cg_INCLUDE})
target_link_libraries(jpp_jumandic jpp_jumandic_spec)
-target_link_libraries(jpp_jumandic_tests jpp_jumandic jpp_core_train)
-target_link_libraries(jpp_bug_tests jpp_jumandic jpp_core_train)
target_link_libraries(jpp_jumandic_bootstrap jpp_jumandic)
target_link_libraries(jumanpp_v2 jpp_jumandic)
target_link_libraries(jumanpp_v2_train jpp_jumandic jpp_core_train)
target_link_libraries(jpp_jumandic_pathdiff jpp_jumandic)
-install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
\ No newline at end of file
+install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
diff --git a/src/rnn/CMakeLists.txt b/src/rnn/CMakeLists.txt
index 448ba51..ca09a00 100644
--- a/src/rnn/CMakeLists.txt
+++ b/src/rnn/CMakeLists.txt
@@ -1,12 +1,9 @@
set(jpp_rnn_sources mikolov_rnn.cc)
set(jpp_rnn_includes mikolov_rnn.h simple_rnn_impl.h mikolov_rnn_impl.h rnn_arg_parse.h)
-set(jpp_rnn_tests mikolov_rnn_test.cc)
add_library(jpp_rnn ${jpp_rnn_sources} ${jpp_rnn_includes} )
add_library(jumanpp_rnn_legacy legacy/rnnlmlib.h legacy/rnnlmlib_static.h legacy/rnnlmlib_static.cpp)
-jpp_test_executable(jpp_rnn_tests ${jpp_rnn_tests})
target_link_libraries(jpp_rnn jpp_util)
-target_link_libraries(jpp_rnn_tests jpp_rnn jumanpp_rnn_legacy)
-target_link_libraries(jumanpp_rnn_legacy jpp_util)
\ No newline at end of file
+target_link_libraries(jumanpp_rnn_legacy jpp_util)
diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt
index 53b6c57..c4599d5 100644
--- a/src/util/CMakeLists.txt
+++ b/src/util/CMakeLists.txt
@@ -25,8 +25,6 @@ endif()
add_library(jpp_util ${jpp_util_sources} ${jpp_util_headers} ${BACKWARD_headers})
-jpp_test_executable(jpp_util_test ${jpp_util_test_srcs} ${jpp_util_headers})
-target_link_libraries(jpp_util_test jpp_util)
target_link_libraries(jpp_util ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(jpp_util PUBLIC ${JPP_LIBS_DIR} ${JPP_SRC_DIR})
target_compile_features(jpp_util PUBLIC
--
2.33.1

View File

@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-ASdr6qbkSe71M7QmuuwidCa4xQhDVoXBJ2XqvSY53pQ=";
};
patches = [ ./0001-Exclude-all-tests-from-the-build.patch ];
cmakeFlags = [ "-DJPP_ENABLE_TESTS=OFF" ];
nativeBuildInputs = [ cmake ];
buildInputs = [ protobuf ]
++ lib.optional stdenv.isDarwin libiconv;

View File

@ -1411,6 +1411,9 @@ mapAliases ({
targetLlvmLibraries = targetPackages.llvmPackages_git.libraries;
});
# Added 2022-01-28
zeroc-ice-36 = throw "Unmaintained, doesn't build w/glibc-2.34";
/* If these are in the scope of all-packages.nix, they cause collisions
between mixed versions of qt. See:
https://github.com/NixOS/nixpkgs/pull/101369 */

View File

@ -30196,10 +30196,6 @@ with pkgs;
zeroc-ice-cpp11 = zeroc-ice.override { cpp11 = true; };
zeroc-ice-36 = callPackage ../development/libraries/zeroc-ice/3.6.nix {
inherit (darwin.apple_sdk.frameworks) Security;
};
zeronet = callPackage ../applications/networking/p2p/zeronet { };
zexy = callPackage ../applications/audio/pd-plugins/zexy {