Merge branch 'staging-next'
Security fixes for a few packages are included.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, gnugrep
|
||||
, fixDarwinDylibNames
|
||||
, file
|
||||
, legacySupport ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -19,6 +20,10 @@ stdenv.mkDerivation rec {
|
||||
"ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
|
||||
];
|
||||
|
||||
checkInputs = [ file ];
|
||||
doCheck = false; # fails with "zstd: --list does not support reading from standard input"
|
||||
# probably a bug
|
||||
|
||||
installFlags = [
|
||||
"PREFIX=$(out)"
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }:
|
||||
{ stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "e2fsprogs-1.44.3";
|
||||
@@ -21,8 +21,10 @@ stdenv.mkDerivation rec {
|
||||
"--disable-libuuid" "--disable-uuidd" "--disable-libblkid" "--disable-fsck"
|
||||
] else [
|
||||
"--enable-libuuid --disable-e2initrd-helper"
|
||||
]
|
||||
;
|
||||
];
|
||||
|
||||
checkInputs = [ perl ];
|
||||
doCheck = false; # fails
|
||||
|
||||
# hacky way to make it install *.pc
|
||||
postInstall = ''
|
||||
|
||||
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional (readline != null) readline
|
||||
++ stdenv.lib.optional (gettext != null) gettext
|
||||
++ stdenv.lib.optional (lvm2 != null) lvm2
|
||||
++ stdenv.lib.optional (hurd != null) hurd
|
||||
++ stdenv.lib.optional doCheck check;
|
||||
++ stdenv.lib.optional (hurd != null) hurd;
|
||||
|
||||
configureFlags =
|
||||
(if (readline != null)
|
||||
@@ -24,11 +23,7 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional enableStatic "--enable-static";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preCheck =
|
||||
stdenv.lib.optionalString doCheck
|
||||
# The `t0400-loop-clobber-infloop.sh' test wants `mkswap'.
|
||||
"export PATH=\"${utillinux}/sbin:$PATH\"";
|
||||
checkInputs = [ check utillinux ];
|
||||
|
||||
meta = {
|
||||
description = "Create, destroy, resize, check, and copy partitions";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja, glib, fuse3
|
||||
, docutils
|
||||
, docutils, which, python3Packages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
|
||||
ln -sf $out/bin/sshfs $out/sbin/mount.sshfs
|
||||
'';
|
||||
|
||||
checkInputs = [ which ] ++ (with python3Packages; [ python pytest ]);
|
||||
|
||||
checkPhase = ''
|
||||
python3 -m pytest test/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH";
|
||||
|
||||
@@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # broken Makefile, the above also removes tests
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 -t $out/share/doc/jdupes CHANGES LICENSE README
|
||||
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildFlags = "memtest.bin";
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
chmod -x memtest.bin
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0i29lfg8cwj342q5s7qwqhncz2bkifj5rjc7cx6jd4zqb6ykkndj";
|
||||
});
|
||||
|
||||
postPatch = stdenv.lib.optionalString doCheck ''
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
'';
|
||||
|
||||
@@ -31,8 +31,7 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional (readline != null) readline
|
||||
++ stdenv.lib.optional (gettext != null) gettext
|
||||
++ stdenv.lib.optional (lvm2 != null) lvm2
|
||||
++ stdenv.lib.optional (hurd != null) hurd
|
||||
++ stdenv.lib.optionals doCheck [ check perl python2 ];
|
||||
++ stdenv.lib.optional (hurd != null) hurd;
|
||||
|
||||
configureFlags =
|
||||
(if (readline != null)
|
||||
@@ -45,10 +44,7 @@ stdenv.mkDerivation rec {
|
||||
# That should hopefully be fixed now.
|
||||
doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
|
||||
|
||||
preCheck =
|
||||
stdenv.lib.optionalString doCheck
|
||||
# The `t0400-loop-clobber-infloop.sh' test wants `mkswap'.
|
||||
"export PATH=\"${utillinux}/sbin:$PATH\"";
|
||||
checkInputs = [ check perl python2 utillinux ];
|
||||
|
||||
meta = {
|
||||
description = "Create, destroy, resize, check, and copy partitions";
|
||||
|
||||
@@ -8,14 +8,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
buildInputs = [ curl emacs ] ++ (stdenv.lib.optionals doCheck [ check bc ]);
|
||||
buildInputs = [ curl emacs ];
|
||||
|
||||
checkInputs = [ check bc ];
|
||||
doCheck = true;
|
||||
|
||||
# one file fails to compile with emacs 26
|
||||
postInstall = ''
|
||||
${emacs}/bin/emacs -Q -batch -f batch-byte-compile $out/share/emacs/site-lisp/*.el #*/
|
||||
${emacs}/bin/emacs -Q -batch -f batch-byte-compile $out/share/emacs/site-lisp/*.el || true
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
stripDebugList = [ "bin" "lib" "etc/udev" ];
|
||||
|
||||
doCheck = false; # generates shebangs in check phase, too lazy to fix
|
||||
|
||||
postInstall =
|
||||
''
|
||||
buildPythonPath "$out $pythonPath"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
|
||||
, openssl, c-ares, libxml2, sqlite, zlib, libssh2
|
||||
, cppunit
|
||||
, Security
|
||||
}:
|
||||
|
||||
@@ -21,6 +22,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" ];
|
||||
|
||||
checkInputs = [ cppunit ];
|
||||
doCheck = false; # needs the net
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0a1ilzr88xhzx1ql3xhn36a4rvl79hvp0dvgm3az4cjhhzav47qd";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs test
|
||||
'';
|
||||
|
||||
buildInputs = [ readline texinfo nss nspr ]
|
||||
++ stdenv.lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
, gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
|
||||
, python, gss, mysql, sendmailPath ? "/run/wrappers/bin/sendmail" }:
|
||||
|
||||
let
|
||||
p = "https://raw.githubusercontent.com/gentoo/gentoo/9c921e89d51876fd876f250324893fd90c019326/net-mail/mailutils/files";
|
||||
in stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${project}-${version}";
|
||||
project = "mailutils";
|
||||
version = "3.2";
|
||||
@@ -14,9 +12,21 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "0zh7xn8yvnw9zkc7gi5290i34viwxp1rn0g1q9nyvmckkvk59lwn";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/chown root:mail/d' \
|
||||
-e 's/chmod [24]755/chmod 0755/' \
|
||||
*/Makefile{.in,.am}
|
||||
sed -i 's:/usr/lib/mysql:${mysql.connector-c}/lib/mysql:' configure.ac
|
||||
sed -i 's/0\.18/0.19/' configure.ac
|
||||
sed -i -e 's:mysql/mysql.h:mysql.h:' \
|
||||
-e 's:mysql/errmsg.h:errmsg.h:' \
|
||||
sql/mysql.c
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook gettext pkgconfig
|
||||
] ++ stdenv.lib.optional doCheck dejagnu;
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools
|
||||
gss mysql.connector-c python
|
||||
@@ -33,7 +43,6 @@ in stdenv.mkDerivation rec {
|
||||
./path-to-cat.patch
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
enableParallelBuilding = false;
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@@ -44,26 +53,21 @@ in stdenv.mkDerivation rec {
|
||||
"--with-path-sendmail=${sendmailPath}"
|
||||
];
|
||||
|
||||
readmsg-tests = stdenv.lib.optionals doCheck [
|
||||
readmsg-tests = let
|
||||
p = "https://raw.githubusercontent.com/gentoo/gentoo/9c921e89d51876fd876f250324893fd90c019326/net-mail/mailutils/files";
|
||||
in [
|
||||
(fetchurl { url = "${p}/hdr.at"; sha256 = "0phpkqyhs26chn63wjns6ydx9468ng3ssbjbfhcvza8h78jlsd98"; })
|
||||
(fetchurl { url = "${p}/nohdr.at"; sha256 = "1vkbkfkbqj6ml62s1am8i286hxwnpsmbhbnq0i2i0j1i7iwkk4b7"; })
|
||||
(fetchurl { url = "${p}/twomsg.at"; sha256 = "15m29rg2xxa17xhx6jp4s2vwa9d4khw8092vpygqbwlhw68alk9g"; })
|
||||
(fetchurl { url = "${p}/weed.at"; sha256 = "1101xakhc99f5gb9cs3mmydn43ayli7b270pzbvh7f9rbvh0d0nh"; })
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/chown root:mail/d' \
|
||||
-e 's/chmod [24]755/chmod 0755/' \
|
||||
*/Makefile{.in,.am}
|
||||
sed -i 's:/usr/lib/mysql:${mysql.connector-c}/lib/mysql:' configure.ac
|
||||
sed -i 's/0\.18/0.19/' configure.ac
|
||||
sed -i -e 's:mysql/mysql.h:mysql.h:' \
|
||||
-e 's:mysql/errmsg.h:errmsg.h:' \
|
||||
sql/mysql.c
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-L${mysql.connector-c}/lib/mysql -I${mysql.connector-c}/include/mysql";
|
||||
|
||||
checkInputs = [ dejagnu ];
|
||||
doCheck = false; # fails 1 out of a bunch of tests, looks like a bug
|
||||
doInstallCheck = false; # fails
|
||||
|
||||
preCheck = ''
|
||||
# Add missing test files
|
||||
cp ${builtins.toString readmsg-tests} readmsg/tests/
|
||||
@@ -79,6 +83,7 @@ in stdenv.mkDerivation rec {
|
||||
# Provide libraries for mhn.
|
||||
export LD_LIBRARY_PATH=$(pwd)/lib/.libs
|
||||
'';
|
||||
|
||||
postCheck = ''
|
||||
unset LD_LIBRARY_PATH
|
||||
'';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, openssl, readline }:
|
||||
{ stdenv, fetchurl, openssl, readline, which, nettools }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "socat-1.7.3.2";
|
||||
@@ -8,10 +8,20 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0lcj6zpra33xhgvhmz9l3cqz10v8ybafb8dd1yqkwf1rhy01ymp3";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs test.sh
|
||||
substituteInPlace test.sh \
|
||||
--replace /bin/rm rm \
|
||||
--replace /sbin/ifconfig ifconfig
|
||||
'';
|
||||
|
||||
buildInputs = [ openssl readline ];
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
||||
checkInputs = [ which nettools ];
|
||||
doCheck = false; # fails a bunch, hangs
|
||||
|
||||
meta = {
|
||||
description = "A utility for bidirectional data transfer between two independent data channels";
|
||||
homepage = http://www.dest-unreach.org/socat/;
|
||||
|
||||
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1m3971z4z1wr0paggprfz0n8ng8vsnkc9m6s3bdplgyz7qjk6jwx";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper perl LWP URI HTMLParser ]
|
||||
++ stdenv.lib.optionals doCheck [ HTTPServerSimple Parent ];
|
||||
buildInputs = [ makeWrapper perl LWP URI HTMLParser ];
|
||||
checkInputs = [ HTTPServerSimple Parent ];
|
||||
|
||||
configurePhase = ''
|
||||
for i in swec tests/{runTests,testServer}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, libpcap }:
|
||||
{ stdenv, fetchurl, libpcap, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tcpdump-${version}";
|
||||
@@ -16,6 +16,12 @@ stdenv.mkDerivation rec {
|
||||
# sha256 = "1vzrvn1q7x28h18yskqc390y357pzpg5xd3pzzj4xz3llnvsr64p";
|
||||
# };
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
'';
|
||||
|
||||
checkInputs = [ perl ];
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
|
||||
configureFlags = stdenv.lib.optional
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
{ stdenv, lib, coreutils, findutils, gnugrep, darwin, shellcheck
|
||||
, doCheck ? false # Avoid having GHC in the build-time closure of all NixOS configuratinos
|
||||
{ stdenv, lib, coreutils, findutils, gnugrep, darwin
|
||||
# Avoid having GHC in the build-time closure of all NixOS configurations
|
||||
, doCheck ? false, shellcheck
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nix-info";
|
||||
src = ./info.sh;
|
||||
|
||||
nativeBuildInputs = lib.optionals doCheck [
|
||||
shellcheck
|
||||
];
|
||||
|
||||
path = lib.makeBinPath ([
|
||||
coreutils findutils gnugrep
|
||||
] ++ (if stdenv.isDarwin then [ darwin.DarwinTools ] else []));
|
||||
@@ -29,6 +26,8 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
inherit doCheck;
|
||||
checkInputs = [ shellcheck ];
|
||||
|
||||
checkPhase = ''
|
||||
shellcheck ./nix-info
|
||||
'';
|
||||
|
||||
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1prd2jaf4zjad3xhv160hmi5n408ssljfg7iz90jxs9w111pjwy4";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
for a in checks/*.sh ; do
|
||||
substituteInPlace $a \
|
||||
--replace /bin/echo echo
|
||||
done
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -87,6 +87,24 @@ let
|
||||
--prefix PATH : "$out/bin:${wrapperPath}"
|
||||
'';
|
||||
|
||||
# Turn "check" into "installcheck", since we want to test our pass,
|
||||
# not the one before the fixup.
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
|
||||
# the turning
|
||||
sed -i -e 's@^PASS=.*''$@PASS=$out/bin/pass@' \
|
||||
-e 's@^GPGS=.*''$@GPG=${gnupg}/bin/gpg2@' \
|
||||
-e '/which gpg/ d' \
|
||||
tests/setup.sh
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckInputs = [ git ];
|
||||
installCheckTarget = "test";
|
||||
|
||||
passthru = {
|
||||
extensions = passExtensions;
|
||||
} // extraPassthru;
|
||||
|
||||
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "13d7gff4prl1nsdknjigmb7bbqhn79165n01v4y9mwbnd0d3jqxn";
|
||||
};
|
||||
|
||||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
postPatch = ''
|
||||
patchShebangs gdisk_test.sh
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Makefile.mac --replace \
|
||||
"-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6"
|
||||
substituteInPlace Makefile.mac --replace \
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, zlib, kmod, which }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pciutils-3.6.1"; # with database from 2018-06-29
|
||||
name = "pciutils-3.6.2"; # with release-date database
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz";
|
||||
sha256 = "1q39hh8scgvqppk1clzjh7yiq5p2r0knv52g3qzmdhsir4f47h7w";
|
||||
sha256 = "1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
@@ -21,4 +21,14 @@ stdenv.mkDerivation rec {
|
||||
url = "http://kakasi.namazu.org/stable/${name}.tar.xz";
|
||||
sha256 = "1qry3xqb83pjgxp3my8b1sy77z4f0893h73ldrvdaky70cdppr9f";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
for a in tests/kakasi-* ; do
|
||||
substituteInPlace $a \
|
||||
--replace "/bin/echo" echo
|
||||
done
|
||||
'';
|
||||
|
||||
doCheck = false; # fails 1 of 6 tests
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace src/Makefile.am --replace "ansi2knr" ""
|
||||
'';
|
||||
|
||||
#doCheck = true; # doesn't work yet
|
||||
doCheck = false; # fails 10 out of 16 tests
|
||||
|
||||
preCheck = ''
|
||||
checkFlagsArray=(CPPFLAGS="-I../lib" LDFLAGS="-L../src/.libs -Wl,-rpath=../src/.libs")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, texinfo }:
|
||||
{ stdenv, fetchurl, texinfo, which }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wdiff-1.2.2";
|
||||
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ texinfo ];
|
||||
|
||||
checkInputs = [ which ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnu.org/software/wdiff/;
|
||||
description = "Comparing files on a word by word basis";
|
||||
|
||||
@@ -1,21 +1,24 @@
|
||||
{ stdenv, fetchFromGitHub, perlPackages }:
|
||||
|
||||
# builds but doesn't work with perl 5.24, see discussion in #40826
|
||||
# TODO: build with perl >=5.26 and try to enable tests
|
||||
|
||||
perlPackages.buildPerlModule rec {
|
||||
name = "biber-${version}";
|
||||
version = "2.7";
|
||||
version = "2.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plk";
|
||||
repo = "biber";
|
||||
rev = "v${version}";
|
||||
sha256 = "04jmsh59g2s0b61rm25z0hwb6yliqyh5gjs4y74va93d2b9mrd17";
|
||||
sha256 = "0f6bb1iprl92iamxqlr8fc99mxr9n3722frd1ak9pbzh3m6c2ny6";
|
||||
};
|
||||
|
||||
buildInputs = with perlPackages; [
|
||||
autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
|
||||
DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
|
||||
DateTime DateTimeFormatBuilder DateTimeCalendarJulian
|
||||
ExtUtilsLibBuilder FileSlurp FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
|
||||
ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
|
||||
ListMoreUtils MozillaCA ReadonlyXS RegexpCommon TextBibTeX
|
||||
UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
|
||||
ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit UnicodeNormalize SortKey
|
||||
|
||||
@@ -312,6 +312,10 @@ xindy = stdenv.mkDerivation {
|
||||
name = "texlive-xindy.bin-${version}";
|
||||
|
||||
inherit (common) src;
|
||||
|
||||
# If unset, xindy will try to mkdir /homeless-shelter
|
||||
HOME = ".";
|
||||
|
||||
prePatch = "cd utils/xindy";
|
||||
# hardcode clisp location
|
||||
postPatch = ''
|
||||
@@ -338,5 +342,3 @@ xindy = stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -243,4 +243,3 @@ in buildEnv {
|
||||
}
|
||||
# TODO: make TeX fonts visible by fontconfig: it should be enough to install an appropriate file
|
||||
# similarly, deal with xe(la)tex font visibility?
|
||||
|
||||
|
||||
@@ -1,11 +1,34 @@
|
||||
/* TeX Live user docs
|
||||
- source: ../../../../../doc/languages-frameworks/texlive.xml
|
||||
- current html: http://nixos.org/nixpkgs/manual/#sec-language-texlive
|
||||
|
||||
Note on upgrading: The texlive package contains a few binaries, defined in
|
||||
bin.nix and released once a year, and several thousand packages from CTAN,
|
||||
defined in pkgs.nix.
|
||||
|
||||
The CTAN mirrors are continuously moving, with more than 100 updates per
|
||||
month. Due to the size of the distribution, we snapshot it and generate nix
|
||||
expressions for all packages in texlive at that point.
|
||||
|
||||
To upgrade this snapshot, run the following:
|
||||
$ curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
|
||||
| xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix
|
||||
|
||||
This will regenerate all of the sha512 hashes for the current upstream
|
||||
distribution. You may want to find a more stable mirror, put the distribution
|
||||
on IPFS, or contact a maintainer to get the tarballs from that point in time
|
||||
into a more stable location, so that nix users who are building from source
|
||||
can reproduce your work.
|
||||
|
||||
Upgrading the bin: texlive itself is a large collection of binaries. In order
|
||||
to reduce closure size for users who just need a few of them, we split it into
|
||||
packages such as core, core-big, xvdi, etc. This requires making assumptions
|
||||
about dependencies between the projects that may change between releases; if
|
||||
you upgrade you may have to do some work here.
|
||||
*/
|
||||
{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv
|
||||
, callPackage, ghostscriptX, harfbuzz, poppler_min
|
||||
, makeWrapper, python, ruby, perl
|
||||
, useFixedHashes ? true
|
||||
, recurseIntoAttrs
|
||||
}:
|
||||
let
|
||||
@@ -18,13 +41,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
# map: name -> fixed-output hash
|
||||
# sha1 in base32 was chosen as a compromise between security and length
|
||||
# warning: the following generator command takes lots of resources
|
||||
# nix-build ../../../../.. -Q -A texlive.scheme-full.pkgs | ./fixHashes.sh > ./fixedHashes-new.nix
|
||||
# mv ./fixedHashes{-new,}.nix
|
||||
fixedHashes = lib.optionalAttrs useFixedHashes (import ./fixedHashes.nix);
|
||||
|
||||
# function for creating a working environment from a set of TL packages
|
||||
combine = import ./combine.nix {
|
||||
inherit bin combinePkgs buildEnv fastUnique lib makeWrapper writeText
|
||||
@@ -34,9 +50,6 @@ let
|
||||
|
||||
# the set of TeX Live packages, collections, and schemes; using upstream naming
|
||||
tl = let
|
||||
/* # beware: the URL below changes contents continuously
|
||||
curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
|
||||
| xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix */
|
||||
orig = import ./pkgs.nix tl;
|
||||
removeSelfDep = lib.mapAttrs
|
||||
(n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; }
|
||||
@@ -103,7 +116,6 @@ let
|
||||
# the basename used by upstream (without ".tar.xz" suffix)
|
||||
urlName = pname + lib.optionalString (tlType != "run") ".${tlType}";
|
||||
tlName = urlName + "-${version}";
|
||||
fixedHash = fixedHashes.${tlName} or null; # be graceful about missing hashes
|
||||
|
||||
urls = args.urls or (if args ? url then [ args.url ] else
|
||||
map (up: "${up}/${urlName}.tar.xz") urlPrefixes
|
||||
@@ -113,9 +125,14 @@ let
|
||||
# Common packages should get served from the binary cache anyway.
|
||||
# See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
|
||||
urlPrefixes = args.urlPrefixes or [
|
||||
http://146.185.144.154/texlive-2017
|
||||
# IPFS GW is second, as it doesn't have a good time-outing behavior
|
||||
http://gateway.ipfs.io/ipfs/QmRLK45EC828vGXv5YDaBsJBj2LjMjjA2ReLVrXsasRzy7/texlive-2017
|
||||
# Should be stable for historic, archived releases
|
||||
http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2017/tlnet-final/archive
|
||||
|
||||
# TODO: Add IPFS and see if @veprbl is willing to add a texlive-2017-final mirror,
|
||||
# or if we should just dump it and go to 2018.
|
||||
|
||||
# The canonical source moves quickly and will be broken almost immediately
|
||||
# http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/archive
|
||||
];
|
||||
|
||||
src = fetchurl { inherit urls sha512; };
|
||||
@@ -129,30 +146,11 @@ let
|
||||
-C "$out" --anchored --exclude=tlpkg --keep-old-files
|
||||
'' + postUnpack;
|
||||
|
||||
in if sha512 == "" then
|
||||
# hash stripped from pkgs.nix to save space -> fetch&unpack in a single step
|
||||
fetchurl {
|
||||
inherit urls;
|
||||
sha1 = if fixedHash == null then throw "TeX Live package ${tlName} is missing hash!"
|
||||
else fixedHash;
|
||||
name = tlName;
|
||||
recursiveHash = true;
|
||||
downloadToTemp = true;
|
||||
postFetch = ''mkdir "$out";'' + unpackCmd "$downloadedFile";
|
||||
# TODO: perhaps override preferHashedMirrors and allowSubstitutes
|
||||
in runCommand "texlive-${tlName}" {
|
||||
# lots of derivations, not meant to be cached
|
||||
preferLocalBuild = true; allowSubstitutes = false;
|
||||
inherit passthru;
|
||||
}
|
||||
// passthru
|
||||
|
||||
else runCommand "texlive-${tlName}"
|
||||
( { # lots of derivations, not meant to be cached
|
||||
preferLocalBuild = true; allowSubstitutes = false;
|
||||
inherit passthru;
|
||||
} // lib.optionalAttrs (fixedHash != null) {
|
||||
outputHash = fixedHash;
|
||||
outputHashAlgo = "sha1";
|
||||
outputHashMode = "recursive";
|
||||
}
|
||||
)
|
||||
( ''
|
||||
mkdir "$out"
|
||||
'' + unpackCmd "'${src}'"
|
||||
@@ -190,9 +188,8 @@ in
|
||||
})
|
||||
)
|
||||
{ inherit (tl)
|
||||
scheme-basic scheme-context scheme-full scheme-gust scheme-infraonly
|
||||
scheme-basic scheme-context scheme-full scheme-gust
|
||||
scheme-medium scheme-minimal scheme-small scheme-tetex;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "{"
|
||||
grep -v -F '.bin-' | while read path; do
|
||||
hash=`nix-hash --type sha1 --base32 "$path"`
|
||||
echo -n "$path" | sed -E 's/[^-]*-texlive-(.*)/"\1"/'
|
||||
echo "=\"$hash\";"
|
||||
done
|
||||
echo "}"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
patchShebangs xmlif/test/run-test
|
||||
|
||||
substituteInPlace "xmlto.in" \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
substituteInPlace "xmlto.in" \
|
||||
|
||||
Reference in New Issue
Block a user