Merge #271377: staging-next 2023-12-01
This commit is contained in:
commit
120a26f8ce
171 changed files with 1148 additions and 679 deletions
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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" \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, ... }:
|
||||
|
||||
callPackage ./generic.nix {
|
||||
version = "5.1.5";
|
||||
version = "5.2.0";
|
||||
kde-channel = "stable";
|
||||
sha256 = "1lx4x4affkbh47b7w5qvahkkr4db0vcw6h24nykak6gpy2z5wxqw";
|
||||
hash = "sha256-02oZc4pZw2dQucx1IuPJslWQGjOqwGmgeDgnUIqKkpc=";
|
||||
}
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 =
|
||||
''
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
''
|
||||
|
||||
+ ''
|
||||
|
|
|
@ -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 \
|
||||
|
|
30
pkgs/build-support/rust/rustc-wrapper/default.nix
Normal file
30
pkgs/build-support/rust/rustc-wrapper/default.nix
Normal 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)}
|
||||
''
|
16
pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh
Normal file
16
pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh
Normal 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[@]}"
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
13
pkgs/by-name/ks/kseexpr/cmake_libdir.patch
Normal file
13
pkgs/by-name/ks/kseexpr/cmake_libdir.patch
Normal 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
|
46
pkgs/by-name/ks/kseexpr/package.nix
Normal file
46
pkgs/by-name/ks/kseexpr/package.nix
Normal 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;
|
||||
};
|
||||
}
|
37
pkgs/by-name/la/lager/package.nix
Normal file
37
pkgs/by-name/la/lager/package.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./configure *.sh
|
||||
patchShebangs *.sh
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
|
|
34
pkgs/by-name/zu/zug/package.nix
Normal file
34
pkgs/by-name/zu/zug/package.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
|
|||
outputDevdoc = "out";
|
||||
|
||||
preConfigure = "
|
||||
patchShebangs ./configure
|
||||
patchShebangs ./do_install
|
||||
";
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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++)
|
|
@ -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"
|
||||
'';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
}
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [ ];
|
||||
}
|
|
@ -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}";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -14,9 +14,4 @@ mkCoqDerivation {
|
|||
release."20200201".sha256 = "1h55s6lk47bk0lv5ralh81z55h799jbl9mhizmqwqzy57y8wqgs1";
|
||||
|
||||
propagatedBuildInputs = [ StructTact ];
|
||||
preConfigure = ''
|
||||
if [ -f ./configure ]; then
|
||||
patchShebangs ./configure
|
||||
fi
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -24,9 +24,4 @@ mkCoqDerivation {
|
|||
release."20181102".sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z";
|
||||
|
||||
propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ];
|
||||
preConfigure = ''
|
||||
if [ -f ./configure ]; then
|
||||
patchShebangs ./configure
|
||||
fi
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ mkCoqDerivation rec {
|
|||
"8.18.0".sha256 = "sha256-ow3mfarZ1PvBGf5WLnI8LdF3E+8A6fN7cOcXHrZJLo0=";
|
||||
};
|
||||
|
||||
preConfigure = "patchShebangs ./configure.sh";
|
||||
configureScript = "./configure.sh";
|
||||
dontAddPrefix = true;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
102
pkgs/development/libraries/avahi/CVE-2023-38469.patch
Normal file
102
pkgs/development/libraries/avahi/CVE-2023-38469.patch
Normal 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");
|
47
pkgs/development/libraries/avahi/CVE-2023-38471-2.patch
Normal file
47
pkgs/development/libraries/avahi/CVE-2023-38471-2.patch
Normal 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);
|
||||
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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' ],
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 \
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-bCToqXVE4RZcoZ2eTNZcVHyzKlWyIpSAssQCOZcfmEA=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
buildInputs = [ libtirpc ];
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "w9I7N9/W458uCfCRt3sVQfv6F8Twtr9cibrvcikIDhc=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
meson
|
||||
|
|
|
@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-qdvuMjNR0Qm3ruB0qcuJyj57z4rY7e8YUfTPNZvVCEM=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config meson ninja ];
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue