Merge #95089: glibc: 2.31 -> 2.32 (into staging)

This commit is contained in:
Vladimír Čunát 2020-09-13 08:26:14 +02:00
commit e78b52ede7
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
50 changed files with 582 additions and 234 deletions

View File

@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "1sa05ifjp41xipfspk5n6l3wzpzmp3i45q88l01p4l6k6drsq336"; sha256 = "1sa05ifjp41xipfspk5n6l3wzpzmp3i45q88l01p4l6k6drsq336";
}; };
postPatch = ''
sed -ie '/sys\/sysctl.h/d' src/Unique.cpp
'';
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -1,16 +1,20 @@
{stdenv, pkgconfig, luajit, openssl, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison, makeWrapper}: {stdenv, pkgconfig, luajit, openssl, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison, makeWrapper
, libtirpc
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.9.16"; version = "2.9.16.1";
pname = "snort"; pname = "snort";
src = fetchurl { src = fetchurl {
name = "${pname}-${version}.tar.gz"; name = "${pname}-${version}.tar.gz";
url = "https://snort.org/downloads/archive/snort/${pname}-${version}.tar.gz"; url = "https://snort.org/downloads/archive/snort/${pname}-${version}.tar.gz";
sha256 = "1mxspk0060f62xp631w589b9ryb21qygn020az3dw2fsy7nxi24n"; sha256 = "13lzvjli6kbsnkd7lf0rm71l2mnz38pxk76ia9yrjb6clfhlbb73";
}; };
buildInputs = [ makeWrapper pkgconfig luajit openssl libpcap pcre libdnet daq zlib flex bison ]; buildInputs = [ makeWrapper pkgconfig luajit openssl libpcap pcre libdnet daq zlib flex bison libtirpc ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
rev = "v${version}"; rev = "v${version}";
sha256 = "09ky3cccaphcqc6nhfs00pps99lasmzc2pf5vk0gi8hlqbbhilxf"; sha256 = "09ky3cccaphcqc6nhfs00pps99lasmzc2pf5vk0gi8hlqbbhilxf";
}; };
postPatch = ''
sed -ie '/sys\/sysctl\.h/d' src/tcpkali_syslimits.c
'';
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ bison]; buildInputs = [ bison];
meta = { meta = {

View File

@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "1iwa17s8ipj6a2b8zss5csb1k5y9s5js38syvq932rxcinbyjsl4"; sha256 = "1iwa17s8ipj6a2b8zss5csb1k5y9s5js38syvq932rxcinbyjsl4";
}; };
postPatch = ''
sed -ie '/sys\/sysctl.h/d' ATOOLS/Org/Run_Parameter.C
'';
buildInputs = [ gfortran sqlite lhapdf rivet ]; buildInputs = [ gfortran sqlite lhapdf rivet ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,4 +1,6 @@
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, lapack, libyaml, lynx, mela, root5, qcdnum, which }: { stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, lapack, libyaml, lynx
, mela, root5, qcdnum, which, libtirpc
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xfitter"; pname = "xfitter";
@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gfortran which ]; nativeBuildInputs = [ gfortran which ];
buildInputs = buildInputs =
[ apfel apfelgrid applgrid blas lhapdf lapack mela root5 qcdnum ] [ apfel apfelgrid applgrid blas lhapdf lapack mela root5 qcdnum libtirpc ]
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin # pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml ++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
; ;
@ -47,6 +49,9 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The xFitter project is an open source QCD fit framework ready to extract PDFs and assess the impact of new data"; description = "The xFitter project is an open source QCD fit framework ready to extract PDFs and assess the impact of new data";
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -0,0 +1,63 @@
From 009c426ab37ef7f8d9d8e30f45096225203d694a Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 11 Aug 2020 11:27:21 +0200
Subject: [PATCH] Fix build for glibc-2.32
The `sys_siglist`-array has been removed. Instead, `strsignal` should be
used.
---
console/fbtools.c | 2 +-
console/record.c | 2 +-
x11/rootv.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/console/fbtools.c b/console/fbtools.c
index 9f876df..07739ff 100644
--- a/console/fbtools.c
+++ b/console/fbtools.c
@@ -520,6 +520,6 @@ fb_catch_exit_signals(void)
/* cleanup */
fb_cleanup();
- fprintf(stderr,"Oops: %s\n",sys_siglist[termsig]);
+ fprintf(stderr,"Oops: %s\n",strsignal(termsig));
exit(42);
}
diff --git a/console/record.c b/console/record.c
index 685221b..90f0c85 100644
--- a/console/record.c
+++ b/console/record.c
@@ -429,7 +429,7 @@ ctrlc(int signal)
{
if (verbose)
fprintf(stderr,"\n%s - exiting\n",
- sys_siglist[signal]);
+ strsignal(signal));
stop = 1;
}
diff --git a/x11/rootv.c b/x11/rootv.c
index 60a8406..4bf458b 100644
--- a/x11/rootv.c
+++ b/x11/rootv.c
@@ -133,7 +133,7 @@ catch_sig(int signal)
termsig = signal;
if (verbose)
fprintf(stderr,"received signal %d [%s]\n",
- termsig,sys_siglist[termsig]);
+ termsig,strsignal(termsig));
}
static void usage(FILE *fp)
@@ -422,7 +422,7 @@ main(int argc, char *argv[])
}
if (verbose && termsig)
fprintf(stderr,"exiting on signal %d [%s]\n",
- termsig,sys_siglist[termsig]);
+ termsig,strsignal(termsig));
if (do_mute && have_mute)
XvSetPortAttribute(dpy,port,XV_MUTE,1);
XvStopVideo(dpy,port,win);
--
2.25.4

View File

