Merge staging-next into staging
This commit is contained in:
@@ -232,7 +232,7 @@ The following is an example:
|
||||
vyp
|
||||
lblasc
|
||||
];
|
||||
license.fullName = "MIT/X11";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4282,6 +4282,12 @@
|
||||
{ fingerprint = "D088 A5AF C45B 78D1 CD4F 457C 6957 B3B6 46F2 BB4E"; }
|
||||
];
|
||||
};
|
||||
c6rg0 = {
|
||||
email = "c6rg0@protonmail.com";
|
||||
github = "c6rg0";
|
||||
githubId = 64259221;
|
||||
name = "c6rg0";
|
||||
};
|
||||
caarlos0 = {
|
||||
name = "Carlos A Becker";
|
||||
email = "carlos@becker.software";
|
||||
|
||||
@@ -23,7 +23,7 @@ in
|
||||
enable = lib.mkEnableOption "TUN mode of Throne";
|
||||
|
||||
setuid = lib.mkEnableOption ''
|
||||
setting suid bit for throne-core to run as root, which is less
|
||||
setting suid bit for ThroneCore to run as root, which is less
|
||||
secure than default setcap method but closer to upstream assumptions.
|
||||
Enable this if you find the default setcap method configured in
|
||||
this module doesn't work for you
|
||||
@@ -36,8 +36,8 @@ in
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
security.wrappers.throne-core = lib.mkIf cfg.tunMode.enable {
|
||||
source = "${cfg.package}/share/throne/Core";
|
||||
security.wrappers."ThroneCore" = lib.mkIf cfg.tunMode.enable {
|
||||
source = "${cfg.package}/share/throne/ThroneCore";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
setuid = lib.mkIf cfg.tunMode.setuid true;
|
||||
@@ -49,7 +49,7 @@ in
|
||||
|
||||
# avoid resolvectl password prompt popping up three times
|
||||
# https://github.com/SagerNet/sing-tun/blob/0686f8c4f210f4e7039c352d42d762252f9d9cf5/tun_linux.go#L1062
|
||||
# We use a hack here to determine whether the requested process is throne-core
|
||||
# We use a hack here to determine whether the requested process is ThroneCore
|
||||
# Detect whether its capabilities contain at least `net_admin` and `net_raw`.
|
||||
# This does not reduce security, as we can already bypass `resolved` with them.
|
||||
# Alternatives to consider:
|
||||
@@ -61,7 +61,7 @@ in
|
||||
# change its own cmdline. `/proc/<pid>/exe` is reliable but kernel forbids
|
||||
# checking that entry of process from different users, and polkit runs `spawn`
|
||||
# as an unprivileged user.
|
||||
# 3. Put throne-core into a systemd service, and let polkit check service name.
|
||||
# 3. Put ThroneCore into a systemd service, and let polkit check service name.
|
||||
# This is the most secure and convenient way but requires heavy modification
|
||||
# to Throne source code. Would be good to let upstream support that eventually.
|
||||
security.polkit.extraConfig =
|
||||
@@ -69,6 +69,7 @@ in
|
||||
''
|
||||
polkit.addRule(function(action, subject) {
|
||||
const allowedActionIds = [
|
||||
"org.freedesktop.resolve1.revert",
|
||||
"org.freedesktop.resolve1.set-domains",
|
||||
"org.freedesktop.resolve1.set-default-route",
|
||||
"org.freedesktop.resolve1.set-dns-servers"
|
||||
|
||||
@@ -245,156 +245,134 @@ in
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
warnings = lib.optional (wrappers != { } && !config.security.enableWrappers) ''
|
||||
security.enableWrappers is set to false, but the following wrappers are still enabled and will be silently ignored: ${lib.concatStringsSep ", " (lib.attrNames wrappers)}. This might prevent fundamental functionalities, like PAM authentication. To avoid this warning, either set security.enableWrappers = true, or explicitly disable each wrapper with `enable = false`.
|
||||
'';
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
!(
|
||||
!config.security.enableWrappers && lib.any (u: u.isNormalUser) (lib.attrValues config.users.users)
|
||||
);
|
||||
message = ''
|
||||
security.enableWrappers is disabled but normal users are defined
|
||||
(${
|
||||
lib.concatStringsSep ", " (
|
||||
lib.mapAttrsToList (n: _: n) (lib.filterAttrs (_: u: u.isNormalUser) config.users.users)
|
||||
)
|
||||
}). Without SUID wrappers, users cannot login. Either enable wrappers or remove all normal user accounts.
|
||||
'';
|
||||
}
|
||||
];
|
||||
}
|
||||
(lib.mkIf config.security.enableWrappers {
|
||||
assertions = lib.mapAttrsToList (name: opts: {
|
||||
assertion = opts.setuid || opts.setgid -> opts.capabilities == "";
|
||||
message = ''
|
||||
The security.wrappers.${name} wrapper is not valid:
|
||||
setuid/setgid and capabilities are mutually exclusive.
|
||||
'';
|
||||
}) wrappers;
|
||||
config = lib.mkIf config.security.enableWrappers {
|
||||
|
||||
security.wrappers =
|
||||
let
|
||||
mkSetuidRoot = source: {
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
inherit source;
|
||||
};
|
||||
in
|
||||
{
|
||||
# These are mount related wrappers that require the +s permission.
|
||||
mount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/mount";
|
||||
umount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/umount";
|
||||
assertions = lib.mapAttrsToList (name: opts: {
|
||||
assertion = opts.setuid || opts.setgid -> opts.capabilities == "";
|
||||
message = ''
|
||||
The security.wrappers.${name} wrapper is not valid:
|
||||
setuid/setgid and capabilities are mutually exclusive.
|
||||
'';
|
||||
}) wrappers;
|
||||
|
||||
security.wrappers =
|
||||
let
|
||||
mkSetuidRoot = source: {
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
inherit source;
|
||||
};
|
||||
|
||||
# Make sure our wrapperDir exports to the PATH env variable when
|
||||
# initializing the shell
|
||||
environment.extraInit = ''
|
||||
# Wrappers override other bin directories.
|
||||
export PATH="${wrapperDir}:$PATH"
|
||||
'';
|
||||
|
||||
security.apparmor.includes = lib.mapAttrs' (
|
||||
wrapName: wrap:
|
||||
lib.nameValuePair "nixos/security.wrappers/${wrapName}" ''
|
||||
include "${
|
||||
pkgs.apparmorRulesFromClosure { name = "security.wrappers.${wrapName}"; } [
|
||||
(securityWrapper wrap.source)
|
||||
]
|
||||
}"
|
||||
mrpx ${wrap.source},
|
||||
''
|
||||
) wrappers;
|
||||
|
||||
systemd.mounts = [
|
||||
{
|
||||
where = parentWrapperDir;
|
||||
what = "tmpfs";
|
||||
type = "tmpfs";
|
||||
options = lib.concatStringsSep "," [
|
||||
"nodev"
|
||||
"mode=755"
|
||||
"size=${config.security.wrapperDirSize}"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.suid-sgid-wrappers = {
|
||||
description = "Create SUID/SGID Wrappers";
|
||||
wantedBy = [ "sysinit.target" ];
|
||||
before = [
|
||||
"sysinit.target"
|
||||
"shutdown.target"
|
||||
];
|
||||
conflicts = [ "shutdown.target" ];
|
||||
after = [ "systemd-sysusers.service" ];
|
||||
unitConfig.DefaultDependencies = false;
|
||||
unitConfig.RequiresMountsFor = [
|
||||
"/nix/store"
|
||||
"/run/wrappers"
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = false;
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
chmod 755 "${parentWrapperDir}"
|
||||
|
||||
# We want to place the tmpdirs for the wrappers to the parent dir.
|
||||
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
|
||||
chmod a+rx "$wrapperDir"
|
||||
|
||||
${lib.concatStringsSep "\n" mkWrappedPrograms}
|
||||
|
||||
if [ -L ${wrapperDir} ]; then
|
||||
# Atomically replace the symlink
|
||||
# See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
|
||||
old=$(readlink -f ${wrapperDir})
|
||||
if [ -e "${wrapperDir}-tmp" ]; then
|
||||
rm --force --recursive "${wrapperDir}-tmp"
|
||||
fi
|
||||
ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
|
||||
mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
|
||||
rm --force --recursive "$old"
|
||||
else
|
||||
# For initial setup
|
||||
ln --symbolic "$wrapperDir" "${wrapperDir}"
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
# These are mount related wrappers that require the +s permission.
|
||||
mount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/mount";
|
||||
umount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/umount";
|
||||
};
|
||||
|
||||
###### wrappers consistency checks
|
||||
system.checks = lib.singleton (
|
||||
pkgs.runCommand "ensure-all-wrappers-paths-exist"
|
||||
{
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
''
|
||||
# make sure we produce output
|
||||
mkdir -p $out
|
||||
# Make sure our wrapperDir exports to the PATH env variable when
|
||||
# initializing the shell
|
||||
environment.extraInit = ''
|
||||
# Wrappers override other bin directories.
|
||||
export PATH="${wrapperDir}:$PATH"
|
||||
'';
|
||||
|
||||
echo -n "Checking that Nix store paths of all wrapped programs exist... "
|
||||
security.apparmor.includes = lib.mapAttrs' (
|
||||
wrapName: wrap:
|
||||
lib.nameValuePair "nixos/security.wrappers/${wrapName}" ''
|
||||
include "${
|
||||
pkgs.apparmorRulesFromClosure { name = "security.wrappers.${wrapName}"; } [
|
||||
(securityWrapper wrap.source)
|
||||
]
|
||||
}"
|
||||
mrpx ${wrap.source},
|
||||
''
|
||||
) wrappers;
|
||||
|
||||
declare -A wrappers
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: "wrappers['${n}']='${v.source}'") wrappers)}
|
||||
systemd.mounts = [
|
||||
{
|
||||
where = parentWrapperDir;
|
||||
what = "tmpfs";
|
||||
type = "tmpfs";
|
||||
options = lib.concatStringsSep "," [
|
||||
"nodev"
|
||||
"mode=755"
|
||||
"size=${config.security.wrapperDirSize}"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
for name in "''${!wrappers[@]}"; do
|
||||
path="''${wrappers[$name]}"
|
||||
if [[ "$path" =~ /nix/store ]] && [ ! -e "$path" ]; then
|
||||
test -t 1 && echo -ne '\033[1;31m'
|
||||
echo "FAIL"
|
||||
echo "The path $path does not exist!"
|
||||
echo 'Please, check the value of `security.wrappers."'$name'".source`.'
|
||||
test -t 1 && echo -ne '\033[0m'
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
systemd.services.suid-sgid-wrappers = {
|
||||
description = "Create SUID/SGID Wrappers";
|
||||
wantedBy = [ "sysinit.target" ];
|
||||
before = [
|
||||
"sysinit.target"
|
||||
"shutdown.target"
|
||||
];
|
||||
conflicts = [ "shutdown.target" ];
|
||||
after = [ "systemd-sysusers.service" ];
|
||||
unitConfig.DefaultDependencies = false;
|
||||
unitConfig.RequiresMountsFor = [
|
||||
"/nix/store"
|
||||
"/run/wrappers"
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = false;
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
chmod 755 "${parentWrapperDir}"
|
||||
|
||||
echo "OK"
|
||||
''
|
||||
);
|
||||
})
|
||||
];
|
||||
# We want to place the tmpdirs for the wrappers to the parent dir.
|
||||
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
|
||||
chmod a+rx "$wrapperDir"
|
||||
|
||||
${lib.concatStringsSep "\n" mkWrappedPrograms}
|
||||
|
||||
if [ -L ${wrapperDir} ]; then
|
||||
# Atomically replace the symlink
|
||||
# See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
|
||||
old=$(readlink -f ${wrapperDir})
|
||||
if [ -e "${wrapperDir}-tmp" ]; then
|
||||
rm --force --recursive "${wrapperDir}-tmp"
|
||||
fi
|
||||
ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
|
||||
mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
|
||||
rm --force --recursive "$old"
|
||||
else
|
||||
# For initial setup
|
||||
ln --symbolic "$wrapperDir" "${wrapperDir}"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
###### wrappers consistency checks
|
||||
system.checks = lib.singleton (
|
||||
pkgs.runCommand "ensure-all-wrappers-paths-exist"
|
||||
{
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
''
|
||||
# make sure we produce output
|
||||
mkdir -p $out
|
||||
|
||||
echo -n "Checking that Nix store paths of all wrapped programs exist... "
|
||||
|
||||
declare -A wrappers
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: "wrappers['${n}']='${v.source}'") wrappers)}
|
||||
|
||||
for name in "''${!wrappers[@]}"; do
|
||||
path="''${wrappers[$name]}"
|
||||
if [[ "$path" =~ /nix/store ]] && [ ! -e "$path" ]; then
|
||||
test -t 1 && echo -ne '\033[1;31m'
|
||||
echo "FAIL"
|
||||
echo "The path $path does not exist!"
|
||||
echo 'Please, check the value of `security.wrappers."'$name'".source`.'
|
||||
test -t 1 && echo -ne '\033[0m'
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "OK"
|
||||
''
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -607,14 +607,16 @@ in
|
||||
boot.isNspawnContainer = true;
|
||||
networking.hostName = mkDefault name;
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces = lib.mkIf config.privateNetwork {
|
||||
eth0.ipv4.addresses = lib.optional (config.localAddress != null) (
|
||||
ipv4FromString config.localAddress
|
||||
);
|
||||
eth0.ipv6.addresses = lib.optional (config.localAddress6 != null) (
|
||||
lib.network.ipv6.fromString config.localAddress6
|
||||
);
|
||||
};
|
||||
networking.interfaces = lib.mkIf config.privateNetwork (
|
||||
lib.mkMerge [
|
||||
(lib.mkIf (config.localAddress != null) {
|
||||
eth0.ipv4.addresses = [ (ipv4FromString config.localAddress) ];
|
||||
})
|
||||
(lib.mkIf (config.localAddress6 != null) {
|
||||
eth0.ipv6.addresses = [ (lib.network.ipv6.fromString config.localAddress6) ];
|
||||
})
|
||||
]
|
||||
);
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
|
||||
@@ -38,12 +38,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
|
||||
version = "29.3.knots20260210";
|
||||
version = "29.3.knots20260508";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitcoinknots.org/files/29.x/${finalAttrs.version}/bitcoin-${finalAttrs.version}.tar.gz";
|
||||
# hash retrieved from signed SHA256SUMS
|
||||
hash = "sha256-CO87KbC6W+eMGyBipuwIxHndNqH4PS4PqbKk7JRdToo=";
|
||||
hash = "sha256-jjrr2sqzL29rZdkMmKGIlSVToSpXfgtY0TUlv9Wd1jA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -88,18 +88,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
publicKeys = fetchFromGitHub {
|
||||
owner = "bitcoinknots";
|
||||
repo = "guix.sigs";
|
||||
rev = "e34c3262de92940f4dc35e67abed84499c670af2";
|
||||
sha256 = "sha256-Zrhe7xK/7YnIfyXlMd/jpO6Ab1dNVK0S1vwdhhH3Xuc=";
|
||||
rev = "15113e2fe61b31354a6bcc3fddd17f759ce20c4a";
|
||||
sha256 = "sha256-snbs2j88k9CBdv8+s3GaFoIXyJRVWlKoxiKA8R6ek9Y=";
|
||||
};
|
||||
|
||||
checksums = fetchurl {
|
||||
url = "https://bitcoinknots.org/files/${majorVersion}.x/${finalAttrs.version}/SHA256SUMS";
|
||||
hash = "sha256-fLqGSe8/s4Ikd991rW/z8CH7UMMjvOjTHqRBwEgSD/w=";
|
||||
hash = "sha256-vFfeObwXowk143DSv9WZ++u+KA0fuHexFU1NizrCiV4=";
|
||||
};
|
||||
|
||||
signatures = fetchurl {
|
||||
url = "https://bitcoinknots.org/files/${majorVersion}.x/${finalAttrs.version}/SHA256SUMS.asc";
|
||||
hash = "sha256-Z6TTVKxr30OO37ve+4MrZHolo46prUVCB25kK1jLlGk=";
|
||||
hash = "sha256-8pVhrITphjs7rnJZrmxAU92GVgkjVPlkA54ne9iwiIs=";
|
||||
};
|
||||
|
||||
verifyBuilderKeys =
|
||||
@@ -151,6 +151,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# building with db48 (for legacy wallet support) is broken on Darwin
|
||||
(lib.cmakeBool "WITH_BDB" (withWallet && !stdenv.hostPlatform.isDarwin))
|
||||
(lib.cmakeBool "WITH_USDT" enableTracing)
|
||||
(lib.cmakeFeature "RDTS_CONSENT" "RUNTIME_WARN")
|
||||
]
|
||||
++ lib.optionals (!finalAttrs.doCheck) [
|
||||
(lib.cmakeBool "BUILD_TESTS" false)
|
||||
|
||||
@@ -1748,6 +1748,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
black-metal-theme-neovim = buildVimPlugin {
|
||||
pname = "black-metal-theme-neovim";
|
||||
version = "2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "metalelf0";
|
||||
repo = "black-metal-theme-neovim";
|
||||
tag = "2.0";
|
||||
hash = "sha256-z+qJfvCIV5WEAvKIkttDKpfBDt1xDBkTYLk2EoZbnj8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/metalelf0/black-metal-theme-neovim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
blame-nvim = buildVimPlugin {
|
||||
pname = "blame.nvim";
|
||||
version = "0-unstable-2026-02-12";
|
||||
@@ -5880,6 +5894,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
filemention-nvim = buildVimPlugin {
|
||||
pname = "filemention.nvim";
|
||||
version = "0-unstable-2026-05-21";
|
||||
src = fetchFromGitHub {
|
||||
owner = "not-manu";
|
||||
repo = "filemention.nvim";
|
||||
rev = "6085f2c226834081638e1e8af1ced32c78eaf8b3";
|
||||
hash = "sha256-igcHSzEQPyek4wsNZg+iZluBSSrRIImUxl2+MGmiLKU=";
|
||||
};
|
||||
meta.homepage = "https://github.com/not-manu/filemention.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
fine-cmdline-nvim = buildVimPlugin {
|
||||
pname = "fine-cmdline.nvim";
|
||||
version = "0-unstable-2026-03-19";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -123,6 +123,7 @@ https://github.com/sontungexpt/better-diagnostic-virtual-text/,,
|
||||
https://github.com/max397574/better-escape.nvim/,,
|
||||
https://github.com/LunarVim/bigfile.nvim/,,
|
||||
https://github.com/openembedded/bitbake/,,
|
||||
https://github.com/metalelf0/black-metal-theme-neovim/,,
|
||||
https://github.com/FabijanZulj/blame.nvim/,,
|
||||
https://github.com/z4p5a9/blamer.nvim/,,
|
||||
https://github.com/joelazar/blink-calc/,,
|
||||
@@ -418,6 +419,7 @@ https://github.com/micampe/fennel.vim/,,
|
||||
https://github.com/wincent/ferret/,,
|
||||
https://github.com/bogado/file-line/,,
|
||||
https://github.com/lewis6991/fileline.nvim/,,
|
||||
https://github.com/not-manu/filemention.nvim/,,
|
||||
https://github.com/VonHeikemen/fine-cmdline.nvim/,,
|
||||
https://github.com/glacambre/firenvim/,,
|
||||
https://github.com/andviro/flake8-vim/,,
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ast-grep";
|
||||
version = "0.42.1";
|
||||
version = "0.42.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ast-grep";
|
||||
repo = "ast-grep";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-TdVjoJmWZ76e9h+/z4/TlytJgwQpQu/esRuZg1sZw8A=";
|
||||
hash = "sha256-CbZDibpdEMQayd9tzNTZRUmyx4/9K5VzhbqeFatOn+Q=";
|
||||
};
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-EokHEduK+8h+JzIKRRga+QXLkfC4CK+qyoIxMwD2OPI=";
|
||||
cargoHash = "sha256-WhhSD2doqdwGnSKTVjnpjnuPep+4+nB2ZPiFFi8VbQQ=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "auth0-cli";
|
||||
version = "1.30.0";
|
||||
version = "1.31.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "auth0";
|
||||
repo = "auth0-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Hl9uNYbyTtppZYxTnUirwckGrZbjdhY5IEBbXSFrNtw=";
|
||||
hash = "sha256-6+AMU77eHYy0AwPsHt/tgtzTQkyPfvZZw1yzvWXQX0s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ltVIGm1dDR9umWPM6c4XT9PbklZ20QQj6VTzQJ301A4=";
|
||||
vendorHash = "sha256-MzvoHXO8gDIzNqhQGgDEd8xXWF7971JLTKWt8TCldKI=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -4,14 +4,22 @@
|
||||
glib,
|
||||
wrapGAppsHook3,
|
||||
lndir,
|
||||
atril,
|
||||
caja,
|
||||
caja-extensions,
|
||||
engrampa,
|
||||
extensions ? [ ],
|
||||
useDefaultExtensions ? true,
|
||||
}:
|
||||
|
||||
let
|
||||
selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions [ caja-extensions ]);
|
||||
selectedExtensions =
|
||||
extensions
|
||||
++ (lib.optionals useDefaultExtensions [
|
||||
atril
|
||||
caja-extensions
|
||||
engrampa
|
||||
]);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "${caja.pname}-with-extensions";
|
||||
|
||||
@@ -27,14 +27,15 @@ buildNpmPackage rec {
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
|
||||
postBuild = ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.npmRebuild=true \
|
||||
-c.asarUnpack="**/*.node" \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "circumflex";
|
||||
version = "4.1";
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bensadeh";
|
||||
repo = "circumflex";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JJgLRRE0Fh/oaZLZo0hLCfwUHJXBvXXfTNdmQMNUM7A=";
|
||||
hash = "sha256-2eCxk5FynwKt0T9cseesre+dumy5K5uZZAt++R+aTxw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-in6yPiT/SqRaw6hFF2gCmBwGcJ315Qej3HuM7TF5MaE=";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "codeql";
|
||||
version = "2.25.4";
|
||||
version = "2.25.5";
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
|
||||
hash = "sha256-YAFWw8Fb0B+O025TvwEiCZWsKXNZN7Fk+ai/eRmCSO0=";
|
||||
hash = "sha256-pD8F2VoWQELKYP/fT2jKr0k4+mq0ZF7/fxyDdlG9JYA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "cosmic-ext-applet-sysinfo";
|
||||
version = "0-unstable-2026-05-14";
|
||||
version = "0-unstable-2026-05-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cosmic-utils";
|
||||
repo = "cosmic-ext-applet-sysinfo";
|
||||
rev = "2e3f6ea5946ebbe06e4547a6eb48bed694b1721f";
|
||||
hash = "sha256-8XmLFY17uuqzHZFs3L8c5robIIuHF1SKaiPhkoiO2TQ=";
|
||||
rev = "b5ce695b1af0b4b61db1d71fd6999fc7ee65d4c0";
|
||||
hash = "sha256-Cz2vnKKD4c7N2EsXD1YHibwIuizQi9GmhnIpZf9Mfec=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ogFEENZxj4ifLbqKL+gimcAMX1REp2oEohY0MqM6Jsg=";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dcmtk";
|
||||
version = "3.6.9";
|
||||
version = "3.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DCMTK";
|
||||
repo = "dcmtk";
|
||||
tag = "DCMTK-${finalAttrs.version}";
|
||||
hash = "sha256-mdI/YqM38WhnCbsylIlmqLLWC5/QR+a8Wn9CNcN7KXU=";
|
||||
hash = "sha256-JUF3IX0LOtpeAJPuTbAJo79sCuPuhh7KNIuQJfcFN/A=";
|
||||
};
|
||||
|
||||
# The following patches are taken from the Debian package
|
||||
@@ -38,26 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/remove_version.patch";
|
||||
hash = "sha256-jcV2xQzKdNiBgcaFtaxdJpJCCSVOqGIsi/A4iqVM8U8=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/0007-CVE-2024-47796.patch";
|
||||
hash = "sha256-QYWgSbyIcOq3CVg2ynVSPCHBIrDj9uqX4ese1huoOoU=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/0008-CVE-2024-52333.patch";
|
||||
hash = "sha256-/4NdauuH0v6CPMh+duMM91wWfylp6l4L2LTO80dDh9g=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/0009-CVE-2025-25475.patch";
|
||||
hash = "sha256-ApuVw6aBoasuVlJ3fh/aufB2WRm2hFgLYCq1k3MPrsU=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/0010-CVE-2025-25474.patch";
|
||||
hash = "sha256-aX8em1o88ND4srsYkG696elPsAIlvkRRZMT8wzD2GdQ=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/med-team/dcmtk/-/raw/debian/3.6.9-4/debian/patches/0011-CVE-2025-25472.patch";
|
||||
hash = "sha256-o3/PykJFbYlasAFgPNWp09hRuH183tQuvGuaOV4MOoo=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "dcv";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tokuhirom";
|
||||
repo = "dcv";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-j2cr0GaOEHc1qlvlfYkP2ggcrbalKLdMnN54MFfrb5s=";
|
||||
hash = "sha256-IQXhkTt0cFwg6dqTWEHNDHfDnOkI299CQgZWL63pRjU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-IHDrGT14wV5/36V/NhyeBEL3h9CGVpvlHqunF/Urw0E=";
|
||||
vendorHash = "sha256-//pHi77wZjR3irLZTvyDVTPKe29pH/NiyEuBMkRj4nA=";
|
||||
|
||||
# Don't use the vendored dependencies as they are out of sync with go.mod
|
||||
# Instead, let Go download dependencies through the module proxy
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
gitUpdater,
|
||||
makeBinaryWrapper,
|
||||
pkg-config,
|
||||
asciidoc,
|
||||
asciidoctor,
|
||||
libxslt,
|
||||
docbook_xsl,
|
||||
bash,
|
||||
@@ -29,16 +29,17 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dracut";
|
||||
version = "059";
|
||||
version = "111";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dracutdevs";
|
||||
repo = "dracut";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-zSyC2SnSQkmS/mDpBXG2DtVVanRRI9COKQJqYZZCPJM=";
|
||||
owner = "dracut-ng";
|
||||
repo = "dracut-ng";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-2jdS7/LGuLSBBXv1R/o8yjgwdXl2l2wNbZWxq01wSb0";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
buildInputs = [
|
||||
bash
|
||||
@@ -48,16 +49,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
pkg-config
|
||||
asciidoc
|
||||
asciidoctor
|
||||
libxslt
|
||||
docbook_xsl
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace dracut.sh \
|
||||
--replace 'dracutbasedir="$dracutsysrootdir"/usr/lib/dracut' 'dracutbasedir="$dracutsysrootdir"'"$out/lib/dracut"
|
||||
--replace-fail "dracutbasedir=\"$""{dracutsysrootdir-}\"/usr/lib/dracut" \
|
||||
"if [ -n \"$""{dracutsysrootdir:-}\" ]; then dracutbasedir=\"$""{dracutsysrootdir}/usr/lib/dracut\" ; else dracutbasedir=\"$out/lib/dracut\" ; fi"
|
||||
substituteInPlace lsinitrd.sh \
|
||||
--replace 'dracutbasedir=/usr/lib/dracut' "dracutbasedir=$out/lib/dracut"
|
||||
--replace-fail 'dracutbasedir=/usr/lib/dracut' "dracutbasedir=$out/lib/dracut"
|
||||
|
||||
echo 'DRACUT_VERSION=${finalAttrs.version}' >dracut-version.sh
|
||||
'';
|
||||
@@ -110,10 +112,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/dracutdevs/dracut/wiki";
|
||||
homepage = "https://dracut-ng.github.io/";
|
||||
changelog = "https://github.com/dracut-ng/dracut/blob/${finalAttrs.src.tag}/NEWS.md";
|
||||
description = "Event driven initramfs infrastructure";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ tbutter ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "egctl";
|
||||
version = "1.7.3";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "envoyproxy";
|
||||
repo = "gateway";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8cM8wA1XCHQ2OQn/CkeWML9aWEYX9Xv3XEpn+TPGbYA=";
|
||||
hash = "sha256-KvXOLyMWtl4ycz6P4LQalODD95ptCY7tQtxtYG2x+28=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CwBaEt5BYwGVBdt/M/V1SM00MONifskQYfErVubFppY=";
|
||||
vendorHash = "sha256-wiehH9qmDVLho+ZDQH5IbckO0LP3FLxHhYXBMA8aBjs=";
|
||||
# Fix case-insensitive conflicts producing platform-dependent checksums
|
||||
# https://github.com/microsoft/go-mssqldb/issues/234
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
autoconf-archive,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
gettext,
|
||||
itstool,
|
||||
@@ -10,8 +12,10 @@
|
||||
gtk3,
|
||||
hicolor-icon-theme,
|
||||
json-glib,
|
||||
mate-common,
|
||||
mate-desktop,
|
||||
wrapGAppsHook3,
|
||||
yelp-tools,
|
||||
gitUpdater,
|
||||
# can be defaulted to true once switch to meson
|
||||
withMagic ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
|
||||
@@ -20,19 +24,26 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "engrampa";
|
||||
version = "1.28.2";
|
||||
version = "1.28.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor finalAttrs.version}/engrampa-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-Hpl3wjdFv4hDo38xUXHZr5eBSglxrqw9d08BdlCsCe8=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mate-desktop";
|
||||
repo = "engrampa";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-bmqCsbGz49wda1sMiAvG3XTGpFEwMvDx8ojuzxZ9MAI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf-archive
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
gettext
|
||||
itstool
|
||||
libxml2 # for xmllint
|
||||
mate-common # mate-common.m4 macros
|
||||
wrapGAppsHook3
|
||||
yelp-tools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -56,7 +67,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
url = "https://git.mate-desktop.org/engrampa";
|
||||
odd-unstable = true;
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
@@ -75,7 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
# electron builds must be writable to support electron fuses
|
||||
preBuild = ''
|
||||
# Validate electron version matches upstream package.json
|
||||
if [ "`jq -r '.devDependencies.electron' < package.json | cut -d. -f1 | tr -d '^'`" != "${lib.versions.major electron.version}" ]
|
||||
@@ -83,12 +82,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
echo "ERROR: electron version mismatch between package.json and nixpkgs"
|
||||
exit 1
|
||||
fi
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
cp -r ${electron.dist}/Electron.app .
|
||||
chmod -R u+w Electron.app
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
|
||||
# electron builds must be writable to support electron fuses
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
'';
|
||||
@@ -103,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# can't run it via bunx / npx since fixupPhase was skipped for node_modules
|
||||
node node_modules/electron-builder/out/cli/cli.js \
|
||||
--dir \
|
||||
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else "electron-dist"} \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.npmRebuild=false
|
||||
|
||||
|
||||
@@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# the Equicord repository. Dates as tags (and automatic releases) were the compromise
|
||||
# we came to with upstream. Please do not change the version schema (e.g., to semver)
|
||||
# unless upstream changes the tag schema from dates.
|
||||
version = "2026-04-22";
|
||||
version = "2026-05-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Equicord";
|
||||
repo = "Equicord";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-KhGSQTnpOWSvrsoghF/kpzUVdNTZUlzpsm6UikySRHY=";
|
||||
hash = "sha256-m/BdSErumQrWCSyejRFm5HcSR4FwDS2JkAXvy9PejmI=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchurl,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
fuse,
|
||||
fuse3,
|
||||
util-linux,
|
||||
xxhash,
|
||||
lz4,
|
||||
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
zstd
|
||||
libdeflate
|
||||
]
|
||||
++ lib.optionals fuseSupport [ fuse ]
|
||||
++ lib.optionals fuseSupport [ fuse3 ]
|
||||
++ lib.optionals selinuxSupport [ libselinux ];
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -74,20 +74,17 @@ buildNpmPackage {
|
||||
ln -s ${dart-sass}/bin/dart-sass "$dir"/sass
|
||||
'';
|
||||
|
||||
postBuild =
|
||||
lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
|
||||
cp -r ${electron.dist}/Electron.app ./
|
||||
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
|
||||
''
|
||||
+ ''
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "./" else electron.dist} \
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.npmRebuild=false \
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin "-c.mac.identity=null"}
|
||||
'';
|
||||
postBuild = ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.npmRebuild=false \
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin "-c.mac.identity=null"}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "forgejo-mcp";
|
||||
version = "2.22.0";
|
||||
version = "2.24.2";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "goern";
|
||||
repo = "forgejo-mcp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-115tjQoyM+0B92o02j9amkOG+fywspiZVvIgeoBFkxo=";
|
||||
hash = "sha256-7TMfGP3XiJ+ktOhVOsf7t4eoukMs8UpZRNiXpRD6aDc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5CV4drUaYKtZ/RoydAatblhsqU8VWYzYByjhcb9KZVY=";
|
||||
vendorHash = "sha256-QDJRbF4mZzBv1vxvo1ZQJaUJayRHj1jMgjaRfAmLMik=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gcx";
|
||||
version = "0.2.14";
|
||||
version = "0.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "gcx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-gN3l45wFpZSUnhprei/Ca1/4ptmOFtpNmNUpy6sn0aU=";
|
||||
hash = "sha256-IQbtTEhHttJ/i8VOf6g+bulIzjltZDC6+VPjI+YdZjs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uxFYKMJgAYlj43Uri6T6vaXsv/UmYk4zfCSkvu0A6RM=";
|
||||
vendorHash = "sha256-DJmInygabXTK6mnDlugjAAz86HEBpfCm1HQOIsg3Q/Y=";
|
||||
|
||||
subPackages = [ "cmd/gcx" ];
|
||||
|
||||
|
||||
@@ -38,45 +38,27 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
||||
version = "1.9.0-993"; # TODO try to remove preCheck phase on upgrade
|
||||
version = "2.0.0-19"; # TODO try to remove preCheck phase on upgrade
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-pqytFWrSWfEwQqRdRbaigGCq68s8mdgj2j8M+kclslE=";
|
||||
url = "https://www-fourier.univ-grenoble-alpes.fr/~parisse/debian/dists/stable/main/source/giac_${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-7fuKV8xNlDyN9ha1+NNHUjFPhEP0NZ3thwRXL1kcA5E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./remove-old-functional-patterns.patch
|
||||
./fix-fltk-guard.patch
|
||||
|
||||
(fetchpatch {
|
||||
name = "pari_2_15.patch";
|
||||
url = "https://raw.githubusercontent.com/sagemath/sage/07a2afd65fb4b0a1c9cbc43ede7d4a18c921a000/build/pkgs/giac/patches/pari_2_15.patch";
|
||||
sha256 = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE=";
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
name = "infinity.patch";
|
||||
url = "https://github.com/geogebra/giac/commit/851c2cd91e879c79d6652f8a5d5bed03b65c6d39.patch";
|
||||
sha256 = "sha256-WJRT2b8I9kgAkRuIugMiXoF4hT7yR7qyad8A6IspNTM=";
|
||||
stripLen = 5;
|
||||
extraPrefix = "/src/";
|
||||
excludes = [ "src/kdisplay.cc" ];
|
||||
})
|
||||
|
||||
# giac calls scanf/printf with non-constant first arguments, which
|
||||
# the compiler rightfully warns about (with an error nowadays).
|
||||
(fetchpatch {
|
||||
name = "fix-string-compiler-error.patch";
|
||||
url = "https://salsa.debian.org/science-team/giac/-/raw/9ca8dbf4bb16d9d96948aa4024326d32485d7917/debian/patches/fix-string-compiler-error.patch";
|
||||
sha256 = "sha256-r+M+9MRPRqhHcdhYWI6inxyNvWbXUbBcPCeDY7aulvk=";
|
||||
hash = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE=";
|
||||
})
|
||||
|
||||
# issue with include path precedence
|
||||
(fetchpatch {
|
||||
name = "fix_implicit_declaration.patch";
|
||||
url = "https://salsa.debian.org/science-team/giac/-/raw/c05ae9b9e74d3c6ee6411d391071989426a76201/debian/patches/fix_implicit_declaration.patch";
|
||||
sha256 = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY=";
|
||||
hash = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (!enableGUI) [
|
||||
@@ -85,7 +67,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(fetchpatch {
|
||||
name = "nofltk-check.patch";
|
||||
url = "https://raw.githubusercontent.com/sagemath/sage/7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26/build/pkgs/giac/patches/nofltk-check.patch";
|
||||
sha256 = "sha256-nAl5q3ufLjK3X9s0qMlGNowdRRf3EaC24eVtJABzdXY=";
|
||||
hash = "sha256-eA0S+pEgllv77+KIpMvZgjz99jlbnreVvtNqNXs2HvI=";
|
||||
postFetch = ''
|
||||
substituteInPlace "$out" --replace-quiet periode Periode
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
From f1c5309d5b815acc2616cd9fbb5182b1e64d225f Mon Sep 17 00:00:00 2001
|
||||
From: George Huebner <george@feyor.sh>
|
||||
Date: Wed, 17 Jul 2024 18:12:36 -0500
|
||||
Subject: [PATCH 1/4] remove old <functional> patterns
|
||||
|
||||
pointer_to_binary_function and ptr_fun are holdovers from pre c++11,
|
||||
and can be replaced or entirely removed. This allows Giac to compile
|
||||
with Clang 16>=.
|
||||
---
|
||||
src/all_global_var | 2 +-
|
||||
src/gausspol.cc | 2 +-
|
||||
src/gausspol.h | 2 +-
|
||||
src/gen.cc | 2 +-
|
||||
src/gen.h | 4 ++--
|
||||
src/maple.cc | 2 +-
|
||||
src/monomial.h | 16 ++++++++--------
|
||||
src/plot.cc | 2 +-
|
||||
src/poly.h | 17 +++++++++--------
|
||||
src/solve.cc | 18 +++++++++---------
|
||||
src/usual.cc | 2 +-
|
||||
11 files changed, 35 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/src/all_global_var b/src/all_global_var
|
||||
index 7d75d73..55f4782 100644
|
||||
--- a/src/all_global_var
|
||||
+++ b/src/all_global_var
|
||||
@@ -16,7 +16,7 @@ Relatif a l'evaluation du tableur
|
||||
// File Eqw.cc
|
||||
vector<string> completion_tab;
|
||||
// File alg_ext.cc
|
||||
- rootmap symbolic_rootof_list(ptr_fun(islesscomplex));
|
||||
+ rootmap symbolic_rootof_list(islesscomplex);
|
||||
// File derive.cc
|
||||
// File desolve.cc
|
||||
identificateur laplace_var(" s");
|
||||
diff --git a/src/gausspol.cc b/src/gausspol.cc
|
||||
index 8fbd581..2f2121f 100644
|
||||
--- a/src/gausspol.cc
|
||||
+++ b/src/gausspol.cc
|
||||
@@ -855,7 +855,7 @@ namespace giac {
|
||||
std::vector< monomial<gen> >::const_iterator & itb_end,
|
||||
std::vector< monomial<gen> > & new_coord,
|
||||
bool (* is_strictly_greater)( const index_m &, const index_m &),
|
||||
- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_strictly_greater
|
||||
+ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_strictly_greater
|
||||
) {
|
||||
if (ita==ita_end || itb==itb_end){
|
||||
new_coord.clear();
|
||||
diff --git a/src/gausspol.h b/src/gausspol.h
|
||||
index b5d214b..e6c7e0c 100644
|
||||
--- a/src/gausspol.h
|
||||
+++ b/src/gausspol.h
|
||||
@@ -93,7 +93,7 @@ namespace giac {
|
||||
std::vector< monomial<gen> >::const_iterator & itb_end,
|
||||
std::vector< monomial<gen> > & new_coord,
|
||||
bool (* is_strictly_greater)( const index_t &, const index_t &),
|
||||
- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_greater
|
||||
+ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_greater
|
||||
) ;
|
||||
void mulpoly(const polynome & th,const gen & fact,polynome & res);
|
||||
polynome operator * (const polynome & th, const gen & fact) ;
|
||||
diff --git a/src/gen.cc b/src/gen.cc
|
||||
index 7d4874c..0b64afe 100644
|
||||
--- a/src/gen.cc
|
||||
+++ b/src/gen.cc
|
||||
@@ -1126,7 +1126,7 @@ namespace giac {
|
||||
#if 1 // def NSPIRE
|
||||
g.__MAPptr = new ref_gen_map;
|
||||
#else
|
||||
- g.__MAPptr = new ref_gen_map(ptr_fun(islesscomplexthanf));
|
||||
+ g.__MAPptr = new ref_gen_map(islesscomplexthanf);
|
||||
#endif
|
||||
#endif
|
||||
g.type=_MAP;
|
||||
diff --git a/src/gen.h b/src/gen.h
|
||||
index 04d70af..496b25d 100644
|
||||
--- a/src/gen.h
|
||||
+++ b/src/gen.h
|
||||
@@ -443,7 +443,7 @@ namespace giac {
|
||||
};
|
||||
typedef std::map<gen,gen,comparegen> gen_map;
|
||||
#else
|
||||
- typedef std::map<gen,gen,const std::pointer_to_binary_function < const gen &, const gen &, bool> > gen_map;
|
||||
+ typedef std::map<gen,gen,const std::function<bool(const gen &, const gen &)> > gen_map;
|
||||
#endif
|
||||
struct ref_gen_map;
|
||||
|
||||
@@ -902,7 +902,7 @@ namespace giac {
|
||||
#if 1 // def NSPIRE
|
||||
ref_gen_map(): ref_count(1),m() {}
|
||||
#else
|
||||
- ref_gen_map(const std::pointer_to_binary_function < const gen &, const gen &, bool> & p): ref_count(1),m(p) {}
|
||||
+ ref_gen_map(const std::function<bool(const gen &, const gen &)> & p): ref_count(1),m(p) {}
|
||||
#endif
|
||||
ref_gen_map(const gen_map & M):ref_count(1),m(M) {}
|
||||
};
|
||||
diff --git a/src/maple.cc b/src/maple.cc
|
||||
index 3b33da8..d57a170 100644
|
||||
--- a/src/maple.cc
|
||||
+++ b/src/maple.cc
|
||||
@@ -3626,7 +3626,7 @@ namespace giac {
|
||||
#if 1 // def NSPIRE
|
||||
gen_map m;
|
||||
#else
|
||||
- gen_map m(ptr_fun(islessthanf));
|
||||
+ gen_map m(islessthanf);
|
||||
#endif
|
||||
int s=int(args.size());
|
||||
vector<int> indexbegin,indexsize;
|
||||
diff --git a/src/monomial.h b/src/monomial.h
|
||||
index 6e606d0..637a76c 100644
|
||||
--- a/src/monomial.h
|
||||
+++ b/src/monomial.h
|
||||
@@ -338,9 +338,9 @@ namespace giac {
|
||||
|
||||
template<class T> class sort_helper {
|
||||
public:
|
||||
- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> strictly_greater ;
|
||||
- sort_helper(const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> is_strictly_greater):strictly_greater(is_strictly_greater) {};
|
||||
- sort_helper():strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {};
|
||||
+ std::function<bool(const monomial<T> &, const monomial<T> &)> strictly_greater ;
|
||||
+ sort_helper(const std::function<bool(const monomial<T> &, const monomial<T> &)> is_strictly_greater):strictly_greater(is_strictly_greater) {};
|
||||
+ sort_helper():strictly_greater(m_lex_is_strictly_greater<T>) {};
|
||||
bool operator () (const monomial<T> & a, const monomial<T> & b){ return strictly_greater(a,b);}
|
||||
};
|
||||
|
||||
@@ -677,7 +677,7 @@ namespace giac {
|
||||
typename std::vector< monomial<T> >::const_iterator & itb_end,
|
||||
std::vector< monomial<T> > & new_coord,
|
||||
bool (* is_strictly_greater)( const index_m &, const index_m &),
|
||||
- const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater
|
||||
+ const std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater
|
||||
) {
|
||||
if (ita==ita_end || itb==itb_end){
|
||||
new_coord.clear();
|
||||
@@ -726,8 +726,8 @@ namespace giac {
|
||||
#endif
|
||||
#ifndef NSPIRE
|
||||
/* other algorithm using a map to avoid reserving too much space */
|
||||
- typedef std::map< index_t,T,const std::pointer_to_binary_function < const index_m &, const index_m &, bool> > application;
|
||||
- application produit(std::ptr_fun(is_strictly_greater));
|
||||
+ typedef std::map< index_t,T,const std::function<bool(const index_m &, const index_m &)> > application;
|
||||
+ application produit(is_strictly_greater);
|
||||
// typedef std::map<index_t,T> application;
|
||||
// application produit;
|
||||
index_t somme(ita->index.size());
|
||||
@@ -848,7 +848,7 @@ namespace giac {
|
||||
typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end();
|
||||
typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end();
|
||||
std::vector< monomial<T> > res;
|
||||
- Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>)));
|
||||
+ Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>);
|
||||
return res ;
|
||||
}
|
||||
|
||||
@@ -856,7 +856,7 @@ namespace giac {
|
||||
std::vector< monomial<T> > & operator *= (std::vector< monomial<T> > & v,const std::vector< monomial<T> > & w){
|
||||
typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end();
|
||||
typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end();
|
||||
- Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>)));
|
||||
+ Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>);
|
||||
return v;
|
||||
}
|
||||
|
||||
diff --git a/src/plot.cc b/src/plot.cc
|
||||
index 288a1b5..ac85c9a 100755
|
||||
--- a/src/plot.cc
|
||||
+++ b/src/plot.cc
|
||||
@@ -11886,7 +11886,7 @@ static vecteur densityscale(double xmin,double xmax,double ymin,double ymax,doub
|
||||
#if 1 // def NSPIRE
|
||||
gen_map m;
|
||||
#else
|
||||
- gen_map m(ptr_fun(islesscomplexthanf));
|
||||
+ gen_map m(islesscomplexthanf);
|
||||
#endif
|
||||
int taille;
|
||||
is >> taille;
|
||||
diff --git a/src/poly.h b/src/poly.h
|
||||
index 7d64e2c..d9ff991 100644
|
||||
--- a/src/poly.h
|
||||
+++ b/src/poly.h
|
||||
@@ -40,23 +40,24 @@ namespace giac {
|
||||
// T zero;
|
||||
// functional object sorting function for monomial ordering
|
||||
bool (* is_strictly_greater)( const index_m &, const index_m &);
|
||||
- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater ;
|
||||
+ std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater ;
|
||||
// constructors
|
||||
tensor(const tensor<T> & t) : dim(t.dim), coord(t.coord), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
|
||||
tensor(const tensor<T> & t, const std::vector< monomial<T> > & v) : dim(t.dim), coord(v), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
|
||||
// warning: this constructor prohibits construction of tensor from a value
|
||||
// of type T if this value is an int, except by using tensor<T>(T(int))
|
||||
- tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
|
||||
- explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
|
||||
+ // DANGER
|
||||
+ tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
|
||||
+ explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
|
||||
explicit tensor(int d,const tensor<T> & t) : dim(d),is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
|
||||
- tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {
|
||||
+ tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) {
|
||||
coord.push_back(v);
|
||||
}
|
||||
- tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {
|
||||
+ tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) {
|
||||
if (!is_zero(v))
|
||||
coord.push_back(monomial<T>(v,0,d));
|
||||
}
|
||||
- tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
|
||||
+ tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
|
||||
~tensor() { coord.clear(); }
|
||||
// member functions
|
||||
// ordering monomials in the tensor
|
||||
@@ -519,10 +520,10 @@ namespace giac {
|
||||
template <class T>
|
||||
void lexsort(std::vector < monomial<T> > & v){
|
||||
#if 1 // def NSPIRE
|
||||
- sort_helper<T> M(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>));
|
||||
+ sort_helper<T> M(m_lex_is_strictly_greater<T>);
|
||||
sort(v.begin(),v.end(),M);
|
||||
#else
|
||||
- sort(v.begin(),v.end(),std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>));
|
||||
+ sort(v.begin(),v.end(),m_lex_is_strictly_greater<T>);
|
||||
#endif
|
||||
}
|
||||
|
||||
diff --git a/src/solve.cc b/src/solve.cc
|
||||
index 889f824..2a51ab8 100755
|
||||
--- a/src/solve.cc
|
||||
+++ b/src/solve.cc
|
||||
@@ -8684,39 +8684,39 @@ namespace giac {
|
||||
switch (order.val){
|
||||
case _PLEX_ORDER:
|
||||
p.is_strictly_greater=i_lex_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_lex_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_lex_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _REVLEX_ORDER:
|
||||
p.is_strictly_greater=i_total_revlex_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_total_revlex_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_total_revlex_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _TDEG_ORDER:
|
||||
p.is_strictly_greater=i_total_lex_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_total_lex_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_total_lex_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _3VAR_ORDER:
|
||||
p.is_strictly_greater=i_3var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_3var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_3var_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _7VAR_ORDER:
|
||||
p.is_strictly_greater=i_7var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_7var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_7var_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _11VAR_ORDER:
|
||||
p.is_strictly_greater=i_11var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_11var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_11var_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _16VAR_ORDER:
|
||||
p.is_strictly_greater=i_16var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_16var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_16var_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _32VAR_ORDER:
|
||||
p.is_strictly_greater=i_32var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_32var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_32var_is_strictly_greater<gen>;
|
||||
break;
|
||||
case _64VAR_ORDER:
|
||||
p.is_strictly_greater=i_64var_is_strictly_greater;
|
||||
- p.m_is_strictly_greater=std::ptr_fun(m_64var_is_strictly_greater<gen>);
|
||||
+ p.m_is_strictly_greater=m_64var_is_strictly_greater<gen>;
|
||||
break;
|
||||
}
|
||||
p.tsort();
|
||||
diff --git a/src/usual.cc b/src/usual.cc
|
||||
index fddede6..eb7ae5e 100755
|
||||
--- a/src/usual.cc
|
||||
+++ b/src/usual.cc
|
||||
@@ -5950,7 +5950,7 @@ namespace giac {
|
||||
#if 1 // def NSPIRE
|
||||
gen_map m;
|
||||
#else
|
||||
- gen_map m(ptr_fun(islesscomplexthanf));
|
||||
+ gen_map m(islesscomplexthanf);
|
||||
#endif
|
||||
for (;it!=itend;++it){
|
||||
if (is_equal(*it) || it->is_symb_of_sommet(at_deuxpoints)){
|
||||
--
|
||||
2.44.1
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "github-mcp-server";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = "github-mcp-server";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-y6QGF2g9FhDxtWR//kaI5Xt2o+MwaNWCf2t0t61/vww=";
|
||||
hash = "sha256-NVC6geIzaSyz1uTwTQO1awMBdVEuuQMB2csAfUjMvsw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-fVNMtCpodsr1Z9E21osHb+e63ZQqFKYwi4fz4OsTJe0=";
|
||||
vendorHash = "sha256-+ybGV37fjJ5eZjxTb+SUnJ52J20XizJL8WjoM16Rabg=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -18,16 +18,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "gitoxide";
|
||||
version = "0.53.0";
|
||||
version = "0.54.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GitoxideLabs";
|
||||
repo = "gitoxide";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-fg5Y2WYlDqcV2OIVHUWMMP2e/gz2FNBUd0AmZzKUVx8=";
|
||||
hash = "sha256-MkOmxvACroJAB1nQZT1pcJ/Fn9gWNFwKiwVNb9iUlgY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-i48mE6PJTDeT+xOwljKxXZiSDvHPON+ysMptm8obIUU=";
|
||||
cargoHash = "sha256-bYgGQa8Gym4dzkuTrOSu3NwUhYdZNtq7ACwVwhdKQRI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
@@ -64,19 +64,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
preBuild = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
bun run build -- --skipTypecheck
|
||||
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
node node_modules/electron-builder/out/cli/cli.js \
|
||||
--dir \
|
||||
-c.electronDist="${if stdenv.hostPlatform.isLinux then "electron-dist" else electron.dist}" \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion="${electron.version}" \
|
||||
-c.npmRebuild=false
|
||||
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "guesswidth";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "noborus";
|
||||
repo = "guesswidth";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-afZYegG4q+KmvNP2yy/HGvP4V1mpOUCxRLWLTUHAK0M=";
|
||||
hash = "sha256-MbQBfwXdmcSU6F7M+Y70lGwBwhhJvRgtevco+UPt0Po=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-IGb+fM3ZOlGrLGFSUeUhZ9wDMKOBofDBYByAQlvXY14=";
|
||||
vendorHash = "sha256-/R/KUKQq52CnukJoQybSA4OkcHq/v8ICxxUqSc4ynEQ=";
|
||||
|
||||
ldflags = [
|
||||
"-X github.com/noborus/guesswidth.version=v${finalAttrs.version}"
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hyprwhspr-rs";
|
||||
version = "0.3.27";
|
||||
version = "0.3.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "better-slop";
|
||||
repo = "hyprwhspr-rs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+A+AJUMSOXwpOI+bo/g55yfdhQazdSbmHookHXVL9Xk=";
|
||||
hash = "sha256-2o/857vuKk4KzWUtzwkSuSwd4FGlQWstku/zXUCu+kw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-PA7lC6aQTEK566ADOIC+EvsPDYvjZRi8tc14EQ7gihE=";
|
||||
cargoHash = "sha256-Pwp56bu/ajozNby+FrNrdPpSFPo/O0sWG4I7wFvPZyg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -34,12 +34,13 @@ buildNpmPackage (finalAttrs: {
|
||||
};
|
||||
|
||||
postBuild = ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version} \
|
||||
--config electron-builder.config.js
|
||||
'';
|
||||
|
||||
@@ -1,28 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
|
||||
copyDesktopItems,
|
||||
makeWrapper,
|
||||
xcbuild,
|
||||
|
||||
libpng,
|
||||
libx11,
|
||||
libxi,
|
||||
libxtst,
|
||||
zlib,
|
||||
electron,
|
||||
|
||||
electron_41,
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_41;
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "jitsi-meet-electron";
|
||||
version = "2025.2.0";
|
||||
version = "2026.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jitsi";
|
||||
repo = "jitsi-meet-electron";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Pk62BpfXblRph3ktxy8eF9umRmPRZbZGjRWduy+3z+s=";
|
||||
hash = "sha256-yeYDft2d2RHNXYrmnHlBzsZ43bvBgwwsqxQr/Q+/AuQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -30,6 +38,9 @@ buildNpmPackage rec {
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
copyDesktopItems
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
xcbuild
|
||||
];
|
||||
|
||||
# robotjs node-gyp dependencies
|
||||
@@ -41,14 +52,12 @@ buildNpmPackage rec {
|
||||
zlib
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-TckV91RJo06OKb8nIvxBCxu28qyHtA/ACDshOlaCQxA=";
|
||||
npmDepsHash = "sha256-5y7q6SnA9s85+HFOhqif1N8XRO7ekGJ4nfVbWZ/diuI=";
|
||||
|
||||
makeCacheWritable = true;
|
||||
|
||||
env = {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
# disable code signing on Darwin
|
||||
CSC_IDENTITY_AUTO_DISCOVERY = "false";
|
||||
NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration";
|
||||
};
|
||||
|
||||
@@ -66,6 +75,8 @@ buildNpmPackage rec {
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
export npm_config_nodedir=${electron.headers}
|
||||
|
||||
# npmRebuild is needed because robotjs won't be built on darwin otherwise
|
||||
# asarUnpack makes sure to unwrap binaries so that nix can see the RPATH
|
||||
npm exec electron-builder -- \
|
||||
@@ -73,7 +84,8 @@ buildNpmPackage rec {
|
||||
-c.npmRebuild=true \
|
||||
-c.asarUnpack="**/*.node" \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version}
|
||||
-c.electronVersion=${electron.version} \
|
||||
-c.mac.identity=null
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -14,23 +14,23 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "kiro-cli";
|
||||
version = "2.3.0";
|
||||
version = "2.4.1";
|
||||
|
||||
src =
|
||||
let
|
||||
darwinDmg = fetchurl {
|
||||
url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/Kiro%20CLI.dmg";
|
||||
hash = "sha256-lHBlzPFeT9m54dbFBXm7l/bJIVcBJqodZ6xKD9XThJc=";
|
||||
hash = "sha256-rJaKbNhNlSL3CfTRY4Fin5CUhrvjhOJrUuqGCTlRXkQ=";
|
||||
};
|
||||
in
|
||||
{
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-x86_64-linux.tar.gz";
|
||||
hash = "sha256-zLizK/0m9PdIzN4IMicq7/95lWahj7sdLzEEYpv/o+E=";
|
||||
hash = "sha256-fXTKu1lO5hPZn1YwRkHI6B+edNatR4KJGqHXzi9Epa8=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-aarch64-linux.tar.gz";
|
||||
hash = "sha256-B4NElbGE0M7P6eGrd90UYvoeqN1fEoe+2g1/M1wM3ZY=";
|
||||
hash = "sha256-4/HJH3cHHX4Z3/P4eHfnWA6f43TAfAUiqQsZNIehRBY=";
|
||||
};
|
||||
x86_64-darwin = darwinDmg;
|
||||
aarch64-darwin = darwinDmg;
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.2.2";
|
||||
version = "3.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koka-lang";
|
||||
repo = "koka";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-k1N085NoAlxewAhg5UDMo7IUf2A6gCTc9k5MWMbU0d0=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-sbyiY5zZuVyul98y5xwfxp7kIzeojdJWxDf6zjWnLrI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -68,7 +68,7 @@ haskellPackages.mkDerivation {
|
||||
hashable
|
||||
isocline
|
||||
lens
|
||||
lsp
|
||||
lsp_2_8_0_0
|
||||
mtl
|
||||
network
|
||||
network-simple
|
||||
|
||||
@@ -7,16 +7,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
pname = "libbraiding";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "miguelmarco";
|
||||
repo = "libbraiding";
|
||||
# version 1.3.1 contains a typo in configure.ac, fixed in the next commit.
|
||||
# TODO: remove if on upgrade
|
||||
rev = if version == "1.3.1" then "b174832026c2412baec83277c461e4df71d8525c" else version;
|
||||
hash = "sha256-ar/EiaMZuQRa1lr0sZPLRuk5K00j63TqNf0q0iuiKjw=";
|
||||
rev = version;
|
||||
hash = "sha256-Vo4nwzChjrI4PeNB+adPwDeL3gb++DEc4isX4/iDHMc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
|
||||
doCheck ? true, # test suite depends on dejagnu which cannot be used during bootstrapping
|
||||
dejagnu,
|
||||
@@ -16,7 +17,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-cvunkicD3fp6Ao1ROsFahcjVTI1n9V+lpIAohdxlIFY=";
|
||||
};
|
||||
|
||||
patches = [ ];
|
||||
patches = [
|
||||
# Backport gcc-15 fix:
|
||||
# https://github.com/libffi/libffi/pull/861
|
||||
(fetchpatch {
|
||||
name = "gcc-15.patch";
|
||||
url = "https://github.com/libffi/libffi/commit/0859f8431242d5adff21420b9cab538d2af527b5.patch";
|
||||
hash = "sha256-Py4ZAhVyXsfLxr4pnYAH7/lcsQOmpToFgvjQvLg9XVc=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libqalculate";
|
||||
version = "5.10.0";
|
||||
version = "5.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "libqalculate";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-s5K0VPpfx0/3lGgEKJDFXdPelidpqVTNpsDolEAmKvM=";
|
||||
hash = "sha256-lwA2faLYUb02FL9lOX+vuv/8pfKbkHWRlS1VnrV+sk4=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libxfce4windowing";
|
||||
version = "4.20.5";
|
||||
version = "4.20.6";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "xfce";
|
||||
repo = "libxfce4windowing";
|
||||
tag = "libxfce4windowing-${finalAttrs.version}";
|
||||
hash = "sha256-TVu6S/Cip9IqniAvrTU5uSs7Dgm0WZNxjgB4vjHvBNU=";
|
||||
hash = "sha256-lTOCvxUSo0CCok5nPCX7B6RqVoNMYcSb97alR+htBtY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -170,7 +170,7 @@ def commit_files(repo, message: str, files: list[Path]) -> None:
|
||||
class LuaEditor(nixpkgs_plugin_update.Editor):
|
||||
def create_parser(self):
|
||||
parser = super().create_parser()
|
||||
parser.set_defaults(proc=1)
|
||||
parser.set_defaults(proc=1, update_only=None)
|
||||
return parser
|
||||
|
||||
def get_current_plugins(self, _config: FetchConfig, _nixpkgs: str):
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "mdtsql";
|
||||
version = "0.1.0";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "noborus";
|
||||
repo = "mdtsql";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D9suWLrVQOztz0rRjEo+pjxQlGWOOsk3EUbkN9yuriY=";
|
||||
hash = "sha256-fmv8wJfeJ8Lz6Z5OxggrudUvyJaA+22tCs0x2Dvz+Bw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-psXnLMhrApyBjDY/S4WwIM1GLczyn4dUmX2fWSTq7mQ=";
|
||||
vendorHash = "sha256-/FpbKpxTYiwWVDRxBn3GmPEhna/a+t4CuVq/bZmsb9w=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -86,8 +86,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patchShebangs {node_modules,app/node_modules,backend/node_modules}
|
||||
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
@@ -98,7 +99,7 @@ stdenv.mkDerivation rec {
|
||||
tsc && cd app && yarn --offline run build && cd ..
|
||||
|
||||
yarn --offline run electron-builder --dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version}
|
||||
|
||||
runHook postBuild
|
||||
@@ -143,7 +144,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
export ELECTRON_OVERRIDE_DIST_PATH=electron-dist/
|
||||
export ELECTRON_OVERRIDE_DIST_PATH="$electron_dist"
|
||||
|
||||
yarn test:app --offline
|
||||
yarn test:backend --offline
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
netbox,
|
||||
pytestCheckHook,
|
||||
python,
|
||||
netbox-napalm-plugin,
|
||||
pydriller,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netbox-config-backup";
|
||||
version = "2.2.2";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DanSheps";
|
||||
repo = "netbox-config-backup";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-PT7/RCpB7SAinQ8McQV59b9ouqqUSoEqEj0ultL37cs=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonRemoveDeps = [ "uuid" ]; # python builtin
|
||||
|
||||
dependencies = [
|
||||
netbox-napalm-plugin
|
||||
pydriller
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ netbox ];
|
||||
|
||||
preFixup = ''
|
||||
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
|
||||
'';
|
||||
|
||||
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
|
||||
|
||||
pythonImportsCheck = [ "netbox_config_backup" ];
|
||||
|
||||
meta = {
|
||||
description = "NetBox plugin for configuration backups using napalm";
|
||||
homepage = "https://github.com/DanSheps/netbox-config-backup";
|
||||
changelog = "https://github.com/DanSheps/netbox-config-backup/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ felbinger ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
netbox,
|
||||
pytestCheckHook,
|
||||
python,
|
||||
django-polymorphic,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netbox-lifecycle";
|
||||
version = "1.1.9";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DanSheps";
|
||||
repo = "netbox-lifecycle";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-iCBlwhaf6IFdni7FQyRPtRJVwt04w0Jc4R0CeQlIWCY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ netbox ];
|
||||
|
||||
preFixup = ''
|
||||
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
|
||||
'';
|
||||
|
||||
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
|
||||
|
||||
pythonImportsCheck = [ "netbox_lifecycle" ];
|
||||
|
||||
dependencies = [ django-polymorphic ];
|
||||
|
||||
meta = {
|
||||
description = "NetBox plugin for managing Hardware EOL/EOS, and Support Contracts";
|
||||
homepage = "https://github.com/DanSheps/netbox-lifecycle";
|
||||
changelog = "https://github.com/DanSheps/netbox-lifecycle/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ felbinger ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
netbox,
|
||||
pytestCheckHook,
|
||||
python,
|
||||
django-polymorphic,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netbox-lists";
|
||||
version = "4.0.4";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "devon-mar";
|
||||
repo = "netbox-lists";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-RRUuvoeB3xfqlZr1v1zpRdmVZK9av52ZsADOh9s4toQ=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
nativeCheckInputs = [ netbox ];
|
||||
|
||||
preFixup = ''
|
||||
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
|
||||
'';
|
||||
|
||||
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
|
||||
|
||||
pythonImportsCheck = [ "netbox_lists" ];
|
||||
|
||||
meta = {
|
||||
description = "NetBox plugin to generate IP and prefix lists. Integrates with Ansible, Terraform, Prometheus, Oxidized and more";
|
||||
homepage = "https://github.com/devon-mar/netbox-lists";
|
||||
changelog = "https://github.com/devon-mar/netbox-lists/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ felbinger ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
netbox,
|
||||
pytestCheckHook,
|
||||
python,
|
||||
django-polymorphic,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netbox-security";
|
||||
version = "1.4.5";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "andy-shady-org";
|
||||
repo = "netbox-security";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-DGiuQignYPSTFFm0RkDl5kwYQJNKbRdgdmIZ1DKXkGs=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ netbox ];
|
||||
|
||||
preFixup = ''
|
||||
export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
|
||||
'';
|
||||
|
||||
dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion;
|
||||
|
||||
pythonImportsCheck = [ "netbox_security" ];
|
||||
|
||||
meta = {
|
||||
description = "NetBox plugin covering various security and NAT related models";
|
||||
homepage = "https://github.com/andy-shady-org/netbox-security";
|
||||
changelog = "https://github.com/andy-shady-org/netbox-security/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ felbinger ];
|
||||
};
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nfs-ganesha";
|
||||
version = "9.13";
|
||||
version = "9.14";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "nfs-ganesha";
|
||||
repo = "nfs-ganesha";
|
||||
tag = "V${finalAttrs.version}";
|
||||
hash = "sha256-e6BDxb4Dt8xp9KdOcjxZKzRiKYPe+GP1UPvK/DAdX6M=";
|
||||
hash = "sha256-aeZDXr6vUFyFhVQO31ttZ04W8KP8iKN0u17McULtQUM=";
|
||||
};
|
||||
|
||||
patches = lib.optional useDbus ./allow-bypassing-dbus-pkg-config-test.patch;
|
||||
|
||||
@@ -8,16 +8,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nnd";
|
||||
version = "0.74";
|
||||
version = "0.77";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "al13n321";
|
||||
repo = "nnd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IraVnIuW0AcYM/U1X57zsHQ9GOW2ZBo9coRA6AV5SWw=";
|
||||
hash = "sha256-OUXI7MErvkGYmz3H14SOJNuqhdkC1Vk9kUZQ/mpdUPk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WT2ikyeF4dRTQbCF4f5Caj8fVIRPmHLv72L5KDFJ7BM=";
|
||||
cargoHash = "sha256-P3r1C+8iWGXp821xALhaJj0OHeG/lvDxxDwgs574c6Y=";
|
||||
|
||||
meta = {
|
||||
description = "Debugger for Linux";
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opengrok";
|
||||
version = "1.14.11";
|
||||
version = "1.14.12";
|
||||
|
||||
# binary distribution
|
||||
src = fetchurl {
|
||||
url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-05Aw44JmTHyy6JRWPk5+gv5BDN/W1ci0ddjPfvww0zI=";
|
||||
hash = "sha256-D67KpbmuqInnfymNc9QvreTVjZmzNuxoswD/ZxTlHx8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -47,18 +47,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
|
||||
postBuild =
|
||||
lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
cp -R ${electron.dist}/Electron.app Electron.app
|
||||
chmod -R u+w Electron.app
|
||||
''
|
||||
+ ''
|
||||
pnpm build
|
||||
./node_modules/.bin/electron-builder \
|
||||
--dir \
|
||||
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
postBuild = ''
|
||||
pnpm build
|
||||
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
./node_modules/.bin/electron-builder \
|
||||
--dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "pixi-pack";
|
||||
version = "0.7.8";
|
||||
version = "0.7.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Quantco";
|
||||
repo = "pixi-pack";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/r1jiEH/6TKUA4WJBH+h7Ktn13Woqz36U+ARmWbCbrU=";
|
||||
hash = "sha256-jCKlJPLlMrMByoVU1nzqccXBeyEi9CMjrWfL+ByqDhI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-etcfU+KU8y7KeWXRUXe+lig+9BxnZf1cGfS8WHxlbn0=";
|
||||
cargoHash = "sha256-0f7IkYPQ1kIBC4aCyBU0Dpo936awol0eJNW6KcFQIAA=";
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "pixi";
|
||||
version = "0.68.1";
|
||||
version = "0.69.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prefix-dev";
|
||||
repo = "pixi";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nh8F2MEmBjanpj05bugv8URjRwdNTHSHU0BPqj2mRKM=";
|
||||
hash = "sha256-Rp7fXUq5c74AiRHxcFEvbcCYQC7dsCG0LB+j6uMkqwI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-UHih9R9VWxL7pSUOCGwiuPKTzI/FNukzNLLmZFo3bto=";
|
||||
cargoHash = "sha256-0Z+VnexqN0ZOVMmxski3cRn2trMyk5DhKvXnh0l+K/g=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "proton-pass-cli";
|
||||
version = "2.0.2";
|
||||
version = "2.1.0";
|
||||
|
||||
src = finalAttrs.passthru.sources.${stdenv.hostPlatform.system};
|
||||
|
||||
@@ -46,19 +46,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sources = {
|
||||
"aarch64-darwin" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-macos-aarch64";
|
||||
hash = "sha256-C/2ZxNgnDOLCkTyTqCPGIKiXXjwvHOJNI05BcGy1z0c=";
|
||||
hash = "sha256-5FQSl6Xqipm6MWq2kza2FVXSajX4xCB4gqaAed40NoI=";
|
||||
};
|
||||
"aarch64-linux" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-aarch64";
|
||||
hash = "sha256-wSxTGtuCPU6uT25pBlxudnsQ7XEyihs/piWkiXrjs4w=";
|
||||
hash = "sha256-4UgcR9yV/iQaQoQUFDRa+yzSCFIIk/SaPCOJdTgpMQI=";
|
||||
};
|
||||
"x86_64-darwin" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-macos-x86_64";
|
||||
hash = "sha256-qXXKavGRd6LSdLeoIiwlENhOE9JS/ZxQv432flS0KBg=";
|
||||
hash = "sha256-iT53cCskSY8+AvLXWQGcqFklQJJBO1d7AFMEIYEDllo=";
|
||||
};
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-x86_64";
|
||||
hash = "sha256-/WClBB5kKnsRNe9oeMPXzjUjsIMhDqgQDu5cNwEBftk=";
|
||||
hash = "sha256-WnddX4Ov+9jBvL8VF8ONGhV8FgEz5xNrANUxG6/oupM=";
|
||||
};
|
||||
};
|
||||
updateScript = writeShellScript "update-proton-pass-cli" ''
|
||||
|
||||
@@ -8,18 +8,18 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "pv-migrate";
|
||||
version = "3.3.0";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utkuozdemir";
|
||||
repo = "pv-migrate";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-ieE7kO/PA/2ZgvGbDhu1MzJTk5yvg2plKTyQe0Y/nb8=";
|
||||
sha256 = "sha256-FJalS3cUaYFs1ChAH1JA6qrRYorDQaLvWzKIE21jYPs=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/pv-migrate" ];
|
||||
|
||||
vendorHash = "sha256-0KO5kIAP53VGau2M78PIMn6KCGAkymV7Y0msnlDjvjg=";
|
||||
vendorHash = "sha256-KFcz6SAUIg8hi+Vo/Wf6jDF6QcZ5uNueee3sG9t2zyU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qalculate-gtk";
|
||||
version = "5.10.0";
|
||||
version = "5.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-gtk";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-JZfolSRLRLtv529f25lEPYOlz+y+EdRqKA0Y5d1dK3s=";
|
||||
hash = "sha256-EVDbpE/T5EvKK/fTNSDbMFMQR+uamiXo7yjv9Se09w4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qalculate-qt";
|
||||
version = "5.10.0";
|
||||
version = "5.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-qt";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-OxcwEydEerYhFnJAeXbGW6SpjdEIAi7UOQu8958qQFs=";
|
||||
hash = "sha256-5u/YA5/k7JQclIqJUKvzGEenEhndo52m23XlFjkhw78=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with qt6; [
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
makeWrapper,
|
||||
enableCmount ? true,
|
||||
fuse3,
|
||||
macfuse-stubs,
|
||||
librclone,
|
||||
nix-update-script,
|
||||
}:
|
||||
@@ -38,9 +39,14 @@ buildGoModule (finalAttrs: {
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = lib.optional enableCmount fuse3;
|
||||
buildInputs = lib.optional enableCmount (
|
||||
# cgofuse uses the fuse2 header locations on darwin
|
||||
if stdenv.hostPlatform.isDarwin then (macfuse-stubs.override { isFuse3 = false; }) else fuse3
|
||||
);
|
||||
|
||||
tags = [ "fuse3" ] ++ lib.optionals enableCmount [ "cmount" ];
|
||||
tags =
|
||||
lib.optionals (!stdenv.hostPlatform.isDarwin) [ "fuse3" ]
|
||||
++ lib.optionals enableCmount [ "cmount" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
makeWrapper,
|
||||
replaceVars,
|
||||
|
||||
vulkan-loader,
|
||||
|
||||
nixosTests,
|
||||
}:
|
||||
buildNpmPackage (finalAttrs: {
|
||||
@@ -72,19 +70,13 @@ buildNpmPackage (finalAttrs: {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# electronDist needs to be modifiable
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
''
|
||||
# Electron builder complains about symlink in electron-dist
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
rm electron-dist/libvulkan.so.1
|
||||
cp ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 electron-dist
|
||||
''
|
||||
+ ''
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
npm run build
|
||||
npm exec electron-builder -- --dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron.version}
|
||||
|
||||
runHook postBuild
|
||||
@@ -123,7 +115,7 @@ buildNpmPackage (finalAttrs: {
|
||||
doCheck = stdenv.hostPlatform.isLinux;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
export ELECTRON_OVERRIDE_DIST_PATH=electron-dist/
|
||||
export ELECTRON_OVERRIDE_DIST_PATH="$electron_dist"
|
||||
export PUPPETEER_EXECUTABLE_PATH=${chromium}/bin/chromium
|
||||
export CHROME_BIN=${chromium}/bin/chromium
|
||||
npm run test
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
diff --git a/src/sage/config.py.in b/src/sage/config.py.in
|
||||
index 3a95538d313..f75e951f3b8 100644
|
||||
--- a/src/sage/config.py.in
|
||||
+++ b/src/sage/config.py.in
|
||||
@@ -48,6 +48,11 @@ FOURTITWO_PPI = "@FOURTITWO_PPI@"
|
||||
FOURTITWO_CIRCUITS = "@FOURTITWO_CIRCUITS@"
|
||||
FOURTITWO_GROEBNER = "@FOURTITWO_GROEBNER@"
|
||||
|
||||
+# Colon-separated list of pkg-config modules to search for cblas functionality.
|
||||
+# We hard-code it here as cblas because configure (build/pkgs/openblas/spkg-configure.m4)
|
||||
+# always provides cblas.pc, if necessary by creating a facade pc file for a system BLAS.
|
||||
+CBLAS_PC_MODULES = "cblas"
|
||||
+
|
||||
# for sage_setup.setenv
|
||||
SAGE_ARCHFLAGS = "@SAGE_ARCHFLAGS@"
|
||||
SAGE_PKG_CONFIG_PATH = "@SAGE_PKG_CONFIG_PATH@".replace("$SAGE_LOCAL", SAGE_LOCAL)
|
||||
diff --git a/src/sage/env.py b/src/sage/env.py
|
||||
index f6c198a8617..dc45d11fb46 100644
|
||||
--- a/src/sage/env.py
|
||||
+++ b/src/sage/env.py
|
||||
@@ -218,6 +218,7 @@ FOURTITWO_RAYS = var("FOURTITWO_RAYS")
|
||||
FOURTITWO_PPI = var("FOURTITWO_PPI")
|
||||
FOURTITWO_CIRCUITS = var("FOURTITWO_CIRCUITS")
|
||||
FOURTITWO_GROEBNER = var("FOURTITWO_GROEBNER")
|
||||
+CBLAS_PC_MODULES = var("CBLAS_PC_MODULES", "cblas:openblas:blas")
|
||||
ECL_CONFIG = var("ECL_CONFIG", "ecl-config")
|
||||
NTL_INCDIR = var("NTL_INCDIR")
|
||||
NTL_LIBDIR = var("NTL_LIBDIR")
|
||||
@@ -322,8 +323,17 @@ def sage_include_directories(use_sources=False):
|
||||
return dirs
|
||||
|
||||
|
||||
+def get_cblas_pc_module_name() -> str:
|
||||
+ """
|
||||
+ Return the name of the BLAS libraries to be used.
|
||||
+ """
|
||||
+ import pkgconfig
|
||||
+ cblas_pc_modules = CBLAS_PC_MODULES.split(':')
|
||||
+ return next(blas_lib for blas_lib in cblas_pc_modules if pkgconfig.exists(blas_lib))
|
||||
+
|
||||
+
|
||||
default_required_modules = ('fflas-ffpack', 'givaro', 'gsl', 'linbox', 'Singular',
|
||||
- 'libpng', 'gdlib', 'm4ri', 'zlib', 'ecl')
|
||||
+ 'libpng', 'gdlib', 'm4ri', 'zlib', 'cblas', 'ecl')
|
||||
|
||||
|
||||
default_optional_modules = ('lapack',)
|
||||
@@ -348,7 +358,7 @@ def cython_aliases(required_modules=None, optional_modules=None):
|
||||
sage: cython_aliases()
|
||||
{...}
|
||||
sage: sorted(cython_aliases().keys())
|
||||
- ['ECL_CFLAGS',
|
||||
+ ['CBLAS_CFLAGS',
|
||||
...,
|
||||
'ZLIB_LIBRARIES']
|
||||
sage: cython_aliases(required_modules=('module-that-is-assumed-to-not-exist'))
|
||||
@@ -395,6 +405,8 @@ def cython_aliases(required_modules=None, optional_modules=None):
|
||||
for lib, required in itertools.chain(((lib, True) for lib in required_modules),
|
||||
((lib, False) for lib in optional_modules)):
|
||||
var = lib.upper().replace("-", "") + "_"
|
||||
+ if lib == 'cblas':
|
||||
+ lib = get_cblas_pc_module_name()
|
||||
if lib == 'zlib':
|
||||
aliases[var + "CFLAGS"] = ""
|
||||
try:
|
||||
diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py
|
||||
index 6d30189ae89..830a744c1aa 100644
|
||||
--- a/src/sage/misc/cython.py
|
||||
+++ b/src/sage/misc/cython.py
|
||||
@@ -50,12 +50,16 @@ def _standard_libs_libdirs_incdirs_aliases():
|
||||
{...})
|
||||
"""
|
||||
aliases = cython_aliases()
|
||||
- standard_libs = ["mpfr", "gmp", "gmpxx", "pari", "m", "ec", "gsl", "ntl"]
|
||||
+ standard_libs = [
|
||||
+ 'mpfr', 'gmp', 'gmpxx', 'pari', 'm',
|
||||
+ 'ec', 'gsl',
|
||||
+ ] + aliases["CBLAS_LIBRARIES"] + [
|
||||
+ 'ntl']
|
||||
standard_libdirs = []
|
||||
if SAGE_LOCAL:
|
||||
standard_libdirs.append(os.path.join(SAGE_LOCAL, "lib"))
|
||||
- standard_libdirs.extend(aliases["NTL_LIBDIR"])
|
||||
- standard_incdirs = [dir.as_posix() for dir in get_include_dirs()] + aliases["NTL_INCDIR"]
|
||||
+ standard_libdirs.extend(aliases["CBLAS_LIBDIR"] + aliases["NTL_LIBDIR"])
|
||||
+ standard_incdirs = [dir.as_posix() for dir in get_include_dirs()] + aliases["CBLAS_INCDIR"] + aliases["NTL_INCDIR"]
|
||||
return standard_libs, standard_libdirs, standard_incdirs, aliases
|
||||
|
||||
################################################################
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py
|
||||
index 62b2d3cb112..df4665982e8 100644
|
||||
--- a/src/sage_docbuild/sphinxbuild.py
|
||||
+++ b/src/sage_docbuild/sphinxbuild.py
|
||||
@@ -107,7 +107,8 @@ class SageSphinxLogger():
|
||||
re.compile('WARNING: Any IDs not assiend for figure node'),
|
||||
re.compile('WARNING: .* is not referenced'),
|
||||
re.compile('WARNING: Build finished'),
|
||||
- re.compile('WARNING: rST localisation for language .* not found')
|
||||
+ re.compile('WARNING: rST localisation for language .* not found'),
|
||||
+ re.compile('WARNING: error while formatting arguments for .*')
|
||||
)
|
||||
# The warning "unknown config value 'multidoc_first_pass'..."
|
||||
# should only appear when building the documentation for a
|
||||
@@ -0,0 +1,129 @@
|
||||
diff --git a/src/doc/en/reference/repl/meson.build b/src/doc/en/reference/repl/meson.build
|
||||
index eb492404897..9b162becf3b 100644
|
||||
--- a/src/doc/en/reference/repl/meson.build
|
||||
+++ b/src/doc/en/reference/repl/meson.build
|
||||
@@ -9,10 +9,3 @@ doc_sources = [
|
||||
foreach file : doc_sources
|
||||
doc_src += fs.copyfile(file)
|
||||
endforeach
|
||||
-
|
||||
-doc_src_repl = custom_target(
|
||||
- 'options',
|
||||
- output: ['options.txt'],
|
||||
- command: [py, src / 'sage' / 'cli', '--help'],
|
||||
- capture: true,
|
||||
-)
|
||||
diff --git a/src/doc/meson.build b/src/doc/meson.build
|
||||
index 1f33822cf5f..5ba1ab0397b 100644
|
||||
--- a/src/doc/meson.build
|
||||
+++ b/src/doc/meson.build
|
||||
@@ -1,11 +1,21 @@
|
||||
-if not get_option('build-docs')
|
||||
- subdir_done()
|
||||
-endif
|
||||
-
|
||||
-warning(
|
||||
- 'Documentation building enabled, generating targets may be slow. To disable this, pass -Dbuild-docs=false.',
|
||||
+project(
|
||||
+ 'SageMath',
|
||||
+ ['c', 'cpp', 'cython'],
|
||||
+ version: '10.9',
|
||||
+ license: 'GPL v3',
|
||||
+ default_options: ['c_std=c17', 'cpp_std=c++17', 'python.install_env=auto'],
|
||||
+ meson_version: '>=1.5',
|
||||
)
|
||||
|
||||
+src = meson.current_source_dir()
|
||||
+fs = import('fs')
|
||||
+
|
||||
+# Python module
|
||||
+# https://mesonbuild.com/Python-module.html
|
||||
+py_module = import('python')
|
||||
+py = py_module.find_installation(pure: false)
|
||||
+py_dep = py.dependency()
|
||||
+
|
||||
sphinx_check = py_module.find_installation(required: false, modules: ['sphinx'])
|
||||
if not sphinx_check.found()
|
||||
warning(
|
||||
@@ -35,21 +45,17 @@ doc_bootstrap = custom_target(
|
||||
'bootstrap',
|
||||
output: ['autogen'],
|
||||
command: [
|
||||
- py,
|
||||
- files('../../tools/bootstrap-docs.py'),
|
||||
+ 'sage',
|
||||
+ '-python',
|
||||
+ files('bootstrap-docs.py'),
|
||||
meson.current_build_dir(),
|
||||
],
|
||||
- env: {'SAGE_ROOT': root},
|
||||
- # doc_src is not really a dependency of the bootstrap, but we want to make sure
|
||||
- # that all the source files are present before running the actual doc build
|
||||
- # so let's collect all source-related targets here.
|
||||
- depends: doc_src,
|
||||
)
|
||||
|
||||
references = run_command(
|
||||
- py,
|
||||
[
|
||||
- src / 'build-docs.py',
|
||||
+ 'sage',
|
||||
+ '--docbuild',
|
||||
'--no-prune-empty-dirs',
|
||||
'--all-documents',
|
||||
'reference',
|
||||
@@ -71,10 +77,7 @@ foreach type : ['inventory', 'html', 'pdf']
|
||||
short_ref = ref
|
||||
endif
|
||||
deps = []
|
||||
- deps += doc_bootstrap
|
||||
- if short_ref == 'repl'
|
||||
- deps += doc_src_repl
|
||||
- endif
|
||||
+ deps += doc_bootstrap
|
||||
if type == 'html' or type == 'pdf'
|
||||
deps += reference_inventory
|
||||
endif
|
||||
@@ -93,8 +96,8 @@ foreach type : ['inventory', 'html', 'pdf']
|
||||
'doc-' + type + '-reference-' + short_ref,
|
||||
output: [type + short_ref],
|
||||
command: [
|
||||
- py,
|
||||
- src / 'build-docs.py',
|
||||
+ 'sage',
|
||||
+ '--docbuild',
|
||||
'--no-prune-empty-dirs',
|
||||
'--no-pdf-links',
|
||||
ref,
|
||||
@@ -120,9 +123,9 @@ foreach type : ['inventory', 'html', 'pdf']
|
||||
endforeach
|
||||
|
||||
other_documents = run_command(
|
||||
- py,
|
||||
[
|
||||
- src / 'build-docs.py',
|
||||
+ 'sage',
|
||||
+ '--docbuild',
|
||||
'--no-prune-empty-dirs',
|
||||
'--all-documents',
|
||||
'all',
|
||||
@@ -140,8 +143,8 @@ foreach type : ['html', 'pdf']
|
||||
'doc-' + type + '-other-' + short_doc,
|
||||
output: [type + short_doc],
|
||||
command: [
|
||||
- py,
|
||||
- src / 'build-docs.py',
|
||||
+ 'sage',
|
||||
+ '--docbuild',
|
||||
'--no-prune-empty-dirs',
|
||||
'--no-pdf-links',
|
||||
doc,
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index 039cbbd1294..dfb82d980fb 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -309,4 +309,3 @@ src = meson.current_source_dir()
|
||||
|
||||
# Submodules
|
||||
subdir('sage')
|
||||
-subdir('doc')
|
||||
@@ -1,30 +0,0 @@
|
||||
diff --git a/src/sage_docbuild/builders.py b/src/sage_docbuild/builders.py
|
||||
index 91035a01f1c..24f3d0c7c12 100644
|
||||
--- a/src/sage_docbuild/builders.py
|
||||
+++ b/src/sage_docbuild/builders.py
|
||||
@@ -130,10 +130,9 @@ def builder_helper(type):
|
||||
logger.debug(build_command)
|
||||
|
||||
# Run Sphinx with Sage's special logger
|
||||
- sys.argv = ["sphinx-build"] + build_command.split()
|
||||
- from .sphinxbuild import runsphinx
|
||||
+ args = "python3 -um sage_docbuild.sphinxbuild -N".split() + build_command.split()
|
||||
try:
|
||||
- runsphinx()
|
||||
+ subprocess.check_call(args)
|
||||
except Exception:
|
||||
if build_options.ABORT_ON_ERROR:
|
||||
raise
|
||||
diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py
|
||||
index 62b2d3cb112..aa7dc07741b 100644
|
||||
--- a/src/sage_docbuild/sphinxbuild.py
|
||||
+++ b/src/sage_docbuild/sphinxbuild.py
|
||||
@@ -331,3 +331,8 @@ def runsphinx():
|
||||
|
||||
if not sys.warnoptions:
|
||||
warnings.filters = original_filters[:]
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ import sys
|
||||
+ sys.argv[0] = "sphinx-build"
|
||||
+ runsphinx()
|
||||
@@ -0,0 +1,32 @@
|
||||
diff --git a/src/sage/config.py.in b/src/sage/config.py.in
|
||||
index 3a95538d313..cdd551122fc 100644
|
||||
--- a/src/sage/config.py.in
|
||||
+++ b/src/sage/config.py.in
|
||||
@@ -4,6 +4,8 @@ import sage
|
||||
|
||||
VERSION = "@PACKAGE_VERSION@"
|
||||
|
||||
+SAGE_BUILD_SRC = "@EDITABLE_SRC@/src"
|
||||
+
|
||||
# The following must not be used during build to determine source or installation
|
||||
# location of sagelib. See comments in SAGE_ROOT/src/Makefile.in
|
||||
# These variables come first so that other substituted variable values can refer
|
||||
diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py
|
||||
index c237af52c24..7a8e8291406 100644
|
||||
--- a/src/sage/misc/sageinspect.py
|
||||
+++ b/src/sage/misc/sageinspect.py
|
||||
@@ -270,6 +270,14 @@ def _extract_embedded_position(docstring):
|
||||
return None
|
||||
|
||||
raw_filename = res.group('FILENAME')
|
||||
+
|
||||
+ # remove SAGE_BUILD_SRC prefix to workaround
|
||||
+ # https://github.com/cython/cython/pull/6755
|
||||
+ from sage.config import SAGE_BUILD_SRC
|
||||
+ from os.path import commonprefix, relpath
|
||||
+ if commonprefix([raw_filename, SAGE_BUILD_SRC]) == SAGE_BUILD_SRC:
|
||||
+ raw_filename = relpath(raw_filename, SAGE_BUILD_SRC)
|
||||
+
|
||||
filename = raw_filename
|
||||
|
||||
if not os.path.isabs(filename):
|
||||
@@ -7,6 +7,7 @@
|
||||
env-locations,
|
||||
gfortran,
|
||||
ninja,
|
||||
meson,
|
||||
bash,
|
||||
coreutils,
|
||||
gnused,
|
||||
@@ -66,6 +67,7 @@ let
|
||||
pythonEnv
|
||||
gfortran # for inline fortran
|
||||
ninja # for inline fortran via numpy.f2py
|
||||
meson # for inline fortran
|
||||
stdenv.cc # for cython
|
||||
bash
|
||||
coreutils
|
||||
@@ -129,84 +131,60 @@ writeTextFile rec {
|
||||
m4ri
|
||||
]
|
||||
}'
|
||||
export SAGE_ROOT='${sagelib.src}'
|
||||
''
|
||||
+
|
||||
# TODO: is using pythonEnv instead of @sage-local@ here a good
|
||||
# idea? there is a test in src/sage/env.py that checks if the values
|
||||
# SAGE_ROOT and SAGE_LOCAL set here match the ones set in env.py.
|
||||
# we fix up env.py's SAGE_ROOT in sage-src.nix (which does not
|
||||
# have access to sage-with-env), but env.py autodetects
|
||||
# SAGE_LOCAL to be pythonEnv.
|
||||
# setting SAGE_LOCAL to pythonEnv also avoids having to create
|
||||
# python3, ipython, ipython3 and jupyter symlinks in
|
||||
# sage-with-env.nix.
|
||||
''
|
||||
export SAGE_LOCAL='${pythonEnv}'
|
||||
export PATH="${runtimepath}:$PATH"
|
||||
export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}"
|
||||
export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}"
|
||||
|
||||
export SAGE_SHARE='${sagelib}/share'
|
||||
export SAGE_ENV_CONFIG_SOURCED=1 # sage-env complains if sage-env-config is not sourced beforehand
|
||||
orig_path="$PATH"
|
||||
export PATH='${runtimepath}'
|
||||
# set locations of dependencies
|
||||
. ${env-locations}/sage-env-locations
|
||||
|
||||
# set dependent vars, like JUPYTER_CONFIG_DIR
|
||||
source "${sagelib.src}/src/bin/sage-env"
|
||||
export PATH="$RUNTIMEPATH_PREFIX:${runtimepath}:$orig_path" # sage-env messes with PATH
|
||||
# needed for cython
|
||||
export CC='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc'
|
||||
export CXX='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++'
|
||||
# cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar
|
||||
export LDFLAGS='${
|
||||
lib.concatStringsSep " " (
|
||||
map (pkg: "-L${pkg}/lib") [
|
||||
flint
|
||||
gap
|
||||
glpk
|
||||
gmp
|
||||
mpfr
|
||||
pari
|
||||
zlib
|
||||
eclib
|
||||
gsl
|
||||
ntl
|
||||
sympow
|
||||
]
|
||||
)
|
||||
}'
|
||||
export CFLAGS='${
|
||||
lib.concatStringsSep " " (
|
||||
map (pkg: "-isystem ${pkg}/include") [
|
||||
singular
|
||||
gmp.dev
|
||||
glpk
|
||||
flint
|
||||
gap
|
||||
mpfr.dev
|
||||
]
|
||||
)
|
||||
}'
|
||||
export CXXFLAGS=$CFLAGS
|
||||
|
||||
export SAGE_LOGS="$TMPDIR/sage-logs"
|
||||
export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}"
|
||||
export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}"
|
||||
export SAGE_LIB='${sagelib}/${python3.sitePackages}'
|
||||
|
||||
# set locations of dependencies
|
||||
. ${env-locations}/sage-env-locations
|
||||
export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data'
|
||||
|
||||
# needed for cython
|
||||
export CC='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc'
|
||||
export CXX='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++'
|
||||
# cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar
|
||||
export LDFLAGS='${
|
||||
lib.concatStringsSep " " (
|
||||
map (pkg: "-L${pkg}/lib") [
|
||||
flint
|
||||
gap
|
||||
glpk
|
||||
gmp
|
||||
mpfr
|
||||
pari
|
||||
zlib
|
||||
eclib
|
||||
gsl
|
||||
ntl
|
||||
sympow
|
||||
]
|
||||
)
|
||||
}'
|
||||
export CFLAGS='${
|
||||
lib.concatStringsSep " " (
|
||||
map (pkg: "-isystem ${pkg}/include") [
|
||||
singular
|
||||
gmp.dev
|
||||
glpk
|
||||
flint
|
||||
gap
|
||||
mpfr.dev
|
||||
]
|
||||
)
|
||||
}'
|
||||
export CXXFLAGS=$CFLAGS
|
||||
|
||||
export SAGE_LIB='${sagelib}/${python3.sitePackages}'
|
||||
|
||||
export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data'
|
||||
|
||||
# for find_library
|
||||
export DYLD_LIBRARY_PATH="${
|
||||
lib.makeLibraryPath [
|
||||
stdenv.cc.libc
|
||||
singular
|
||||
giac
|
||||
gap
|
||||
]
|
||||
}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
|
||||
'';
|
||||
# for find_library
|
||||
export DYLD_LIBRARY_PATH="${
|
||||
lib.makeLibraryPath [
|
||||
stdenv.cc.libc
|
||||
singular
|
||||
giac
|
||||
gap
|
||||
]
|
||||
}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
# all get the same sources with the same patches applied.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "10.7";
|
||||
version = "10.9";
|
||||
pname = "sage-src";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sagemath";
|
||||
repo = "sage";
|
||||
rev = version;
|
||||
hash = "sha256-nYlBmKQ9TD5EAVvNwo8YzqAd5IUCpTU3kBTqUH21IxQ=";
|
||||
hash = "sha256-8IBCQYdmL7ane7/WOoogArbwgqPDtL8ecz9GIzuEfOU=";
|
||||
};
|
||||
|
||||
# contains essential files (e.g., setup.cfg) generated by the bootstrap script.
|
||||
@@ -27,21 +27,39 @@ stdenv.mkDerivation rec {
|
||||
configure-src = fetchurl {
|
||||
# the hash below is the tagged commit's _parent_. it can also be found by looking for
|
||||
# the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version}
|
||||
url = "mirror://sageupstream/configure/configure-858268b40010e5ed6da13488ad0f52cda4d1f70e.tar.gz";
|
||||
hash = "sha256-TsVX+wUWr+keCXmGQp1OHGXgNc7luajyGxfTwduSEtc=";
|
||||
url = "mirror://sageupstream/configure/configure-8592858fd4c0eb936cfa9ebf704d165f6b857617.tar.gz";
|
||||
hash = "sha256-jakdc+4S/2uRooEaXMlNZpo01dVBumVp7HHHP4iZu0c=";
|
||||
};
|
||||
|
||||
# Patches needed because of particularities of nix or the way this is packaged.
|
||||
# The goal is to upstream all of them and get rid of this list.
|
||||
nixPatches = [
|
||||
# Parallelize docubuild using subprocesses, fixing an isolation issue. See
|
||||
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
|
||||
./patches/sphinx-docbuild-subprocesses.patch
|
||||
|
||||
# After updating smypow to (https://github.com/sagemath/sage/issues/3360)
|
||||
# we can now set the cache dir to be within the .sage directory. This is
|
||||
# not strictly necessary, but keeps us from littering in the user's HOME.
|
||||
./patches/sympow-cache.patch
|
||||
|
||||
# MILD HACK: Turn src/doc/meson.build into a standalone project, so we can
|
||||
# docbuild separately.
|
||||
./patches/sagedoc-standalone-meson.patch
|
||||
|
||||
# Silence some warnings during docbuild. Imported from Arch.
|
||||
./patches/sagedoc-silence-formatting-warnings.patch
|
||||
|
||||
# Workaround for https://github.com/cython/cython/pull/6755, adapted from Void. Can be removed after next Cython release.
|
||||
./patches/workaround-cython-relpaths.patch
|
||||
|
||||
# Revert https://github.com/sagemath/sage/pull/40520. It causes
|
||||
# "undefined symbol: cblas_ctrmv" errors.
|
||||
./patches/revert-blas-mesonification.patch
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41637 causes problems when
|
||||
# docbuilding.
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/sagemath/sage/commit/854ea0e546ee24ff09072ee77550b944b54f697c.patch?full_index=1";
|
||||
revert = true;
|
||||
hash = "sha256-j5evAmOtKEG4OVFb/w/SVY2vvP5BSkqHBDmnroh8XY0=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (stdenv.cc.isClang) [
|
||||
# https://github.com/NixOS/nixpkgs/pull/264126
|
||||
@@ -60,11 +78,11 @@ stdenv.mkDerivation rec {
|
||||
# a more conservative version of https://github.com/sagemath/sage/pull/37951
|
||||
./patches/gap-element-crash.patch
|
||||
|
||||
# https://github.com/sagemath/sage/pull/40895, landed in 10.8.beta6
|
||||
# https://github.com/sagemath/sage/pull/42009, landed in 10.10.beta0
|
||||
(fetchpatch2 {
|
||||
name = "doctest-absolute-path.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/3a5904d43f552bf63ed1eed9154f87b1f0de53fb.patch?full_index=1";
|
||||
hash = "sha256-rp+9d8Y6kifWzufE07GWU68txPn//w7uMn4LcpITaBs=";
|
||||
name = "gap-root-paths.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/24c9605a770b2419cd401bf6c8780bb4be923244.patch?full_index=1";
|
||||
hash = "sha256-68w2HWLR6mb13BWi5Fb6SfPAqPbdJrns0l5T6SoMqNI=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -75,63 +93,6 @@ stdenv.mkDerivation rec {
|
||||
# should come from or be proposed to upstream. This list will probably never
|
||||
# be empty since dependencies update all the time.
|
||||
packageUpgradePatches = [
|
||||
# https://github.com/sagemath/sage/pull/40919, landed in 10.8.beta8
|
||||
(fetchpatch2 {
|
||||
name = "gap-4.15.1-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/54d4ddb132cc71ef26b4db1f48afd6736d41cc63.patch?full_index=1";
|
||||
hash = "sha256-PZyOXRsgcsPvgceGGZXet5URJgWiIlCfFx8tvwpLk5A=";
|
||||
excludes = [ "src/doc/zh/constructions/rep_theory.rst" ];
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41141, landed in 10.8.beta9
|
||||
(fetchpatch2 {
|
||||
name = "ipython-9_7_0-unicode_to_str.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/fa00696112fde95e0c4241ad6063936200ce6f68.patch?full_index=1";
|
||||
hash = "sha256-eFDpNu/2gcQATELmQ7/VzXI35xIzaVrD8bhhJ57e2gc=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41233, landed in 10.8.rc0
|
||||
(fetchpatch2 {
|
||||
name = "flint-3.4-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/9bd5304f1a222e215d7006a04854ff66616748bf.patch?full_index=1";
|
||||
hash = "sha256-7bgouXV3pM20IX5PM24ZpJWOBlZjQksGtjopgouEbyg=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41078, landed in 10.8.beta8
|
||||
(fetchpatch2 {
|
||||
name = "docutils-0.22-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/e206e205a6841cc5251dfb37fdd36ed29345fba4.patch?full_index=1";
|
||||
hash = "sha256-Y8DqwGBkRnL+6ejZibCmkEJ7q/Qs0wD2KGmAefVdd94=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41342, landed in 10.9.beta1
|
||||
(fetchpatch2 {
|
||||
name = "numpy-2.4-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/97ceea842a39fa2f2e9098daae2738a2f2765b9e.patch?full_index=1";
|
||||
hash = "sha256-/Tk3tIy0syOjaNRMCyot6kma3jj4288QJ3zypS79jZo=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41346, landed in 10.9.beta2
|
||||
(fetchpatch2 {
|
||||
name = "ipython-9.8-updte.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/380949e6eeda80cca6e5dd971e2c6f367647a863.patch?full_index=1";
|
||||
hash = "sha256-e4zmgfHrenOixgbUS1uFHzftmwNGGoSb7yFhYmqT0yc=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41395, landed in 10.9.beta2
|
||||
(fetchpatch2 {
|
||||
name = "pyparsing-3.3-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/1b5a5dd78b5dcb4b3c7d1f94461ddbc647c5679f.patch?full_index=1";
|
||||
hash = "sha256-kFXg2O3IpwaOwAaNIy6Wscx8/XSDWXrqAXS2ZJgdqsg=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/41433, landed in 10.9.beta3
|
||||
(fetchpatch2 {
|
||||
name = "scipy-1.17-update.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/ff58afe27c80c067a8965e1d70966e25d0355aaf.patch?full_index=1";
|
||||
hash = "sha256-gWoXwhUVXL2RSVLPRbxtlP0LCSEkJ9z1PJ1wKLXef1k=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/42089, landed in 10.10.beta0
|
||||
(fetchpatch2 {
|
||||
name = "flint-3.5.0-update.patch";
|
||||
@@ -158,16 +119,28 @@ stdenv.mkDerivation rec {
|
||||
"s|var(\"SAGE_ROOT\".*|var(\"SAGE_ROOT\", \"$out\")|" \
|
||||
src/sage/env.py
|
||||
|
||||
# https://github.com/sagemath/sage/pull/40489 removed this file,
|
||||
# but it seems like autogen/interpreters/internal/__init__.py
|
||||
# was not fully adapted for that, and it causes fast_callable problems
|
||||
touch src/sage/ext/all.py
|
||||
|
||||
# HACK: meson tries to run maxima at build time. that's not necessary
|
||||
# because we ensure Sage will find all it needs at runtime.
|
||||
sed -i 's/not is_windows/false/g' src/sage/meson.build
|
||||
sed -i 's/if not maxima_present/if false/g' src/sage/libs/meson.build
|
||||
sed -i '/SAGE_MAXIMA/d' src/sage/libs/meson.build
|
||||
|
||||
# sage --docbuild unsets JUPYTER_PATH, which breaks our docbuilding
|
||||
# https://trac.sagemath.org/ticket/33650#comment:32
|
||||
sed -i "/export JUPYTER_PATH/d" src/bin/sage
|
||||
'';
|
||||
|
||||
buildPhase = "# do nothing";
|
||||
buildPhase = ''
|
||||
tar xzf ${configure-src}
|
||||
rm configure
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r . "$out"
|
||||
tar xzf ${configure-src} -C "$out"
|
||||
rm "$out/configure"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -12,15 +12,31 @@ stdenv.mkDerivation rec {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
meson-python
|
||||
cython
|
||||
sphinx
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
export SAGE_DOC_OVERRIDE="$PWD/share/doc/sage"
|
||||
export SAGE_DOC_SRC_OVERRIDE="$PWD/docsrc"
|
||||
|
||||
cp -r "${src}/src/doc" "$SAGE_DOC_SRC_OVERRIDE"
|
||||
chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE"
|
||||
|
||||
# Tools needed for meson to run the bootstrap script
|
||||
cp -r "${src}/tools/bootstrap-docs.py" "$SAGE_DOC_SRC_OVERRIDE"
|
||||
cp -r "${src}/build/sage_bootstrap" "$SAGE_DOC_SRC_OVERRIDE"
|
||||
chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE/sage_bootstrap/env.py"
|
||||
sed "/assert/d" "${src}/build/sage_bootstrap/env.py" > "$SAGE_DOC_SRC_OVERRIDE/sage_bootstrap/env.py"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
preConfigure = ''
|
||||
cd docsrc
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export SAGE_ROOT="${sage-with-env.env.lib.src}"
|
||||
export PATH="${sage-with-env}/bin:$PATH"
|
||||
export HOME="$TMPDIR/sage_home"
|
||||
@@ -32,10 +48,10 @@ stdenv.mkDerivation rec {
|
||||
# jupyter-sphinx calls the sagemath jupyter kernel during docbuild
|
||||
export JUPYTER_PATH=${jupyter-kernel-specs}
|
||||
|
||||
# the Makefile tries to guess SAGE_DOC, but in a buggy way (changed in 10.8)
|
||||
export SAGE_DOC="$SAGE_DOC_OVERRIDE"
|
||||
|
||||
cd docsrc
|
||||
meson setup $SAGE_DOC_OVERRIDE
|
||||
meson compile -C $SAGE_DOC_OVERRIDE
|
||||
sage -advanced > $SAGE_DOC_OVERRIDE/en/reference/repl/options.txt
|
||||
meson compile -C $SAGE_DOC_OVERRIDE doc-html
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
perl,
|
||||
pkg-config,
|
||||
sage-setup,
|
||||
sage-docbuild,
|
||||
setuptools,
|
||||
gd,
|
||||
iml,
|
||||
@@ -73,6 +74,7 @@
|
||||
pplpy,
|
||||
primecountpy,
|
||||
ptyprocess,
|
||||
pytest,
|
||||
requests,
|
||||
rpy2,
|
||||
scipy,
|
||||
@@ -103,10 +105,8 @@ buildPythonPackage rec {
|
||||
pkg-config
|
||||
sage-setup
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"sphinx"
|
||||
meson-python
|
||||
cython
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -115,6 +115,8 @@ buildPythonPackage rec {
|
||||
libpng
|
||||
];
|
||||
|
||||
mesonFlags = [ "-Dbuild-docs=false" ];
|
||||
|
||||
env = lib.optionalAttrs stdenv.cc.isClang {
|
||||
# code tries to assign a unsigned long to an int in an initialized list
|
||||
# leading to this error.
|
||||
@@ -175,7 +177,6 @@ buildPythonPackage rec {
|
||||
lrcalc-python
|
||||
matplotlib
|
||||
memory-allocator
|
||||
meson-python
|
||||
mpmath
|
||||
networkx
|
||||
numpy
|
||||
@@ -186,8 +187,10 @@ buildPythonPackage rec {
|
||||
pplpy
|
||||
primecountpy
|
||||
ptyprocess
|
||||
pytest
|
||||
requests
|
||||
rpy2
|
||||
sage-docbuild
|
||||
scipy
|
||||
sphinx
|
||||
sympy
|
||||
@@ -195,28 +198,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export SAGE_ROOT="$PWD"
|
||||
export SAGE_LOCAL="$SAGE_ROOT"
|
||||
export SAGE_SHARE="$SAGE_LOCAL/share"
|
||||
|
||||
# set locations of dependencies (needed for nbextensions like threejs)
|
||||
. ${env-locations}/sage-env-locations
|
||||
|
||||
export JUPYTER_PATH="$SAGE_LOCAL/jupyter"
|
||||
export PATH="$SAGE_ROOT/build/bin:$SAGE_ROOT/src/bin:$PATH"
|
||||
|
||||
export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
|
||||
|
||||
mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
|
||||
mkdir -p "var/lib/sage/installed"
|
||||
|
||||
sed -i "/sage-conf/d" src/{setup.cfg,pyproject.toml,requirements.txt}
|
||||
|
||||
cd build/pkgs/sagelib/src
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm -r "$out/${python.sitePackages}/sage/cython_debug"
|
||||
patchShebangs src/sage_setup/autogen/interpreters/__main__.py
|
||||
'';
|
||||
|
||||
doCheck = false; # we will run tests in sage-tests.nix
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "seanime";
|
||||
version = "3.8.2";
|
||||
version = "3.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "5rahim";
|
||||
repo = "seanime";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-7wOmvOrs4/YiIjOGdp6pleUcUjNaXhZFvtwBTSn5BQI=";
|
||||
hash = "sha256-jD18xNgSKitgRzUjwJA2q79Me/qZzFb+fSLdycmAld0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
electron_40,
|
||||
vulkan-loader,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
commandLineArgs ? [ ],
|
||||
@@ -67,17 +66,12 @@ buildNpmPackage (finalAttrs: {
|
||||
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
''
|
||||
# Electron builder complains about symlink in electron-dist
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
rm electron-dist/libvulkan.so.1
|
||||
cp '${lib.getLib vulkan-loader}/lib/libvulkan.so.1' electron-dist
|
||||
''
|
||||
# Explicitly set identity to null to avoid signing on arm64 macs with newer electron-builder.
|
||||
# See: https://github.com/electron-userland/electron-builder/pull/9007
|
||||
+ ''
|
||||
|
||||
npm run electron:pack
|
||||
|
||||
# Explicitly set identity to null to avoid signing on arm64 macs with newer electron-builder.
|
||||
# See: https://github.com/electron-userland/electron-builder/pull/9007
|
||||
|
||||
./node_modules/.bin/electron-builder \
|
||||
--dir \
|
||||
--config .electron-builder.config.mjs \
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
nodejs_22,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
electron,
|
||||
@@ -32,6 +33,9 @@ buildNpmPackage {
|
||||
pname = "sieve-editor-gui";
|
||||
version = "0.6.1-unstable-2025-03-12";
|
||||
|
||||
# npm dependency install fails with nodejs_24: https://github.com/NixOS/nixpkgs/issues/474535
|
||||
nodejs = nodejs_22;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thsmi";
|
||||
repo = "sieve";
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
libinput,
|
||||
gdk-pixbuf,
|
||||
librsvg,
|
||||
wlroots_0_19,
|
||||
wlroots_0_20,
|
||||
wayland-protocols,
|
||||
libdrm,
|
||||
evdev-proto,
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sway-unwrapped";
|
||||
version = "1.11";
|
||||
version = "1.12";
|
||||
|
||||
inherit
|
||||
enableXWayland
|
||||
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "swaywm";
|
||||
repo = "sway";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-xMrexVDpgkGnvAAglshsh7HjvcbU2/Q6JLUd5J487qg=";
|
||||
hash = "sha256-OcF7jOOHhFPhM5APn5riy8S5jsEr9jALCVh9nBtD7Nk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -96,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
librsvg
|
||||
wayland-protocols
|
||||
libdrm
|
||||
(wlroots_0_19.override { inherit (finalAttrs) enableXWayland; })
|
||||
(wlroots_0_20.override { inherit (finalAttrs) enableXWayland; })
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isFreeBSD [
|
||||
evdev-proto
|
||||
@@ -139,7 +139,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
changelog = "https://github.com/swaywm/sway/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ c6rg0 ];
|
||||
mainProgram = "sway";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -12,20 +12,20 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "taze";
|
||||
version = "19.11.0";
|
||||
version = "19.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antfu-collective";
|
||||
repo = "taze";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-lWCfaIZF1g8tO+QKd5igxCI44OEiLk1cNS4MMtqGL4M=";
|
||||
hash = "sha256-EUfZ8Qh/g4t5R5leMP67ReWapp5hkcjwt+0VLI+ezTs=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_9;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-x9XPnvyrAmFqIMhjBFQYQE1qKDG6uxzd0NnxIjdOXio=";
|
||||
hash = "sha256-4ZTdSEjxu6+q3LZ6bUykqsSEgzQAN/IGkPhpKx+DwDg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
vulkan-loader,
|
||||
which,
|
||||
}:
|
||||
|
||||
@@ -46,21 +45,15 @@ buildNpmPackage rec {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
cp -r ${electron_41.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
''
|
||||
# Electron builder complains about symlink in electron-dist
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
rm electron-dist/libvulkan.so.1
|
||||
cp ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 electron-dist
|
||||
''
|
||||
+ ''
|
||||
electron_dist="$(mktemp -d)"
|
||||
cp -r ${electron_41.dist}/. "$electron_dist"
|
||||
chmod -R u+w "$electron_dist"
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.npmRebuild=true \
|
||||
-c.asarUnpack="**/*.node" \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronDist="$electron_dist" \
|
||||
-c.electronVersion=${electron_41.version} \
|
||||
-c.mac.identity=null
|
||||
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tev";
|
||||
version = "2.12.0";
|
||||
version = "2.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Tom94";
|
||||
repo = "tev";
|
||||
tag = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-MQb1G3l+mC50JIVj0rHget47hM6O+iywB7B1NvAa1WE=";
|
||||
hash = "sha256-W/K70l4WXUyZUa1gVivr3y/CT4QYq12FuJqSLA2dyFU=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isLinux (
|
||||
|
||||
@@ -1,42 +1,40 @@
|
||||
diff --git a/server.go b/server.go
|
||||
index e2f2ab3..f81812f 100644
|
||||
index 4499a6d..4c14d1a 100644
|
||||
--- a/server.go
|
||||
+++ b/server.go
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
@@ -24,6 +24,7 @@ import (
|
||||
"github.com/sagernet/sing-box/experimental/clashapi"
|
||||
"github.com/sagernet/sing/common"
|
||||
E "github.com/sagernet/sing/common/exceptions"
|
||||
+ "golang.org/x/sys/unix"
|
||||
"github.com/sagernet/sing/service"
|
||||
"github.com/throneproj/clash2singbox/convert"
|
||||
"github.com/throneproj/clash2singbox/model"
|
||||
"github.com/throneproj/clash2singbox/model/clash"
|
||||
@@ -349,12 +350,25 @@ func (s *server) CompileGeoSiteToSrs(in *gen.CompileGeoSiteToSrsRequest, out *ge
|
||||
}
|
||||
"github.com/xtls/xray-core/core"
|
||||
)
|
||||
@@ -462,6 +463,27 @@ func (s *server) IsPrivileged(ctx context.Context, _ *gen.EmptyReq) (*gen.IsPriv
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *server) IsPrivileged(in *gen.EmptyReq, out *gen.IsPrivilegedResponse) error {
|
||||
- if runtime.GOOS == "windows" {
|
||||
- out.HasPrivilege = To(false)
|
||||
- return nil
|
||||
+ ret := false
|
||||
+ if runtime.GOOS == "windows" || os.Geteuid() == 0 {
|
||||
+ ret = true
|
||||
+ } else if runtime.GOOS == "linux" {
|
||||
+ if runtime.GOOS == "linux" {
|
||||
+ caps := unix.CapUserHeader{
|
||||
+ Version: unix.LINUX_CAPABILITY_VERSION_3,
|
||||
+ Pid: 0, // current
|
||||
+ }
|
||||
+
|
||||
+ var data [2]unix.CapUserData
|
||||
+ err := unix.Capget(&caps, &data[0])
|
||||
+
|
||||
+ if err != nil {
|
||||
+ ret = false
|
||||
+ } else {
|
||||
+ // CAP_NET_ADMIN = 12
|
||||
+ ret = (data[0].Effective & (1 << unix.CAP_NET_ADMIN)) != 0
|
||||
+ return &gen.IsPrivilegedResponse{
|
||||
+ HasPrivilege: To(false),
|
||||
+ }, nil
|
||||
+ }
|
||||
}
|
||||
|
||||
- out.HasPrivilege = To(os.Geteuid() == 0)
|
||||
+ out.HasPrivilege = To(ret)
|
||||
return nil
|
||||
+
|
||||
+ // CAP_NET_ADMIN = 12
|
||||
+ return &gen.IsPrivilegedResponse{
|
||||
+ HasPrivilege: To((data[0].Effective & (1 << unix.CAP_NET_ADMIN)) != 0),
|
||||
+ }, nil
|
||||
+ }
|
||||
+
|
||||
return &gen.IsPrivilegedResponse{HasPrivilege: To(os.Geteuid() == 0)}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/src/sys/linux/AutoRun.cpp b/src/sys/linux/AutoRun.cpp
|
||||
index 1fafe35..fe04c75 100644
|
||||
--- a/src/sys/linux/AutoRun.cpp
|
||||
+++ b/src/sys/linux/AutoRun.cpp
|
||||
@@ -31,18 +31,9 @@ void AutoRun_SetEnabled(bool enable) {
|
||||
QString desktopFileLocation = userAutoStartPath + appName + QLatin1String(".desktop");
|
||||
QStringList appCmdList;
|
||||
|
||||
- if (QProcessEnvironment::systemEnvironment().contains("APPIMAGE")) {
|
||||
- appCmdList << QProcessEnvironment::systemEnvironment().value("APPIMAGE");
|
||||
- } else {
|
||||
- appCmdList << QApplication::applicationFilePath();
|
||||
- }
|
||||
-
|
||||
+ appCmdList << "Throne";
|
||||
appCmdList << "-tray";
|
||||
|
||||
- if (Configs::dataManager->settingsRepo->flag_use_appdata) {
|
||||
- appCmdList << "-appdata";
|
||||
- }
|
||||
-
|
||||
if (enable) {
|
||||
if (!QDir().exists(userAutoStartPath) && !QDir().mkpath(userAutoStartPath)) {
|
||||
// qCWarning(lcUtility) << "Could not create autostart folder"
|
||||
@@ -1,42 +1,42 @@
|
||||
diff --git a/src/global/Configs.cpp b/src/global/Configs.cpp
|
||||
index e7bec9c..f0dfe53 100644
|
||||
index 37b69be..2d458f3 100644
|
||||
--- a/src/global/Configs.cpp
|
||||
+++ b/src/global/Configs.cpp
|
||||
@@ -404,6 +404,12 @@ namespace Configs {
|
||||
// System Utils
|
||||
@@ -45,6 +45,12 @@ namespace Configs {
|
||||
}
|
||||
|
||||
QString FindCoreRealPath() {
|
||||
+ // find in PATH first
|
||||
+ QString path_for_nixos = QStandardPaths::findExecutable("throne-core");
|
||||
+ QString path_for_nixos = QStandardPaths::findExecutable("ThroneCore");
|
||||
+ if (!path_for_nixos.isEmpty()) {
|
||||
+ return path_for_nixos;
|
||||
+ }
|
||||
+
|
||||
auto fn = QApplication::applicationDirPath() + "/Core";
|
||||
auto fn = QApplication::applicationDirPath() + "/ThroneCore";
|
||||
#ifdef Q_OS_WIN
|
||||
fn += ".exe";
|
||||
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
|
||||
index d31c311..ce4c357 100644
|
||||
index 9acfee4..c0c313a 100644
|
||||
--- a/src/ui/mainwindow.cpp
|
||||
+++ b/src/ui/mainwindow.cpp
|
||||
@@ -151,8 +151,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
Configs::dataStore->core_port = MkPort();
|
||||
if (Configs::dataStore->core_port <= 0) Configs::dataStore->core_port = 19810;
|
||||
@@ -163,8 +163,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
Configs::dataManager->settingsRepo->core_port = MkPort();
|
||||
if (Configs::dataManager->settingsRepo->core_port <= 0) Configs::dataManager->settingsRepo->core_port = 19810;
|
||||
|
||||
- auto core_path = QApplication::applicationDirPath() + "/";
|
||||
- core_path += "Core";
|
||||
- core_path += "ThroneCore";
|
||||
+ auto core_path = Configs::FindCoreRealPath();
|
||||
|
||||
QStringList args;
|
||||
args.push_back("-port");
|
||||
@@ -1045,6 +1044,15 @@ bool MainWindow::get_elevated_permissions(int reason) {
|
||||
@@ -1296,6 +1295,15 @@ bool MainWindow::get_elevated_permissions(int reason) {
|
||||
return true;
|
||||
}
|
||||
if (Configs::IsAdmin()) return true;
|
||||
+ QMessageBox::critical(
|
||||
+ GetMessageBoxParent(),
|
||||
+ tr("Unable to elevate privileges when installed with Nix"),
|
||||
+ tr("Due to the read-only property of Nix store, we cannot set suid for throne-core. If you are using NixOS, please install Throne via `programs.throne.enable` and then set the `programs.throne.tunMode.enable` option to elevate privileges."),
|
||||
+ tr("Due to the read-only property of the Nix store, we cannot set suid for ThroneCore. If you are using NixOS, please install Throne via `programs.throne.enable` and then set the `programs.throne.tunMode.enable` option to elevate privileges."),
|
||||
+ QMessageBox::Ok
|
||||
+ );
|
||||
+ return false;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
protobuf,
|
||||
protoc-gen-go,
|
||||
protorpc,
|
||||
protoc-gen-go-grpc,
|
||||
|
||||
cmake,
|
||||
copyDesktopItems,
|
||||
@@ -19,23 +19,20 @@
|
||||
|
||||
# override if you want to have more up-to-date rulesets
|
||||
throne-srslist ? fetchurl {
|
||||
url = "https://raw.githubusercontent.com/throneproj/routeprofiles/0fca735ff2759422c407ac04fac819aef2fc88f9/srslist.h";
|
||||
hash = "sha256-G2WUStxFtN0fbZm/KoD9ldUvkMWf9cDA+9fvYt8dcqo=";
|
||||
url = "https://raw.githubusercontent.com/throneproj/routeprofiles/c637d0bb8a3707eb5e122c81753600d3e18a5969/srslist.h";
|
||||
hash = "sha256-Kf3TAGXi7Y0PhWjdTOZdPUMlimszWkcrQw9zv8pb76s=";
|
||||
},
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "throne";
|
||||
version = "1.0.13";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "throneproj";
|
||||
repo = "Throne";
|
||||
# the release CI job was triggered on the xhttp branch (https://github.com/throneproj/Throne/actions/runs/20588046213),
|
||||
# but the 1.0.13 tag was wrongly created on the dev branch
|
||||
# we'll use the revision that was used for the job as well
|
||||
rev = "3b737ec8cf29e03e4b7d5a09b1f502bdb8ef52e2";
|
||||
hash = "sha256-OVgmhiKL4BaFYBeUqIX3LRNa54zq5oYyNMUYwKNvo1A=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-gtbGKyEOTq+1IP7v4ZhVVohGQFlDtP7NbbhyFD2rCnA=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -54,33 +51,36 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
env.INPUT_VERSION = finalAttrs.version;
|
||||
|
||||
cmakeFlags = [
|
||||
# makes sure the app uses the user's config directory to store it's non-static content
|
||||
# it's essentially the same as always setting the -appdata flag when running the program
|
||||
(lib.cmakeBool "NKR_PACKAGE" true)
|
||||
];
|
||||
# suppress errors in 3rdparty/simple-protobuf
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized";
|
||||
|
||||
patches = [
|
||||
# disable suid request as it cannot be applied to throne-core in nix store
|
||||
# and prompt users to use NixOS module instead. And use throne-core from PATH
|
||||
# disable suid request as it cannot be applied to ThroneCore in nix store
|
||||
# and prompt users to use NixOS module instead. And use ThroneCore from PATH
|
||||
# to make use of security wrappers
|
||||
./nixos-disable-setuid-request.patch
|
||||
|
||||
# sets the Exec field of the auto-run .desktop file to use the Throne binary from PATH
|
||||
./fix-autorun-desktop-exec.patch
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
ln -s ${throne-srslist} ./srslist.h
|
||||
'';
|
||||
|
||||
# we'll wrap manually
|
||||
dontWrapQtApps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 Throne -t "$out/share/throne/"
|
||||
install -Dm644 "$src/res/public/Throne.png" -t "$out/share/icons/hicolor/512x512/apps/"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
ln -s "$out/share/throne/Throne" "$out/bin/"
|
||||
makeQtWrapper "$out/share/throne/Throne" "$out/bin/Throne" \
|
||||
--append-flag "-appdata" # use writable config dir
|
||||
|
||||
ln -s ${finalAttrs.passthru.core}/bin/Core "$out/share/throne/Core"
|
||||
ln -s ${finalAttrs.passthru.core}/bin/ThroneCore "$out/share/throne/ThroneCore"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@@ -108,18 +108,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-cPo/2bUXEF9jomr0Pnty7ZutAaC0TFG397FSIqefrjw=";
|
||||
vendorHash = "sha256-G0ev2my+sHQFYdmfkR2Zq3ujSeqi5fZ4BdrnUS8mfDE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
protoc-gen-go
|
||||
protorpc
|
||||
protoc-gen-go-grpc
|
||||
];
|
||||
|
||||
# taken from script/build_go.sh
|
||||
preBuild = ''
|
||||
pushd gen
|
||||
protoc -I . --go_out=. --protorpc_out=. libcore.proto
|
||||
protoc -I . --go_out=. --go-grpc_out=. libcore.proto
|
||||
popd
|
||||
|
||||
VERSION_SINGBOX=$(go list -m -f '{{.Version}}' github.com/sagernet/sing-box)
|
||||
@@ -130,6 +130,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
"-X"
|
||||
"internal/godebug.defaultGODEBUG=multipathtcp=0"
|
||||
"-checklinkname=0"
|
||||
];
|
||||
|
||||
tags = [
|
||||
@@ -140,10 +143,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"with_utls"
|
||||
"with_dhcp"
|
||||
"with_tailscale"
|
||||
"badlinkname"
|
||||
"tfogo_checklinkname"
|
||||
"with_naive_outbound"
|
||||
"with_purego" # prebuilt .a files inside cronet-go are annoying to fix
|
||||
];
|
||||
};
|
||||
|
||||
# this tricks nix-update into also updating the vendorHash of throne-core
|
||||
# this tricks nix-update into also updating the vendorHash of passthru.core
|
||||
passthru.goModules = finalAttrs.passthru.core.goModules;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "tmuxai";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alvinunreal";
|
||||
repo = "tmuxai";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-i0SML6CpFim+jMy6uOqZg1uhuy3ngYFscg2if8/3fOI=";
|
||||
hash = "sha256-t0ToGlmeWIgbZokqewdlsj8Bm89yURFf/vVZ82OoxL4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-TlP5DlsPL46ityGhje/b8OHDHeWWCxu5K5iu3pyVxog=";
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "trdsql";
|
||||
version = "1.1.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "noborus";
|
||||
repo = "trdsql";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MkjQAOIXnydEmOFnnYrvE2TF2I0GqSrSRUAjd+/hHwc=";
|
||||
hash = "sha256-gcEzOgoVhXJ5PqgQ9sV6dGiQlhk4cCpcPBBAKPoyNKg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-PoIa58vdDPYGL9mjEeudRYqPfvvr3W+fX5c+NgRIoLg=";
|
||||
vendorHash = "sha256-1s2fQue0mLhJ9dKILrERa21Ut05/zVCwL2txZlqcCqE=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "uutils-acl";
|
||||
version = "0.0.1-unstable-2026-05-12";
|
||||
version = "0.0.1-unstable-2026-05-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uutils";
|
||||
repo = "acl";
|
||||
rev = "a661fe211a2b6c1881e15bfabe0bd94488445302";
|
||||
hash = "sha256-ixXevx72Sg7ExaID8pwUMzc4ujkFSy3qT73dLfJ62IU=";
|
||||
rev = "8c23acae9473c2a6a425a95eda474cdec33fb9a4";
|
||||
hash = "sha256-q1dMJMMhL7/vA1ffy4KBhoPx7BoZnnr7yxLc9XDOCak=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tz6gCpqlVjdJwzjHdL82V7cUm8Fz/WYCYCAVc16C1SA=";
|
||||
cargoHash = "sha256-06gamu+PZK68QSA4vLYyjRS6ecO/ugjkmaHH2tipTl4=";
|
||||
|
||||
cargoBuildFlags = [ "--workspace" ];
|
||||
|
||||
|
||||
@@ -87,7 +87,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
};
|
||||
|
||||
# electron builds must be writable
|
||||
preBuild = ''
|
||||
# Validate electron version matches upstream package.json
|
||||
if [ "`jq -r '.devDependencies.electron' < package.json | cut -d. -f1 | tr -d '^'`" != "${lib.versions.major electron.version}" ]
|
||||
@@ -95,12 +94,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
echo "ERROR: electron version mismatch between package.json and nixpkgs"
|
||||
exit 1
|
||||
fi
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
cp -r ${electron.dist}/Electron.app .
|
||||
chmod -R u+w Electron.app
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
|
||||
# electron builds must be writable
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
'';
|
||||
@@ -112,7 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpm exec electron-builder \
|
||||
--dir \
|
||||
-c.asarUnpack="**/*.node" \
|
||||
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else "electron-dist"} \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version} \
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin "-c.mac.identity=null"} # disable code signing on macos, https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "viceroy";
|
||||
version = "0.16.5";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastly";
|
||||
repo = "viceroy";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-66wRKZgEPey8umpO/P9bFy6PIA6BwktDl39rKUlAFCU=";
|
||||
hash = "sha256-WlxVXMUIby5qBsb6Uc8hiya0QJfEPKhqMSNW51JkTqs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-88+/musBwAafwJ4XguFUvhmo77HsZTkCdBk+h0436yE=";
|
||||
cargoHash = "sha256-K2l53MZLwLoR2I7NdTOMTBppUoM4408UvaYX2m8RyiQ=";
|
||||
|
||||
cargoTestFlags = [
|
||||
"--package"
|
||||
|
||||
Generated
+186
-186
@@ -1,6 +1,6 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
@@ -36,9 +36,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||
|
||||
[[package]]
|
||||
name = "bit-vec"
|
||||
@@ -54,21 +54,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.6.0"
|
||||
version = "2.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.16.0"
|
||||
version = "3.20.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
|
||||
checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.20.0"
|
||||
version = "1.25.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a"
|
||||
checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
@@ -84,9 +84,9 @@ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
@@ -115,7 +115,7 @@ version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cfg-if 1.0.4",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
@@ -132,18 +132,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crc32fast"
|
||||
version = "1.4.2"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
|
||||
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cfg-if 1.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.5"
|
||||
version = "0.8.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
|
||||
checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
|
||||
dependencies = [
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
@@ -160,9 +160,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.20"
|
||||
version = "0.8.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
|
||||
|
||||
[[package]]
|
||||
name = "deflate"
|
||||
@@ -176,17 +176,17 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.13.0"
|
||||
version = "1.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||
checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "1.9.0"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
|
||||
checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
|
||||
dependencies = [
|
||||
"instant",
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -200,6 +200,44 @@ dependencies = [
|
||||
"smallvec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
"pin-project-lite",
|
||||
"slab",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.4",
|
||||
"js-sys",
|
||||
"libc",
|
||||
"r-efi",
|
||||
"wasip2",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gif"
|
||||
version = "0.11.4"
|
||||
@@ -244,15 +282,6 @@ version = "1.0.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
|
||||
|
||||
[[package]]
|
||||
name = "instant"
|
||||
version = "0.1.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.8.2"
|
||||
@@ -264,9 +293,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.14"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
|
||||
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
||||
|
||||
[[package]]
|
||||
name = "jpeg-decoder"
|
||||
@@ -279,41 +308,42 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.76"
|
||||
version = "0.3.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7"
|
||||
checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.4",
|
||||
"futures-util",
|
||||
"once_cell",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.168"
|
||||
version = "0.2.186"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d"
|
||||
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
version = "0.4.12"
|
||||
version = "0.4.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
|
||||
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.22"
|
||||
version = "0.4.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
||||
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
@@ -385,15 +415,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.20.2"
|
||||
version = "1.21.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
||||
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.12.3"
|
||||
version = "0.12.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
|
||||
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
"parking_lot_core",
|
||||
@@ -401,17 +431,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot_core"
|
||||
version = "0.9.10"
|
||||
version = "0.9.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
|
||||
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cfg-if 1.0.4",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
"smallvec",
|
||||
"windows-targets",
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
version = "0.16.8"
|
||||
@@ -426,9 +462,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.92"
|
||||
version = "1.0.106"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
|
||||
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -439,7 +475,7 @@ version = "0.19.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cfg-if 1.0.4",
|
||||
"indoc",
|
||||
"libc",
|
||||
"memoffset",
|
||||
@@ -495,18 +531,24 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.37"
|
||||
version = "1.0.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.10.0"
|
||||
name = "r-efi"
|
||||
version = "5.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
|
||||
dependencies = [
|
||||
"either",
|
||||
"rayon-core",
|
||||
@@ -514,9 +556,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.12.1"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
|
||||
checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
|
||||
dependencies = [
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
@@ -524,11 +566,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.5.7"
|
||||
version = "0.5.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
|
||||
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bitflags 2.11.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -538,10 +580,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84348444bd7ad45729d0c49a4240d7cdc11c9d512c06c5ad1835c1ad4acda6db"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.18"
|
||||
name = "rustversion"
|
||||
version = "1.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
|
||||
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
||||
|
||||
[[package]]
|
||||
name = "scoped_threadpool"
|
||||
@@ -557,41 +599,58 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.215"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
|
||||
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
||||
dependencies = [
|
||||
"serde_core",
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_core"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.215"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
|
||||
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.90",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.133"
|
||||
version = "1.0.150"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
|
||||
checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
"serde_core",
|
||||
"zmij",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.13.2"
|
||||
name = "slab"
|
||||
version = "0.4.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
@@ -612,9 +671,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.90"
|
||||
version = "2.0.117"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
|
||||
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -649,9 +708,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.14"
|
||||
version = "1.0.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
|
||||
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
@@ -673,37 +732,24 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
|
||||
[[package]]
|
||||
name = "visioncortex"
|
||||
version = "0.6.1"
|
||||
version = "0.8.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33121c7da0e55b7fc27f552a9168506d5ff049e0248e9395d88c51d6d7e9aca3"
|
||||
checksum = "7c9a7e6cc136c7c79b4adbd311c46c323a19db7baf446822b5f90f84375934e3"
|
||||
dependencies = [
|
||||
"bit-vec",
|
||||
"flo_curves",
|
||||
"log",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "visioncortex"
|
||||
version = "0.8.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4dbe154fc281d74b2322adc18de7f9bbb9c4318d58ef6c201007f3fd99df9fff"
|
||||
dependencies = [
|
||||
"bit-vec",
|
||||
"flo_curves",
|
||||
"log",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "vtracer"
|
||||
version = "0.6.4"
|
||||
version = "0.6.12"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"fastrand",
|
||||
"image",
|
||||
"pyo3",
|
||||
"visioncortex 0.8.8",
|
||||
"visioncortex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -715,43 +761,40 @@ dependencies = [
|
||||
"console_log",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"visioncortex 0.6.1",
|
||||
"visioncortex",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.99"
|
||||
name = "wasip2"
|
||||
version = "1.0.3+wasi-0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396"
|
||||
checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"once_cell",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"wasm-bindgen-macro",
|
||||
"wit-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.99"
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.121"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79"
|
||||
checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.90",
|
||||
"cfg-if 1.0.4",
|
||||
"once_cell",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"wasm-bindgen-macro",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.99"
|
||||
version = "0.2.121"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe"
|
||||
checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
@@ -759,28 +802,31 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.99"
|
||||
version = "0.2.121"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2"
|
||||
checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.90",
|
||||
"wasm-bindgen-backend",
|
||||
"syn 2.0.117",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.99"
|
||||
version = "0.2.121"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6"
|
||||
checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.76"
|
||||
version = "0.3.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc"
|
||||
checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
@@ -788,9 +834,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "weezl"
|
||||
version = "0.1.8"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
|
||||
checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
@@ -815,65 +861,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
name = "windows-link"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
name = "wit-bindgen"
|
||||
version = "0.57.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
name = "zmij"
|
||||
version = "1.0.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "vtracer";
|
||||
version = "0.6.5";
|
||||
version = "0.6.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "visioncortex";
|
||||
repo = "vtracer";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-gU2LxUbgy2KgMCu7nyjfGkmBwnA9mjX4mUT9M9k1a4I=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-A575QnbituecxIX0mm7bOMC+V8jeWB4j3A2iWgDKBts=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
||||
@@ -6,20 +6,20 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "wasm-tools";
|
||||
version = "1.249.0";
|
||||
version = "1.250.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bytecodealliance";
|
||||
repo = "wasm-tools";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8YIFzaJ10ll4ESVsQWf3hRPBNpgBGFvEdDbwbJ7PsI4=";
|
||||
hash = "sha256-YzALjnjsEHGufpTPV7XHVvNL3xU727eJoE6db9KjStc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
|
||||
auditable = false;
|
||||
|
||||
cargoHash = "sha256-CuSLE6AwslD0SWQALAY3TTuDCKAbl6w6l5x6CwXaqcM=";
|
||||
cargoHash = "sha256-rHoLTljDw4mzZBrpSO600TN/DVr3JKPvYVdT1vC7ynw=";
|
||||
cargoBuildFlags = [
|
||||
"--package"
|
||||
"wasm-tools"
|
||||
|
||||
@@ -26,12 +26,26 @@
|
||||
installShellFiles,
|
||||
runCommand,
|
||||
yadm,
|
||||
}:
|
||||
|
||||
# Templates:
|
||||
withAwk ? true,
|
||||
withEsh ? true,
|
||||
withJ2 ? true,
|
||||
|
||||
# Encryption:
|
||||
withGpg ? true,
|
||||
withOpenssl ? true,
|
||||
}:
|
||||
let
|
||||
withTar = withGpg || withOpenssl;
|
||||
in
|
||||
resholve.mkDerivation (finalAttrs: {
|
||||
pname = "yadm";
|
||||
version = "3.5.0";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -62,32 +76,32 @@ resholve.mkDerivation (finalAttrs: {
|
||||
scripts = [ "bin/yadm" ];
|
||||
interpreter = "${bash}/bin/sh";
|
||||
inputs = [
|
||||
bash
|
||||
coreutils
|
||||
git
|
||||
gnupg
|
||||
openssl
|
||||
gawk
|
||||
# see head comment
|
||||
# git-crypt
|
||||
# transcrypt
|
||||
j2cli
|
||||
esh
|
||||
bash
|
||||
coreutils
|
||||
gnutar
|
||||
];
|
||||
]
|
||||
++ lib.optional withGpg gnupg
|
||||
++ lib.optional withOpenssl openssl
|
||||
++ lib.optional withAwk gawk
|
||||
++ lib.optional withJ2 j2cli
|
||||
++ lib.optional withEsh esh
|
||||
++ lib.optional withTar gnutar;
|
||||
fake = {
|
||||
external = if stdenv.hostPlatform.isCygwin then [ ] else [ "cygpath" ];
|
||||
external = lib.optional (!stdenv.hostPlatform.isCygwin) "cygpath" ++ lib.optional (!withTar) "tar";
|
||||
};
|
||||
fix = {
|
||||
"$GPG_PROGRAM" = [ "gpg" ];
|
||||
"$OPENSSL_PROGRAM" = [ "openssl" ];
|
||||
"$GIT_PROGRAM" = [ "git" ];
|
||||
"$AWK_PROGRAM" = [ "awk" ];
|
||||
"$GPG_PROGRAM" = lib.optional withGpg "gpg";
|
||||
"$OPENSSL_PROGRAM" = lib.optional withOpenssl "openssl";
|
||||
"$AWK_PROGRAM" = lib.optional withAwk "awk";
|
||||
# see head comment
|
||||
# "$GIT_CRYPT_PROGRAM" = [ "git-crypt" ];
|
||||
# "$TRANSCRYPT_PROGRAM" = [ "transcrypt" ];
|
||||
"$J2CLI_PROGRAM" = [ "j2" ];
|
||||
"$ESH_PROGRAM" = [ "esh" ];
|
||||
"$J2CLI_PROGRAM" = lib.optional withJ2 "j2";
|
||||
"$ESH_PROGRAM" = lib.optional withEsh "esh";
|
||||
# not in nixpkgs (yet)
|
||||
# "$ENVTPL_PROGRAM" = [ "envtpl" ];
|
||||
# "$LSB_RELEASE_PROGRAM" = [ "lsb_release" ];
|
||||
@@ -100,6 +114,12 @@ resholve.mkDerivation (finalAttrs: {
|
||||
"$hook_command" = true; # ~git hooks?
|
||||
"exec" = [ "$YADM_BOOTSTRAP" ]; # yadm bootstrap script
|
||||
|
||||
"$GPG_PROGRAM" = !withGpg;
|
||||
"$OPENSSL_PROGRAM" = !withOpenssl;
|
||||
"$AWK_PROGRAM" = !withAwk;
|
||||
"$J2CLI_PROGRAM" = !withJ2;
|
||||
"$ESH_PROGRAM" = !withEsh;
|
||||
|
||||
# not in nixpkgs
|
||||
"$ENVTPL_PROGRAM" = true;
|
||||
"$LSB_RELEASE_PROGRAM" = true;
|
||||
@@ -135,7 +155,10 @@ resholve.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
changelog = "https://github.com/yadm-dev/yadm/blob/${finalAttrs.version}/CHANGES";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ abathur ];
|
||||
maintainers = with lib.maintainers; [
|
||||
abathur
|
||||
sandarukasa
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "yadm";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
yadm,
|
||||
}:
|
||||
yadm.override {
|
||||
withAwk = false;
|
||||
withEsh = false;
|
||||
withJ2 = false;
|
||||
withGpg = false;
|
||||
withOpenssl = false;
|
||||
}
|
||||
@@ -54,25 +54,25 @@ let
|
||||
# Zoom versions are released at different times per platform and often with different versions.
|
||||
# We write them on three lines like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "7.0.0.77593";
|
||||
versions.x86_64-darwin = "7.0.0.77593";
|
||||
versions.aarch64-darwin = "7.0.5.81138";
|
||||
versions.x86_64-darwin = "7.0.5.81138";
|
||||
|
||||
# This is the fallback version so that evaluation can produce a meaningful result.
|
||||
versions.x86_64-linux = "7.0.0.1666";
|
||||
versions.x86_64-linux = "7.0.5.3034";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-YSUaM8YAJHigm4M9W34/bD164M8f/hbhtcmHyUwFN20=";
|
||||
hash = "sha256-uFnwBVZn5iUTIHNYG2WqiULA8siGWJaqY0BcRCoU6gg=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-jIKBCrnvF101WJm8Tcpi2R5jRsqRXH7NQVGkSTnAeMA=";
|
||||
hash = "sha256-ZeTgrqkpYumSGlbv/O8/GKALns4bNaFJR3CgV4Mswb4=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-aPQ44znQfxcjGnUpON5RRj3+SG+IDaBa/s0khwj/AIo=";
|
||||
hash = "sha256-eHJIkY1qRC7z3+k6AMog2wlby8Wgupy48A5O7UKRiVU=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -54,8 +54,6 @@ buildPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
# thus probably intend to substitute it.
|
||||
allowSubstitutes = true;
|
||||
|
||||
inherit docPackages;
|
||||
|
||||
passAsFile = [ "buildCommand" ];
|
||||
|
||||
buildCommand = ''
|
||||
@@ -128,6 +126,8 @@ buildPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
passthru = {
|
||||
isHaskellLibrary = false; # for the filter in ./with-packages-wrapper.nix
|
||||
|
||||
inherit docPackages;
|
||||
|
||||
# The path to the Hoogle database.
|
||||
database = "${finalAttrs.finalPackage}/${databasePath}";
|
||||
|
||||
|
||||
@@ -1008,15 +1008,15 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "fzf-lua";
|
||||
version = "0.0.2648-1";
|
||||
version = "0.0.2654-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/fzf-lua-0.0.2648-1.rockspec";
|
||||
sha256 = "0lkn7j9mfpv5vagp7xilki05k0ymrg22j95s2g8plg1fhvcykxxw";
|
||||
url = "mirror://luarocks/fzf-lua-0.0.2654-1.rockspec";
|
||||
sha256 = "19msswvglynba5xy0f14xlcidjln6mphnrnydx9x7k03770qmbj9";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ibhagwan/fzf-lua/archive/23f71140754b9162551dc8ccc1d6346e4275ecc2.zip";
|
||||
sha256 = "0qw2chgv0zlwr524xi4ghxmfpn9nhxsbq7gga8i78sclsg7r8fhy";
|
||||
url = "https://github.com/ibhagwan/fzf-lua/archive/fea9eedc6894c44d44cbb772a5cd11c93b82d7a1.zip";
|
||||
sha256 = "09ayadlmdkljhcm5ncby8w6w8b1kfyhmw0bf3zhl6r8cfansixc2";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1105,15 +1105,15 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "grug-far.nvim";
|
||||
version = "1.6.69-1";
|
||||
version = "1.6.70-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/grug-far.nvim-1.6.69-1.rockspec";
|
||||
sha256 = "1fnk6s5kzq03ny3h18ap7454i2sv9c0ipbwl2zxhx1wkrpnbrnhy";
|
||||
url = "mirror://luarocks/grug-far.nvim-1.6.70-1.rockspec";
|
||||
sha256 = "06cb19vg9rj48idc22ncjabb1phhrbiklr42mazf5y91dd9w8b19";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/MagicDuck/grug-far.nvim/archive/a5875fde04e2940a5060f8df9c453bcfcfe0a5c0.zip";
|
||||
sha256 = "0cygcm9giqxr701vn1dgq8bn3nvjnwl5f9shgxppdf5w9fw0l4bk";
|
||||
url = "https://github.com/MagicDuck/grug-far.nvim/archive/5506c2f59dc9ab2ed6c233585412b24d31d51521.zip";
|
||||
sha256 = "1n62s1z0r78snlravyh0k4kp5i7gsyi5p78fpgilgqaqs6s8my48";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1707,17 +1707,17 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "lrexlib-gnu";
|
||||
version = "2.9.2-1";
|
||||
version = "2.9.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/lrexlib-gnu-2.9.2-1.rockspec";
|
||||
sha256 = "14dp5lzpz2prvimpcbqjygbyh9h791h0ywjknj9wgrjjd62qsy6i";
|
||||
url = "mirror://luarocks/lrexlib-gnu-2.9.3-1.rockspec";
|
||||
sha256 = "1wn69qi1qfd3d13zrgw6xq7dwqks6kwj7s398kbgacq79ibv6js3";
|
||||
}).outPath;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rrthomas";
|
||||
repo = "lrexlib";
|
||||
tag = "rel-2-9-2";
|
||||
hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
|
||||
tag = "rel-2-9-3";
|
||||
hash = "sha256-7lybrMvNk2YhXish01PQlMpRVW+qlFj03RO33zmgGp4=";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1743,17 +1743,17 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "lrexlib-oniguruma";
|
||||
version = "2.9.2-1";
|
||||
version = "2.9.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/lrexlib-oniguruma-2.9.2-1.rockspec";
|
||||
sha256 = "13m2v6mmmlkf2bd1mnngg118s4ymrqs7n34la6hrb4m1x772adhd";
|
||||
url = "mirror://luarocks/lrexlib-oniguruma-2.9.3-1.rockspec";
|
||||
sha256 = "0zgpfnb7l018kh16xn836gwydhy0hpqzjchlbk0jhnjlzcvynidm";
|
||||
}).outPath;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rrthomas";
|
||||
repo = "lrexlib";
|
||||
tag = "rel-2-9-2";
|
||||
hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
|
||||
tag = "rel-2-9-3";
|
||||
hash = "sha256-7lybrMvNk2YhXish01PQlMpRVW+qlFj03RO33zmgGp4=";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1780,17 +1780,17 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "lrexlib-pcre";
|
||||
version = "2.9.2-1";
|
||||
version = "2.9.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/lrexlib-pcre-2.9.2-1.rockspec";
|
||||
sha256 = "1214ssm6apgprryqvijjjn82ikb27ylq94yijqf7qjyiy6pz7dc1";
|
||||
url = "mirror://luarocks/lrexlib-pcre-2.9.3-1.rockspec";
|
||||
sha256 = "1pwwzc12a6dl5i4i8gl5i0r8aabqfpmdfrlj0fkvj5v56v9bkw09";
|
||||
}).outPath;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rrthomas";
|
||||
repo = "lrexlib";
|
||||
tag = "rel-2-9-2";
|
||||
hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
|
||||
tag = "rel-2-9-3";
|
||||
hash = "sha256-7lybrMvNk2YhXish01PQlMpRVW+qlFj03RO33zmgGp4=";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1816,17 +1816,17 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "lrexlib-pcre2";
|
||||
version = "2.9.2-1";
|
||||
version = "2.9.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/lrexlib-pcre2-2.9.2-1.rockspec";
|
||||
sha256 = "181878m8gq9wl7c4h9rsq1iig70n9rmyfbj86swz1v4vi7s7ks9p";
|
||||
url = "mirror://luarocks/lrexlib-pcre2-2.9.3-1.rockspec";
|
||||
sha256 = "17y1zhjb5h1bdd4rdaycrnp3xwzm06y1179ga0wpcwvg0ybwmvfn";
|
||||
}).outPath;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rrthomas";
|
||||
repo = "lrexlib";
|
||||
rev = "rel-2-9-2";
|
||||
hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
|
||||
tag = "rel-2-9-3";
|
||||
hash = "sha256-7lybrMvNk2YhXish01PQlMpRVW+qlFj03RO33zmgGp4=";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -1853,17 +1853,17 @@ final: prev: {
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "lrexlib-posix";
|
||||
version = "2.9.2-1";
|
||||
version = "2.9.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/lrexlib-posix-2.9.2-1.rockspec";
|
||||
sha256 = "1i11cdvz09a3wjhfjgc88g0mdmdrk13fnhhgskzgm5cmhsdx4s0i";
|
||||
url = "mirror://luarocks/lrexlib-posix-2.9.3-1.rockspec";
|
||||
sha256 = "0s8w35x3jvhjn4znram93dj4kck95sv4zrlqcs6mqa4q70d5rl27";
|
||||
}).outPath;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rrthomas";
|
||||
repo = "lrexlib";
|
||||
tag = "rel-2-9-2";
|
||||
hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
|
||||
tag = "rel-2-9-3";
|
||||
hash = "sha256-7lybrMvNk2YhXish01PQlMpRVW+qlFj03RO33zmgGp4=";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
@@ -5046,23 +5046,21 @@ final: prev: {
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
luaOlder,
|
||||
nvim-web-devicons,
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "oil.nvim";
|
||||
version = "2.15.0-1";
|
||||
version = "2.16.0-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/oil.nvim-2.15.0-1.rockspec";
|
||||
sha256 = "0xkych23rn6jpj4hbam1j7ca1gwb9z3lzfm7id3dvcqj8aysv77j";
|
||||
url = "mirror://luarocks/oil.nvim-2.16.0-1.rockspec";
|
||||
sha256 = "0gsdvzysvvb72z2bd5vcxpssgnb0q91y2z5nrzzafq7670xz49dp";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/stevearc/oil.nvim/archive/v2.15.0.zip";
|
||||
sha256 = "0rrv7wg0nwfj5fd6byxs4np1p18xxdzyv11ba6vqqh3s6z0qwawc";
|
||||
url = "https://github.com/stevearc/oil.nvim/archive/v2.16.0.zip";
|
||||
sha256 = "0pipdvaxrkdyfbp66sgrc3ppy260m95am9zhi3m8n7lm1ivp6fzb";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
propagatedBuildInputs = [ nvim-web-devicons ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/stevearc/oil.nvim";
|
||||
@@ -6066,40 +6064,6 @@ final: prev: {
|
||||
}
|
||||
) { };
|
||||
|
||||
tomlua = callPackage (
|
||||
{
|
||||
buildLuarocksPackage,
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
luaOlder,
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "tomlua";
|
||||
version = "1.1.5-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/tomlua-1.1.5-1.rockspec";
|
||||
sha256 = "0xqxlw1pzvy63kw8d98nfh0k9269s4dg90md72m8kfcrj7isrb6m";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/BirdeeHub/tomlua/archive/v1.1.5.zip";
|
||||
sha256 = "136jxj26dk3jl17dm86ifvfmpfbj0mf6yp2yy6i8g4xxfqs27n9q";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/BirdeeHub/tomlua";
|
||||
maintainers = [ lib.maintainers.birdee ];
|
||||
license = lib.licenses.mit;
|
||||
description = "Speedy toml parsing for lua, implemented in C";
|
||||
longDescription = ''
|
||||
Speedy toml parsing for lua, implemented in C
|
||||
for use in hot-path or startup-time parsing of toml files.'';
|
||||
};
|
||||
}
|
||||
) { };
|
||||
|
||||
toml-edit = callPackage (
|
||||
{
|
||||
buildLuarocksPackage,
|
||||
@@ -6136,6 +6100,40 @@ final: prev: {
|
||||
}
|
||||
) { };
|
||||
|
||||
tomlua = callPackage (
|
||||
{
|
||||
buildLuarocksPackage,
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
luaOlder,
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "tomlua";
|
||||
version = "1.2.3-1";
|
||||
knownRockspec =
|
||||
(fetchurl {
|
||||
url = "mirror://luarocks/tomlua-1.2.3-1.rockspec";
|
||||
sha256 = "0aqagzxnz58nzwx7h3igycvcraxs1h7hyl47d7sbb01kcclp5jr6";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/BirdeeHub/tomlua/archive/v1.2.3.zip";
|
||||
sha256 = "04mg0m3qkr89la733rpzd8xrjq8ysrmjm7v8fid1r80cp1kbg9vf";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/BirdeeHub/tomlua";
|
||||
maintainers = with lib.maintainers; [ birdee ];
|
||||
license = lib.licenses.mit;
|
||||
description = "Speedy toml parsing for lua, implemented in C";
|
||||
longDescription = ''
|
||||
Speedy toml parsing for lua, implemented in C
|
||||
for use in hot-path or startup-time parsing of toml files.'';
|
||||
};
|
||||
}
|
||||
) { };
|
||||
|
||||
tree-sitter-cli = callPackage (
|
||||
{
|
||||
buildLuarocksPackage,
|
||||
|
||||
@@ -30,6 +30,6 @@ buildLuarocksPackage rec {
|
||||
homepage = "https://github.com/3rd/image.nvim";
|
||||
description = "🖼️ Bringing images to Neovim.";
|
||||
maintainers = with lib.maintainers; [ SuperSandro2000 ];
|
||||
license.fullName = "MIT";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
buildLuarocksPackage,
|
||||
fetchurl,
|
||||
lib,
|
||||
luaAtLeast,
|
||||
luaOlder,
|
||||
luaposix,
|
||||
@@ -39,7 +40,7 @@ buildLuarocksPackage {
|
||||
meta = {
|
||||
homepage = "https://pjb.com.au/comp/lua/readline.html";
|
||||
description = "Interface to the readline library";
|
||||
license.fullName = "MIT/X11";
|
||||
license = lib.licenses.mit;
|
||||
broken = (luaOlder "5.1") || (luaAtLeast "5.5");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -287,8 +287,7 @@ rec {
|
||||
|
||||
postFixup = unresholved.postResholve;
|
||||
|
||||
# don't break the metadata...
|
||||
meta = unresholved.meta;
|
||||
inherit (unresholved) meta strictDeps __structuredAttrs;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
aiofiles,
|
||||
async-timeout,
|
||||
buildPythonPackage,
|
||||
setuptools,
|
||||
cryptography,
|
||||
fetchFromGitHub,
|
||||
isPy3k,
|
||||
@@ -15,21 +16,23 @@
|
||||
rsa,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "adb-shell";
|
||||
version = "0.4.4";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JeffLIrion";
|
||||
repo = "adb_shell";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-pOkFUh3SEu/ch9R1lVoQn50nufQp8oI+D4/+Ybal5CA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
cryptography
|
||||
pyasn1
|
||||
rsa
|
||||
@@ -50,7 +53,7 @@ buildPythonPackage rec {
|
||||
pycryptodome
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.concatAttrValues optional-dependencies;
|
||||
++ lib.concatAttrValues finalAttrs.optional-dependencies;
|
||||
|
||||
pythonImportsCheck = [ "adb_shell" ];
|
||||
|
||||
@@ -60,4 +63,4 @@ buildPythonPackage rec {
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ jamiemagee ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-recoveryservices";
|
||||
version = "4.0.0";
|
||||
version = "4.0.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "azure_mgmt_recoveryservices";
|
||||
inherit version;
|
||||
hash = "sha256-oUKc/Sg6nJlQrBU0gvqcl0Fkb9INqKqcPIHnJceMXJ8=";
|
||||
hash = "sha256-/9/yZ9sqYC6wMMCC9Tpd8YXIbqU8RG6meaEzYAJ4YGs=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cached-ipaddress";
|
||||
version = "1.0.1";
|
||||
version = "1.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bdraco";
|
||||
repo = "cached-ipaddress";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/bq9RZcC6VDK5JxT1QcAJpWNmioNqOearYc34KsCvHs=";
|
||||
hash = "sha256-VIIcScaZwd5BAidgG30edYsAQaFnqxEQX+F/t+HR278=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user