mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
Merge branch 'staging' into staging-next
This commit is contained in:
@@ -140,6 +140,8 @@
|
||||
[pnpm `fetcherVersion` section](#javascript-pnpm-fetcherVersion) of the manual
|
||||
for details.
|
||||
|
||||
- `makeSetupHook` now uses structured attributes and only makes substitutions based on the values of the `substitutions` argument - other derivation attributes are no longer considered.
|
||||
|
||||
- `rebuilderd` has been updated to 0.27.0 introducing breaking changes. See upstream changelog for details: [0.26.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0), [0.27.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.27.0)
|
||||
|
||||
- Starting with v14, `flameshot` will primarily utilise xdg-desktop-portal calls for screenshotting. This will directly affect users on X11 window managers due to the lack of a compatible portal with Screenshot feature. See [upstream changelog](https://github.com/flameshot-org/flameshot/releases/tag/v14.0.0) or [NixOS Flameshot](https://wiki.nixos.org/wiki/Flameshot) wiki page for workarounds.
|
||||
|
||||
@@ -108,7 +108,7 @@ in
|
||||
DynamicUser = true;
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
PrivateDevices = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
@@ -752,7 +752,7 @@ in
|
||||
"AF_INET6"
|
||||
];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
PrivateMounts = true;
|
||||
|
||||
@@ -355,7 +355,7 @@ in
|
||||
PrivateDevices = true;
|
||||
ProtectSystem = "full";
|
||||
CapabilityBoundingSet = [ "~CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE" ];
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
@@ -1061,7 +1061,7 @@ in
|
||||
"CAP_SYS_RESOURCE"
|
||||
];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
NoNewPrivileges = false; # e.g for sendmail
|
||||
OOMPolicy = "continue";
|
||||
PrivateTmp = true;
|
||||
|
||||
@@ -1011,7 +1011,7 @@ in
|
||||
PrivateDevices = true;
|
||||
ProtectSystem = "full";
|
||||
CapabilityBoundingSet = [ "~CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE" ];
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
@@ -777,7 +777,7 @@ in
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
|
||||
@@ -953,7 +953,7 @@ in
|
||||
++ lib.optional (useSendmail && config.services.postfix.enable) "AF_NETLINK";
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
|
||||
@@ -273,7 +273,7 @@ in
|
||||
ProtectSystem = "strict";
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
ProtectHostname = true;
|
||||
ProtectProc = true;
|
||||
ProtectKernelLogs = true;
|
||||
|
||||
@@ -1614,11 +1614,7 @@ in
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute =
|
||||
!(
|
||||
(builtins.any (mod: (mod.allowMemoryWriteExecute or false)) cfg.package.modules)
|
||||
|| (lib.getName cfg.package == "openresty")
|
||||
);
|
||||
MemoryDenyWriteExecute = false; # for pcre2 & several plugins
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
|
||||
@@ -139,7 +139,7 @@ in
|
||||
"AF_INET6"
|
||||
];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
MemoryDenyWriteExecute = false; # pcre2 jit
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
PrivateMounts = true;
|
||||
|
||||
@@ -478,6 +478,8 @@ stdenvNoCC.mkDerivation {
|
||||
apple-sdk.__spliced.buildTarget or apple-sdk;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta =
|
||||
let
|
||||
bintools_ = optionalAttrs (bintools != null) bintools;
|
||||
|
||||
@@ -735,7 +735,6 @@ rec {
|
||||
meta ? { },
|
||||
passthru ? { },
|
||||
substitutions ? { },
|
||||
__structuredAttrs ? false,
|
||||
}@args:
|
||||
script:
|
||||
runCommand name
|
||||
@@ -745,10 +744,6 @@ rec {
|
||||
# Make the position of the derivation accurate.
|
||||
# Since not having `name` is deprecated, this should be fairly accurate.
|
||||
pos = lib.unsafeGetAttrPos "name" args;
|
||||
# TODO(@Artturin:) substitutions should be inside the env attrset
|
||||
# but users are likely passing non-substitution arguments through substitutions
|
||||
# turn off __structuredAttrs to unbreak substituteAll
|
||||
inherit __structuredAttrs;
|
||||
pname = name;
|
||||
version = "26.05pre-git";
|
||||
inherit meta;
|
||||
@@ -756,6 +751,7 @@ rec {
|
||||
inherit propagatedBuildInputs;
|
||||
inherit propagatedNativeBuildInputs;
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
# TODO 2023-01, no backport: simplify to inherit passthru;
|
||||
passthru =
|
||||
passthru
|
||||
@@ -771,7 +767,9 @@ rec {
|
||||
recordPropagatedDependencies
|
||||
''
|
||||
+ lib.optionalString (substitutions != { }) ''
|
||||
substituteAll ${script} $out/nix-support/setup-hook
|
||||
substitute ${script} $out/nix-support/setup-hook ${
|
||||
lib.concatMapAttrsStringSep " " (name: _: "--subst-var ${name}") substitutions
|
||||
}
|
||||
''
|
||||
);
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
libpulseaudio,
|
||||
libzip,
|
||||
nlohmann_json,
|
||||
stb,
|
||||
SDL2,
|
||||
spdlog,
|
||||
tinyxml-2,
|
||||
@@ -89,12 +90,6 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
stb' = fetchurl {
|
||||
name = "stb_image.h";
|
||||
url = "https://raw.githubusercontent.com/nothings/stb/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h";
|
||||
hash = "sha256-xUsVponmofMsdeLsI6+kQuPg436JS3PBl00IZ5sg3Vw=";
|
||||
};
|
||||
|
||||
stormlib' = applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ladislav-zezula";
|
||||
@@ -220,7 +215,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preConfigure = ''
|
||||
# mirror 2ship's stb
|
||||
mkdir stb
|
||||
cp ${stb'} ./stb/${stb'.name}
|
||||
cp ${stb}/include/stb/stb_image.h ./stb/stb_image.h
|
||||
cp ${stb_impl} ./stb/${stb_impl.name}
|
||||
substituteInPlace libultraship/cmake/dependencies/common.cmake \
|
||||
--replace-fail "\''${STB_DIR}" "$(readlink -f ./stb)"
|
||||
|
||||
@@ -45,6 +45,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Open-source collection of C++ code designed to augment the C++ standard library";
|
||||
homepage = "https://abseil.io/";
|
||||
|
||||
@@ -50,6 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Open-source collection of C++ code designed to augment the C++ standard library";
|
||||
homepage = "https://abseil.io/";
|
||||
|
||||
@@ -39,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [ gtest ];
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Open-source collection of C++ code designed to augment the C++ standard library";
|
||||
homepage = "https://abseil.io/";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ada";
|
||||
version = "3.4.4";
|
||||
version = "4.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ada-url";
|
||||
repo = "ada";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kfUbsqQ+CsqnySKgeL1GFJLcDe1Irivp4CoZG93BZYg=";
|
||||
hash = "sha256-TvjoLUKO2+YgS1mlyglLb+rBLTO/SWSBVA2S34Z6kMI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -22,8 +22,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ninja
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/argp-standalone/argp-standalone";
|
||||
description = "Standalone version of arguments parsing functions from Glibc";
|
||||
|
||||
@@ -151,7 +151,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "asciidoc-py";
|
||||
repo = "asciidoc-py";
|
||||
rev = finalAttrs.version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-td3C7xTWfSzdo9Bbz0dHW2oPaCQYmUE9H2sUFfg5HH0=";
|
||||
};
|
||||
|
||||
@@ -320,6 +320,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Text-based document generation system";
|
||||
longDescription = ''
|
||||
|
||||
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ pythonEnv ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
src = ./source;
|
||||
|
||||
buildPhase = ''
|
||||
@@ -33,6 +35,8 @@ stdenv.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Automatically patch ELF binaries using patchelf";
|
||||
mainProgram = "auto-patchelf";
|
||||
|
||||
@@ -240,6 +240,35 @@ def find_first_matching_rpath_with_origin(binary: Path, lib_dir: Path, rpaths: l
|
||||
return Path(rpath)
|
||||
return None
|
||||
|
||||
|
||||
def relativize_rpath_to_origin(*, binary_path: Path, rpath_entries: list[Path], containing_path: Path) -> list[Path]:
|
||||
"""
|
||||
Rewrite absolute RPATH entries to use $ORIGIN when the entry sits
|
||||
under containing_path (the --paths entry the binary was found
|
||||
under).
|
||||
|
||||
The resulting RPATH is relocatable: as long as the directory layout
|
||||
within containing_path is preserved, the whole tree can be moved
|
||||
and the binary will still find its dependencies.
|
||||
|
||||
Entries that already contain $ORIGIN are left untouched.
|
||||
Entries outside containing_path are also left absolute.
|
||||
"""
|
||||
containing_norm: Path = Path(os.path.normpath(containing_path))
|
||||
new_rpath_entries: list[Path] = []
|
||||
for entry in rpath_entries:
|
||||
if "$ORIGIN" in entry.as_posix():
|
||||
new_rpath_entries.append(entry)
|
||||
continue
|
||||
entry_norm: Path = Path(os.path.normpath(entry))
|
||||
if not entry_norm.is_relative_to(containing_norm):
|
||||
new_rpath_entries.append(entry)
|
||||
continue
|
||||
rel = os.path.relpath(entry_norm, binary_path.parent)
|
||||
new_rpath_entries.append(Path("$ORIGIN") / rel)
|
||||
return new_rpath_entries
|
||||
|
||||
|
||||
class Event(Protocol):
|
||||
"""Protocol for loggable events that occur during the auto-patchelf process."""
|
||||
def to_human_readable_str(self) -> str: ...
|
||||
@@ -317,7 +346,18 @@ class Logger:
|
||||
|
||||
|
||||
|
||||
def auto_patchelf_file(logger: Logger, path: Path, runtime_deps: list[Path], append_rpaths: list[Path] = [], keep_libc: bool = False, preserve_origin: bool = False, extra_args: list[str] = []) -> list[Dependency]:
|
||||
def auto_patchelf_file(
|
||||
*,
|
||||
logger: Logger,
|
||||
runtime_deps: list[Path],
|
||||
append_rpaths: list[Path] = [],
|
||||
keep_libc: bool = False,
|
||||
preserve_origin: bool = False,
|
||||
relativize_rpath: bool = False,
|
||||
extra_args: list[str] = [],
|
||||
path: Path,
|
||||
containing_path: Path
|
||||
) -> list[Dependency]:
|
||||
try:
|
||||
with open_elf(path) as elf:
|
||||
|
||||
@@ -436,6 +476,9 @@ def auto_patchelf_file(logger: Logger, path: Path, runtime_deps: list[Path], app
|
||||
if "$ORIGIN" in existing_rpath:
|
||||
rpath.append(Path(existing_rpath))
|
||||
|
||||
if relativize_rpath:
|
||||
rpath = relativize_rpath_to_origin(binary_path=path, rpath_entries=rpath, containing_path=containing_path)
|
||||
|
||||
# Dedup the rpath
|
||||
rpath_str = ":".join(dict.fromkeys(map(Path.as_posix, rpath)))
|
||||
|
||||
@@ -458,6 +501,7 @@ def auto_patchelf(
|
||||
append_rpaths: list[Path] = [],
|
||||
keep_libc: bool = False,
|
||||
preserve_origin: bool = False,
|
||||
relativize_rpath: bool = False,
|
||||
add_existing: bool = True,
|
||||
extra_args: list[str] = []) -> None:
|
||||
|
||||
@@ -472,9 +516,20 @@ def auto_patchelf(
|
||||
populate_cache(lib_dirs)
|
||||
|
||||
dependencies = []
|
||||
for path in chain.from_iterable(glob(p, '*', recursive) for p in paths_to_patch):
|
||||
if not path.is_symlink() and path.is_file():
|
||||
dependencies += auto_patchelf_file(logger, path, runtime_deps, append_rpaths, keep_libc, preserve_origin, extra_args)
|
||||
for containing_path in paths_to_patch:
|
||||
for path in glob(containing_path, '*', recursive):
|
||||
if not path.is_symlink() and path.is_file():
|
||||
dependencies += auto_patchelf_file(
|
||||
logger=logger,
|
||||
runtime_deps=runtime_deps,
|
||||
append_rpaths=append_rpaths,
|
||||
keep_libc=keep_libc,
|
||||
preserve_origin=preserve_origin,
|
||||
relativize_rpath=relativize_rpath,
|
||||
extra_args=extra_args,
|
||||
path=path,
|
||||
containing_path=containing_path
|
||||
)
|
||||
|
||||
missing = [dep for dep in dependencies if not dep.found]
|
||||
|
||||
@@ -560,6 +615,12 @@ def main() -> None:
|
||||
action="store_true",
|
||||
help="When possible, replace absolute RPATH entries with original $ORIGIN entries that resolve to the same directory.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--relativize-rpath",
|
||||
dest="relativize_rpath",
|
||||
action="store_true",
|
||||
help="Rewrite absolute RPATH entries to use $ORIGIN when the binary and the entry live under the same --paths root, so the patched tree is relocatable.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--ignore-existing",
|
||||
dest="add_existing",
|
||||
@@ -597,6 +658,7 @@ def main() -> None:
|
||||
append_rpaths=args.append_rpaths,
|
||||
keep_libc=args.keep_libc,
|
||||
preserve_origin=args.preserve_origin,
|
||||
relativize_rpath=args.relativize_rpath,
|
||||
add_existing=args.add_existing,
|
||||
extra_args=args.extra_args)
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [ xz ];
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Archive of autoconf m4 macros";
|
||||
homepage = "https://www.gnu.org/software/autoconf-archive/";
|
||||
|
||||
@@ -28,10 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"host"
|
||||
];
|
||||
|
||||
# there's a /bin/sh shebang in bin/yacc which when no strictDeps is patched with the build stdenv shell
|
||||
# however when cross-compiling it would still be patched with the build stdenv shell which would be wrong
|
||||
# cannot add bash to buildInputs due to infinite recursion
|
||||
strictDeps = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
m4
|
||||
@@ -40,6 +37,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optional stdenv.hostPlatform.isSunOS help2man;
|
||||
propagatedBuildInputs = [ m4 ];
|
||||
|
||||
# there's a /bin/sh shebang in bin/yacc which when no strictDeps is patched with the build stdenv shell
|
||||
# however when cross-compiling it would still be patched with the build stdenv shell which would be wrong
|
||||
# cannot add bash to buildInputs due to infinite recursion
|
||||
postFixup = lib.optionalString (lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform) ''
|
||||
patchShebangs --build $out/bin/yacc
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
# tests are flaky / timing sensitive on FreeBSD
|
||||
enableParallelChecking = !stdenv.hostPlatform.isFreeBSD;
|
||||
@@ -50,6 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# TODO: enable doInstallCheck unconditionally when fixed upstream.
|
||||
doInstallCheck = !stdenv.cc.isClang;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/bison/";
|
||||
description = "Yacc-compatible parser generator";
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
||||
useBoost.src or (fetchFromGitHub {
|
||||
owner = "boostorg";
|
||||
repo = "build";
|
||||
rev = defaultVersion;
|
||||
tag = defaultVersion;
|
||||
sha256 = "1r4rwlq87ydmsdqrik4ly5iai796qalvw7603mridg2nwcbbnf54";
|
||||
});
|
||||
|
||||
@@ -58,6 +58,8 @@ stdenv.mkDerivation {
|
||||
bison
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
./bootstrap.sh
|
||||
@@ -76,6 +78,8 @@ stdenv.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.boost.org/build/";
|
||||
license = lib.licenses.boost;
|
||||
|
||||
@@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = lib.optional staticOnly "-DBUILD_SHARED_LIBS=OFF";
|
||||
|
||||
outputs = [
|
||||
@@ -60,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/google/brotli";
|
||||
changelog = "https://github.com/google/brotli/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
|
||||
@@ -70,6 +70,8 @@ stdenv.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [ buildcatrust ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildPhase = ''
|
||||
mkdir unbundled hashed
|
||||
buildcatrust \
|
||||
@@ -247,5 +249,7 @@ stdenv.mkDerivation {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
inherit meta;
|
||||
}
|
||||
|
||||
@@ -12,14 +12,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "catchorg";
|
||||
repo = "Catch2";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-XnT2ziES94Y4uzWmaxSw7nWegJFQjAqFUG8PkwK5nLU=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-XnT2ziES94Y4uzWmaxSw7nWegJFQjAqFUG8PkwK5nLU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [ "-H.." ];
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)";
|
||||
homepage = "http://catch-lib.net";
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
makeSetupHook {
|
||||
name = "check-phase-thread-limit-hook";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ grimmauld ];
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
cmake,
|
||||
ninja,
|
||||
@@ -17,23 +16,15 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "chromaprint";
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acoustid";
|
||||
repo = "chromaprint";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-G3HIMgbjaAXsC+8nt7mkj58xA62qwA8FC+PfTGblhNg=";
|
||||
hash = "sha256-Es903zeZ++9/Xb/npUU3rB0V87DVqwT9uTMbQdSzfJI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix generated pkg-config files
|
||||
(fetchpatch {
|
||||
url = "https://github.com/acoustid/chromaprint/commit/782ef6bb5f6498e35f8e275f76998fbd5ffa36d6.patch";
|
||||
hash = "sha256-drUfAMzTrqqB5UbzOnfPq6XD3HI+3sxyJJSTCa0BmD8=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
|
||||
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# sandbox does not allow setgid
|
||||
sed '2i echo Skipping chmod setgid test && exit 77' -i ./tests/chmod/setgid.sh
|
||||
substituteInPlace ./tests/install/install-C.sh \
|
||||
--replace 'mode3=2755' 'mode3=1755'
|
||||
--replace-fail 'mode3=2755' 'mode3=1755'
|
||||
|
||||
# Fails on systems with a rootfs. Looks like a bug in the test, see
|
||||
# https://lists.gnu.org/archive/html/bug-coreutils/2019-12/msg00000.html
|
||||
@@ -162,6 +162,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# TODO(@Ericson2314): Investigate whether Darwin could benefit too
|
||||
++ optional (isCross && stdenv.hostPlatform.libc != "glibc") libiconv;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [ "trivialautovarinit" ];
|
||||
|
||||
configureFlags = [
|
||||
@@ -271,6 +273,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/coreutils/";
|
||||
description = "GNU Core Utilities";
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
autoreconfHook,
|
||||
texinfo,
|
||||
|
||||
# for passthru.tests
|
||||
git,
|
||||
@@ -20,7 +22,29 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-k3YQuXwymh7JJoVT+3gAN7z/8Nz/6XJevE/ZwaqQdds=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-66484.patch";
|
||||
url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=e2b9cbdd3354d2b1569b7390d1bc15c1930559ad";
|
||||
hash = "sha256-WjphVpMaI/ePg8MTZx+vvilKzpRAAzhAFwCwrbsPLRE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-66485.patch";
|
||||
url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=3cd514031371d8aeeaf2048aa10103e02831aaa9";
|
||||
hash = "sha256-YDlROEYYlZERNzzlx1cQD29gV5IrU01aVcZ/sKpWrRo=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-66486.patch";
|
||||
url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=2ff9600c9ef32e88759843cdbde74c8db5ae9b30";
|
||||
excludes = [ "NEWS" ];
|
||||
hash = "sha256-qi9/9xhKnIyPpji63RgzbnnHZsJgwRnQVMaMiLxQipk=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
texinfo # for makeinfo
|
||||
];
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cryptsetup";
|
||||
version = "2.8.6";
|
||||
version = "2.8.7";
|
||||
|
||||
outputs = [
|
||||
"bin"
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url =
|
||||
"mirror://kernel/linux/utils/cryptsetup/v${lib.versions.majorMinor finalAttrs.version}/"
|
||||
+ "cryptsetup-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-gAQmX9mTiF0I97Yz2+BWhR3hohAwdhOk693HQ/zO/lo=";
|
||||
hash = "sha256-53bw04HobKYQQsRXBpSR/o4KwoZ4DHw7Hk+ZIavJYdo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -19,11 +19,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
buildInputs = [ libtool ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cunit/CUnit/${finalAttrs.version}/CUnit-${finalAttrs.version}.tar.bz2";
|
||||
sha256 = "057j82da9vv4li4z5ri3227ybd18nzyq81f6gsvhifs5z0vr3cpm";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Unit Testing Framework for C";
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
systemdLibs,
|
||||
acl,
|
||||
gmp,
|
||||
darwin,
|
||||
libusb1 ? null,
|
||||
gnutls ? null,
|
||||
avahi ? null,
|
||||
@@ -40,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"lib"
|
||||
"dev"
|
||||
"man"
|
||||
"doc"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -63,6 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://gondor.apana.org.au/~herbert/dash/";
|
||||
description = "POSIX-compliant implementation of /bin/sh that aims to be as small as possible";
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
||||
# files.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "diffutils";
|
||||
version = "3.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
|
||||
url = "mirror://gnu/diffutils/diffutils-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-fIt/n8hgkUH96pzs6FJJ0whiQ5H/Yd7a9Sj8szdyff0=";
|
||||
};
|
||||
|
||||
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
|
||||
# If no explicit coreutils is given, use the one from stdenv.
|
||||
buildInputs = [ coreutils ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Disable stack-related gnulib tests on x86_64-darwin because they have problems running under
|
||||
# Rosetta 2: test-c-stack hangs, test-sigsegv-catch-stackoverflow and test-sigaction fail.
|
||||
# Disable all gnulib tests when building on Darwin due to test-nl_langinfo-mt failure
|
||||
@@ -78,6 +80,8 @@ stdenv.mkDerivation rec {
|
||||
# Test failure on QEMU only (#300550)
|
||||
doCheck = !stdenv.buildPlatform.isRiscV64;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/diffutils/diffutils.html";
|
||||
description = "Commands for showing the differences between files (diff, cmp, etc.)";
|
||||
@@ -88,4 +92,4 @@ stdenv.mkDerivation rec {
|
||||
helsinki-Jo
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -27,6 +27,9 @@ stdenv.mkDerivation {
|
||||
cp ${./root.ds} $out/root.ds
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.iana.org/domains/root/files";
|
||||
description = "DNS root data including root hints and DNSSEC root trust anchor + key";
|
||||
|
||||
@@ -5,15 +5,33 @@
|
||||
cmake,
|
||||
ninja,
|
||||
openssl,
|
||||
openjdk11,
|
||||
python3,
|
||||
unixodbc,
|
||||
withJdbc ? false,
|
||||
withOdbc ? false,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
# Keep this in sync with DuckDBPlatform() in DuckDB's platform.hpp.
|
||||
duckdbPlatform =
|
||||
let
|
||||
os =
|
||||
if stdenv.hostPlatform.isWindows then
|
||||
"windows"
|
||||
else if stdenv.hostPlatform.isDarwin then
|
||||
"osx"
|
||||
else if stdenv.hostPlatform.isFreeBSD then
|
||||
"freebsd"
|
||||
else
|
||||
"linux";
|
||||
arch =
|
||||
if stdenv.hostPlatform.isAarch64 then
|
||||
"arm64"
|
||||
else if stdenv.hostPlatform.is64bit then
|
||||
"amd64"
|
||||
else
|
||||
"i686";
|
||||
in
|
||||
"${os}_${arch}${lib.optionalString stdenv.hostPlatform.isMusl "_musl"}${lib.optionalString stdenv.hostPlatform.isMinGW "_mingw"}";
|
||||
versions = lib.importJSON ./versions.json;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -40,22 +58,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ninja
|
||||
python3
|
||||
];
|
||||
buildInputs = [
|
||||
openssl
|
||||
]
|
||||
++ lib.optionals withJdbc [ openjdk11 ]
|
||||
++ lib.optionals withOdbc [ unixodbc ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "DUCKDB_EXTENSION_CONFIGS" "${finalAttrs.src}/.github/config/in_tree_extensions.cmake")
|
||||
(lib.cmakeBool "BUILD_ODBC_DRIVER" withOdbc)
|
||||
(lib.cmakeBool "JDBC_DRIVER" withJdbc)
|
||||
(lib.cmakeFeature "OVERRIDE_GIT_DESCRIBE" "v${finalAttrs.version}-0-g${finalAttrs.rev}")
|
||||
# development settings
|
||||
(lib.cmakeBool "BUILD_UNITTESTS" finalAttrs.doInstallCheck)
|
||||
(lib.cmakeBool "BUILD_UNITTESTS" finalAttrs.finalPackage.doInstallCheck)
|
||||
]
|
||||
++ lib.optionals (!canExecute) [
|
||||
(lib.cmakeFeature "DUCKDB_EXPLICIT_PLATFORM" duckdbPlatform)
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
doInstallCheck = canExecute;
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/ed/";
|
||||
description = "GNU implementation of the standard Unix editor";
|
||||
|
||||
@@ -40,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ctestCheckHook
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "EIGEN_LEAVE_TEST_IN_ALL_TARGET" true) # Build tests in parallel
|
||||
];
|
||||
@@ -47,6 +49,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# too many flaky tests
|
||||
doCheck = false;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://eigen.tuxfamily.org";
|
||||
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
|
||||
|
||||
@@ -113,6 +113,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
propagatedNativeBuildInputs = [ setupDebugInfoDirs ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [ "strictflexarrays3" ];
|
||||
|
||||
configureFlags = [
|
||||
@@ -144,6 +146,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
rev-prefix = "elfutils-";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://sourceware.org/elfutils/";
|
||||
description = "Set of utilities to handle ELF objects";
|
||||
|
||||
@@ -23,13 +23,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "expat";
|
||||
version = "2.8.2";
|
||||
version = "2.8.3";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
with finalAttrs;
|
||||
"https://github.com/libexpat/libexpat/releases/download/${tagFor version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-OtibhYjmZEvU5JmBSA1IshKJ7rvNTwoaSvscKfmbarQ=";
|
||||
hash = "sha256-9iVt+QyQZ3PTRNoIRAK30+TyLtQbGlnJiQmKg9PqDIU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -72,6 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/libexpat/libexpat/blob/${tagFor finalAttrs.version}/expat/Changes";
|
||||
homepage = "https://libexpat.github.io/";
|
||||
|
||||
@@ -38,6 +38,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeCheckInputs = lib.optionals (glibcLocales != null) [ glibcLocales ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BENCHMARK_USE_BUNDLED_GTEST" false)
|
||||
(lib.cmakeBool "BENCHMARK_ENABLE_WERROR" false)
|
||||
@@ -73,6 +75,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit prometheus-cpp;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Microbenchmark support library";
|
||||
homepage = "https://github.com/google/benchmark";
|
||||
|
||||
@@ -17,6 +17,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [ "strictflexarrays3" ];
|
||||
|
||||
configureFlags = [ (lib.enableFeature true "libgdbm-compat") ];
|
||||
@@ -63,6 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/gdbm/";
|
||||
description = "GNU dbm key/value database library";
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "geoclue";
|
||||
version = "2.8.1";
|
||||
version = "2.8.2";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "geoclue";
|
||||
repo = "geoclue";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-CyZhUMAa2vMUi61sL+gGBZFxGo0lu7Cm68fTjcbblTg=";
|
||||
hash = "sha256-fjF0yd3+b+q3gTW2PpPNFE6zQafilj/g9rXWSgs/XGE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -16,6 +16,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# attempt to use C library functions without declaring them, which is raised as an error.
|
||||
env.NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
makeFlags = [
|
||||
"WITHOUT_GETTEXT=1"
|
||||
"LIBCGETOPT=0"
|
||||
@@ -23,6 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"CC:=$(CC)"
|
||||
];
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
platforms = lib.platforms.unix;
|
||||
homepage = "http://frodo.looijaard.name/project/getopt";
|
||||
|
||||
@@ -133,6 +133,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://lore.kernel.org/git/20260504101429.340123-1-joerg@thalheim.io/raw";
|
||||
hash = "sha256-44EPfEJ39LjPWjqjFb52EKNaJGzYxZzJaJOis8QnazU=";
|
||||
})
|
||||
# Fix fortify darwin crashes when dealing with unicode filenames.
|
||||
(fetchurl {
|
||||
name = "darwin-unicode-filename-fix.patch";
|
||||
url = "https://lore.kernel.org/git/20260704233724.16928-1-ihar.hrachyshka@gmail.com/raw";
|
||||
hash = "sha256-lpGz3nFKQvFDtW2TtQLx/684ECJVBLGPGqip0XEtOdU=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals withSsh [
|
||||
# Hard-code the ssh executable to ${pkgs.openssh}/bin/ssh instead of
|
||||
@@ -207,6 +213,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildPackages.stdenv.cc
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
env = {
|
||||
# required to support pthread_cancel()
|
||||
NIX_LDFLAGS =
|
||||
@@ -228,7 +236,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=( perllibdir=$out/$(perl -MConfig -wle 'print substr $Config{installsitelib}, 1 + length $Config{siteprefixexp}') )
|
||||
makeFlags+=( perllibdir=$out/$(perl -MConfig -wle 'print substr $Config{installsitelib}, 1 + length $Config{siteprefixexp}') )
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
@@ -274,7 +282,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''${enableParallelBuilding:+-j''${NIX_BUILD_CORES}}
|
||||
SHELL="$SHELL"
|
||||
)
|
||||
concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray
|
||||
concatTo flagsArray makeFlags buildFlags
|
||||
echoCmd 'build flags' "''${flagsArray[@]}"
|
||||
''
|
||||
+ lib.optionalString withManual ''
|
||||
@@ -335,7 +343,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''${enableParallelInstalling:+-j''${NIX_BUILD_CORES}}
|
||||
SHELL="$SHELL"
|
||||
)
|
||||
concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray
|
||||
concatTo flagsArray makeFlags installFlags
|
||||
echoCmd 'install flags' "''${flagsArray[@]}"
|
||||
|
||||
# Install git-subtree.
|
||||
@@ -478,7 +486,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
installCheckTarget = "test";
|
||||
|
||||
# see also installCheckFlagsArray
|
||||
# see also installCheckFlags in preInstallCheck
|
||||
installCheckFlags = [
|
||||
"DEFAULT_TEST_TARGET=prove"
|
||||
"PERL_PATH=${buildPackages.perl}/bin/perl"
|
||||
@@ -502,7 +510,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
NIX_BUILD_CORES=32
|
||||
fi
|
||||
|
||||
installCheckFlagsArray+=(
|
||||
installCheckFlags+=(
|
||||
GIT_PROVE_OPTS="--jobs $NIX_BUILD_CORES --failures --state=failed,save"
|
||||
GIT_TEST_INSTALLED=$out/bin
|
||||
${lib.optionalString (!svnSupport) "NO_SVN_TESTS=y"}
|
||||
|
||||
@@ -366,6 +366,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "C library of programming buildings blocks";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/glib";
|
||||
|
||||
@@ -67,6 +67,8 @@ stdenv.mkDerivation {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Attempt to guess a canonical system name";
|
||||
homepage = "https://savannah.gnu.org/projects/config";
|
||||
|
||||
@@ -15,16 +15,12 @@
|
||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
||||
# files.
|
||||
|
||||
let
|
||||
version = "3.12";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnugrep";
|
||||
inherit version;
|
||||
version = "3.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/grep/grep-${version}.tar.xz";
|
||||
url = "mirror://gnu/grep/grep-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-JkmyfA6Q5jLq3NdXvgbG6aT0jZQd5R58D4P/dkCKB7k=";
|
||||
};
|
||||
|
||||
@@ -39,13 +35,9 @@ stdenv.mkDerivation {
|
||||
# - on Musl: https://github.com/NixOS/nixpkgs/pull/228714
|
||||
# - on x86_64-darwin: https://github.com/NixOS/nixpkgs/pull/228714#issuecomment-1576826330
|
||||
# - when building on Darwin (cross-compilation): test-nl_langinfo-mt fails
|
||||
postPatch =
|
||||
if stdenv.hostPlatform.isMusl || stdenv.buildPlatform.isDarwin then
|
||||
''
|
||||
sed -i 's:gnulib-tests::g' Makefile.in
|
||||
''
|
||||
else
|
||||
null;
|
||||
postPatch = lib.optionalString (stdenv.hostPlatform.isMusl || stdenv.buildPlatform.isDarwin) ''
|
||||
substituteInPlace Makefile.in --replace-fail "gnulib-tests" ""
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [
|
||||
perl
|
||||
@@ -63,6 +55,8 @@ stdenv.mkDerivation {
|
||||
]
|
||||
++ lib.optional (!stdenv.hostPlatform.isWindows) runtimeShellPackage;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# cygwin: FAIL: multibyte-white-space
|
||||
# freebsd: FAIL mb-non-UTF8-performance
|
||||
# x86_64-darwin: fails 'stack-overflow' tests on Rosetta 2 emulator
|
||||
@@ -97,6 +91,8 @@ stdenv.mkDerivation {
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/grep/";
|
||||
description = "GNU implementation of the Unix grep command";
|
||||
@@ -116,7 +112,7 @@ stdenv.mkDerivation {
|
||||
teams = [ lib.teams.security-review ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "grep";
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnu" version // {
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnu" finalAttrs.version // {
|
||||
product = "grep";
|
||||
};
|
||||
};
|
||||
@@ -124,4 +120,4 @@ stdenv.mkDerivation {
|
||||
passthru = {
|
||||
inherit pcre2;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -47,6 +47,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isMinGW "CFLAGS=-fno-stack-protector";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU M4, a macro processor";
|
||||
longDescription = ''
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/make/make-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M=";
|
||||
hash = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M=";
|
||||
};
|
||||
|
||||
# To update patches:
|
||||
@@ -82,6 +82,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
gnumakeWithGuile = gnumake.override { guileSupport = true; };
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Tool to control the generation of non-source files from sources";
|
||||
longDescription = ''
|
||||
|
||||
@@ -33,6 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU Patch, a program to apply differences to files";
|
||||
mainProgram = "patch";
|
||||
|
||||
@@ -58,12 +58,12 @@ let
|
||||
util-linux = util-linuxMinimal;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnutls";
|
||||
version = "3.8.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
|
||||
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor finalAttrs.version}/gnutls-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-/+2Owb8JwkJtTxSq43feR1O1PlN9aF5gTpmosWypyX4=";
|
||||
};
|
||||
|
||||
@@ -173,6 +173,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [ nettle ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
inherit doCheck;
|
||||
# stdenv's `NIX_SSL_CERT_FILE=/no-cert-file.crt` breaks tests.
|
||||
# Also empty files won't work, and we want to avoid potentially impure /etc/
|
||||
@@ -215,6 +217,8 @@ stdenv.mkDerivation rec {
|
||||
static = pkgsStatic.gnutls;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU Transport Layer Security Library";
|
||||
|
||||
@@ -236,6 +240,6 @@ stdenv.mkDerivation rec {
|
||||
license = lib.licenses.lgpl21Plus;
|
||||
maintainers = with lib.maintainers; [ vcunat ];
|
||||
platforms = lib.platforms.all;
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnu" version;
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnu" finalAttrs.version;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -40,13 +40,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "graphviz";
|
||||
version = "15.1.0";
|
||||
version = "15.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "graphviz";
|
||||
repo = "graphviz";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-5v/ib8hwqHrJLs+jvDGvg0aJiKIt8ipXEd1EUzew7XU=";
|
||||
hash = "sha256-nDuLQfYu0fzJXS8/oH6Bv9gGuLK+FwwgbPQE+nVKelw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "googletest";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-HIHMxAUR4bjmFLoltJeIAVSulVQ6kVuIT2Ku+lwAx/4=";
|
||||
};
|
||||
|
||||
@@ -56,6 +56,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
re2
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
|
||||
]
|
||||
@@ -64,6 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]
|
||||
++ lib.optional withAbseil "-DGTEST_HAS_ABSL=ON";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Google's framework for writing C++ tests";
|
||||
homepage = "https://github.com/google/googletest";
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
dblatex,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "gtk-doc";
|
||||
version = "1.36.1";
|
||||
|
||||
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = "gtk-doc";
|
||||
tag = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-8hB43BCAtT1B7/ak2i0FAlYD3Kb4rNCWfsJ+wqGu3FA=";
|
||||
};
|
||||
|
||||
@@ -85,12 +85,14 @@ python3.pkgs.buildPythonApplication rec {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://gitlab.gnome.org/GNOME/gtk-doc/-/blob/${src.tag}/NEWS";
|
||||
changelog = "https://gitlab.gnome.org/GNOME/gtk-doc/-/blob/${finalAttrs.src.tag}/NEWS";
|
||||
description = "Tools to extract documentation embedded in GTK and GNOME source code";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gtk-doc";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ pSub ];
|
||||
teams = [ lib.teams.gnome ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -32,6 +32,20 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
validatePkgConfig
|
||||
];
|
||||
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isStatic [
|
||||
(lib.cmakeBool "HDR_HISTOGRAM_BUILD_SHARED" false)
|
||||
# Examples and tests depend on the shared library target; skip them in
|
||||
# static builds (tests still run for the regular pkgs.hdrhistogram_c build).
|
||||
(lib.cmakeBool "HDR_HISTOGRAM_BUILD_PROGRAMS" false)
|
||||
];
|
||||
|
||||
# The .pc file always references -lhdr_histogram, but in static builds only
|
||||
# libhdr_histogram_static.a is produced. Provide a symlink so pkg-config
|
||||
# consumers find the right archive.
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isStatic ''
|
||||
ln -s $out/lib/libhdr_histogram_static.a $out/lib/libhdr_histogram.a
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -56,6 +56,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
chmod +x $out/bin/help2man
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Generate man pages from `--help' output";
|
||||
mainProgram = "help2man";
|
||||
|
||||
@@ -16,24 +16,25 @@
|
||||
pkgsStatic,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "iproute2";
|
||||
version = "7.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/utils/net/iproute2/iproute2-${version}.tar.xz";
|
||||
url = "mirror://kernel/linux/utils/net/iproute2/iproute2-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-/Z+huVgJQXFXyoPdcpV+MmG9vOiWNTy5NvgK8LM6S1w=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "CC := gcc" "CC ?= $CC"
|
||||
--replace-fail "CC := gcc" "CC ?= $CC"
|
||||
'';
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
"scripts"
|
||||
"man"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
@@ -44,7 +45,6 @@ stdenv.mkDerivation rec {
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"SBINDIR=$(out)/sbin"
|
||||
"DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs
|
||||
"HDRDIR=$(dev)/include/iproute2"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isStatic [
|
||||
@@ -86,6 +86,8 @@ stdenv.mkDerivation rec {
|
||||
libbpf
|
||||
];
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
@@ -105,4 +107,4 @@ stdenv.mkDerivation rec {
|
||||
fpletz
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -59,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = lib.optionals onigurumaSupport [ oniguruma ];
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
assert xarSupport -> libxml2 != null;
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libarchive";
|
||||
version = "3.8.8";
|
||||
version = "3.8.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libarchive";
|
||||
repo = "libarchive";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-l8xh+z6lP7VnxMIf9tfoSByerjwN6Z4dE3JNA9zS3LM=";
|
||||
hash = "sha256-/CoInUlOiFvR83mEeV3Tx+2SQGywWDQ4nY+NstE/cP4=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -108,6 +108,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
acl
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [
|
||||
"strictflexarrays3"
|
||||
]
|
||||
@@ -140,6 +142,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://libarchive.org";
|
||||
description = "Multi-format archive and compression library";
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libblake3";
|
||||
version = "1.8.5";
|
||||
version = "1.8.6";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "BLAKE3-team";
|
||||
repo = "BLAKE3";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-4Oany3uk0759YIZgD1gsONSFU1Mn/GAMvsSeP33J9Ts=";
|
||||
hash = "sha256-dCRtXHTJnDSJQ2T5bux+ND4e+5uRIoUFn5gYXvMfZi8=";
|
||||
};
|
||||
|
||||
sourceRoot = finalAttrs.src.name + "/c";
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
libdrm,
|
||||
libevent,
|
||||
libyaml,
|
||||
libyuv,
|
||||
gst_all_1,
|
||||
gtest,
|
||||
graphviz,
|
||||
@@ -18,21 +19,26 @@
|
||||
python3Packages,
|
||||
udev,
|
||||
libpisp,
|
||||
libglvnd,
|
||||
withTracing ? lib.meta.availableOn stdenv.hostPlatform lttng-ust,
|
||||
lttng-ust, # withTracing
|
||||
withQcam ? false,
|
||||
qt6, # withQcam
|
||||
libtiff, # withQcam
|
||||
withSoftispGPU ? true, # software ISP GPU acceleration
|
||||
withQcam ? false, # cannot be enabled per default as it causes infinite recursion
|
||||
# withQcam
|
||||
qt6,
|
||||
libjpeg,
|
||||
libtiff,
|
||||
SDL2,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcamera";
|
||||
version = "0.7.0";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.libcamera.org/libcamera/libcamera.git";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-W9pRE8/0Cf2EEP5bbvy4FsDSeKKSklfJb6T48ZN4dzE=";
|
||||
hash = "sha256-vhFkeT1j2KKm+CVvGrtH5BEYJSEdaX7N7DRdA0a9EWk=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -80,6 +86,8 @@ stdenv.mkDerivation rec {
|
||||
# pycamera
|
||||
python3Packages.pybind11
|
||||
|
||||
libyuv
|
||||
|
||||
# yamlparser
|
||||
libyaml
|
||||
|
||||
@@ -87,10 +95,13 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isAarch [ libpisp ]
|
||||
++ lib.optionals withTracing [ lttng-ust ]
|
||||
++ lib.optionals withSoftispGPU [ libglvnd ]
|
||||
++ lib.optionals withQcam [
|
||||
libjpeg
|
||||
libtiff
|
||||
qt6.qtbase
|
||||
qt6.qttools
|
||||
SDL2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -109,22 +120,27 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optional withQcam qt6.wrapQtAppsHook;
|
||||
|
||||
mesonFlags = [
|
||||
"-Dv4l2=true"
|
||||
(lib.mesonEnable "v4l2" true)
|
||||
(lib.mesonEnable "tracing" withTracing)
|
||||
(lib.mesonEnable "qcam" withQcam)
|
||||
"-Dlibunwind=disabled"
|
||||
"-Dlc-compliance=disabled" # tries unconditionally to download gtest when enabled
|
||||
(lib.mesonEnable "apps-output-dng" withQcam)
|
||||
(lib.mesonEnable "cam-output-sdl2" withQcam)
|
||||
(lib.mesonEnable "cam-jpeg" withQcam)
|
||||
(lib.mesonEnable "softisp-gpu" withSoftispGPU)
|
||||
(lib.mesonEnable "libunwind" false)
|
||||
(lib.mesonEnable "libdw" false)
|
||||
(lib.mesonEnable "lc-compliance" false) # tries unconditionally to download gtest when enabled
|
||||
# Avoid blanket -Werror to evade build failures on less
|
||||
# tested compilers.
|
||||
"-Dwerror=false"
|
||||
(lib.mesonBool "werror" false)
|
||||
# Documentation breaks binary compatibility.
|
||||
# Given that upstream also provides public documentation,
|
||||
# we can disable it here.
|
||||
"-Ddocumentation=disabled"
|
||||
(lib.mesonEnable "documentation" false)
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isAarch [
|
||||
# we don't have tensorflow-lite to build this
|
||||
"-Drpi-awb-nn=disabled"
|
||||
(lib.mesonEnable "rpi-awb-nn" false)
|
||||
];
|
||||
|
||||
env = {
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
gst_all_1,
|
||||
libvorbis,
|
||||
libcap,
|
||||
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
|
||||
systemd,
|
||||
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdLibs,
|
||||
systemdLibs,
|
||||
withAlsa ? stdenv.hostPlatform.isLinux,
|
||||
alsa-lib,
|
||||
}:
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
])
|
||||
++ lib.optional (gtkSupport == "gtk3") gtk3-x11
|
||||
++ lib.optional stdenv.hostPlatform.isLinux libcap
|
||||
++ lib.optional withSystemd systemd
|
||||
++ lib.optional withSystemd systemdLibs
|
||||
++ lib.optional withAlsa alsa-lib;
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -33,6 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ncurses
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# GCC automatically include `stdc-predefs.h` while Clang does not do this by
|
||||
# default. While Musl is ISO 10646 compliant, it does not define
|
||||
# __STDC_ISO_10646__.
|
||||
@@ -50,6 +52,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
xargs sed -i -e 's,-lncurses[a-z]*,-L${ncurses.out}/lib -lncursesw,g'
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.thrysoee.dk/editline/";
|
||||
changelog = "https://www.thrysoee.dk/editline/#changelog";
|
||||
|
||||
@@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
configureFlags = lib.optional static "LDFLAGS=-static";
|
||||
|
||||
makeFlags =
|
||||
@@ -42,6 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"LDFLAGS+=-lws2_32"
|
||||
]);
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "High-performance event loop/event model with lots of features";
|
||||
homepage = "https://software.schmorp.de/pkg/libev.html";
|
||||
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Don't define BIO_get_init() for LibreSSL 3.5+
|
||||
(fetchpatch {
|
||||
url = "https://github.com/libevent/libevent/commit/883630f76cbf512003b81de25cd96cb75c6cf0f9.patch";
|
||||
sha256 = "sha256-VPJqJUAovw6V92jpqIXkIR1xYGbxIWxaHr8cePWI2SU=";
|
||||
hash = "sha256-VPJqJUAovw6V92jpqIXkIR1xYGbxIWxaHr8cePWI2SU=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -59,6 +59,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs =
|
||||
lib.optional sslSupport openssl ++ lib.optional stdenv.hostPlatform.isCygwin findutils;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = false; # needs the net
|
||||
|
||||
postInstall = lib.optionalString sslSupport ''
|
||||
@@ -70,6 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Event notification library";
|
||||
mainProgram = "event_rpcgen.py";
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libffi";
|
||||
version = "3.7.1";
|
||||
version = "3.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
with finalAttrs;
|
||||
"https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-1emmY43b0lE921RRjrZ+S75vpwe8wBwQ9iEvCgiNgZ0=";
|
||||
hash = "sha256-faPi2aFx6woDj1kuytP/K7JVDzSW2Hs7Ka0M9EMMDbQ=";
|
||||
};
|
||||
|
||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
||||
@@ -73,6 +73,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Foreign function call interface library";
|
||||
longDescription = ''
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
assert enableCapabilities -> stdenv.hostPlatform.isLinux;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libgcrypt";
|
||||
version = "1.12.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/libgcrypt/${pname}-${version}.tar.bz2";
|
||||
url = "mirror://gnupg/libgcrypt/libgcrypt-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-fOM8JJIiGgQ2+WqFACFenz49y1/SanV81BXnqEO6vV4=";
|
||||
};
|
||||
|
||||
@@ -123,13 +123,15 @@ stdenv.mkDerivation rec {
|
||||
inherit gnupg libotr rsyslog;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/libgcrypt/";
|
||||
changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=${pname}.git;a=blob;f=NEWS;hb=refs/tags/${pname}-${version}";
|
||||
changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=blob;f=NEWS;hb=refs/tags/libgcrypt-${finalAttrs.version}";
|
||||
description = "General-purpose cryptographic library";
|
||||
license = lib.licenses.lgpl2Plus;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = [ ];
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnupg" version;
|
||||
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "gnupg" finalAttrs.version;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
doCheck = true; # not cross;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Library for multiprecision complex arithmetic with exact rounding";
|
||||
|
||||
|
||||
@@ -1,21 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
testers,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
nix-update-script,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
python3,
|
||||
gobject-introspection,
|
||||
gtk-doc,
|
||||
docbook_xsl,
|
||||
docbook_xml_dtd_412,
|
||||
glib,
|
||||
gupnp-igd,
|
||||
gst_all_1,
|
||||
gnutls,
|
||||
enableDocumentation ? stdenv.buildPlatform == stdenv.hostPlatform,
|
||||
gtk-doc,
|
||||
docbook_xsl,
|
||||
docbook_xml_dtd_412,
|
||||
graphviz,
|
||||
python3,
|
||||
withIntrospection ?
|
||||
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
|
||||
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
|
||||
buildPackages,
|
||||
gobject-introspection,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -27,11 +34,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"out"
|
||||
"dev"
|
||||
]
|
||||
++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
|
||||
++ lib.optionals enableDocumentation [ "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://libnice.freedesktop.org/releases/libnice-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-YY/E6N45O3GbFkHB2O7AGCbU050VrekmedIhx/Xk5w0=";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "libnice";
|
||||
repo = "libnice";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-UPppE5kBois0jJwsHKefBC8iTfSIkPZXV6XnUBnEFn8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -51,18 +61,26 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./musl.patch
|
||||
];
|
||||
|
||||
# specifies <1.30, but also works with later versions
|
||||
postPatch = ''
|
||||
substituteInPlace docs/reference/libnice/meson.build \
|
||||
--replace-fail "version: '<1.30', " ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
]
|
||||
++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
|
||||
# documentation
|
||||
]
|
||||
++ lib.optionals enableDocumentation [
|
||||
gtk-doc
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_412
|
||||
graphviz
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -76,16 +94,28 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dgtk_doc=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}"
|
||||
"-Dintrospection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}"
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
];
|
||||
mesonFlags = lib.mapAttrsToList lib.mesonEnable {
|
||||
gtk_doc = enableDocumentation;
|
||||
introspection = withIntrospection;
|
||||
|
||||
# requires many dependencies and probably not useful for our users
|
||||
examples = false;
|
||||
tests = finalAttrs.finalPackage.doCheck;
|
||||
|
||||
gstreamer = true;
|
||||
|
||||
glib_debug = false;
|
||||
};
|
||||
|
||||
# Tests are flaky
|
||||
# see https://github.com/NixOS/nixpkgs/pull/53293#issuecomment-453739295
|
||||
doCheck = false;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://gitlab.freedesktop.org/libnice/libnice/-/blob/${finalAttrs.version}/NEWS";
|
||||
description = "GLib ICE implementation";
|
||||
@@ -97,10 +127,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
It provides a GLib-based library, libnice and a Glib-free library,
|
||||
libstun as well as GStreamer elements.'';
|
||||
homepage = "https://libnice.freedesktop.org/";
|
||||
pkgConfigModules = [ "nice" ];
|
||||
platforms = lib.platforms.unix;
|
||||
license = with lib.licenses; [
|
||||
lgpl21
|
||||
mpl11
|
||||
];
|
||||
maintainers = with lib.maintainers; [ tmarkus ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
pkg-config,
|
||||
rdma-core,
|
||||
withBluez ? false,
|
||||
withRdma ? false,
|
||||
withRdma ? lib.meta.availableOn stdenv.hostPlatform rdma-core,
|
||||
withRemote ? false,
|
||||
|
||||
# for passthru.tests
|
||||
|
||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/perfmon2/libpfm4/libpfm-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-0YuXdkx1VSjBBR03bjNUXQ62DG6/hWgENoE/pbBMw9E=";
|
||||
hash = "sha256-0YuXdkx1VSjBBR03bjNUXQ62DG6/hWgENoE/pbBMw9E=";
|
||||
};
|
||||
|
||||
# Don't install libpfm.so on windows as it doesn't exist
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# See: https://github.com/NixOS/nixpkgs/pull/252982#discussion_r1314346216
|
||||
postPatch = ''
|
||||
substituteInPlace config.mk examples/Makefile \
|
||||
--replace '($(SYS),WINDOWS)' '($(SYS),Windows)'
|
||||
--replace-fail '($(SYS),WINDOWS)' '($(SYS),Windows)'
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
@@ -33,11 +33,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"SYS=${stdenv.hostPlatform.uname.system}"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error";
|
||||
env.CONFIG_PFMLIB_SHARED = if enableShared then "y" else "n";
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error";
|
||||
CONFIG_PFMLIB_SHARED = if enableShared then "y" else "n";
|
||||
};
|
||||
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isMinGW windows.libgnurx;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Helper library to program the performance monitoring events";
|
||||
longDescription = ''
|
||||
|
||||
@@ -7,28 +7,19 @@
|
||||
ninja,
|
||||
boost,
|
||||
nlohmann_json,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libpisp";
|
||||
version = "1.2.1";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "raspberrypi";
|
||||
repo = "libpisp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-YshU7G5Rov67CVwFbf5ENp2j5ptAvkVrlMu85KmnEpk=";
|
||||
hash = "sha256-hzJA8hoOXf2Lswwz9t0StJ9JJP8ICWJlstzSsli4Yqs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix build with glibc 2.42 & -Werror
|
||||
(fetchpatch {
|
||||
url = "https://github.com/raspberrypi/libpisp/commit/f2bbf7e000d3f11cac235b8ea1291722080a016c.patch";
|
||||
hash = "sha256-vrdmVadyjlAnZtmBahOs/hlKPrkh/BF3LvrTPM9D15Q=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
meson
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libsodium";
|
||||
version = "1.0.22-unstable-2026-07-08";
|
||||
version = "1.0.22-unstable-2026-07-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jedisct1";
|
||||
repo = "libsodium";
|
||||
rev = "77a422c85a3b8b487de50c811b38d18394831ba6";
|
||||
hash = "sha256-Ahka2PnrmYvTLjZMzik5mFsxhDpMLRMKT/I5ftUb0Xc=";
|
||||
rev = "701aa826b97dc84a353d70a551d49dc26da539c5";
|
||||
hash = "sha256-vJK7nuvy22EWCdau9cn4HOvO8XDiVQXwf/zwhq9R9Jg=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -114,6 +114,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
propagatedBuildInputs = [ openssl ]; # see Libs: in libssh2.pc
|
||||
buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
passthru.tests = {
|
||||
inherit
|
||||
aria2
|
||||
@@ -124,6 +126,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
curl = (curl.override { scpSupport = true; }).tests.withCheck;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Client-side C library implementing the SSH2 protocol";
|
||||
homepage = "https://www.libssh2.org";
|
||||
|
||||
@@ -32,14 +32,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
perl
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = true;
|
||||
preCheck =
|
||||
if stdenv.hostPlatform.isDarwin then "export DYLD_LIBRARY_PATH=`pwd`/lib/.libs" else null;
|
||||
preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
export DYLD_LIBRARY_PATH=$(pwd)/lib/.libs
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit gnutls samba qemu;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/libtasn1/";
|
||||
description = "ASN.1 library";
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
darwin,
|
||||
libtool,
|
||||
pkg-config,
|
||||
pkgsStatic,
|
||||
|
||||
# for passthru.tests
|
||||
bind,
|
||||
@@ -19,6 +18,7 @@
|
||||
neovim,
|
||||
nodejs,
|
||||
ocamlPackages,
|
||||
pkgsStatic,
|
||||
python3,
|
||||
testers,
|
||||
}:
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "libuv";
|
||||
repo = "libuv";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Y9Nph2LkT1qnOYTW3WCumWWwORnI4P7HxzBjUlGaL7M=";
|
||||
};
|
||||
|
||||
@@ -151,8 +151,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
in
|
||||
lib.optionalString (finalAttrs.finalPackage.doCheck) ''
|
||||
sed '/${tdRegexp}/d' -i test/test-list.h
|
||||
# https://github.com/libuv/libuv/issues/4794
|
||||
substituteInPlace Makefile.am --replace-fail -lutil "-lutil -lm"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -162,6 +160,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# This is part of the Darwin bootstrap, so we don’t always get
|
||||
# `libutil.dylib` automatically propagated through the SDK.
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
@@ -209,6 +209,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Multi-platform support library with a focus on asynchronous I/O";
|
||||
homepage = "https://libuv.org/";
|
||||
|
||||
@@ -97,6 +97,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.gnome.org/GNOME/libxslt";
|
||||
description = "C library and tools to do XSL transformations";
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lmdb";
|
||||
version = "0.9.35";
|
||||
version = "0.9.36";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "git.openldap.org";
|
||||
owner = "openldap";
|
||||
repo = "openldap";
|
||||
rev = "LMDB_${version}";
|
||||
sha256 = "sha256-XkOeVqzKojRLojBLkXB0V9lypJnL5ZmGAwutn6aRQIU=";
|
||||
sha256 = "sha256-iOwjUqR2ChCEUDsIFEetVktCD7Mx3R5JgHE+qIhBd5I=";
|
||||
};
|
||||
|
||||
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.oberhumer.com/opensource/lzo/download/lzo-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "0wm04519pd3g8hqpjqhfr72q8qmbiwqaxcs3cndny9h86aa95y60";
|
||||
hash = "sha256-wPiSlDIIJm+bZUOzrjCPq2KExckOYnkxRG+0m0IhoHI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
|
||||
@@ -30,6 +30,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"doc"
|
||||
];
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Real-time data (de)compression library";
|
||||
longDescription = ''
|
||||
|
||||
@@ -48,6 +48,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Build and publish Rust crates Python packages";
|
||||
longDescription = ''
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mbedtls";
|
||||
inherit version;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mbed-TLS";
|
||||
|
||||
@@ -12,13 +12,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mimalloc";
|
||||
version = "3.3.2";
|
||||
version = "3.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "mimalloc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GZ37qQVDe9jgMb4Coe5oKvgaLTspZDlSkS5rdy1MfUU=";
|
||||
hash = "sha256-vNVZw2YsDkf0GcdFTNb/fXMQLQYvoc8P425LupPShpo=";
|
||||
};
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isStatic;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
gtk2,
|
||||
libdv,
|
||||
libjpeg,
|
||||
libpng,
|
||||
@@ -46,12 +45,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libpng
|
||||
]
|
||||
++ lib.optionals (!withMinimal) [
|
||||
gtk2
|
||||
libx11
|
||||
SDL
|
||||
SDL_gfx
|
||||
];
|
||||
|
||||
configureFlags = [ "--without-gtk" ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString (!withMinimal) "-I${lib.getDev SDL}/include/SDL";
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -22,6 +22,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
@@ -32,6 +34,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
echo -n $cxx >> $dev/nix-support/propagated-build-inputs
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Library for arbitrary precision decimal floating point arithmetic";
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
||||
# files.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "4.2.2";
|
||||
pname = "mpfr";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://www.mpfr.org/${pname}-${version}/${pname}-${version}.tar.xz"
|
||||
"mirror://gnu/mpfr/${pname}-${version}.tar.xz"
|
||||
"https://www.mpfr.org/mpfr-${finalAttrs.version}/mpfr-${finalAttrs.version}.tar.xz"
|
||||
"mirror://gnu/mpfr/mpfr-${finalAttrs.version}.tar.xz"
|
||||
];
|
||||
hash = "sha256-tnugOD736KhWNzTi6InvXsPDuJigHQD6CmhprYHGzgE=";
|
||||
};
|
||||
@@ -67,10 +67,12 @@ stdenv.mkDerivation rec {
|
||||
# Expect the text in format of '<title>GNU MPFR version 4.1.1</title>'
|
||||
new_version="$(curl -s https://www.mpfr.org/mpfr-current/ |
|
||||
pcre2grep -o1 '<title>GNU MPFR version ([0-9.]+)</title>')"
|
||||
update-source-version ${pname} "$new_version"
|
||||
update-source-version ${finalAttrs.pname} "$new_version"
|
||||
'';
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.mpfr.org/";
|
||||
description = "Library for multiple-precision floating-point arithmetic";
|
||||
@@ -92,4 +94,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "void-linux";
|
||||
repo = "musl-fts";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "Azw5qrz6OKDcpYydE6jXzVxSM5A8oYWAztrHr+O/DOE=";
|
||||
};
|
||||
|
||||
@@ -22,8 +22,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/void-linux/musl-fts";
|
||||
description = "Implementation of fts(3) for musl-libc";
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "void-linux";
|
||||
repo = "musl-obstack";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-oydS7FubUniMHAUWfg84OH9+CZ0JCrTXy7jzwOyJzC8=";
|
||||
};
|
||||
|
||||
@@ -26,8 +26,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/void-linux/musl-obstack";
|
||||
description = "Extraction of the obstack functions and macros from GNU libiberty for use with musl-libc";
|
||||
|
||||
@@ -42,13 +42,13 @@ assert enableHpack -> enableApp;
|
||||
assert enableHttp3 -> enableApp;
|
||||
assert enableJemalloc -> enableApp;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nghttp2";
|
||||
version = "1.69.0";
|
||||
version = "1.70.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
|
||||
hash = "sha256-PxhfWxw+d4heuc8/LE2ksan3OiS/WVe4KRg60Tf4Lcg=";
|
||||
url = "https://github.com/nghttp2/nghttp2/releases/download/v${finalAttrs.version}/nghttp2-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-j6yh94qpmsO8F2ina34PazbY5qYsE4GHUbHSBfAvlAU=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -77,6 +77,8 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ lib.optionals enablePython [ python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
@@ -116,6 +118,8 @@ stdenv.mkDerivation rec {
|
||||
inherit curl libsoup_3;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "HTTP/2 C library and tools";
|
||||
longDescription = ''
|
||||
@@ -129,10 +133,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
homepage = "https://nghttp2.org/";
|
||||
changelog = "https://github.com/nghttp2/nghttp2/releases/tag/v${version}";
|
||||
changelog = "https://github.com/nghttp2/nghttp2/releases/tag/v${finalAttrs.version}";
|
||||
# News articles with changes summary can be found here: https://nghttp2.org/blog/archives/
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -23,6 +23,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "ENABLE_SHARED_LIB" (!stdenv.hostPlatform.isStatic))
|
||||
(lib.cmakeBool "ENABLE_STATIC_LIB" stdenv.hostPlatform.isStatic)
|
||||
@@ -35,6 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit curl;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/ngtcp2/nghttp3";
|
||||
changelog = "https://github.com/ngtcp2/nghttp3/releases/tag/v${finalAttrs.version}";
|
||||
|
||||
@@ -52,6 +52,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libxslt.bin
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
patches = [
|
||||
./0001-spawn-sh-instead-of-bin-sh.patch
|
||||
]
|
||||
@@ -114,6 +116,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Small build system with a focus on speed";
|
||||
mainProgram = "ninja";
|
||||
|
||||
@@ -28,18 +28,6 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
# nixpkgs stb doesn't have stb_image_resize2.h which noctalia-greeter needs
|
||||
stb' = stb.overrideAttrs {
|
||||
version = "0-unstable-2025-10-26";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nothings";
|
||||
repo = "stb";
|
||||
rev = "f1c79c02822848a9bed4315b12c8c8f3761e1296";
|
||||
hash = "sha256-BlyXJtAI7WqXCTT3ylww8zoG0hBxaojJnQDvdQOXJPE=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "noctalia-greeter";
|
||||
version = "1.2.1";
|
||||
@@ -73,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libxkbcommon
|
||||
nlohmann_json
|
||||
pango
|
||||
stb'
|
||||
stb
|
||||
tomlplusplus
|
||||
wayland
|
||||
wayland-protocols
|
||||
|
||||
@@ -49,18 +49,6 @@
|
||||
gitMinimal,
|
||||
}:
|
||||
|
||||
let
|
||||
# nixpkgs stb doesn't have stb_image_resize2.h which noctalia needs
|
||||
stb' = stb.overrideAttrs {
|
||||
version = "0-unstable-2025-10-26";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nothings";
|
||||
repo = "stb";
|
||||
rev = "f1c79c02822848a9bed4315b12c8c8f3761e1296";
|
||||
hash = "sha256-BlyXJtAI7WqXCTT3ylww8zoG0hBxaojJnQDvdQOXJPE=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -111,7 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pipewire
|
||||
polkit
|
||||
sdbus-cpp_2
|
||||
stb'
|
||||
stb
|
||||
systemdLibs
|
||||
tomlplusplus
|
||||
wayland
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nspr";
|
||||
version = "4.39";
|
||||
version = "4.40";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/nspr/releases/v${finalAttrs.version}/src/nspr-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-u9Au6HpVZ2Bjpj5byBngIn3iZmtHMHsqATRBTN9CNo4=";
|
||||
hash = "sha256-wMGITGJ/Pbeng/fHMUxpUiayBDaWeR0VUZ5+BXjBm9w=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -53,6 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/mozilla/nspr/releases/tag/NSPR_${lib.concatStringsSep "_" (lib.splitVersion finalAttrs.version)}_RTM";
|
||||
homepage = "https://firefox-source-docs.mozilla.org/nspr/index.html";
|
||||
description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
|
||||
maintainers = with lib.maintainers; [
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
stdenv,
|
||||
fetchurl,
|
||||
updateAutotoolsGnuConfigScriptsHook,
|
||||
# Causes consistent segfaults on ELFv1 PPC64 when trying to use Perl regex in gnugrep
|
||||
# https://github.com/PCRE2Project/pcre2/issues/762
|
||||
withJitSealloc ? !(stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isAbiElfv1),
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -28,9 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"--enable-pcre2-32"
|
||||
# only enable jit on supported platforms which excludes Apple Silicon, see https://github.com/zherczeg/sljit/issues/51
|
||||
"--enable-jit=${if stdenv.hostPlatform.isS390x then "no" else "auto"}"
|
||||
]
|
||||
# fix pcre jit in systemd units that set MemoryDenyWriteExecute=true like gitea
|
||||
++ lib.optional withJitSealloc "--enable-jit-sealloc";
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"bin"
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
elogind,
|
||||
libinotify-kqueue,
|
||||
epoll-shim,
|
||||
systemd,
|
||||
enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, # enableSystemd=false maintained by maintainers.highghlow.
|
||||
systemdLibs,
|
||||
enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdLibs, # enableSystemd=false maintained by maintainers.highghlow.
|
||||
pkg-config,
|
||||
docutils,
|
||||
doxygen,
|
||||
@@ -157,7 +157,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]
|
||||
++ (
|
||||
if enableSystemd then
|
||||
[ systemd ]
|
||||
[ systemdLibs ]
|
||||
else if stdenv.hostPlatform.isLinux then
|
||||
[
|
||||
elogind
|
||||
|
||||
@@ -6,5 +6,4 @@ makeSetupHook {
|
||||
# the config hook must also be used.
|
||||
name = "pnpm-build-hook";
|
||||
|
||||
__structuredAttrs = true;
|
||||
} ./pnpm-build-hook.sh
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user