Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-11-25 18:07:07 +00:00
committed by GitHub
139 changed files with 3353 additions and 2830 deletions
+1
View File
@@ -332,6 +332,7 @@
- changed-files:
- any-glob-to-any-file:
- pkgs/os-specific/linux/musl/**/*
- pkgs/by-name/mu/musl/**/*
"6.topic: nim":
- any:
+2
View File
@@ -111,8 +111,10 @@ jobs:
if: github.event_name != 'pull_request' && always()
# Modify this list to add or remove jobs from required status checks.
needs:
- check
- lint
- eval
- build
runs-on: ubuntu-slim
permissions:
statuses: write
+6 -4
View File
@@ -9,7 +9,6 @@ let
min
id
warn
pipe
;
inherit (lib.attrsets) mapAttrs attrNames;
inherit (lib) max;
@@ -144,10 +143,13 @@ rec {
fold' 0;
/**
`fold` is an alias of `foldr` for historic reasons
`fold` is an alias of `foldr` for historic reasons.
::: {.warning}
This function will be removed in 26.05.
:::
*/
# FIXME(Profpatsch): deprecate?
fold = foldr;
fold = warn "fold has been deprecated, use foldr instead" foldr;
/**
left fold, like `foldr`, but from the left:
+6 -9
View File
@@ -1288,25 +1288,23 @@ runTests {
expected = [ 15 ];
};
testFold =
testFoldr =
let
f = op: fold: fold op 0 (range 0 100);
# fold with associative operator
f = op: foldr: foldr op 0 (range 0 100);
# foldr with associative operator
assoc = f builtins.add;
# fold with non-associative operator
# foldr with non-associative operator
nonAssoc = f builtins.sub;
in
{
expr = {
assocRight = assoc foldr;
# right fold with assoc operator is same as left fold
# foldr with assoc operator is same as foldl
assocRightIsLeft = assoc foldr == assoc foldl;
nonAssocRight = nonAssoc foldr;
nonAssocLeft = nonAssoc foldl;
# with non-assoc operator the fold results are not the same
# with non-assoc operator the foldr results are not the same
nonAssocRightIsNotLeft = nonAssoc foldl != nonAssoc foldr;
# fold is an alias for foldr
foldIsRight = nonAssoc fold == nonAssoc foldr;
};
expected = {
assocRight = 5050;
@@ -1314,7 +1312,6 @@ runTests {
nonAssocRight = 50;
nonAssocLeft = (-5050);
nonAssocRightIsNotLeft = true;
foldIsRight = true;
};
};
+6 -6
View File
@@ -7666,6 +7666,12 @@
githubId = 1365692;
name = "Will Fancher";
};
emaiax = {
email = "github@emaiax.dev";
github = "emaiax";
githubId = 1289661;
name = "Eduardo Maia";
};
emantor = {
email = "rouven+nixos@czerwinskis.de";
github = "Emantor";
@@ -16292,12 +16298,6 @@
githubId = 91502660;
name = "Matthew LeVan";
};
matthewbauer = {
email = "mjbauer95@gmail.com";
github = "matthewbauer";
githubId = 19036;
name = "Matthew Bauer";
};
matthewcroughan = {
email = "matt@croughan.sh";
github = "MatthewCroughan";
-1
View File
@@ -137,7 +137,6 @@ with lib.maintainers;
c = {
members = [
matthewbauer
mic92
];
scope = "Maintain C libraries and tooling.";
+1 -1
View File
@@ -30,7 +30,7 @@ let
moduleConfigFile = pkgs.writeText "module-config.yaml" (
lib.generators.toYAML { } (
lib.filterAttrs (_: v: v != null) (
lib.fold lib.recursiveUpdate { } [
lib.foldr lib.recursiveUpdate { } [
yamlConfig
cfg.settings
]
+88 -78
View File
@@ -638,91 +638,101 @@ in
}"
];
};
script = ''
set -euo pipefail
script =
let
nginxHasSSL =
with config.services.nginx.virtualHosts."${cfg.hostname}";
onlySSL || enableSSL || addSSL || forceSSL;
in
''
set -euo pipefail
# config setup
ln -sf ${configFile} ${cfg.dataDir}/config.php
${pkgs.envsubst}/bin/envsubst -i ${configJson} -o ${cfg.dataDir}/config.json
export PHPRC=${phpIni}
PATH=$PATH:${lib.makeBinPath (with pkgs; [ gnused ])}
INIT=false
if [[ ! -s ${cfg.dataDir}/.env ]]; then
INIT=true
# init .env file
echo "APP_KEY=" > ${cfg.dataDir}/.env
${artisanWrapper}/bin/librenms-artisan key:generate --ansi
${artisanWrapper}/bin/librenms-artisan webpush:vapid
echo "" >> ${cfg.dataDir}/.env
echo -n "NODE_ID=" >> ${cfg.dataDir}/.env
${package.phpPackage}/bin/php -r "echo uniqid();" >> ${cfg.dataDir}/.env
echo "" >> ${cfg.dataDir}/.env
else
# .env file already exists --> only update database and cache config
${pkgs.gnused}/bin/sed -i /^DB_/d ${cfg.dataDir}/.env
${pkgs.gnused}/bin/sed -i /^CACHE_DRIVER/d ${cfg.dataDir}/.env
fi
${lib.optionalString (cfg.useDistributedPollers || cfg.distributedPoller.enable) ''
echo "CACHE_DRIVER=memcached" >> ${cfg.dataDir}/.env
''}
echo "DB_DATABASE=${cfg.database.database}" >> ${cfg.dataDir}/.env
''
+ (
if !isNull cfg.database.socket then
''
# use socket connection
echo "DB_SOCKET=${cfg.database.socket}" >> ${cfg.dataDir}/.env
echo "DB_PASSWORD=null" >> ${cfg.dataDir}/.env
''
else
''
# use TCP connection
echo "DB_HOST=${cfg.database.host}" >> ${cfg.dataDir}/.env
echo "DB_PORT=${toString cfg.database.port}" >> ${cfg.dataDir}/.env
echo "DB_USERNAME=${cfg.database.username}" >> ${cfg.dataDir}/.env
echo -n "DB_PASSWORD=" >> ${cfg.dataDir}/.env
cat ${cfg.database.passwordFile} >> ${cfg.dataDir}/.env
''
)
+ ''
# clear cache if package has changed (cache may contain cached paths
# to the old package)
OLD_PACKAGE=$(cat ${cfg.dataDir}/package)
if [[ $OLD_PACKAGE != "${package}" ]]; then
rm -r ${cfg.dataDir}/cache/*
fi
# config setup
ln -sf ${configFile} ${cfg.dataDir}/config.php
${pkgs.envsubst}/bin/envsubst -i ${configJson} -o ${cfg.dataDir}/config.json
export PHPRC=${phpIni}
# convert rrd files when the oneMinutePolling option is changed
OLD_ENABLED=$(cat ${cfg.dataDir}/one_minute_enabled)
if [[ $OLD_ENABLED != "${lib.boolToString cfg.enableOneMinutePolling}" ]]; then
${package}/scripts/rrdstep.php -h all
echo "${lib.boolToString cfg.enableOneMinutePolling}" > ${cfg.dataDir}/one_minute_enabled
fi
INIT=false
if [[ ! -s ${cfg.dataDir}/.env ]]; then
INIT=true
# init .env file
echo "APP_KEY=" > ${cfg.dataDir}/.env
${artisanWrapper}/bin/librenms-artisan key:generate --ansi
${artisanWrapper}/bin/librenms-artisan webpush:vapid
echo "" >> ${cfg.dataDir}/.env
echo -n "NODE_ID=" >> ${cfg.dataDir}/.env
${package.phpPackage}/bin/php -r "echo uniqid();" >> ${cfg.dataDir}/.env
echo "" >> ${cfg.dataDir}/.env
else
# .env file already exists --> only update database and cache config
sed -i /^APP_URL=/d ${cfg.dataDir}/.env
sed -i /^DB_/d ${cfg.dataDir}/.env
sed -i /^CACHE_DRIVER=/d ${cfg.dataDir}/.env
fi
${lib.optionalString (cfg.useDistributedPollers || cfg.distributedPoller.enable) ''
echo "CACHE_DRIVER=memcached" >> ${cfg.dataDir}/.env
''}
echo "APP_URL=http${lib.optionalString nginxHasSSL "s"}://${cfg.hostname}/" >> ${cfg.dataDir}/.env
echo "DB_DATABASE=${cfg.database.database}" >> ${cfg.dataDir}/.env
''
+ (
if !isNull cfg.database.socket then
''
# use socket connection
echo "DB_SOCKET=${cfg.database.socket}" >> ${cfg.dataDir}/.env
echo "DB_PASSWORD=null" >> ${cfg.dataDir}/.env
''
else
''
# use TCP connection
echo "DB_HOST=${cfg.database.host}" >> ${cfg.dataDir}/.env
echo "DB_PORT=${toString cfg.database.port}" >> ${cfg.dataDir}/.env
echo "DB_USERNAME=${cfg.database.username}" >> ${cfg.dataDir}/.env
echo -n "DB_PASSWORD=" >> ${cfg.dataDir}/.env
cat ${cfg.database.passwordFile} >> ${cfg.dataDir}/.env
''
)
+ ''
# clear cache if package has changed (cache may contain cached paths
# to the old package)
OLD_PACKAGE=$(cat ${cfg.dataDir}/package)
if [[ $OLD_PACKAGE != "${package}" ]]; then
rm -r ${cfg.dataDir}/cache/*
fi
# migrate db if package version has changed
# not necessary for every package change
OLD_VERSION=$(cat ${cfg.dataDir}/version)
if [[ $OLD_VERSION != "${package.version}" ]]; then
${artisanWrapper}/bin/librenms-artisan migrate --force --no-interaction
echo "${package.version}" > ${cfg.dataDir}/version
fi
# convert rrd files when the oneMinutePolling option is changed
OLD_ENABLED=$(cat ${cfg.dataDir}/one_minute_enabled)
if [[ $OLD_ENABLED != "${lib.boolToString cfg.enableOneMinutePolling}" ]]; then
${package}/scripts/rrdstep.php -h all
echo "${lib.boolToString cfg.enableOneMinutePolling}" > ${cfg.dataDir}/one_minute_enabled
fi
if [[ $INIT == "true" ]]; then
${artisanWrapper}/bin/librenms-artisan db:seed --force --no-interaction
fi
# migrate db if package version has changed
# not necessary for every package change
OLD_VERSION=$(cat ${cfg.dataDir}/version)
if [[ $OLD_VERSION != "${package.version}" ]]; then
${artisanWrapper}/bin/librenms-artisan migrate --force --no-interaction
echo "${package.version}" > ${cfg.dataDir}/version
fi
# regenerate cache if package has changed
if [[ $OLD_PACKAGE != "${package}" ]]; then
${artisanWrapper}/bin/librenms-artisan view:clear
${artisanWrapper}/bin/librenms-artisan optimize:clear
${artisanWrapper}/bin/librenms-artisan view:cache
${artisanWrapper}/bin/librenms-artisan optimize
echo "${package}" > ${cfg.dataDir}/package
fi
if [[ $INIT == "true" ]]; then
${artisanWrapper}/bin/librenms-artisan db:seed --force --no-interaction
fi
# to make sure to not read an outdated .env file
${artisanWrapper}/bin/librenms-artisan config:cache
'';
# regenerate cache if package has changed
if [[ $OLD_PACKAGE != "${package}" ]]; then
${artisanWrapper}/bin/librenms-artisan view:clear
${artisanWrapper}/bin/librenms-artisan optimize:clear
${artisanWrapper}/bin/librenms-artisan view:cache
${artisanWrapper}/bin/librenms-artisan optimize
echo "${package}" > ${cfg.dataDir}/package
fi
# to make sure to not read an outdated .env file
${artisanWrapper}/bin/librenms-artisan config:cache
'';
};
programs.mtr.enable = true;
+1 -1
View File
@@ -541,6 +541,6 @@ in
};
meta.maintainers = with lib.maintainers; [ matthewbauer ];
meta.maintainers = [ ];
}
+1 -1
View File
@@ -120,6 +120,6 @@ in
systemd.defaultUnit = "graphical.target";
};
meta.maintainers = with lib.maintainers; [ matthewbauer ];
meta.maintainers = [ ];
}
+2 -2
View File
@@ -2,8 +2,8 @@
{
name = "cage";
meta = with pkgs.lib.maintainers; {
maintainers = [ matthewbauer ];
meta = {
maintainers = [ ];
};
nodes.machine =
+2 -4
View File
@@ -12,10 +12,8 @@ in
{
name = "printing";
meta = with lib.maintainers; {
maintainers = [
matthewbauer
];
meta = {
maintainers = [ ];
};
nodes.server =
@@ -86,7 +86,6 @@ let
adisbladis
jwiegley
lovek323
matthewbauer
panchoh
];
"macport" = with lib.maintainers; [
+1 -1
View File
@@ -6,7 +6,7 @@
}:
let
unionOfDisjoints = lib.fold lib.attrsets.unionOfDisjoint { };
unionOfDisjoints = lib.foldr lib.attrsets.unionOfDisjoint { };
addTests =
attrPath: drv:
+28 -8
View File
@@ -12,7 +12,7 @@ let
inherit (lib)
attrNames
fakeSha256
fakeHash
filter
findFirst
head
@@ -29,6 +29,7 @@ let
switch-if
versionOlder
versions
warn
;
inherit (lib.strings) match split;
@@ -40,6 +41,7 @@ let
repo,
rev,
name ? "source",
hash ? null,
sha256 ? null,
artifact ? null,
...
@@ -57,7 +59,7 @@ let
};
}
{
cond = args ? sha256;
cond = args ? hash || args ? sha256;
out = {
ext = "zip";
fmt = "zip";
@@ -96,7 +98,16 @@ let
out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";
}
] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}");
fetch = x: fetchfun (if args ? sha256 then (x // { inherit sha256; }) else x);
fetch =
x:
fetchfun (
if args ? hash then
(x // { inherit hash; })
else if args ? sha256 then
(x // { inherit sha256; })
else
x
);
in
fetch { inherit url; };
in
@@ -140,11 +151,20 @@ switch arg [
out =
let
v = if isVersion arg then arg else shortVersion arg;
given-sha256 = release.${v}.sha256 or "";
sha256 = if given-sha256 == "" then fakeSha256 else given-sha256;
rv = release.${v} // {
inherit sha256;
};
r = release.${v};
rv =
r
// (
if r ? "hash" then
if r ? "sha256" then
throw "only one of `hash` (preferred) or `sha256` can be set"
else
{ hash = if r.hash == "" then fakeHash else r.hash; }
else if r.sha256 or "" != "" then
{ inherit (r) sha256; }
else
warn "Release `hash` not explicitly set, defaulting to `lib.fakeHash`" { hash = fakeHash; }
);
in
{
version = rv.version or v;
@@ -38,6 +38,7 @@ let
# Unfortunately, dotnet has no method for doing this automatically.
# If unset, all executables in the projects root will get installed. This may cause bloat!
executables ? null,
dontPublish ? false,
# Packs a project as a `nupkg`, and installs it to `$out/share`. If set to `true`, the derivation can be used as a dependency for another dotnet project by adding it to `projectReferences`.
packNupkg ? false,
# The packages project file, which contains instructions on how to compile it. This can be an array of multiple project files as well.
@@ -420,13 +420,15 @@ dotnetInstallPhase() {
done
}
if (( ${#projectFiles[@]} == 0 )); then
dotnetPublish
else
local projectFile
for projectFile in "${projectFiles[@]}"; do
dotnetPublish "$projectFile"
done
if [[ -z "${dontPublish-}" ]]; then
if (( ${#projectFiles[@]} == 0 )); then
dotnetPublish
else
local projectFile
for projectFile in "${projectFiles[@]}"; do
dotnetPublish "$projectFile"
done
fi
fi
if [[ -n ${packNupkg-} ]]; then
@@ -100,6 +100,11 @@ if [ -z "$final_path" ]; then
cd "$tmp_clone"
pijul clone $clone_args "$remote" "$name"
# State is a stable reference is a stable reference for the patchset that
# doesn't depend on patch order. As a result, it will always be included.
if [ -z "$state" ]; then
state="$(pijul log --repository "$tmp_clone/$name" --state --limit 1 | awk '/^State:/ {printf $2}')"
fi
rm -rf "$tmp_clone/$name/.pijul"
hash="$(nix-hash --type "$hash_algo" "$hash_format" "$tmp_clone/$name")"
@@ -125,10 +130,8 @@ EOF
if [ -n "$change" ]; then cat <<EOF
"change": $(json_escape "$change"),
EOF
elif [ -n "$state" ]; then cat <<EOF
"state": $(json_escape "$state"),
EOF
fi; cat <<EOF
"state": $(json_escape "$state"),
"path": "$final_path",
$(json_escape "$hash_algo"): $(json_escape "$hash"),
"hash": "$(nix-hash --to-sri --type "$hash_algo" "$hash")"
+1 -1
View File
@@ -96,6 +96,6 @@ stdenv.mkDerivation rec {
homepage = "https://people.freedesktop.org/~hughsient/appstream-glib/";
license = licenses.lgpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
};
}
+13 -9
View File
@@ -5,10 +5,10 @@
fetchFromGitHub,
nixosTests,
caddy,
testers,
installShellFiles,
stdenv,
writableTmpDirAsHomeHook,
versionCheckHook,
}:
let
version = "2.10.2";
@@ -19,14 +19,14 @@ let
hash = "sha256-D1qI7TDJpSvtgpo1FsPZk6mpqRvRharFZ8soI7Mn3RE=";
};
in
buildGo125Module {
buildGo125Module (finalAttrs: {
pname = "caddy";
inherit version;
src = fetchFromGitHub {
owner = "caddyserver";
repo = "caddy";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-KvikafRYPFZ0xCXqDdji1rxlkThEDEOHycK8GP5e8vk=";
};
@@ -35,7 +35,7 @@ buildGo125Module {
ldflags = [
"-s"
"-w"
"-X github.com/caddyserver/caddy/v2.CustomVersion=${version}"
"-X github.com/caddyserver/caddy/v2.CustomVersion=${finalAttrs.version}"
];
# matches upstream since v2.8.0
@@ -75,18 +75,22 @@ buildGo125Module {
passthru = {
tests = {
inherit (nixosTests) caddy;
version = testers.testVersion {
command = "${caddy}/bin/caddy version";
package = caddy;
};
acme-integration = nixosTests.acme.caddy;
};
withPlugins = callPackage ./plugins.nix { inherit caddy; };
};
nativeInstallCheckInputs = [
writableTmpDirAsHomeHook
versionCheckHook
];
versionCheckKeepEnvironment = [ "HOME" ];
doInstallCheck = true;
meta = {
homepage = "https://caddyserver.com";
description = "Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS";
changelog = "https://github.com/caddyserver/caddy/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
mainProgram = "caddy";
maintainers = with lib.maintainers; [
@@ -96,4 +100,4 @@ buildGo125Module {
ryan4yin
];
};
}
})
+1 -1
View File
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
# The licensing situation depends on readline (see section 3 of the LGPL)
# If linked against readline then GPLv2 otherwise LGPLv2.1
license = if enableReadline then lib.licenses.gpl2Only else lib.licenses.lgpl21Only;
maintainers = with lib.maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = lib.platforms.all;
};
})
+1 -1
View File
@@ -180,7 +180,7 @@ stdenv.mkDerivation rec {
homepage = "https://openprinting.github.io/cups/";
description = "Standards-based printing system for UNIX";
license = licenses.asl20;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = platforms.unix;
};
}
+1 -1
View File
@@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
understand some basic concepts about the MS-DOS environment.
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = platforms.unix;
mainProgram = "dosbox";
};
-1
View File
@@ -31,7 +31,6 @@ stdenv.mkDerivation {
user can change which application acts as the default handler for a given UTI.
'';
maintainers = with maintainers; [
matthewbauer
n-hass
];
platforms = platforms.darwin;
+1 -1
View File
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Cross-platform version of flock(1)";
homepage = "https://github.com/discoteq/flock";
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
mainProgram = "flock";
platforms = platforms.all;
license = licenses.isc;
@@ -1,21 +1,21 @@
{
"version": "12.6.0",
"version": "12.7.0",
"sources": {
"aarch64-linux": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.6.0/floorp-linux-aarch64.tar.xz",
"sha256": "8a03212a54f1eb2cd6d7634fecf4d01c8de978706ac80f176153a2fdf3a01f68"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.7.0/floorp-linux-aarch64.tar.xz",
"sha256": "d66d9d978902e22dc0c312e1f267e0f2537c8b0427857acb75532ef07b095c9d"
},
"x86_64-linux": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.6.0/floorp-linux-x86_64.tar.xz",
"sha256": "e14129dae8cfc5eeb4f1b0c25bd3db480dacc5d3fc89f6308400661f12ee91d0"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.7.0/floorp-linux-x86_64.tar.xz",
"sha256": "8e97cbac7090cc3734eb63ce23e69495a0080dc881c6123b1b3b18bc7b6def62"
},
"aarch64-darwin": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.6.0/floorp-macOS-universal.dmg",
"sha256": "343788c76781f864a5e7bdad02f65bf79caf24918ade056215086addaae98135"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.7.0/floorp-macOS-universal.dmg",
"sha256": "fce34267d614417ff2d672214dbc8e3c9577fa9898eecbac5fb3c98bc72bda70"
},
"x86_64-darwin": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.6.0/floorp-macOS-universal.dmg",
"sha256": "343788c76781f864a5e7bdad02f65bf79caf24918ade056215086addaae98135"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.7.0/floorp-macOS-universal.dmg",
"sha256": "fce34267d614417ff2d672214dbc8e3c9577fa9898eecbac5fb3c98bc72bda70"
}
}
}
+1 -1
View File
@@ -35,7 +35,7 @@ buildGoModule rec {
description = "Compute various size metrics for a Git repository";
homepage = "https://github.com/github/git-sizer";
license = licenses.mit;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
mainProgram = "git-sizer";
};
}
-1
View File
@@ -94,7 +94,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
stesie
matthewbauer
marcin-serwin
emilylange
];
-1
View File
@@ -44,7 +44,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
-1
View File
@@ -104,7 +104,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
-1
View File
@@ -33,7 +33,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
@@ -32,7 +32,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = platforms.unix;
};
-1
View File
@@ -45,7 +45,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.unix;
};
@@ -27,7 +27,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
-1
View File
@@ -27,7 +27,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
+1 -1
View File
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Helper script that creates application bundles form GTK executables for macOS";
maintainers = [ maintainers.matthewbauer ];
maintainers = [ ];
platforms = platforms.darwin;
homepage = "https://gitlab.gnome.org/GNOME/gtk-mac-bundler";
license = licenses.gpl2;
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
description = "Provides integration for GTK applications into the Mac desktop";
license = licenses.lgpl21;
homepage = "https://gitlab.gnome.org/GNOME/gtk-mac-integration";
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = platforms.darwin;
};
}
-1
View File
@@ -36,7 +36,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
+33
View File
@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hexagonrpc";
version = "0.4.0";
src = fetchFromGitHub {
owner = "linux-msm";
repo = "hexagonrpc";
tag = "v${finalAttrs.version}";
hash = "sha256-OC6wXBCIW4XznWG0zzxRK3BzWMVK2Jq/gTL36sJV1PE=";
};
nativeBuildInputs = [
meson
ninja
];
meta = {
description = "Daemon to communicate with Qualcomm DSPs";
homepage = "https://github.com/linux-msm/hexagonrpc";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ matthewcroughan ];
mainProgram = "hexagonrpc";
platforms = lib.platforms.all;
};
})
+1 -1
View File
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "HTTP message parser written in C";
homepage = "https://github.com/nodejs/http-parser";
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
license = licenses.mit;
platforms = platforms.all;
};
+3 -3
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "hurl";
version = "7.0.0";
version = "7.1.0";
src = fetchFromGitHub {
owner = "Orange-OpenSource";
repo = "hurl";
tag = finalAttrs.version;
hash = "sha256-dmPXI2RHEi/wcdVVwBRtBgNXyBXFnm44236pqYjxgBs=";
hash = "sha256-ZKTlS+J+43cqB0O5BAqvGwB9ZXfiOunOVB4hH6t2NxI=";
};
cargoHash = "sha256-1bZaSdMJe39cDEOoqW82zS5NvOlZDGe1ia56BjXddyc=";
cargoHash = "sha256-ZfkOh/sZb0OrA/f5v1mwZ23XuArTAoAcs3evmtAElf4=";
nativeBuildInputs = [
pkg-config
+13 -1
View File
@@ -2,7 +2,7 @@
lib,
stdenv,
fetchFromGitLab,
fetchpatch2,
fetchpatch,
glib,
cmake,
libxml2,
@@ -13,6 +13,8 @@
systemd,
polkit,
udevCheckHook,
libssc,
libqmi,
}:
stdenv.mkDerivation rec {
@@ -33,10 +35,19 @@ stdenv.mkDerivation rec {
--replace 'polkit_policy_directory' "'$out/share/polkit-1/actions'"
'';
patches = [
# https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/381
(fetchpatch {
url = "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/af17d8f3a7572ed2be40d5a28c6ce08c74bd36c7/temp/iio-sensor-proxy/0001-iio-sensor-proxy-depend-on-libssc.patch";
hash = "sha256-faOpfR6qit68R2b+sk9/k4XeA6Ao5UuerrfFzMaD3MM=";
})
];
buildInputs = [
libgudev
systemd
polkit
libssc
];
nativeBuildInputs = [
@@ -52,6 +63,7 @@ stdenv.mkDerivation rec {
mesonFlags = [
(lib.mesonOption "udevrulesdir" "${placeholder "out"}/lib/udev/rules.d")
(lib.mesonOption "systemdsystemunitdir" "${placeholder "out"}/lib/systemd/system")
(lib.mesonBool "ssc-support" true)
];
doInstallCheck = true;
+1 -1
View File
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.gnu.org/software/inetutils/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = platforms.unix;
/**
+5 -2
View File
@@ -15,13 +15,13 @@
stdenvNoCC.mkDerivation rec {
pname = "iterm2";
version = "3.5.14";
version = "3.6.6";
src = fetchzip {
url = "https://iterm2.com/downloads/stable/iTerm2-${
lib.replaceStrings [ "." ] [ "_" ] version
}.zip";
hash = "sha256-cF7gg4kT0z/7Qu7d6AyXpnvrSQ937JbFUgpXw5F4AWE=";
hash = "sha256-n3VoRxMOBQK/8mbVbORSBz73tsuKAUMG7dFZIbaqdHU=";
};
dontFixup = true;
@@ -40,6 +40,8 @@ stdenvNoCC.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Replacement for Terminal and the successor to iTerm";
homepage = "https://www.iterm2.com/";
@@ -48,6 +50,7 @@ stdenvNoCC.mkDerivation rec {
maintainers = with maintainers; [
steinybot
tricktron
emaiax
];
platforms = [
"x86_64-darwin"
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl coreutils common-updater-scripts
set -eu -o pipefail
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; iterm2.version or (lib.getVersion iterm2)" | tr -d '"')
downloadUrl=$(
curl -sL "https://iterm2.com/downloads.html" |
grep -o -E 'href="[^"]*iTerm2[^"]*\.zip"' |
sed 's/href="//;s/"//' |
head -1
)
if [[ -z "$downloadUrl" ]]; then
echo >&2 "Failed to extract download url from iTerm2 downloads page"
exit 1
fi
version=$(echo "$downloadUrl" | sed -E '
s/.*iTerm2-?// # Remove iTerm2 link prefix from download url
s/[vV]// # Remove version "v" prefix
s/\.zip$// # Remove .zip extension
s/_/./g # Convert underscores to dots
')
# iterm2 is already up to date
if [[ "$version" == "$currentVersion" ]]; then
exit 0
fi
# Update package version
#
source=$(nix-prefetch-url "$downloadUrl" --unpack --name "iterm2-$version")
hash=$(nix-hash --to-sri --type sha256 "$source")
update-source-version iterm2 $version $hash --ignore-same-version --ignore-same-hash
+2254 -1322
View File
File diff suppressed because it is too large Load Diff
+98 -36
View File
@@ -1,35 +1,43 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
wrapGAppsHook3,
makeDesktopItem,
copyDesktopItems,
makeShellWrapper,
unzip,
zip,
xdg-utils,
gtk3,
jdk21,
jdk25,
openjfx25,
gradle_8,
gradle_9,
python3,
postgresql,
jbang,
}:
let
jdk = jdk21.override {
enableJavaFX = true;
openjfx_jdk = openjfx25;
jdk = jdk25;
openjfx = openjfx25;
gradle = gradle_9;
ltwaUrl = "https://www.issn.org/wp-content/uploads/2021/07/ltwa_20210702.csv";
ltwa = fetchurl {
url = ltwaUrl;
hash = "sha256-jnS8Y9x8eg2L3L3RPnS6INTs19mEtwzfNIjJUw6HtIY=";
};
# "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0."
gradle = gradle_8;
in
stdenv.mkDerivation rec {
version = "5.13";
version = "6.0-alpha.3";
pname = "jabref";
src = fetchFromGitHub {
owner = "JabRef";
repo = "jabref";
rev = "v${version}";
hash = "sha256-inE2FXAaEEiq7343KwtjEiTEHLtn01AzP0foTpsLoAw=";
tag = "v${version}";
hash = "sha256-ZX4LQe8xKZCDJqVh+L9BHkJK82Pz/qPhlaE8SrAin6o=";
fetchSubmodules = true;
};
@@ -38,7 +46,7 @@ stdenv.mkDerivation rec {
comment = meta.description;
name = "JabRef";
desktopName = "JabRef";
genericName = "Bibliography manager";
genericName = "BibTex Editor";
categories = [ "Office" ];
icon = "jabref";
exec = "JabRef %U";
@@ -53,22 +61,42 @@ stdenv.mkDerivation rec {
};
postPatch = ''
sed -i -e '/vendor/d' -e '/JavaLanguageVersion/s/24/25/' build-logic/src/main/kotlin/org.jabref.gradle.feature.compile.gradle.kts
sed -i -e '/javafx-base/s/24.0.1/25/' build-support/src/main/java/*.java
substituteInPlace build-support/src/main/java/*.java \
--replace-fail 'JAVA 24' 'JAVA 25'
sed -i -e '1a //REPOS file://${mitmCache}/https/repo.maven.apache.org/maven2,file://${mitmCache}/https/plugins.gradle.org/m2' build-support/src/main/java/*.java
pushd jablib
# Disable update check
substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \
--replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \
substituteInPlace src/main/java/org/jabref/logic/preferences/JabRefCliPreferences.java \
--replace-fail 'VERSION_CHECK_ENABLED, Boolean.TRUE' \
'VERSION_CHECK_ENABLED, Boolean.FALSE'
# Find OpenOffice/LibreOffice binary
substituteInPlace src/main/java/org/jabref/logic/openoffice/OpenOfficePreferences.java \
--replace '/usr' '/run/current-system/sw'
--replace-fail '/usr' '/run/current-system/sw'
sed -i -e '/setOutputRedirector/d' src/main/java/org/jabref/logic/search/PostgreServer.java
substituteInPlace build.gradle.kts \
--replace-fail '${ltwaUrl}' 'file://${ltwa}'
popd
'';
nativeBuildInputs = [
jdk
gradle
(jbang.override { inherit jdk; })
wrapGAppsHook3
copyDesktopItems
unzip
zip
makeShellWrapper
];
buildInputs = [
@@ -92,62 +120,96 @@ stdenv.mkDerivation rec {
install -dm755 $out/share/java/jabref
install -Dm644 LICENSE $out/share/licenses/jabref/LICENSE
install -Dm644 src/main/resources/icons/jabref.svg $out/share/pixmaps/jabref.svg
install -Dm644 jabgui/src/main/resources/icons/jabref.svg $out/share/pixmaps/jabref.svg
# script to support browser extensions
install -Dm755 buildres/linux/jabrefHost.py $out/lib/jabrefHost.py
install -Dm755 jabgui/buildres/linux/jabrefHost.py $out/lib/jabrefHost.py
patchShebangs $out/lib/jabrefHost.py
install -Dm644 buildres/linux/native-messaging-host/firefox/org.jabref.jabref.json $out/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
install -Dm644 jabgui/buildres/linux/native-messaging-host/firefox/org.jabref.jabref.json $out/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
sed -i -e "s|/opt/jabref|$out|" $out/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
# Resources in the jar can't be found, workaround copied from AUR
cp -r build/resources $out/share/java/jabref
cp -r */build/resources $out/share/java/jabref
tar xf build/distributions/JabRef-${version}.tar -C $out --strip-components=1
DEFAULT_JVM_OPTS=$(sed -n -E "s/^DEFAULT_JVM_OPTS='(.*)'$/\1/p" $out/bin/JabRef | sed -e "s|\$APP_HOME|$out|g" -e 's/"//g')
for tarball in */build/distributions/*.tar; do
tar xf $tarball -C $out --strip-components=1
done
# Temp fix: openjfx doesn't build with webkit
unzip $out/lib/javafx-web-*-*.jar libjfxwebkit.so -d $out/lib/
# Use postgresql from nixpkgs since the bundled binary doesn't work on NixOS
ARCH1=${if stdenv.isAarch64 then "arm64v8" else "amd64"}
ARCH2=${if stdenv.isAarch64 then "arm_64" else "x86_64"}
mkdir postgresql
cd postgresql
ln -s ${postgresql}/{lib,share} ./
mkdir -p bin
ln -s ${postgresql}/bin/{postgres,initdb} ./bin
# Wrap pg_ctl to workaround https://github.com/NixOS/nixpkgs/issues/83770
# Use custom wrap to workaround https://github.com/NixOS/nixpkgs/issues/330471
makeShellWrapper ${postgresql}/bin/pg_ctl ./bin/pg_ctl \
--add-flags '-o "-k /tmp"'
chmod +x ./bin/pg_ctl
jar=$(ls $out/lib/embedded-postgres-binaries-linux-$ARCH1-*.jar)
tar -cJf postgres-linux-$ARCH2.txz *
zip $jar postgres-linux-$ARCH2.txz
cd ..
runHook postInstall
'';
postFixup = ''
rm $out/bin/*
for bin in jabgui jabkit jabsrv-cli; do
DEFAULT_JVM_OPTS=$(sed -n -E "s/^DEFAULT_JVM_OPTS='(.*)'$/\1/p" $out/bin/$bin | sed -e 's/"//g')
MODULE_PATH=$(sed -n -E 's/^MODULE_PATH=(.*)$/\1/p' $out/bin/$bin | sed -e "s|\$APP_HOME|$out|g")
MODULE=$(sed -n -E 's/\s*--module (.*) \\/\1/p' $out/bin/$bin)
rm $out/bin/$bin*
# put this in postFixup because some gappsWrapperArgs are generated in gappsWrapperArgsHook in preFixup
makeWrapper ${jdk}/bin/java $out/bin/JabRef \
"''${gappsWrapperArgs[@]}" \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--add-flags "-Djava.library.path=$out/lib/ --patch-module org.jabref=$out/share/java/jabref/resources/main" \
--add-flags "$DEFAULT_JVM_OPTS"
# put this in postFixup because some gappsWrapperArgs are generated in gappsWrapperArgsHook in preFixup
makeWrapper ${jdk}/bin/java $out/bin/$bin \
"''${gappsWrapperArgs[@]}" \
--suffix PATH : ${
lib.makeBinPath [
xdg-utils
postgresql
]
} \
--add-flags "$DEFAULT_JVM_OPTS \
-Djava.library.path=$out/lib/:${openjfx}/modules_libs/javafx.graphics:${openjfx}/modules_libs/javafx.media \
--module-path $MODULE_PATH \
--module $MODULE"
done
# lowercase alias (for convenience and required for browser extensions)
ln -sf $out/bin/JabRef $out/bin/jabref
ln -sf $out/bin/jabgui $out/bin/jabref
ln -sf $out/bin/jabgui $out/bin/JabRef
'';
gradleUpdateScript = ''
runHook preBuild
# Add jbang deps to gradle
sed -n 's|//DEPS \(.*\)| implementation("\1")|p' build-support/src/main/java/*.java | sort -u | sed -i '/dependencies {/r /dev/stdin' build-logic/build.gradle.kts
gradle nixDownloadDeps -Dos.arch=amd64
gradle nixDownloadDeps -Dos.arch=aarch64
gradle assemble -Dos.arch=amd64
gradle assemble -Dos.arch=aarch64
'';
meta = with lib; {
meta = {
description = "Open source bibliography reference manager";
homepage = "https://www.jabref.org";
sourceProvenance = with sourceTypes; [
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
binaryNativeCode # source bundles dependencies as jars
];
license = licenses.mit;
license = lib.licenses.mit;
platforms = [
"x86_64-linux"
"aarch64-linux"
];
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
linsui
];
};
-1
View File
@@ -139,7 +139,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/openwall/john/";
maintainers = with lib.maintainers; [
offline
matthewbauer
cherrykitten
];
platforms = lib.platforms.unix;
+1 -1
View File
@@ -27,6 +27,6 @@ buildGoModule rec {
mainProgram = "json2hcl";
homepage = "https://github.com/kvz/json2hcl";
license = licenses.mit;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
};
}
+11
View File
@@ -61,6 +61,17 @@ stdenv'.mkDerivation rec {
makeWrapper
];
# Included from release 1.16.2:
# https://github.com/lightvector/KataGo/commit/9030f72d152da42c1dd03590aa5116993ea842f6
# Doesn't apply cleanly as a patch so doing a quick replacement to the same effect.
prePatch = lib.optionalString (backend == "tensorrt") ''
nixLog "patching $PWD/cpp/CMakeLists.txt to work around outdated TensorRT version detection"
substituteInPlace "$PWD/cpp/CMakeLists.txt" \
--replace-fail \
'if(TENSORRT_VERSION VERSION_LESS 8.5)' \
'if(NOT TENSORRT_VERSION STREQUAL ".." AND TENSORRT_VERSION VERSION_LESS 8.5)'
'';
buildInputs = [
libzip
boost
+1 -1
View File
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable";
NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable -Wno-error=tautological-overlap-compare";
};
hardeningDisable = [ "fortify" ];
+1 -1
View File
@@ -59,6 +59,6 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
# See architectures defined in src/local-elf.h.
badPlatforms = lib.platforms.microblaze;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
};
}
+50
View File
@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitea,
meson,
ninja,
glib,
pkg-config,
libqmi,
protobufc,
protobuf,
}:
stdenv.mkDerivation rec {
pname = "libssc";
version = "0.2.2";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "DylanVanAssche";
repo = "libssc";
tag = "v${version}";
hash = "sha256-vc3phLAURKXAVD/o4uiGkBtJ3wsbLEfkwygMltEhqug=";
};
buildInputs = [
glib
protobufc
];
propagatedBuildInputs = [
libqmi
];
nativeBuildInputs = [
protobuf
pkg-config
meson
ninja
];
meta = {
description = "Library for exposing Qualcomm Sensor Core sensors to Linux";
homepage = "https://codeberg.org/DylanVanAssche/libssc";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ matthewcroughan ];
mainProgram = "libssc";
platforms = lib.platforms.all;
};
}
-1
View File
@@ -163,7 +163,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.ncsa;
mainProgram = "tapi";
maintainers = with lib.maintainers; [
matthewbauer
reckenrode
];
platforms = lib.platforms.unix;
+1 -1
View File
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
description = "Rendering library for Kate streams using Pango and Cairo";
platforms = lib.platforms.unix;
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ matthewbauer ];
maintainers = [ ];
};
}
+2 -2
View File
@@ -38,9 +38,9 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://github.com/orhun/linuxwave";
description = "Generate music from the entropy of Linux";
changelog = "https://github.com/orhun/linuxwave/blob/${finalAttrs.src.rev}/CHANGELOG.md";
changelog = "https://github.com/orhun/linuxwave/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ puiyq ];
inherit (zig.meta) platforms;
mainProgram = "linuxwave";
};
+3 -3
View File
@@ -9,16 +9,16 @@
}:
buildGoModule (finalAttrs: {
pname = "nelm";
version = "1.16.2";
version = "1.17.1";
src = fetchFromGitHub {
owner = "werf";
repo = "nelm";
tag = "v${finalAttrs.version}";
hash = "sha256-o5tIczqdDDT/xUHg3ft3NZnl28D0WuStBWTKLMf3new=";
hash = "sha256-pQfyAJGGCshGOVi4EYHUiAkZW9OlasHZUcWOVs/Qm78=";
};
vendorHash = "sha256-pev4J44XMjUG8VxrZav0NyEr1Vy2xVUg4gtb126XZyM=";
vendorHash = "sha256-M3MotC8R8Rf6n2s2zb/f/3fRzCmBizEfI/b2zTc2qSg=";
subPackages = [ "cmd/nelm" ];
+1 -1
View File
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
- No installation
'';
license = licenses.mit;
maintainers = [ maintainers.matthewbauer ];
maintainers = [ ];
platforms = platforms.all;
};
}
+1 -1
View File
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
'';
meta = with lib; {
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
description = "Parses .plist files";
license = licenses.mit;
platforms = platforms.unix;
+3 -1
View File
@@ -128,7 +128,6 @@ effectiveStdenv.mkDerivation rec {
)
++ lib.optionals cudaSupport [
cudaPackages.cuda_nvcc
cudaPackages.cudnn-frontend
removeReferencesTo
]
++ lib.optionals isCudaJetson [
@@ -167,6 +166,7 @@ effectiveStdenv.mkDerivation rec {
libcusparse # cusparse.h
libcufft # cufft.h
cudnn # cudnn.h
cudnn-frontend
cuda_cudart
]
++ lib.optionals ncclSupport [ nccl ]
@@ -241,6 +241,8 @@ effectiveStdenv.mkDerivation rec {
(lib.cmakeBool "onnxruntime_ENABLE_PYTHON" true)
]
++ lib.optionals cudaSupport [
# Werror and cudnn_frontend deprecations make for a bad time.
"--compile-no-warning-as-error"
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" "${cutlass}")
(lib.cmakeFeature "onnxruntime_CUDNN_HOME" "${cudaPackages.cudnn}")
(lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString)
+1 -1
View File
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
description = "Implementation of Sun's Basic Security Module (BSM) security audit API and file format";
homepage = "http://www.openbsm.org/";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ matthewbauer ];
maintainers = [ ];
license = lib.licenses.bsd2;
};
}
+1 -1
View File
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://www.openpam.org";
description = "Open source PAM library that focuses on simplicity, correctness, and cleanliness";
platforms = platforms.unix;
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
license = licenses.bsd3;
};
})
+13
View File
@@ -26,6 +26,7 @@
valgrind,
asciidoc,
installShellFiles,
makeWrapper,
rpm,
system-sendmail,
gnome2,
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
cmake
asciidoc
doxygen
makeWrapper
rpm
swig
util-linux
@@ -104,6 +106,10 @@ stdenv.mkDerivation rec {
--replace-fail "DESTINATION ''${PERL_VENDORARCH}" "DESTINATION ''${SWIG_PERL_DIR}"
substituteInPlace src/common/oscap_pcre.c \
--replace-fail "#include <pcre2.h>" "#include <${pcre2.dev}/include/pcre2.h>"
# Patch SCE engine to not hardcode FHS paths, allowing it to use the transient environment's PATH
substituteInPlace src/SCE/sce_engine.c \
--replace-fail 'env_values[0] = "PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin";' 'env_values[0] = "_PATCHED_OUT_DUMMY_VAR=patched-out";'
'';
cmakeFlags = [
@@ -143,6 +149,13 @@ stdenv.mkDerivation rec {
rm -rf $out/share/man8
'';
postFixup = ''
# Set plugin directory to discover the SCE plugin.
# openscap calls dlopen with this as the directory prefix.
wrapProgram $out/bin/oscap \
--set OSCAP_CHECK_ENGINE_PLUGIN_DIR $out/lib
'';
meta = {
description = "NIST Certified SCAP 1.2 toolkit";
homepage = "https://github.com/OpenSCAP/openscap";
+2 -2
View File
@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "parallel";
version = "20251022";
version = "20251122";
src = fetchurl {
url = "mirror://gnu/parallel/parallel-${finalAttrs.version}.tar.bz2";
hash = "sha256-R0Mm1ZaI0vwHjPiaewtKEcyWhCKbP6AVj+i8A/G2nuE=";
hash = "sha256-No0Zgs/Z2+u4zQ5ETeYZlVnflKwt0e35X3Q1Dwrx6E0=";
};
outputs = [
+1 -1
View File
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
description = "Stream parser of Apple's pbzx compression format";
platforms = platforms.unix;
license = licenses.gpl3;
maintainers = [ maintainers.matthewbauer ];
maintainers = [ ];
mainProgram = "pbzx";
};
}
+1 -1
View File
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
];
meta = with lib; {
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
description = "CPP bindings for Plist";
license = licenses.mit;
platforms = platforms.unix;
@@ -40,7 +40,6 @@ clangStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
+27
View File
@@ -0,0 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qmic";
version = "1.0";
src = fetchFromGitHub {
owner = "linux-msm";
repo = "qmic";
tag = "v${finalAttrs.version}";
sha256 = "sha256-0/mIg98pN66ZaVsQ6KmZINuNfiKvdEHMsqDx0iciF8w=";
};
installFlags = [ "prefix=$(out)" ];
meta = with lib; {
maintainers = with maintainers; [ matthewcroughan ];
description = "QMI IDL compiler";
homepage = "https://github.com/andersson/qmic";
license = licenses.bsd3;
platforms = platforms.aarch64;
};
})
+40
View File
@@ -0,0 +1,40 @@
{
stdenv,
lib,
fetchFromGitHub,
meson,
cmake,
pkg-config,
systemd,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qrtr";
version = "0-unstable-2025-03-01";
src = fetchFromGitHub {
owner = "linux-msm";
repo = "qrtr";
rev = "5923eea97377f4a3ed9121b358fd919e3659db7b";
hash = "sha256-iHjF/2SQsvB/qC/UykNITH/apcYSVD+n4xA0S/rIfnM=";
};
nativeBuildInputs = [
meson
pkg-config
ninja
];
buildInputs = [ systemd ];
installFlags = [ "prefix=$(out)" ];
meta = with lib; {
maintainers = with maintainers; [ matthewcroughan ];
description = "QMI IDL compiler";
homepage = "https://github.com/linux-msm/qrtr";
license = licenses.bsd3;
platforms = platforms.aarch64;
};
})
@@ -178,7 +178,6 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.unix;
changelog = "https://github.com/libretro/RetroArch/blob/v${version}/CHANGES.md";
maintainers = with lib.maintainers; [
matthewbauer
kolbycrouch
];
teams = [ lib.teams.libretro ];
-1
View File
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools.
'';
maintainers = with maintainers; [
matthewbauer
NieDzejkob
];
platforms = platforms.all;
+36
View File
@@ -0,0 +1,36 @@
{
stdenv,
lib,
fetchFromGitHub,
udev,
qrtr,
qmic,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rmtfs";
version = "1.1.1";
src = fetchFromGitHub {
owner = "andersson";
repo = "rmtfs";
tag = "v${finalAttrs.version}";
hash = "sha256-00KOjdkwcAER261lleSl7OVDEAEbDyW9MWxDd0GI8KA=";
};
buildInputs = [
udev
qrtr
qmic
];
installFlags = [ "prefix=$(out)" ];
meta = with lib; {
maintainers = with maintainers; [ matthewcroughan ];
description = "Qualcomm Remote Filesystem Service";
homepage = "https://github.com/linux-msm/rmtfs";
license = licenses.bsd3;
platforms = platforms.aarch64;
};
})
+2 -2
View File
@@ -20,14 +20,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "saldo";
version = "0.8.2";
version = "0.8.3";
pyproject = false;
src = fetchFromGitLab {
owner = "tabos";
repo = "saldo";
tag = version;
hash = "sha256-B1+lod6IJfSWDsMobXw5QMP3L7fin4Nub9DNfpVulzo=";
hash = "sha256-ItdEse9ab5spvxcWn1FTAl7ppfjohRr0CXI4ImiSe+g=";
};
postPatch = ''
@@ -0,0 +1,113 @@
From 89189428a6857bc5607d8e28b9090c0d8bd0f8e3 Mon Sep 17 00:00:00 2001
From: Francesco Zanini <francesco@zanini.me>
Date: Mon, 6 Oct 2025 16:19:55 +0200
Subject: [PATCH] Allow management of resources and modules paths
SDR++ uses the config file to determine the location of modules and
resources to load. While this is mostly static in other distributions,
in Nix it changes very often.
This commit adds some functionality to the config manager to replace
`@prefix@` in the values of the keys `modulesDirectory` and
`resourcesDirectory` to a dynamic path. On save, the change is reverted.
The prefix path used is either the installation directory, or the
content of the `SDRPP_PREFIX` environment variable, if present.
---
core/src/config.cpp | 31 ++++++++++++++++++++++++++++++-
core/src/config.h | 4 +++-
core/src/core.cpp | 15 ++-------------
3 files changed, 35 insertions(+), 15 deletions(-)
diff --git a/core/src/config.cpp b/core/src/config.cpp
index 6de1888fd803d4bbe04c7a4ed2187103dd8a5081..4cab471b24b985ca717afae4322618759ffd47b4 100644
--- a/core/src/config.cpp
+++ b/core/src/config.cpp
@@ -41,12 +41,16 @@ void ConfigManager::load(json def, bool lock) {
conf = def;
save(false);
}
+
+ transformPaths(conf, true);
+
if (lock) { mtx.unlock(); }
}
void ConfigManager::save(bool lock) {
if (lock) { mtx.lock(); }
std::ofstream file(path.c_str());
+ transformPaths(conf, false);
file << conf.dump(4);
file.close();
if (lock) { mtx.unlock(); }
@@ -98,4 +102,29 @@ void ConfigManager::autoSaveWorker() {
termCond.wait_for(lock, std::chrono::milliseconds(1000), [this]() { return termFlag; });
}
}
-}
\ No newline at end of file
+}
+
+void ConfigManager::transformPaths(json& conf, bool expand) {
+ const char* env_prefix = std::getenv("SDRPP_PREFIX");
+ const std::string prefix = env_prefix ? env_prefix : INSTALL_PREFIX;
+
+ std::vector<std::string> directoryKeys = {
+ "modulesDirectory",
+ "resourcesDirectory"
+ };
+
+ const std::string from = expand ? "@prefix@" : prefix;
+ const std::string to = expand ? prefix : "@prefix@";
+
+ for (const auto& key : directoryKeys) {
+ if (conf.contains(key)) {
+ auto dir = conf[key].get<std::string>();
+
+ size_t pos = dir.find(from);
+ if (pos != std::string::npos) {
+ dir.replace(pos, from.length(), to);
+ conf[key] = dir;
+ }
+ }
+ }
+}
diff --git a/core/src/config.h b/core/src/config.h
index fbbdeb4a54e06524a399e35afe8e187732bf851e..f9deef01e8d0850ab65a68ac33c9ed124486a1d5 100644
--- a/core/src/config.h
+++ b/core/src/config.h
@@ -33,4 +33,6 @@ class ConfigManager {
std::mutex termMtx;
std::condition_variable termCond;
volatile bool termFlag = false;
-};
\ No newline at end of file
+
+ static void transformPaths(json& conf, bool expand);
+};
diff --git a/core/src/core.cpp b/core/src/core.cpp
index 37358062ed957e562bf971fa121d885073f2827c..f1b5396cad3154546bb3a2322403b7f3618ad253 100644
--- a/core/src/core.cpp
+++ b/core/src/core.cpp
@@ -267,19 +267,8 @@ int sdrpp_main(int argc, char* argv[]) {
defConfig["lockMenuOrder"] = false;
#endif
-#if defined(_WIN32)
- defConfig["modulesDirectory"] = "./modules";
- defConfig["resourcesDirectory"] = "./res";
-#elif defined(IS_MACOS_BUNDLE)
- defConfig["modulesDirectory"] = "../Plugins";
- defConfig["resourcesDirectory"] = "../Resources";
-#elif defined(__ANDROID__)
- defConfig["modulesDirectory"] = root + "/modules";
- defConfig["resourcesDirectory"] = root + "/res";
-#else
- defConfig["modulesDirectory"] = INSTALL_PREFIX "/lib/sdrpp/plugins";
- defConfig["resourcesDirectory"] = INSTALL_PREFIX "/share/sdrpp";
-#endif
+ defConfig["modulesDirectory"] = "@prefix@/lib/sdrpp/plugins";
+ defConfig["resourcesDirectory"] = "@prefix@/share/sdrpp";
// Load config
flog::info("Loading config");
+50 -29
View File
@@ -10,31 +10,39 @@
fftwFloat,
volk,
zstd,
# Sources
airspy_source ? true,
airspy,
airspyhf_source ? true,
airspyhf,
bladerf_source ? true,
audio_source ? true,
bladerf_source ? stdenv.hostPlatform.isLinux,
libbladeRF,
file_source ? true,
hackrf_source ? true,
hackrf,
hermes_source ? true,
limesdr_source ? true,
limesuite,
perseus_source ? false, # needs libperseus-sdr, not yet available in nixpks
network_source ? true,
# needs libperseus-sdr, not yet available in nixpks
perseus_source ? false,
plutosdr_source ? stdenv.hostPlatform.isLinux,
libiio,
libad9361,
rfspace_source ? true,
rtl_sdr_source ? true,
rtl-sdr-osmocom,
libusb1, # osmocom better w/ rtlsdr v4
libusb1,
# osmocom better w/ rtlsdr v4
rtl_tcp_source ? true,
sdrplay_source ? false,
sdrplay,
sdrpp_server_source ? true,
soapy_source ? true,
soapysdr-with-plugins,
spectran_http_source ? true,
spyserver_source ? true,
usrp_source ? false,
uhd,
@@ -48,57 +56,54 @@
portaudio,
# Decoders
atv_decoder ? true,
dab_decoder ? false,
falcon9_decoder ? false,
kg_sstv_decoder ? false,
m17_decoder ? false,
codec2,
meteor_demodulator ? true,
pager_decoder ? true,
radio ? true,
weather_sat_decoder ? false, # is missing some dsp/pll.h
vor_receiver ? false,
weather_sat_decoder ? false,
# Misc
discord_presence ? true,
frequency_manager ? true,
iq_exporter ? true,
recorder ? true,
rigctl_client ? true,
rigctl_server ? true,
scanner ? true,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "sdrpp";
# SDR++ uses a rolling release model.
# Choose a git hash from head and use the date from that commit as
# version qualifier
git_rev = "4658a1ade6707dee6f2ae09ba9eb71097223ea93";
git_hash = "sha256-UxYAcqOMPQYdUbL2636LpOGbCaxHjLiJhsH62s+0AZU=";
git_date = "2025-10-09";
version_number = "1.2.1";
version = "${version_number}-unstable-" + git_date;
upstreamVersion = "1.2.1";
version = "${finalAttrs.upstreamVersion}-unstable-2025-10-09";
src = fetchFromGitHub {
owner = "AlexandreRouma";
repo = "SDRPlusPlus";
rev = git_rev;
hash = git_hash;
rev = "4658a1ade6707dee6f2ae09ba9eb71097223ea93";
hash = "sha256-UxYAcqOMPQYdUbL2636LpOGbCaxHjLiJhsH62s+0AZU=";
};
patches = [
./runtime-prefix.patch
./0001-Allow-management-of-resources-and-modules-paths.patch
# CMake 4 dropped support of versions lower than 3.5,
# versions lower than 3.10 are deprecated.
./cmake4.patch
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "/usr/share" "share" \
--replace "set(CMAKE_INSTALL_PREFIX" "#set(CMAKE_INSTALL_PREFIX"
substituteInPlace decoder_modules/m17_decoder/src/m17dsp.h \
--replace "codec2.h" "codec2/codec2.h"
# Since the __TIME_ and __DATE__ is canonicalized in the build,
# use our qualified version shown in the programs window title.
substituteInPlace core/src/version.h --replace-fail "${version_number}" "$version"
--replace-fail "codec2.h" "codec2/codec2.h"
substituteInPlace core/src/version.h \
--replace-fail "${finalAttrs.upstreamVersion}" "${finalAttrs.version}"
'';
nativeBuildInputs = [
@@ -133,25 +138,30 @@ stdenv.mkDerivation rec {
uhd
boost
]
++ lib.optional audio_sink rtaudio
++ lib.optional (audio_source || audio_sink) rtaudio
++ lib.optional portaudio_sink portaudio
++ lib.optional m17_decoder codec2;
++ lib.optional (dab_decoder || m17_decoder) codec2;
cmakeFlags = [
# Sources
(lib.cmakeBool "OPT_BUILD_AIRSPYHF_SOURCE" airspyhf_source)
(lib.cmakeBool "OPT_BUILD_AIRSPY_SOURCE" airspy_source)
(lib.cmakeBool "OPT_BUILD_AUDIO_SOURCE" audio_source)
(lib.cmakeBool "OPT_BUILD_BLADERF_SOURCE" bladerf_source)
(lib.cmakeBool "OPT_BUILD_FILE_SOURCE" file_source)
(lib.cmakeBool "OPT_BUILD_HACKRF_SOURCE" hackrf_source)
(lib.cmakeBool "OPT_BUILD_HERMES_SOURCE" hermes_source)
(lib.cmakeBool "OPT_BUILD_LIMESDR_SOURCE" limesdr_source)
(lib.cmakeBool "OPT_BUILD_NETWORK_SOURCE" network_source)
(lib.cmakeBool "OPT_BUILD_PERSEUS_SOURCE" perseus_source)
(lib.cmakeBool "OPT_BUILD_PLUTOSDR_SOURCE" plutosdr_source)
(lib.cmakeBool "OPT_BUILD_RFSPACE_SOURCE" rfspace_source)
(lib.cmakeBool "OPT_BUILD_RTL_SDR_SOURCE" rtl_sdr_source)
(lib.cmakeBool "OPT_BUILD_RTL_TCP_SOURCE" rtl_tcp_source)
(lib.cmakeBool "OPT_BUILD_SDRPLAY_SOURCE" sdrplay_source)
(lib.cmakeBool "OPT_BUILD_SDRPP_SERVER_SOURCE" sdrpp_server_source)
(lib.cmakeBool "OPT_BUILD_SOAPY_SOURCE" soapy_source)
(lib.cmakeBool "OPT_BUILD_SPECTRAN_HTTP_SOURCE" spectran_http_source)
(lib.cmakeBool "OPT_BUILD_SPYSERVER_SOURCE" spyserver_source)
(lib.cmakeBool "OPT_BUILD_USRP_SOURCE" usrp_source)
@@ -161,16 +171,23 @@ stdenv.mkDerivation rec {
(lib.cmakeBool "OPT_BUILD_NEW_PORTAUDIO_SINK" portaudio_sink)
# Decoders
(lib.cmakeBool "OPT_BUILD_ATV_DECODER" atv_decoder)
(lib.cmakeBool "OPT_BUILD_DAB_DECODER" dab_decoder)
(lib.cmakeBool "OPT_BUILD_FALCON9_DECODER" falcon9_decoder)
(lib.cmakeBool "OPT_BUILD_KG_SSTV_DECODER" kg_sstv_decoder)
(lib.cmakeBool "OPT_BUILD_M17_DECODER" m17_decoder)
(lib.cmakeBool "OPT_BUILD_METEOR_DEMODULATOR" meteor_demodulator)
(lib.cmakeBool "OPT_BUILD_PAGER_DECODER" pager_decoder)
(lib.cmakeBool "OPT_BUILD_RADIO" radio)
(lib.cmakeBool "OPT_BUILD_VOR_RECEIVER" vor_receiver)
(lib.cmakeBool "OPT_BUILD_WEATHER_SAT_DECODER" weather_sat_decoder)
# Misc
(lib.cmakeBool "OPT_BUILD_DISCORD_PRESENCE" discord_presence)
(lib.cmakeBool "OPT_BUILD_FREQUENCY_MANAGER" frequency_manager)
(lib.cmakeBool "OPT_BUILD_IQ_EXPORTER" iq_exporter)
(lib.cmakeBool "OPT_BUILD_RECORDER" recorder)
(lib.cmakeBool "OPT_BUILD_RIGCTL_CLIENT" rigctl_client)
(lib.cmakeBool "OPT_BUILD_RIGCTL_SERVER" rigctl_server)
(lib.cmakeBool "OPT_BUILD_SCANNER" scanner)
];
@@ -183,8 +200,12 @@ stdenv.mkDerivation rec {
description = "Cross-Platform SDR Software";
homepage = "https://github.com/AlexandreRouma/SDRPlusPlus";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = with maintainers; [ sikmir ];
# The DAB decoder is broken upstream. See: https://github.com/AlexandreRouma/SDRPlusPlus/issues/1511
broken = dab_decoder;
maintainers = with maintainers; [
sikmir
zaninime
];
mainProgram = "sdrpp";
};
}
})
@@ -1,60 +0,0 @@
From a80a739163d2013ec400223a68a387f4f9297b2a Mon Sep 17 00:00:00 2001
From: Nikolay Korotkiy <sikmir@gmail.com>
Date: Fri, 29 Oct 2021 01:38:21 +0300
Subject: [PATCH] Fix sdrpp breaking every time the package is rebuilt.
On NixOS, the INSTALL_PREFIX changes on every rebuild to the package, but sdrpp
fills it in as part of the default config and then installs that config
to the users home folder. Fix this by not substituting @INSTALL_PREFIX@ in the
default config until runtime.
---
core/src/core.cpp | 8 ++++++--
core/src/gui/main_window.cpp | 6 ++++++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/core/src/core.cpp b/core/src/core.cpp
index 9546e60..98d6065 100644
--- a/core/src/core.cpp
+++ b/core/src/core.cpp
@@ -242,8 +242,8 @@ int sdrpp_main(int argc, char *argv[]) {
defConfig["modulesDirectory"] = "./modules";
defConfig["resourcesDirectory"] = "./res";
#else
- defConfig["modulesDirectory"] = INSTALL_PREFIX "/lib/sdrpp/plugins";
- defConfig["resourcesDirectory"] = INSTALL_PREFIX "/share/sdrpp";
+ defConfig["modulesDirectory"] = "@prefix@/lib/sdrpp/plugins";
+ defConfig["resourcesDirectory"] = "@prefix@/share/sdrpp";
#endif
// Load config
@@ -290,6 +290,10 @@ int sdrpp_main(int argc, char *argv[]) {
int winHeight = core::configManager.conf["windowSize"]["h"];
maximized = core::configManager.conf["maximized"];
std::string resDir = core::configManager.conf["resourcesDirectory"];
+ {
+ std::size_t pos = resDir.find("@prefix@");
+ if (pos != std::string::npos) resDir.replace(pos, 8, INSTALL_PREFIX);
+ }
json bandColors = core::configManager.conf["bandColors"];
core::configManager.release();
diff --git a/core/src/gui/main_window.cpp b/core/src/gui/main_window.cpp
index 954dbd6..52f0eed 100644
--- a/core/src/gui/main_window.cpp
+++ b/core/src/gui/main_window.cpp
@@ -44,6 +44,12 @@ void MainWindow::init() {
json menuElements = core::configManager.conf["menuElements"];
std::string modulesDir = core::configManager.conf["modulesDirectory"];
std::string resourcesDir = core::configManager.conf["resourcesDirectory"];
+ {
+ std::size_t pos = modulesDir.find("@prefix@");
+ if (pos != std::string::npos) modulesDir.replace(pos, 8, INSTALL_PREFIX);
+ pos = resourcesDir.find("@prefix@");
+ if (pos != std::string::npos) resourcesDir.replace(pos, 8, INSTALL_PREFIX);
+ }
core::configManager.release();
// Load menu elements
--
2.33.0
+3 -3
View File
@@ -5,15 +5,15 @@
}:
buildNpmPackage (finalAttrs: {
pname = "sillytavern";
version = "1.13.5";
version = "1.14.0";
src = fetchFromGitHub {
owner = "SillyTavern";
repo = "SillyTavern";
tag = finalAttrs.version;
hash = "sha256-kYTma8+GIXCwFrKB0EnU4nLMPi+HOayBioz1z+xNa+0=";
hash = "sha256-5bml7PwmlfJag8DzbR5qdNJ6ddKmZsEUD155VwkJhjI=";
};
npmDepsHash = "sha256-BBB+mKuG9cm9Rpa7kPneqK0gSA09hEvszWoWML78eSQ=";
npmDepsHash = "sha256-cqS8UFyXNql/SE1nrWhZlIXhz0SO3JUSDThsfAOHP7E=";
dontNpmBuild = true;
+2 -2
View File
@@ -12,14 +12,14 @@
buildGoModule (finalAttrs: {
pname = "symfony-cli";
version = "5.16.0";
version = "5.16.1";
vendorHash = "sha256-StRdOTEuijjnDWvXNjAVzvDL3zXQJ4LZOioart1CFPw=";
src = fetchFromGitHub {
owner = "symfony-cli";
repo = "symfony-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-rPiqvlRygwernra/NyoLxpUfD8eAKeHQzt09VMvvi0U=";
hash = "sha256-q8m8bhM07CUQxtwEB/BqE90tDY6uSoyNsCShbMIBesQ=";
leaveDotGit = true;
postFetch = ''
git --git-dir $out/.git log -1 --pretty=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ' > $out/SOURCE_DATE
+2 -2
View File
@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tetrio-desktop";
version = "9";
version = "10";
src = fetchzip {
url = "https://tetr.io/about/desktop/builds/${finalAttrs.version}/TETR.IO%20Setup.deb";
hash = "sha256-TgegFy+sHjv0ILaiLO1ghyUhKXoj8v43ACJOJhKyI0c=";
hash = "sha256-2FtFCajNEj7O8DGangDecs2yeKbufYLx1aZb3ShnYvw=";
nativeBuildInputs = [ dpkg ];
};
+1
View File
@@ -106,5 +106,6 @@ stdenv.mkDerivation (finalAttrs: {
];
maintainers = with lib.maintainers; [ huantian ];
platforms = lib.platforms.linux;
broken = true; # not yet updated for tetrio-desktop v10
};
})
+4 -4
View File
@@ -12,13 +12,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tokei";
version = "13.0.0-alpha.9";
version = "13.0.0";
src = fetchFromGitHub {
owner = "XAMPPRocky";
repo = "tokei";
tag = "v${finalAttrs.version}";
hash = "sha256-OSIJYSUwc8SvszEOMgt+d/ljCW2jtBkPw6buof4JpUc=";
hash = "sha256-7VyjNqwyqJhTTnaiijwXxHzWzk6GbxvQJPjIf250Kfc=";
};
patches = [
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
})
];
cargoHash = "sha256-FIT+c2YzGxJEvLB5uqkdVLWkQ/wlrbCrAkSQEoS4kJw=";
cargoHash = "sha256-aCSz4BwSk+h+LLOPoBHy2lOmLeZI35o3qXSCE0UmEBY=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { extraArgs = [ "--version=unstable" ]; };
passthru.updateScript = nix-update-script { };
meta = {
description = "Count your code, quickly";
+49
View File
@@ -0,0 +1,49 @@
{
stdenv,
lib,
fetchFromGitHub,
qrtr,
meson,
zstd,
pkg-config,
systemd,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tqftpserv";
version = "1.1";
src = fetchFromGitHub {
owner = "linux-msm";
repo = "tqftpserv";
tag = "v${finalAttrs.version}";
hash = "sha256-Djw2rx1FXYYPXs6Htq7jWcgeXFvfCUoeidKtYUvTqZU=";
};
buildInputs = [
qrtr
zstd
systemd
];
nativeBuildInputs = [
meson
pkg-config
ninja
];
postPatch = ''
substituteInPlace translate.c --replace-fail '/lib/firmware/' '/run/current-system/sw/share/uncompressed-firmware'
'';
installFlags = [ "prefix=$(out)" ];
meta = with lib; {
maintainers = with maintainers; [ matthewcroughan ];
description = "Trivial File Transfer Protocol server over AF_QIPCRTR";
homepage = "https://github.com/andersson/tqftpserv";
license = licenses.bsd3;
platforms = platforms.aarch64;
};
})
-1
View File
@@ -39,7 +39,6 @@ stdenv.mkDerivation {
license = lib.licenses.gpl3;
mainProgram = "undmg";
maintainers = with lib.maintainers; [
matthewbauer
lnl7
];
platforms = lib.platforms.all;
-1
View File
@@ -70,7 +70,6 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
homepage = "https://wasi.dev";
platforms = platforms.wasi;
maintainers = with maintainers; [
matthewbauer
rvolosatovs
wucke13
];
-1
View File
@@ -108,7 +108,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
mainProgram = "wasmtime";
maintainers = with lib.maintainers; [
ereslibre
matthewbauer
nekowinston
];
platforms = lib.platforms.unix;
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "wireguard-vanity-keygen";
version = "0.1.1";
version = "0.1.2";
src = fetchFromGitHub {
owner = "axllent";
repo = "wireguard-vanity-keygen";
rev = version;
hash = "sha256-LibNWnjm52iPwrPKAA5v3krADvHcewKuLe9k5HhJgzg=";
hash = "sha256-IF5z0qkVOzcwVQNfem18DTn6KbEjjPspGfneG1ekGJI=";
};
vendorHash = "sha256-sHVdR1zuewT9B4UlPrEWU5V9MjgkwPBh/hkSsn2PQKw=";
vendorHash = "sha256-dYpkAdOjiXm1REGsUUTRb8de6okdZ9GpKppBnb6oo9g=";
ldflags = [
"-s"
+1 -1
View File
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.villehelin.com/wla.html";
description = "Yet Another GB-Z80/Z80/6502/65C02/6510/65816/HUC6280/SPC-700 Multi Platform Cross Assembler Package";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ matthewbauer ];
maintainers = [ ];
platforms = lib.platforms.all;
};
}
+9 -2
View File
@@ -10,6 +10,7 @@
gtksourceview4,
gspell,
xapp,
xapp-symbolic-icons,
pkg-config,
python3,
meson,
@@ -22,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "xed-editor";
version = "3.8.4";
version = "3.8.5";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xed";
rev = version;
hash = "sha256-pI9gjAA5dn0QwZKGungQ1xpQJmnfCxmqWR0VBEQ5v84=";
hash = "sha256-iPD9SawHA0bwnZvC+IyMq9cFE1YOYLISehUJjTXiqGw=";
};
patches = [
@@ -64,6 +65,12 @@ stdenv.mkDerivation rec {
xapp
];
preFixup = ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${lib.makeSearchPath "share" [ xapp-symbolic-icons ]}"
)
'';
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/xed";
+1 -1
View File
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
];
meta = with lib; {
maintainers = with maintainers; [ matthewbauer ];
maintainers = [ ];
description = "Compiles CocoaTouch .xib files into .nib";
license = licenses.mit;
platforms = platforms.unix;
+3 -3
View File
@@ -101,7 +101,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.213.4";
version = "0.213.7";
outputs = [
"out"
@@ -114,7 +114,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-Xlqe5D22XEVTB7ODKGDy+e52kJSwzG8rwlQxc0R/qvQ=";
hash = "sha256-52B+m1mZ1TlNfiz7Tv8xOGFu+aQesISq450OItzsz3Y=";
};
postPatch = ''
@@ -134,7 +134,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
rm -r $out/git/*/candle-book/
'';
cargoHash = "sha256-WiCzafRZWEhUN6Ud6gIlTKuheAOagvoCNQwouRN/4hA=";
cargoHash = "sha256-KqrTTU0qqx42mybYATG+DVShjWUCyWRVCYUb240ZDtw=";
nativeBuildInputs = [
cmake
@@ -167,7 +167,6 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
maintainers = with maintainers; [
qknight
matthewbauer
raitobezarius
willcohen
];
@@ -0,0 +1,36 @@
{
"release_date": "2025-11-04",
"release_label": "10.14.1",
"release_product": "tensorrt",
"tensorrt": {
"name": "NVIDIA TensorRT",
"license": "TensorRT",
"version": "10.14.1.48",
"cuda_variant": [
"12",
"13"
],
"linux-sbsa": {
"cuda13": {
"md5": "f31d534daa41f517c8c5db8e0478119f",
"relative_path": "tensorrt/10.14.1/tars/TensorRT-10.14.1.48.Linux.aarch64-gnu.cuda-13.0.tar.gz",
"sha256": "3d3e438b49196a9b9ed5c5bc37ec24be9aa74d67d41db0f8fa54b4894aad748a",
"size": "5554126761"
}
},
"linux-x86_64": {
"cuda12": {
"md5": "d21dd1cb62518f81173150f7bda77311",
"relative_path": "tensorrt/10.14.1/tars/TensorRT-10.14.1.48.Linux.x86_64-gnu.cuda-12.9.tar.gz",
"sha256": "0daa7d5929c78edfbe86b474064d0f82d2064c475cc6be747c5101f1ccc37105",
"size": "7905642926"
},
"cuda13": {
"md5": "8ef547b7811197572294494551478214",
"relative_path": "tensorrt/10.14.1/tars/TensorRT-10.14.1.48.Linux.x86_64-gnu.cuda-13.0.tar.gz",
"sha256": "c74af67db57f1a0d7e66bb01ab93f1ecda5facac491ca76e680d832f1e035ce6",
"size": "7004299092"
}
}
}
}
@@ -7,6 +7,7 @@
"license": "TensorRT",
"version": "10.7.0.23",
"cuda_variant": [
"11",
"12"
],
"linux-aarch64": {
@@ -26,6 +27,12 @@
}
},
"linux-x86_64": {
"cuda11": {
"md5": "6adf7d02aae9105abb6bf3b4c1ce89f4",
"relative_path": "tensorrt/10.7.0/tars/TensorRT-10.7.0.23.Linux.x86_64-gnu.cuda-11.8.tar.gz",
"sha256": "958e1c32b48e41d1c48bdc94363450e14f996ca9de0e205ccee65af319eea2c0",
"size": "4341092411"
},
"cuda12": {
"md5": "925c98fbe9abe82058814159727732a2",
"relative_path": "tensorrt/10.7.0/tars/TensorRT-10.7.0.23.Linux.x86_64-gnu.cuda-12.6.tar.gz",
@@ -1,29 +0,0 @@
{
"release_date": "2025-03-11",
"release_label": "10.9.0",
"release_product": "tensorrt",
"tensorrt": {
"name": "NVIDIA TensorRT",
"license": "TensorRT",
"version": "10.9.0.34",
"cuda_variant": [
"12"
],
"linux-sbsa": {
"cuda12": {
"md5": "e56a9f9d7327c65d9b95996d3008ed44",
"relative_path": "tensorrt/10.9.0/tars/TensorRT-10.9.0.34.Linux.aarch64-gnu.cuda-12.8.tar.gz",
"sha256": "b81ec2a067f67f082c13caec2dcef54385b42a9de6a4ecae6f318aa2d41964f2",
"size": "4123115318"
}
},
"linux-x86_64": {
"cuda12": {
"md5": "ee49e3e6e00b21274907956216b6769f",
"relative_path": "tensorrt/10.9.0/tars/TensorRT-10.9.0.34.Linux.x86_64-gnu.cuda-12.8.tar.gz",
"sha256": "33be0e61e3bf177bbbcabb4892bf013f0c8ac71d2be73f2803848a382cb14272",
"size": "6917032417"
}
}
}
}
@@ -1,30 +0,0 @@
From eeef96e91bd3453160315bf4618b7b91ae7240ba Mon Sep 17 00:00:00 2001
From: Connor Baker <ConnorBaker01@gmail.com>
Date: Sat, 18 Jan 2025 20:48:11 +0000
Subject: [PATCH 1/4] cmake: float out common python bindings option
---
CMakeLists.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9739569..8944621 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,12 +5,11 @@ project(cudnn_frontend VERSION 1.9.0)
option(CUDNN_FRONTEND_SKIP_JSON_LIB "Defines whether FE should not include nlohmann/json.hpp." OFF)
option(CUDNN_FRONTEND_BUILD_SAMPLES "Defines if samples are built or not." ON)
option(CUDNN_FRONTEND_BUILD_TESTS "Defines if unittests are built or not." ON)
+option(CUDNN_FRONTEND_BUILD_PYTHON_BINDINGS "Defines if python bindings are built or not." OFF)
if(MSVC OR MSYS OR MINGW)
- option(CUDNN_FRONTEND_BUILD_PYTHON_BINDINGS "Defines if python bindings are built or not." OFF)
add_compile_options(/W4 /WX)
else()
- option(CUDNN_FRONTEND_BUILD_PYTHON_BINDINGS "Defines if python bindings are built or not." OFF)
add_compile_options(-Wall -Wextra -Wpedantic -Werror -Wno-error=attributes -Wno-attributes -Wno-error=unused-function -Wno-unused-function)
endif()
--
2.47.0
@@ -1,84 +0,0 @@
From da16ec51ea78f88f333ecf3df2a249fcc65ead24 Mon Sep 17 00:00:00 2001
From: Connor Baker <ConnorBaker01@gmail.com>
Date: Sat, 18 Jan 2025 22:01:03 +0000
Subject: [PATCH 2/4] cmake: add config so headers can be discovered when
installed
---
CMakeLists.txt | 39 +++++++++++++++++++++++++++++++---
cudnn_frontend-config.cmake.in | 3 +++
2 files changed, 39 insertions(+), 3 deletions(-)
create mode 100644 cudnn_frontend-config.cmake.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8944621..9b1bfba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.17)
+cmake_minimum_required(VERSION 3.23)
project(cudnn_frontend VERSION 1.9.0)
@@ -15,6 +15,15 @@ endif()
add_library(cudnn_frontend INTERFACE)
+# Add header files to library
+file(GLOB_RECURSE CUDNN_FRONTEND_INCLUDE_FILES "include/*")
+target_sources(
+ cudnn_frontend PUBLIC FILE_SET HEADERS
+ BASE_DIRS "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
+ FILES "${CUDNN_FRONTEND_INCLUDE_FILES}"
+)
+unset(CUDNN_FRONTEND_INCLUDE_FILES)
+
target_compile_definitions(
cudnn_frontend INTERFACE
$<$<BOOL:${CUDNN_FRONTEND_SKIP_JSON_LIB}>:CUDNN_FRONTEND_SKIP_JSON_LIB>
@@ -58,7 +67,31 @@ endif()
# * CMAKE_INSTALL_INCLUDEDIR
include(GNUInstallDirs)
+# See https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html#example-generating-package-files
+include(CMakePackageConfigHelpers)
+
+# Install and export the header files
+install(
+ TARGETS cudnn_frontend
+ EXPORT cudnn_frontend_targets FILE_SET HEADERS
+)
+export(
+ EXPORT cudnn_frontend_targets
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend/cudnn_frontend-targets.cmake"
+)
+install(
+ EXPORT cudnn_frontend_targets
+ FILE cudnn_frontend-targets.cmake
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
+)
+
+# Install the CMake configuration file for header discovery
+configure_package_config_file(
+ cudnn_frontend-config.cmake.in
+ "${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend-config.cmake"
+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
+)
install(
- DIRECTORY ${PROJECT_SOURCE_DIR}/include/
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend-config.cmake"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
)
diff --git a/cudnn_frontend-config.cmake.in b/cudnn_frontend-config.cmake.in
new file mode 100644
index 0000000..8b2d843
--- /dev/null
+++ b/cudnn_frontend-config.cmake.in
@@ -0,0 +1,3 @@
+@PACKAGE_INIT@
+
+include(${CMAKE_CURRENT_LIST_DIR}/cudnn_frontend-targets.cmake)
--
2.47.0
@@ -1,85 +0,0 @@
From 53d5aaaad09b479cd8c0e148c9428baa33204024 Mon Sep 17 00:00:00 2001
From: Connor Baker <ConnorBaker01@gmail.com>
Date: Sat, 18 Jan 2025 22:10:41 +0000
Subject: [PATCH 3/4] cmake: install samples and tests when built
---
CMakeLists.txt | 12 +++++++++++-
samples/cpp/CMakeLists.txt | 2 ++
samples/legacy_samples/CMakeLists.txt | 2 ++
test/cpp/CMakeLists.txt | 2 ++
4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b1bfba..f6af111 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -70,11 +70,21 @@ include(GNUInstallDirs)
# See https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html#example-generating-package-files
include(CMakePackageConfigHelpers)
-# Install and export the header files
+# Install the components
install(
TARGETS cudnn_frontend
EXPORT cudnn_frontend_targets FILE_SET HEADERS
)
+
+if (CUDNN_FRONTEND_BUILD_SAMPLES)
+ install(TARGETS legacy_samples samples RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
+
+if (CUDNN_FRONTEND_BUILD_TESTS)
+ install(TARGETS tests RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
+
+# Export the targets
export(
EXPORT cudnn_frontend_targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend/cudnn_frontend-targets.cmake"
diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt
index 9b8a5eb..01b09bb 100644
--- a/samples/cpp/CMakeLists.txt
+++ b/samples/cpp/CMakeLists.txt
@@ -69,8 +69,10 @@ target_link_libraries(
_cudnn_frontend_pch
CUDNN::cudnn
+ CUDA::cublasLt
CUDA::cudart
CUDA::cuda_driver # Needed as calls all CUDA calls will eventually move to driver
+ CUDA::nvrtc
)
# target cmake properties
diff --git a/samples/legacy_samples/CMakeLists.txt b/samples/legacy_samples/CMakeLists.txt
index 019f17c..3b56329 100644
--- a/samples/legacy_samples/CMakeLists.txt
+++ b/samples/legacy_samples/CMakeLists.txt
@@ -44,7 +44,9 @@ target_link_libraries(
_cudnn_frontend_pch
CUDNN::cudnn
+ CUDA::cublasLt
CUDA::cudart
+ CUDA::nvrtc
)
# target cmake properties
diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
index e244cd0..2750294 100644
--- a/test/cpp/CMakeLists.txt
+++ b/test/cpp/CMakeLists.txt
@@ -55,7 +55,9 @@ target_link_libraries(
CUDNN::cudnn
+ CUDA::cublasLt
CUDA::cudart
+ CUDA::nvrtc
)
# cuDNN dlopen's its libraries
--
2.47.0
@@ -1,591 +0,0 @@
From 4ce40a0c3de0e8a7065caf1cf59a90493e084682 Mon Sep 17 00:00:00 2001
From: Connor Baker <ConnorBaker01@gmail.com>
Date: Sat, 18 Jan 2025 22:22:21 +0000
Subject: [PATCH 4/4] samples: fix instances of maybe-uninitialized
---
samples/cpp/convolution/dgrads.cpp | 6 +++---
samples/cpp/convolution/fp8_fprop.cpp | 2 +-
samples/cpp/convolution/fprop.cpp | 10 +++++-----
samples/cpp/convolution/int8_fprop.cpp | 2 +-
samples/cpp/convolution/wgrads.cpp | 4 ++--
samples/cpp/matmul/fp8_matmul.cpp | 2 +-
samples/cpp/matmul/int8_matmul.cpp | 2 +-
samples/cpp/matmul/matmuls.cpp | 8 ++++----
samples/cpp/matmul/mixed_matmul.cpp | 2 +-
samples/cpp/misc/pointwise.cpp | 6 +++---
samples/cpp/misc/resample.cpp | 6 +++---
samples/cpp/misc/serialization.cpp | 4 ++--
samples/cpp/misc/slice.cpp | 2 +-
samples/cpp/misc/sm_carveout.cpp | 2 +-
samples/cpp/norm/batchnorm.cpp | 8 ++++----
samples/cpp/norm/layernorm.cpp | 8 ++++----
samples/cpp/norm/rmsnorm.cpp | 6 +++---
samples/cpp/sdpa/fp16_bwd.cpp | 2 +-
samples/cpp/sdpa/fp16_bwd_with_flexible_graphs.cpp | 2 +-
samples/cpp/sdpa/fp16_cached.cpp | 2 +-
samples/cpp/sdpa/fp16_fwd.cpp | 2 +-
samples/cpp/sdpa/fp16_fwd_with_custom_dropout.cpp | 2 +-
samples/cpp/sdpa/fp16_fwd_with_flexible_graphs.cpp | 2 +-
samples/cpp/sdpa/fp16_fwd_with_paged_caches.cpp | 2 +-
samples/cpp/sdpa/fp8_bwd.cpp | 4 ++--
samples/cpp/sdpa/fp8_fwd.cpp | 2 +-
26 files changed, 50 insertions(+), 50 deletions(-)
diff --git a/samples/cpp/convolution/dgrads.cpp b/samples/cpp/convolution/dgrads.cpp
index 589cb5f..f66abf4 100644
--- a/samples/cpp/convolution/dgrads.cpp
+++ b/samples/cpp/convolution/dgrads.cpp
@@ -65,7 +65,7 @@ TEST_CASE("Convolution Dgrad", "[dgrad][graph]") {
Surface<half> w_tensor(64 * 32 * 3 * 3, false);
Surface<half> dx_tensor(4 * 32 * 16 * 16, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -122,7 +122,7 @@ TEST_CASE("Dgrad Drelu Graph", "[dgrad][graph]") {
Surface<half> x_tensor(4 * 32 * 16 * 16, false);
Surface<half> dx_tensor(4 * 32 * 16 * 16, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -234,7 +234,7 @@ TEST_CASE("Dgrad Drelu DBNweight Graph", "[dgrad][graph]") {
Surface<float> eq_scale_x_tensor(1 * 32 * 1 * 1, false);
Surface<float> eq_bias_tensor(1 * 32 * 1 * 1, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/convolution/fp8_fprop.cpp b/samples/cpp/convolution/fp8_fprop.cpp
index dfcb7e2..8246ce4 100644
--- a/samples/cpp/convolution/fp8_fprop.cpp
+++ b/samples/cpp/convolution/fp8_fprop.cpp
@@ -116,7 +116,7 @@ TEST_CASE("Convolution fp8 precision", "[conv][graph]") {
Surface<float> Y_scale_gpu(1, false);
Surface<float> amax_gpu(1, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/convolution/fprop.cpp b/samples/cpp/convolution/fprop.cpp
index bc1aaf0..d61fa4e 100644
--- a/samples/cpp/convolution/fprop.cpp
+++ b/samples/cpp/convolution/fprop.cpp
@@ -80,7 +80,7 @@ TEST_CASE("Convolution fprop", "[conv][graph][caching]") {
std::unordered_map<int64_t, void *> variant_pack = {
{X->get_uid(), x_tensor.devPtr}, {W->get_uid(), w_tensor.devPtr}, {Y->get_uid(), y_tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -303,7 +303,7 @@ TEST_CASE("CSBR Graph", "[conv][graph][caching]") {
Surface<half> b_tensor(k, false);
Surface<half> y_tensor(n * k * h * w, false); // Should be p, q.
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -550,7 +550,7 @@ TEST_CASE("SBRCS", "[conv][genstats][graph]") {
{SUM, sum_tensor.devPtr},
{SQ_SUM, sq_sum_tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -651,7 +651,7 @@ TEST_CASE("CBR Graph NCHW", "[conv][graph][caching]") {
Surface<half> y_tensor(n * k * h * w, false); // Should be p, q.
Surface<half> z_tensor(n * k * h * w, false); // Should be p, q.
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -734,7 +734,7 @@ TEST_CASE("Convolution fprop large", "[conv][graph][caching]") {
std::unordered_map<int64_t, void *> variant_pack = {
{X->get_uid(), x_tensor.devPtr}, {W->get_uid(), w_tensor.devPtr}, {Y->get_uid(), y_tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/convolution/int8_fprop.cpp b/samples/cpp/convolution/int8_fprop.cpp
index 3d5ac2f..e9248f5 100644
--- a/samples/cpp/convolution/int8_fprop.cpp
+++ b/samples/cpp/convolution/int8_fprop.cpp
@@ -94,7 +94,7 @@ TEST_CASE("Conv with Int8 datatypes", "[conv][graph][caching]") {
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {
{X, x_tensor.devPtr}, {W, w_tensor.devPtr}, {Y, y_tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/convolution/wgrads.cpp b/samples/cpp/convolution/wgrads.cpp
index 2c58b26..26887dc 100644
--- a/samples/cpp/convolution/wgrads.cpp
+++ b/samples/cpp/convolution/wgrads.cpp
@@ -64,7 +64,7 @@ TEST_CASE("Convolution Wgrad", "[wgrad][graph][wgrad][Conv_wgrad]") {
Surface<half> dy_tensor(4 * 64 * 16 * 16, false);
Surface<half> dw_tensor(64 * 64 * 3 * 3, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -137,7 +137,7 @@ TEST_CASE("scale-bias-relu-wgrad Graph", "[wgrad][graph][scale-bias-relu-wgrad][
Surface<half> dy_tensor(4 * 64 * 16 * 16, false);
Surface<half> dw_tensor(64 * 64 * 3 * 3, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/matmul/fp8_matmul.cpp b/samples/cpp/matmul/fp8_matmul.cpp
index c6470cd..f32c627 100644
--- a/samples/cpp/matmul/fp8_matmul.cpp
+++ b/samples/cpp/matmul/fp8_matmul.cpp
@@ -115,7 +115,7 @@ TEST_CASE("Matmul fp8 precision", "[matmul][graph]") {
REQUIRE(graph.build_plans(handle, fe::BuildPlanPolicy_t::HEURISTICS_CHOICE).is_good());
Surface<float> C_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/matmul/int8_matmul.cpp b/samples/cpp/matmul/int8_matmul.cpp
index cf4353a..cb3ce34 100644
--- a/samples/cpp/matmul/int8_matmul.cpp
+++ b/samples/cpp/matmul/int8_matmul.cpp
@@ -104,7 +104,7 @@ TEST_CASE("Int8 Matmul", "[matmul][graph]") {
// note this is a bf16 tensor, but half is used just for memory allocation
Surface<float> C_gpu(b * m * n, false);
Surface<float> Bias_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/matmul/matmuls.cpp b/samples/cpp/matmul/matmuls.cpp
index ed0f10b..5c95713 100644
--- a/samples/cpp/matmul/matmuls.cpp
+++ b/samples/cpp/matmul/matmuls.cpp
@@ -250,7 +250,7 @@ TEST_CASE("Matmul", "[matmul][graph]") {
// Run cudnn graph
Surface<float> C_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -319,7 +319,7 @@ TEST_CASE("Abs + Matmul", "[matmul][graph]") {
// Run cudnn graph
Surface<float> C_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -539,7 +539,7 @@ TEST_CASE("Matmul SBR Graph", "[matmul][graph]") {
auto [graph, A, B, bias, scale, O] = lookup_cache_or_build_graph(
handle, x_tensor.devPtr, w_tensor.devPtr, s_tensor.devPtr, b_tensor.devPtr, y_tensor.devPtr);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -606,7 +606,7 @@ TEST_CASE("Matmul with restricted shared memory", "[matmul][graph]") {
// Run cudnn graph
Surface<float> C_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/matmul/mixed_matmul.cpp b/samples/cpp/matmul/mixed_matmul.cpp
index ab3e195..a2b05bd 100644
--- a/samples/cpp/matmul/mixed_matmul.cpp
+++ b/samples/cpp/matmul/mixed_matmul.cpp
@@ -96,7 +96,7 @@ TEST_CASE("Mixed Precision Matmul", "[matmul][graph]") {
//// Run cudnn graph
// note this is a bf16 tensor, but half is used just for memory allocation
Surface<half> C_gpu(b * m * n, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/misc/pointwise.cpp b/samples/cpp/misc/pointwise.cpp
index 8f8d699..e8f4cb1 100644
--- a/samples/cpp/misc/pointwise.cpp
+++ b/samples/cpp/misc/pointwise.cpp
@@ -51,7 +51,7 @@ TEST_CASE("Reduction", "[reduction]") {
Surface<float> C_gpu(n * n * n * n, false);
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {{A, A_gpu.devPtr},
{C, C_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -88,7 +88,7 @@ TEST_CASE("Fused scalar", "[scalar][graph]") {
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {{A, A_gpu.devPtr},
{C, C_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -148,7 +148,7 @@ TEST_CASE("Fused Amax Reduction and type conversion", "[reduction]") {
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {
{A, A_gpu.devPtr}, {scale, scale_gpu.devPtr}, {amax, amax_gpu.devPtr}, {C, C_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/misc/resample.cpp b/samples/cpp/misc/resample.cpp
index 3f782e7..21998c3 100644
--- a/samples/cpp/misc/resample.cpp
+++ b/samples/cpp/misc/resample.cpp
@@ -69,7 +69,7 @@ TEST_CASE("Resample Max Pooling NHWC Inference", "[resample][pooling][max][graph
Surface<half> Y_gpu(N * H * W * C, false);
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {{X, X_gpu.devPtr},
{Y, Y_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -132,7 +132,7 @@ TEST_CASE("Resample Max Pooling NHWC Training", "[resample][pooling][max][graph]
Surface<int8_t> Index_gpu(N * H * W * C / 8, false);
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {
{X, X_gpu.devPtr}, {Y, Y_gpu.devPtr}, {Index, Index_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -186,7 +186,7 @@ TEST_CASE("Resample Avg Pooling", "[resample][pooling][average][graph]") {
Surface<half> Y_gpu(N * H * W * C, false);
std::unordered_map<std::shared_ptr<fe::graph::Tensor_attributes>, void*> variant_pack = {{X, X_gpu.devPtr},
{Y, Y_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/misc/serialization.cpp b/samples/cpp/misc/serialization.cpp
index a130406..278bad8 100644
--- a/samples/cpp/misc/serialization.cpp
+++ b/samples/cpp/misc/serialization.cpp
@@ -178,7 +178,7 @@ TEST_CASE("CSBR Graph with serialization", "[conv][graph][serialization]") {
Surface<half> b_device_memory(k, false);
Surface<half> y_device_memory(n * k * h * w, false); // Should be p, q.
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -401,7 +401,7 @@ TEST_CASE("SDPA Graph with serialization", "[sdpa][graph][serialization]") {
Surface<int32_t> dropoutSeed(scaleSize, false, seed_value);
Surface<int32_t> dropoutOffset(scaleSize, false, (int32_t)1);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/misc/slice.cpp b/samples/cpp/misc/slice.cpp
index 087ba36..78962c6 100644
--- a/samples/cpp/misc/slice.cpp
+++ b/samples/cpp/misc/slice.cpp
@@ -80,7 +80,7 @@ TEST_CASE("Slice gemm", "[slice][gemm][graph][fusion]") {
Surface<half> C_gpu(B * M * N, false);
std::unordered_map<int64_t, void *> variant_pack = {
{a_uid, A_gpu.devPtr}, {b_uid, B_gpu.devPtr}, {c_uid, C_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/misc/sm_carveout.cpp b/samples/cpp/misc/sm_carveout.cpp
index d6818c0..b0e0651 100644
--- a/samples/cpp/misc/sm_carveout.cpp
+++ b/samples/cpp/misc/sm_carveout.cpp
@@ -121,7 +121,7 @@ TEST_CASE("SGBN with SM carveout", "[batchnorm][graph][sm_carveout]") {
Surface<float> Peer_stats_0_tensor(2 * 4 * c, false, true);
Surface<float> Peer_stats_1_tensor(2 * 4 * c, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/norm/batchnorm.cpp b/samples/cpp/norm/batchnorm.cpp
index 5949365..a91a9bd 100644
--- a/samples/cpp/norm/batchnorm.cpp
+++ b/samples/cpp/norm/batchnorm.cpp
@@ -96,7 +96,7 @@ TEST_CASE("BN Finalize Graph", "[batchnorm][graph]") {
Surface<float> eq_scale_tensor(32, false);
Surface<float> eq_bias_tensor(32, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -226,7 +226,7 @@ TEST_CASE("SGBN Add Relu Graph", "[batchnorm][graph]") {
Surface<float> Peer_stats_0_tensor(2 * 4 * 32, false, true);
Surface<float> Peer_stats_1_tensor(2 * 4 * 32, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -346,7 +346,7 @@ TEST_CASE("DBN Add Relu Graph", "[BN][graph][backward]") {
Surface<float> Peer_stats_0_tensor(2 * 4 * 32, false, true);
Surface<float> Peer_stats_1_tensor(2 * 4 * 32, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -454,7 +454,7 @@ TEST_CASE("BN_inference DRelu DBN Graph", "[Batchnorm][graph][backward]") {
Surface<float> Dbias_tensor(32, false);
Surface<half> DX_tensor(4 * 32 * 16 * 16, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/norm/layernorm.cpp b/samples/cpp/norm/layernorm.cpp
index bac996f..7f69f34 100644
--- a/samples/cpp/norm/layernorm.cpp
+++ b/samples/cpp/norm/layernorm.cpp
@@ -133,7 +133,7 @@ layernorm_fwd_dynamic_shapes(bool train = true) {
Surface<float> Mean_tensor(max_stats_volume, false);
Surface<float> Var_tensor(max_stats_volume, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -232,7 +232,7 @@ TEST_CASE("LayerNorm Training", "[layernorm][graph]") {
Surface<float> Bias_tensor(hidden_size, false);
Surface<half> Y_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -310,7 +310,7 @@ TEST_CASE("LayerNorm Inference", "[layernorm][graph]") {
Surface<float> Bias_tensor(hidden_size, false);
Surface<half> Y_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -392,7 +392,7 @@ TEST_CASE("LayerNorm Backward", "[layernorm][graph]") {
Surface<float> Dbias_tensor(hidden_size, false);
Surface<half> DX_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/norm/rmsnorm.cpp b/samples/cpp/norm/rmsnorm.cpp
index 878086c..d5c919b 100644
--- a/samples/cpp/norm/rmsnorm.cpp
+++ b/samples/cpp/norm/rmsnorm.cpp
@@ -78,7 +78,7 @@ TEST_CASE("RmsNorm Training", "[rmsnorm][graph]") {
Surface<float> Scale_tensor(hidden_size, false);
Surface<float> Y_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -150,7 +150,7 @@ TEST_CASE("RmsNorm Inference", "[rmsnorm][graph]") {
Surface<float> Bias_tensor(hidden_size, false);
Surface<float> Y_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -227,7 +227,7 @@ TEST_CASE("RmsNorm Backward", "[rmsnorm][graph]") {
Surface<float> Dbias_tensor(hidden_size, false);
Surface<float> DX_tensor(batch_size * seq_length * hidden_size, false);
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_bwd.cpp b/samples/cpp/sdpa/fp16_bwd.cpp
index 749cbed..1145008 100644
--- a/samples/cpp/sdpa/fp16_bwd.cpp
+++ b/samples/cpp/sdpa/fp16_bwd.cpp
@@ -275,7 +275,7 @@ TEST_CASE("Toy sdpa backward", "[graph][sdpa][flash][backward]") {
}
// Allocate workspace
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_bwd_with_flexible_graphs.cpp b/samples/cpp/sdpa/fp16_bwd_with_flexible_graphs.cpp
index 62d6bb3..50205c3 100644
--- a/samples/cpp/sdpa/fp16_bwd_with_flexible_graphs.cpp
+++ b/samples/cpp/sdpa/fp16_bwd_with_flexible_graphs.cpp
@@ -195,7 +195,7 @@ TEST_CASE("Toy sdpa backward with flexible graph", "[graph][sdpa][flash][backwar
{DV_UID, dV_tensor.devPtr}};
// Allocate workspace
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_cached.cpp b/samples/cpp/sdpa/fp16_cached.cpp
index d046271..4f0d3f8 100644
--- a/samples/cpp/sdpa/fp16_cached.cpp
+++ b/samples/cpp/sdpa/fp16_cached.cpp
@@ -146,7 +146,7 @@ TEST_CASE("Cached sdpa", "[graph][sdpa][flash]") {
{O_UID, o_tensor.devPtr},
{STATS_UID, stats_tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(fwd_graph2->get_workspace_size(workspace_size).is_good());
Surface<int8_t> fwd_workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_fwd.cpp b/samples/cpp/sdpa/fp16_fwd.cpp
index b3acf5e..63697a1 100644
--- a/samples/cpp/sdpa/fp16_fwd.cpp
+++ b/samples/cpp/sdpa/fp16_fwd.cpp
@@ -210,7 +210,7 @@ TEST_CASE("Toy sdpa forward", "[graph][sdpa][flash][forward]") {
variant_pack[STATS_UID] = statsTensor.devPtr;
}
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_fwd_with_custom_dropout.cpp b/samples/cpp/sdpa/fp16_fwd_with_custom_dropout.cpp
index 36cfba4..0cb9d2f 100644
--- a/samples/cpp/sdpa/fp16_fwd_with_custom_dropout.cpp
+++ b/samples/cpp/sdpa/fp16_fwd_with_custom_dropout.cpp
@@ -178,7 +178,7 @@ TEST_CASE("Toy sdpa forward with dropout", "[graph][sdpa][flash][forward]") {
variant_pack[STATS_UID] = statsTensor.devPtr;
}
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_fwd_with_flexible_graphs.cpp b/samples/cpp/sdpa/fp16_fwd_with_flexible_graphs.cpp
index 810de63..7d81afe 100644
--- a/samples/cpp/sdpa/fp16_fwd_with_flexible_graphs.cpp
+++ b/samples/cpp/sdpa/fp16_fwd_with_flexible_graphs.cpp
@@ -186,7 +186,7 @@ TEST_CASE("Toy sdpa forward with flexible graph", "[graph][sdpa][flash][forward]
variant_pack[STATS_UID] = statsTensor.devPtr;
}
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp16_fwd_with_paged_caches.cpp b/samples/cpp/sdpa/fp16_fwd_with_paged_caches.cpp
index 18dd937..d195f6b 100644
--- a/samples/cpp/sdpa/fp16_fwd_with_paged_caches.cpp
+++ b/samples/cpp/sdpa/fp16_fwd_with_paged_caches.cpp
@@ -268,7 +268,7 @@ TEST_CASE("Toy sdpa forward with paged caches", "[graph][sdpa][flash][paged][for
variant_pack[STATS_UID] = statsTensor.devPtr;
}
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(graph->get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp8_bwd.cpp b/samples/cpp/sdpa/fp8_bwd.cpp
index 82e542b..296f2f9 100644
--- a/samples/cpp/sdpa/fp8_bwd.cpp
+++ b/samples/cpp/sdpa/fp8_bwd.cpp
@@ -214,7 +214,7 @@ TEST_CASE("sdpa_fp8_bprop", "[graph][sdpa][fp8][backward]") {
{Amax_dV, AMax_dV_Tensor.devPtr},
{Amax_dP, AMax_dP_Tensor.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(mha_graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
@@ -385,7 +385,7 @@ TEST_CASE("sdpa_fp8_gqa_bprop", "[graph][sdpa][fp8][backward]") {
{amax_dV, amax_dV_gpu.devPtr},
{amax_dP, amax_dP_gpu.devPtr}};
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(mha_graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
diff --git a/samples/cpp/sdpa/fp8_fwd.cpp b/samples/cpp/sdpa/fp8_fwd.cpp
index 6ede98d..23abc3f 100644
--- a/samples/cpp/sdpa/fp8_fwd.cpp
+++ b/samples/cpp/sdpa/fp8_fwd.cpp
@@ -146,7 +146,7 @@ TEST_CASE("sdpa_fp8_fprop", "[graph][sdpa][fp8][forward]") {
variant_pack[Stats] = stats_tensor.devPtr;
}
- int64_t workspace_size;
+ int64_t workspace_size = 0;
REQUIRE(mha_graph.get_workspace_size(workspace_size).is_good());
Surface<int8_t> workspace(workspace_size, false);
--
2.47.0
@@ -1,133 +0,0 @@
cmake_minimum_required(VERSION 3.23)
project(cudnn_frontend VERSION 1.8.0)
option(CUDNN_FRONTEND_SKIP_JSON_LIB "Defines whether FE should not include nlohmann/json.hpp." OFF)
option(CUDNN_FRONTEND_BUILD_SAMPLES "Defines if samples are built or not." ON)
option(CUDNN_FRONTEND_BUILD_TESTS "Defines if unittests are built or not." ON)
option(CUDNN_FRONTEND_BUILD_PYTHON_BINDINGS "Defines if python bindings are built or not." OFF)
if(MSVC OR MSYS OR MINGW)
add_compile_options(/W4 /WX)
else()
add_compile_options(-Wall -Wextra -Wpedantic -Werror -Wno-error=attributes -Wno-attributes -Wno-error=unused-function -Wno-unused-function)
endif()
add_library(cudnn_frontend INTERFACE)
# Add header files to library
file(GLOB_RECURSE CUDNN_FRONTEND_INCLUDE_FILES "include/*")
target_sources(
cudnn_frontend
PUBLIC
FILE_SET
HEADERS
BASE_DIRS
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
FILES
"${CUDNN_FRONTEND_INCLUDE_FILES}"
)
unset(CUDNN_FRONTEND_INCLUDE_FILES)
target_compile_definitions(cudnn_frontend INTERFACE $<$<BOOL:${CUDNN_FRONTEND_SKIP_JSON_LIB}>:CUDNN_FRONTEND_SKIP_JSON_LIB>)
target_include_directories(
cudnn_frontend
INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
# Find the cuda compiler
find_package(CUDAToolkit REQUIRED)
target_include_directories(cudnn_frontend INTERFACE ${CUDAToolkit_INCLUDE_DIRS})
target_compile_features(cudnn_frontend INTERFACE cxx_std_17)
# Make PCH for targets to link against
add_library(_cudnn_frontend_pch INTERFACE)
target_precompile_headers(_cudnn_frontend_pch INTERFACE ${PROJECT_SOURCE_DIR}/include/cudnn_frontend.h)
if (CUDNN_FRONTEND_BUILD_SAMPLES)
add_subdirectory(samples)
target_link_libraries(
samples
PRIVATE
CUDA::cublasLt
CUDA::nvrtc
)
target_link_libraries(
legacy_samples
PRIVATE
CUDA::cublasLt
CUDA::nvrtc
)
endif()
if (CUDNN_FRONTEND_BUILD_TESTS)
add_subdirectory(test)
target_link_libraries(
tests
CUDA::cublasLt
CUDA::nvrtc
)
endif()
if (CUDNN_FRONTEND_BUILD_PYTHON_BINDINGS)
add_subdirectory(python)
endif()
# Introduce variables:
# * CMAKE_INSTALL_LIBDIR
# * CMAKE_INSTALL_BINDIR
# * CMAKE_INSTALL_INCLUDEDIR
include(GNUInstallDirs)
# Install and export the header files
install(
TARGETS
cudnn_frontend
EXPORT
cudnn_frontend_targets
FILE_SET HEADERS
)
if (CUDNN_FRONTEND_BUILD_SAMPLES)
install(TARGETS legacy_samples samples RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
if (CUDNN_FRONTEND_BUILD_TESTS)
install(TARGETS tests RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
# See https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html#example-generating-package-files
include(CMakePackageConfigHelpers)
export(
EXPORT
cudnn_frontend_targets
FILE
"${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend/cudnn_frontend-targets.cmake"
)
install(
EXPORT
cudnn_frontend_targets
FILE
cudnn_frontend-targets.cmake
DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
)
configure_package_config_file(
cudnn_frontend-config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend-config.cmake"
INSTALL_DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/cudnn_frontend-config.cmake"
DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/cudnn_frontend"
)
@@ -1,3 +0,0 @@
@PACKAGE_INIT@
include(${CMAKE_CURRENT_LIST_DIR}/cudnn_frontend-targets.cmake)

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