mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 08:23:09 +00:00
Merge staging-next into staging
This commit is contained in:
commit
1f0ce6a4e5
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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}}"
|
||||||
'';
|
'';
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
@ -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 {
|
||||||
|
@ -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";
|
||||||
|
@ -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/,,
|
||||||
|
@ -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";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -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/";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -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)" ];
|
||||||
|
@ -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 ];
|
||||||
|
18
pkgs/applications/misc/lunatask/update.py
Executable file
18
pkgs/applications/misc/lunatask/update.py
Executable 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)
|
@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -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";
|
||||||
|
@ -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 {
|
||||||
|
@ -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}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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 = [
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
|
@ -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 = ''
|
||||||
|
@ -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
|
||||||
|
|
130
pkgs/by-name/ra/radicle-explorer/package.nix
Normal file
130
pkgs/by-name/ra/radicle-explorer/package.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
) { }
|
@ -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=";
|
||||||
|
|
||||||
|
24
pkgs/by-name/sp/spl/package.nix
Normal file
24
pkgs/by-name/sp/spl/package.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
@ -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=";
|
||||||
|
@ -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";
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
@ -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"
|
||||||
]
|
]
|
||||||
|
@ -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
|
||||||
(
|
(
|
||||||
|
@ -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";
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
102
pkgs/os-specific/linux/device-tree/apply_overlays.py
Normal file
102
pkgs/os-specific/linux/device-tree/apply_overlays.py
Normal 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()
|
@ -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
|
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user