@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
sha256 = "055p0wia0xsj073l8mg4ifa6m81dmv6p45qyh99brramq5iylfy5"; sha256 = "055p0wia0xsj073l8mg4ifa6m81dmv6p45qyh99brramq5iylfy5";
}; };
patches = [
./0001-Fix-build-for-glibc-2.32.patch
];
buildInputs = [ buildInputs = [
ncurses ncurses
libjpeg libjpeg

View File

@ -121,6 +121,13 @@ FILE * fopen(const char * path, const char * mode)
return fopen_real(rewrite(path, buf), mode); return fopen_real(rewrite(path, buf), mode);
} }
FILE * __nss_files_fopen(const char * path)
{
FILE * (*__nss_files_fopen_real) (const char *) = dlsym(RTLD_NEXT, "__nss_files_fopen");
char buf[PATH_MAX];
return __nss_files_fopen_real(rewrite(path, buf));
}
FILE * fopen64(const char * path, const char * mode) FILE * fopen64(const char * path, const char * mode)
{ {
FILE * (*fopen64_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen64"); FILE * (*fopen64_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen64");

View File

@ -245,6 +245,10 @@ stdenv.mkDerivation {
--replace usr "$PREFIX" --replace usr "$PREFIX"
substituteInPlace swift-corelibs-xctest/build_script.py \ substituteInPlace swift-corelibs-xctest/build_script.py \
--replace usr "$PREFIX" --replace usr "$PREFIX"
substituteInPlace swift-corelibs-foundation/CoreFoundation/PlugIn.subproj/CFBundle_InfoPlist.c \
--replace "if !TARGET_OS_ANDROID" "if TARGET_OS_MAC || TARGET_OS_BSD"
substituteInPlace swift-corelibs-foundation/CoreFoundation/PlugIn.subproj/CFBundle_Resources.c \
--replace "if !TARGET_OS_ANDROID" "if TARGET_OS_MAC || TARGET_OS_BSD"
''; '';
configurePhase = '' configurePhase = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ace"; pname = "ace";
version = "6.5.7"; version = "6.5.10";
src = fetchurl { src = fetchurl {
url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2"; url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
sha256 = "0hvd7y3hs8r3r7qbllfaqrva3jrx5razcnwlws822k66v4r10cbx"; sha256 = "1qnq63r9cnaaqb5yrbb7apr7kjl6x31wfclizplri3lj4rwl7plh";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig libtool ]; nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = [ perl ]; buildInputs = [ perl ];
NIX_CFLAGS_COMPILE = [
"-Wno-error=format-security"
];
patchPhase = ''substituteInPlace ./MPC/prj_install.pl \ patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
--replace /usr/bin/perl "${perl}/bin/perl"''; --replace /usr/bin/perl "${perl}/bin/perl"'';

View File

@ -1,20 +1,27 @@
{ stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto { stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto
, libXi, libXmu , libXi, libXmu, fetchpatch, libXrandr
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "chipmunk"; pname = "chipmunk";
majorVersion = "7"; majorVersion = "7";
version = "${majorVersion}.0.1"; version = "${majorVersion}.0.3";
src = fetchurl { src = fetchurl {
url = "https://chipmunk-physics.net/release/Chipmunk-${majorVersion}.x/Chipmunk-${version}.tgz"; url = "https://chipmunk-physics.net/release/Chipmunk-${majorVersion}.x/Chipmunk-${version}.tgz";
sha256 = "0q4jwv1icz8spcjkp0v3bnygi6hq2zmnsgcxkwm8i2bxfxjb8m7y"; sha256 = "06j9cfxsyrrnyvl7hsf55ac5mgff939mmijliampphlizyg0r2q4";
}; };
patches = [
(fetchpatch {
url = "https://github.com/slembcke/Chipmunk2D/commit/9a051e6fb970c7afe09ce2d564c163b81df050a8.patch";
sha256 = "0ps8bjba1k544vcdx5w0qk7gcjq94yfigxf67j50s63yf70k2n70";
})
];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = buildInputs =
[ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu ]; [ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu libXrandr ];
postInstall = '' postInstall = ''
mkdir -p $out/bin mkdir -p $out/bin

View File

@ -1,62 +0,0 @@
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 19 Feb 2020 16:21:46 +0000 (+0100)
Subject: Fix use-after-free in glob when expanding ~user (bug 25414)
X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=da97c6b88eb03fb834e92964b0895c2ac8d61f63;hp=dd34bce38c822b67fcc42e73969bf6699d6874b6
Fix use-after-free in glob when expanding ~user (bug 25414)
The value of `end_name' points into the value of `dirname', thus don't
deallocate the latter before the last use of the former.
(cherry picked from commit ddc650e9b3dc916eab417ce9f79e67337b05035c)
---
diff --git a/posix/glob.c b/posix/glob.c
index e73e35c510..c6cbd0eb43 100644
--- a/posix/glob.c
+++ b/posix/glob.c
@@ -827,31 +827,32 @@ __glob (const char *pattern, int flags, int (*errfunc) (const char *, int),
{
size_t home_len = strlen (p->pw_dir);
size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
- char *d;
+ char *d, *newp;
+ bool use_alloca = glob_use_alloca (alloca_used,
+ home_len + rest_len + 1);
- if (__glibc_unlikely (malloc_dirname))
- free (dirname);
- malloc_dirname = 0;
-
- if (glob_use_alloca (alloca_used, home_len + rest_len + 1))
- dirname = alloca_account (home_len + rest_len + 1,
- alloca_used);
+ if (use_alloca)
+ newp = alloca_account (home_len + rest_len + 1, alloca_used);
else
{
- dirname = malloc (home_len + rest_len + 1);
- if (dirname == NULL)
+ newp = malloc (home_len + rest_len + 1);
+ if (newp == NULL)
{
scratch_buffer_free (&pwtmpbuf);
retval = GLOB_NOSPACE;
goto out;
}
- malloc_dirname = 1;
}
- d = mempcpy (dirname, p->pw_dir, home_len);
+ d = mempcpy (newp, p->pw_dir, home_len);
if (end_name != NULL)
d = mempcpy (d, end_name, rest_len);
*d = '\0';
+ if (__glibc_unlikely (malloc_dirname))
+ free (dirname);
+ dirname = newp;
+ malloc_dirname = !use_alloca;
+
dirlen = home_len + rest_len;
dirname_modified = 1;
}

View File

@ -1,79 +0,0 @@
diff --git a/sysdeps/ieee754/ldbl-96/Makefile b/sysdeps/ieee754/ldbl-96/Makefile
index 995e90d6da..318628aed6 100644
--- a/sysdeps/ieee754/ldbl-96/Makefile
+++ b/sysdeps/ieee754/ldbl-96/Makefile
@@ -17,5 +17,6 @@
# <https://www.gnu.org/licenses/>.
ifeq ($(subdir),math)
-tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96
+tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96 test-sinl-pseudo
+CFLAGS-test-sinl-pseudo.c += -fstack-protector-all
endif
diff --git a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
index 5f742321ae..bcdf20179f 100644
--- a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
+++ b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
@@ -210,6 +210,18 @@ __ieee754_rem_pio2l (long double x, long double *y)
return 0;
}
+ if ((i0 & 0x80000000) == 0)
+ {
+ /* Pseudo-zero and unnormal representations are not valid
+ representations of long double. We need to avoid stack
+ corruption in __kernel_rem_pio2, which expects input in a
+ particular normal form, but those representations do not need
+ to be consistently handled like any particular floating-point
+ value. */
+ y[1] = y[0] = __builtin_nanl ("");
+ return 0;
+ }
+
/* Split the 64 bits of the mantissa into three 24-bit integers
stored in a double array. */
exp = j0 - 23;
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c
@@ -0,0 +1,41 @@
+/* Test sinl for pseudo-zeros and unnormals for ldbl-96 (bug 25487).
+ Copyright (C) 2020 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <math.h>
+#include <math_ldbl.h>
+#include <stdint.h>
+
+static int
+do_test (void)
+{
+ for (int i = 0; i < 64; i++)
+ {
+ uint64_t sig = i == 63 ? 0 : 1ULL << i;
+ long double ld;
+ SET_LDOUBLE_WORDS (ld, 0x4141,
+ sig >> 32, sig & 0xffffffffULL);
+ /* The requirement is that no stack overflow occurs when the
+ pseudo-zero or unnormal goes through range reduction. */
+ volatile long double ldr;
+ ldr = sinl (ld);
+ (void) ldr;
+ }
+ return 0;
+}
+
+#include <support/test-driver.c>

View File

@ -41,9 +41,9 @@
} @ args: } @ args:
let let
version = "2.31"; version = "2.32";
patchSuffix = ""; patchSuffix = "";
sha256 = "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj"; sha256 = "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn";
in in
assert withLinuxHeaders -> linuxHeaders != null; assert withLinuxHeaders -> linuxHeaders != null;
@ -59,9 +59,6 @@ stdenv.mkDerivation ({
patches = patches =
[ [
/* Have rpcgen(1) look for cpp(1) in $PATH. */
./rpcgen-path.patch
/* Allow NixOS and Nix to handle the locale-archive. */ /* Allow NixOS and Nix to handle the locale-archive. */
./nix-locale-archive.patch ./nix-locale-archive.patch
@ -113,8 +110,6 @@ stdenv.mkDerivation ({
}) })
./fix-x64-abi.patch ./fix-x64-abi.patch
./2.30-cve-2020-1752.patch
./2.31-cve-2020-10029.patch
] ]
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch; ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
@ -146,8 +141,6 @@ stdenv.mkDerivation ({
configureFlags = configureFlags =
[ "-C" [ "-C"
"--enable-add-ons" "--enable-add-ons"
"--enable-obsolete-nsl"
"--enable-obsolete-rpc"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"--enable-stackguard-randomization" "--enable-stackguard-randomization"
(lib.withFeatureAs withLinuxHeaders "headers" "${linuxHeaders}/include") (lib.withFeatureAs withLinuxHeaders "headers" "${linuxHeaders}/include")
@ -226,7 +219,7 @@ stdenv.mkDerivation ({
doCheck = false; # fails doCheck = false; # fails
meta = { meta = with lib; {
homepage = "https://www.gnu.org/software/libc/"; homepage = "https://www.gnu.org/software/libc/";
description = "The GNU C Library"; description = "The GNU C Library";
@ -239,10 +232,10 @@ stdenv.mkDerivation ({
most systems with the Linux kernel. most systems with the Linux kernel.
''; '';
license = lib.licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = [ lib.maintainers.eelco ]; maintainers = with maintainers; [ eelco ma27 ];
platforms = lib.platforms.linux; platforms = platforms.linux;
} // meta; } // meta;
} }

View File

@ -1,4 +1,6 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags, abseil-cpp }: { stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf
, gflags, abseil-cpp, libnsl
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.32.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too version = "1.32.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags abseil-cpp ]; buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags abseil-cpp libnsl ];
cmakeFlags = cmakeFlags =
[ "-DgRPC_ZLIB_PROVIDER=package" [ "-DgRPC_ZLIB_PROVIDER=package"

View File

@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
src = common.src; src = common.src;
postPatch = ''
sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp
'';
preConfigure = '' preConfigure = ''
cd source/Irrlicht cd source/Irrlicht
''; '';

View File

@ -0,0 +1,41 @@
From 86fd3be1d31d2e7c09603aa3a8966537ac01bb07 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 11 Aug 2020 20:30:16 +0200
Subject: [PATCH] Fix RPC compilation when using libtirpc rather than glibc
---
src/block-server.c | 3 +++
utils/chop-block-server.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/src/block-server.c b/src/block-server.c
index 3f97417..29b299e 100644
--- a/src/block-server.c
+++ b/src/block-server.c
@@ -18,6 +18,9 @@
/* Server-side stubs. */
+#include <rpc/types.h>
+#include <rpc/xdr.h>
+#include <rpc/auth.h>
#include <rpc/svc.h>
#include <chop/block-server.h>
diff --git a/utils/chop-block-server.c b/utils/chop-block-server.c
index a2076c0..9462f5d 100644
--- a/utils/chop-block-server.c
+++ b/utils/chop-block-server.c
@@ -19,6 +19,9 @@
store, e.g. a GDBM block store, and serves it remotely. A lot of code is
borrowed from `chop-archiver.c'. */
+#include <rpc/types.h>
+#include <rpc/xdr.h>
+#include <rpc/auth.h>
#include <chop/chop-config.h>
#include <alloca.h>
--
2.25.4

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, zlib, bzip2, libgcrypt { fetchurl, stdenv, zlib, bzip2, libgcrypt
, gdbm, gperf, tdb, gnutls, db, libuuid , gdbm, gperf, tdb, gnutls, db, libuuid
, lzo, pkgconfig, guile , lzo, pkgconfig, guile, rpcsvc-proto, libtirpc
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -11,16 +11,19 @@ stdenv.mkDerivation rec {
sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"; sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
}; };
patches = [ ./gets-undeclared.patch ./size_t.patch ]; patches = [ ./gets-undeclared.patch ./size_t.patch ./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch ];
nativeBuildInputs = [ pkgconfig gperf ]; nativeBuildInputs = [ pkgconfig gperf rpcsvc-proto ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
buildInputs = buildInputs =
[ zlib bzip2 lzo [ zlib bzip2 lzo
libgcrypt libgcrypt
gdbm db tdb gdbm db tdb
gnutls libuuid gnutls libuuid
guile guile libtirpc
]; ];
doCheck = false; doCheck = false;

View File

@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
license = licenses.lgpl2; license = licenses.lgpl2;
maintainers = [ maintainers.bzizou ]; maintainers = [ maintainers.bzizou ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -3,6 +3,7 @@
, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db
, gmp, readline, file, numactl, xen, libapparmor, jansson , gmp, readline, file, numactl, xen, libapparmor, jansson
, getopt, perlPackages, ocamlPackages , getopt, perlPackages, ocamlPackages
, libtirpc
, appliance ? null , appliance ? null
, javaSupport ? false, jdk ? null }: , javaSupport ? false, jdk ? null }:
@ -24,6 +25,7 @@ stdenv.mkDerivation rec {
cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
systemd fuse yajl libvirt gmp readline file hivex db systemd fuse yajl libvirt gmp readline file hivex db
numactl xen libapparmor getopt perlPackages.ModuleBuild numactl xen libapparmor getopt perlPackages.ModuleBuild
libtirpc
] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ]) ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt gettext-stub ounit ]) ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt gettext-stub ounit ])
++ stdenv.lib.optional javaSupport jdk; ++ stdenv.lib.optional javaSupport jdk;

View File

@ -0,0 +1,106 @@
From a9ce1217742d542a5ae4b154b6f55342aace374e Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 17 Aug 2020 19:35:44 +0200
Subject: [PATCH] Fix build with libtirpc
Derived from https://github.com/libvirt/libvirt/commit/d7147b3797380de2d159ce6324536f3e1f2d97e3.patch
---
libvirt.spec.in | 4 +++-
src/Makefile.am | 2 +-
src/admin/Makefile.inc.am | 1 +
src/locking/Makefile.inc.am | 2 ++
src/logging/Makefile.inc.am | 1 +
src/remote/Makefile.inc.am | 1 +
6 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 6abf97d..71fc4e6 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -405,11 +405,13 @@ BuildRequires: wireshark-devel >= 2.4.0
BuildRequires: libssh-devel >= 0.7.0
%endif
+# On RHEL-7 rpcgen is still part of glibc-common package
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: rpcgen
-BuildRequires: libtirpc-devel
%endif
+BuildRequires: libtirpc-devel
+
%if %{with_firewalld_zone}
BuildRequires: firewalld-filesystem
%endif
diff --git a/src/Makefile.am b/src/Makefile.am
index 12dd6b8..8d0d4e1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -439,7 +439,7 @@ libvirt_la_LDFLAGS += -Wl,-flat_namespace
endif WITH_MACOS
libvirt_la_LDFLAGS += $(NULL)
libvirt_la_LIBADD += \
- $(DRIVER_MODULES_LIBS)
+ $(DRIVER_MODULES_LIBS) $(XDR_LIBS)
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
# Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
# lose automake's automatic dependencies on an appropriate subset of
diff --git a/src/admin/Makefile.inc.am b/src/admin/Makefile.inc.am
index 0a9717a..8556a3b 100644
--- a/src/admin/Makefile.inc.am
+++ b/src/admin/Makefile.inc.am
@@ -72,6 +72,7 @@ libvirt_admin_la_LDFLAGS = \
libvirt_admin_la_LIBADD = \
libvirt.la \
+ $(XDR_LIBS) \
$(CAPNG_LIBS) \
$(YAJL_LIBS) \
$(DEVMAPPER_LIBS) \
diff --git a/src/locking/Makefile.inc.am b/src/locking/Makefile.inc.am
index d1bf49c..ab01d8e 100644
--- a/src/locking/Makefile.inc.am
+++ b/src/locking/Makefile.inc.am
@@ -120,6 +120,7 @@ lockd_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
lockd_la_LIBADD = \
libvirt.la \
$(GLIB_LIBS) \
+ $(XDR_LIBS) \
$(NULL)
augeas_DATA += locking/libvirt_lockd.aug
if WITH_DTRACE_PROBES
@@ -161,6 +162,7 @@ virtlockd_CFLAGS = \
virtlockd_LDFLAGS = \
$(AM_LDFLAGS) \
$(PIE_LDFLAGS) \
+ $(XDR_LIBS) \
$(NO_UNDEFINED_LDFLAGS) \
$(NULL)
virtlockd_LDADD = \
diff --git a/src/logging/Makefile.inc.am b/src/logging/Makefile.inc.am
index dc09cfe..4be3376 100644
--- a/src/logging/Makefile.inc.am
+++ b/src/logging/Makefile.inc.am
@@ -99,6 +99,7 @@ virtlogd_CFLAGS = \
virtlogd_LDFLAGS = \
$(AM_LDFLAGS) \
$(PIE_LDFLAGS) \
+ $(XDR_LIBS) \
$(NO_UNDEFINED_LDFLAGS) \
$(NULL)
virtlogd_LDADD = \
diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am
index 1b1be83..8a40c96 100644
--- a/src/remote/Makefile.inc.am
+++ b/src/remote/Makefile.inc.am
@@ -69,6 +69,7 @@ REMOTE_DAEMON_LD_ADD = \
$(LIBXML_LIBS) \
$(GNUTLS_LIBS) \
$(SASL_LIBS) \
+ $(XDR_LIBS) \
$(DBUS_LIBS) \
$(LIBNL_LIBS) \
$(NULL)
--
2.25.4

View File

@ -4,7 +4,7 @@
, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, glib , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, glib, rpcsvc-proto, libtirpc
, enableXen ? false, xen ? null , enableXen ? false, xen ? null
, enableIscsi ? false, openiscsi , enableIscsi ? false, openiscsi
, enableCeph ? false, ceph , enableCeph ? false, ceph
@ -33,10 +33,10 @@ in stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [ makeWrapper pkgconfig rpcsvc-proto ];
buildInputs = [ buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib libtirpc
] ++ optionals (!buildFromTarball) [ ] ++ optionals (!buildFromTarball) [
libtool autoconf automake libtool autoconf automake
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
@ -76,6 +76,7 @@ in stdenv.mkDerivation rec {
"QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper"
"QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper"
"EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy"
"CFLAGS=-I${libtirpc.dev}/include/tirpc"
"--with-attr" "--with-attr"
"--with-apparmor" "--with-apparmor"
"--with-secdriver-apparmor" "--with-secdriver-apparmor"

View File

@ -4,7 +4,7 @@
, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, dbus , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, dbus, libtirpc, rpcsvc-proto
, enableXen ? false, xen ? null , enableXen ? false, xen ? null
, enableIscsi ? false, openiscsi , enableIscsi ? false, openiscsi
, enableCeph ? false, ceph , enableCeph ? false, ceph
@ -33,10 +33,15 @@ in stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ makeWrapper pkgconfig docutils ] ++ optionals (!buildFromTarball) [ autoreconfHook ]; patches = [
./0001-Fix-build-with-libtirpc.patch
];
nativeBuildInputs = [ makeWrapper pkgconfig docutils rpcsvc-proto ]
++ optionals (!buildFromTarball) [ autoreconfHook ];
buildInputs = [ buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus libtirpc
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
libpciaccess lvm2 utillinux systemd libnl numad zfs libpciaccess lvm2 utillinux systemd libnl numad zfs
libapparmor libcap_ng numactl attr parted libapparmor libcap_ng numactl attr parted
@ -80,6 +85,7 @@ in stdenv.mkDerivation rec {
"QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper"
"QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper"
"EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy"
"CFLAGS=-I${libtirpc.dev}/include/tirpc"
"--with-attr" "--with-attr"
"--with-apparmor" "--with-apparmor"
"--with-secdriver-apparmor" "--with-secdriver-apparmor"

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake { stdenv, fetchFromGitHub, cmake
, krb5, liburcu , libtirpc , krb5, liburcu , libtirpc, libnsl
} : } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
''; '';
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ krb5 liburcu ]; buildInputs = [ krb5 liburcu libnsl ];
postInstall = '' postInstall = ''
mkdir -p $out/etc mkdir -p $out/etc

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake }: { stdenv, fetchFromGitHub, cmake, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nvidia-texture-tools"; pname = "nvidia-texture-tools";
@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
sha256 = "1qzyr3ib5dpxyq1y33lq02qv4cww075sm9bm4f651d34q5x38sk3"; sha256 = "1qzyr3ib5dpxyq1y33lq02qv4cww075sm9bm4f651d34q5x38sk3";
}; };
patches = [
(fetchpatch {
url = "https://github.com/castano/nvidia-texture-tools/commit/6474f2593428d89ec152da2502aa136ababe66ca.patch";
sha256 = "0akbkvm55hiv58jx71h9hj173rbnqlb5a430y9azjiix7zga42vd";
})
];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
outputs = [ "out" "dev" "lib" ]; outputs = [ "out" "dev" "lib" ];

View File

@ -87,5 +87,6 @@ stdenv.mkDerivation rec {
license = licenses.bsd3; license = licenses.bsd3;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -0,0 +1,94 @@
From a69607c511b6da94cde477283b129cbc9cfdd5a3 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 11 Aug 2020 12:32:06 +0200
Subject: [PATCH] Use `strerror` rather than `sys_errlist` to fix compilation
w/glibc-2.32
To quote the release-notes[1]:
All programs should use
strerror or strerror_r instead.
[1] https://sourceware.org/pipermail/libc-announce/2020/000029.html
---
2006/src/packlib/cspack/sysreq/serror.c | 10 +---------
2006/src/packlib/cspack/sysreq/socket.c | 2 +-
2006/src/packlib/kernlib/kernbit/z268/systems.c | 4 ++--
2006/src/pawlib/paw/piafs/piafc.c | 5 +----
4 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/2006/src/packlib/cspack/sysreq/serror.c b/2006/src/packlib/cspack/sysreq/serror.c
index 3667c42a..c560e499 100644
--- a/2006/src/packlib/cspack/sysreq/serror.c
+++ b/2006/src/packlib/cspack/sysreq/serror.c
@@ -176,15 +176,7 @@ int n;
}
else {
#if !defined(vms)
- if ((n>0) && (n<sys_nerr)) {
- return(sys_errlist[n]);
- }
- else {
- (void) sprintf(buf,"%s: %d\n",
- sys_serrlist[SEMAXERR+1-SEBASEOFF],
- n);
- return(buf);
- }
+ return strerror(n);
#else /* vms */
/*
* There are (were) some bugs is DEC C compilers (/OPT), just check
diff --git a/2006/src/packlib/cspack/sysreq/socket.c b/2006/src/packlib/cspack/sysreq/socket.c
index ceb5bd63..34c2a7bc 100644
--- a/2006/src/packlib/cspack/sysreq/socket.c
+++ b/2006/src/packlib/cspack/sysreq/socket.c
@@ -412,7 +412,7 @@ char *
s_errmsg() /* return last error message */
{
#if !defined(vms)
- return(sys_errlist[errno]);
+ return(strerror(errno));
#else /* vms */
#if defined(MULTINET) && (MULTINET == 1)
return(vms_errno_string());
diff --git a/2006/src/packlib/kernlib/kernbit/z268/systems.c b/2006/src/packlib/kernlib/kernbit/z268/systems.c
index 98459459..d1ad63ed 100644
--- a/2006/src/packlib/kernlib/kernbit/z268/systems.c
+++ b/2006/src/packlib/kernlib/kernbit/z268/systems.c
@@ -134,7 +134,7 @@ int *ovflw;
#endif /* hpux */
if ( (ps=(FILE *)popen(command,"r"))==NULL ) {
- fprintf(stderr,"systems(): popen(): %s\n",sys_errlist[errno] );
+ fprintf(stderr,"systems(): popen(): %s\n",strerror(errno) );
*rc= -errno;
*chars=0 ;
*l=0 ;
@@ -144,7 +144,7 @@ int *ovflw;
rcode = fread(buf, 1, buflen , ps );
if ( rcode < 0 ) {
fprintf(stderr,"systems(): pipe fread(): %s\n",
- sys_errlist[errno] );
+ strerror(errno) );
buf[0]='\n';
*rc= -errno;
*chars=0 ;
diff --git a/2006/src/pawlib/paw/piafs/piafc.c b/2006/src/pawlib/paw/piafs/piafc.c
index b163f80c..4d8d5528 100644
--- a/2006/src/pawlib/paw/piafs/piafc.c
+++ b/2006/src/pawlib/paw/piafs/piafc.c
@@ -1795,10 +1795,7 @@ static void fatalperror(char *msg)
extern char *sys_errlist[];
#endif
- if ((unsigned) errno < sys_nerr)
- sprintf(buf, "%s: %s", msg, sys_errlist[errno]);
- else
- sprintf(buf, "%s: Error %d", msg, errno);
+ sprintf(buf, "%s: %s", msg, strerror(errno));
fatal(buf);
}
--
2.25.4

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gnumake imake makedepend ]; nativeBuildInputs = [ gnumake imake makedepend ];
sourceRoot = "."; sourceRoot = ".";
patches = [ ./patch.patch ]; patches = [ ./patch.patch ./0001-Use-strerror-rather-than-sys_errlist-to-fix-compilat.patch ];
postPatch = '' postPatch = ''
substituteInPlace 2006/src/config/site.def \ substituteInPlace 2006/src/config/site.def \

View File

@ -1,21 +1,19 @@
{ fetchurl, stdenv, autoreconfHook, libkrb5 }: { fetchurl, stdenv, autoreconfHook, libkrb5 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libtirpc-1.2.6"; pname = "libtirpc";
version = "1.2.7-rc4";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/libtirpc/${name}.tar.bz2"; url = "http://git.linux-nfs.org/?p=steved/libtirpc.git;a=snapshot;h=5ca4ca92f629d9d83e83544b9239abaaacf0a527;sf=tgz";
sha256 = "1k6i6wma3xs7gmp54z587nd4yi5wrvg2ycl5g36zjnhx32jyjy22"; sha256 = "0w26yf9bwkpqj52sqd3n250dg9jlqnr8bjv0kc4fl5hkrv8akj8i";
name = "${pname}-${version}.tar.gz";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
postPatch = '' postPatch = ''
sed '1i#include <stdint.h>' -i src/xdr_sizeof.c sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace tirpc/rpc/types.h \
--replace '#if defined __APPLE_CC__ || defined __FreeBSD__' \
'#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined __GLIBC__'
''; '';
KRB5_CONFIG = "${libkrb5.dev}/bin/krb5-config"; KRB5_CONFIG = "${libkrb5.dev}/bin/krb5-config";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, autoconf, popt, zlib }: { stdenv, fetchgit, autoconf, popt, zlib, rpcsvc-proto, libtirpc }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "dbench-2013-01-01"; name = "dbench-2013-01-01";
@ -9,7 +9,10 @@ stdenv.mkDerivation {
sha256 = "16lcbwmmx8z5i73k3dnf54yffrpx7ql3y9k3cpkss9dcyxb1p83i"; sha256 = "16lcbwmmx8z5i73k3dnf54yffrpx7ql3y9k3cpkss9dcyxb1p83i";
}; };
buildInputs = [ autoconf popt zlib ]; nativeBuildInputs = [ autoconf rpcsvc-proto ];
buildInputs = [ popt zlib libtirpc ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
patches = [ patches = [
# patch has been also sent upstream and might be included in future versions # patch has been also sent upstream and might be included in future versions

View File

@ -1,6 +1,8 @@
{ fetchurl, stdenv, flex, bison, pkgconfig, libmnl, libnfnetlink { fetchurl, stdenv, flex, bison, pkgconfig, libmnl, libnfnetlink
, libnetfilter_conntrack, libnetfilter_queue, libnetfilter_cttimeout , libnetfilter_conntrack, libnetfilter_queue, libnetfilter_cttimeout
, libnetfilter_cthelper, systemd }: , libnetfilter_cthelper, systemd
, libtirpc
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "conntrack-tools"; pname = "conntrack-tools";
@ -13,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libmnl libnfnetlink libnetfilter_conntrack libnetfilter_queue libmnl libnfnetlink libnetfilter_conntrack libnetfilter_queue
libnetfilter_cttimeout libnetfilter_cthelper systemd libnetfilter_cttimeout libnetfilter_cthelper systemd libtirpc
]; ];
nativeBuildInputs = [ flex bison pkgconfig ]; nativeBuildInputs = [ flex bison pkgconfig ];

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent
, sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
, python3, buildPackages, nixosTests , python3, buildPackages, nixosTests, rpcsvc-proto
, enablePython ? true , enablePython ? true
}: }:
@ -10,18 +10,18 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nfs-utils"; pname = "nfs-utils";
version = "2.4.1"; version = "2.5.1";
src = fetchurl { src = fetchurl {
url = "https://kernel.org/pub/linux/utils/nfs-utils/${version}/${pname}-${version}.tar.xz"; url = "https://kernel.org/pub/linux/utils/nfs-utils/${version}/${pname}-${version}.tar.xz";
sha256 = "0dkp11a7i01c378ri68bf6k56z27kz8zzvpqm7mip6s7jkd4l9w5"; sha256 = "1i1h3n2m35q9ixs1i2qf1rpjp10cipa3c25zdf1xj1vaw5q8270g";
}; };
# libnfsidmap is built together with nfs-utils from the same source, # libnfsidmap is built together with nfs-utils from the same source,
# put it in the "lib" output, and the headers in "dev" # put it in the "lib" output, and the headers in "dev"
outputs = [ "out" "dev" "lib" "man" ]; outputs = [ "out" "dev" "lib" "man" ];
nativeBuildInputs = [ pkgconfig buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkgconfig buildPackages.stdenv.cc rpcsvc-proto ];
buildInputs = [ buildInputs = [
libtirpc libcap libevent sqlite lvm2 libtirpc libcap libevent sqlite lvm2
@ -45,8 +45,8 @@ stdenv.mkDerivation rec {
"--with-systemd=${placeholder "out"}/etc/systemd/system" "--with-systemd=${placeholder "out"}/etc/systemd/system"
"--enable-libmount-mount" "--enable-libmount-mount"
"--with-pluginpath=${placeholder "lib"}/lib/libnfsidmap" # this installs libnfsidmap "--with-pluginpath=${placeholder "lib"}/lib/libnfsidmap" # this installs libnfsidmap
] "--with-rpcgen=${rpcsvc-proto}/bin/rpcgen"
++ lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen"; ];
patches = lib.optionals stdenv.hostPlatform.isMusl [ patches = lib.optionals stdenv.hostPlatform.isMusl [
(fetchpatch { (fetchpatch {

View File

@ -9,6 +9,7 @@
, nfs-utils , nfs-utils
, gawk, gnugrep, gnused, systemd , gawk, gnugrep, gnused, systemd
, smartmontools, sysstat, sudo , smartmontools, sysstat, sudo
, pkgconfig
# Kernel dependencies # Kernel dependencies
, kernel ? null , kernel ? null
@ -94,17 +95,14 @@ let
substituteInPlace ./cmd/vdev_id/vdev_id \ substituteInPlace ./cmd/vdev_id/vdev_id \
--replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \
"PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}"
'' + optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace config/user-libtirpc.m4 \
--replace /usr/include/tirpc ${libtirpc}/include/tirpc
''; '';
nativeBuildInputs = [ autoreconfHook nukeReferences ] nativeBuildInputs = [ autoreconfHook nukeReferences ]
++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]); ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ])
buildInputs = optionals buildUser [ zlib libuuid attr ] ++ optional buildUser pkgconfig;
buildInputs = optionals buildUser [ zlib libuuid attr libtirpc ]
++ optional buildUser openssl ++ optional buildUser openssl
++ optional (buildUser && enablePython) python3 ++ optional (buildUser && enablePython) python3;
++ optional stdenv.hostPlatform.isMusl libtirpc;
# for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
NIX_CFLAGS_LINK = "-lgcc_s"; NIX_CFLAGS_LINK = "-lgcc_s";
@ -113,6 +111,7 @@ let
configureFlags = [ configureFlags = [
"--with-config=${configFile}" "--with-config=${configFile}"
"--with-tirpc=1"
(withFeatureAs (buildUser && enablePython) "python" python3.interpreter) (withFeatureAs (buildUser && enablePython) "python" python3.interpreter)
] ++ optionals buildUser [ ] ++ optionals buildUser [
"--with-dracutdir=$(out)/lib/dracut" "--with-dracutdir=$(out)/lib/dracut"

View File

@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
hardeningEnable = [ "pie" ]; hardeningEnable = [ "pie" ];
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-Wno-error"; NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]
++ stdenv.lib.optional stdenv.isDarwin "-Wno-error";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A distributed memory object caching system"; description = "A distributed memory object caching system";

View File

@ -24,6 +24,7 @@
, libtasn1 , libtasn1
, tdb , tdb
, cmocka , cmocka
, rpcsvc-proto
, nixosTests , nixosTests
, enableLDAP ? false, openldap , enableLDAP ? false, openldap
@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
docbook_xsl docbook_xsl
docbook_xml_dtd_45 docbook_xml_dtd_45
cmocka cmocka
rpcsvc-proto
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
rpcgen rpcgen
fixDarwinDylibNames fixDarwinDylibNames

View File

@ -1,6 +1,8 @@
{ stdenv, fetchurl, cmake, bison, pkgconfig { stdenv, fetchurl, cmake, bison, pkgconfig
, boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl , boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl
, cctools, CoreServices, developer_cmds }: , cctools, CoreServices, developer_cmds
, libtirpc, rpcsvc-proto
}:
# Note: zlib is not required; MySQL can use an internal zlib. # Note: zlib is not required; MySQL can use an internal zlib.
@ -19,9 +21,9 @@ self = stdenv.mkDerivation rec {
export PATH=$PATH:$TMPDIR export PATH=$PATH:$TMPDIR
''; '';
nativeBuildInputs = [ cmake bison pkgconfig ]; nativeBuildInputs = [ cmake bison pkgconfig rpcsvc-proto ];
buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib ] buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib libtirpc ]
++ stdenv.lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ]; ++ stdenv.lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ];
outputs = [ "out" "static" ]; outputs = [ "out" "static" ];

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, bison, cmake, pkgconfig { lib, stdenv, fetchurl, bison, cmake, pkgconfig
, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib , boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib
, numactl, perl, cctools, CoreServices, developer_cmds , numactl, perl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto
}: }:
let let
@ -18,12 +18,12 @@ self = stdenv.mkDerivation rec {
./libutils.patch ./libutils.patch
]; ];
nativeBuildInputs = [ bison cmake pkgconfig ]; nativeBuildInputs = [ bison cmake pkgconfig rpcsvc-proto ];
buildInputs = [ buildInputs = [
boost icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib boost icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
numactl numactl libtirpc
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
cctools CoreServices developer_cmds cctools CoreServices developer_cmds
]; ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, tcp_wrappers, flex, bison, perl }: { stdenv, fetchurl, tcp_wrappers, flex, bison, perl, libnsl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tacacsplus"; pname = "tacacsplus";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ flex bison ]; nativeBuildInputs = [ flex bison ];
buildInputs = [ tcp_wrappers perl ]; buildInputs = [ tcp_wrappers perl libnsl ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A protocol for authentication, authorization and accounting (AAA) services for routers and network devices"; description = "A protocol for authentication, authorization and accounting (AAA) services for routers and network devices";

View File

@ -1,4 +1,4 @@
{ fetchurl, fetchpatch, stdenv }: { fetchurl, fetchpatch, stdenv, libtirpc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xinetd-2.3.15"; name = "xinetd-2.3.15";
@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
}) })
]; ];
buildInputs = [ libtirpc ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
meta = { meta = {
description = "Secure replacement for inetd"; description = "Secure replacement for inetd";
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -1,5 +1,7 @@
{ stdenv, autoconf, automake, fetchFromGitHub, libgcc, libjpeg_turbo, { stdenv, autoconf, automake, fetchFromGitHub, libgcc, libjpeg_turbo
libpng, libtool, libxml2, pkgconfig, which, xorg }: , libpng, libtool, libxml2, pkgconfig, which, xorg
, libtirpc
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nx-libs"; pname = "nx-libs";
version = "3.5.99.24"; version = "3.5.99.24";
@ -15,7 +17,11 @@ stdenv.mkDerivation rec {
buildInputs = [ libgcc libjpeg_turbo libpng libxml2 xorg.fontutil buildInputs = [ libgcc libjpeg_turbo libpng libxml2 xorg.fontutil
xorg.libXcomposite xorg.libXdamage xorg.libXdmcp xorg.libXext xorg.libXfont2 xorg.libXcomposite xorg.libXdamage xorg.libXdmcp xorg.libXext xorg.libXfont2
xorg.libXinerama xorg.libXpm xorg.libXrandr xorg.libXtst xorg.pixman xorg.libXinerama xorg.libXpm xorg.libXrandr xorg.libXtst xorg.pixman
xorg.xkbcomp xorg.xkeyboardconfig ]; xorg.xkbcomp xorg.xkeyboardconfig libtirpc
];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -2,7 +2,7 @@
autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite, autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite,
liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which, liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which,
openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd, openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
rsync, glibc rsync, glibc, rpcsvc-proto, libtirpc
}: }:
let let
s = s =
@ -24,7 +24,7 @@ let
buildInputs = [ buildInputs = [
fuse bison flex_2_5_35 openssl ncurses readline fuse bison flex_2_5_35 openssl ncurses readline
autoconf automake libtool pkgconfig zlib libaio libxml2 autoconf automake libtool pkgconfig zlib libaio libxml2
acl sqlite liburcu attr makeWrapper utillinux acl sqlite liburcu attr makeWrapper utillinux libtirpc
(python3.withPackages (pkgs: [ (python3.withPackages (pkgs: [
pkgs.flask pkgs.flask
pkgs.prettytable pkgs.prettytable
@ -100,6 +100,8 @@ stdenv.mkDerivation
''--localstatedir=/var'' ''--localstatedir=/var''
]; ];
nativeBuildInputs = [ rpcsvc-proto ];
makeFlags = [ "DESTDIR=$(out)" ]; makeFlags = [ "DESTDIR=$(out)" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -15,6 +15,10 @@ stdenv.mkDerivation {
}) })
]; ];
postPatch = ''
sed -ie '/sys\/sysctl.h/d' newfs_hfs.tproj/makehfs.c
'';
sourceRoot = "diskdev_cmds-" + version; sourceRoot = "diskdev_cmds-" + version;
patches = [ "../debian/patches/*.patch" ]; patches = [ "../debian/patches/*.patch" ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, tzdata }: { stdenv, fetchurl, autoreconfHook, tzdata, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.4.7"; version = "0.4.7";
@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
sha256 = "16jr9yjk8wgzfh22hr3z6mp4jm3fkacyibds4jj5xx5yymbm8wj9"; sha256 = "16jr9yjk8wgzfh22hr3z6mp4jm3fkacyibds4jj5xx5yymbm8wj9";
}; };
patches = [
(fetchpatch {
url = "https://bitbucket.org/hroptatyr/dateutils/commits/6813ed94534f2311fbe9164748919e39d60b0190/raw";
sha256 = "1zs3iizb172ha56g03rr8kzd8zx6qypiqsc11jw758mliwxk5rgc";
})
];
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ tzdata ]; # needed for datezone buildInputs = [ tzdata ]; # needed for datezone
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "rpcsvc-proto";
version = "1.4.2";
src = fetchFromGitHub {
owner = "thkukuk";
repo = "${pname}";
rev = "v${version}";
sha256 = "006l1f824r9bcbwn1s1vbs33cdwhs66jn6v97yas597y884y40z9";
};
outputs = [ "out" "man" ];
nativeBuildInputs = [ autoreconfHook ];
meta = with stdenv.lib; {
homepage = "https://github.com/thkukuk/rpcsvc-proto";
description = "This package contains rpcsvc proto.x files from glibc, which are missing in libtirpc";
longDescription = ''
The RPC-API has been removed from glibc. The 2.32-release-notes
(https://sourceware.org/pipermail/libc-announce/2020/000029.html) recommend to use
`libtirpc` and this package instead.
'';
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
};
}

View File

@ -1,4 +1,6 @@
{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl }: { stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl
, rpcsvc-proto, libtirpc, libnsl
}:
let let
/* /*
dsniff's build system unconditionnaly wants static libraries and does not dsniff's build system unconditionnaly wants static libraries and does not
@ -52,9 +54,10 @@ in stdenv.mkDerivation {
name = "dsniff.tar.gz"; name = "dsniff.tar.gz";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook rpcsvc-proto ];
buildInputs = [ glib pcap ]; buildInputs = [ glib pcap libtirpc libnsl ];
NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ldl"; NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ldl -ltirpc";
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
postPatch = '' postPatch = ''
for patch in debian/patches/*.patch; do for patch in debian/patches/*.patch; do
patch < $patch patch < $patch

View File

@ -1,4 +1,4 @@
{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }: { cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv, libtirpc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nfstrace"; pname = "nfstrace";
@ -23,13 +23,14 @@ stdenv.mkDerivation rec {
--replace "-Wno-braced-scalar-init" "" --replace "-Wno-braced-scalar-init" ""
''; '';
buildInputs = [ json_c libpcap ncurses ]; buildInputs = [ json_c libpcap ncurses libtirpc ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
# To build with GCC 8+ it needs: # To build with GCC 8+ it needs:
CXXFLAGS = "-Wno-class-memaccess -Wno-ignored-qualifiers"; CXXFLAGS = "-Wno-class-memaccess -Wno-ignored-qualifiers";
# CMake can't find json_c without: # CMake can't find json_c without:
NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" "-Wno-error=address-of-packed-member" ]; NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" "-Wno-error=address-of-packed-member" "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
doCheck = false; # requires network access doCheck = false; # requires network access

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libevent }: { stdenv, fetchurl, libevent, libtirpc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "trickle-1.07"; name = "trickle-1.07";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx"; sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx";
}; };
buildInputs = [ libevent ]; buildInputs = [ libevent libtirpc ];
preConfigure = '' preConfigure = ''
sed -i 's|libevent.a|libevent.so|' configure sed -i 's|libevent.a|libevent.so|' configure
@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
sed -i '/#define in_addr_t/ s:^://:' config.h sed -i '/#define in_addr_t/ s:^://:' config.h
''; '';
LDFLAGS = "-levent"; NIX_LDFLAGS = [ "-levent" "-ltirpc" ];
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
configureFlags = [ "--with-libevent" ]; configureFlags = [ "--with-libevent" ];

View File

@ -0,0 +1,51 @@
From 86e37c1c09c23924c4e055a3d4b8c79f19cd0599 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 10 Aug 2020 21:33:39 +0200
Subject: [PATCH] Remove references to dropped `sys_nerr` & `sys_errlist` for
`glibc-2.32` compat
According to the release-notes[1], `strerror(3)` should be used. This is
already the case, however the source tries to be backwards-compatible by
supporting `sys_nerr` & `sys_errlist` which breaks compilation
unfortunately.
Simply using `strerror` fixes the problems.
[1] https://sourceware.org/pipermail/libc-announce/2020/000029.html
---
utils.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/utils.c b/utils.c
index 3ec70b6..430f027 100644
--- a/utils.c
+++ b/utils.c
@@ -2003,7 +2003,6 @@ int n;
#ifdef HAVE_SYS_ERRLIST
extern char *sys_errlist[];
- extern int sys_nerr;
#endif
/*
@@ -2019,16 +2018,7 @@ int errnum;
sprintf(buf, "Error %d", errnum);
return buf;
#else
- if (errnum < 0 || errnum > sys_nerr) {
- sprintf(buf, "Error %d (!)", errnum);
- return buf;
- } else {
-#ifdef HAVE_STRERROR
- return strerror(errnum);
-#else
- return sys_errlist[errnum];
-#endif
- }
+ return strerror(errnum);
#endif
}
--
2.25.4

View File

@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
''; '';
patches = [ patches = [
./0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch
(fetchpatch { (fetchpatch {
name = "CVE-2014-0470.patch"; name = "CVE-2014-0470.patch";
url = "https://salsa.debian.org/debian/super/raw/debian/3.30.0-7/debian/patches/14-Fix-unchecked-setuid-call.patch"; url = "https://salsa.debian.org/debian/super/raw/debian/3.30.0-7/debian/patches/14-Fix-unchecked-setuid-call.patch";

View File

@ -16657,6 +16657,8 @@ in
rpcbind = callPackage ../servers/rpcbind { }; rpcbind = callPackage ../servers/rpcbind { };
rpcsvc-proto = callPackage ../tools/misc/rpcsvc-proto { };
libmysqlclient = libmysqlclient_3_1; libmysqlclient = libmysqlclient_3_1;
libmysqlclient_3_1 = mariadb-connector-c_3_1; libmysqlclient_3_1 = mariadb-connector-c_3_1;
mariadb-connector-c = mariadb-connector-c_3_1; mariadb-connector-c = mariadb-connector-c_3_1;