Merge #271377: staging-next 2023-12-01

This commit is contained in:
Vladimír Čunát 2023-12-11 17:06:16 +01:00
commit 120a26f8ce
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
171 changed files with 1148 additions and 679 deletions

View file

@ -963,7 +963,7 @@ repository:
lib.updateManyAttrsByPath [{
path = [ "packages" "stable" ];
update = old: old.overrideScope(final: prev: {
rustc = prev.rustc.overrideAttrs (_: {
rustc-unwrapped = prev.rustc-unwrapped.overrideAttrs (_: {
src = lib.cleanSource /git/scratch/rust;
# do *not* put passthru.isReleaseTarball=true here
});
@ -1003,4 +1003,3 @@ nix-build $NIXPKGS -A package-broken-by-rust-changes
The `git submodule update --init` and `cargo vendor` commands above
require network access, so they can't be performed from within the
`rustc` derivation, unfortunately.

View file

@ -50,6 +50,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
The `nimPackages` and `nim2Packages` sets have been removed.
See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
- `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
- The Yama LSM is now enabled by default in the kernel, which prevents ptracing
non-child processes. This means you will not be able to attach gdb to an
existing process, but will need to start that process from gdb (so it is a

View file

@ -106,8 +106,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = ".";
forward-addr = [
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv4.addresses).address
(lib.head nodes.authoritative.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.authoritative.networking.interfaces.eth1.ipv4.addresses).address
];
}
];
@ -168,8 +168,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
"unbound-extra1.conf".text = ''
forward-zone:
name: "example.local."
forward-addr: ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address}
forward-addr: ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}
forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}
forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}
'';
"unbound-extra2.conf".text = ''
auth-zone:
@ -187,8 +187,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
client = { lib, nodes, ... }: {
imports = [ common ];
networking.nameservers = [
(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address
(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{ address = "192.168.0.10"; prefixLength = 24; }
@ -276,7 +276,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
resolver.wait_for_unit("multi-user.target")
with subtest("client should be able to query the resolver"):
test(client, ["${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True)
test(client, ["${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True)
# discard the client we do not need anymore
client.shutdown()
@ -298,7 +298,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
).strip()
# Thank you black! Can't really break this line into a readable version.
expected = "example.local. IN forward ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}"
expected = "example.local. IN forward ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"
assert out == expected, f"Expected `{expected}` but got `{out}` instead."
local_resolver.fail("sudo -u unauthorizeduser -- unbound-control list_forwards")

View file

@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
version = "9.0.2048";
version = "9.0.2116";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-zR2iPiD4/gf5BnxYoe3cx2ebGWE1P2bY4Cg15gveFgg=";
hash = "sha256-ZKcNg/RrjvEsxpIcTjzQYi1xig3zLeTV+PXaBb4gUuM=";
};
enableParallelBuilding = true;

View file

@ -30,10 +30,6 @@ stdenv.mkDerivation rec {
libselinux
];
postPatch = ''
patchShebangs ./configure
'';
postInstall = ''
wrapProgram $out/bin/vis \
--prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \

View file

@ -1,7 +1,7 @@
{ callPackage, ... }:
callPackage ./generic.nix {
version = "5.1.5";
version = "5.2.0";
kde-channel = "stable";
sha256 = "1lx4x4affkbh47b7w5qvahkkr4db0vcw6h24nykak6gpy2z5wxqw";
hash = "sha256-02oZc4pZw2dQucx1IuPJslWQGjOqwGmgeDgnUIqKkpc=";
}

View file

@ -2,13 +2,14 @@
, karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons
, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
, kio, kcrash, breeze-icons
, boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib, libjxl
, openjpeg, opencolorio, xsimd, poppler, curl, ilmbase, libmypaint, libwebp
, qtmultimedia, qtx11extras, quazip
, boost, libraw, fftw, eigen, exiv2, fribidi, libaom, libheif, libkdcraw, lcms2, gsl, openexr, giflib
, libjxl, mlt , openjpeg, opencolorio, xsimd, poppler, curl, ilmbase, immer, kseexpr, lager
, libmypaint , libunibreak, libwebp
, qtmultimedia, qtx11extras, quazip, SDL2, zug, pkg-config
, python3Packages
, version
, kde-channel
, sha256
, hash
}:
mkDerivation rec {
@ -17,15 +18,10 @@ mkDerivation rec {
src = fetchurl {
url = "mirror://kde/${kde-channel}/krita/${version}/krita-${version}.tar.gz";
inherit sha256;
inherit hash;
};
patches = [
(fetchpatch {
name = "exiv2-0.28.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/krita/-/raw/acd9a818660e86b14a66fceac295c2bab318c671/exiv2-0.28.patch";
hash = "sha256-iD2pyid513ThJVeotUlVDrwYANofnEiZmWINNUm/saw=";
})
(fetchpatch {
name = "krita-opencolorio-2.3-compat.patch";
url = "https://invent.kde.org/graphics/krita/-/commit/520c633c2c868f2236d8e56eefecdcb6e3ebd840.patch";
@ -34,16 +30,15 @@ mkDerivation rec {
})
];
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config python3Packages.sip makeWrapper ];
buildInputs = [
karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons
boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib libjxl
openjpeg opencolorio poppler curl ilmbase libmypaint libwebp
qtmultimedia qtx11extras quazip
boost libraw fftw eigen exiv2 fribidi lcms2 gsl openexr lager libaom libheif libkdcraw giflib
libjxl mlt openjpeg opencolorio xsimd poppler curl ilmbase immer kseexpr libmypaint
libunibreak libwebp qtmultimedia qtx11extras quazip SDL2 zug
python3Packages.pyqt5
xsimd
];
env.NIX_CFLAGS_COMPILE = toString ([ "-I${ilmbase.dev}/include/OpenEXR" ]
@ -58,6 +53,9 @@ mkDerivation rec {
--replace 'PYTHONPATH=''${_sip_python_path}' 'PYTHONPATH=${pythonPath}'
substituteInPlace cmake/modules/SIPMacros.cmake \
--replace 'PYTHONPATH=''${_krita_python_path}' 'PYTHONPATH=${pythonPath}'
substituteInPlace plugins/impex/jp2/jp2_converter.cc \
--replace '<openjpeg.h>' '<${openjpeg.incDir}/openjpeg.h>'
'';
cmakeBuildType = "RelWithDebInfo";
@ -65,6 +63,7 @@ mkDerivation rec {
cmakeFlags = [
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
"-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
"-DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON"
];
preInstall = ''

View file

@ -60,12 +60,12 @@ let
in
stdenv.mkDerivation rec {
version = "1.23.5";
version = "1.23.6";
pname = "mupdf";
src = fetchurl {
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
sha256 = "sha256-blZ5zfqu+cfoniljlSIM4sEz7T3K1RpHhmczbG6uxwY=";
sha256 = "sha256-rBHrhZ3UBEiOUVPNyWUbtDQeW6r007Pyfir8gvmq3Ck=";
};
patches = [ ./0001-Use-command-v-in-favor-of-which.patch

View file

@ -20,7 +20,6 @@
, runtimeShell
, systemLocale ? config.i18n.defaultLocale or "en_US"
, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections
, makeWrapper
}:
let
@ -58,20 +57,6 @@ let
source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
pname = "firefox-${channel}-bin-unwrapped";
# FIXME: workaround for not being able to pass flags to patchelf
# Remove after https://github.com/NixOS/nixpkgs/pull/256525
wrappedPatchelf = stdenv.mkDerivation {
pname = "patchelf-wrapped";
inherit (patchelfUnstable) version;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
makeWrapper ${patchelfUnstable}/bin/patchelf $out/bin/patchelf --append-flags "--no-clobber-old-sections"
'';
};
in
stdenv.mkDerivation {
@ -79,7 +64,7 @@ stdenv.mkDerivation {
src = fetchurl { inherit (source) url sha256; };
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook wrappedPatchelf ];
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook patchelfUnstable ];
buildInputs = [
gtk3
adwaita-icon-theme
@ -95,6 +80,8 @@ stdenv.mkDerivation {
appendRunpaths = [
"${pipewire}/lib"
];
# Firefox uses "relrhack" to manually process relocations from a fixed offset
patchelfFlags = [ "--no-clobber-old-sections" ];
installPhase =
''

View file

@ -21,11 +21,11 @@ let
self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.5.2";
version = "6.5.3";
src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "sha256-r8OdcGeXZZPIMyuOl6Eq/Tk7VQN8X7nDyrGkLHVg9go=";
sha256 = "sha256-LNyB+t4SnPVrEoQXUn8ZC6cv13ZWc5TOVO7XZOZn59U=";
};
format = "other";
@ -35,7 +35,7 @@ let
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
inherit src;
name = "mercurial-${version}";
sha256 = "sha256-dcyHmLkRadNK30Vv0XsCEaZGTIcF/L29lLe58ggB3Lg=";
sha256 = "sha256-ob81zMUY4AVNIbkFKyImnj7QhHTh7LVOCcGeZDtTAXc=";
sourceRoot = "mercurial-${version}/rust";
} else null;
cargoRoot = if rustSupport then "rust" else null;

View file

@ -316,10 +316,10 @@ stdenv.mkDerivation {
''
###
### Remove LC_UUID
### Remove certain timestamps from final binaries
###
+ optionalString (stdenv.targetPlatform.isDarwin && !(bintools.isGNU or false)) ''
echo "-no_uuid" >> $out/nix-support/libc-ldflags-before
echo "export ZERO_AR_DATE=1" >> $out/nix-support/setup-hook
''
+ ''

View file

@ -200,6 +200,7 @@ let
# Also, the cache needs to go to both 32 and 64 bit glibcs, for games
# of both architectures to work.
--tmpfs ${glibc}/etc \
--tmpfs /etc \
--symlink /etc/ld.so.conf ${glibc}/etc/ld.so.conf \
--symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \
--ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \

View file

@ -0,0 +1,30 @@
{ lib, runCommand, rustc-unwrapped, sysroot ? null }:
runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" {
preferLocalBuild = true;
strictDeps = true;
inherit (rustc-unwrapped) outputs;
env = {
prog = "${rustc-unwrapped}/bin/rustc";
sysroot = lib.optionalString (sysroot != null) "--sysroot ${sysroot}";
};
passthru = {
inherit (rustc-unwrapped) pname version src llvm llvmPackages;
unwrapped = rustc-unwrapped;
};
meta = rustc-unwrapped.meta // {
description = "${rustc-unwrapped.meta.description} (wrapper script)";
priority = 10;
};
} ''
mkdir -p $out/bin
ln -s ${rustc-unwrapped}/bin/* $out/bin
rm $out/bin/rustc
substituteAll ${./rustc-wrapper.sh} $out/bin/rustc
chmod +x $out/bin/rustc
${lib.concatMapStrings (output: "ln -s ${rustc-unwrapped.${output}} \$${output}\n")
(lib.remove "out" rustc-unwrapped.outputs)}
''

View file

@ -0,0 +1,16 @@
#!@shell@
extraBefore=(@sysroot@)
extraAfter=($NIX_RUSTFLAGS)
# Optionally print debug info.
if (( "${NIX_DEBUG:-0}" >= 1 )); then
echo "extra flags before to @prog@:" >&2
printf " %q\n" "${extraBefore[@]}" >&2
echo "original flags to @prog@:" >&2
printf " %q\n" "$@" >&2
echo "extra flags after to @prog@:" >&2
printf " %q\n" "${extraAfter[@]}" >&2
fi
exec @prog@ "${extraBefore[@]}" "$@" "${extraAfter[@]}"

View file

@ -336,9 +336,12 @@ def main() -> None:
)
parser.add_argument(
"--extra-args",
nargs="*",
# Undocumented Python argparse feature: consume all remaining arguments
# as values for this one. This means this argument should always be passed
# last.
nargs="...",
type=str,
help="Extra arguments to pass to patchelf"
help="Extra arguments to pass to patchelf. This argument should always come last."
)
print("automatically fixing dependencies for ELF files")

View file

@ -1,7 +1,7 @@
export NIX_SET_BUILD_ID=1
export NIX_LDFLAGS+=" --compress-debug-sections=zlib"
export NIX_CFLAGS_COMPILE+=" -ggdb -Wa,--compress-debug-sections"
export RUSTFLAGS+=" -g"
export NIX_RUSTFLAGS+=" -g"
fixupOutputHooks+=(_separateDebugInfo)

View file

@ -46,11 +46,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString isMinimalBuild "-minimal"
+ lib.optionalString cursesUI "-cursesUI"
+ lib.optionalString qt5UI "-qt5UI";
version = "3.27.7";
version = "3.27.8";
src = fetchurl {
url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz";
hash = "sha256-CPcaEGA2vwUfaSdg75VYwFd8Qqw56Wugl+dmK9QVjY4=";
hash = "sha256-/s4kVj9peHD7uYLqi/F0gsnV+FXYyb8LgkY9dsno0Mw=";
};
patches = [
@ -161,6 +161,12 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "BUILD_CursesDialog" cursesUI)
];
# `pkgsCross.musl64.cmake.override { stdenv = pkgsCross.musl64.llvmPackages_16.libcxxStdenv; }`
# fails with `The C++ compiler does not support C++11 (e.g. std::unique_ptr).`
# The cause is a compiler warning `warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]`
# interfering with the feature check.
env.NIX_CFLAGS_COMPILE = "-Wno-unused-command-line-argument";
# make install attempts to use the just-built cmake
preInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
sed -i 's|bin/cmake|${buildPackages.cmakeMinimal}/bin/cmake|g' Makefile

View file

@ -0,0 +1,13 @@
diff --git a/cmake/kseexpr.pc.in b/cmake/kseexpr.pc.in
index 4b9f15f..fc76153 100644
--- a/cmake/kseexpr.pc.in
+++ b/cmake/kseexpr.pc.in
@@ -5,7 +5,7 @@
# pkg-config file for KSeExpr
prefix=@CMAKE_INSTALL_PREFIX@
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/include
Name: KSeExpr

View file

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitLab
, cmake
, extra-cmake-modules
, qt5
, libsForQt5
, bison
, flex
, llvm
}:
stdenv.mkDerivation rec {
pname = "kseexpr";
version = "4.0.4.0";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "graphics";
repo = "kseexpr";
rev = "v${version}";
hash = "sha256-XjFGAN7kK2b0bLouYG3OhajhOQk4AgC4EQRzseccGCE=";
};
patches = [
# see https://github.com/NixOS/nixpkgs/issues/144170
./cmake_libdir.patch
];
nativeBuildInputs = [
cmake
extra-cmake-modules
qt5.wrapQtAppsHook
];
buildInputs = [
bison
flex
libsForQt5.ki18n
llvm
qt5.qtbase
];
meta = with lib; {
homepage = "https://invent.kde.org/graphics/kseexpr";
description = "An embeddable expression evaluation engine";
maintainers = with maintainers; [ nek0 ];
license = licenses.lgpl3Plus;
};
}

View file

@ -0,0 +1,37 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, boost
, immer
, zug
}:
stdenv.mkDerivation rec {
pname = "lager";
version = "0.1.0";
src = fetchFromGitHub {
owner = "arximboldi";
repo = "lager";
rev = "v${version}";
hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg=";
};
buildInputs = [
boost
immer
zug
];
nativeBuildInputs = [
cmake
];
cmakeFlags = [
"-Dlager_BUILD_EXAMPLES=OFF"
];
meta = with lib; {
homepage = "https://github.com/arximboldi/lager";
description = "C++ library for value-oriented design using the unidirectional data-flow architecture Redux for C++";
license = licenses.mit;
maintainers = with maintainers; [ nek0 ];
};
}

View file

@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
sourceRoot = "${finalAttrs.src.name}/src";
postPatch = ''
patchShebangs ./configure *.sh
patchShebangs *.sh
'';
configureFlags = [

View file

@ -0,0 +1,34 @@
{ lib
, stdenv
, pkgs
, fetchFromGitHub
, cmake
, boost
}:
stdenv.mkDerivation rec {
pname = "zug";
version = "0.1.0";
src = fetchFromGitHub {
owner = "arximboldi";
repo = "zug";
rev = "v${version}";
hash = "sha256-7xTMDhPIx1I1PiYNanGUsK8pdrWuemMWM7BW+NQs2BQ=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
];
cmakeFlags = [
"-Dzug_BUILD_EXAMPLES=OFF"
];
meta = with lib; {
homepage = "https://github.com/arximboldi/zug";
description = "library for functional interactive c++ programs";
maintainers = with maintainers; [ nek0 ];
license = licenses.boost;
};
}

View file

@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
outputDevdoc = "out";
preConfigure = "
patchShebangs ./configure
patchShebangs ./do_install
";

View file

@ -1,7 +1,7 @@
{ lib
, stdenv
, writeText
, fetchurl
, fetchFromGitHub
, buildcatrust
, blacklist ? []
, extraCertificateFiles ? []
@ -17,20 +17,10 @@
}:
let
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" (blacklist ++ [
# Mozilla does not trust new certificates issued by these CAs after 2022/11/30¹
# in their products, but unfortunately we don't have such a fine-grained
# solution for most system packages², so we decided to eject these.
#
# [1] https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ
# [2] https://utcc.utoronto.ca/~cks/space/blog/linux/CARootStoreTrustProblem
"TrustCor ECA-1"
"TrustCor RootCert CA-1"
"TrustCor RootCert CA-2"
]));
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
srcVersion = "3.92";
srcVersion = "3.95";
version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html";
@ -43,9 +33,11 @@ let
pname = "nss-cacert-certdata";
inherit version;
src = if nssOverride != null then nssOverride.src else fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
hash = "sha256-PbGS1uiCA5rwKufq8yF+0RS7etg0FMZGdyq4Ah4kolQ=";
src = if nssOverride != null then nssOverride.src else fetchFromGitHub {
owner = "nss-dev";
repo = "nss";
rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM";
hash = "sha256-qgSbzlRbU+gElC2ae3FEGRUFSM1JHd/lNGNXC0x4xt4=";
};
dontBuild = true;
@ -54,7 +46,7 @@ let
runHook preInstall
mkdir $out
cp nss/lib/ckfw/builtins/certdata.txt $out
cp lib/ckfw/builtins/certdata.txt $out
runHook postInstall
'';

View file

@ -6,11 +6,11 @@ let
# Original source https://www.internic.net/domain/named.root
# occasionally suffers from pointless hash changes,
# and having stable sources for older versions has advantages, too.
urls = map (prefix: prefix + "cc5e14a264912/etc/root.hints") [
urls = map (prefix: prefix + "d9c96ae96f066a85d7/etc/root.hints") [
"https://gitlab.nic.cz/knot/knot-resolver/raw/"
"https://raw.githubusercontent.com/CZ-NIC/knot-resolver/"
];
sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl";
hash = "sha256-4lG/uPnNHBNIZ/XIeDM1w3iukrpeW0JIjTnGSwkJ8U4=";
};
rootKey = ./root.key;
@ -20,7 +20,7 @@ in
stdenv.mkDerivation {
pname = "dns-root-data";
version = "2019-01-11";
version = "2023-11-27";
buildCommand = ''
mkdir $out

View file

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, meson
, ninja
, pkg-config
@ -14,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "shared-mime-info";
version = "2.3";
version = "2.4";
outputs = [ "out" "dev" ];
@ -23,15 +22,9 @@ stdenv.mkDerivation rec {
owner = "xdg";
repo = pname;
rev = version;
sha256 = "sha256-cEfknRVtOJykEO9Iqlb0UoiayYtu+ugvmmZqAD5cGnE=";
hash = "sha256-5eyMkfSBUOD7p8woIYTgz5C/L8uQMXyr0fhL0l23VMA=";
};
patches = [
# Submitted upstream at
# https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/211
./fix-clang-warnings.patch
];
nativeBuildInputs = [
meson
ninja

View file

@ -1,31 +0,0 @@
diff --git a/meson.build b/meson.build
index 1780c44..7998a51 100644
--- a/meson.build
+++ b/meson.build
@@ -49,12 +49,7 @@ endif
###############################################################################
# Dependencies
-check_functions = [
- 'fdatasync',
-]
-foreach function : check_functions
- config.set('HAVE_'+function.to_upper(), cc.has_function(function))
-endforeach
+config.set('HAVE_FDATASYNC', cc.has_function('fdatasync', prefix: '#include <unistd.h>'))
if get_option('build-translations')
diff --git a/src/update-mime-database.cpp b/src/update-mime-database.cpp
index 733ba06..4ca6d06 100644
--- a/src/update-mime-database.cpp
+++ b/src/update-mime-database.cpp
@@ -2158,7 +2158,7 @@ static void check_in_path_xdg_data(const char *mime_path)
env = getenv("XDG_DATA_DIRS");
if (!env)
- env = "/usr/local/share/"PATH_SEPARATOR"/usr/share/";
+ env = "/usr/local/share/" PATH_SEPARATOR "/usr/share/";
dirs = g_strsplit(env, PATH_SEPARATOR, 0);
g_return_if_fail(dirs != NULL);
for (n = 0; dirs[n]; n++)

View file

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
];
outputs = [ "out" "bin" "man" "dev" ];
propagatedBuildOutputs = [];
propagatedBuildOutputs = [ ];
makeFlags = [
"TOPDIR=$(out)"
@ -59,6 +59,8 @@ stdenv.mkDerivation rec {
( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
cp leap-seconds.list $out/share/zoneinfo
mkdir -p "$dev/include"
cp tzfile.h "$dev/include/tzfile.h"
'';

View file

@ -11,14 +11,16 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "man" ];
buildInputs = [ ORBit2 libxml2 python3 ]
strictDeps = true;
buildInputs = [ ORBit2 libxml2 ]
# polkit requires pam, which requires shadow.h, which is not available on
# darwin
++ lib.optional (!stdenv.isDarwin) polkit;
propagatedBuildInputs = [ glib dbus-glib ];
nativeBuildInputs = [ pkg-config intltool ];
nativeBuildInputs = [ pkg-config intltool python3 glib ];
configureFlags =
# fixes the "libgconfbackend-oldxml.so is not portable" error on darwin

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl }:
{ lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl, buildPackages }:
stdenv.mkDerivation rec {
pname = "ORBit2";
@ -9,11 +9,34 @@ stdenv.mkDerivation rec {
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
};
strictDeps = true;
# Processing file orbit-interface.idl
# sh: gcc: not found
# output does not contain binaries for build
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ pkg-config libintl ];
propagatedBuildInputs = [ glib libIDL ];
outputs = [ "out" "dev" ];
configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"--with-idl-compiler=${lib.getExe' buildPackages.gnome2.ORBit2 "orbit-idl-2"}"
# https://github.com/void-linux/void-packages/blob/e5856e02aa6ef7e4f2725afbff2915f89d39024b/srcpkgs/ORBit2/template#L17-L35
"ac_cv_alignof_CORBA_boolean=1"
"ac_cv_alignof_CORBA_char=1"
"ac_cv_alignof_CORBA_double=8"
"ac_cv_alignof_CORBA_float=4"
"ac_cv_alignof_CORBA_long=4"
"ac_cv_alignof_CORBA_long_double=8"
"ac_cv_alignof_CORBA_long_long=8"
"ac_cv_alignof_CORBA_octet=1"
"ac_cv_alignof_CORBA_short=2"
"ac_cv_alignof_CORBA_struct=1"
"ac_cv_alignof_CORBA_wchar=2"
"ac_cv_alignof_CORBA_pointer=${if stdenv.hostPlatform.is64bit then "8" else "4"}"
];
preBuild = ''
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
'';

View file

@ -9,7 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5";
};
strictDeps = true;
buildInputs = [ glib gettext ];
nativeBuildInputs = [ flex bison pkg-config ];
configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
# before openembedded removed libIDL
# the result was always ll https://lists.openembedded.org/g/openembedded-core/topic/85775262?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3A%2C%2C%2C0%2C0%2C0%2C85775262
"libIDL_cv_long_long_format=ll"
];
}

View file

@ -11,10 +11,18 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 gettext ];
strictDeps = true;
nativeBuildInputs = [ pkg-config gettext ];
buildInputs = [ gtk2 ];
propagatedBuildInputs = [ libxml2 ];
postPatch = ''
# uses pkg-config in some places and uses the correct $PKG_CONFIG in some
# it's an ancient library so it has very old configure scripts and m4
substituteInPlace ./configure \
--replace "pkg-config" "$PKG_CONFIG"
'';
NIX_LDFLAGS = "-lgmodule-2.0";
propagatedBuildInputs = [ libxml2 ];
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade }:
{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade, glib }:
stdenv.mkDerivation rec {
pname = "libgnomecanvas";
@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
strictDeps = true;
buildInputs = [ libglade ];
nativeBuildInputs = [ pkg-config intltool ];
nativeBuildInputs = [ pkg-config intltool glib ];
propagatedBuildInputs = [ libart_lgpl gtk2 ];
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, cmake, python3, fetchFromGitHub, emscripten,
{ lib, stdenv, cmake, python3, fetchFromGitHub, fetchpatch, emscripten,
gtest, lit, nodejs, filecheck
}:
@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
hash = "sha256-gMwbWiP+YDCVafQMBWhTuJGWmkYtnhEdn/oofKaUT08=";
};
# Fix build with Node 20
# FIXME: remove for next release
patches = [
(fetchpatch {
url = "https://github.com/WebAssembly/binaryen/commit/889422e0c92552ff484659f9b41e777ba7ab35c1.patch";
hash = "sha256-acM8mytL9nhm4np9tpUbd1X0wJ7y308HV2fvgcAW1lY=";
})
];
nativeBuildInputs = [ cmake python3 ];
preConfigure = ''

View file

@ -17,10 +17,10 @@ Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
-fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/eeee.eee-nlohmann-json-ver
-fmacro-prefix-map=/nix/...
In practice it quickly exhausts argument lengtth limit due to `gcc`
In practice it quickly exhausts argument length limit due to `gcc`
deficiency: https://gcc.gnu.org/PR111527
Until it;s fixed let's hardcode header mangling if $NIX_STORE variable
Until it's fixed let's hardcode header mangling if $NIX_STORE variable
is present in the environment.
Tested as:

View file

@ -17,10 +17,10 @@ Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
-fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/eeee.eee-nlohmann-json-ver
-fmacro-prefix-map=/nix/...
In practice it quickly exhausts argument lengtth limit due to `gcc`
In practice it quickly exhausts argument length limit due to `gcc`
deficiency: https://gcc.gnu.org/PR111527
Until it;s fixed let's hardcode header mangling if $NIX_STORE variable
Until it's fixed let's hardcode header mangling if $NIX_STORE variable
is present in the environment.
Tested as:

View file

@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake python3 bison jq ];
# Workaround missing atomic ops with gcc <13
env.LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
postPatch = ''
cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools
ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers

View file

@ -46,11 +46,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.20.11";
version = "1.20.12";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-01XFrjqPd2PJ7J3CUVOq43OVjLy2DdCekai1bHYhsvw=";
hash = "sha256-xb+TR1HTHDFcHQu1+wIpZUX6bQiSNWb3pa/sgfLtJ9Y=";
};
strictDeps = true;

View file

@ -46,11 +46,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.21.4";
version = "1.21.5";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-R7Jqg9K2WjwcG8rOJztpvuSaentRaKdgTe09JqN714c=";
hash = "sha256-KFy730tubmLtWPNw8/bYwwgl1uVsWFPGbTwjvNsJ2xk=";
};
strictDeps = true;

View file

@ -16,12 +16,13 @@
, CoreFoundation, Security, SystemConfiguration
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
, makeRustPlatform
, wrapRustcWith
, llvmPackages_16, llvm_16
} @ args:
import ./default.nix {
rustcVersion = "1.73.0";
rustcSha256 = "sha256-ltYubR8tId96yKyzuYgkEfnnxwNhc/fy7enh8faxuzo=";
rustcVersion = "1.74.0";
rustcSha256 = "sha256-iCtYS8Mhxdz+d82qafJ3kGuTYlXveAj81cdJKSXPEEk=";
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
llvmSharedForHost = pkgsBuildHost.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
@ -35,24 +36,24 @@ import ./default.nix {
# Note: the version MUST be one version prior to the version we're
# building
bootstrapVersion = "1.72.1";
bootstrapVersion = "1.73.0";
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
bootstrapHashes = {
i686-unknown-linux-gnu = "a2a849a701dfd6643aaaa27e1ed5ac56aea00f7dee26c00d81c520808efd8911";
x86_64-unknown-linux-gnu = "4fbd8df2000cf73c632d67a219a7fc153537ceffa2e6474491e3db71fdd5a410";
x86_64-unknown-linux-musl = "94eddc044868a944a887d0b0375e393cb3acc6ebc034e3eac2ef2890ec7c0eac";
arm-unknown-linux-gnueabihf = "a4d90538882181722d3e7cb8d7f021770e29e6b6d28375452e31a98049600110";
armv7-unknown-linux-gnueabihf = "4c8e6b3c705a84d17894d3a1cfe744fb6083dd57c61868e67aac8b8512640ecb";
aarch64-unknown-linux-gnu = "190d0473cbe619f163d33a6c4e2ef982abdd4178f73abc3194631cd2d5c8ed8b";
aarch64-unknown-linux-musl = "c83778d1a95f6604bc3610a9070e8a8435c60a8bca5117aad71ffab36dea020f";
x86_64-apple-darwin = "d01e7e9a7482f88a51b4fd888f06234274b49f51b5476c2d14fd46fd6e99ba9e";
aarch64-apple-darwin = "42b0aaf269b6d9c60db13a64a920336d6064ab11d0c7043c9deeb9d4f67b3983";
powerpc64le-unknown-linux-gnu = "9310df247efc072f2ca27354a875c4989cf3c29c9e545255a7472895d830163c";
riscv64gc-unknown-linux-gnu = "1e08cd3ecd29d5bf247e3f7f4bc97318b439f0443dd9c99c36edcfa717d55101";
i686-unknown-linux-gnu = "6a088acbbda734d27e8b431499f1d746de7781673b88fead3aeae072be1d1a5a";
x86_64-unknown-linux-gnu = "aa4cf0b7e66a9f5b7c623d4b340bb1ac2864a5f2c2b981f39f796245dc84f2cb";
x86_64-unknown-linux-musl = "c888457d106ccd40288ca8db1cb966b23d719c9a128daca701ecc574c53773d4";
arm-unknown-linux-gnueabihf = "9c29bb42786aedbb16ea71564eb06068a8b01cca6c6b8857f0c37f91dfba7134";
armv7-unknown-linux-gnueabihf = "092b32b82c602c18279d76d9a96763e85030aa62cda64c1bc73fc1f6355bb99c";
aarch64-unknown-linux-gnu = "e54d7d886ba413ae573151f668e76ea537f9a44406d3d29598269a4a536d12f6";
aarch64-unknown-linux-musl = "f4e9ff895aa55558777585ad4debe2ccf3c0298cb5d65db67814f62428de4a5b";
x86_64-apple-darwin = "ece9646bb153d4bc0f7f1443989de0cbcd8989a7d0bf3b7fb9956e1223954f0c";
aarch64-apple-darwin = "9c96e4c57328fb438ee2d87aa75970ce89b4426b49780ccb3c16af0d7c617cc6";
powerpc64le-unknown-linux-gnu = "8fa215ee3e274fb64364e7084613bc570369488fa22cf5bc8e0fe6dc810fe2b9";
riscv64gc-unknown-linux-gnu = "381379a2381835428b2e7a396b3046581517356b7cc851e39e385aebd5700623";
};
selectRustPackage = pkgs: pkgs.rust_1_73;
selectRustPackage = pkgs: pkgs.rust_1_74;
rustcPatches = [ ];
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, makeWrapper, bash, curl, darwin, zlib
{ lib, stdenv, makeWrapper, wrapRustc, bash, curl, darwin, zlib
, autoPatchelfHook, gcc
, version
, src
@ -19,7 +19,7 @@ let
in
rec {
rustc = stdenv.mkDerivation {
rustc-unwrapped = stdenv.mkDerivation {
pname = "rustc-${versionType}";
inherit version;
@ -61,6 +61,8 @@ rec {
setupHooks = ./setup-hook.sh;
};
rustc = wrapRustc rustc-unwrapped;
cargo = stdenv.mkDerivation {
pname = "cargo-${versionType}";

View file

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage.override {
cargo-auditable = cargo-auditable.bootstrap;
} ({
pname = "cargo";
inherit (rustc) version src;
inherit (rustc.unwrapped) version src;
# the rust source tarball already has all the dependencies vendored, no need to fetch them again
cargoVendorDir = "vendor";

View file

@ -18,6 +18,7 @@
, CoreFoundation, Security, SystemConfiguration
, pkgsBuildBuild
, makeRustPlatform
, wrapRustcWith
}:
let
@ -64,7 +65,7 @@ in
buildRustPackages = (selectRustPackage buildPackages).packages.stable;
# Analogous to stdenv
rustPlatform = makeRustPlatform self.buildRustPackages;
rustc = self.callPackage ./rustc.nix ({
rustc-unwrapped = self.callPackage ./rustc.nix ({
version = rustcVersion;
sha256 = rustcSha256;
inherit enableRustcDev;
@ -75,6 +76,10 @@ in
# Use boot package set to break cycle
inherit (bootstrapRustPackages) cargo rustc rustfmt;
});
rustc = wrapRustcWith {
inherit (self) rustc-unwrapped;
sysroot = if fastCross then self.rustc-unwrapped else null;
};
rustfmt = self.callPackage ./rustfmt.nix {
inherit Security;
inherit (self.buildRustPackages) rustc;

View file

@ -81,6 +81,7 @@ in stdenv.mkDerivation (finalAttrs: {
ccForTarget = ccPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv;
cxxForTarget = cxxPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv;
in [
"--sysconfdir=${placeholder "out"}/etc"
"--release-channel=stable"
"--set=build.rustc=${rustc}/bin/rustc"
"--set=build.cargo=${cargo}/bin/cargo"
@ -153,9 +154,9 @@ in stdenv.mkDerivation (finalAttrs: {
runHook preBuild
mkdir -p build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-{std,rustc}/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/
ln -s ${rustc}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/libstd-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/libstd.so
ln -s ${rustc}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/librustc_driver-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/librustc.so
ln -s ${rustc}/bin/rustc build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/rustc-main
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/libstd-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/libstd.so
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/librustc_driver-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/librustc.so
ln -s ${rustc.unwrapped}/bin/rustc build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/rustc-main
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.libstd.stamp
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.librustc.stamp
python ./x.py --keep-stage=0 --stage=1 build library/std
@ -168,9 +169,9 @@ in stdenv.mkDerivation (finalAttrs: {
python ./x.py --keep-stage=0 --stage=1 install library/std
mkdir -v $out/bin $doc $man
makeWrapper ${rustc}/bin/rustc $out/bin/rustc --add-flags "--sysroot $out"
makeWrapper ${rustc}/bin/rustdoc $out/bin/rustdoc --add-flags "--sysroot $out"
ln -s ${rustc}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/
ln -s ${rustc.unwrapped}/bin/rustc $out/bin
makeWrapper ${rustc.unwrapped}/bin/rustdoc $out/bin/rustdoc --add-flags "--sysroot $out"
ln -s ${rustc.unwrapped}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/
echo rust-std-${stdenv.hostPlatform.rust.rustcTargetSpec} >> $out/lib/rustlib/components
lndir ${rustc.doc} $doc
lndir ${rustc.man} $man
@ -178,14 +179,6 @@ in stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'' else null;
# The bootstrap.py will generated a Makefile that then executes the build.
# The BOOTSTRAP_ARGS used by this Makefile must include all flags to pass
# to the bootstrap builder.
postConfigure = ''
substituteInPlace Makefile \
--replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)'
'';
# the rust build system complains that nix alters the checksums
dontFixLibtool = true;

View file

@ -14,9 +14,4 @@ mkCoqDerivation {
release."20200201".sha256 = "1h55s6lk47bk0lv5ralh81z55h799jbl9mhizmqwqzy57y8wqgs1";
propagatedBuildInputs = [ StructTact ];
preConfigure = ''
if [ -f ./configure ]; then
patchShebangs ./configure
fi
'';
}

View file

@ -12,9 +12,4 @@ mkCoqDerivation {
release."20230107".sha256 = "sha256-YMBzVIsLkIC+w2TeyHrKe29eWLIxrH3wIMZqhik8p9I=";
release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a";
release."20200131".sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0";
preConfigure = ''
if [ -f ./configure ]; then
patchShebangs ./configure
fi
'';
}

View file

@ -15,9 +15,4 @@ mkCoqDerivation {
release."20210328".sha256 = "sha256:1y5r1zm3hli10ah6lnj7n8hxad6rb6rgldd0g7m2fjibzvwqzhdg";
release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510";
release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v";
preConfigure = ''
if [ -f ./configure ]; then
patchShebangs ./configure
fi
'';
}

View file

@ -24,9 +24,4 @@ mkCoqDerivation {
release."20181102".sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z";
propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ];
preConfigure = ''
if [ -f ./configure ]; then
patchShebangs ./configure
fi
'';
}

View file

@ -17,7 +17,6 @@ mkCoqDerivation rec {
"8.18.0".sha256 = "sha256-ow3mfarZ1PvBGf5WLnI8LdF3E+8A6fN7cOcXHrZJLo0=";
};
preConfigure = "patchShebangs ./configure.sh";
configureScript = "./configure.sh";
dontAddPrefix = true;

View file

@ -48,7 +48,6 @@ let
propagatedBuildInputs = [ equations coq.ocamlPackages.zarith ] ++ metacoq-deps;
patchPhase = ''
patchShebangs ./configure.sh
patchShebangs ./template-coq/update_plugin.sh
patchShebangs ./template-coq/gen-src/to-lower.sh
patchShebangs ./pcuic/clean_extraction.sh

View file

@ -57,16 +57,16 @@ in rec {
# Maint version
perl536 = callPackage ./intepreter.nix {
self = perl536;
version = "5.36.1";
sha256 = "sha256-aCA2Zdjs4CmI/HfckvzLspeoOku0uNB1WEQvl42lTME=";
version = "5.36.3";
sha256 = "sha256-8qGtiBFjkaF2Ji3ULfxS7yKvtA9MDpgQ8V1WHm8ccmo=";
inherit passthruFun;
};
# Maint version
perl538 = callPackage ./intepreter.nix {
self = perl538;
version = "5.38.0";
sha256 = "sha256-IT71gInS8sly6jU1F9xg7DZW8FDcwCdmbhGLUIQj5Rc=";
version = "5.38.2";
sha256 = "sha256-oKMVNEUet7g8fWWUpJdUOlTUiLyQygD140diV39AZV4=";
inherit passthruFun;
};
}

View file

@ -236,14 +236,14 @@ stdenv.mkDerivation (rec {
mainProgram = "perl";
};
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
crossVersion = "1.5"; # Jul 03, 2023
crossVersion = "84db4c71ae3d3b01fb2966cd15a060a7be334710"; # Nov 29, 2023
perl-cross-src = fetchFromGitHub {
name = "perl-cross-${crossVersion}";
owner = "arsv";
repo = "perl-cross";
rev = crossVersion;
sha256 = "sha256-9nRFJinZUWUSpXXyyIVmhRLQ1B5LB3UmN2iAckmem58=";
sha256 = "sha256-1Zqw4sy/lD2nah0Z8rAE11tSpq1Ym9nBbatDczR+mxs=";
};
depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];

View file

@ -31,9 +31,6 @@ stdenv.mkDerivation rec {
sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
};
# make: *** No rule to make target 'build/*.lo', needed by 'build/libSDL.la'. Stop.
postPatch = "patchShebangs ./configure";
outputs = [ "out" "dev" ];
outputBin = "dev"; # sdl-config

View file

@ -58,13 +58,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "SDL2";
version = "2.28.4";
version = "2.28.5";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL";
rev = "release-${finalAttrs.version}";
hash = "sha256-1+1m0s3pBCTu924J/4aIu4IHk/N88x2djWDEsDpAJn4=";
hash = "sha256-YcM7bfLo+KkWx8LdtG4z2UwJvzlEkvIkm+M5aMSztwU=";
};
dontDisableStatic = if withStatic then 1 else 0;
outputs = [ "out" "dev" ];

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "lilv";
version = "0.24.20";
version = "0.24.22";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "https://download.drobilla.net/${pname}-${version}.tar.xz";
hash = "sha256-T7CCubiyhuqSu7cb3mt1Ykzsq23wzGOe51oqCWIS7rw=";
hash = "sha256-dvlJ0OWfyDNjQJtexeFcEEb7fdZYnTwbkgzsH9Kfn/M=";
};
nativeBuildInputs = [ meson ninja pkg-config python3 ];

View file

@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "roc-toolkit";
version = "0.2.5";
version = "0.3.0";
outputs = [ "out" "dev" ];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "roc-streaming";
repo = "roc-toolkit";
rev = "v${version}";
hash = "sha256-vosw4H3YTTCXdDOnQQYRNZgufPo1BxUtfg6jutArzTI=";
hash = "sha256-tC0rjb3eDtEciUk0NmVye+N//Y/RFsi5d3kFS031y8I=";
};
nativeBuildInputs = [

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "sratom";
version = "0.6.14";
version = "0.6.16";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://download.drobilla.net/${pname}-${version}.tar.xz";
hash = "sha256-mYL69A24Ou3Zs4UOSZ/s1oUri0um3t5RQBNlXP+soeY=";
hash = "sha256-ccFXmRGD5T0FVTk7tCccdcm19dq3Sl7yLyCLsi3jIsQ=";
};
strictDeps = true;
@ -43,13 +43,6 @@ stdenv.mkDerivation rec {
"-Ddocs=disabled"
];
postFixup = ''
# remove once updated to 0.6.15 or above
for f in $dev/lib/pkgconfig/*; do
echo "Requires: lv2 >= 1.18.4, serd-0 >= 0.30.10, sord-0 >= 0.16.10" >> "$f"
done
'';
passthru = {
updateScript = writeScript "update-sratom" ''
#!/usr/bin/env nix-shell

View file

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, meson
, ninja
, pkg-config
@ -17,6 +18,16 @@ stdenv.mkDerivation rec {
hash = "sha256-nMm3Mdqc4ncCae8SoyGxZYURzmXLNcp1GjsSExfB6x4=";
};
patches = [
# clang-16 support on Darwin:
# https://gitlab.com/drobilla/zix/-/issues/3
(fetchpatch {
name = "darwin-sync.patch";
url = "https://gitlab.com/drobilla/zix/-/commit/a6f804073de1f1e626464a9dd0a169fd3f69fdff.patch";
hash = "sha256-ZkDPjtUzIyqnYarQR+7aCj7S/gSngbd6d75aRT+h7Ww=";
})
];
nativeBuildInputs = [
meson
ninja
@ -28,12 +39,7 @@ stdenv.mkDerivation rec {
"-Ddocs=disabled"
];
env = lib.optionalAttrs stdenv.isDarwin {
# Do not fail the build on clang-16/darwin.
# TODO: drop the workaround when upstream fixes it in:
# https://gitlab.com/drobilla/zix/-/issues/3
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
doCheck = true;
meta = with lib; {
description = "A lightweight C99 portability and data structure library";

View file

@ -0,0 +1,102 @@
From a337a1ba7d15853fb56deef1f464529af6e3a1cf Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers@ya.ru>
Date: Mon, 23 Oct 2023 20:29:31 +0000
Subject: [PATCH 1/2] core: reject overly long TXT resource records
Closes https://github.com/lathiat/avahi/issues/455
CVE-2023-38469
---
avahi-core/rr.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/avahi-core/rr.c b/avahi-core/rr.c
index 2bb89244..9c04ebbd 100644
--- a/avahi-core/rr.c
+++ b/avahi-core/rr.c
@@ -32,6 +32,7 @@
#include <avahi-common/malloc.h>
#include <avahi-common/defs.h>
+#include "dns.h"
#include "rr.h"
#include "log.h"
#include "util.h"
@@ -689,11 +690,17 @@ int avahi_record_is_valid(AvahiRecord *r) {
case AVAHI_DNS_TYPE_TXT: {
AvahiStringList *strlst;
+ size_t used = 0;
- for (strlst = r->data.txt.string_list; strlst; strlst = strlst->next)
+ for (strlst = r->data.txt.string_list; strlst; strlst = strlst->next) {
if (strlst->size > 255 || strlst->size <= 0)
return 0;
+ used += 1+strlst->size;
+ if (used > AVAHI_DNS_RDATA_MAX)
+ return 0;
+ }
+
return 1;
}
}
From c6cab87df290448a63323c8ca759baa516166237 Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers@ya.ru>
Date: Wed, 25 Oct 2023 18:15:42 +0000
Subject: [PATCH 2/2] tests: pass overly long TXT resource records
to make sure they don't crash avahi any more.
It reproduces https://github.com/lathiat/avahi/issues/455
---
avahi-client/client-test.c | 14 ++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/avahi-client/client-test.c b/avahi-client/client-test.c
index ba979988..da0e43ad 100644
--- a/avahi-client/client-test.c
+++ b/avahi-client/client-test.c
@@ -22,6 +22,7 @@
#endif
#include <stdio.h>
+#include <string.h>
#include <assert.h>
#include <avahi-client/client.h>
@@ -33,6 +34,8 @@
#include <avahi-common/malloc.h>
#include <avahi-common/timeval.h>
+#include <avahi-core/dns.h>
+
static const AvahiPoll *poll_api = NULL;
static AvahiSimplePoll *simple_poll = NULL;
@@ -222,6 +225,9 @@ int main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
uint32_t cookie;
struct timeval tv;
AvahiAddress a;
+ uint8_t rdata[AVAHI_DNS_RDATA_MAX+1];
+ AvahiStringList *txt = NULL;
+ int r;
simple_poll = avahi_simple_poll_new();
poll_api = avahi_simple_poll_get(simple_poll);
@@ -261,6 +267,14 @@ int main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
error = avahi_entry_group_add_record (group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "TestX", 0x01, 0x10, 120, "", 0);
assert(error != AVAHI_OK);
+ memset(rdata, 1, sizeof(rdata));
+ r = avahi_string_list_parse(rdata, sizeof(rdata), &txt);
+ assert(r >= 0);
+ assert(avahi_string_list_serialize(txt, NULL, 0) == sizeof(rdata));
+ error = avahi_entry_group_add_service_strlst(group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "TestX", "_qotd._tcp", NULL, NULL, 123, txt);
+ assert(error == AVAHI_ERR_INVALID_RECORD);
+ avahi_string_list_free(txt);
+
avahi_entry_group_commit (group);
domain = avahi_domain_browser_new (avahi, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, NULL, AVAHI_DOMAIN_BROWSER_BROWSE, 0, avahi_domain_browser_callback, (char*) "omghai3u");

View file

@ -0,0 +1,47 @@
From 04ac71fd56a16365360f14bd4691219913e22f21 Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers@ya.ru>
Date: Tue, 24 Oct 2023 21:57:32 +0000
Subject: [PATCH 1/2] smoke-test: call SetHostName with unusual names
It's prompted by https://github.com/lathiat/avahi/issues/453
---
avahi-core/server.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/avahi-core/server.c b/avahi-core/server.c
index f6a21bb7..84df6b5d 100644
--- a/avahi-core/server.c
+++ b/avahi-core/server.c
@@ -1309,10 +1309,13 @@ int avahi_server_set_host_name(AvahiServer *s, const char *host_name) {
else
hn = avahi_normalize_name_strdup(host_name);
+ if (!hn)
+ return avahi_server_set_errno(s, AVAHI_ERR_NO_MEMORY);
+
h = hn;
if (!avahi_unescape_label((const char **)&hn, label, sizeof(label))) {
avahi_free(h);
- return AVAHI_ERR_INVALID_HOST_NAME;
+ return avahi_server_set_errno(s, AVAHI_ERR_INVALID_HOST_NAME);
}
avahi_free(h);
@@ -1320,7 +1323,7 @@ int avahi_server_set_host_name(AvahiServer *s, const char *host_name) {
h = label_escaped;
len = sizeof(label_escaped);
if (!avahi_escape_label(label, strlen(label), &h, &len))
- return AVAHI_ERR_INVALID_HOST_NAME;
+ return avahi_server_set_errno(s, AVAHI_ERR_INVALID_HOST_NAME);
if (avahi_domain_equal(s->host_name, label_escaped) && s->state != AVAHI_SERVER_COLLISION)
return avahi_server_set_errno(s, AVAHI_ERR_NO_CHANGE);
@@ -1330,7 +1333,7 @@ int avahi_server_set_host_name(AvahiServer *s, const char *host_name) {
avahi_free(s->host_name);
s->host_name = avahi_strdup(label_escaped);
if (!s->host_name)
- return AVAHI_ERR_NO_MEMORY;
+ return avahi_server_set_errno(s, AVAHI_ERR_NO_MEMORY);
update_fqdn(s);

View file

@ -51,6 +51,41 @@ stdenv.mkDerivation rec {
url = "https://github.com/lathiat/avahi/commit/a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f.patch";
sha256 = "sha256-BEYFGCnQngp+OpiKIY/oaKygX7isAnxJpUPCUvg+efc=";
})
# CVE-2023-38470
# https://github.com/lathiat/avahi/pull/457 merged Sep 19
(fetchpatch {
name = "CVE-2023-38470.patch";
url = "https://github.com/lathiat/avahi/commit/94cb6489114636940ac683515417990b55b5d66c.patch";
sha256 = "sha256-Fanh9bvz+uknr5pAmltqijuUAZIG39JR2Lyq5zGKJ58=";
})
# CVE-2023-38473
# https://github.com/lathiat/avahi/pull/486 merged Oct 18
(fetchpatch {
name = "CVE-2023-38473.patch";
url = "https://github.com/lathiat/avahi/commit/b448c9f771bada14ae8de175695a9729f8646797.patch";
sha256 = "sha256-/ZVhsBkf70vjDWWG5KXxvGXIpLOZUXdRkn3413iSlnI=";
})
# CVE-2023-38472
# https://github.com/lathiat/avahi/pull/490 merged Oct 19
(fetchpatch {
name = "CVE-2023-38472.patch";
url = "https://github.com/lathiat/avahi/commit/b024ae5749f4aeba03478e6391687c3c9c8dee40.patch";
sha256 = "sha256-FjR8fmhevgdxR9JQ5iBLFXK0ILp2OZQ8Oo9IKjefCqk=";
})
# CVE-2023-38471
# https://github.com/lathiat/avahi/pull/494 merged Oct 24
(fetchpatch {
name = "CVE-2023-38471.patch";
url = "https://github.com/lathiat/avahi/commit/894f085f402e023a98cbb6f5a3d117bd88d93b09.patch";
sha256 = "sha256-4dG+5ZHDa+A4/CszYS8uXWlpmA89m7/jhbZ7rheMs7U=";
})
# https://github.com/lathiat/avahi/pull/499 merged Oct 25
# (but with the changes to '.github/workflows/smoke-tests.sh removed)
./CVE-2023-38471-2.patch
# CVE-2023-38469
# https://github.com/lathiat/avahi/pull/500 merged Oct 25
# (but with the changes to '.github/workflows/smoke-tests.sh removed)
./CVE-2023-38469.patch
];
depsBuildBuild = [

View file

@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
doCheck = true; # not cross;
preCheck = ''
patchShebangs ./configure ./run.sh ./test-driver-wrapper.sh
patchShebangs ./run.sh ./test-driver-wrapper.sh
'';
# CMake files incorrectly calculate library path from dev prefix

View file

@ -1,8 +1,7 @@
{lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, drmSupport ? false # Digital Radio Mondiale
, cmake
# for passthru.tests
, gst_all_1
@ -13,19 +12,18 @@
stdenv.mkDerivation rec {
pname = "faad2";
version = "2.10.1";
version = "2.11.1";
src = fetchFromGitHub {
owner = "knik0";
repo = "faad2";
rev = version;
sha256 = "sha256-k7y12OwCn3YkNZY9Ov5Y9EQtlrZh6oFUzM27JDR960w=";
hash = "sha256-E6oe7yjYy1SJo8xQkyUk1sSucKDMPxwUFVSAyrf4Pd8=";
};
configureFlags = []
++ lib.optional drmSupport "--with-drm";
outputs = [ "out" "dev" "man" ];
nativeBuildInputs = [ autoreconfHook ];
nativeBuildInputs = [ cmake ];
passthru.tests = {
inherit mpd vlc;

View file

@ -1,4 +1,5 @@
{ fetchurl
, fetchpatch
, stdenv
, lib
, gfortran
@ -25,6 +26,14 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
};
patches = [
(fetchpatch {
name = "remove_missing_FFTW3LibraryDepends.patch";
url = "https://github.com/FFTW/fftw3/pull/338/commits/f69fef7aa546d4477a2a3fd7f13fa8b2f6c54af7.patch";
hash = "sha256-lzX9kAHDMY4A3Td8necXwYLcN6j8Wcegi3A7OIECKeU=";
})
];
outputs = [ "out" "dev" "man" ]
++ lib.optional withDoc "info"; # it's dev-doc only
outputBin = "dev"; # fftw-wisdom
@ -64,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Fastest Fourier Transform in the West library";
homepage = "http://www.fftw.org/";
homepage = "https://www.fftw.org/";
license = licenses.gpl2Plus;
maintainers = [ ];
pkgConfigModules = [

View file

@ -1,6 +1,6 @@
{ config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip
, perl, gmp, autoconf, automake, libidn2, libiconv
, fetchpatch, texinfo
, texinfo
, unbound, dns-root-data, gettext, util-linux
, cxxBindings ? !stdenv.hostPlatform.isStatic # tries to link libstdc++.so
, tpmSupport ? false, trousers, which, nettools, libunistring
@ -35,11 +35,11 @@ in
stdenv.mkDerivation rec {
pname = "gnutls";
version = "3.8.1";
version = "3.8.2";
src = fetchurl {
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
hash = "sha256-uoueFa4gq6iPRGYZePW1hjSUMW/n5yLt6dBp/mKUgpw=";
hash = "sha256-52XlAW/6m53SQ+NjoEYNV3B0RE7iSRJn2y6WycKt73c=";
};
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@ -48,12 +48,6 @@ stdenv.mkDerivation rec {
outputDoc = "devdoc";
patches = [
(fetchpatch { #TODO: when updating drop this patch and texinfo
name = "GNUTLS_NO_EXTENSIONS.patch";
url = "https://gitlab.com/gnutls/gnutls/-/commit/abfa8634db940115a11a07596ce53c8f9c4f87d2.diff";
hash = "sha256-3M5WdNoVx9gUwTUPgu/sXmsaNg+j5d6liXs0UZz8fGU=";
})
./nix-ssl-cert-file.patch
];

View file

@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "grpc";
version = "1.59.1"; # N.B: if you change this, please update:
version = "1.60.0"; # N.B: if you change this, please update:
# pythonPackages.grpcio-tools
# pythonPackages.grpcio-status
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
hash = "sha256-4bou7oFQOgyxjFqJdmiFT8xEMCsOap9v34W6SPrT4WQ=";
hash = "sha256-0mn+nQAgaurd1WomzcLUAYwp88l26qGkP+cP1SSYxsE=";
fetchSubmodules = true;
};

View file

@ -109,13 +109,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-bad";
version = "1.22.6";
version = "1.22.7";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-tAKc0pCKCJxV8dkCpWXQB0lclbFELYOEhdxH+xLfcTc=";
hash = "sha256-xxb43/qPrD+2RpQa8cbscv/wWgRRMTEb8tBJ/ch7zi4=";
};
patches = [

View file

@ -45,7 +45,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gst-plugins-base";
version = "1.22.6";
version = "1.22.7";
outputs = [ "out" "dev" ];
@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-UPK00XwC7v5DC776jFzRNLG+eKU8D2DpURNtls9J/Us=";
hash = "sha256-YlGeDY+Wnr9iqaeZby0j792jMCF6Y19KMsC/HHFXdGg=";
};
strictDeps = true;

View file

@ -24,7 +24,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gstreamer";
version = "1.22.6";
version = "1.22.7";
outputs = [
"bin"
@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-9QDmz93/VZCPk3cR/CaghA3iih6exJYhwLbxrb2PgY4=";
hash = "sha256-AeQsY1Kga9+kRW5ksGq32YxcSHolVXx2FVRjHL2mQhc=";
};
depsBuildBuild = [

View file

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "gst-devtools";
version = "1.22.6";
version = "1.22.7";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-iShWDvrxYTfDAoXnGHCOXQurB3frTvgSfgJ04SDT2Gs=";
hash = "sha256-FXz5P7J0HPDD3qcxvjry/65wPJ8s08DJGzgPvGheufk=";
};
outputs = [

View file

@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "gst-editing-services";
version = "1.22.6";
version = "1.22.7";
outputs = [
"out"
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-dI1CNnLFl/h24TCAT7mEhI9bS4nv14pQbLF/dkZ5UwE=";
hash = "sha256-/sVqLDeiU80EjSiNTH7abv8ZECKwnbl14HosEF0bUh4=";
};
nativeBuildInputs = [

View file

@ -43,6 +43,7 @@
, libgudev
, wavpack
, glib
, openssl
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
}:
@ -53,13 +54,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch32);
stdenv.mkDerivation rec {
pname = "gst-plugins-good";
version = "1.22.6";
version = "1.22.7";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-s7B/4/HOf+k6qb5yF4ZgRFSPNcSneSKA7sfhCKMvmBc=";
hash = "sha256-ttsOGOOYtSZlt83OMBw0qHUEg9X0+6we3p+AsDdDzRU=";
};
strictDeps = true;
@ -109,6 +110,7 @@ stdenv.mkDerivation rec {
libintl
ncurses
wavpack
openssl
] ++ lib.optionals raspiCameraSupport [
libraspberrypi
] ++ lib.optionals enableX11 [

View file

@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "gst-libav";
version = "1.22.6";
version = "1.22.7";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-d4nmQIOIol8jy/lIz8XGIw1zW7zYt/N/SgHJ40ih46c=";
hash = "sha256-FSW5FxQbiV/lz2GP6IZ2IrJSgnigKG6fcntfNzF9rKE=";
};
outputs = [ "out" "dev" ];

View file

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "gst-rtsp-server";
version = "1.22.6";
version = "1.22.7";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-CuM6i1BEO2LxFYGpGB6Qa0HNOHey15nb6nKRLD7aS7M=";
hash = "sha256-9/rAAeIK0h420YOXdBxGV8XUNXHrHMO0n5qTrhJ9yI8=";
};
outputs = [

View file

@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-ugly";
version = "1.22.6";
version = "1.22.7";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-PjFFTJjLL39tLTVezrkzqJL6Dx3Am8NsmryTDY4pykg=";
hash = "sha256-UgtGvKY3GJrYaimP8kWy2JN128rIsF102uqRD4Gp6do=";
};
nativeBuildInputs = [

View file

@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "gstreamer-vaapi";
version = "1.22.6";
version = "1.22.7";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-2bovwmvvmMeOmCxZn1hdRru2X+Ei2onC16tB9GilLHs=";
hash = "sha256-Dp//douJ3m0xizQUbk54HYK5oPQCXcVBssg0nHvLf2c=";
};
outputs = [

View file

@ -1,30 +0,0 @@
diff -Naur http-parser-2.1-orig/http_parser.gyp http-parser-2.1/http_parser.gyp
--- http-parser-2.1-orig/http_parser.gyp 2013-03-26 18:35:20.000000000 -0400
+++ http-parser-2.1/http_parser.gyp 2013-05-23 16:47:49.280488341 -0400
@@ -21,7 +21,7 @@
},
'Release': {
'defines': [ 'NDEBUG' ],
- 'cflags': [ '-Wall', '-Wextra', '-O3' ],
+ 'cflags': [ '-Wall', '-Wextra', '-O3', '-fPIC' ],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 0, # static release
@@ -50,7 +50,7 @@
'targets': [
{
'target_name': 'http_parser',
- 'type': 'static_library',
+ 'type': 'shared_library',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=0' ],
@@ -73,7 +73,7 @@
{
'target_name': 'http_parser_strict',
- 'type': 'static_library',
+ 'type': 'shared_library',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=1' ],

View file

@ -1,4 +1,7 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch }:
{ lib, stdenv, fetchFromGitHub, fetchpatch
, enableShared ? !stdenv.hostPlatform.isStatic
, enableStatic ? stdenv.hostPlatform.isStatic
}:
stdenv.mkDerivation rec {
pname = "http-parser";
@ -12,8 +15,9 @@ stdenv.mkDerivation rec {
};
env.NIX_CFLAGS_COMPILE = "-Wno-error";
patches = [
./build-shared.patch
./enable-static-shared.patch
] ++ lib.optionals stdenv.isAarch32 [
# https://github.com/nodejs/http-parser/pull/510
(fetchpatch {
@ -21,18 +25,43 @@ stdenv.mkDerivation rec {
sha256 = "sha256-rZZMJeow3V1fTnjadRaRa+xTq3pdhZn/eJ4xjxEDoU4=";
})
];
makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
buildFlags = [ "library" ];
makeFlags = [
"DESTDIR="
"PREFIX=$(out)"
"BINEXT=${stdenv.hostPlatform.extensions.executable}"
"Platform=${lib.toLower stdenv.hostPlatform.uname.system}"
"AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}"
"ENABLE_SHARED=${if enableShared then "1" else "0"}"
"ENABLE_STATIC=${if enableStatic then "1" else "0"}"
] ++ lib.optionals enableShared [
"SOEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.sharedLibrary}"
] ++ lib.optionals enableStatic [
"AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}"
] ++ lib.optionals (enableShared && stdenv.hostPlatform.isWindows) [
"SONAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOEXT)"
"LIBNAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOREV).$(SOEXT)"
"LDFLAGS=-Wl,--out-implib=$(LIBNAME).a"
];
buildFlags = lib.optional enableShared "library"
++ lib.optional enableStatic "package";
doCheck = true;
checkTarget = "test";
enableParallelBuilding = true;
postInstall = lib.optionalString stdenv.hostPlatform.isWindows ''
install -D *.dll.a $out/lib
ln -sf libhttp_parser.${version}.dll.a $out/lib/libhttp_parser.dll.a
'';
meta = with lib; {
description = "An HTTP message parser written in C";
homepage = "https://github.com/nodejs/http-parser";
maintainers = with maintainers; [ matthewbauer ];
license = licenses.mit;
platforms = platforms.unix;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,93 @@
commit abcb3cca9452779e91380b7636f32745166af3de
Author: John Ericson <John.Ericson@Obsidian.Systems>
Date: Wed Nov 29 23:55:38 2023 -0500
Make build system: enable/disable shared/static support
This allows building this package in static-lib-only distros.
diff --git a/Makefile b/Makefile
index 5d21221..cbc7914 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,9 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+ENABLE_SHARED ?= 1
+ENABLE_STATIC ?=
+
PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"')
HELPER ?=
BINEXT ?=
@@ -25,6 +28,8 @@ SOLIBNAME = libhttp_parser
SOMAJOR = 2
SOMINOR = 9
SOREV = 4
+AEXT = a
+STATICLIBNAME = $(SOLIBNAME).$(AEXT)
ifeq (darwin,$(PLATFORM))
SOEXT ?= dylib
SONAME ?= $(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOEXT)
@@ -109,11 +114,17 @@ test-valgrind: test_g
libhttp_parser.o: http_parser.c http_parser.h Makefile
$(CC) $(CPPFLAGS_FAST) $(CFLAGS_LIB) -c http_parser.c -o libhttp_parser.o
-library: libhttp_parser.o
- $(CC) $(LDFLAGS_LIB) -o $(LIBNAME) $<
+.PHONY: library
+library: $(LIBNAME)
+
+$(LIBNAME): libhttp_parser.o
+ $(CC) $(LDFLAGS_LIB) -o $@ $<
-package: http_parser.o
- $(AR) rcs libhttp_parser.a http_parser.o
+.PHONY: package
+package: $(STATICLIBNAME)
+
+$(STATICLIBNAME): http_parser.o
+ $(AR) rcs $@ $<
url_parser: http_parser.o contrib/url_parser.c
$(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) $^ -o $@
@@ -130,12 +141,30 @@ parsertrace_g: http_parser_g.o contrib/parsertrace.c
tags: http_parser.c http_parser.h test.c
ctags $^
-install: library
+.PHONY: install-headers
+install-headers:
$(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
+
+.PHONY: install-library
+install-library: library
$(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT)
+.PHONY: install-package
+install-package: package
+ $(INSTALL) -D $(STATICLIBNAME) $(DESTDIR)$(LIBDIR)/$(STATICLIBNAME)
+
+.PHONY: install
+install: install-headers
+ifeq ($(ENABLE_SHARED),1)
+install: install-library
+endif
+ifeq ($(ENABLE_STATIC),1)
+install: install-package
+endif
+
+.PHONY: install-strip
install-strip: library
$(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
$(INSTALL) -D -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
@@ -147,6 +176,7 @@ uninstall:
rm $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT)
rm $(DESTDIR)$(LIBDIR)/$(SONAME)
rm $(DESTDIR)$(LIBDIR)/$(LIBNAME)
+ rm $(DESTDIR)$(LIBDIR)/$(STATICLIBNAME)
clean:
rm -f *.o *.a tags test test_fast test_g \

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, perl, bison, bootstrap_cmds
, openssl, openldap, libedit, keyutils, libverto
, openssl, openldap, libedit, keyutils, libverto, darwin
# for passthru.tests
, bind
@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
pname = "${type}krb5";
version = "1.20.2";
version = "1.21.2";
src = fetchurl {
url = "https://kerberos.org/dist/krb5/${lib.versions.majorMinor version}/krb5-${version}.tar.gz";
sha256 = "sha256-fY1ofUKu01DCUly2mk/DqnkWlNpnYdzMHELC7neWtd0=";
hash = "sha256-lWCUGp2EPAJDpxsXp6xv4xx867W845g9t55Srn6FBJE=";
};
outputs = [ "out" "dev" ];
@ -58,6 +58,11 @@ stdenv.mkDerivation rec {
++ lib.optionals (!libOnly) [ openldap libedit ]
++ lib.optionals withVerto [ libverto ];
propagatedBuildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk; [
libs.xpc
frameworks.Kerberos
]);
sourceRoot = "krb5-${version}/src";
postPatch = ''

View file

@ -9,11 +9,11 @@ let
in
stdenv.mkDerivation rec {
pname = "libaom";
version = "3.7.0";
version = "3.7.1";
src = fetchzip {
url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz";
hash = "sha256-Zf0g/CMI73O9Dkn9o7aIvwZ/8wh3lCmVY8nZaPwBp68=";
hash = "sha256-v2SBiDE4zZe3LMrlo/tP9GzmG/PJZ42rKi1svKJR6ZA=";
stripRoot = false;
};

View file

@ -4,6 +4,7 @@
, rasterizerSupport ? false # Internal rasterizer
, largeTilesSupport ? false # Use larger tiles in the rasterizer
, libiconv
, darwin
}:
assert fontconfigSupport -> fontconfig != null;
@ -29,7 +30,12 @@ stdenv.mkDerivation rec {
buildInputs = [ freetype fribidi harfbuzz ]
++ lib.optional fontconfigSupport fontconfig
++ lib.optional stdenv.isDarwin libiconv;
++ lib.optional stdenv.isDarwin [
libiconv
darwin.apple_sdk.frameworks.ApplicationServices
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.CoreText
];
meta = with lib; {
description = "Portable ASS/SSA subtitle renderer";

View file

@ -19,13 +19,13 @@ in
stdenv.mkDerivation rec {
pname = "libavif";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "AOMediaCodec";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3zNhKl8REWsRlblXIFD7zn7qvrc/pa4wHZI0oEc3pKE=";
sha256 = "sha256-Ku0UgVBba1tHBzHjx5yf9hRAtbmXf2n4gEdAaGr3qTY=";
};
# reco: encode libaom slowest but best, decode dav1d fastest

View file

@ -14,14 +14,14 @@
}:
stdenv.mkDerivation (finalAttrs: rec {
version = "1.0.12";
version = "1.0.14";
pname = "libde265";
src = fetchFromGitHub {
owner = "strukturag";
repo = "libde265";
rev = "refs/tags/v${version}";
hash = "sha256-pl1r3n4T4FcJ4My/wCE54R2fmTdrlJOvgb2U0MZf1BI=";
hash = "sha256-aZRtF4wYWxi/6ORNu7yVxFFdkvJTvBwPinL5lC0Mlqg=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "libdrm";
version = "2.4.117";
version = "2.4.118";
src = fetchurl {
url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-ooiNaePrHIp3rcCKdaYPuuAfDSCNJvA00aEuNiNhJCs=";
hash = "sha256-p3e9hfK1/JxX+IbIIFgwBXgxfK/bx30Kdp1+mpVnq4g=";
};
outputs = [ "out" "dev" "bin" ];

View file

@ -14,6 +14,17 @@ stdenv.mkDerivation rec {
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
# NROFF = "${groff}/bin/nroff";
# GCC automatically include `stdc-predefs.h` while Clang does not do
# this by default. While Musl is ISO 10646 compliant, doesn't define
# __STDC_ISO_10646__. This definition is in `stdc-predefs.h` that's
# why libedit builds just fine with GCC and Musl.
# There is a DR to fix this issue with Clang which is not merged
# yet.
# https://reviews.llvm.org/D137043
NIX_CFLAGS_COMPILE = lib.optional
(stdenv.targetPlatform.isMusl && stdenv.cc.isClang)
"-D__STDC_ISO_10646__=201103L";
patches = [ ./01-cygwin.patch ];
propagatedBuildInputs = [ ncurses ];

View file

@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
patches = [
# Fix implicit function declarations (clang-16 build failure):
# https://github.com/libffi/libffi/pull/764
./fix-implicit-fun-decl.patch
];
strictDeps = true;

View file

@ -0,0 +1,46 @@
https://github.com/libffi/libffi/commit/ce077e5565366171aa1b4438749b0922fce887a4.patch
From ce077e5565366171aa1b4438749b0922fce887a4 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
Date: Thu, 2 Feb 2023 14:46:29 +0000
Subject: [PATCH] Forward declare open_temp_exec_file (#764)
It's defined in closures.c and used in tramp.c.
Also declare it as an hidden symbol, as it should be.
Co-authored-by: serge-sans-paille <sguelton@mozilla.com>
---
include/ffi_common.h | 4 ++++
src/tramp.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/include/ffi_common.h b/include/ffi_common.h
index 2bd31b03d..c53a79493 100644
--- a/include/ffi_common.h
+++ b/include/ffi_common.h
@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN;
static trampoline. */
int ffi_tramp_is_present (void *closure) FFI_HIDDEN;
+/* Return a file descriptor of a temporary zero-sized file in a
+ writable and executable filesystem. */
+int open_temp_exec_file(void) FFI_HIDDEN;
+
/* Extended cif, used in callback from assembly routine */
typedef struct
{
diff --git a/src/tramp.c b/src/tramp.c
index 7e005b054..5f19b557f 100644
--- a/src/tramp.c
+++ b/src/tramp.c
@@ -39,6 +39,10 @@
#ifdef __linux__
#define _GNU_SOURCE 1
#endif
+
+#include <ffi.h>
+#include <ffi_common.h>
+
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

View file

@ -14,12 +14,12 @@
stdenv.mkDerivation rec {
pname = "libfido2";
version = "1.13.0";
version = "1.14.0";
# releases on https://developers.yubico.com/libfido2/Releases/ are signed
src = fetchurl {
url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
sha256 = "sha256-UdQ3J+KhxFRMf9DuR3hvRD458TiK2nNaUJrUrwokWco=";
sha256 = "sha256-NgF5LjIAMtQoACxMzoSZpMe4AzGQUaJaDJ8fE4/+5Fo=";
};
nativeBuildInputs = [ cmake pkg-config ];

View file

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, gettext
, libgpg-error
, enableCapabilities ? false, libcap
@ -16,21 +15,13 @@ assert enableCapabilities -> stdenv.isLinux;
stdenv.mkDerivation rec {
pname = "libgcrypt";
version = "1.10.2";
version = "1.10.3";
src = fetchurl {
url = "mirror://gnupg/libgcrypt/${pname}-${version}.tar.bz2";
hash = "sha256-O5wCoAS2jCVq3ZlwHeALODrMzPNxd+DWxYKJZkzODAM=";
hash = "sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo=";
};
patches = lib.optionals (!stdenv.isLinux) [ # not everywhere to avoid rebuild for now
(fetchpatch {
name = "getrandom-conditionalize.patch";
url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff_plain;h=d41177937cea4aa1e9042ebcd195a349c40e8071";
hash = "sha256-CgQjNtC1qLe5LicIc8rESc6Z1u4fk7ErMUVcG/2G9gM=";
})
];
outputs = [ "out" "dev" "info" ];
outputBin = "dev";

View file

@ -33,6 +33,10 @@ stdenv.mkDerivation rec {
"-DUSE_HTTP_PARSER=system"
"-DUSE_SSH=ON"
"-DBUILD_SHARED_LIBS=${if staticBuild then "OFF" else "ON"}"
] ++ lib.optionals stdenv.hostPlatform.isWindows [
"-DDLLTOOL=${stdenv.cc.bintools.targetPrefix}dlltool"
# For ws2_32, refered to by a `*.pc` file
"-DCMAKE_LIBRARY_PATH=${stdenv.cc.libc}/lib"
];
nativeBuildInputs = [ cmake python3 pkg-config ];

View file

@ -1,4 +1,5 @@
{ stdenv, lib, fetchFromGitLab
, fetchpatch
, autoreconfHook, pkg-config, python3, addOpenGLRunpath
, libX11, libXext, xorgproto
}:
@ -15,6 +16,16 @@ stdenv.mkDerivation rec {
sha256 = "sha256-2U9JtpGyP4lbxtVJeP5GUgh5XthloPvFIw28+nldYx8=";
};
patches = [
# Enable 64-bit file APIs on 32-bit systems:
# https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/288
(fetchpatch {
name = "large-file.patch";
url = "https://gitlab.freedesktop.org/glvnd/libglvnd/-/commit/956d2d3f531841cabfeddd940be4c48b00c226b4.patch";
hash = "sha256-Y6YCzd/jZ1VZP9bFlHkHjzSwShXeA7iJWdyfxpgT2l0=";
})
];
nativeBuildInputs = [ autoreconfHook pkg-config python3 addOpenGLRunpath ];
buildInputs = [ libX11 libXext xorgproto ];

View file

@ -15,9 +15,23 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "dev" ];
strictDeps = true;
propagatedBuildInputs = [ glib dbus libgcrypt ];
nativeBuildInputs = [ pkg-config intltool ];
configureFlags = [
# not ideal to use -config scripts but it's not possible switch it to pkg-config
# binaries in dev have a for build shebang
"LIBGCRYPT_CONFIG=${lib.getExe' (lib.getDev libgcrypt) "libgcrypt-config"}"
];
postPatch = ''
# uses pkg-config in some places and uses the correct $PKG_CONFIG in some
# it's an ancient library so it has very old configure scripts and m4
substituteInPlace ./configure \
--replace "pkg-config" "$PKG_CONFIG"
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "libksba";
version = "1.6.4";
version = "1.6.5";
src = fetchurl {
url = "mirror://gnupg/libksba/libksba-${version}.tar.bz2";
hash = "sha256-u7Q/AyuRZNhseB/+QiE6g79PL+6RRV7fpGVFIbiwO2s=";
hash = "sha256-pWRijFdMmSh5mHU/mNdQur2RpOnbRR9GrRQEZu8qbRY=";
};
outputs = [ "out" "dev" "info" ];

View file

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-bCToqXVE4RZcoZ2eTNZcVHyzKlWyIpSAssQCOZcfmEA=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libtirpc ];

View file

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
sha256 = "w9I7N9/W458uCfCRt3sVQfv6F8Twtr9cibrvcikIDhc=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
pkg-config
meson

View file

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-qdvuMjNR0Qm3ruB0qcuJyj57z4rY7e8YUfTPNZvVCEM=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkg-config meson ninja ];
doCheck = true;

View file

@ -1,21 +1,29 @@
{ lib, stdenv, fetchurl, autoreconfHook
{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook
, testers
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libsodium";
version = "1.0.18";
version = "1.0.19";
src = fetchurl {
url = "https://download.libsodium.org/libsodium/releases/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
sha256 = "1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g";
hash = "sha256-AY15/goEXMoHMx03vQy1ey6DjFG8SP2DehRy5QBou+o=";
};
outputs = [ "out" "dev" ];
patches = lib.optional stdenv.hostPlatform.isMinGW ./mingw-no-fortify.patch;
patches = [
# Drop -Ofast as it breaks floating point arithmetics in downstream
# users.
(fetchpatch {
name = "drop-Ofast.patch";
url = "https://github.com/jedisct1/libsodium/commit/ffd1e374989197b44d815ac8b5d8f0b43b6ce534.patch";
hash = "sha256-jG0VirIoFBwYmRx6zHSu2xe6pXYwbeqNVhPJxO6eJEY=";
})
] ++ lib.optional stdenv.hostPlatform.isMinGW ./mingw-no-fortify.patch;
nativeBuildInputs = lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
nativeBuildInputs = [ autoreconfHook ];
separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";

View file

@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
dontDisableStatic = withStatic;
# libusb-1.0.rc:11: fatal error: opening dependency file .deps/libusb-1.0.Tpo: No such file or directory
dontAddDisableDepTrack = stdenv.hostPlatform.isWindows;
configureFlags =
lib.optional (!enableUdev) "--disable-udev"
++ lib.optional (withExamples) "--enable-examples-build";

View file

@ -1,13 +1,10 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, autoconf
, automake
, libtool
, pkg-config
, ApplicationServices
, CoreServices
, pkgsStatic
# for passthru.tests
@ -21,28 +18,20 @@
, nodejs
, ocamlPackages
, python3
, testers
}:
stdenv.mkDerivation (finalAttrs: {
version = "1.46.0";
version = "1.47.0";
pname = "libuv";
src = fetchFromGitHub {
owner = "libuv";
repo = "libuv";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Lrsyh4qd3OkTw1cSPfahzfSGNt6+pRN1X21iiv1SsFo=";
hash = "sha256-J6qvq///A/tr+/vNRVCwCc80/VHKWQTYF6Mt1I+dBCU=";
};
patches = [
# Disable io_uring close on selected kernels. Remove on next release
# https://github.com/libuv/libuv/pull/4141
(fetchpatch {
url = "https://github.com/libuv/libuv/commit/c811169f91b2101f7302e96de3d2dc366ade3a25.patch";
hash = "sha256-7vk6XGXwJcwYUQPqIJ3JPd/fPIGrjE5WRDSJCMQfKeU=";
})
];
outputs = [ "out" "dev" ];
postPatch = let
@ -50,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
"getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
"tcp_connect_timeout" # tries to reach out to 8.8.8.8
"spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
"getaddrinfo_fail" "getaddrinfo_fail_sync"
"getaddrinfo_fail" "getaddrinfo_fail_sync" "tcp_connect6_link_local"
"threadpool_multiple_event_loops" # times out on slow machines
"get_passwd" # passed on NixOS but failed on other Linuxes
"tcp_writealot" "udp_multicast_join" "udp_multicast_join6" "metrics_pool_events" # times out sometimes
@ -91,7 +80,6 @@ stdenv.mkDerivation (finalAttrs: {
'';
nativeBuildInputs = [ automake autoconf libtool pkg-config ];
buildInputs = lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ];
preConfigure = ''
LIBTOOLIZE=libtoolize ./autogen.sh
@ -119,12 +107,14 @@ stdenv.mkDerivation (finalAttrs: {
python-pyuv = python3.pkgs.pyuv;
python-uvloop = python3.pkgs.uvloop;
static = pkgsStatic.libuv;
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
description = "A multi-platform support library with a focus on asynchronous I/O";
homepage = "https://libuv.org/";
changelog = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog";
pkgConfigModules = [ "libuv" ];
maintainers = with maintainers; [ marsam ];
platforms = platforms.all;
license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];

Some files were not shown because too many files have changed in this diff Show more