Merge staging-next into staging
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -137,7 +137,6 @@ with lib.maintainers;
|
||||
|
||||
c = {
|
||||
members = [
|
||||
matthewbauer
|
||||
mic92
|
||||
];
|
||||
scope = "Maintain C libraries and tooling.";
|
||||
|
||||
@@ -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
|
||||
]
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -541,6 +541,6 @@ in
|
||||
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ matthewbauer ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
}
|
||||
|
||||
@@ -120,6 +120,6 @@ in
|
||||
systemd.defaultUnit = "graphical.target";
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ matthewbauer ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
{
|
||||
name = "cage";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ matthewbauer ];
|
||||
meta = {
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
unionOfDisjoints = lib.fold lib.attrsets.unionOfDisjoint { };
|
||||
unionOfDisjoints = lib.foldr lib.attrsets.unionOfDisjoint { };
|
||||
|
||||
addTests =
|
||||
attrPath: drv:
|
||||
|
||||
@@ -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")"
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -94,7 +94,6 @@ stdenv.mkDerivation {
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
stesie
|
||||
matthewbauer
|
||||
marcin-serwin
|
||||
emilylange
|
||||
];
|
||||
|
||||
@@ -44,7 +44,6 @@ clangStdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
ashalkhakov
|
||||
dblsaiko
|
||||
matthewbauer
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -104,7 +104,6 @@ clangStdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
ashalkhakov
|
||||
dblsaiko
|
||||
matthewbauer
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -27,7 +27,6 @@ clangStdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
ashalkhakov
|
||||
dblsaiko
|
||||
matthewbauer
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,7 +36,6 @@ clangStdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
ashalkhakov
|
||||
dblsaiko
|
||||
matthewbauer
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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"
|
||||
|
||||
Executable
+36
@@ -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
|
||||
Generated
+2254
-1322
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
@@ -139,7 +139,6 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/openwall/john/";
|
||||
maintainers = with lib.maintainers; [
|
||||
offline
|
||||
matthewbauer
|
||||
cherrykitten
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -27,6 +27,6 @@ buildGoModule rec {
|
||||
mainProgram = "json2hcl";
|
||||
homepage = "https://github.com/kvz/json2hcl";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthewbauer ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -163,7 +163,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.ncsa;
|
||||
mainProgram = "tapi";
|
||||
maintainers = with lib.maintainers; [
|
||||
matthewbauer
|
||||
reckenrode
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
||||
- No installation
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.matthewbauer ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ matthewbauer ];
|
||||
maintainers = [ ];
|
||||
description = "Parses .plist files";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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");
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -39,7 +39,6 @@ stdenv.mkDerivation {
|
||||
license = lib.licenses.gpl3;
|
||||
mainProgram = "undmg";
|
||||
maintainers = with lib.maintainers; [
|
||||
matthewbauer
|
||||
lnl7
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
|
||||
@@ -70,7 +70,6 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
|
||||
homepage = "https://wasi.dev";
|
||||
platforms = platforms.wasi;
|
||||
maintainers = with maintainers; [
|
||||
matthewbauer
|
||||
rvolosatovs
|
||||
wucke13
|
||||
];
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-30
@@ -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
|
||||
|
||||
-84
@@ -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
|
||||
|
||||
-85
@@ -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
|
||||
|
||||
-591
@@ -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
Reference in New Issue
Block a user