Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-08-30 18:04:32 +00:00
committed by GitHub
68 changed files with 1627 additions and 1819 deletions
+17
View File
@@ -18588,6 +18588,14 @@
githubId = 30374463;
name = "Michal S.";
};
Notarin = {
name = "Notarin Steele";
email = "424c414e4b@gmail.com";
github = "Notarin";
githubId = 25104390;
keys = [ { fingerprint = "4E15 9433 48D9 7BA7 E8B8 B0FF C38F D346 AE36 36FB"; } ];
matrix = "@notarin:matrix.org";
};
NotAShelf = {
name = "NotAShelf";
email = "raf@notashelf.dev";
@@ -21517,6 +21525,15 @@
githubId = 337811;
name = "Rehno Lindeque";
};
rein = {
email = "rein@rein.icu";
github = "re1n0";
githubId = 227051429;
name = "rein";
keys = [
{ fingerprint = "66A8 1706 2227 9BD9 586A CEDD 5B29 A881 3F47 65C4"; }
];
};
relrod = {
email = "ricky@elrod.me";
github = "relrod";
@@ -504,13 +504,14 @@ class Editor:
)
_prefetch = functools.partial(prefetch, cache=cache)
to_update_for_filter = [x.replace(".", "-") for x in to_update]
plugins_to_update = (
current_plugin_specs
if len(to_update) == 0
else [
description
for description in current_plugin_specs
if self.filter_plugins_to_update(description, to_update)
if self.filter_plugins_to_update(description, to_update_for_filter)
]
)
@@ -124,7 +124,19 @@ in
type = lib.types.separatedString " ";
default = "-C";
description = ''
Command line options for pg_dump or pg_dumpall.
Command line options for pg_dump. This options is not used if
`config.services.postgresqlBackup.backupAll` is enabled. Note that
config.services.postgresqlBackup.backupAll is also active, when no
databases where specified.
'';
};
pgdumpAllOptions = lib.mkOption {
type = lib.types.separatedString " ";
default = "";
description = ''
Command line options for pg_dumpall. This options is not used if
`config.services.postgresqlBackup.backupAll` is disabled.
'';
};
@@ -175,7 +187,7 @@ in
}
(lib.mkIf cfg.backupAll {
systemd.services.postgresqlBackup = postgresqlBackupService "all" "pg_dumpall ${cfg.pgdumpOptions}";
systemd.services.postgresqlBackup = postgresqlBackupService "all" "pg_dumpall ${cfg.pgdumpAllOptions}";
})
(lib.mkIf (!cfg.backupAll) {
+8 -6
View File
@@ -42,12 +42,14 @@ let
instanceSettings = name: {
freeformType =
with lib.types;
nullOr (oneOf [
int
str
path
package
]);
attrsOf (
nullOr (oneOf [
int
str
path
package
])
);
# override defaults:
# inject instance name into paths,
# also avoid conflicts between user names and special dirs
+1 -1
View File
@@ -20,7 +20,7 @@ let
nixosBreezePlymouth = pkgs.kdePackages.breeze-plymouth.override {
logoFile = cfg.logo;
logoName = "nixos";
osName = "NixOS";
osName = config.system.nixos.distroName;
osVersion = config.system.nixos.release;
};
@@ -1,7 +1,6 @@
{
config,
lib,
pkgs,
...
}:
@@ -55,11 +54,8 @@ in
boot.extraModulePackages = [ prl-tools ];
boot.kernelModules = [
"prl_fs"
"prl_fs_freeze"
"prl_tg"
]
++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "prl_notifier";
];
services.timesyncd.enable = false;
@@ -114,15 +110,6 @@ in
WorkingDirectory = "${prl-tools}/bin";
};
};
prlsga = {
description = "Parallels Shared Guest Applications Tool";
wantedBy = [ "graphical-session.target" ];
path = [ prl-tools ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prlsga";
WorkingDirectory = "${prl-tools}/bin";
};
};
prlshprof = {
description = "Parallels Shared Profile Tool";
wantedBy = [ "graphical-session.target" ];
@@ -133,6 +120,5 @@ in
};
};
};
};
}
+1
View File
@@ -66,6 +66,7 @@ let
enable = true;
databases = lib.optional (!backupAll) "postgres";
pgdumpOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ";
pgdumpAllOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ";
};
};
@@ -24,8 +24,8 @@ let
sha256Hash = "sha256-3LkcpvuoUhY/kRpoqYnwfx1cdPvvdBMEFXtRLYmqTk4=";
};
latestVersion = {
version = "2025.1.4.1"; # "Android Studio Narwhal 4 Feature Drop | 2025.1.4 Canary 1"
sha256Hash = "sha256-OGnBf0LrfbN7WpO9skT8+ltAeKejyqHobxFvrzLp3EY=";
version = "2025.1.4.3"; # "Android Studio Narwhal 4 Feature Drop | 2025.1.4 Canary 3"
sha256Hash = "sha256-YYacdZ7YdmmrTSsKtCfmSSrrZV+/GGPK34KnlO0+aKQ=";
};
in
{
File diff suppressed because it is too large Load Diff
@@ -66,12 +66,12 @@
};
arduino = buildGrammar {
language = "arduino";
version = "0.0.0+rev=3b5ddcd";
version = "0.0.0+rev=2f0c122";
src = fetchFromGitHub {
owner = "tree-sitter-grammars";
repo = "tree-sitter-arduino";
rev = "3b5ddcdbcac43c6084358d3d14a30e10e2d36b88";
hash = "sha256-qoVN/84BbuvhTb+WuwmTtNGqf9mKelViHMIVjMqyvG4=";
rev = "2f0c1223c50aa4b754136db544204c6fc99ffc77";
hash = "sha256-t0EtibjsMJpiTbwhkgZGv9lUdpI6gg2VoSEUDXswEMA=";
};
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-arduino";
};
@@ -652,12 +652,12 @@
};
elixir = buildGrammar {
language = "elixir";
version = "0.0.0+rev=b848e63";
version = "0.0.0+rev=d24cece";
src = fetchFromGitHub {
owner = "elixir-lang";
repo = "tree-sitter-elixir";
rev = "b848e63e9f2a68accff0332392f07582c046295a";
hash = "sha256-kMsGDHFGBclpyk9n01JJsoqInEWLEcyIUSgcWJ2Jpzk=";
rev = "d24cecee673c4c770f797bac6f87ae4b6d7ddec5";
hash = "sha256-nSXXMPneL/sTdkpcsxUz73DiXVuNxVHnf8b2LTbAUs8=";
};
meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
};
@@ -1413,12 +1413,12 @@
};
inko = buildGrammar {
language = "inko";
version = "0.0.0+rev=f58a87a";
version = "0.0.0+rev=74cbd0f";
src = fetchFromGitHub {
owner = "inko-lang";
repo = "tree-sitter-inko";
rev = "f58a87ac4dc6a7955c64c9e4408fbd693e804686";
hash = "sha256-hZdbF9lw7fR5K8UfUaESS7/c4v9u7vEcSylEEbc6//4=";
rev = "74cbd0f69053b4a9ad4fed8831dee983ec7e4990";
hash = "sha256-nrhouUE2vjHiTlLquCJf2IUF3vy9vlBL6LuAmeKcB8M=";
};
meta.homepage = "https://github.com/inko-lang/tree-sitter-inko";
};
@@ -1457,12 +1457,12 @@
};
javadoc = buildGrammar {
language = "javadoc";
version = "0.0.0+rev=77afe93";
version = "0.0.0+rev=384952d";
src = fetchFromGitHub {
owner = "rmuir";
repo = "tree-sitter-javadoc";
rev = "77afe93bc6fc10f2cf4935857b8e055b2a47bb94";
hash = "sha256-HkhVHPYe+IgVkRlJu72Y+3eNZnPPpDqs6UJ0ej0PZrI=";
rev = "384952d91ebc176fcf8f1933dff93b9c32430911";
hash = "sha256-IH1LUPO+18vDC83jcrC0DihTYt6aXV1w/u0iTm5jgK4=";
};
meta.homepage = "https://github.com/rmuir/tree-sitter-javadoc";
};
@@ -1735,12 +1735,12 @@
};
llvm = buildGrammar {
language = "llvm";
version = "0.0.0+rev=470886d";
version = "0.0.0+rev=2914786";
src = fetchFromGitHub {
owner = "benwilliamgraham";
repo = "tree-sitter-llvm";
rev = "470886ddd635e0ee48a4cb169e33d0c6d9bff32e";
hash = "sha256-1Fv1r644UfHXC4x4mbMetC0ThroYHwYDtKTSX3Nd4fo=";
rev = "2914786ae6774d4c4e25a230f4afe16aa68fe1c1";
hash = "sha256-jBSotMFsBUcgQrWH5p8EiywG00+v9QqePcUTI6ZqAkw=";
};
meta.homepage = "https://github.com/benwilliamgraham/tree-sitter-llvm";
};
@@ -1880,12 +1880,12 @@
};
mlir = buildGrammar {
language = "mlir";
version = "0.0.0+rev=b209a18";
version = "0.0.0+rev=09666ce";
src = fetchFromGitHub {
owner = "artagnon";
repo = "tree-sitter-mlir";
rev = "b209a18d1a0f440acd3a85b6d633dac2660114e1";
hash = "sha256-aAfrn3my/qfEy9uK/WPCxSefBOsekJ+rT04K9UmDVvs=";
rev = "09666cead2c001cbbfc82b395007f6d8158113a5";
hash = "sha256-toH/pG8CKI4UFdBQqkgIer5tfpIWkWoCP+fU0OByxQg=";
};
generate = true;
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
@@ -2104,12 +2104,12 @@
};
perl = buildGrammar {
language = "perl";
version = "0.0.0+rev=e95676f";
version = "0.0.0+rev=0c24d00";
src = fetchFromGitHub {
owner = "tree-sitter-perl";
repo = "tree-sitter-perl";
rev = "e95676fa54559c71f15ad73e871c1e44db8a9b05";
hash = "sha256-VABlYn+OwgR+aD6dFI1bxa/JhwHV0KigsAcug3gze1c=";
rev = "0c24d001dd1921e418fb933d208a7bd7dd3f923a";
hash = "sha256-rKu3CGHckXlQnI/bvrQDq40jRO4PAueWKNZJADjmv5A=";
};
meta.homepage = "https://github.com/tree-sitter-perl/tree-sitter-perl";
};
@@ -2927,12 +2927,12 @@
};
superhtml = buildGrammar {
language = "superhtml";
version = "0.0.0+rev=0daae52";
version = "0.0.0+rev=8cb16ba";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "superhtml";
rev = "0daae5239bd9366dda0c28c7540d7503b0c104d4";
hash = "sha256-dfH7/i/xnjQRMAhzNPkDMhre+lR+pJ/s8aDxXhPqyic=";
rev = "8cb16babb0c66b6512d6aeb4cbc37ed90641d980";
hash = "sha256-lLZqyqVEUCn9z++9lPnrK8R2uDvht5v+5Y8KOZDgPs0=";
};
location = "tree-sitter-superhtml";
meta.homepage = "https://github.com/kristoff-it/superhtml";
@@ -3365,12 +3365,12 @@
};
vhdl = buildGrammar {
language = "vhdl";
version = "0.0.0+rev=73ff9d3";
version = "0.0.0+rev=02523d7";
src = fetchFromGitHub {
owner = "jpt13653903";
repo = "tree-sitter-vhdl";
rev = "73ff9d3e7bc42b8cc123bf5f0b2db12a900ee9b7";
hash = "sha256-8Fp/x3TC+bq4nJdbeVdBrnz7QnBSD1sc5CC0TRh0mGc=";
rev = "02523d7fb0321344c19c1f3f4ec6b83424c7d6c8";
hash = "sha256-TI1R2L8/9QwpKuTz18ayOeGXqRhYgbd0X6Rpj8kgsfw=";
};
meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl";
};
@@ -3498,12 +3498,12 @@
};
xresources = buildGrammar {
language = "xresources";
version = "0.0.0+rev=6113943";
version = "0.0.0+rev=f40778f";
src = fetchFromGitHub {
owner = "ValdezFOmar";
repo = "tree-sitter-xresources";
rev = "6113943ab0847a307f3f3c38ff91d9cdfce9d0d9";
hash = "sha256-ZqJvLw475e/5KBcJzx0w+aPbGCIAFfdig9cpZ5oaat8=";
rev = "f40778ff42f2119aebacd46d4b6d785a4181a9ba";
hash = "sha256-9vqVBsErlbFXzTd7QmMItd5GW2F9kE04HQFjq/vtrTc=";
};
meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources";
};
@@ -3564,12 +3564,12 @@
};
ziggy = buildGrammar {
language = "ziggy";
version = "0.0.0+rev=e95c85c";
version = "0.0.0+rev=4353b20";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "ziggy";
rev = "e95c85cb58773c43e9d94c0b9422ae84697e68a1";
hash = "sha256-6vqUPY/fpGuM1K4HfgpL/dRy7Na6fJ/t+Pe/12b1wqE=";
rev = "4353b20ef2ac750e35c6d68e4eb2a07c2d7cf901";
hash = "sha256-7XZNKUrOkpPMge6nDSiEBlUAf7dZLDcVcJ7fHT8fPh4=";
};
location = "tree-sitter-ziggy";
meta.homepage = "https://github.com/kristoff-it/ziggy";
@@ -190,6 +190,7 @@ in
checkInputs = with self; [
lualine-nvim
telescope-nvim
fzf-lua
];
};
@@ -2902,7 +2903,6 @@ in
(replaceVars ./patches/openscad.nvim/program_paths.patch {
htop = lib.getExe htop;
openscad = lib.getExe openscad;
zathura = lib.getExe zathura;
})
];
};
@@ -2,18 +2,9 @@ diff --git a/autoload/health/openscad_nvim.vim b/autoload/health/openscad_nvim.v
index d6d4b4c..9853877 100644
--- a/autoload/health/openscad_nvim.vim
+++ b/autoload/health/openscad_nvim.vim
@@ -7,7 +7,7 @@ function! s:check_nvim_version_minimum() abort
endfunction
function! s:check_zathura_installed() abort
- if !executable('zathura')
+ if !executable('@zathura@')
call v:lua.vim.health.error('has(zathura)','install zathura')
else
call v:lua.vim.health.ok("zathura is installed")
@@ -15,7 +15,7 @@ function! s:check_zathura_installed() abort
endfunction
function! s:check_htop_installed() abort
- if !executable('htop')
+ if !executable('@htop@')
@@ -24,15 +15,6 @@ diff --git a/lua/openscad.lua b/lua/openscad.lua
index 0a26d08..1264989 100644
--- a/lua/openscad.lua
+++ b/lua/openscad.lua
@@ -101,7 +101,7 @@ end
function M.manual()
local path = U.openscad_nvim_root_dir .. U.path_sep .. "help_source" .. U.path_sep .. "openscad-manual.pdf"
- api.nvim_command('silent !zathura --fork ' .. path)
+ api.nvim_command('silent !@zathura@ --fork ' .. path)
end
function M.help()
@@ -126,7 +126,7 @@ function M.exec_openscad()
jobCommand = '/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD ' .. filename
else
@@ -40,5 +22,5 @@ index 0a26d08..1264989 100644
- jobCommand = 'openscad ' .. filename
+ jobCommand = '@openscad@ ' .. filename
end
vim.fn.jobstart(jobCommand)
@@ -626,49 +626,49 @@ https://github.com/lsig/messenger.nvim/,HEAD,
https://github.com/xero/miasma.nvim/,,
https://github.com/dasupradyumna/midnight.nvim/,,
https://github.com/hadronized/mind.nvim/,HEAD,
https://github.com/echasnovski/mini-git/,HEAD,
https://github.com/echasnovski/mini.ai/,HEAD,
https://github.com/echasnovski/mini.align/,HEAD,
https://github.com/echasnovski/mini.animate/,HEAD,
https://github.com/echasnovski/mini.base16/,HEAD,
https://github.com/echasnovski/mini.basics/,HEAD,
https://github.com/echasnovski/mini.bracketed/,HEAD,
https://github.com/echasnovski/mini.bufremove/,HEAD,
https://github.com/echasnovski/mini.clue/,HEAD,
https://github.com/echasnovski/mini.colors/,HEAD,
https://github.com/echasnovski/mini.comment/,HEAD,
https://github.com/echasnovski/mini.completion/,HEAD,
https://github.com/echasnovski/mini.cursorword/,HEAD,
https://github.com/echasnovski/mini.deps/,HEAD,
https://github.com/echasnovski/mini.diff/,HEAD,
https://github.com/echasnovski/mini.doc/,HEAD,
https://github.com/echasnovski/mini.extra/,HEAD,
https://github.com/echasnovski/mini.files/,HEAD,
https://github.com/echasnovski/mini.fuzzy/,HEAD,
https://github.com/echasnovski/mini.hipatterns/,HEAD,
https://github.com/echasnovski/mini.hues/,HEAD,
https://github.com/echasnovski/mini.icons/,HEAD,
https://github.com/echasnovski/mini.indentscope/,HEAD,
https://github.com/echasnovski/mini.jump/,HEAD,
https://github.com/echasnovski/mini.jump2d/,HEAD,
https://github.com/echasnovski/mini.keymap/,HEAD,
https://github.com/echasnovski/mini.map/,HEAD,
https://github.com/echasnovski/mini.misc/,HEAD,
https://github.com/echasnovski/mini.move/,HEAD,
https://github.com/echasnovski/mini.notify/,HEAD,
https://github.com/echasnovski/mini.nvim/,,
https://github.com/echasnovski/mini.operators/,HEAD,
https://github.com/echasnovski/mini.pairs/,HEAD,
https://github.com/echasnovski/mini.pick/,HEAD,
https://github.com/echasnovski/mini.sessions/,HEAD,
https://github.com/echasnovski/mini.snippets/,HEAD,
https://github.com/echasnovski/mini.splitjoin/,HEAD,
https://github.com/echasnovski/mini.starter/,HEAD,
https://github.com/echasnovski/mini.statusline/,HEAD,
https://github.com/echasnovski/mini.surround/,HEAD,
https://github.com/echasnovski/mini.tabline/,HEAD,
https://github.com/echasnovski/mini.trailspace/,HEAD,
https://github.com/echasnovski/mini.visits/,HEAD,
https://github.com/nvim-mini/mini-git/,HEAD,
https://github.com/nvim-mini/mini.ai/,HEAD,
https://github.com/nvim-mini/mini.align/,HEAD,
https://github.com/nvim-mini/mini.animate/,HEAD,
https://github.com/nvim-mini/mini.base16/,HEAD,
https://github.com/nvim-mini/mini.basics/,HEAD,
https://github.com/nvim-mini/mini.bracketed/,HEAD,
https://github.com/nvim-mini/mini.bufremove/,HEAD,
https://github.com/nvim-mini/mini.clue/,HEAD,
https://github.com/nvim-mini/mini.colors/,HEAD,
https://github.com/nvim-mini/mini.comment/,HEAD,
https://github.com/nvim-mini/mini.completion/,HEAD,
https://github.com/nvim-mini/mini.cursorword/,HEAD,
https://github.com/nvim-mini/mini.deps/,HEAD,
https://github.com/nvim-mini/mini.diff/,HEAD,
https://github.com/nvim-mini/mini.doc/,HEAD,
https://github.com/nvim-mini/mini.extra/,HEAD,
https://github.com/nvim-mini/mini.files/,HEAD,
https://github.com/nvim-mini/mini.fuzzy/,HEAD,
https://github.com/nvim-mini/mini.hipatterns/,HEAD,
https://github.com/nvim-mini/mini.hues/,HEAD,
https://github.com/nvim-mini/mini.icons/,HEAD,
https://github.com/nvim-mini/mini.indentscope/,HEAD,
https://github.com/nvim-mini/mini.jump/,HEAD,
https://github.com/nvim-mini/mini.jump2d/,HEAD,
https://github.com/nvim-mini/mini.keymap/,HEAD,
https://github.com/nvim-mini/mini.map/,HEAD,
https://github.com/nvim-mini/mini.misc/,HEAD,
https://github.com/nvim-mini/mini.move/,HEAD,
https://github.com/nvim-mini/mini.notify/,HEAD,
https://github.com/nvim-mini/mini.nvim/,,
https://github.com/nvim-mini/mini.operators/,HEAD,
https://github.com/nvim-mini/mini.pairs/,HEAD,
https://github.com/nvim-mini/mini.pick/,HEAD,
https://github.com/nvim-mini/mini.sessions/,HEAD,
https://github.com/nvim-mini/mini.snippets/,HEAD,
https://github.com/nvim-mini/mini.splitjoin/,HEAD,
https://github.com/nvim-mini/mini.starter/,HEAD,
https://github.com/nvim-mini/mini.statusline/,HEAD,
https://github.com/nvim-mini/mini.surround/,HEAD,
https://github.com/nvim-mini/mini.tabline/,HEAD,
https://github.com/nvim-mini/mini.trailspace/,HEAD,
https://github.com/nvim-mini/mini.visits/,HEAD,
https://github.com/wfxr/minimap.vim/,,
https://github.com/milanglacier/minuet-ai.nvim/,HEAD,
https://github.com/jghauser/mkdir.nvim/,main,
@@ -19,6 +19,10 @@ stdenv.mkDerivation rec {
hash = "sha256-C1a47pWtjb38bnwmZ2Zq7/LlW3+BF5BGNMRFi97/ngU=";
};
patches = [
./gettext-0.25.patch
];
strictDeps = true;
nativeBuildInputs = [
@@ -40,16 +44,16 @@ stdenv.mkDerivation rec {
++ [ libxml2 ];
prePatch = ''
substituteInPlace ocaml-dep.sh.in --replace '#!/bin/bash' '#!${stdenv.shell}'
substituteInPlace ocaml-link.sh.in --replace '#!/bin/bash' '#!${stdenv.shell}'
substituteInPlace ocaml-dep.sh.in --replace-fail '#!/bin/bash' '#!${stdenv.shell}'
substituteInPlace ocaml-link.sh.in --replace-fail '#!/bin/bash' '#!${stdenv.shell}'
'';
meta = with lib; {
meta = {
description = "Top-like utility for showing stats of virtualized domains";
homepage = "https://people.redhat.com/~rjones/virt-top/";
license = licenses.gpl2Only;
license = lib.licenses.gpl2Only;
maintainers = [ ];
platforms = platforms.linux;
platforms = lib.platforms.linux;
mainProgram = "virt-top";
};
}
@@ -0,0 +1,10 @@
--- a/configure.ac.orig 2025-08-23 01:41:53
+++ b/configure.ac 2025-08-23 01:42:14
@@ -123,6 +123,7 @@
dnl Check for gettext.
AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.25])
dnl Write gettext modules for the programs.
dnl http://www.le-gall.net/sylvain+violaine/documentation/ocaml-gettext/html/reference-manual/ch03s04.html
+2 -6
View File
@@ -146,12 +146,8 @@ stdenv.mkDerivation {
makeShellWrapper $out/share/1password/1password $out/bin/1password \
"''${gappsWrapperArgs[@]}" \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
# Currently half broken on wayland (e.g. no copy functionality)
# See: https://github.com/NixOS/nixpkgs/pull/232718#issuecomment-1582123406
# Remove this comment when upstream fixes:
# https://1password.community/discussion/comment/624011/#Comment_624011
#--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]} \
--add-flags "\''${NIXOS_OZONE_WL:+--ozone-platform-hint=auto}"
'';
passthru.updateScript = ./update.sh;
+14
View File
@@ -0,0 +1,14 @@
diff --git a/crates/server/src/notification/dummy.rs b/crates/server/src/notification/dummy.rs
index f85dda0..7489f22 100644
--- a/crates/server/src/notification/dummy.rs
+++ b/crates/server/src/notification/dummy.rs
@@ -1,6 +1,9 @@
+#[cfg(test)]
use crate::notification::traits;
+#[cfg(test)]
#[derive(Clone, Copy, Debug, Default)]
pub struct Notification {}
+#[cfg(test)]
impl traits::Notification for Notification {}
+12
View File
@@ -5,6 +5,7 @@
rustPlatform,
protobuf,
installShellFiles,
writableTmpDirAsHomeHook,
}:
rustPlatform.buildRustPackage rec {
@@ -20,9 +21,20 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-UA+NTtZ2qffUPUmvCidnTHwFzD3WOPTlxHR2e2vKwPQ=";
patches = [
# Fix compilation errors caused by stricter restrictions on unused code in Rust 1.89.
# TODO: remove this patch after upstream fix it.
./dummy.patch
];
nativeBuildInputs = [
protobuf
installShellFiles
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# fix following error on darwin:
# objc/notify.h:1:9: fatal error: could not build module 'Cocoa'
writableTmpDirAsHomeHook
];
checkFlags = [
@@ -30,14 +30,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "debian-devscripts";
version = "2.25.18";
version = "2.25.15+deb13u1";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "devscripts";
tag = "v${finalAttrs.version}";
hash = "sha256-POmUwNYKfdWda80T44S6x2Dg2TpezMirXuiI95Z077Q=";
hash = "sha256-szyVLpeIQozPXwBgL4nIYog4znUzweIt8q7nczo5q+g=";
};
patches = [
@@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "fastnetmon-advanced";
version = "2.0.371";
version = "2.0.372";
src = fetchurl {
url = "https://repo.fastnetmon.com/fastnetmon_ubuntu_jammy/pool/fastnetmon/f/fastnetmon/fastnetmon_${version}_amd64.deb";
hash = "sha256-/qCUeo/2AYIT9Yl6QjoTBPfmg8Lk2efDU5Axv4JU+t8=";
hash = "sha256-FwYAbTBkk+AciDVxTIimswsB0M3gbzKX+03PD0fLMsY=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -12,16 +12,16 @@
buildGoModule rec {
pname = "git-lfs";
version = "3.6.1";
version = "3.7.0";
src = fetchFromGitHub {
owner = "git-lfs";
repo = "git-lfs";
tag = "v${version}";
hash = "sha256-zZ9VYWVV+8G3gojj1m74syvsYM1mX0YT4hKnpkdMAQk=";
hash = "sha256-EFuuyD83aYe6XMKbRfAykVMfGFOQ4I6ORvMRm0Q8vfM=";
};
vendorHash = "sha256-JT0r/hs7ZRtsYh4aXy+v8BjwiLvRJ10e4yRirqmWVW0=";
vendorHash = "sha256-6H0KpLin+DqwEg5bdzaxj2CoNSneZ/ET43MTrrdF3h8=";
nativeBuildInputs = [
asciidoctor
+4 -3
View File
@@ -13,13 +13,13 @@
buildGoModule (finalAttrs: {
pname = "glab";
version = "1.65.0";
version = "1.67.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-LqcUrF1CkNshsZBl9PdYByQKzMr5lWw5+BwCXs+yml0=";
hash = "sha256-d0pElHlfElqnlXbbAaIGzLtWpuAdIOVfdmTD6+2nNX4=";
leaveDotGit = true;
postFetch = ''
cd "$out"
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
'';
};
vendorHash = "sha256-2lC55LaMOrDy8F+IOqB4aujYlKKgpJmhZw6kl2yN/GM=";
vendorHash = "sha256-/nFdlC1gg08vEGuiq9qoUar8EGuYddxvTvFuGxQKnYA=";
ldflags = [
"-s"
@@ -85,6 +85,7 @@ buildGoModule (finalAttrs: {
maintainers = with lib.maintainers; [
freezeboy
luftmensch-luftmensch
anthonyroussel
];
mainProgram = "glab";
};
+5 -2
View File
@@ -70,6 +70,9 @@ python3Packages.buildPythonApplication rec {
substituteInPlace src/hhd/plugins/plugin.py \
--replace-fail '"id"' '"${lib.getExe' coreutils "id"}"'
substituteInPlace usr/lib/udev/rules.d/83-hhd.rules \
--replace-fail '/bin/chmod' '${lib.getExe' coreutils "chmod"}'
'';
build-system = with python3Packages; [
@@ -89,8 +92,8 @@ python3Packages.buildPythonApplication rec {
doCheck = false;
postInstall = ''
install -Dm644 $src/usr/lib/udev/rules.d/83-hhd.rules -t $out/lib/udev/rules.d/
install -Dm644 $src/usr/lib/udev/hwdb.d/83-hhd.hwdb -t $out/lib/udev/hwdb.d/
install -Dm644 usr/lib/udev/rules.d/83-hhd.rules -t $out/lib/udev/rules.d/
install -Dm644 usr/lib/udev/hwdb.d/83-hhd.hwdb -t $out/lib/udev/hwdb.d/
'';
meta = {
+6 -6
View File
@@ -7,14 +7,14 @@
vulkan-loader,
}:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "hayabusa";
version = "unstable-2023-11-29";
version = "0.3.9";
src = fetchFromGitHub {
owner = "notarin";
repo = "hayabusa";
rev = "1d6b8cfd301d60ff9f6946970b51818c036083b0";
tag = "v${finalAttrs.version}";
hash = "sha256-w9vXC7L7IP4QLPFS1IgPOKSm7fT7W0R+NsHTdAfIupg=";
};
@@ -43,9 +43,9 @@ rustPlatform.buildRustPackage {
meta = {
description = "Swift rust fetch program";
homepage = "https://github.com/notarin/hayabusa";
license = lib.licenses.cc-by-nc-nd-40;
maintainers = with lib.maintainers; [ ];
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ Notarin ];
mainProgram = "hayabusa";
platforms = lib.platforms.linux;
};
}
})
+11 -18
View File
@@ -1,8 +1,10 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
gtk-doc,
glib,
intltool,
menu-cache,
@@ -21,25 +23,21 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = if extraOnly then "libfm-extra" else "libfm";
version = "1.3.2";
version = "1.4.0";
src = fetchurl {
url = "mirror://sourceforge/pcmanfm/libfm-${finalAttrs.version}.tar.xz";
sha256 = "sha256-pQQmMDBM+OXYz/nVZca9VG8ii0jJYBU+02ajTofK0eU=";
src = fetchFromGitHub {
owner = "lxde";
repo = "libfm";
tag = finalAttrs.version;
hash = "sha256-dmu5ygPuZe2YWAzIVPx5zskQeB51hXcLbMczxWgCr78=";
};
patches = [
# Add casts to fix -Werror=incompatible-pointer-types
(fetchpatch {
url = "https://github.com/lxde/libfm/commit/fbcd183335729fa3e8dd6a837c13a23ff3271000.patch";
hash = "sha256-RbX8jkP/5ao6NWEnv8Pgy4zwZaiDsslGlRRWdoV3enA=";
})
];
nativeBuildInputs = [
autoreconfHook
vala
pkg-config
intltool
gtk-doc
];
buildInputs = [
glib
@@ -56,11 +54,6 @@ stdenv.mkDerivation (finalAttrs: {
installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
postPatch = ''
# Ensure the files are re-generated from Vala sources.
rm src/actions/*.c
'';
# libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
postInstall = optionalString (!extraOnly) ''
rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "libretro-shaders-slang";
version = "0-unstable-2025-08-14";
version = "0-unstable-2025-08-26";
src = fetchFromGitHub {
owner = "libretro";
repo = "slang-shaders";
rev = "69e3dbb8947e749156ff1f70e32c88f3c37e6793";
hash = "sha256-C+qO/B3Lb8vtQUV3u6ZqiVZlg2prytR+9IbTnvyQGMg=";
rev = "c9303dcc4d11fe5d37db9ef9a24c8eab4087c0c3";
hash = "sha256-k/th5Ze/x48mTFZxEsSWCE4STnMSFXl3I0uMVmdMSxc=";
};
dontConfigure = true;
+3 -9
View File
@@ -2,8 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
automake,
autoconf,
autoreconfHook,
intltool,
pkg-config,
gtk3,
@@ -26,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "lxde";
repo = "lxterminal";
tag = finalAttrs.version;
sha256 = "sha256-oDWh0U4QWJ84hTfq1oaAmDJM+IY0eJqOUey0qBgZN5U=";
hash = "sha256-oDWh0U4QWJ84hTfq1oaAmDJM+IY0eJqOUey0qBgZN5U=";
};
configureFlags = [
@@ -35,8 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
automake
autoconf
autoreconfHook
intltool
pkg-config
wrapGAppsHook3
@@ -57,10 +55,6 @@ stdenv.mkDerivation (finalAttrs: {
./respect-xml-catalog-files-var.patch
];
preConfigure = ''
./autogen.sh
'';
doCheck = true;
passthru.tests.test = nixosTests.terminal-emulators.lxterminal;
+6 -3
View File
@@ -11,12 +11,12 @@
}:
let
version = "3.0.2";
version = "3.1.2";
src = fetchFromGitHub {
owner = "mealie-recipes";
repo = "mealie";
tag = "v${version}";
hash = "sha256-0GlHfyoVEqmfTDSN9BGXrLRkStRjWjv2qzZac2oYu7Q=";
hash = "sha256-8ZLXXA4NKR7GaCdgk8XDMjAssQsKP1wZpEZPYWpglwk=";
};
frontend = callPackage (import ./mealie-frontend.nix src version) { };
@@ -102,7 +102,10 @@ pythonpkgs.buildPythonApplication rec {
--set OUT "$out"
'';
nativeCheckInputs = with pythonpkgs; [ pytestCheckHook ];
nativeCheckInputs = with pythonpkgs; [
pytestCheckHook
pytest-asyncio
];
# Needed for tests
preCheck = ''
+19 -22
View File
@@ -1,44 +1,41 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
fetchFromGitHub,
glib,
pkg-config,
libfm-extra,
autoreconfHook,
gtk-doc,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "menu-cache";
version = "1.1.0";
version = "1.1.1";
src = fetchurl {
url = "mirror://sourceforge/lxde/menu-cache-${version}.tar.xz";
sha256 = "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd";
src = fetchFromGitHub {
owner = "lxde";
repo = "menu-cache";
tag = finalAttrs.version;
hash = "sha256-5Vp2btrflimy+Hq+3MLpic/quZMJ3uwsMq12G7s4DGI=";
};
patches = [
# Pull patch pending upstream inclusion for -fno-common toolchain support:
# https://github.com/lxde/menu-cache/pull/19
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/lxde/menu-cache/commit/1ce739649b4d66339a03fc0ec9ee7a2f7c141780.patch";
sha256 = "08x3h0w2pl8ifj83v9jkf4j3zxcwsyzh251divlhhnwx0rw1pyn7";
})
nativeBuildInputs = [
autoreconfHook
pkg-config
gtk-doc
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
glib
libfm-extra
];
meta = with lib; {
meta = {
description = "Library to read freedesktop.org menu files";
homepage = "https://blog.lxde.org/tag/menu-cache/";
license = licenses.gpl2Plus;
maintainers = [ maintainers.ttuegel ];
platforms = platforms.linux ++ platforms.darwin;
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.ttuegel ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
})
+5 -4
View File
@@ -27,13 +27,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "niri";
version = "25.05.1";
version = "25.08";
src = fetchFromGitHub {
owner = "YaLTeR";
repo = "niri";
tag = "v${finalAttrs.version}";
hash = "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=";
hash = "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=";
};
outputs = [
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '/usr/bin' "$out/bin"
'';
cargoHash = "sha256-8ltuI94yIhff7JxIfe1mog4bDJ/7VFgLooMWOnSTREs=";
cargoHash = "sha256-lR0emU2sOnlncN00z6DwDIE2ljI+D2xoKqG3rS45xG0=";
strictDeps = true;
@@ -81,7 +81,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
postInstall = ''
install -Dm0644 README.md resources/default-config.kdl -t $doc/share/doc/niri
mv wiki $doc/share/doc/niri/wiki
mv docs/wiki $doc/share/doc/niri/wiki
install -Dm0644 resources/niri.desktop -t $out/share/wayland-sessions
''
@@ -122,6 +122,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
NIRI_BUILD_COMMIT = "Nixpkgs";
};
checkFlags = [ "--skip=::egl" ];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
+6 -3
View File
@@ -3,22 +3,25 @@
rustPlatform,
fetchFromGitHub,
nixf,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nixf-diagnose";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "inclyc";
repo = "nixf-diagnose";
tag = finalAttrs.version;
hash = "sha256-gkeU3EwAl9810eRRp5/ddf1h0qpV6FrBBdntNBpBtsM=";
hash = "sha256-8kcA2/ZMREKtXUM5rlAWRQL/C8+JNocZegq2ZHqbiSA=";
};
env.NIXF_TIDY_PATH = lib.getExe nixf;
cargoHash = "sha256-nrr2/lTWPyH7MsG2hSMJjbFCpHsKWINEP8jwSYPhocg=";
cargoHash = "sha256-9rWQfoaMXFs83cYHtJPL0ogA9hPh7q3mK1DG4Q4CCq0=";
passthru.updateScript = nix-update-script { };
meta = {
description = "CLI wrapper for nixf-tidy with fancy diagnostic output";
+10
View File
@@ -74,6 +74,16 @@ stdenv.mkDerivation rec {
url = "https://github.com/openscad/openscad/commit/cc49ad8dac24309f5452d5dea9abd406615a52d9.patch";
hash = "sha256-B3i+o6lR5osRcVXTimDZUFQmm12JhmbFgG9UwOPebF4=";
})
(fetchpatch {
name = "fix-application-icon-not-shown-on-wayland.patch";
url = "https://github.com/openscad/openscad/commit/5ea83e5117f5f3ac2197c63db69f523721b8fa85.patch";
hash = "sha256-nfeUv0R+J95fyqnVC0HNeBVZnxVoisY1pcdII82qUSU=";
# upstream's formatting conventions changed between 2021 and this patch
postFetch = ''
sed -i 's/& / \&/g;s/\*\*/\0 /g;s/^\(.\) /\1\t/' "$out"
'';
})
];
postPatch = ''
+3 -3
View File
@@ -15,14 +15,14 @@ let
in
ocamlPackages.buildDunePackage rec {
pname = "owi";
version = "0.2-unstable-2025-08-18";
version = "0.2-unstable-2025-08-22";
src = fetchFromGitHub {
owner = "ocamlpro";
repo = "owi";
rev = "40c6434ecdb0cf7248b98670526e18dc007b425b";
rev = "daad8163dec12abc8fe7f3384adc37e51f0994e9";
fetchSubmodules = true;
hash = "sha256-N/DO3vml7vzOjPi81LPOL+ZuI8CewAhANM9j4nuRbyU=";
hash = "sha256-C28YoUbovSEk9/RW0iYWNVB7/ETlDnY+vPTfQZPOerE=";
};
nativeBuildInputs = with ocamlPackages; [
+2 -2
View File
@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation rec {
pname = "panoply";
version = "5.6.2";
version = "5.7.0";
src = fetchurl {
url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
hash = "sha256-DxQjIUv2Gkb3VnaorphMDTo+GlM/NoCZ6y/ogHSs07c=";
hash = "sha256-R3hzqYytQ0k2dhmJAOIKy+zbEYQ6et/q3b0NEQkAGt4=";
};
nativeBuildInputs = [ makeWrapper ];
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "pgmodeler";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "pgmodeler";
repo = "pgmodeler";
rev = "v${version}";
sha256 = "sha256-q0XoShp+XERvyERLxi9uh//dNxVEtfL+UY9uVKqX4fI=";
sha256 = "sha256-DIyqUewP8q9O6O/v82a2DNgyrBffWkBmyhBm3pA1qVY=";
};
nativeBuildInputs = [
+21 -26
View File
@@ -10,7 +10,7 @@
qt6,
wrapGAppsHook4,
testers,
util-linux,
writeShellScriptBin,
xz,
gnutls,
zstd,
@@ -20,35 +20,35 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rpi-imager";
version = "1.9.4";
version = "1.9.6";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "rpi-imager";
tag = "v${finalAttrs.version}";
hash = "sha256-Ih7FeAKTKSvuwsrMgKQ0VEUYHHT6L99shxfAIjAzErk=";
hash = "sha256-HJLl0FOseZgW3DMi8M3SqIN/UHBDkIc09vKcenhSnO8=";
};
sourceRoot = "${finalAttrs.src.name}/src";
# By default, the builder checks for JSON support in lsblk by running "lsblk --json",
# but that throws an error, as /sys/dev doesn't exist in the sandbox.
# This patch removes the check.
# remove-vendoring.patch from
# https://gitlab.archlinux.org/archlinux/packaging/packages/rpi-imager/-/raw/main/remove-vendoring.patch
patches = [ ./remove-vendoring-and-lsblk-check.patch ];
patches = [ ./remove-vendoring.patch ];
postPatch = ''
substituteInPlace ../debian/org.raspberrypi.rpi-imager.desktop \
substituteInPlace debian/org.raspberrypi.rpi-imager.desktop \
--replace-fail "/usr/bin/" ""
'';
preConfigure = ''
cd src
'';
nativeBuildInputs = [
cmake
pkg-config
qt6.wrapQtAppsHook
wrapGAppsHook4
util-linux
# Fool upstream's cmake lsblk check a bit
(writeShellScriptBin "lsblk" ''
echo "our lsblk has --json support but it doesn't work in our sandbox"
'')
];
buildInputs = [
@@ -67,16 +67,11 @@ stdenv.mkDerivation (finalAttrs: {
qt6.qtwayland
];
cmakeFlags =
# Disable vendoring
[
(lib.cmakeBool "ENABLE_VENDORING" false)
]
# Disable telemetry and update check.
++ lib.optionals (!enableTelemetry) [
(lib.cmakeBool "ENABLE_CHECK_VERSION" false)
(lib.cmakeBool "ENABLE_TELEMETRY" false)
];
cmakeFlags = [
# Isn't relevant for Nix
(lib.cmakeBool "ENABLE_CHECK_VERSION" false)
(lib.cmakeBool "ENABLE_TELEMETRY" enableTelemetry)
];
qtWrapperArgs = [
"--unset QT_QPA_PLATFORMTHEME"
@@ -105,8 +100,8 @@ stdenv.mkDerivation (finalAttrs: {
ymarkus
anthonyroussel
];
platforms = lib.platforms.all;
# does not build on darwin
broken = stdenv.hostPlatform.isDarwin;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
# could not find xz
badPlatforms = lib.platforms.darwin;
};
})
@@ -1,575 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@
cmake_minimum_required(VERSION 3.22)
OPTION (ENABLE_CHECK_VERSION "Check for version updates" ON)
OPTION (ENABLE_TELEMETRY "Enable sending telemetry" ON)
+OPTION (ENABLE_VENDORING "Use vendored dependencies" ON)
# We use FetchContent_Populate() instead of FetchContent_MakeAvailable() to allow EXCLUDE_FROM_ALL
# This prevents the dependencies from being built by default, which is our desired behavior
@@ -58,410 +59,156 @@ if (APPLE)
endforeach()
endif(APPLE)
+## Preferentially build the bundled code. Full vendoring is to follow in a later version.
+
# Bundled code will occasionally use identical options - eg, BUILD_TESTING.
set(BUILD_TESTING OFF)
set(BUILD_STATIC_LIBS ON)
set(BUILD_SHARED_LIBS OFF)
-include(FetchContent)
-
-# Bundled liblzma
-set(LIBLZMA_VERSION "5.8.1")
-FetchContent_Declare(xz
- GIT_REPOSITORY https://github.com/tukaani-project/xz.git
- GIT_TAG v${LIBLZMA_VERSION}
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-set(XZ_MICROLZMA_DECODER OFF CACHE BOOL "" FORCE)
-set(XZ_MICROLZMA_ENCODER OFF CACHE BOOL "" FORCE)
-set(XZ_LZIP_DECODER OFF CACHE BOOL "" FORCE)
-set(XZ_ENABLE_SANDBOX OFF CACHE BOOL "" FORCE)
-set(XZ_BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
-set(XZ_ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
-set(XZ_DECODERS
- lzma1
- lzma2
- delta
-)
-set(XZ_ENCODERS
- lzma1
- lzma2
- delta
-)
-set(CREATE_LZMA_SYMLINKS OFF CACHE BOOL "" FORCE)
-set(CREATE_XZ_SYMLINKS OFF CACHE BOOL "" FORCE)
-FetchContent_GetProperties(xz)
-if(NOT xz_POPULATED)
- FetchContent_Populate(xz)
- add_subdirectory(${xz_SOURCE_DIR} ${xz_BINARY_DIR} EXCLUDE_FROM_ALL)
-endif()
-unset(XZ_MICROLZMA_DECODER)
-unset(XZ_MICROLZMA_ENCODER)
-unset(XZ_LZIP_DECODER)
-unset(XZ_ENABLE_SANDBOX)
-unset(XZ_BUILD_SHARED_LIBS)
-unset(XZ_ENABLE_DOXYGEN)
-unset(CREATE_LZMA_SYMLINKS)
-unset(CREATE_XZ_SYMLINKS)
-set(LIBLZMA_FOUND true CACHE BOOL "" FORCE)
-set(LIBLZMA_INCLUDE_DIR ${xz_SOURCE_DIR}/src/liblzma/api CACHE PATH "" FORCE)
-set(LIBLZMA_INCLUDE_DIRS ${xz_SOURCE_DIR}/src/liblzma/api CACHE PATH "" FORCE)
-set(LIBLZMA_LIBRARY liblzma CACHE FILEPATH "" FORCE)
-set(LIBLZMA_LIBRARIES ${xz_BINARY_DIR}/liblzma.a CACHE FILEPATH "" FORCE)
-set(LIBLZMA_HAS_AUTO_DECODER true CACHE BOOL "" FORCE)
-set(LIBLZMA_HAS_EASY_ENCODER true CACHE BOOL "" FORCE)
-set(LIBLZMA_HAS_LZMA_PRESET true CACHE BOOL "" FORCE)
-
-# Bundled zstd
-set(ZSTD_VERSION "1.5.7")
-FetchContent_Declare(zstd
- GIT_REPOSITORY https://github.com/facebook/zstd.git
- GIT_TAG v${ZSTD_VERSION}
- SOURCE_SUBDIR build/cmake
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
-FetchContent_GetProperties(zstd)
-if(NOT zstd_POPULATED)
- FetchContent_Populate(zstd)
- add_subdirectory(${zstd_SOURCE_DIR}/build/cmake ${zstd_BINARY_DIR} EXCLUDE_FROM_ALL)
-endif()
-unset(ZSTD_BUILD_PROGRAMS)
-unset(ZSTD_BUILD_SHARED)
-unset(ZSTD_BUILD_STATIC)
-unset(ZSTD_BUILD_TESTS)
-unset(ZSTD_BUILD_DICTBUILDER)
-set(ZSTD_FOUND true CACHE BOOL "" FORCE)
-set(Zstd_VERSION ${ZSTD_VERSION} CACHE STRING "" FORCE)
-set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
-set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
-set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
-set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
-set(Zstd_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
-set(ZSTD_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
-set(ZSTD_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-build/lib/libzstd.a CACHE FILEPATH "" FORCE)
-
-# Remote nghttp2
-set(NGHTTP2_VERSION "1.65.0")
-FetchContent_Declare(nghttp2
- GIT_REPOSITORY https://github.com/nghttp2/nghttp2.git
- GIT_TAG v${NGHTTP2_VERSION}
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-set(BUILD_EXAMPLES OFF)
-set(ENABLE_LIB_ONLY ON)
-set(ENABLE_FAILMALLOC OFF)
-FetchContent_GetProperties(nghttp2)
-if(NOT nghttp2_POPULATED)
- FetchContent_Populate(nghttp2)
- add_subdirectory(${nghttp2_SOURCE_DIR} ${nghttp2_BINARY_DIR} EXCLUDE_FROM_ALL)
-endif()
-unset(ENABLE_LIB_ONLY)
-unset(ENABLE_FAILMALLOC)
-unset(BUILD_EXAMPLES)
-set(NGHTTP2_LIBRARIES nghttp2_static CACHE FILEPATH "" FORCE)
-set(NGHTTP2_LIBRARY nghttp2_static CACHE FILEPATH "" FORCE)
-set(NGHTTP2_INCLUDE_DIR ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
-set(NGHTTP2_INCLUDE_DIRS ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
-set(NGHTTP2_FOUND true CACHE BOOL "" FORCE)
-
-
-# Bundled zlib
-set(ZLIB_VERSION "1.4.1.1")
-set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
-set(ZLIB_BUILD_SHARED OFF CACHE BOOL "" FORCE)
-set(ZLIB_BUILD_STATIC ON CACHE BOOL "" FORCE)
-set(ZLIB_BUILD_TESTS OFF CACHE BOOL "" FORCE)
-set(SKIP_INSTALL_ALL ON CACHE BOOL "" FORCE)
-FetchContent_Declare(zlib
- GIT_REPOSITORY https://github.com/madler/zlib.git
- GIT_TAG 5a82f71ed1dfc0bec044d9702463dbdf84ea3b71 # v1.4.1.1, as of 27/05/2025
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-FetchContent_GetProperties(zlib)
-if(NOT zlib_POPULATED)
- FetchContent_Populate(zlib)
- add_subdirectory(${zlib_SOURCE_DIR} ${zlib_BINARY_DIR} EXCLUDE_FROM_ALL)
-endif()
-unset(ZLIB_BUILD_EXAMPLES)
-unset(ZLIB_BUILD_SHARED)
-unset(ZLIB_BUILD_STATIC)
-unset(ZLIB_BUILD_TESTS)
-unset(SKIP_INSTALL_ALL)
-# Set zlib variables that libarchive's CMake will use
-set(ZLIB_USE_STATIC_LIBS ON CACHE BOOL "" FORCE) # This is to help FindZlib.cmake find the static library over the shared one
-set(ZLIB_ROOT ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
-
-# On Windows with MinGW, zlib builds with .a extension, not .lib
-# Set the correct library path before find_package
-if (WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
- set(ZLIB_LIBRARY ${zlib_BINARY_DIR}/libzlibstatic.a CACHE FILEPATH "" FORCE)
- set(ZLIB_LIBRARIES ${zlib_BINARY_DIR}/libzlibstatic.a CACHE STRING "" FORCE)
-else()
- set(ZLIB_LIBRARY ${zlib_BINARY_DIR}/libz.a CACHE FILEPATH "" FORCE)
- set(ZLIB_LIBRARIES ${zlib_BINARY_DIR}/libz.a CACHE STRING "" FORCE)
-endif()
-
-# Since we're building zlib ourselves with EXCLUDE_FROM_ALL, we don't need find_package
-# Instead, we'll create the ZLIB::ZLIB target manually and set all required variables
-set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
-set(ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
-
-# Create ZLIB::ZLIB target manually since we're not using find_package
-# Set zlib variables that other packages expect
-set(ZLIB_FOUND TRUE CACHE BOOL "" FORCE)
-add_library(ZLIB::ZLIB STATIC IMPORTED)
-if (WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
- set_target_properties(ZLIB::ZLIB PROPERTIES
- IMPORTED_LOCATION "${zlib_BINARY_DIR}/libzlibstatic.a"
- INTERFACE_INCLUDE_DIRECTORIES "${zlib_SOURCE_DIR};${zlib_BINARY_DIR}"
- )
- add_dependencies(ZLIB::ZLIB zlibstatic)
-else()
- set_target_properties(ZLIB::ZLIB PROPERTIES
- IMPORTED_LOCATION "${zlib_BINARY_DIR}/libz.a"
- INTERFACE_INCLUDE_DIRECTORIES "${zlib_SOURCE_DIR};${zlib_BINARY_DIR}"
+if(ENABLE_VENDORING)
+ # Bundled liblzma
+ set(XZ_MICROLZMA_DECODER OFF)
+ set(XZ_MICROLZMA_ENCODER OFF)
+ set(XZ_LZIP_DECODER OFF)
+ set(XZ_ENABLE_SANDBOX OFF)
+ set(XZ_BUILD_SHARED_LIBS OFF)
+ set(XZ_ENABLE_DOXYGEN OFF)
+ set(XZ_DECODERS
+ lzma1
+ lzma2
+ delta
)
- add_dependencies(ZLIB::ZLIB zlibstatic)
-endif()
-
-# Debug output
-message(STATUS "ZLIB_LIBRARY set to: ${ZLIB_LIBRARY}")
-message(STATUS "ZLIB_LIBRARIES set to: ${ZLIB_LIBRARIES}")
-message(STATUS "ZLIB_INCLUDE_DIRS set to: ${ZLIB_INCLUDE_DIRS}")
-
-# Bundled libarchive
-
-set(ENABLE_WERROR OFF CACHE BOOL "")
-set(ENABLE_INSTALL OFF CACHE BOOL "")
-set(ENABLE_TEST OFF CACHE BOOL "")
-set(ENABLE_CNG OFF CACHE BOOL "")
-set(ENABLE_MBEDTLS OFF CACHE BOOL "")
-set(ENABLE_NETTLE OFF CACHE BOOL "")
-set(ENABLE_OPENSSL OFF CACHE BOOL "")
-# Configure libarchive with explicit zlib support
-set(ENABLE_ZLIB ON CACHE BOOL "")
-set(ENABLE_BZip2 OFF CACHE BOOL "")
-set(ENABLE_LZ4 OFF CACHE BOOL "")
-set(ENABLE_LZO OFF CACHE BOOL "")
-set(ENABLE_LIBB2 OFF CACHE BOOL "")
-set(ENABLE_LIBXML2 OFF CACHE BOOL "")
-set(ENABLE_EXPAT OFF CACHE BOOL "")
-set(ENABLE_PCREPOSIX OFF CACHE BOOL "")
-set(ENABLE_PCRE2POSIX OFF CACHE BOOL "")
-set(ENABLE_LIBGCC OFF CACHE BOOL "")
-set(ENABLE_TAR OFF CACHE BOOL "")
-set(ENABLE_CPIO OFF CACHE BOOL "")
-set(ENABLE_CAT OFF CACHE BOOL "")
-set(BUILD_SHARED_LIBS OFF CACHE BOOL "")
-set(ARCHIVE_BUILD_STATIC_LIBS ON CACHE BOOL "")
-set(ARCHIVE_BUILD_EXAMPLES OFF CACHE BOOL "")
-set(ENABLE_ZSTD ON CACHE BOOL "")
-set(POSIX_REGEX_LIB "libc" CACHE STRING "" FORCE)
-set(LIBARCHIVE_VERSION "3.8.0")
-
-# Create a patch script to fix ZSTD detection in libarchive
-set(LIBARCHIVE_PATCH_FILE "${CMAKE_CURRENT_BINARY_DIR}/libarchive_zstd_patch.cmake")
-file(WRITE ${LIBARCHIVE_PATCH_FILE} "
-# Read the original CMakeLists.txt
-file(READ \"\${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\" CONTENT)
-
-# Find the start and end of the ZSTD section
-string(FIND \"\${CONTENT}\" \"IF(ZSTD_FOUND)\" ZSTD_START)
-string(FIND \"\${CONTENT}\" \"MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\" ZSTD_END)
-
-if(ZSTD_START GREATER -1 AND ZSTD_END GREATER -1)
- # Calculate positions
- math(EXPR ZSTD_END \"\${ZSTD_END} + 40\") # Length of \"MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\"
-
- # Extract parts before and after the ZSTD section
- string(SUBSTRING \"\${CONTENT}\" 0 \${ZSTD_START} BEFORE_ZSTD)
- string(SUBSTRING \"\${CONTENT}\" \${ZSTD_END} -1 AFTER_ZSTD)
-
- # Create the new ZSTD section
- set(NEW_ZSTD_SECTION \"IF(ZSTD_FOUND)
- SET(HAVE_ZSTD_H 1)
- INCLUDE_DIRECTORIES(\\\${ZSTD_INCLUDE_DIR})
- LIST(APPEND ADDITIONAL_LIBS \\\${ZSTD_LIBRARY})
-
- # Check if ZSTD variables were provided externally (indicating static build)
- get_property(ZSTD_LIB_IS_CACHE CACHE ZSTD_LIBRARY PROPERTY TYPE)
- get_property(ZSTD_INC_IS_CACHE CACHE ZSTD_INCLUDE_DIR PROPERTY TYPE)
- if(ZSTD_LIB_IS_CACHE AND ZSTD_INC_IS_CACHE)
- # Skip function checks for static builds and assume all functions are available
- message(STATUS \\\"Using provided ZSTD library: \\\${ZSTD_LIBRARY}\\\")
- SET(HAVE_LIBZSTD 1)
- SET(HAVE_ZSTD_compressStream 1)
- SET(HAVE_ZSTD_minCLevel 1)
- else()
- # Original function checks for dynamic builds
- CMAKE_PUSH_CHECK_STATE()
- SET(CMAKE_REQUIRED_LIBRARIES \\\${ZSTD_LIBRARY})
- SET(CMAKE_REQUIRED_INCLUDES \\\${ZSTD_INCLUDE_DIR})
- CHECK_FUNCTION_EXISTS(ZSTD_decompressStream HAVE_LIBZSTD)
- CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_ZSTD_compressStream)
- CHECK_FUNCTION_EXISTS(ZSTD_minCLevel HAVE_ZSTD_minCLevel)
- CMAKE_POP_CHECK_STATE()
- endif()
-ENDIF(ZSTD_FOUND)
-MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\")
-
- # Combine the parts
- set(NEW_CONTENT \"\${BEFORE_ZSTD}\${NEW_ZSTD_SECTION}\")
-
- # Write the modified content back
- file(WRITE \"\${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\" \"\${NEW_CONTENT}\${AFTER_ZSTD}\")
- message(STATUS \"Patched libarchive CMakeLists.txt for static ZSTD support\")
-else()
- message(WARNING \"Could not find ZSTD section in libarchive CMakeLists.txt\")
-endif()
-")
-
-FetchContent_Declare(libarchive
- GIT_REPOSITORY https://github.com/libarchive/libarchive.git
- GIT_TAG v${LIBARCHIVE_VERSION}
- PATCH_COMMAND ${CMAKE_COMMAND} -P ${LIBARCHIVE_PATCH_FILE}
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-FetchContent_GetProperties(libarchive)
-if(NOT libarchive_POPULATED)
- FetchContent_Populate(libarchive)
- add_subdirectory(${libarchive_SOURCE_DIR} ${libarchive_BINARY_DIR} EXCLUDE_FROM_ALL)
-endif()
-
-# Ensure libarchive is built after zlib
-if (TARGET archive_static AND TARGET ZLIB::ZLIB)
- add_dependencies(archive_static ZLIB::ZLIB)
-endif()
-
-unset(POSIX_REGEX_LIB)
-unset(ENABLE_WERROR)
-unset(ENABLE_INSTALL)
-unset(ENABLE_TEST)
-unset(ENABLE_CNG)
-unset(ENABLE_MBEDTLS)
-unset(ENABLE_NETTLE)
-unset(ENABLE_OPENSSL)
-unset(ENABLE_ZLIB)
-unset(ENABLE_BZip2)
-unset(ENABLE_LZ4)
-unset(ENABLE_LZO)
-unset(ENABLE_LIBB2)
-unset(ENABLE_LIBXML2)
-unset(ENABLE_EXPAT)
-unset(ENABLE_PCREPOSIX)
-unset(ENABLE_PCRE2POSIX)
-unset(ENABLE_LIBGCC)
-unset(ENABLE_TAR)
-unset(ENABLE_CPIO)
-unset(ENABLE_CAT)
-unset(ARCHIVE_BUILD_SHARED_LIBS)
-unset(ENABLE_ZSTD)
-set(LibArchive_FOUND true CACHE BOOL "" FORCE)
-set(LibArchive_LIBRARIES archive_static CACHE FILEPATH "" FORCE)
-set(LibArchive_INCLUDE_DIR ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
-set(LibArchive_INCLUDE_DIRS ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
-
-# Bundled libcurl
-set(CURL_VERSION "8.13.0")
-string(REPLACE "." "_" CURL_TAG ${CURL_VERSION})
-FetchContent_Declare(curl
- GIT_REPOSITORY https://github.com/curl/curl.git
- GIT_TAG curl-${CURL_TAG}
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
-set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
-set(BUILD_MISC_DOCS OFF CACHE BOOL "" FORCE)
-set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
-set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
-set(CURL_USE_LIBPSL OFF CACHE BOOL "" FORCE)
-set(CURL_USE_LIBSSH2 OFF CACHE BOOL "" FORCE)
-set(CURL_DISABLE_ALTSVC ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_KERBEROS_AUTH ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_DICT ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_DISABLE_FORM_API ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_FTP ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_GOPHER ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_IMAP ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_LDAPS ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_MQTT ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_NETRC ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_POP3 ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_RTSP ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_SMTP ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_TELNET ON CACHE BOOL "" FORCE)
-set(CURL_DISABLE_TFTP ON CACHE BOOL "" FORCE)
-set(CURL_ZSTD ON)
-set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
-set(CURL_DISABLE_INSTALL ON)
-if (APPLE)
- # TODO: SecureTransport is a deprecated API in macOS, supporting
- # only up to TLS v1.2. cURL has not implemented the replacement,
- # Network.framework, and so we will need to select an alternative.
- # Best recommendation: Libressl, as used by Apple in the curl binary
- # on macOS.
- set(CURL_USE_SECTRANSP ON)
- set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
- set(USE_APPLE_IDN ON)
-else()
- if (WIN32)
- set(CURL_USE_SCHANNEL ON)
- set(CURL_DEFAULT_SSL_BACKEND "schannel")
- else ()
- set(CURL_USE_GNUTLS ON)
- set(CURL_DEFAULT_SSL_BACKEND "gnutls")
- endif(WIN32)
-endif(APPLE)
-
-FetchContent_GetProperties(curl)
-if(NOT curl_POPULATED)
- FetchContent_Populate(curl)
- add_subdirectory(${curl_SOURCE_DIR} ${curl_BINARY_DIR} EXCLUDE_FROM_ALL)
+ set(XZ_ENCODERS "")
+ set(CREATE_LZMA_SYMLINKS OFF)
+ set(CREATE_XZ_SYMLINKS OFF)
+ add_subdirectory(dependencies/xz-5.8.1)
+ set(LIBLZMA_FOUND true)
+ set(LIBLZMA_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.8.1/src/liblzma/api FORCE)
+ set(LIBLZMA_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.8.1/src/liblzma/api FORCE)
+ set(LIBLZMA_LIBRARY liblzma)
+ set(LIBLZMA_LIBRARIES liblzma)
+
+ # Bundled zstd
+ set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
+ add_subdirectory(dependencies/zstd-1.5.7/build/cmake)
+ set(Zstd_FOUND true)
+ set(ZSTD_FOUND true)
+ set(Zstd_VERSION "1.5.7")
+ set(ZSTD_VERSION "1.5.7")
+ set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
+ set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
+ set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
+ set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
+ set(Zstd_LIBRARIES libzstd_static)
+ set(ZSTD_LIBRARIES libzstd_static)
+ set(ZSTD_LIBRARY libzstd_static)
+
+ # Bundled zlib
+ set(ZLIB_BUILD_EXAMPLES OFF)
+ set(SKIP_INSTALL_ALL ON)
+ add_subdirectory(dependencies/zlib-1.4.1.1)
+ set(ZLIB_FOUND TRUE)
+ set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.4.1.1 CACHE PATH "zlib include dir")
+ set(ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.4.1.1 CACHE PATH "zlib include dir")
+ set(ZLIB_LIBRARY zlibstatic)
+ set(ZLIB_LIBRARIES zlibstatic)
+
+ # Bundled libarchive
+ set(ARCHIVE_ENABLE_WERROR OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_INSTALL OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_TEST OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CNG OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_MBEDTLS OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_NETTLE OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_OPENSSL OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_BZip2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LZ4 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LZO OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBB2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBXML2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_EXPAT OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_PCREPOSIX OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_PCRE2POSIX OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBGCC OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_TAR OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CPIO OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CAT OFF CACHE BOOL "")
+ set(ARCHIVE_BUILD_SHARED_LIBS OFF CACHE BOOL "")
+ add_subdirectory(dependencies/libarchive-3.7.7)
+ set(LibArchive_FOUND true)
+ set(LibArchive_LIBRARIES archive_static)
+ set(LibArchive_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/libarchive-3.7.8/libarchive)
+
+ # Bundled libcurl
+ set(CMAKE_CURL_INCLUDES)
+ set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
+ set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
+ set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
+ set(CURL_USE_LIBPSL OFF)
+ set(CURL_USE_LIBSSH2 OFF)
+ set(CURL_DISABLE_ALTSVC ON)
+ set(CURL_DISABLE_KERBEROS_AUTH ON)
+ set(CURL_DISABLE_DICT ON)
+ set(CURL_DISABLE_DISABLE_FORM_API ON)
+ set(CURL_DISABLE_FTP ON)
+ set(CURL_DISABLE_GOPHER ON)
+ set(CURL_DISABLE_IMAP ON)
+ set(CURL_DISABLE_LDAP ON)
+ set(CURL_DISABLE_LDAPS ON)
+ set(CURL_DISABLE_MQTT ON)
+ set(CURL_DISABLE_NETRC ON)
+ set(CURL_DISABLE_POP3 ON)
+ set(CURL_DISABLE_RTSP ON)
+ set(CURL_DISABLE_SMTP ON)
+ set(CURL_DISABLE_TELNET ON)
+ set(CURL_DISABLE_TFTP ON)
+ set(CURL_ZSTD ON)
+ set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
+ set(CURL_DISABLE_INSTALL ON)
+ if (APPLE)
+ # TODO: SecureTransport is a deprecated API in macOS, supporting
+ # only up to TLS v1.2. cURL has not implemented the replacement,
+ # Network.framework, and so we will need to select an alternative.
+ # Best recommendation: Libressl, as used by Apple in the curl binary
+ # on macOS.
+ set(CURL_USE_SECTRANSP ON)
+ set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
+ set(USE_APPLE_IDN ON)
+ else()
+ if (WIN32)
+ set(CURL_USE_SCHANNEL ON)
+ set(CURL_DEFAULT_SSL_BACKEND "schannel")
+ else ()
+ set(CURL_USE_GNUTLS ON)
+ set(CURL_DEFAULT_SSL_BACKEND "gnutls")
+ endif(WIN32)
+ endif(APPLE)
+
+ add_subdirectory(dependencies/curl-8.13.0)
+ set(CURL_FOUND true)
+ set(CURL_LIBRARIES libcurl_static)
+ set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.13.0/include)
+ set(CURL_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.13.0/include)
+
+elseif (NOT ENABLE_VENDORING AND UNIX)
+ # Find the libraries that were subject to vendoring in the system instead,
+ # To keep the possibility of delivery via Linux distro packages
+ find_package(ZLIB)
+ if(ZLIB_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} ZLIB::ZLIB)
+ endif()
+ find_package(LibLZMA)
+ if(LIBLZMA_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} LibLZMA::LibLZMA)
+ endif()
+ find_package(CURL 8.13.0 REQUIRED)
+ find_package(LibArchive 3.7.8 REQUIRED)
endif()
-unset(BUILD_CURL_EXE)
-unset(BUILD_LIBCURL_DOCS)
-unset(BUILD_MISC_DOCS)
-unset(ENABLE_CURL_MANUAL)
-unset(BUILD_EXAMPLES)
-unset(CURL_USE_LIBPSL)
-unset(CURL_USE_LIBSSH2)
-unset(CURL_DISABLE_ALTSVC)
-unset(CURL_DISABLE_KERBEROS_AUTH)
-unset(CURL_DISABLE_DICT)
-unset(CURL_DISABLE_DISABLE_FORM_API)
-unset(CURL_DISABLE_FTP)
-unset(CURL_DISABLE_GOPHER)
-unset(CURL_DISABLE_IMAP)
-unset(CURL_DISABLE_LDAP)
-unset(CURL_DISABLE_LDAPS)
-unset(CURL_DISABLE_MQTT)
-unset(CURL_DISABLE_NETRC)
-unset(CURL_DISABLE_POP3)
-unset(CURL_DISABLE_RTSP)
-unset(CURL_DISABLE_SMTP)
-unset(CURL_DISABLE_TELNET)
-unset(CURL_DISABLE_TFTP)
-unset(CURL_ZSTD)
-unset(CURL_ENABLE_EXPORT_TARGET)
-unset(CURL_DISABLE_INSTALL)
-unset(CURL_USE_SECTRANSP)
-unset(CURL_DEFAULT_SSL_BACKEND)
-unset(USE_APPLE_IDN)
-unset(CURL_USE_SCHANNEL)
-unset(CURL_USE_GNUTLS)
-
-set(CURL_FOUND true CACHE BOOL "" FORCE)
-set(CURL_LIBRARIES libcurl_static CACHE FILEPATH "" FORCE)
-set(CURL_INCLUDE_DIR ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
-set(CURL_INCLUDE_DIRS ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
-
# Adding headers explicity so they are displayed in Qt Creator
set(HEADERS config.h imagewriter.h networkaccessmanagerfactory.h nan.h drivelistitem.h drivelistmodel.h drivelistmodelpollthread.h driveformatthread.h powersaveblocker.h cli.h
devicewrapper.h devicewrapperblockcacheentry.h devicewrapperpartition.h devicewrapperstructs.h devicewrapperfatpartition.h wlancredentials.h
@@ -928,11 +675,6 @@ else()
if (NOT LSBLK)
message(FATAL_ERROR "Unable to locate lsblk (used for disk enumeration)")
endif()
-
- execute_process(COMMAND "${LSBLK}" "--json" OUTPUT_QUIET RESULT_VARIABLE ret)
- if (ret EQUAL "1")
- message(FATAL_ERROR "util-linux package too old. lsblk does not support --json (used for disk enumeration)")
- endif()
endif()
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
@@ -0,0 +1,94 @@
diff --git c/src/CMakeLists.txt w/src/CMakeLists.txt
index f9e020ce..c5f71914 100644
--- c/src/CMakeLists.txt
+++ w/src/CMakeLists.txt
@@ -68,6 +68,10 @@ set(BUILD_SHARED_LIBS OFF)
include(FetchContent)
+find_package(LibLZMA)
+if(LIBLZMA_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} LibLZMA::LibLZMA)
+else()
# Bundled liblzma
set(LIBLZMA_VERSION "5.8.1")
FetchContent_Declare(xz
@@ -114,7 +118,10 @@ set(LIBLZMA_LIBRARIES ${xz_BINARY_DIR}/liblzma.a CACHE FILEPATH "" FORCE)
set(LIBLZMA_HAS_AUTO_DECODER true CACHE BOOL "" FORCE)
set(LIBLZMA_HAS_EASY_ENCODER true CACHE BOOL "" FORCE)
set(LIBLZMA_HAS_LZMA_PRESET true CACHE BOOL "" FORCE)
+endif()
+find_package(zstd ${ZSTD_VERSION})
+if(NOT zstd_FOUND)
# Bundled zstd
set(ZSTD_VERSION "1.5.7")
FetchContent_Declare(zstd
@@ -147,32 +154,12 @@ set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH
set(Zstd_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
set(ZSTD_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
set(ZSTD_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-build/lib/libzstd.a CACHE FILEPATH "" FORCE)
-
-# Remote nghttp2
-set(NGHTTP2_VERSION "1.66.0")
-FetchContent_Declare(nghttp2
- GIT_REPOSITORY https://github.com/nghttp2/nghttp2.git
- GIT_TAG v${NGHTTP2_VERSION}
- ${USE_OVERRIDE_FIND_PACKAGE}
-)
-set(BUILD_EXAMPLES OFF)
-set(ENABLE_LIB_ONLY ON)
-set(ENABLE_FAILMALLOC OFF)
-FetchContent_GetProperties(nghttp2)
-if(NOT nghttp2_POPULATED)
- FetchContent_Populate(nghttp2)
- add_subdirectory(${nghttp2_SOURCE_DIR} ${nghttp2_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
-unset(ENABLE_LIB_ONLY)
-unset(ENABLE_FAILMALLOC)
-unset(BUILD_EXAMPLES)
-set(NGHTTP2_LIBRARIES nghttp2_static CACHE FILEPATH "" FORCE)
-set(NGHTTP2_LIBRARY nghttp2_static CACHE FILEPATH "" FORCE)
-set(NGHTTP2_INCLUDE_DIR ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
-set(NGHTTP2_INCLUDE_DIRS ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
-set(NGHTTP2_FOUND true CACHE BOOL "" FORCE)
-
+find_package(ZLIB)
+if(ZLIB_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} ZLIB::ZLIB)
+else()
# Bundled zlib
set(ZLIB_VERSION "1.4.1.1")
set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
@@ -236,7 +223,10 @@ endif()
message(STATUS "ZLIB_LIBRARY set to: ${ZLIB_LIBRARY}")
message(STATUS "ZLIB_LIBRARIES set to: ${ZLIB_LIBRARIES}")
message(STATUS "ZLIB_INCLUDE_DIRS set to: ${ZLIB_INCLUDE_DIRS}")
+endif()
+find_package(LibArchive)
+if(NOT LibArchive_FOUND)
# Bundled libarchive
set(ENABLE_WERROR OFF CACHE BOOL "")
@@ -368,8 +358,11 @@ set(LibArchive_FOUND true CACHE BOOL "" FORCE)
set(LibArchive_LIBRARIES archive_static CACHE FILEPATH "" FORCE)
set(LibArchive_INCLUDE_DIR ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
set(LibArchive_INCLUDE_DIRS ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
+endif()
# Bundled libcurl
+find_package(CURL)
+if(NOT CURL_FOUND)
set(CURL_VERSION "8.14.1")
string(REPLACE "." "_" CURL_TAG ${CURL_VERSION})
FetchContent_Declare(curl
@@ -516,6 +509,7 @@ set(CURL_FOUND true CACHE BOOL "" FORCE)
set(CURL_LIBRARIES libcurl_static CACHE FILEPATH "" FORCE)
set(CURL_INCLUDE_DIR ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
set(CURL_INCLUDE_DIRS ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
+endif()
# Adding headers explicity so they are displayed in Qt Creator
set(HEADERS config.h imagewriter.h networkaccessmanagerfactory.h nan.h drivelistitem.h drivelistmodel.h drivelistmodelpollthread.h driveformatthread.h powersaveblocker.h cli.h
+13 -8
View File
@@ -7,8 +7,8 @@
cpp-utilities,
mp4v2,
libid3tag,
libsForQt5,
qt5,
kdePackages,
qt6,
tagparser,
}:
@@ -26,21 +26,26 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
pkg-config
cmake
qt5.wrapQtAppsHook
qt6.wrapQtAppsHook
];
buildInputs = [
mp4v2
libid3tag
qt5.qtbase
qt5.qttools
qt5.qtx11extras
qt5.qtwebengine
cpp-utilities
libsForQt5.qtutilities
kdePackages.qtutilities
qt6.qtbase
qt6.qttools
qt6.qtwebengine
tagparser
];
cmakeFlags = [
"-DQT_PACKAGE_PREFIX=Qt6"
"-DQt6_DIR=${qt6.qtbase}/lib/cmake/Qt6"
"-DQt6WebEngineWidgets_DIR=${qt6.qtwebengine}/lib/cmake/Qt6WebEngineWidgets"
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv $out/bin/*.app $out/Applications
+46
View File
@@ -0,0 +1,46 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
writableTmpDirAsHomeHook,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tukai";
version = "0.2.3";
src = fetchFromGitHub {
owner = "hlsxx";
repo = "tukai";
tag = "v${finalAttrs.version}";
hash = "sha256-YJtna4NIk9mmwymepFSZB8viUSPDU4XouRE5GCujSmk=";
};
cargoHash = "sha256-1V1DrewPGDJWmOoYdtK1HS/t83zFac/tgatfDTKxAmA=";
nativeBuildInputs = [
pkg-config
writableTmpDirAsHomeHook
];
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Terminal-based touch typing application";
homepage = "https://github.com/hlsxx/tukai";
changelog = "https://github.com/hlsxx/tukai/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
rein
];
mainProgram = "tukai";
};
})
@@ -1,55 +1,17 @@
{
stdenv,
lib,
buildPythonApplication,
python3Packages,
fetchFromGitHub,
# python requirements
beautifulsoup4,
boto3,
faker,
fonttools,
h5py,
importlib-metadata,
lxml,
matplotlib,
numpy,
odfpy,
openpyxl,
pandas,
pdfminer-six,
praw,
psutil,
psycopg2,
pyarrow,
pyshp,
pypng,
msgpack,
brotli,
python-dateutil,
pyyaml,
requests,
seaborn,
setuptools,
sh,
tabulate,
urllib3,
vobject,
wcwidth,
xlrd,
xlwt,
zstandard,
zulip,
# other
gitMinimal,
withPcap ? true,
dpkt,
dnslib,
withXclip ? stdenv.hostPlatform.isLinux,
xclip,
testers,
visidata,
stdenv,
}:
buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "visidata";
version = "3.2";
format = "setuptools";
@@ -61,64 +23,69 @@ buildPythonApplication rec {
hash = "sha256-kOg9OypWNGStNYFctPIwzVa1CsZBySY2IpA3eDrS7eY=";
};
propagatedBuildInputs = [
# from visidata/requirements.txt
# packages not (yet) present in nixpkgs are commented
python-dateutil
pandas
requests
lxml
openpyxl
xlrd
xlwt
h5py
psycopg2
boto3
pyshp
#mapbox-vector-tile
pypng
#pyconll
msgpack
brotli
#fecfile
fonttools
#sas7bdat
#xport
#savReaderWriter
pyyaml
#namestand
#datapackage
pdfminer-six
#tabula
vobject
tabulate
wcwidth
zstandard
odfpy
urllib3
pyarrow
seaborn
matplotlib
sh
psutil
numpy
propagatedBuildInputs =
with python3Packages;
[
# from visidata/requirements.txt
# packages not (yet) present in nixpkgs are commented
python-dateutil
pandas
requests
lxml
openpyxl
xlrd
xlwt
h5py
psycopg2
boto3
pyshp
#mapbox-vector-tile
pypng
#pyconll
msgpack
brotli
#fecfile
fonttools
#sas7bdat
#xport
#savReaderWriter
pyyaml
#namestand
#datapackage
pdfminer-six
#tabula
vobject
tabulate
wcwidth
zstandard
odfpy
urllib3
pyarrow
seaborn
matplotlib
sh
psutil
numpy
#requests_cache
beautifulsoup4
#requests_cache
beautifulsoup4
faker
praw
zulip
#pyairtable
faker
praw
zulip
#pyairtable
setuptools
importlib-metadata
]
++ lib.optionals withPcap [
dpkt
dnslib
]
++ lib.optional withXclip xclip;
setuptools
importlib-metadata
]
++ lib.optionals withPcap (
with python3Packages;
[
dpkt
dnslib
]
)
++ lib.optional withXclip xclip;
nativeCheckInputs = [
gitMinimal
+28 -14
View File
@@ -26,25 +26,21 @@ let
pname = "wire-desktop";
versions = builtins.fromJSON (builtins.readFile ./versions.json);
version =
let
x86_64-darwin = "3.39.5211";
in
{
inherit x86_64-darwin;
aarch64-darwin = x86_64-darwin;
x86_64-linux = "3.39.3653";
x86_64-darwin = versions.macos.version;
aarch64-darwin = versions.macos.version;
x86_64-linux = versions.linux.version;
}
.${system} or throwSystem;
hash =
let
x86_64-darwin = "sha256-k6CIqHt67AFL70zdK0/91aQcpbb00OIggk5TF7y1IOY=";
in
{
inherit x86_64-darwin;
aarch64-darwin = x86_64-darwin;
x86_64-linux = "sha256-BbY+7fGAWW5CR/z4GeoBl5aOewCRuWzQjpQX4x1rzls=";
x86_64-darwin = versions.macos.hash;
aarch64-darwin = versions.macos.hash;
x86_64-linux = versions.linux.hash;
}
.${system} or throwSystem;
@@ -75,8 +71,21 @@ let
hydraPlatforms = [ ];
};
passthru.updateScript = {
command = [
./update.sh
./.
];
supportedFeatures = [ "commit" ];
};
linux = stdenv.mkDerivation rec {
inherit pname version meta;
inherit
pname
version
meta
passthru
;
src = fetchurl {
url = "https://wire-app.wire.com/linux/debian/pool/main/Wire-${version}_amd64.deb";
@@ -151,7 +160,12 @@ let
};
darwin = stdenv.mkDerivation {
inherit pname version meta;
inherit
pname
version
meta
passthru
;
src = fetchurl {
url = "https://github.com/wireapp/wire-desktop/releases/download/macos%2F${version}/Wire.pkg";
+89
View File
@@ -0,0 +1,89 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq
set -e
cd $1
releases=$(curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/wireapp/wire-desktop/releases" \
)
latest=$(jq --argjson suffix '{ "linux": ".deb", "macos": ".pkg" }' \
--slurpfile versions versions.json '
def platform_latest(platform):
map(select(.tag_name | startswith(platform)))
| max_by(.tag_name)
| { version: .tag_name | ltrimstr(platform + "/")
, url: .assets.[]
| .browser_download_url
| select(endswith($suffix.[platform]))
};
. as $releases
| $versions.[] as $old
| $old
| with_entries( .key as $key
| { key: $key, value: $releases | platform_latest($key) }
| select(.value.version != $old.[$key].version)
)
' <<< "$releases"
)
urlHashes=$(
printf '{ '
function entries () {
local sep=''
for url in $(jq --raw-output '.[].url' <<< "$latest"); do
hash=$(nix-hash --to-sri --type sha256 $(nix-prefetch-url $url))
if [ -z "$hash" ]; then
printf 'Failed to retrieve hash for %s\n' "$url" 2>&1
fi
printf '%s"%s": "%s"\n' "$sep" "$url" "$hash"
sep=', '
done
}
entries
printf '}'
)
commit=$(jq --arg versionJSON "$(printf '%s/versions.json' "$1")" \
--slurpfile versions versions.json '
$versions.[] as $old
| to_entries
| map("\(.key) \($old.[.key].version) -> \(.value.version)")
| join(", ")
| [ if . == ""
then empty
else { attrPath: "wire-desktop"
, oldVersion: "A"
, newVersion: "B"
, files: [ $versionJSON ]
, commitMessage: "wire-desktop: \(.)"
}
end
]
' <<< "$latest"
)
tempfile=$(mktemp)
updated=$(jq --argjson hashes "$urlHashes" --slurpfile versions versions.json '
$versions.[] as $old
| $old + map_values(with_entries(if .key == "url"
then { key: "hash"
, value: $hashes.[.value]
}
else .
end
)
)
' <<< "$latest" > $tempfile
)
mv $tempfile versions.json
printf '%s' "$commit"
exit 0
@@ -0,0 +1,10 @@
{
"linux": {
"version": "3.40.3718",
"hash": "sha256-1jBhF+Rnys8C3DaVbCKHDiylox2WG1qRvwnDbQrp1Mk="
},
"macos": {
"version": "3.40.5285",
"hash": "sha256-pcWB3irdPyDj55dWmNyc+oThVGgHtIu//EAk1k/56is="
}
}
@@ -1,29 +1,39 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
autoreconfHook,
intltool,
pkg-config,
libX11,
gtk2,
gtk3,
libxslt,
docbook_xsl,
wrapGAppsHook3,
withGtk3 ? true,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxappearance";
version = "0.6.3";
version = "0.6.4";
src = fetchurl {
url = "mirror://sourceforge/project/lxde/LXAppearance/${pname}-${version}.tar.xz";
sha256 = "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxappearance";
tag = finalAttrs.version;
hash = "sha256-t5P3JYGZzhTaJ3s23r6yrAQoFcCV5uteHh67sWY1KrI=";
};
enableParallelBuilding = true;
nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook3
autoreconfHook
libxslt
docbook_xsl
];
buildInputs = [
@@ -35,14 +45,16 @@ stdenv.mkDerivation rec {
./lxappearance-0.6.3-xdg.system.data.dirs.patch
];
env.XSLTPROC = lib.getExe' libxslt "xsltproc";
configureFlags = lib.optional withGtk3 "--enable-gtk3";
meta = with lib; {
meta = {
description = "Lightweight program for configuring the theme and fonts of gtk applications";
mainProgram = "lxappearance";
homepage = "https://lxde.org/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ romildo ];
};
}
})
@@ -1,20 +1,30 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
autoreconfHook,
intltool,
pkg-config,
glib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxmenu-data";
version = "0.1.5";
version = "0.1.6";
src = fetchurl {
url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
sha256 = "9fe3218d2ef50b91190162f4f923d6524c364849f87bcda8b4ed8eb59b80bab8";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxmenu-data";
tag = finalAttrs.version;
hash = "sha256-5QdQ+7nzj7wDrfdt4GT8VW4+sHgZdE7h3cReY2pmcak=";
};
nativeBuildInputs = [ intltool ];
nativeBuildInputs = [
autoreconfHook
intltool
pkg-config
glib
];
meta = {
homepage = "https://lxde.org/";
@@ -22,4 +32,4 @@ stdenv.mkDerivation rec {
description = "Freedesktop.org desktop menus for LXDE";
platforms = lib.platforms.linux;
};
}
})
+12 -21
View File
@@ -1,8 +1,8 @@
{
lib,
stdenv,
fetchurl,
fetchpatch2,
fetchFromGitHub,
autoreconfHook,
pkg-config,
gettext,
m4,
@@ -32,29 +32,26 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lxpanel";
version = "0.10.1";
version = "0.11.1";
src = fetchurl {
url = "mirror://sourceforge/lxde/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
sha256 = "sha256-HjGPV9fja2HCOlBNA9JDDHja0ULBgERRBh8bPqVEHug=";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxpanel";
tag = finalAttrs.version;
hash = "sha256-jpe5AfRkyTVKQ9biOJiWKv0OVqP8gRCzfhSLDjnrEPc=";
};
patches = [
# fix build with gcc14
# https://github.com/lxde/lxpanel/commit/0853b0fc981285ebd2ac52f8dfc2a09b1090748c
(fetchpatch2 {
url = "https://github.com/lxde/lxpanel/commit/0853b0fc981285ebd2ac52f8dfc2a09b1090748c.patch?full_index=1";
hash = "sha256-lj4CWdiUQhEc9J8UNKcP7/tmsGnPjA5pwXAok5YFW4M=";
})
];
enableParallelBuilding = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
gettext
m4
intltool
libxmlxx
];
buildInputs = [
(if withGtk3 then keybinder3 else keybinder)
(if withGtk3 then gtk3 else gtk2)
@@ -74,13 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optional supportAlsa alsa-lib;
postPatch = ''
substituteInPlace src/Makefile.in \
--replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
substituteInPlace plugins/Makefile.in \
--replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
'';
configureFlags = lib.optional withGtk3 "--enable-gtk3";
meta = {
@@ -89,5 +79,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.ryneeverett ];
platforms = lib.platforms.linux;
mainProgram = "lxpanel";
};
})
+30 -12
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
pkg-config,
intltool,
gtk2,
@@ -9,35 +9,53 @@
xrandr,
withGtk3 ? false,
gtk3,
autoreconfHook,
libxslt,
docbook_xsl,
docbook_xml_dtd_412,
libxml2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxrandr";
version = "0.3.2";
version = "0.3.3";
src = fetchurl {
url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
sha256 = "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxrandr";
tag = finalAttrs.version;
hash = "sha256-EGUnvV1FqQUJkjGwxgVecXOohAu8Qa8Prgk6xZfJBe4=";
};
configureFlags = lib.optional withGtk3 "--enable-gtk3";
configureFlags = [
"--enable-man"
]
++ lib.optional withGtk3 "--enable-gtk3";
nativeBuildInputs = [
autoreconfHook
pkg-config
intltool
libxslt
libxml2
docbook_xml_dtd_412
docbook_xsl
];
patches = [ ./respect-xml-catalog-files-var.patch ];
buildInputs = [
libX11
xrandr
(if withGtk3 then gtk3 else gtk2)
];
meta = with lib; {
meta = {
description = "Standard screen manager of LXDE";
mainProgram = "lxrandr";
homepage = "https://lxde.org/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ rawkode ];
platforms = platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ rawkode ];
platforms = lib.platforms.linux;
};
}
})
@@ -0,0 +1,15 @@
diff --git a/acinclude.m4 b/acinclude.m4
index be626c5..b449b1b 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
- if $jh_found_xmlcatalog && \
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
+19 -30
View File
@@ -1,10 +1,8 @@
{
lib,
stdenv,
fetchpatch,
fetchFromGitHub,
autoconf,
automake,
autoreconfHook,
docbook_xml_dtd_412,
docbook_xsl,
intltool,
@@ -18,39 +16,26 @@
vala,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxsession";
version = "0.5.5";
version = "0.5.6";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxsession";
rev = version;
sha256 = "17sqsx57ymrimm5jfmcyrp7b0nzi41bcvpxsqckmwbhl19g6c17d";
tag = finalAttrs.version;
hash = "sha256-3RnRF4oMCtZbIraHVqEPnkviAkELq7uYqyHY0uCf/lU=";
};
patches = [
./xmlcatalog_patch.patch
# lxsession compilation is broken upstream as of GCC 14
# https://sourceforge.net/p/lxde/bugs/973/
(fetchpatch {
name = "0001-Fix-build-on-GCC-14.patch";
url = "https://sourceforge.net/p/lxde/bugs/973/attachment/0001-Fix-build-on-GCC-14.patch";
hash = "sha256-lxF3HZy5uLK7Cfu8W1A03syZf7OWXpHiU2Fk+xBl39g=";
})
];
nativeBuildInputs = [
autoconf
automake
docbook_xml_dtd_412
docbook_xsl
autoreconfHook
intltool
libxml2
libxslt
pkg-config
wrapGAppsHook3
docbook_xml_dtd_412
docbook_xsl
];
buildInputs = [
@@ -64,16 +49,20 @@ stdenv.mkDerivation rec {
"--enable-man"
"--disable-buildin-clipboard"
"--disable-buildin-polkit"
"--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
];
preConfigure = "./autogen.sh";
postPatch = ''
mkdir -p m4
'';
meta = with lib; {
patches = [ ./repect-xml-catalog-file-var.patch ];
meta = {
homepage = "https://wiki.lxde.org/en/LXSession";
description = "Classic LXDE session manager";
license = licenses.gpl2Plus;
maintainers = [ maintainers.shamilton ];
platforms = platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.shamilton ];
platforms = lib.platforms.linux;
mainProgram = "lxsession";
};
}
})
@@ -0,0 +1,13 @@
--- a/acinclude.m4 2025-08-24 00:39:08.807857027 +0200
+++ b/acinclude.m4 2025-08-24 00:49:23.043780737 +0200
@@ -40,8 +40,8 @@
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
- if $jh_found_xmlcatalog && \
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
@@ -1,23 +0,0 @@
diff --color -ur a/configure.ac b/configure.ac
--- a/configure.ac 2021-01-18 12:39:19.556844678 +0100
+++ b/configure.ac 2021-01-18 17:26:47.989410501 +0100
@@ -167,18 +167,7 @@
AM_GLIB_GNU_GETTEXT
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
-if test x"$enable_man" = x"yes"; then
- AC_PATH_PROG([XSLTPROC], [xsltproc])
- if test -z "$XSLTPROC"; then
- enable_man=no
- fi
-
- dnl check for DocBook DTD and stylesheets in the local catalog.
- JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
- [DocBook XML DTD V4.1.2], [], enable_man=no)
- JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
- [DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
-fi
+AC_PATH_PROG([XSLTPROC], [xsltproc])
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
+7 -7
View File
@@ -10,14 +10,14 @@
gitUpdater,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxtask";
version = "0.1.12";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxtask";
rev = version;
tag = finalAttrs.version;
hash = "sha256-BI50jV/17jGX91rcmg98+gkoy35oNpdSSaVDLyagbIc=";
};
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://lxde.sourceforge.net/";
description = "Lightweight and desktop independent task manager";
mainProgram = "lxtask";
@@ -47,8 +47,8 @@ stdenv.mkDerivation rec {
Desktop Environment, it's totally desktop independent and only
requires pure GTK.
'';
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.romildo ];
};
}
})
@@ -3,6 +3,7 @@
stdenv,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
# build-system
setuptools,
@@ -40,6 +41,15 @@ buildPythonPackage rec {
hash = "sha256-IAEh+rB26Zqv7j5g2YIRZRCAtFbBngoh+w8Z4e2bY+M=";
};
patches = [
# Remove delete event_loop fixture to fix test with pytest-asyncio 1.x
(fetchpatch {
name = "remove-delete-event-loop-fixture.patch";
url = "https://github.com/opensearch-project/opensearch-py/commit/2f9eeaad3f7bd38518b23a59659ccf02fff19577.patch";
hash = "sha256-ljg9GiXPOokrIRS+gF+W9DnZ71AzH8WmLeb3G7rLeK8=";
})
];
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
@@ -83,7 +93,7 @@ buildPythonPackage rec {
"test_basicauth_in_request_session"
"test_callable_in_request_session"
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86) [
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Flaky tests: OSError: [Errno 48] Address already in use
"test_redirect_failure_when_allow_redirect_false"
"test_redirect_success_when_allow_redirect_true"
@@ -0,0 +1,51 @@
{
lib,
aiohttp,
buildPythonPackage,
fetchFromGitHub,
loguru,
numpy,
setuptools,
unasync,
urllib3,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "pyosoenergyapi";
version = "1.2.4";
pyproject = true;
src = fetchFromGitHub {
owner = "osohotwateriot";
repo = "apyosohotwaterapi";
tag = version;
hash = "sha256-hpbmiSOLawKVSh7BGV70bRi45HCDKmdxEEhCOdJuIww=";
};
build-system = [
setuptools
unasync
writableTmpDirAsHomeHook
];
dependencies = [
aiohttp
loguru
numpy
urllib3
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [ "pyosoenergyapi" ];
meta = {
description = "Python library to interface with the OSO Energy API";
homepage = "https://github.com/osohotwateriot/apyosohotwaterapi";
changelog = "https://github.com/osohotwateriot/apyosohotwaterapi/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
};
}
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "rubicon-objc";
version = "0.5.1";
version = "0.5.2";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -19,13 +19,12 @@ buildPythonPackage rec {
owner = "beeware";
repo = "rubicon-objc";
tag = "v${version}";
hash = "sha256-HnPp7VUrcTfkl5XdXYasydMqxhp7eb7r5RW/7yRWmko=";
hash = "sha256-ahlsY4eU9n+BRexE4wNVXMcgSiGW7pU25zJif9lGTUs=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==75.7.0" "setuptools" \
--replace-fail "setuptools_scm==8.1.0" "setuptools_scm"
sed -i 's/"setuptools==.*"/"setuptools"/' pyproject.toml
sed -i 's/"setuptools_scm==.*"/"setuptools_scm"/' pyproject.toml
'';
build-system = [
@@ -37,6 +37,7 @@
tree-sitter-glimmer = lib.importJSON ./tree-sitter-glimmer.json;
tree-sitter-glsl = lib.importJSON ./tree-sitter-glsl.json;
tree-sitter-go = lib.importJSON ./tree-sitter-go.json;
tree-sitter-go-template = lib.importJSON ./tree-sitter-go-template.json;
tree-sitter-godot-resource = lib.importJSON ./tree-sitter-godot-resource.json;
tree-sitter-gomod = lib.importJSON ./tree-sitter-gomod.json;
tree-sitter-gowork = lib.importJSON ./tree-sitter-gowork.json;
@@ -0,0 +1,14 @@
{
"url": "https://github.com/ngalaiko/tree-sitter-go-template",
"rev": "5f19a36bb1eebb30454e277b222b278ceafed0dd",
"date": "2025-01-29T18:19:22Z",
"path": "/nix/store/lcgn1hzzsf5jhliy7454lxx7phkmrjfb-tree-sitter-go-template",
"sha256": "1nm9ybwb4if6g7cs911i6msb3q2f1plbl70k2y4icbxk2p57k5ka",
"hash": "sha256-apZ5yhWzLxaJFxMcuugNTuCxdDUxhKTZecZFsvjyqdo=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"fetchTags": false,
"leaveDotGit": false,
"rootDir": ""
}
@@ -344,6 +344,10 @@ let
orga = "blessanabraham";
repo = "tree-sitter-gemini";
};
"tree-sitter-go-template" = {
orga = "ngalaiko";
repo = "tree-sitter-go-template";
};
"tree-sitter-godot-resource" = {
orga = "prestonknopp";
repo = "tree-sitter-godot-resource";
+9 -3
View File
@@ -5,6 +5,7 @@
fetchurl,
autoPatchelfHook,
dbus,
directx-shader-compiler,
fontconfig,
freetype,
glib,
@@ -18,21 +19,23 @@
libxcb,
libXi,
libxkbcommon,
libxml2_13,
ncurses,
wayland,
xcbutil,
zlib,
}:
let
buildNum = "2024-09-26-1411";
buildNum = "2025-06-12-1681";
in
stdenv.mkDerivation {
pname = "rgp";
version = "2.3";
version = "2.5";
src = fetchurl {
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
hash = "sha256-mgIFDStgat4E+67TaSLrcwgWTu7zLf7Nkn6zBlgeVcQ=";
hash = "sha256-e7IxoaZi77klrihRO6vDh1o2Clj5lNsVlzQ7btgLsu4=";
};
nativeBuildInputs = [
@@ -42,6 +45,7 @@ stdenv.mkDerivation {
buildInputs = [
dbus
directx-shader-compiler
fontconfig
freetype
glib
@@ -55,8 +59,10 @@ stdenv.mkDerivation {
libxcb
libXi
libxkbcommon
libxml2_13
ncurses
wayland
xcbutil
zlib
];
@@ -0,0 +1,128 @@
{
buildPackages,
fetchFromGitHub,
lib,
openssl,
pkgsCross,
stdenv,
# Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at
# privilege level EL3, which is above both the kernel and the
# hypervisor.
#
# This parameter applies only to platforms which are believed to use
# hdcp.bin. On all other platforms, or if unfreeIncludeHDCPBlob=false,
# hdcp.bin will be deleted before building.
unfreeIncludeHDCPBlob ? true,
}:
lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [ "extraMeta" ];
extendDrvArgs =
finalAttrs:
{
filesToInstall,
installDir ? "$out",
platform ? null,
platformCanUseHDCPBlob ? false, # set this to true if the platform is able to use hdcp.bin
...
}@args:
# delete hdcp.bin if either: the platform is thought to
# not need it or unfreeIncludeHDCPBlob is false
let
deleteHDCPBlobBeforeBuild = !platformCanUseHDCPBlob || !unfreeIncludeHDCPBlob;
in
{
pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";
version = args.version or "2.13.0";
src =
args.src or (fetchFromGitHub {
owner = "ARM-software";
repo = "arm-trusted-firmware";
tag = "v${finalAttrs.version}";
hash = "sha256-rxm5RCjT/MyMCTxiEC8jQeFMrCggrb2DRbs/qDPXb20=";
});
patches =
lib.optionals deleteHDCPBlobBeforeBuild [
# this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch
./remove-hdcp-blob.patch
]
++ args.patches or [ ];
postPatch =
lib.optionalString deleteHDCPBlobBeforeBuild ''
rm plat/rockchip/rk3399/drivers/dp/hdcp.bin
''
+ args.postPatch or "";
depsBuildBuild = [ buildPackages.stdenv.cc ] ++ args.depsBuildBuild or [ ];
nativeBuildInputs = [
pkgsCross.arm-embedded.stdenv.cc # For Cortex-M0 firmware in RK3399
openssl # For fiptool
]
++ args.nativeBuildInputs or [ ];
# Make the new toolchain guessing (from 2.11+) happy
# https://github.com/ARM-software/arm-trusted-firmware/blob/4ec2948fe3f65dba2f19e691e702f7de2949179c/make_helpers/toolchains/rk3399-m0.mk#L21-L22
rk3399-m0-oc = "${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}objcopy";
buildInputs = [ openssl ] ++ args.buildInputs or [ ];
makeFlags = [
"HOSTCC=$(CC_FOR_BUILD)"
"M0_CROSS_COMPILE=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}"
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
# Make the new toolchain guessing (from 2.11+) happy
"CC=${stdenv.cc.targetPrefix}cc"
"LD=${stdenv.cc.targetPrefix}cc"
"AS=${stdenv.cc.targetPrefix}cc"
"OC=${stdenv.cc.targetPrefix}objcopy"
"OD=${stdenv.cc.targetPrefix}objdump"
# Passing OpenSSL path according to docs/design/trusted-board-boot-build.rst
"OPENSSL_DIR=${openssl}"
]
++ (lib.optional (platform != null) "PLAT=${platform}")
++ args.makeFlags or [ ]
++ (lib.warnIf (args ? extraMakeFlags)
"buildArmTrustedFirmware now accepts `makeFlags`, please switch from using `extraMakeFlags` to `makeFlags`"
args.extraMakeFlags or [ ]
);
installPhase = ''
runHook preInstall
mkdir -p ${installDir}
cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
runHook postInstall
'';
hardeningDisable = [ "all" ];
dontStrip = true;
# breaks secondary CPU bringup on at least RK3588, maybe others
env.NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
meta = {
homepage = "https://github.com/ARM-software/arm-trusted-firmware";
description = "Reference implementation of secure world software for ARMv8-A";
license = [
lib.licenses.bsd3
]
++ lib.optionals (!deleteHDCPBlobBeforeBuild) [ lib.licenses.unfreeRedistributable ];
maintainers = [ lib.maintainers.lopsided98 ];
}
// (args.meta or { })
// (lib.warnIf (args ? extraMeta)
"buildArmTrustedFirmware now accepts `meta`, please switch from using `extraMeta` to `meta`"
args.extraMeta or { }
);
};
}
+46 -172
View File
@@ -1,134 +1,8 @@
{ buildArmTrustedFirmware, stdenv }:
{
lib,
stdenv,
fetchFromGitHub,
fetchFromGitLab,
openssl,
pkgsCross,
buildPackages,
# Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at
# privilege level EL3, which is above both the kernel and the
# hypervisor.
#
# This parameter applies only to platforms which are believed to use
# hdcp.bin. On all other platforms, or if unfreeIncludeHDCPBlob=false,
# hdcp.bin will be deleted before building.
unfreeIncludeHDCPBlob ? true,
}:
let
buildArmTrustedFirmware = lib.makeOverridable (
{
filesToInstall,
installDir ? "$out",
platform ? null,
platformCanUseHDCPBlob ? false, # set this to true if the platform is able to use hdcp.bin
extraMakeFlags ? [ ],
extraMeta ? { },
...
}@args:
# delete hdcp.bin if either: the platform is thought to
# not need it or unfreeIncludeHDCPBlob is false
let
deleteHDCPBlobBeforeBuild = !platformCanUseHDCPBlob || !unfreeIncludeHDCPBlob;
in
stdenv.mkDerivation (
rec {
pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";
version = "2.13.0";
src = fetchFromGitHub {
owner = "ARM-software";
repo = "arm-trusted-firmware";
tag = "v${version}";
hash = "sha256-rxm5RCjT/MyMCTxiEC8jQeFMrCggrb2DRbs/qDPXb20=";
};
patches = lib.optionals deleteHDCPBlobBeforeBuild [
# this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch
./remove-hdcp-blob.patch
];
postPatch = lib.optionalString deleteHDCPBlobBeforeBuild ''
rm plat/rockchip/rk3399/drivers/dp/hdcp.bin
'';
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
pkgsCross.arm-embedded.stdenv.cc # For Cortex-M0 firmware in RK3399
openssl # For fiptool
];
# Make the new toolchain guessing (from 2.11+) happy
# https://github.com/ARM-software/arm-trusted-firmware/blob/4ec2948fe3f65dba2f19e691e702f7de2949179c/make_helpers/toolchains/rk3399-m0.mk#L21-L22
rk3399-m0-oc = "${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}objcopy";
buildInputs = [ openssl ];
makeFlags = [
"HOSTCC=$(CC_FOR_BUILD)"
"M0_CROSS_COMPILE=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}"
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
# Make the new toolchain guessing (from 2.11+) happy
"CC=${stdenv.cc.targetPrefix}cc"
"LD=${stdenv.cc.targetPrefix}cc"
"AS=${stdenv.cc.targetPrefix}cc"
"OC=${stdenv.cc.targetPrefix}objcopy"
"OD=${stdenv.cc.targetPrefix}objdump"
# Passing OpenSSL path according to docs/design/trusted-board-boot-build.rst
"OPENSSL_DIR=${openssl}"
]
++ (lib.optional (platform != null) "PLAT=${platform}")
++ extraMakeFlags;
installPhase = ''
runHook preInstall
mkdir -p ${installDir}
cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
runHook postInstall
'';
hardeningDisable = [ "all" ];
dontStrip = true;
# breaks secondary CPU bringup on at least RK3588, maybe others
env.NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
meta =
with lib;
{
homepage = "https://github.com/ARM-software/arm-trusted-firmware";
description = "Reference implementation of secure world software for ARMv8-A";
license = [
licenses.bsd3
]
++ lib.optionals (!deleteHDCPBlobBeforeBuild) [ licenses.unfreeRedistributable ];
maintainers = with maintainers; [ lopsided98 ];
}
// extraMeta;
}
// builtins.removeAttrs args [ "extraMeta" ]
)
);
in
{
inherit buildArmTrustedFirmware;
armTrustedFirmwareTools = buildArmTrustedFirmware {
# Normally, arm-trusted-firmware builds the build tools for buildPlatform
# using CC_FOR_BUILD (or as it calls it HOSTCC). Since want to build them
# for the hostPlatform here, we trick it by overriding the HOSTCC setting
# and, to be safe, remove CC_FOR_BUILD from the environment.
depsBuildBuild = [ ];
extraMakeFlags = [
makeFlags = [
"HOSTCC=${stdenv.cc.targetPrefix}gcc"
"fiptool"
"certtool"
@@ -143,67 +17,67 @@ in
'';
};
armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec {
armTrustedFirmwareAllwinner = buildArmTrustedFirmware (finalAttrs: {
platform = "sun50i_a64";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31.bin" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];
});
armTrustedFirmwareAllwinnerH616 = buildArmTrustedFirmware rec {
armTrustedFirmwareAllwinnerH616 = buildArmTrustedFirmware (finalAttrs: {
platform = "sun50i_h616";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31.bin" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];
});
armTrustedFirmwareAllwinnerH6 = buildArmTrustedFirmware rec {
armTrustedFirmwareAllwinnerH6 = buildArmTrustedFirmware (finalAttrs: {
platform = "sun50i_h6";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31.bin" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];
});
armTrustedFirmwareQemu = buildArmTrustedFirmware rec {
armTrustedFirmwareQemu = buildArmTrustedFirmware (finalAttrs: {
platform = "qemu";
extraMeta.platforms = [ "aarch64-linux" ];
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [
"build/${platform}/release/bl1.bin"
"build/${platform}/release/bl2.bin"
"build/${platform}/release/bl31.bin"
"build/${finalAttrs.platform}/release/bl1.bin"
"build/${finalAttrs.platform}/release/bl2.bin"
"build/${finalAttrs.platform}/release/bl31.bin"
];
};
});
armTrustedFirmwareRK3328 = buildArmTrustedFirmware rec {
extraMakeFlags = [ "bl31" ];
armTrustedFirmwareRK3328 = buildArmTrustedFirmware (finalAttrs: {
makeFlags = [ "bl31" ];
platform = "rk3328";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];
});
armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {
extraMakeFlags = [ "bl31" ];
armTrustedFirmwareRK3399 = buildArmTrustedFirmware (finalAttrs: {
makeFlags = [ "bl31" ];
platform = "rk3399";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];
platformCanUseHDCPBlob = true;
};
});
armTrustedFirmwareRK3568 = buildArmTrustedFirmware rec {
extraMakeFlags = [ "bl31" ];
armTrustedFirmwareRK3568 = buildArmTrustedFirmware (finalAttrs: {
makeFlags = [ "bl31" ];
platform = "rk3568";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];
});
armTrustedFirmwareRK3588 = buildArmTrustedFirmware rec {
extraMakeFlags = [ "bl31" ];
armTrustedFirmwareRK3588 = buildArmTrustedFirmware (finalAttrs: {
makeFlags = [ "bl31" ];
platform = "rk3588";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];
});
armTrustedFirmwareS905 = buildArmTrustedFirmware rec {
extraMakeFlags = [ "bl31" ];
armTrustedFirmwareS905 = buildArmTrustedFirmware (finalAttrs: {
makeFlags = [ "bl31" ];
platform = "gxbb";
extraMeta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${platform}/release/bl31.bin" ];
};
meta.platforms = [ "aarch64-linux" ];
filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];
});
}
@@ -1,8 +0,0 @@
[Desktop Entry]
Version=@version@
Encoding=UTF-8
Name=@description@
Type=Application
Exec=@exec@
X-KDE-autostart-phase=1
GenericName[en_US]=
+2 -4
View File
@@ -43,13 +43,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "prl-tools";
version = "20.4.1-55996";
version = "26.0.0-57238";
# We download the full distribution to extract prl-tools-lin.iso from
# => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
src = fetchurl {
url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
hash = "sha256-CEyP8YZPLzjVAAjOaUqwQ4Ilzk9ybAtTTZUGZbSRrKQ=";
hash = "sha256-UuQGW1qYLGVLqAzApPKBqfOZdS23mCPsID4D0HATHNw=";
};
hardeningDisable = [
@@ -118,9 +118,7 @@ stdenv.mkDerivation (finalAttrs: {
( # kernel modules
cd kmods
mkdir -p $out/lib/modules/${kernelVersion}/extra
cp prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.ko $out/lib/modules/${kernelVersion}/extra
cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra
${lib.optionalString stdenv.hostPlatform.isAarch64 "cp prl_notifier/Installation/lnx/prl_notifier/prl_notifier.ko $out/lib/modules/${kernelVersion}/extra"}
)
( # tools
+27 -14
View File
@@ -6,23 +6,36 @@ set -eu -o pipefail
nixpkgs="$(git rev-parse --show-toplevel)"
path="$nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix"
# Currently this script only supports Parallels 20
# Currently this script only supports Parallels 26
# Please change the knowledge base url after each major release
kb_url="https://kb.parallels.com/en/130212"
kb_url="https://kb.parallels.com/en/131014"
content="$(curl -s "$kb_url")"
# Parse HTML content and retrieve og:description for header metadata
description=$(echo "$content" | xmllint --recover --html --xpath 'string(//meta[@property="og:description"]/@content)' - 2>/dev/null)
regex='[^0-9]+([0-9]+\.[0-9]+\.[0-9]+)[^\(]+\(([0-9]+)\)'
if [[ $description =~ $regex ]]; then
version="${BASH_REMATCH[1]}-${BASH_REMATCH[2]}"
echo "Found latest version: $version"
else
echo "Failed to extract version from $kb_url" >&2
echo "Retrived description: $description" >&2
exit 1
# Extract all version/build pairs and select the latest (by semver, then build)
# Prefer the article content; fallback to whole body text
article_text="$(echo "$content" | xmllint --recover --html --xpath 'string(//div[@id="article-content"])' - 2>/dev/null || true)"
if [[ -z "${article_text:-}" ]]; then
article_text="$(echo "$content" | xmllint --recover --html --xpath 'string(//body)' - 2>/dev/null || echo "$content")"
fi
# Find all "X.Y.Z (BUILD)" occurrences like "20.4.1 (55996)"
mapfile -t candidates < <(echo "$article_text" \
| grep -Eo '[0-9]+\.[0-9]+\.[0-9]+[[:space:]]*\(([0-9]+)\)' \
| sed -E 's/([0-9]+\.[0-9]+\.[0-9]+)[[:space:]]*\(([0-9]+)\)/\1 \2/' \
| sort -u)
if [[ ${#candidates[@]} -eq 0 ]]; then
echo "Failed to extract any version from $kb_url" >&2
exit 1
fi
# Sort by version then build and pick the highest
latest_pair="$(printf '%s\n' "${candidates[@]}" | sort -V -k1,1 -k2,2n | tail -n1)"
latest_ver="$(awk '{print $1}' <<< "$latest_pair")"
latest_build="$(awk '{print $2}' <<< "$latest_pair")"
version="${latest_ver}-${latest_build}"
echo "Found latest version: $version"
# Extract and compare current version
old_version="$(grep -o 'version = ".*"' "$path" | awk -F'"' '{print $2}')"
if [[ "$old_version" > "$version" || "$old_version" == "$version" ]]; then
@@ -31,9 +44,9 @@ if [[ "$old_version" > "$version" || "$old_version" == "$version" ]]; then
fi
# Update version and hash
major_version=$(echo $version | cut -d. -f1)
major_version="$(echo "$version" | cut -d. -f1)"
dmg_url="https://download.parallels.com/desktop/v${major_version}/${version}/ParallelsDesktop-${version}.dmg"
sha256="$(nix store prefetch-file $dmg_url --json | jq -r '.hash')"
sha256="$(nix store prefetch-file "$dmg_url" --json | jq -r '.hash')"
sed -i -e "s,version = \"$old_version\",version = \"$version\"," \
-e "s,hash = \"sha256-.*\",hash = \"$sha256\"," "$path"
@@ -4319,7 +4319,8 @@
];
"osoenergy" =
ps: with ps; [
]; # missing inputs: pyosoenergyapi
pyosoenergyapi
];
"osramlightify" =
ps: with ps; [
lightify
@@ -7530,6 +7531,7 @@
"opnsense"
"opower"
"oralb"
"osoenergy"
"otbr"
"otp"
"ourgroceries"
+4 -3
View File
@@ -4381,8 +4381,6 @@ with pkgs;
vimwiki-markdown = python3Packages.callPackage ../tools/misc/vimwiki-markdown { };
visidata = python3Packages.callPackage ../applications/misc/visidata { };
vkbasalt = callPackage ../tools/graphics/vkbasalt {
vkbasalt32 = pkgsi686Linux.vkbasalt;
};
@@ -10328,9 +10326,12 @@ with pkgs;
fftw = fftwFloat;
};
buildArmTrustedFirmware =
callPackage ../misc/arm-trusted-firmware/build-arm-trusted-firmware.nix
{ };
arm-trusted-firmware = callPackage ../misc/arm-trusted-firmware { };
inherit (arm-trusted-firmware)
buildArmTrustedFirmware
armTrustedFirmwareTools
armTrustedFirmwareAllwinner
armTrustedFirmwareAllwinnerH616
+3
View File
@@ -13590,6 +13590,8 @@ self: super: with self; {
pyosmium = callPackage ../development/python-modules/pyosmium { inherit (pkgs) lz4; };
pyosoenergyapi = callPackage ../development/python-modules/pyosoenergyapi { };
pyosohotwaterapi = callPackage ../development/python-modules/pyosohotwaterapi { };
pyotb = callPackage ../development/python-modules/pyotb { };
@@ -18533,6 +18535,7 @@ self: super: with self; {
lib.filterAttrs (
name: value:
!(builtins.elem name [
"tree-sitter-go-template"
"tree-sitter-sql"
"tree-sitter-templ"
])