Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-09-19 12:05:50 +00:00 committed by GitHub
commit 1f0ce6a4e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
36 changed files with 523 additions and 85 deletions

View File

@ -60,7 +60,7 @@ in {
systemd.user.services.cdemu-daemon.serviceConfig = { systemd.user.services.cdemu-daemon.serviceConfig = {
Type = "dbus"; Type = "dbus";
BusName = "net.sf.cdemu.CDEmuDaemon"; BusName = "net.sf.cdemu.CDEmuDaemon";
ExecStart = "${pkgs.cdemu-daemon}/bin/cdemu-daemon --config-file \"%h/.config/cdemu-daemon\""; ExecStart = "${lib.getExe pkgs.cdemu-daemon} --config-file \"%h/.config/cdemu-daemon\"";
Restart = "no"; Restart = "no";
}; };

View File

@ -87,7 +87,7 @@ in
cachedir = lib.mkOption { cachedir = lib.mkOption {
type = lib.types.nullOr lib.types.path; type = lib.types.nullOr lib.types.path;
default = "/var/cache/tarsnap/${utils.lib.escapeSystemdPath config.keyfile}"; default = "/var/cache/tarsnap/${utils.escapeSystemdPath config.keyfile}";
defaultText = lib.literalExpression '' defaultText = lib.literalExpression ''
"/var/cache/tarsnap/''${utils.escapeSystemdPath config.${options.keyfile}}" "/var/cache/tarsnap/''${utils.escapeSystemdPath config.${options.keyfile}}"
''; '';

View File

@ -147,6 +147,10 @@ in {
spectacle spectacle
ffmpegthumbs ffmpegthumbs
krdp krdp
] ++ lib.optionals config.services.flatpak.enable [
# Since PackageKit Nix support is not there yet,
# only install discover if flatpak is enabled.
discover
]; ];
in in
requiredPackages requiredPackages

View File

@ -37,7 +37,12 @@ in {
after = [ "network-online.target" ]; after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ fake-lsb-release pkgs.coreutils ]; path = [
fake-lsb-release
pkgs.coreutils
"/run/wrappers"
"/run/current-system/sw"
];
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/amazon-ssm-agent"; ExecStart = "${cfg.package}/bin/amazon-ssm-agent";

View File

@ -165,10 +165,10 @@ let
log = { log = {
level = mkOption { level = mkOption {
type = types.enum [ "info" "debug" "trace" ]; type = types.enum [ "trace" "debug" "info" "warn" "error" ];
default = "debug"; default = "debug";
example = "info"; example = "info";
description = "Level of verbosity for logs: info, debug, trace."; description = "Level of verbosity for logs.";
}; };
format = mkOption { format = mkOption {

View File

@ -14838,6 +14838,18 @@ final: prev:
meta.homepage = "https://github.com/seirl/vim-jinja-languages/"; meta.homepage = "https://github.com/seirl/vim-jinja-languages/";
}; };
vim-jjdescription = buildVimPlugin {
pname = "vim-jjdescription";
version = "2024-05-28";
src = fetchFromGitHub {
owner = "avm99963";
repo = "vim-jjdescription";
rev = "ca14325202f3cd894d01ba833451017624249222";
sha256 = "1y83fdih991ivlvgcwp0sx97icmf9k6px7mr26vb77izjlf011w2";
};
meta.homepage = "https://github.com/avm99963/vim-jjdescription/";
};
vim-jsbeautify = buildVimPlugin { vim-jsbeautify = buildVimPlugin {
pname = "vim-jsbeautify"; pname = "vim-jsbeautify";
version = "2020-12-11"; version = "2020-12-11";

View File

@ -1249,6 +1249,7 @@ https://github.com/pangloss/vim-javascript/,,
https://github.com/jelera/vim-javascript-syntax/,, https://github.com/jelera/vim-javascript-syntax/,,
https://github.com/lepture/vim-jinja/,, https://github.com/lepture/vim-jinja/,,
https://github.com/seirl/vim-jinja-languages/,HEAD, https://github.com/seirl/vim-jinja-languages/,HEAD,
https://github.com/avm99963/vim-jjdescription/,HEAD,
https://github.com/maksimr/vim-jsbeautify/,, https://github.com/maksimr/vim-jsbeautify/,,
https://github.com/heavenshell/vim-jsdoc/,, https://github.com/heavenshell/vim-jsdoc/,,
https://github.com/elzr/vim-json/,, https://github.com/elzr/vim-json/,,

View File

@ -1,11 +1,14 @@
{ stdenv, callPackage, cmake, pkg-config, glib, libao, intltool, libmirage, coreutils }: { stdenv, callPackage, cmake, pkg-config, glib, libao, intltool, libmirage, coreutils }:
stdenv.mkDerivation {
let
inherit (callPackage ./common-drv-attrs.nix { inherit (callPackage ./common-drv-attrs.nix {
version = "3.2.6"; version = "3.2.7";
pname = "cdemu-daemon"; pname = "cdemu-daemon";
hash = "sha256-puQE4+91xhRuNjVPZYgN/WO0uO8fVAOdxQWOGQ+FfY8="; hash = "sha256-EKh2G6RA9Yq46BpTAqN2s6TpLJb8gwDuEpGiwdGcelc=";
}) pname version src meta; }) pname version src meta;
in
stdenv.mkDerivation {
inherit pname version src;
nativeBuildInputs = [ cmake pkg-config intltool ]; nativeBuildInputs = [ cmake pkg-config intltool ];
buildInputs = [ glib libao libmirage ]; buildInputs = [ glib libao libmirage ];
@ -17,4 +20,16 @@ stdenv.mkDerivation {
$out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \ $out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \
--replace /bin/true ${coreutils}/bin/true --replace /bin/true ${coreutils}/bin/true
''; '';
meta = {
inherit (meta)
description
license
longDescription
maintainers
platforms
;
homepage = "https://cdemu.sourceforge.io/about/daemon/";
mainProgram = "cdemu-daemon";
};
} }

View File

@ -2,13 +2,15 @@
, glib, libsndfile, zlib, bzip2, xz, libsamplerate, intltool , glib, libsndfile, zlib, bzip2, xz, libsamplerate, intltool
, pcre, util-linux, libselinux, libsepol }: , pcre, util-linux, libselinux, libsepol }:
stdenv.mkDerivation { let
inherit (callPackage ./common-drv-attrs.nix { inherit (callPackage ./common-drv-attrs.nix {
version = "3.2.7"; version = "3.2.9";
pname = "libmirage"; pname = "libmirage";
hash = "sha256-+okkgNeVS8yoKSrQDy4It7PiPlTSiOsUoFxQ1FS9s9M="; hash = "sha256-JBd+wHSZRyRW1SZsaAaRO2dNUFkpwRCr3s1f39KyWIs=";
}) pname version src meta; }) pname version src meta;
in
stdenv.mkDerivation {
inherit pname version src;
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
@ -16,4 +18,13 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake pkg-config intltool gobject-introspection ]; nativeBuildInputs = [ cmake pkg-config intltool gobject-introspection ];
propagatedBuildInputs = [ pcre util-linux libselinux libsepol ]; propagatedBuildInputs = [ pcre util-linux libselinux libsepol ];
meta = {
inherit (meta)
maintainers
license
platforms
;
description = "CD-ROM image access library";
homepage = "https://cdemu.sourceforge.io/about/libmirage/";
};
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vhba"; pname = "vhba";
version = "20240202"; version = "20240917";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz"; url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz";
hash = "sha256-v1hQ1Lj1AiHKh9c0OpKe2oexkfb1roxhQXRUO1ut3oM="; hash = "sha256-zjTLriw2zvjX0Jxfa9QtaHG5tTC7cLTKEA+WSCP+Dpg=";
}; };
makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ]; makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];

View File

@ -24,6 +24,8 @@ appimageTools.wrapType2 rec {
--replace 'Exec=AppRun' 'Exec=${pname}' --replace 'Exec=AppRun' 'Exec=${pname}'
''; '';
passthru.updateScript = ./update.py;
meta = with lib; { meta = with lib; {
description = "All-in-one encrypted todo list, notebook, habit and mood tracker, pomodoro timer, and journaling app"; description = "All-in-one encrypted todo list, notebook, habit and mood tracker, pomodoro timer, and journaling app";
longDescription = '' longDescription = ''
@ -31,6 +33,7 @@ appimageTools.wrapType2 rec {
''; '';
homepage = "https://lunatask.app"; homepage = "https://lunatask.app";
downloadPage = "https://lunatask.app/download"; downloadPage = "https://lunatask.app/download";
changelog = "https://lunatask.app/releases/${version}";
license = licenses.unfree; license = licenses.unfree;
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ henkery ]; maintainers = with maintainers; [ henkery ];

View File

@ -0,0 +1,18 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python --packages python3 python3Packages.feedparser common-updater-scripts
"""
Parses the latest version from atom feed and runs update-source-version
"""
import subprocess
import feedparser
URL = "https://lunatask.app/releases/atom.xml"
feed = feedparser.parse(URL)
latest_entry = feed.entries[0]
latest_version = latest_entry.title.split()[-1].lstrip("v")
subprocess.run(["update-source-version", "lunatask", latest_version], check=True)

View File

@ -15,7 +15,7 @@
services.k3s.enable = true; services.k3s.enable = true;
services.k3s.role = "server"; services.k3s.role = "server";
services.k3s.extraFlags = toString [ services.k3s.extraFlags = toString [
# "--kubelet-arg=v=4" # Optionally add additional args to k3s # "--debug" # Optionally add additional args to k3s
]; ];
} }
``` ```

View File

@ -3,7 +3,7 @@ let
versions = versions =
if stdenv.isLinux then { if stdenv.isLinux then {
stable = "0.0.67"; stable = "0.0.67";
ptb = "0.0.103"; ptb = "0.0.105";
canary = "0.0.483"; canary = "0.0.483";
development = "0.0.28"; development = "0.0.28";
} else { } else {
@ -21,7 +21,7 @@ let
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-BYzISVHSlKqVN0Egkw5su1wJnrGjQYbxYV840bDCakM="; hash = "sha256-u/4wWssZxKlHrRW/Vd9pqUfqN2VQGYv1SDktpRsOayM=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";

View File

@ -15,8 +15,8 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "termius"; pname = "termius";
version = "9.5.0"; version = "9.6.1";
revision = "203"; revision = "204";
src = fetchurl { src = fetchurl {
# find the latest version with # find the latest version with
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
# and the sha512 with # and the sha512 with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_${revision}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_${revision}.snap";
hash = "sha512-BouIQvJZbi350l30gl9fnXKYRHhi5q1oOvyEIVEmd4DjXvJLQisV4cK4OZIJ/bPOCI5DTxNOY7PwEduVQd3SYA=="; hash = "sha512-ok3B/h+d0Q7k5i+IjgGB+4S5g2kzrQT/b4dYz4k07OnyfjJRgJ4X4f7BFFrwKLd+IbIC5OIibrvivWnkSWU3Ew==";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lean4"; pname = "lean4";
version = "4.9.0"; version = "4.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leanprover"; owner = "leanprover";
repo = "lean4"; repo = "lean4";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-wi7outnKpz60to6Z7MSGAKK6COxmpJo6iu6Re86jqlo="; hash = "sha256-C3N56f3mT+5f149T1BIYQil2UleAWmnRYLqUq4zcLgs=";
}; };
postPatch = '' postPatch = ''
@ -53,6 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests = { passthru.tests = {
version = testers.testVersion { version = testers.testVersion {
package = finalAttrs.finalPackage; package = finalAttrs.finalPackage;
version = "v${finalAttrs.version}";
}; };
}; };

View File

@ -21,7 +21,7 @@ let
in in
buildDunePackage' rec { buildDunePackage' rec {
pname = "docfd"; pname = "docfd";
version = "8.0.2"; version = "8.0.3";
minimalOCamlVersion = "5.1"; minimalOCamlVersion = "5.1";
@ -29,7 +29,7 @@ buildDunePackage' rec {
owner = "darrenldl"; owner = "darrenldl";
repo = "docfd"; repo = "docfd";
rev = version; rev = version;
hash = "sha256-A4feBRZs9EFpfgbGGcaKlwAz59RbKuPZAVJytgYVUAc="; hash = "sha256-890/3iBruaQtWwlcvwuz4ujp7+P+5y1/2Axx4Iuik8Q=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -28,13 +28,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "firefoxpwa"; pname = "firefoxpwa";
version = "2.12.3"; version = "2.12.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "filips123"; owner = "filips123";
repo = "PWAsForFirefox"; repo = "PWAsForFirefox";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-+dQr8eMOvCKt3ZEVU/EbEroVSpLQsBC+1Wix01IrOyc="; hash = "sha256-VNCQUF/Xep/PkrNd9Mzbm3NWPToqXpJM6SzDoqBXbNY=";
}; };
sourceRoot = "${src.name}/native"; sourceRoot = "${src.name}/native";

View File

@ -7,13 +7,13 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "lazygit"; pname = "lazygit";
version = "0.44.0"; version = "0.44.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jesseduffield"; owner = "jesseduffield";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-bJ2wdS0BCAGjfbnMoQSUhw/xAkC5HPRklefXx2ux078="; hash = "sha256-BP5PMgRq8LHLuUYDrWaX1PgfT9VEhj3xeLE2aDMAPF0=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "msolve"; pname = "msolve";
version = "0.7.1"; version = "0.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "algebraic-solving"; owner = "algebraic-solving";
repo = "msolve"; repo = "msolve";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-f1AtZ0tyHg3fqz44GK7eCsye+wiKeBbpKK9JWXpV/tk="; hash = "sha256-p7fD954aMApyBP58cvGrPwHEqhkxWlaiDHUlQT7kX4c=";
}; };
postPatch = '' postPatch = ''

View File

@ -0,0 +1,77 @@
From cc4718cbea1bd70de21a2be515a944802246ffc7 Mon Sep 17 00:00:00 2001
From: Vincent Ambo <mail@tazj.in>
Date: Sun, 15 Sep 2024 03:08:28 +0300
Subject: [PATCH] remove dependency on plausible
---
package-lock.json | 9 ---------
package.json | 1 -
src/App.svelte | 8 --------
3 files changed, 18 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index d52de6c0..d96e342f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,7 +29,6 @@
"marked-katex-extension": "^5.1.1",
"marked-linkify-it": "^3.1.11",
"md5": "^2.3.0",
- "plausible-tracker": "^0.3.9",
"svelte": "^4.2.19",
"twemoji": "^14.0.2",
"zod": "^3.23.8"
@@ -3697,14 +3696,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/plausible-tracker": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/plausible-tracker/-/plausible-tracker-0.3.9.tgz",
- "integrity": "sha512-hMhneYm3GCPyQon88SZrVJx+LlqhM1kZFQbuAgXPoh/Az2YvO1B6bitT9qlhpiTdJlsT5lsr3gPmzoVjb5CDXA==",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/playwright": {
"version": "1.46.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.1.tgz",
diff --git a/package.json b/package.json
index 6d569ad9..61e8d892 100644
--- a/package.json
+++ b/package.json
@@ -73,7 +73,6 @@
"marked-katex-extension": "^5.1.1",
"marked-linkify-it": "^3.1.11",
"md5": "^2.3.0",
- "plausible-tracker": "^0.3.9",
"svelte": "^4.2.19",
"twemoji": "^14.0.2",
"zod": "^3.23.8"
diff --git a/src/App.svelte b/src/App.svelte
index 8161c390..4281ba61 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -1,6 +1,4 @@
<script lang="ts">
- import Plausible from "plausible-tracker";
-
import * as router from "@app/lib/router";
import { unreachable } from "@app/lib/utils";
@@ -28,12 +26,6 @@
void router.loadFromLocation();
- if (import.meta.env.PROD) {
- const plausible = Plausible({ domain: "app.radicle.xyz" });
-
- plausible.enableAutoPageviews();
- }
-
$: document.documentElement.setAttribute("data-codefont", $codeFont);
$: document.documentElement.setAttribute("data-theme", $theme);
</script>
--
2.46.0

View File

@ -0,0 +1,130 @@
{
radicle-httpd,
fetchFromGitHub,
fetchgit,
lib,
buildNpmPackage,
writeText,
jq,
runCommand,
}:
let
# radicle-explorer bundles these freely available Emoji assets, but does not
# redistribute them.
twemojiAssets = fetchFromGitHub {
owner = "twitter";
repo = "twemoji";
rev = "v14.0.2";
hash = "sha256-YoOnZ5uVukzi/6bLi22Y8U5TpplPzB7ji42l+/ys5xI=";
meta.license = [ lib.licenses.cc-by-40 ];
};
mkPassthru = self: args: {
# radicle-explorer is configured through static build time configuration.
#
# Using this function you can override the this configuration, for example,
# to configure alternative preferred peers (which are shown in the UI by
# default).
#
# Example usage:
#
# ```nix
# radicle-explorer.withConfig {
# preferredSeeds = [{
# hostname = "seed.example.com";
# port = 443;
# scheme = "https";
# }];
# }
# ```
withConfig =
config:
let
overrides = writeText "config-overrides.json" (builtins.toJSON config);
newConfig = runCommand "config.json" { } ''
${jq}/bin/jq -s '.[0] * .[1]' ${(self args).src}/config/default.json ${overrides} > $out
'';
in
lib.fix (
final:
(self args).overrideAttrs (prev: {
preBuild = ''
${prev.preBuild or ""}
cp ${newConfig} config/local.json
'';
passthru = prev.passthru // mkPassthru final args;
})
);
# By default, radicle-explorer includes a dependency that sends requests
# to a web analytics tracking service. Using this attribute yields a
# version of radicle-explorer with this dependency removed.
withoutTrackers = self {
patches = [ ./0001-remove-dependency-on-plausible.patch ];
npmDepsHash = "sha256:1hbrzfjkfc0q8qk03yi6qb9zqm57h7hnkn7fl0yxkrzbrljaljaz";
};
};
in
lib.fix (
self:
lib.makeOverridable (
{
npmDepsHash ? "sha256:0kw6rvqm0s21j1rss35idvgcrzzczfy6qi3323y385djw4ygk5xs",
patches ? [ ],
}@args:
buildNpmPackage {
pname = "radicle-explorer";
version = radicle-httpd.version;
inherit patches npmDepsHash;
# radicle-explorer uses the radicle-httpd API, and they are developed in the
# same repo. For this reason we pin the sources to each other, but due to
# radicle-httpd using a more limited sparse checkout we need to carry a
# separate hash.
src = fetchgit {
inherit (radicle-httpd.src) url rev;
hash = "sha256:09m13238h6j7g02r6332ihgyyzbjx90pgz14rz29pgv7936h6il8";
};
postPatch = ''
patchShebangs --build ./scripts
mkdir -p "public/twemoji"
cp -t public/twemoji -r -- ${twemojiAssets}/assets/svg/*
: >scripts/install-twemoji-assets
'';
dontConfigure = true;
doCheck = false;
installPhase = ''
runHook preInstall
mkdir -p "$out"
cp -r -t "$out" build/*
runHook postInstall
'';
passthru = mkPassthru self args;
meta = {
description = "Web frontend for Radicle";
longDescription = ''
Radicle Explorer is a web-frontend for Radicle which supports browsing
repositories, issues and patches on publicly available Radicle seeds.
This package builds the web interface, ready to be served by any web
server.
'';
homepage = "https://radicle.xyz";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [
tazjin
lorenzleutgeb
];
};
}
)
) { }

View File

@ -16,12 +16,14 @@ rustPlatform.buildRustPackage rec {
version = "0.17.0"; version = "0.17.0";
env.RADICLE_VERSION = version; env.RADICLE_VERSION = version;
# You must update the radicle-explorer source hash when changing this.
src = fetchgit { src = fetchgit {
url = "https://seed.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git"; url = "https://seed.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git";
rev = "refs/namespaces/z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5/refs/tags/v${version}"; rev = "refs/namespaces/z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5/refs/tags/v${version}";
hash = "sha256-nstyb1rSll3Sl0DlA9JAAwvr6JN8okJ03WoQnE4dXEk="; hash = "sha256-nstyb1rSll3Sl0DlA9JAAwvr6JN8okJ03WoQnE4dXEk=";
sparseCheckout = [ "radicle-httpd" ]; sparseCheckout = [ "radicle-httpd" ];
}; };
sourceRoot = "${src.name}/radicle-httpd"; sourceRoot = "${src.name}/radicle-httpd";
cargoHash = "sha256-M4tDtUXS99/Zb1Z71CTdW9gMgRR30rbwA6wK7nlwblQ="; cargoHash = "sha256-M4tDtUXS99/Zb1Z71CTdW9gMgRR30rbwA6wK7nlwblQ=";

View File

@ -0,0 +1,24 @@
{
lib,
fetchgit,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "spl";
version = "0.3.2";
src = fetchgit {
url = "https://git.tudbut.de/tudbut/spl";
rev = "v${version}";
hash = "sha256-thTKM07EtgAVvjpIx8pVssTmN0jPK/OrPYhRfwp7T+U=";
};
cargoHash = "sha256-7MYwWA3F7uJewmBRR0iQD4iXJZokHqIt9Q9dMoj6JVs=";
meta = {
description = "Simple, concise, concatenative scripting language";
homepage = "https://git.tudbut.de/tudbut/spl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tudbut ];
mainProgram = "spl";
};
}

View File

@ -11,13 +11,13 @@
buildGoModule rec { buildGoModule rec {
pname = "werf"; pname = "werf";
version = "2.10.5"; version = "2.10.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "werf"; owner = "werf";
repo = "werf"; repo = "werf";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-pNKcBiZSZa8F8E5grEXbgPpqk9H+mu/TeiU3FSAalQE="; hash = "sha256-TVjmPylomSp8WT2YW6x6CPkk6FinKGrGRlDEAtl8vRI=";
}; };
vendorHash = "sha256-OR2nIR2q3iRfaSQSQRKn+jbygETx2+WmkOIjOCIB9O8="; vendorHash = "sha256-OR2nIR2q3iRfaSQSQRKn+jbygETx2+WmkOIjOCIB9O8=";

View File

@ -1,8 +1,8 @@
{ mkDerivation }: { mkDerivation }:
mkDerivation { mkDerivation {
version = "1.17.2"; version = "1.17.3";
sha256 = "sha256-8rb2f4CvJzio3QgoxvCv1iz8HooXze0tWUJ4Sc13dxg="; sha256 = "sha256-7Qo6y0KAQ9lwD4oH+7wQ4W5i6INHIBDN9IQAAsYzNJw=";
# https://hexdocs.pm/elixir/1.17.2/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp # https://hexdocs.pm/elixir/1.17.3/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
minimumOTPVersion = "25"; minimumOTPVersion = "25";
escriptPath = "lib/elixir/scripts/generate_app.escript"; escriptPath = "lib/elixir/scripts/generate_app.escript";
} }

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
description = "Microbenchmark support library"; description = "Microbenchmark support library";
homepage = "https://github.com/google/benchmark"; homepage = "https://github.com/google/benchmark";
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin ++ platforms.freebsd;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
}; };
} }

View File

@ -1,6 +1,6 @@
{ callPackage, ... } @ args: { callPackage, ... } @ args:
callPackage ./generic.nix ({ callPackage ./generic.nix ({
version = "27.4"; version = "27.5";
hash = "sha256-PejX1RlEw8ASU7vWMdpQ8WaPJrxURK01GXBx+pvwV4I="; hash = "sha256-wUXvdlz19VYpFGU9o0pap/PrwE2AkopLZJVUqfEpJVI=";
} // args) } // args)

View File

@ -48,7 +48,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "geoip2" ]; pythonImportsCheck = [ "geoip2" ];
disabledTests = disabledTests =
lib.optionals (pythonAtLeast "3.11") [ lib.optionals (pythonAtLeast "3.10") [
# https://github.com/maxmind/GeoIP2-python/pull/136 # https://github.com/maxmind/GeoIP2-python/pull/136
"TestAsyncClient" "TestAsyncClient"
] ]

View File

@ -20,6 +20,7 @@
distutils, distutils,
wheel, wheel,
jax, jax,
ml-dtypes,
opt-einsum, opt-einsum,
tensorflow-estimator-bin, tensorflow-estimator-bin,
tensorboard, tensorboard,
@ -38,9 +39,10 @@
typing-extensions, typing-extensions,
}: }:
# We keep this binary build for two reasons: # We keep this binary build for three reasons:
# - the source build doesn't work on Darwin. # - the source build doesn't work on Darwin.
# - the source build is currently brittle and not easy to maintain # - the source build is currently brittle and not easy to maintain
# - the source build doesn't work on NVIDIA Jetson platforms
# unsupported combination # unsupported combination
assert !(stdenv.isDarwin && cudaSupport); assert !(stdenv.isDarwin && cudaSupport);
@ -48,20 +50,23 @@ assert !(stdenv.isDarwin && cudaSupport);
let let
packages = import ./binary-hashes.nix; packages = import ./binary-hashes.nix;
inherit (cudaPackages) cudatoolkit cudnn; inherit (cudaPackages) cudatoolkit cudnn;
isCudaJetson = cudaSupport && cudaPackages.cudaFlags.isJetsonBuild;
isCudaX64 = cudaSupport && stdenv.hostPlatform.isx86_64;
in in
buildPythonPackage { buildPythonPackage {
pname = "tensorflow" + lib.optionalString cudaSupport "-gpu"; pname = "tensorflow" + lib.optionalString cudaSupport "-gpu";
inherit (packages) version; version = packages."${"version" + lib.optionalString isCudaJetson "_jetson"}";
format = "wheel"; format = "wheel";
src = src =
let let
pyVerNoDot = lib.strings.stringAsChars (x: lib.optionalString (x != ".") x) python.pythonVersion; pyVerNoDot = lib.strings.stringAsChars (x: lib.optionalString (x != ".") x) python.pythonVersion;
platform = stdenv.system; platform = stdenv.system;
cuda = lib.optionalString cudaSupport "_gpu"; cuda = lib.optionalString cudaSupport (if isCudaJetson then "_jetson" else "_gpu");
key = "${platform}_${pyVerNoDot}${cuda}"; key = "${platform}_${pyVerNoDot}${cuda}";
in in
fetchurl (packages.${key} or (throw "tensoflow-bin: unsupported system: ${stdenv.system}")); fetchurl (packages.${key} or (throw "tensoflow-bin: unsupported configuration: ${key}"));
buildInputs = [ llvmPackages.openmp ]; buildInputs = [ llvmPackages.openmp ];
@ -73,7 +78,7 @@ buildPythonPackage {
protobuf protobuf
numpy numpy
scipy scipy
jax (if isCudaX64 then jax else ml-dtypes)
termcolor termcolor
grpcio grpcio
six six
@ -90,10 +95,13 @@ buildPythonPackage {
h5py h5py
] ++ lib.optional (!isPy3k) mock; ] ++ lib.optional (!isPy3k) mock;
build-system = [ build-system =
distutils [
wheel distutils
] ++ lib.optionals cudaSupport [ addDriverRunpath ]; wheel
]
++ lib.optionals cudaSupport [ addDriverRunpath ]
++ lib.optionals isCudaJetson [ cudaPackages.autoAddCudaCompatRunpath ];
preConfigure = '' preConfigure = ''
unset SOURCE_DATE_EPOCH unset SOURCE_DATE_EPOCH
@ -103,6 +111,11 @@ buildPythonPackage {
pushd dist pushd dist
for f in tensorflow-*+nv*.whl; do
# e.g. *nv24.07* -> *nv24.7*
mv "$f" "$(sed -E 's/(nv[0-9]+)\.0*([0-9]+)/\1.\2/' <<< "$f")"
done
wheel unpack --dest unpacked ./*.whl wheel unpack --dest unpacked ./*.whl
rm ./*.whl rm ./*.whl
( (

View File

@ -1,5 +1,6 @@
{ {
version = "2.17.0"; version = "2.17.0";
version_jetson = "2.16.1+nv24.07";
x86_64-linux_39 = { x86_64-linux_39 = {
url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "1aacn68b88bnnmpl1q0irih0avzm2lfyhwr3wldg144n5zljlrbx"; sha256 = "1aacn68b88bnnmpl1q0irih0avzm2lfyhwr3wldg144n5zljlrbx";
@ -48,6 +49,10 @@
url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
sha256 = "1zrscms9qkfpiscnl8c7ibfipwpw8jrdfvwh4wb69p9rxvqgxbbj"; sha256 = "1zrscms9qkfpiscnl8c7ibfipwpw8jrdfvwh4wb69p9rxvqgxbbj";
}; };
aarch64-linux_310_jetson = {
url = "https://developer.download.nvidia.com/compute/redist/jp/v60/tensorflow/tensorflow-2.16.1+nv24.07-cp310-cp310-linux_aarch64.whl";
sha256 = "1ymdknl5v41z6z0wg068diici30am8vysg6b6sqxr8w6yk4aib42";
};
aarch64-darwin_39 = { aarch64-darwin_39 = {
url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp39-cp39-macosx_12_0_arm64.whl"; url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp39-cp39-macosx_12_0_arm64.whl";
sha256 = "01a3hjnrgjp2i0ciwyy0gki41cy32prvjhr20zhlcjwbssarxy4p"; sha256 = "01a3hjnrgjp2i0ciwyy0gki41cy32prvjhr20zhlcjwbssarxy4p";

View File

@ -1,8 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
version="2.17.0" version="2.17.0"
version_jetson="2.16.1+nv24.07"
bucket="https://storage.googleapis.com/tensorflow/versions/${version}" bucket="https://storage.googleapis.com/tensorflow/versions/${version}"
bucket_jetson="https://developer.download.nvidia.com/compute/redist/jp/v60/tensorflow"
# List of binary wheels for Tensorflow. The most recent versions can be found # List of binary wheels for Tensorflow. The most recent versions can be found
# on the following page: # on the following page:
@ -20,6 +22,7 @@ url_and_key_list=(
"aarch64-linux_310 $bucket/tensorflow-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux_310 $bucket/tensorflow-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
"aarch64-linux_311 $bucket/tensorflow-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux_311 $bucket/tensorflow-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
"aarch64-linux_312 $bucket/tensorflow-${version}-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux_312 $bucket/tensorflow-${version}-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
"aarch64-linux_310_jetson $bucket_jetson/tensorflow-${version_jetson}-cp310-cp310-linux_aarch64.whl"
"aarch64-darwin_39 $bucket/tensorflow-${version}-cp39-cp39-macosx_12_0_arm64.whl" "aarch64-darwin_39 $bucket/tensorflow-${version}-cp39-cp39-macosx_12_0_arm64.whl"
"aarch64-darwin_310 $bucket/tensorflow-${version}-cp310-cp310-macosx_12_0_arm64.whl" "aarch64-darwin_310 $bucket/tensorflow-${version}-cp310-cp310-macosx_12_0_arm64.whl"
"aarch64-darwin_311 $bucket/tensorflow-${version}-cp311-cp311-macosx_12_0_arm64.whl" "aarch64-darwin_311 $bucket/tensorflow-${version}-cp311-cp311-macosx_12_0_arm64.whl"
@ -30,6 +33,7 @@ hashfile=binary-hashes.nix
rm -f $hashfile rm -f $hashfile
echo "{" >> $hashfile echo "{" >> $hashfile
echo "version = \"$version\";" >> $hashfile echo "version = \"$version\";" >> $hashfile
echo "version_jetson = \"$version_jetson\";" >> $hashfile
for url_and_key in "${url_and_key_list[@]}"; do for url_and_key in "${url_and_key_list[@]}"; do
key=$(echo "$url_and_key" | cut -d' ' -f1) key=$(echo "$url_and_key" | cut -d' ' -f1)

View File

@ -0,0 +1,41 @@
From 22cdafe197ac960c5ce839ef6ec699b59f4b0080 Mon Sep 17 00:00:00 2001
From: Warner Losh <imp@FreeBSD.org>
Date: Sat, 20 Jul 2024 09:57:53 -0600
Subject: cdefs.h: Don't define fallback for _Static_assert
Remove pre 4.6 code to define _Static_assert in terms of _COUNTER. We
no longer need to support compilers this old (in fact support for all
pre gcc 10 compilers has been removed in -current). This is a partial
MFC of that work because removing this fixes a bug that's oft reported
with -pedantic-errors and C++98 compilations.
PR: 280382, 276738
Sponsored by: Netflix
This is a direct commit to stable/14.
---
sys/sys/cdefs.h | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h
index 19b7d8fe427d..a52864c5db9d 100644
--- a/sys/sys/cdefs.h
+++ b/sys/sys/cdefs.h
@@ -277,15 +277,6 @@
#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
__has_extension(cxx_static_assert)
#define _Static_assert(x, y) static_assert(x, y)
-#elif __GNUC_PREREQ__(4,6) && !defined(__cplusplus)
-/* Nothing, gcc 4.6 and higher has _Static_assert built-in */
-#elif defined(__COUNTER__)
-#define _Static_assert(x, y) __Static_assert(x, __COUNTER__)
-#define __Static_assert(x, y) ___Static_assert(x, y)
-#define ___Static_assert(x, y) typedef char __assert_ ## y[(x) ? 1 : -1] \
- __unused
-#else
-#define _Static_assert(x, y) struct __hack
#endif
#endif
--
cgit v1.2.3

View File

@ -0,0 +1,102 @@
from argparse import ArgumentParser
from dataclasses import dataclass
from functools import cached_property
import json
from pathlib import Path
from libfdt import Fdt, FdtException, FDT_ERR_NOSPACE, fdt_overlay_apply
@dataclass
class Overlay:
name: str
filter: str
dtbo_file: Path
@cached_property
def fdt(self):
with self.dtbo_file.open("rb") as fd:
return Fdt(fd.read())
@cached_property
def compatible(self):
return get_compatible(self.fdt)
def get_compatible(fdt):
root_offset = fdt.path_offset("/")
return set(fdt.getprop(root_offset, "compatible").as_stringlist())
def apply_overlay(dt: Fdt, dto: Fdt) -> Fdt:
while True:
# we need to copy the buffers because they can be left in an inconsistent state
# if the operation fails (ref: fdtoverlay source)
result = dt.as_bytearray().copy()
err = fdt_overlay_apply(result, dto.as_bytearray().copy())
if err == 0:
new_dt = Fdt(result)
# trim the extra space from the final tree
new_dt.pack()
return new_dt
if err == -FDT_ERR_NOSPACE:
# not enough space, add some blank space and try again
# magic number of more space taken from fdtoverlay
dt.resize(dt.totalsize() + 65536)
continue
raise FdtException(err)
def main():
parser = ArgumentParser(description='Apply a list of overlays to a directory of device trees')
parser.add_argument("--source", type=Path, help="Source directory")
parser.add_argument("--destination", type=Path, help="Destination directory")
parser.add_argument("--overlays", type=Path, help="JSON file with overlay descriptions")
args = parser.parse_args()
source: Path = args.source
destination: Path = args.destination
overlays: Path = args.overlays
with overlays.open() as fd:
overlays_data = [
Overlay(
name=item["name"],
filter=item["filter"],
dtbo_file=Path(item["dtboFile"]),
)
for item in json.load(fd)
]
for source_dt in source.glob("**/*.dtb"):
rel_path = source_dt.relative_to(source)
print(f"Processing source device tree {rel_path}...")
with source_dt.open("rb") as fd:
dt = Fdt(fd.read())
dt_compatible = get_compatible(dt)
for overlay in overlays_data:
if overlay.filter and overlay.filter not in str(rel_path):
print(f" Skipping overlay {overlay.name}: filter does not match")
continue
if not overlay.compatible.intersection(dt_compatible):
print(f" Skipping overlay {overlay.name}: {overlay.compatible} is incompatible with {dt_compatible}")
continue
print(f" Applying overlay {overlay.name}")
dt = apply_overlay(dt, overlay.fdt)
print(f"Saving final device tree {rel_path}...")
dest_path = destination / rel_path
dest_path.parent.mkdir(parents=True, exist_ok=True)
with dest_path.open("wb") as fd:
fd.write(dt.as_bytearray())
if __name__ == '__main__':
main()

View File

@ -1,4 +1,4 @@
{ lib, stdenv, stdenvNoCC, dtc }: { lib, stdenv, stdenvNoCC, dtc, writers, python3 }:
{ {
# Compile single Device Tree overlay source # Compile single Device Tree overlay source
@ -26,41 +26,11 @@
applyOverlays = (base: overlays': stdenvNoCC.mkDerivation { applyOverlays = (base: overlays': stdenvNoCC.mkDerivation {
name = "device-tree-overlays"; name = "device-tree-overlays";
nativeBuildInputs = [ dtc ]; nativeBuildInputs = [
buildCommand = let (python3.pythonOnBuildForHost.withPackages(ps: [ps.libfdt]))
overlays = lib.toList overlays'; ];
in '' buildCommand = ''
mkdir -p $out python ${./apply_overlays.py} --source ${base} --destination $out --overlays ${writers.writeJSON "overlays.json" overlays'}
cd "${base}"
find -L . -type f -name '*.dtb' -print0 \
| xargs -0 cp -v --no-preserve=mode --target-directory "$out" --parents
for dtb in $(find "$out" -type f -name '*.dtb'); do
dtbCompat=$(fdtget -t s "$dtb" / compatible 2>/dev/null || true)
# skip files without `compatible` string
test -z "$dtbCompat" && continue
${lib.flip (lib.concatMapStringsSep "\n") overlays (o: ''
overlayCompat="$(fdtget -t s "${o.dtboFile}" / compatible)"
# skip incompatible and non-matching overlays
if [[ ! "$dtbCompat" =~ "$overlayCompat" ]]; then
echo "Skipping overlay ${o.name}: incompatible with $(basename "$dtb")"
elif ${if (o.filter == null) then "false" else ''
[[ "''${dtb//${o.filter}/}" == "$dtb" ]]
''}
then
echo "Skipping overlay ${o.name}: filter does not match $(basename "$dtb")"
else
echo -n "Applying overlay ${o.name} to $(basename "$dtb")... "
mv "$dtb"{,.in}
fdtoverlay -o "$dtb" -i "$dtb.in" "${o.dtboFile}"
echo "ok"
rm "$dtb.in"
fi
'')}
done
''; '';
}); });
} }

View File

@ -15246,7 +15246,7 @@ self: super: with self; {
tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix { tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix {
inherit (pkgs.config) cudaSupport; inherit (pkgs.config) cudaSupport;
# https://www.tensorflow.org/install/source#gpu # https://www.tensorflow.org/install/source#gpu
cudaPackages = pkgs.cudaPackages_11; cudaPackages = pkgs.cudaPackages_12;
}; };
tensorflow-build = let tensorflow-build = let