Merge staging-next into staging
This commit is contained in:
@@ -165,6 +165,10 @@
|
||||
|
||||
- The `programs.captive-browser` module no longer falls back on a setcap wrapper around udhcpc to discover your network's DNS server due to [GHSA-wc3r-c66x-8xmc](https://github.com/NixOS/nixpkgs/security/advisories/GHSA-wc3r-c66x-8xmc) (CVE-2026-25740). If you're using this module, you must either configure `programs.captive-browser.dhcp-dns` manually or enable one of NetworkManager, dhcpcd, or systemd-networkd.
|
||||
|
||||
- NetBox was updated to `>= 4.5.5`. Have a look at the breaking changes
|
||||
of the [4.5 release](https://github.com/netbox-community/netbox/releases/tag/v4.5.0),
|
||||
make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_5;` in your configuration.
|
||||
|
||||
- The `services.yggdrasil` module has been refactored with the following breaking changes:
|
||||
- The `services.yggdrasil.configFile` option has been removed. Configuration should now be specified directly via `services.yggdrasil.settings`.
|
||||
- The `services.yggdrasil.persistentKeys` option has been removed. To maintain persistent keys and IPv6 addresses across reboots, use `services.yggdrasil.settings.PrivateKeyPath` to securely load your private key from a file via systemd credentials. The private key must be in PEM format (PKCS #8).
|
||||
@@ -219,6 +223,8 @@
|
||||
|
||||
- `services.taskchampion-sync-server` module have been added an option `services.taskchampion-sync-server.dynamicUser` to use systemd's DynamicUser feature. This is enabled by default when stateVersion is at least 26.05, and disabled otherwise. If you need this feature, you need to set `services.taskchampion-sync-server.dynamicUser` to `true` and migrate `/var/lib/taskchampion-sync-server` to `/var/lib/private/taskchampion-sync-server`.
|
||||
|
||||
- The default packages in `services.jenkins.packages` have been dropped, since not every Jenkins installation needs any package at all. It's more reasonable to leave it empty and let users configure what they need.
|
||||
|
||||
## Other Notable Changes {#sec-nixpkgs-release-26.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -24,7 +24,6 @@ profiles/clone-config.section.md
|
||||
profiles/demo.section.md
|
||||
profiles/docker-container.section.md
|
||||
profiles/graphical.section.md
|
||||
profiles/hardened.section.md
|
||||
profiles/headless.section.md
|
||||
profiles/installation-device.section.md
|
||||
profiles/perlless.section.md
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
# Hardened {#sec-profile-hardened}
|
||||
|
||||
A profile with most (vanilla) hardening options enabled by default,
|
||||
potentially at the cost of stability, features and performance.
|
||||
|
||||
This includes a hardened kernel, and limiting the system information
|
||||
available to processes through the `/sys` and
|
||||
`/proc` filesystems. It also disables the User Namespaces
|
||||
feature of the kernel, which stops Nix from being able to build anything
|
||||
(this particular setting can be overridden via
|
||||
[](#opt-security.allowUserNamespaces)). See the
|
||||
[profile source](https://github.com/nixos/nixpkgs/tree/master/nixos/modules/profiles/hardened.nix)
|
||||
for further detail on which settings are altered.
|
||||
|
||||
::: {.warning}
|
||||
This profile enables options that are known to affect system
|
||||
stability. If you experience any stability issues when using the
|
||||
profile, try disabling it. If you report an issue and use this
|
||||
profile, always mention that you do.
|
||||
:::
|
||||
@@ -1728,7 +1728,8 @@
|
||||
"sec-profile-graphical": [
|
||||
"index.html#sec-profile-graphical"
|
||||
],
|
||||
"sec-profile-hardened": [
|
||||
"sec-release-26.05-incompatibilities-profiles-hardened-removed": [
|
||||
"release-notes.html#sec-release-26.05-incompatibilities-profiles-hardened-removed",
|
||||
"index.html#sec-profile-hardened"
|
||||
],
|
||||
"sec-profile-headless": [
|
||||
|
||||
@@ -88,6 +88,12 @@
|
||||
|
||||
- `opentrack`, `slushload`, `synthesia`, `vtfedit`, `winbox`, `wineasio`, and `yabridge` use wineWow64Packages instead of wineWowPackages as wine versions >= 11.0 have deprecated wineWowPackages. As such, the prefixes for these packages are NOT backwards compatible and need to be regenerated with potential for data loss.
|
||||
|
||||
- []{#sec-release-26.05-incompatibilities-profiles-hardened-removed} `profiles/hardened` has been removed, because:
|
||||
- It lacks a consistent and transparent baseline or standard,
|
||||
- It may introduce unexpected breakage or degrade performance without clear benefit,
|
||||
- It is difficult to manage user expectations, especially since the implications of enabling it are not always obvious,
|
||||
- and as multiple contributors have noted, it is often more of a “grab bag” of settings than a cohesive security policy.
|
||||
|
||||
- `services.crabfit` was removed because its upstream packages are unmaintained and insecure.
|
||||
|
||||
- `sing-box` has been updated to 1.13.0, which has removed some deprecated options. See [upstream documentation](https://sing-box.sagernet.org/configuration/) for details and migration options.
|
||||
|
||||
@@ -1,136 +1,11 @@
|
||||
# A profile with most (vanilla) hardening options enabled by default,
|
||||
# potentially at the cost of stability, features and performance.
|
||||
#
|
||||
# This profile enables options that are known to affect system
|
||||
# stability. If you experience any stability issues when using the
|
||||
# profile, try disabling it. If you report an issue and use this
|
||||
# profile, always mention that you do.
|
||||
# This profile included most standard hardening options enabled by default,
|
||||
# which may have impacted system stability, feature availability, and performance.
|
||||
|
||||
{ lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkDefault
|
||||
mkOverride
|
||||
mkEnableOption
|
||||
mkIf
|
||||
maintainers
|
||||
;
|
||||
in
|
||||
{
|
||||
options.profiles.hardened = mkEnableOption "hardened" // {
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
config = mkIf config.profiles.hardened {
|
||||
meta = {
|
||||
maintainers = [
|
||||
maintainers.emily
|
||||
];
|
||||
};
|
||||
|
||||
boot.kernelPackages = mkDefault pkgs.linuxKernel.packages.linux_hardened;
|
||||
|
||||
nix.settings.allowed-users = mkDefault [ "@users" ];
|
||||
|
||||
environment.memoryAllocator.provider = mkDefault "scudo";
|
||||
environment.variables.SCUDO_OPTIONS = mkDefault "zero_contents=true";
|
||||
|
||||
security.lockKernelModules = mkDefault true;
|
||||
|
||||
security.protectKernelImage = mkDefault true;
|
||||
|
||||
security.allowSimultaneousMultithreading = mkDefault false;
|
||||
|
||||
security.forcePageTableIsolation = mkDefault true;
|
||||
|
||||
# This is required by podman to run containers in rootless mode.
|
||||
security.unprivilegedUsernsClone = mkDefault config.virtualisation.containers.enable;
|
||||
|
||||
security.virtualisation.flushL1DataCache = mkDefault "always";
|
||||
|
||||
security.apparmor.enable = mkDefault true;
|
||||
security.apparmor.killUnconfinedConfinables = mkDefault true;
|
||||
|
||||
boot.kernelParams = [
|
||||
# Don't merge slabs
|
||||
"slab_nomerge"
|
||||
|
||||
# Overwrite free'd pages
|
||||
"page_poison=1"
|
||||
|
||||
# Enable page allocator randomization
|
||||
"page_alloc.shuffle=1"
|
||||
|
||||
# Disable debugfs
|
||||
"debugfs=off"
|
||||
];
|
||||
|
||||
boot.blacklistedKernelModules = [
|
||||
# Obscure network protocols
|
||||
"ax25"
|
||||
"netrom"
|
||||
"rose"
|
||||
|
||||
# Old or rare or insufficiently audited filesystems
|
||||
"adfs"
|
||||
"affs"
|
||||
"bfs"
|
||||
"befs"
|
||||
"cramfs"
|
||||
"efs"
|
||||
"erofs"
|
||||
"exofs"
|
||||
"freevxfs"
|
||||
"f2fs"
|
||||
"hfs"
|
||||
"hpfs"
|
||||
"jfs"
|
||||
"minix"
|
||||
"nilfs2"
|
||||
"ntfs"
|
||||
"omfs"
|
||||
"qnx4"
|
||||
"qnx6"
|
||||
"sysv"
|
||||
"ufs"
|
||||
];
|
||||
|
||||
# Hide kptrs even for processes with CAP_SYSLOG
|
||||
boot.kernel.sysctl."kernel.kptr_restrict" = mkOverride 500 2;
|
||||
|
||||
# Disable bpf() JIT (to eliminate spray attacks)
|
||||
boot.kernel.sysctl."net.core.bpf_jit_enable" = mkDefault false;
|
||||
|
||||
# Disable ftrace debugging
|
||||
boot.kernel.sysctl."kernel.ftrace_enabled" = mkDefault false;
|
||||
|
||||
# Enable strict reverse path filtering (that is, do not attempt to route
|
||||
# packets that "obviously" do not belong to the iface's network; dropped
|
||||
# packets are logged as martians).
|
||||
boot.kernel.sysctl."net.ipv4.conf.all.log_martians" = mkDefault true;
|
||||
boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = mkDefault "1";
|
||||
boot.kernel.sysctl."net.ipv4.conf.default.log_martians" = mkDefault true;
|
||||
boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = mkDefault "1";
|
||||
|
||||
# Ignore broadcast ICMP (mitigate SMURF)
|
||||
boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = mkDefault true;
|
||||
|
||||
# Ignore incoming ICMP redirects (note: default is needed to ensure that the
|
||||
# setting is applied to interfaces added after the sysctls are set)
|
||||
boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = mkDefault false;
|
||||
|
||||
# Ignore outgoing ICMP redirects (this is ipv4 only)
|
||||
boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = mkDefault false;
|
||||
boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = mkDefault false;
|
||||
};
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "profiles" "hardened" ] ''
|
||||
The hardened profile has been removed, see the backward incompatibilities section of the 26.05 release notes for more information.
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
||||
@@ -86,14 +86,16 @@ in
|
||||
javaPackage = lib.mkPackageOption pkgs "jdk25" { };
|
||||
|
||||
packages = lib.mkOption {
|
||||
default = [
|
||||
pkgs.stdenv
|
||||
pkgs.git
|
||||
pkgs.jdk25
|
||||
config.programs.ssh.package
|
||||
pkgs.nix
|
||||
];
|
||||
defaultText = lib.literalExpression "[ pkgs.stdenv pkgs.git pkgs.jdk17 config.programs.ssh.package pkgs.nix ]";
|
||||
default = [ ];
|
||||
example = lib.literalExpression ''
|
||||
[
|
||||
pkgs.stdenv
|
||||
pkgs.git
|
||||
pkgs.jdk25
|
||||
config.programs.ssh.package
|
||||
pkgs.nix
|
||||
]
|
||||
'';
|
||||
type = lib.types.listOf lib.types.package;
|
||||
description = ''
|
||||
Packages to add to PATH for the jenkins process.
|
||||
|
||||
@@ -119,11 +119,11 @@ in
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default =
|
||||
if lib.versionAtLeast config.system.stateVersion "25.11" then pkgs.netbox_4_4 else pkgs.netbox_4_2;
|
||||
if lib.versionAtLeast config.system.stateVersion "26.05" then pkgs.netbox_4_5 else pkgs.netbox_4_4;
|
||||
defaultText = lib.literalExpression ''
|
||||
if lib.versionAtLeast config.system.stateVersion "25.11"
|
||||
then pkgs.netbox_4_4
|
||||
else pkgs.netbox_4_2;
|
||||
if lib.versionAtLeast config.system.stateVersion "26.05"
|
||||
then pkgs.netbox_4_5
|
||||
else pkgs.netbox_4_4;
|
||||
'';
|
||||
description = ''
|
||||
NetBox package to use.
|
||||
@@ -165,6 +165,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
apiTokenPeppersFile = lib.mkOption {
|
||||
type = with lib.types; nullOr path;
|
||||
description = ''
|
||||
Path to a file containing the API_TOKEN_PEPPER that will be configured for the pepper_id with the id 1.
|
||||
This is required for netbox >= 4.5. For generating this pepper,
|
||||
[consider using `$INSTALL_ROOT/netbox/generate_secret_key.py`](https://netboxlabs.com/docs/netbox/configuration/required-parameters/#api_token_peppers)
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
@@ -237,10 +246,12 @@ in
|
||||
|
||||
GIT_PATH = "${pkgs.gitMinimal}/bin/git";
|
||||
|
||||
DATABASE = {
|
||||
NAME = "netbox";
|
||||
USER = "netbox";
|
||||
HOST = "/run/postgresql";
|
||||
DATABASES = {
|
||||
"default" = {
|
||||
NAME = "netbox";
|
||||
USER = "netbox";
|
||||
HOST = "/run/postgresql";
|
||||
};
|
||||
};
|
||||
|
||||
# Redis database settings. Redis is used for caching and for queuing
|
||||
@@ -283,6 +294,12 @@ in
|
||||
with open("${cfg.secretKeyFile}", "r") as file:
|
||||
SECRET_KEY = file.readline()
|
||||
''
|
||||
+ (lib.optionalString (cfg.apiTokenPeppersFile != null) ''
|
||||
with open("${cfg.apiTokenPeppersFile}", "r") as pepper_file:
|
||||
API_TOKEN_PEPPERS = {
|
||||
1: pepper_file.readline(),
|
||||
};
|
||||
'')
|
||||
+ (lib.optionalString (cfg.keycloakClientSecret != null) ''
|
||||
with open("${cfg.keycloakClientSecret}", "r") as file:
|
||||
SOCIAL_AUTH_KEYCLOAK_SECRET = file.readline()
|
||||
@@ -446,5 +463,12 @@ in
|
||||
};
|
||||
users.groups.netbox = { };
|
||||
users.groups."${config.services.redis.servers.netbox.user}".members = [ "netbox" ];
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion = (lib.versionAtLeast cfg.package.version "4.5") -> (cfg.apiTokenPeppersFile != null);
|
||||
message = "NetBox 4.5 or newer require setting `services.netbox.apiTokenPeppersFile`";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -701,7 +701,6 @@ in
|
||||
package = pkgs.hadoop_3_3;
|
||||
};
|
||||
haproxy = runTest ./haproxy.nix;
|
||||
hardened = runTest ./hardened.nix;
|
||||
harmonia = runTest ./harmonia.nix;
|
||||
haste-server = runTest ./haste-server.nix;
|
||||
hbase2 = runTest {
|
||||
@@ -1054,9 +1053,8 @@ in
|
||||
neo4j = runTest ./neo4j.nix;
|
||||
netbird = runTest ./netbird.nix;
|
||||
netbox-upgrade = runTest ./web-apps/netbox-upgrade.nix;
|
||||
netbox_4_2 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_2; };
|
||||
netbox_4_3 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_3; };
|
||||
netbox_4_4 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_4; };
|
||||
netbox_4_5 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_5; };
|
||||
netdata = runTest ./netdata.nix;
|
||||
networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; };
|
||||
networking.networkmanager = handleTest ./networking/networkmanager.nix { };
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "hardened";
|
||||
meta = {
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
users.users.alice = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "proc" ];
|
||||
};
|
||||
users.users.sybil = {
|
||||
isNormalUser = true;
|
||||
group = "wheel";
|
||||
};
|
||||
imports = [ ../modules/profiles/hardened.nix ];
|
||||
environment.memoryAllocator.provider = "graphene-hardened";
|
||||
nix.settings.sandbox = false;
|
||||
virtualisation.emptyDiskImages = [
|
||||
{
|
||||
size = 4096;
|
||||
driveConfig.deviceExtraOpts.serial = "deferred";
|
||||
}
|
||||
];
|
||||
virtualisation.fileSystems = {
|
||||
"/deferred" = {
|
||||
device = "/dev/disk/by-id/virtio-deferred";
|
||||
fsType = "vfat";
|
||||
autoFormat = true;
|
||||
options = [ "noauto" ];
|
||||
};
|
||||
};
|
||||
boot.extraModulePackages = pkgs.lib.optional (pkgs.lib.versionOlder config.boot.kernelPackages.kernel.version "5.6") config.boot.kernelPackages.wireguard;
|
||||
boot.kernelModules = [ "wireguard" ];
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
hardened-malloc-tests = pkgs.graphene-hardened-malloc.ld-preload-tests;
|
||||
in
|
||||
''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
|
||||
with subtest("AppArmor profiles are loaded"):
|
||||
machine.succeed("systemctl status apparmor.service")
|
||||
|
||||
|
||||
# AppArmor securityfs
|
||||
with subtest("AppArmor securityfs is mounted"):
|
||||
machine.succeed("mountpoint -q /sys/kernel/security")
|
||||
machine.succeed("cat /sys/kernel/security/apparmor/profiles")
|
||||
|
||||
|
||||
# Test loading out-of-tree modules
|
||||
with subtest("Out-of-tree modules can be loaded"):
|
||||
machine.succeed("grep -Fq wireguard /proc/modules")
|
||||
|
||||
|
||||
# Test kernel module hardening
|
||||
with subtest("No more kernel modules can be loaded"):
|
||||
# note: this better a be module we normally wouldn't load ...
|
||||
machine.wait_for_unit("disable-kernel-module-loading.service")
|
||||
machine.fail("modprobe dccp")
|
||||
|
||||
|
||||
# Test userns
|
||||
with subtest("User namespaces are restricted"):
|
||||
machine.succeed("unshare --user true")
|
||||
machine.fail("su -l alice -c 'unshare --user true'")
|
||||
|
||||
|
||||
# Test dmesg restriction
|
||||
with subtest("Regular users cannot access dmesg"):
|
||||
machine.fail("su -l alice -c dmesg")
|
||||
|
||||
|
||||
# Test access to kcore
|
||||
with subtest("Kcore is inaccessible as root"):
|
||||
machine.fail("cat /proc/kcore")
|
||||
|
||||
|
||||
# Test deferred mount
|
||||
with subtest("Deferred mounts work"):
|
||||
machine.fail("mountpoint -q /deferred") # was deferred
|
||||
machine.systemctl("start deferred.mount")
|
||||
machine.succeed("mountpoint -q /deferred") # now mounted
|
||||
|
||||
|
||||
# Test Nix dæmon usage
|
||||
with subtest("nix-daemon cannot be used by all users"):
|
||||
machine.fail("su -l nobody -s /bin/sh -c 'nix --extra-experimental-features nix-command ping-store'")
|
||||
machine.succeed("su -l alice -c 'nix --extra-experimental-features nix-command ping-store'")
|
||||
|
||||
|
||||
# Test kernel image protection
|
||||
with subtest("The kernel image is protected"):
|
||||
machine.fail("systemctl hibernate")
|
||||
machine.fail("systemctl kexec")
|
||||
|
||||
|
||||
with subtest("The hardened memory allocator works"):
|
||||
machine.succeed("${hardened-malloc-tests}/bin/run-tests")
|
||||
'';
|
||||
}
|
||||
@@ -13,6 +13,7 @@ in
|
||||
|
||||
testing.makeTest {
|
||||
name = "initrd-secrets-changing";
|
||||
meta.broken = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
{
|
||||
name = "optee";
|
||||
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ jmbaur ];
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ jmbaur ];
|
||||
broken = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
|
||||
@@ -31,6 +31,7 @@ let
|
||||
name = "pulseaudio${lib.optionalString fullVersion "Full"}${lib.optionalString systemWide "-systemWide"}";
|
||||
meta = {
|
||||
maintainers = pkgs.pulseaudio.meta.maintainers;
|
||||
broken = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
|
||||
@@ -14,6 +14,7 @@ in
|
||||
name = "systemd-initrd-luks-unl0kr";
|
||||
meta = {
|
||||
maintainers = [ ];
|
||||
broken = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
};
|
||||
|
||||
# TODO: Fix OCR: #302965
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
oldNetbox = "netbox_4_3";
|
||||
newNetbox = "netbox_4_4";
|
||||
oldNetbox = "netbox_4_4";
|
||||
newNetbox = "netbox_4_5";
|
||||
|
||||
apiVersion =
|
||||
version:
|
||||
@@ -38,6 +38,9 @@ in
|
||||
secretKeyFile = pkgs.writeText "secret" ''
|
||||
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
|
||||
'';
|
||||
apiTokenPeppersFile = pkgs.writeText "pepper" ''
|
||||
kp7ht*76fiQAhUi5dHfASLlYUE_S^gI^(7J^K5M!LfoH@vl&b_
|
||||
'';
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
|
||||
@@ -37,6 +37,10 @@ import ../../make-test-python.nix (
|
||||
secretKeyFile = pkgs.writeText "secret" ''
|
||||
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
|
||||
'';
|
||||
# Value from https://netbox.readthedocs.io/en/feature/configuration/required-parameters/#api_token_peppers
|
||||
apiTokenPeppersFile = pkgs.writeText "pepper" ''
|
||||
kp7ht*76fiQAhUi5dHfASLlYUE_S^gI^(7J^K5M!LfoH@vl&b_
|
||||
'';
|
||||
|
||||
enableLdap = true;
|
||||
ldapConfigPath = pkgs.writeText "ldap_config.py" ''
|
||||
@@ -155,10 +159,32 @@ import ../../make-test-python.nix (
|
||||
u.set_password('netbox')
|
||||
u.save()
|
||||
'';
|
||||
createToken = pkgs.writeText "create-token-v2.py" ''
|
||||
from users.models import Token, User
|
||||
from users.choices import TokenVersionChoices
|
||||
u = User.objects.first()
|
||||
t = Token.objects.create(user=u, token="0123456789abcdef0123456789abcdef01234567", version=TokenVersionChoices.V2)
|
||||
print(t.get_auth_header_prefix())
|
||||
'';
|
||||
netboxVersion = netbox.version;
|
||||
in
|
||||
builtins.replaceStrings
|
||||
[ "\${changePassword}" "\${testUser}" "\${testPassword}" "\${testGroup}" ]
|
||||
[ "${changePassword}" "${testUser}" "${testPassword}" "${testGroup}" ]
|
||||
[
|
||||
"\${changePassword}"
|
||||
"\${testUser}"
|
||||
"\${testPassword}"
|
||||
"\${testGroup}"
|
||||
"\${createToken}"
|
||||
"\${netboxVersion}"
|
||||
]
|
||||
[
|
||||
"${changePassword}"
|
||||
"${testUser}"
|
||||
"${testPassword}"
|
||||
"${testGroup}"
|
||||
"${createToken}"
|
||||
"${netboxVersion}"
|
||||
]
|
||||
(lib.readFile "${./testScript.py}");
|
||||
}
|
||||
)
|
||||
|
||||
@@ -73,18 +73,7 @@ with subtest("Superuser can be created"):
|
||||
"netbox-manage createsuperuser --noinput --username netbox --email netbox@example.com"
|
||||
)
|
||||
# Django doesn't have a "clean" way of inputting the password from the command line
|
||||
machine.succeed("cat '${changePassword}' | netbox-manage shell")
|
||||
|
||||
machine.wait_for_unit("network.target")
|
||||
|
||||
with subtest("Home screen loads from nginx"):
|
||||
machine.succeed(
|
||||
"curl -sSfL http://localhost | grep '<title>Home | NetBox</title>'"
|
||||
)
|
||||
|
||||
with subtest("Staticfiles can be fetched"):
|
||||
machine.succeed("curl -sSfL http://localhost/static/netbox.js")
|
||||
machine.succeed("curl -sSfL http://localhost/static/docs/")
|
||||
machine.succeed("cat '${changePassword}' | netbox-manage shell --interface python")
|
||||
|
||||
def login(username: str, password: str):
|
||||
encoded_data = json.dumps({"username": username, "password": password})
|
||||
@@ -101,8 +90,29 @@ def login(username: str, password: str):
|
||||
)
|
||||
return result["key"]
|
||||
|
||||
with subtest("Can login"):
|
||||
auth_token = login("netbox", "netbox")
|
||||
|
||||
netbox_version = "${netboxVersion}"
|
||||
if compare(netbox_version, '4.5.2') < 0:
|
||||
with subtest("Can login"):
|
||||
auth_token = login("netbox", "netbox")
|
||||
|
||||
else:
|
||||
with subtest("Superusertoken can be created"):
|
||||
full_token = "0123456789abcdef0123456789abcdef01234567"
|
||||
stdout = machine.succeed("cat ${createToken} | netbox-manage shell")
|
||||
token_prefix = stdout.split(r"Bearer ")[-1].lstrip().rstrip()
|
||||
auth_token = f"{token_prefix}{full_token}"
|
||||
|
||||
machine.wait_for_unit("network.target")
|
||||
|
||||
with subtest("Home screen loads from nginx"):
|
||||
machine.succeed(
|
||||
"curl -sSfL http://localhost | grep '<title>Home | NetBox</title>'"
|
||||
)
|
||||
|
||||
with subtest("Staticfiles can be fetched"):
|
||||
machine.succeed("curl -sSfL http://localhost/static/netbox.js")
|
||||
machine.succeed("curl -sSfL http://localhost/static/docs/")
|
||||
|
||||
def get(uri: str):
|
||||
return json.loads(
|
||||
@@ -144,8 +154,8 @@ def post(uri: str, data: Dict[str, Any]):
|
||||
def patch(uri: str, data: Dict[str, Any]):
|
||||
return data_request(uri, "PATCH", data)
|
||||
|
||||
# Retrieve netbox version
|
||||
netbox_version = get("/status/")["netbox-version"]
|
||||
with subtest("Can retrieve netbox version"):
|
||||
assert netbox_version == get("/status/")["netbox-version"]
|
||||
|
||||
with subtest("Can create objects"):
|
||||
result = post("/dcim/sites/", {"name": "Test site", "slug": "test-site"})
|
||||
@@ -263,12 +273,15 @@ if compare(netbox_version, '4.2.0') < 0:
|
||||
assert result["data"]["prefix_list"][0]["prefix"] == test_objects["prefixes"]["v4-with-updated-desc"]["prefix"]
|
||||
assert int(result["data"]["prefix_list"][0]["site"]["id"]) == int(test_objects["prefixes"]["v4-with-updated-desc"]["scope"]["id"])
|
||||
|
||||
with subtest("Can login with LDAP"):
|
||||
machine.wait_for_unit("openldap.service")
|
||||
login("alice", "${testPassword}")
|
||||
# With 4.5.2 and higher, obtaining a session cookie or token without supplying
|
||||
# proper CSRF tokens on the frontend /login/ endpoint is no longer possible
|
||||
if compare(netbox_version, '4.5.2') < 0:
|
||||
with subtest("Can login with LDAP"):
|
||||
machine.wait_for_unit("openldap.service")
|
||||
login("alice", "${testPassword}")
|
||||
|
||||
with subtest("Can associate LDAP groups"):
|
||||
result = get("/users/users/?username=${testUser}")
|
||||
with subtest("Can associate LDAP groups"):
|
||||
result = get("/users/users/?username=${testUser}")
|
||||
|
||||
assert result["count"] == 1
|
||||
assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"])
|
||||
assert result["count"] == 1
|
||||
assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"])
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
vimUtils,
|
||||
}:
|
||||
let
|
||||
version = "1001eb8-unstable-2026-03-13";
|
||||
version = "0.4.3-nightly.dd56a3a-unstable-2026-03-20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dmtrKovalenko";
|
||||
repo = "fff.nvim";
|
||||
rev = "fcdf4a9172fba824ca6834731b93b74eba51d1c3";
|
||||
hash = "sha256-AYxWrqru0/HCrfTXRqTExiOT6mNzNMk+pT6APRs0BUM=";
|
||||
rev = "dd56a3a8a8a5a85522badaf6485f28c8f7a7c840";
|
||||
hash = "sha256-F9fnjCwBEJfuK0TuRr7XjMcacMep5K0SuzGft2IFXtQ=";
|
||||
};
|
||||
fff-nvim-lib = rustPlatform.buildRustPackage {
|
||||
pname = "fff-nvim-lib";
|
||||
inherit version src;
|
||||
|
||||
cargoHash = "sha256-nXtJPE6HNZx5Ra4CwYi/f4EWww//1XwsiwtRG77RPJk=";
|
||||
cargoHash = "sha256-Xhn+EpVF7XQOgHQpmoHHrZ/swi2xgdEFYh8D6mYJMSc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -40,8 +40,6 @@ let
|
||||
];
|
||||
|
||||
env = {
|
||||
RUSTC_BOOTSTRAP = 1; # We need rust unstable features
|
||||
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
|
||||
# Allow undefined symbols on Darwin - they will be provided by Neovim's LuaJIT runtime
|
||||
|
||||
@@ -88,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
allowedVersions = "\\.[02468]$";
|
||||
};
|
||||
tests.hello = runCommand "box64-test-hello" { nativeBuildInputs = [ finalAttrs.finalPackage ]; } ''
|
||||
BOX64_LOG=1 box64 ${lib.getExe hello-x86_64} --version 2>&1 | tee $out
|
||||
'';
|
||||
|
||||
@@ -391,11 +391,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"f5networks_bigip": {
|
||||
"hash": "sha256-aUf9eRpfxzdpz6Lv36xWxSW++tSMxYvqy9xtkko/bfc=",
|
||||
"hash": "sha256-L/qV8Ff5UhRs6r+jadBUkofLcxggBq96gCpkk0Tv3k8=",
|
||||
"homepage": "https://registry.terraform.io/providers/F5Networks/bigip",
|
||||
"owner": "F5Networks",
|
||||
"repo": "terraform-provider-bigip",
|
||||
"rev": "v1.25.0",
|
||||
"rev": "v1.25.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -28,7 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
strictDeps = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-fsigned-char" ];
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-fsigned-char"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ ctags ];
|
||||
buildInputs = [ slang ];
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "awsbck";
|
||||
version = "1.0.2";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "beeb";
|
||||
repo = "awsbck";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-DU806u9MsZHB+7LmjMgrkaHG+Hi4BJ9OGKkIdDGOhz8=";
|
||||
hash = "sha256-DZ2k0fwEyfeP24maTuxG2vmQaZuQ4LJo0KaKFTUDSYM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-kgPpT79XSMGtnPkl4xrX3sddJQHcNSZlNmCcrxKqzuk=";
|
||||
cargoHash = "sha256-wydSzfb8GAJYJPNtSyYBUHtN3+9jsGINSex2F3ILQKI=";
|
||||
|
||||
# tests run in CI on the source repo
|
||||
doCheck = false;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
wayland,
|
||||
openssl,
|
||||
squashfsTools,
|
||||
makeWrapper,
|
||||
makeBinaryWrapper,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
@@ -28,7 +28,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
makeWrapper
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
@@ -37,7 +39,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
openssl
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# squashfs tools are needed to build appimages for Linux
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
wrapProgram $out/bin/cargo-bundle \
|
||||
--prefix PATH : ${lib.makeBinPath [ squashfsTools ]}
|
||||
'';
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clairvoyant";
|
||||
version = "3.1.10";
|
||||
version = "3.1.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cassidyjames";
|
||||
repo = "clairvoyant";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-CSORiNPqzliIpslV28NRPs/+bc9iblsLTPOm1WxxTjc=";
|
||||
hash = "sha256-3TdtSa8RQkeUvw+oesHruyy7S/WnsX7FXWnDLowbEkg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Ask questions, get psychic answers";
|
||||
homepage = "https://github.com/cassidyjames/clairvoyant";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "com.github.cassidyjames.clairvoyant";
|
||||
mainProgram = "com.cassidyjames.clairvoyant";
|
||||
teams = [ lib.teams.gnome-circle ];
|
||||
};
|
||||
})
|
||||
|
||||
+8
-8
@@ -5,23 +5,23 @@
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code-acp";
|
||||
version = "0.16.1";
|
||||
pname = "claude-agent-acp";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zed-industries";
|
||||
repo = "claude-code-acp";
|
||||
repo = "claude-agent-acp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/HeAz0jdXhLhYGcwTgthrE7cGjKjro30GQUmAn4egXs=";
|
||||
hash = "sha256-6c6bHuso3diW5ZfHiM2xcxGDTNG0LIL0TZd0MFVpW/E=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-poTtwIIPHcgQ2uyIUIWVOpHbdDIzVgympa7aHtuSMok=";
|
||||
npmDepsHash = "sha256-UtiIcjgNCYMFrRpO5AlUbOyutJ3ipwIbcpMi2BqawEk=";
|
||||
|
||||
meta = {
|
||||
description = "ACP-compatible coding agent powered by the Claude Code SDK";
|
||||
homepage = "https://github.com/zed-industries/claude-code-acp";
|
||||
description = "ACP-compatible coding agent powered by the Claude Agent SDK";
|
||||
homepage = "https://github.com/zed-industries/claude-agent-acp";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ storopoli ];
|
||||
mainProgram = "claude-code-acp";
|
||||
mainProgram = "claude-agent-acp";
|
||||
};
|
||||
})
|
||||
@@ -5,6 +5,7 @@
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
krunkit,
|
||||
lima-full,
|
||||
makeWrapper,
|
||||
procps,
|
||||
@@ -60,11 +61,14 @@ buildGoModule (finalAttrs: {
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/colima \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
# Suppress warning on `colima start`: https://github.com/abiosoft/colima/issues/1333
|
||||
lima-full
|
||||
qemu
|
||||
]
|
||||
lib.makeBinPath (
|
||||
[
|
||||
# Suppress warning on `colima start`: https://github.com/abiosoft/colima/issues/1333
|
||||
lima-full
|
||||
qemu
|
||||
]
|
||||
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform krunkit) krunkit
|
||||
)
|
||||
}
|
||||
|
||||
installShellCompletion --cmd colima \
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
commit a1f0a46b4932ed1c98ceb872e6b346b370f1b638
|
||||
Author: Patrick Chilton <chpatrick@gmail.com>
|
||||
Date: Wed Mar 18 15:59:05 2026 +0100
|
||||
|
||||
Disambiguate ceres::GradientChecker constructor
|
||||
|
||||
diff --git a/src/colmap/estimators/cost_functions/reprojection_error_test.cc b/src/colmap/estimators/cost_functions/reprojection_error_test.cc
|
||||
index 25e6ffdc..7a1e4777 100644
|
||||
--- a/src/colmap/estimators/cost_functions/reprojection_error_test.cc
|
||||
+++ b/src/colmap/estimators/cost_functions/reprojection_error_test.cc
|
||||
@@ -106,7 +106,7 @@ TEST(ReprojErrorCostFunctor, AnalyticalVersusAutoDiff) {
|
||||
|
||||
ceres::NumericDiffOptions numeric_diff_options;
|
||||
ceres::GradientChecker gradient_checker(
|
||||
- analytical_cost_function.get(), nullptr, numeric_diff_options);
|
||||
+ analytical_cost_function.get(), static_cast<const std::vector<const ceres::Manifold*>*>(nullptr), numeric_diff_options);
|
||||
ceres::GradientChecker::ProbeResults results;
|
||||
EXPECT_TRUE(
|
||||
gradient_checker.Probe(parameter_blocks.data(), kEps, &results));
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,6 +15,8 @@
|
||||
cgal,
|
||||
gmp,
|
||||
mpfr,
|
||||
suitesparse,
|
||||
onnxruntime,
|
||||
poselib,
|
||||
lz4,
|
||||
autoAddDriverRunpath,
|
||||
@@ -52,6 +54,8 @@ let
|
||||
mpfr
|
||||
lz4
|
||||
qt5.qtbase
|
||||
suitesparse
|
||||
onnxruntime
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
cudatoolkit
|
||||
@@ -63,26 +67,30 @@ let
|
||||
inherit (cudaPackages) cudatoolkit;
|
||||
in
|
||||
stdenv'.mkDerivation {
|
||||
version = "unstable-3.12.5-openimageio";
|
||||
version = "4.0.2";
|
||||
pname = "colmap";
|
||||
src = fetchFromGitHub {
|
||||
owner = "colmap";
|
||||
repo = "colmap";
|
||||
rev = "f8edccaa36909713b9d3930e1ca65cb364a38b26";
|
||||
hash = "sha256-0lD7ywM48ODe11u9D3XSk9btqQ4gs/APBFf9IyiXe6g=";
|
||||
rev = "d927f7e518fc20afa33390712c4cc20d85b730b8";
|
||||
hash = "sha256-+cPkksfCLyEo7A70nuRWnOBEkhx8BFevQ9XWTipEkpM=";
|
||||
};
|
||||
|
||||
# TODO: remove this when https://github.com/colmap/colmap/pull/3459 is in a release
|
||||
# This was produced with:
|
||||
# git diff f8edccaa36909713b9d3930e1ca65cb364a38b26 e40c0730020938587c9d4eb7634cbff93cbc2f81
|
||||
patches = [ ./openimageio.patch ];
|
||||
patches = [
|
||||
./suitesparse-no-include-subdir.patch
|
||||
# Remove when https://github.com/colmap/colmap/pull/4265 is merged
|
||||
./disambiguate-gradientchecker.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "DOWNLOAD_ENABLED" false)
|
||||
(lib.cmakeBool "UNINSTALL_ENABLED" false)
|
||||
(lib.cmakeBool "FETCH_POSELIB" false)
|
||||
(lib.cmakeBool "FETCH_FAISS" false)
|
||||
(lib.cmakeBool "FETCH_ONNX" false)
|
||||
(lib.cmakeBool "TESTS_ENABLED" true)
|
||||
(lib.cmakeFeature "CHOLMOD_INCLUDE_DIR_HINTS" "${suitesparse.dev}/include")
|
||||
(lib.cmakeFeature "CHOLMOD_LIBRARY_DIR_HINTS" "${suitesparse}/lib")
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
(lib.cmakeBool "CUDA_ENABLED" cudaSupport)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/cmake/FindCHOLMOD.cmake b/cmake/FindCHOLMOD.cmake
|
||||
index a5daf0e3..b0f13e3e 100644
|
||||
--- a/cmake/FindCHOLMOD.cmake
|
||||
+++ b/cmake/FindCHOLMOD.cmake
|
||||
@@ -57,7 +57,7 @@ if(TARGET CHOLMOD::CHOLMOD)
|
||||
else()
|
||||
find_path(CHOLMOD_INCLUDE_DIRS
|
||||
NAMES
|
||||
- suitesparse/cholmod.h
|
||||
+ cholmod.h
|
||||
PATHS
|
||||
${CHOLMOD_INCLUDE_DIR_HINTS}
|
||||
/usr/include
|
||||
@@ -89,7 +89,7 @@ else()
|
||||
|
||||
add_library(CHOLMOD::CHOLMOD INTERFACE IMPORTED)
|
||||
target_include_directories(
|
||||
- CHOLMOD::CHOLMOD INTERFACE ${CHOLMOD_INCLUDE_DIRS}/suitesparse)
|
||||
+ CHOLMOD::CHOLMOD INTERFACE ${CHOLMOD_INCLUDE_DIRS})
|
||||
target_link_libraries(
|
||||
CHOLMOD::CHOLMOD INTERFACE ${CHOLMOD_LIBRARIES})
|
||||
endif()
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "commit";
|
||||
version = "4.4";
|
||||
version = "4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sonnyp";
|
||||
repo = "Commit";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ACgt1xZTiHYiCTUvfQ+KP5TYm8tMimGizK1dn9UXzao=";
|
||||
hash = "sha256-PyxByqvTK/B5Kr+uRZTZxsHcfhLqAjZrJ0/hW7m8zVQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -22,14 +22,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "curtail";
|
||||
version = "1.15.0";
|
||||
version = "1.15.1";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Huluti";
|
||||
repo = "Curtail";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-1X3isnhl5Lw+iVLM2WdZEaKphLiikBtg5QlSxgQHqy8=";
|
||||
hash = "sha256-NPLixVrlM8i+AWcQ/poYGfBn0t8HOTUTryJf3VXy3lM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -25,6 +25,9 @@ buildGoModule (finalAttrs: {
|
||||
# we have no bash at the moment for windows
|
||||
env.BASH_PATH = lib.optionalString (!stdenv.hostPlatform.isWindows) "${bash}/bin/bash";
|
||||
|
||||
# Build a static executable to avoid environment runtime impurities
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
# replace the build phase to use the GNUMakefile instead
|
||||
buildPhase = ''
|
||||
make BASH_PATH=$BASH_PATH
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "docker-credential-env";
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "isometry";
|
||||
repo = "docker-credential-env";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-PnLylYDuDg+FSZ4CUSoQ5gMk4p08FP4OKBxkeIMa+tY=";
|
||||
hash = "sha256-EqSlbgGOuGQ2Y7aZ4MqUBgWK0aVI7Afi/KAxfdVu0zE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uALgz1TXTIk8UlxTaqYOXvCg9121hMIFfJoYC0jxohk=";
|
||||
vendorHash = "sha256-JTrFRpRjdLXKTvj7I2KYcIsFfuWLHPnjKV+3Q6b6DDs=";
|
||||
|
||||
ldflags =
|
||||
let
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "dotenvx";
|
||||
version = "1.51.4";
|
||||
version = "1.57.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotenvx";
|
||||
repo = "dotenvx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+tPN1ZLYWJ0WHQN7uRYMK13XTTEJy63gOpetiQZjtqY=";
|
||||
hash = "sha256-OJYE1oK2AJV1zHh1eIx1pdH5N9PQN9n559B+qk2BcXo=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-K75er2hcfWiWDlKAU9BWyZ/peO9LoB5DLBz9vIBnn10=";
|
||||
npmDepsHash = "sha256-sCwQ43CC9N9FLI7gHY3n80Tjg+lKKc0bqDcw7r2ZC10=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
@@ -30,11 +30,14 @@ buildNpmPackage rec {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Better dotenv–from the creator of `dotenv";
|
||||
description = "Better dotenv–from the creator of `dotenv`";
|
||||
homepage = "https://github.com/dotenvx/dotenvx";
|
||||
changelog = "https://github.com/dotenvx/dotenvx/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ natsukium ];
|
||||
maintainers = with lib.maintainers; [
|
||||
natsukium
|
||||
kaynetik
|
||||
];
|
||||
mainProgram = "dotenvx";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "elastic";
|
||||
version = "0.1.9";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "elastic";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jK9RcZ5U1Dwkpu1mlfq/l4347eRCd3Y/KDYYIIkGytk=";
|
||||
hash = "sha256-ydRKkVYQ1f6Jlymej1Wzoppo6E0FEUvIfrfnDqLRcPY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
asar,
|
||||
copyDesktopItems,
|
||||
darwin,
|
||||
actool,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -58,6 +59,7 @@ stdenv.mkDerivation (
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.autoSignDarwinBinariesHook
|
||||
actool
|
||||
];
|
||||
|
||||
inherit seshat;
|
||||
@@ -163,6 +165,10 @@ stdenv.mkDerivation (
|
||||
})
|
||||
];
|
||||
|
||||
stripDebugList = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"Applications/Element.app/Contents/MacOS"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
# run with: nix-shell ./maintainers/scripts/update.nix --argstr package element-desktop
|
||||
updateScript = ./update.sh;
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "etcd";
|
||||
version = "3.4.39";
|
||||
version = "3.4.42";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "etcd-io";
|
||||
repo = "etcd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-S1aNEd7pPgSu8vFhXIYFjEvfBG3OtmuKCvD5Zgj0m30=";
|
||||
hash = "sha256-Ue5Mcksy3LiXLaVdxNz83V9qrxQfzxL5kw4rZobYcvY=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-CqeSRyWDw1nCKlAI46iJXT5XjI3elxufx87QIlHwp1w=";
|
||||
vendorHash = "sha256-DqKVZ4Z2RMRwi4Z/6Rh3SE6NSyuHePSYrIM7sPyPC74=";
|
||||
|
||||
preBuild = ''
|
||||
go mod tidy
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.5.27";
|
||||
etcdSrcHash = "sha256-ne0uKpS7KQL/Efi5sMdnD8PQl5phDivBEM1PrsSxVf4=";
|
||||
etcdServerVendorHash = "sha256-6vu0ttbes5uN+m/tW/zuPZgyc1z+VcNpoJauykxBUUY=";
|
||||
etcdUtlVendorHash = "sha256-Z8Rc19p5Sigg71/r9yURE6LNHqHjah3b/ZfxI0nH4qc=";
|
||||
etcdCtlVendorHash = "sha256-uAo50jN69YKuW3NCRtc9HE8AnqKWtZQ+sJvwgw1BJj0=";
|
||||
version = "3.5.28";
|
||||
etcdSrcHash = "sha256-D4c+YfNQATW8/9m/5edPKtG9qQa8MxpbpDTCZY6cvA4=";
|
||||
etcdServerVendorHash = "sha256-IiGoG/5HJBZXhWhluK1uQVOXRk2I4VDokT7EcjhEnWU=";
|
||||
etcdUtlVendorHash = "sha256-mUzwpxAsUhXdK70BwtjWJqjzLpDnNFNXW6tHP81c72w=";
|
||||
etcdCtlVendorHash = "sha256-Bn3mirDqs9enpNTlp65YWiQRKpc+B6wD33b0xkaqSKE=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "etcd-io";
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.6.8";
|
||||
etcdSrcHash = "sha256-dNoQ+KKHZoi9GAqjyKPOpEJUwN6FID1tKfMiMknG7Dc=";
|
||||
etcdCtlVendorHash = "sha256-lxFvpEGsp/HS0p54JrjBps7C/c7QR2QFQXU81sO9cPU=";
|
||||
etcdUtlVendorHash = "sha256-6vzClDji9O2SGnKL3lsv3AUbCt/BicsDy1sPeuPdGXk=";
|
||||
etcdServerVendorHash = "sha256-4vz63r05uZOzFQYA9jz9HLsQEDFL30cOETmV/AZanmY=";
|
||||
version = "3.6.9";
|
||||
etcdSrcHash = "sha256-6rNCfjfs/lwiF3rnq5IM8ohW8Gz9r6gFHhIu9kvJ8VA=";
|
||||
etcdCtlVendorHash = "sha256-yUA28nP5ueJz/b7spbg1mFRs2doBIyVNuZMCMlf//AE=";
|
||||
etcdUtlVendorHash = "sha256-E3AVaUVulVKWGRbj/v2owbqkIfvxo/5naN1sNd96z+s=";
|
||||
etcdServerVendorHash = "sha256-HtAsmsdjBbqls0S80E08PZcZYFlfpKUYrgJunRFP8Gc=";
|
||||
|
||||
src = applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
stdenv,
|
||||
alsa-lib,
|
||||
appstream-glib,
|
||||
blueprint-compiler,
|
||||
cargo,
|
||||
desktop-file-utils,
|
||||
fetchFromGitHub,
|
||||
json-glib,
|
||||
glib,
|
||||
gtk4,
|
||||
libadwaita,
|
||||
@@ -16,27 +18,24 @@
|
||||
rustPlatform,
|
||||
rustc,
|
||||
wrapGAppsHook4,
|
||||
vala,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "exercise-timer";
|
||||
version = "1.8.5";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfep";
|
||||
repo = "exercise-timer";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-yparZ9XmHkjwvgpnERpi8hvRXdb8R+kAyFOFl+exXb4=";
|
||||
hash = "sha256-81bGX5Oa5z5AbtYDzPcSyFsz0/zWcDw/Ky9n+EfnZNo=";
|
||||
fetchLFS = true;
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-JObzeiQHEGIDjOung3o8dpaXVcOoJS2v1hyrcS1fqcI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
blueprint-compiler
|
||||
cargo
|
||||
desktop-file-utils
|
||||
glib
|
||||
@@ -44,13 +43,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustPlatform.cargoSetupHook
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
vala
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
json-glib
|
||||
libadwaita
|
||||
];
|
||||
|
||||
|
||||
@@ -6,29 +6,36 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "faraday-agent-dispatcher";
|
||||
version = "3.4.2";
|
||||
version = "3.9.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "infobyte";
|
||||
repo = "faraday_agent_dispatcher";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Qr3ZGU4y7f6yHD78ecdv7a6IBFDpT+/4Yez0n/MenN0=";
|
||||
hash = "sha256-uf1oXE8pFvIPTDgcHXRbZDz8NZn9NecPe1eYuYhb1Xw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail '"pytest-runner",' ""
|
||||
'';
|
||||
--replace-fail '"pytest-runner",' "" '';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"python-socketio"
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [
|
||||
"python-owasp-zap-v2.4"
|
||||
];
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.python-owasp-zap-v2-4
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
aiohttp
|
||||
click
|
||||
@@ -42,6 +49,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
python-socketio
|
||||
pyyaml
|
||||
requests
|
||||
requests-ratelimiter
|
||||
syslog-rfc5424-formatter
|
||||
websockets
|
||||
];
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "getmail6";
|
||||
version = "6.19.10";
|
||||
version = "6.19.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getmail6";
|
||||
repo = "getmail6";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-W9B6+riHsE5Hu2J8QnhPKhpRlXsQyg3ThP4ADp/0UhI=";
|
||||
hash = "sha256-E+S6p12eqVDkzTv6RdeBpUJqPd4a4LMVoGaYOr2XKVo=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitea-actions-runner";
|
||||
version = "0.2.13";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "gitea.com";
|
||||
owner = "gitea";
|
||||
repo = "act_runner";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-S0pZddExNw4RQvigWJh4r1CPDS+eOCa1n/8278J3wR4=";
|
||||
hash = "sha256-D2b0m3XEEEugjnrEzpYGxwD8hzpoPzIW9lNrCbgmKVc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-F+rFv0s/GBY3InWiofk3MCADfyauAmL/TpilWhZB5vE=";
|
||||
vendorHash = "sha256-EqU+YJrwKtA9LHa7DkRJ6er5GNocR8Gbhjjx72mPhqE=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-decoder";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "decoder";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-O+DXfR9nZ0iz9IX/SZVX6ESI/vRa4ErEPxdgqSyOye0=";
|
||||
hash = "sha256-g3ztQ+wiCDY19bc2/IABzXGSQrZltQgrTZ7rSI0RyFs=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "gnome-graphs";
|
||||
version = "1.8.4";
|
||||
version = "1.8.7";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
@@ -27,7 +27,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
owner = "World";
|
||||
repo = "Graphs";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-up4Hv2gndekDQzEnf7kkskDyRGJ/mqEji7dsuLgnUVI=";
|
||||
hash = "sha256-nMcpsYW8/WdCKmHnsObAWhDeo7+1vqBGTTXteh6jBus=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "gnome-secrets";
|
||||
version = "12.0";
|
||||
version = "12.3";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
owner = "World";
|
||||
repo = "secrets";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-U+ez/rhaXROcLdXhFY992YzIRBCkR05hxkAYbWIpa/A=";
|
||||
hash = "sha256-ypkzswfX/qdVtMja2oky8Gein2BO1gzDvjbtcd3Javc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -8,18 +8,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "harper";
|
||||
version = "1.10.0";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Automattic";
|
||||
repo = "harper";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-QI9uwrYhXUle6ZeGb1J9A7D1mqRM8Pb62Sk93M8zrS4=";
|
||||
hash = "sha256-PIUrOwKiLZyeHceOUK7gSylhO815gyj7/XERGGGYAsA=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "harper-ls";
|
||||
|
||||
cargoHash = "sha256-zPi3HhYJzPy/x/7/8LxuOGgCkwlC2qMfKWsuiPLHGOQ=";
|
||||
cargoHash = "sha256-79wUwINGkhHSmb+0Mq+x+evZNLfhNtWoRgoJHhIlw90=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "heatseeker";
|
||||
version = "1.10.0";
|
||||
version = "1.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rschmitt";
|
||||
repo = "heatseeker";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Hfx2QTfSJ6lh/K3ZdJzXqgxGOVbC2i2ZqZKH8Wtj/6k=";
|
||||
hash = "sha256-yIFMwC7W/vn7HOAJ1+HGFzPq4k+KF7mqua0XZteDBRg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8ZrPHm+W4lxVzupgeLcCQmpNRJS3aEaSWWKPkGVZVTg=";
|
||||
cargoHash = "sha256-qBTHNArPgf/qrce6hP3GJ1f9NcJ5OmSokCs5IVtyJQQ=";
|
||||
|
||||
# https://github.com/rschmitt/heatseeker/issues/42
|
||||
# I've suggested using `/usr/bin/env stty`, but doing that isn't quite as simple
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "hydrus";
|
||||
version = "662";
|
||||
version = "663";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-p5yIZlnS5EWkJYvDfyjdebEKRv/u9rLXH3g4G1esn+A=";
|
||||
hash = "sha256-xIQx3aCLbFtdiugLDZsZpsv6TOUj84f6U+80rDZ9mZk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
gtk4,
|
||||
lcms,
|
||||
libadwaita,
|
||||
libglycin-gtk4,
|
||||
libseccomp,
|
||||
libwebp,
|
||||
meson,
|
||||
@@ -26,19 +27,19 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "identity";
|
||||
version = "25.03";
|
||||
version = "25.10.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "YaLTeR";
|
||||
repo = "identity";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-JZyhT220ARZ2rX0CZYeFkHx8i9ops7TcfGje0NKebnU=";
|
||||
hash = "sha256-ThccOze4BkqAprk1Yt+Ughts0DFbBwLDYd4iE8ZMwxo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-RCSTxtHXkLsH8smGp2XzQeV9SSpLx5llrFg3cgIsWKY=";
|
||||
hash = "sha256-Do+20wh9F8xE+fA9Sg+8uyRojOF7Ih4taL/pZszU6xc=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -69,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
gtk4
|
||||
lcms
|
||||
libadwaita
|
||||
libglycin-gtk4
|
||||
libseccomp
|
||||
libwebp
|
||||
];
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "iotas";
|
||||
version = "0.12.5";
|
||||
version = "0.12.7";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
owner = "World";
|
||||
repo = "iotas";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-qbUI2hkW3rRiiBWFADuB9KFMf6Maw+WAkdy6dTE+Yo0=";
|
||||
hash = "sha256-LA00Szhjk/tzGnzDGm65SCgH6l2fk+8+p4PhIpB7T1I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "junction";
|
||||
version = "1.9";
|
||||
version = "1.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sonnyp";
|
||||
repo = "junction";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-gnFig8C46x73gAUl9VVx3Y3hrhEVeP/DvaYHYuv9RTg=";
|
||||
hash = "sha256-sl/NeElAp/SWHp0BdXycrZYCgm4I4MFx/uHnQf78H8g=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "komikku";
|
||||
version = "1.103.0";
|
||||
version = "1.105.0";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "valos";
|
||||
repo = "Komikku";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1RYuaVIdiADAmbzXG8vi1eNoDh8yBL3aVfBsMiGd3h4=";
|
||||
hash = "sha256-Zd+YUFnklu6JbytT/oS8hUU+IcqMfF4f/u6OKmg8uT4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -62,6 +62,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
dateparser
|
||||
ebooklib
|
||||
emoji
|
||||
jxlpy
|
||||
keyring
|
||||
lxml
|
||||
natsort
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lagrange";
|
||||
version = "1.19.4";
|
||||
version = "1.20.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skyjake";
|
||||
repo = "lagrange";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-o8BDreuQbPrGuSV7k4OVy4XmMSSEXrdNzEzUXM6hMyA=";
|
||||
hash = "sha256-Rin9frCxY7vMJQbErtR7pXss2GciL4LbXg+BFHFNjn4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
From de01c862388005ad142f38a7066593fe59a56fce Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Wed, 11 Mar 2026 18:55:19 +0100
|
||||
Subject: [PATCH] Clean up declarations/definitions & usage of 0 argument
|
||||
functions
|
||||
|
||||
This project doesn't enforce a C standard to use, so the compiler's default C standard is used.
|
||||
GCC 15's default C standard is C23, which has removed support for treating a function with an empty parameter list
|
||||
as a function that accepts some vague amount of arguments.
|
||||
|
||||
() is now treated the same as (void). This was already the intended meaning of such declarations, but
|
||||
to have the same behaviour on previous C standards, let's be explicit about the void part.
|
||||
|
||||
Since the amount of arguments must now be exactly 0, clean up some calls in tests/check_signon.c that
|
||||
relied on the previous meaning of () and passed 2 NULLs to such functions.
|
||||
---
|
||||
libsignon-glib/signon-auth-service.c | 2 +-
|
||||
libsignon-glib/signon-auth-service.h | 2 +-
|
||||
libsignon-glib/signon-auth-session.c | 2 +-
|
||||
libsignon-glib/signon-identity-info.c | 2 +-
|
||||
libsignon-glib/signon-identity-info.h | 2 +-
|
||||
libsignon-glib/signon-identity.c | 4 ++--
|
||||
libsignon-glib/signon-identity.h | 2 +-
|
||||
libsignon-glib/signon-proxy.c | 4 ++--
|
||||
tests/check_signon.c | 10 +++++-----
|
||||
9 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/libsignon-glib/signon-auth-service.c b/libsignon-glib/signon-auth-service.c
|
||||
index 785ce05..e06de60 100644
|
||||
--- a/libsignon-glib/signon-auth-service.c
|
||||
+++ b/libsignon-glib/signon-auth-service.c
|
||||
@@ -138,7 +138,7 @@ _signon_auth_service_finish_query_mechanisms (GObject *source_object,
|
||||
* Returns: an instance of an #SignonAuthService.
|
||||
*/
|
||||
SignonAuthService *
|
||||
-signon_auth_service_new ()
|
||||
+signon_auth_service_new (void)
|
||||
{
|
||||
return g_object_new (SIGNON_TYPE_AUTH_SERVICE, NULL);
|
||||
}
|
||||
diff --git a/libsignon-glib/signon-auth-service.h b/libsignon-glib/signon-auth-service.h
|
||||
index 1deb7e0..d6492ad 100644
|
||||
--- a/libsignon-glib/signon-auth-service.h
|
||||
+++ b/libsignon-glib/signon-auth-service.h
|
||||
@@ -34,7 +34,7 @@ G_BEGIN_DECLS
|
||||
#define SIGNON_TYPE_AUTH_SERVICE signon_auth_service_get_type ()
|
||||
G_DECLARE_FINAL_TYPE (SignonAuthService, signon_auth_service, SIGNON, AUTH_SERVICE, GObject)
|
||||
|
||||
-SignonAuthService *signon_auth_service_new ();
|
||||
+SignonAuthService *signon_auth_service_new (void);
|
||||
|
||||
void signon_auth_service_get_methods (SignonAuthService *auth_service,
|
||||
GCancellable *cancellable,
|
||||
diff --git a/libsignon-glib/signon-auth-session.c b/libsignon-glib/signon-auth-session.c
|
||||
index c308017..ba1ce7d 100644
|
||||
--- a/libsignon-glib/signon-auth-session.c
|
||||
+++ b/libsignon-glib/signon-auth-session.c
|
||||
@@ -232,7 +232,7 @@ destroy_proxy (SignonAuthSession *self)
|
||||
}
|
||||
|
||||
static GQuark
|
||||
-auth_session_object_quark ()
|
||||
+auth_session_object_quark (void)
|
||||
{
|
||||
static GQuark quark = 0;
|
||||
|
||||
diff --git a/libsignon-glib/signon-identity-info.c b/libsignon-glib/signon-identity-info.c
|
||||
index 8adfa9b..4af58c8 100644
|
||||
--- a/libsignon-glib/signon-identity-info.c
|
||||
+++ b/libsignon-glib/signon-identity-info.c
|
||||
@@ -277,7 +277,7 @@ signon_identity_info_to_variant (const SignonIdentityInfo *self)
|
||||
*
|
||||
* Returns: a new #SignonIdentityInfo item.
|
||||
*/
|
||||
-SignonIdentityInfo *signon_identity_info_new ()
|
||||
+SignonIdentityInfo *signon_identity_info_new (void)
|
||||
{
|
||||
SignonIdentityInfo *info = g_slice_new0 (SignonIdentityInfo);
|
||||
info->methods = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
diff --git a/libsignon-glib/signon-identity-info.h b/libsignon-glib/signon-identity-info.h
|
||||
index 7305f50..ed60b48 100644
|
||||
--- a/libsignon-glib/signon-identity-info.h
|
||||
+++ b/libsignon-glib/signon-identity-info.h
|
||||
@@ -55,7 +55,7 @@ typedef enum {
|
||||
|
||||
GType signon_identity_info_get_type (void) G_GNUC_CONST;
|
||||
|
||||
-SignonIdentityInfo *signon_identity_info_new ();
|
||||
+SignonIdentityInfo *signon_identity_info_new (void);
|
||||
void signon_identity_info_free (SignonIdentityInfo *info);
|
||||
|
||||
SignonIdentityInfo *signon_identity_info_copy (const SignonIdentityInfo *other);
|
||||
diff --git a/libsignon-glib/signon-identity.c b/libsignon-glib/signon-identity.c
|
||||
index eb58a45..647b364 100644
|
||||
--- a/libsignon-glib/signon-identity.c
|
||||
+++ b/libsignon-glib/signon-identity.c
|
||||
@@ -130,7 +130,7 @@ static void identity_process_updated (SignonIdentity *self);
|
||||
static void identity_process_removed (SignonIdentity *self);
|
||||
|
||||
static GQuark
|
||||
-identity_object_quark ()
|
||||
+identity_object_quark (void)
|
||||
{
|
||||
static GQuark quark = 0;
|
||||
|
||||
@@ -576,7 +576,7 @@ signon_identity_new_from_db (guint32 id)
|
||||
* Returns: an instance of an #SignonIdentity.
|
||||
*/
|
||||
SignonIdentity*
|
||||
-signon_identity_new ()
|
||||
+signon_identity_new (void)
|
||||
{
|
||||
SignonIdentity *identity;
|
||||
|
||||
diff --git a/libsignon-glib/signon-identity.h b/libsignon-glib/signon-identity.h
|
||||
index f366f8a..f42a8e8 100644
|
||||
--- a/libsignon-glib/signon-identity.h
|
||||
+++ b/libsignon-glib/signon-identity.h
|
||||
@@ -36,7 +36,7 @@ G_BEGIN_DECLS
|
||||
G_DECLARE_FINAL_TYPE (SignonIdentity, signon_identity, SIGNON, IDENTITY, GObject)
|
||||
|
||||
SignonIdentity *signon_identity_new_from_db (guint32 id);
|
||||
-SignonIdentity *signon_identity_new ();
|
||||
+SignonIdentity *signon_identity_new (void);
|
||||
|
||||
guint32 signon_identity_get_id (SignonIdentity *identity);
|
||||
|
||||
diff --git a/libsignon-glib/signon-proxy.c b/libsignon-glib/signon-proxy.c
|
||||
index f37d5c1..4f01443 100644
|
||||
--- a/libsignon-glib/signon-proxy.c
|
||||
+++ b/libsignon-glib/signon-proxy.c
|
||||
@@ -46,7 +46,7 @@ signon_proxy_default_init (SignonProxyInterface *iface)
|
||||
}
|
||||
|
||||
static GQuark
|
||||
-_signon_proxy_ready_quark()
|
||||
+_signon_proxy_ready_quark (void)
|
||||
{
|
||||
static GQuark quark = 0;
|
||||
|
||||
@@ -57,7 +57,7 @@ _signon_proxy_ready_quark()
|
||||
}
|
||||
|
||||
static GQuark
|
||||
-_signon_proxy_error_quark()
|
||||
+_signon_proxy_error_quark (void)
|
||||
{
|
||||
static GQuark quark = 0;
|
||||
|
||||
diff --git a/tests/check_signon.c b/tests/check_signon.c
|
||||
index 3e1e758..405582e 100644
|
||||
--- a/tests/check_signon.c
|
||||
+++ b/tests/check_signon.c
|
||||
@@ -388,7 +388,7 @@ START_TEST(test_auth_session_creation)
|
||||
const gchar *method = NULL;
|
||||
|
||||
g_debug("%s", G_STRFUNC);
|
||||
- SignonIdentity *idty = signon_identity_new(NULL, NULL);
|
||||
+ SignonIdentity *idty = signon_identity_new();
|
||||
fail_unless (idty != NULL, "Cannot create Identity object");
|
||||
|
||||
SignonAuthSession *auth_session = signon_identity_create_session(idty,
|
||||
@@ -442,7 +442,7 @@ START_TEST(test_auth_session_process_async)
|
||||
gboolean ok;
|
||||
|
||||
g_debug("%s", G_STRFUNC);
|
||||
- SignonIdentity *idty = signon_identity_new(NULL, NULL);
|
||||
+ SignonIdentity *idty = signon_identity_new();
|
||||
fail_unless (idty != NULL, "Cannot create Identity object");
|
||||
|
||||
SignonAuthSession *auth_session = signon_identity_create_session(idty,
|
||||
@@ -751,7 +751,7 @@ new_identity()
|
||||
GList *acl = g_list_append (NULL, signon_security_context_new_from_values ("*", "*"));
|
||||
guint id = 0;
|
||||
|
||||
- identity = signon_identity_new(NULL, NULL);
|
||||
+ identity = signon_identity_new();
|
||||
fail_unless (SIGNON_IS_IDENTITY (identity));
|
||||
|
||||
SignonIdentityInfo *info = signon_identity_info_new ();
|
||||
@@ -864,7 +864,7 @@ static void store_credentials_identity_cb (GObject *source_object,
|
||||
START_TEST(test_store_credentials_identity)
|
||||
{
|
||||
g_debug("%s", G_STRFUNC);
|
||||
- SignonIdentity *idty = signon_identity_new(NULL, NULL);
|
||||
+ SignonIdentity *idty = signon_identity_new();
|
||||
fail_unless (idty != NULL);
|
||||
fail_unless (SIGNON_IS_IDENTITY (idty),
|
||||
"Failed to initialize the Identity.");
|
||||
@@ -911,7 +911,7 @@ START_TEST(test_verify_secret_identity)
|
||||
GList *acl = g_list_append (NULL, signon_security_context_new_from_values ("*", "*"));
|
||||
|
||||
g_debug("%s", G_STRFUNC);
|
||||
- SignonIdentity *idty = signon_identity_new(NULL, NULL);
|
||||
+ SignonIdentity *idty = signon_identity_new();
|
||||
fail_unless (idty != NULL);
|
||||
fail_unless (SIGNON_IS_IDENTITY (idty),
|
||||
"Failed to initialize the Identity.");
|
||||
--
|
||||
2.51.2
|
||||
|
||||
@@ -35,6 +35,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/accounts-sso/libsignon-glib/-/merge_requests/23 merged & in release
|
||||
./1001-Clean-up-declarations-definitions-usage-of-0-argument-functions.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
check
|
||||
docbook_xml_dtd_412
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
let
|
||||
pname = "lmstudio";
|
||||
|
||||
version_aarch64-linux = "0.4.5-2";
|
||||
hash_aarch64-linux = "sha256-BeF9FNMde9RW2icdq07zkWQafge7ViWKvR+xupRIdjE=";
|
||||
version_aarch64-darwin = "0.4.6-1";
|
||||
hash_aarch64-darwin = "sha256-CpeBUXpBAOJPEZAb3neY5pWRSGNcy4Usgsm6qyI5PVA=";
|
||||
version_x86_64-linux = "0.4.6-1";
|
||||
hash_x86_64-linux = "sha256-FHZ64zmnqHrQyX4ift/lVUzW+HiCVkXpWVa4hkssX/k=";
|
||||
version_aarch64-linux = "0.4.7-4";
|
||||
hash_aarch64-linux = "sha256-4gGg8CULPhAw1ZytaHmJNBqNyVVNO2LV+tm3AUi2sJo=";
|
||||
version_aarch64-darwin = "0.4.7-4";
|
||||
hash_aarch64-darwin = "sha256-V0m5oK+HCBaZPr6tAJVa98jb3IEPWs6ccAa/1GXsgy8=";
|
||||
version_x86_64-linux = "0.4.7-4";
|
||||
hash_x86_64-linux = "sha256-2dSgBr2B+PIUi/YCBmXDWXQWEEId6Qymh1JQuAPG/xU=";
|
||||
|
||||
meta = {
|
||||
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
for system in "aarch64-darwin darwin/arm64" "x86_64-linux linux/x64"; do
|
||||
for system in "aarch64-darwin darwin/arm64" "x86_64-linux linux/x64" "aarch64-linux linux/arm64"; do
|
||||
# shellcheck disable=SC2086
|
||||
set -- ${system} # split string into variables $1 and $2
|
||||
|
||||
|
||||
@@ -18,11 +18,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lorem";
|
||||
version = "1.5";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World/design";
|
||||
group = "World";
|
||||
owner = "design";
|
||||
repo = "lorem";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-q6gpxxNebf2G/lT5wWXT/lVp3zR8QLWB8/sdK+wLTJ8=";
|
||||
|
||||
@@ -13,13 +13,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lxqt-panel-profiles";
|
||||
version = "1.3";
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "MrReplikant";
|
||||
repo = "lxqt-panel-profiles";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-mI/Rg3YeK64R3cCn+xz4+CHZldGteZ4Id4h/YUcreW4=";
|
||||
hash = "sha256-JDDscKjRbqQXinEwlrwYNwzzuLm9aokNAu8sZY7hGQk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -26,11 +26,9 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
anthropic
|
||||
pytestCheckHook
|
||||
pytest-asyncio
|
||||
pytest-cov
|
||||
python-dotenv
|
||||
pytest-cov-stub
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
|
||||
@@ -44,9 +44,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
|
||||
sourceRoot = "multiqc";
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
@@ -78,25 +77,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
jsonschema
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
dev = with python3Packages; [
|
||||
pre-commit-hooks
|
||||
pdoc3
|
||||
pytest
|
||||
pytest-cov
|
||||
pytest-xdist
|
||||
syrupy
|
||||
pygithub
|
||||
mypy
|
||||
types-pyyaml
|
||||
types-tqdm
|
||||
types-requests
|
||||
types-markdown
|
||||
types-beautifulsoup4
|
||||
types-pillow
|
||||
];
|
||||
};
|
||||
|
||||
# Some tests run subprocess.run() with "multiqc"
|
||||
preCheck = ''
|
||||
chmod -R u+w ../test-data
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "myks";
|
||||
version = "5.10.0";
|
||||
version = "5.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mykso";
|
||||
repo = "myks";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-9Fw3q2/mard/dbbnz6GzQeiroTlkiRwdwvC7aBh5HXA=";
|
||||
hash = "sha256-5uQiTv+UxCPCetkXvG8fBHL+WsUatNJKv2AUbnqE/Do=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XMGcLYMZiCB98U5+aB/O4f5knAp46UkrH4teCPZk/bM=";
|
||||
vendorHash = "sha256-z1vUeKf22MjGwheDSu/jYCKpJRclrhgKOEN8A9onrAM=";
|
||||
|
||||
subPackages = ".";
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "net-cpp";
|
||||
version = "3.2.0";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lib-cpp/net-cpp";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-JfVSAwBWtHw7a0CtY5C1xuxThO3FbS4MgNuIO1CGuts=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-1rUPdN62u4eYtrXgoVaeSHro4gnAfFAl1brt+tE45oE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -47,26 +47,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Remove when version > 3.2.0
|
||||
# Remove when version > 3.2.1
|
||||
(fetchpatch {
|
||||
name = "0001-net-cpp-fix-compatibility-with-Boost-1.88.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/commit/9ff8651b11eb9dc0f64147001e10a57d1546a626.patch";
|
||||
hash = "sha256-IEa3nhnv0oa5WmhIDG3OMrZmmoAZFeedAzKXAKVTIQg=";
|
||||
name = "0001-net-cpp-Look-for-python3-executable-at-configure-time-instead-of-hardcoding-a-path.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/commit/811da28f36f34cc2ea32dc96b2c65932d4f954b0.patch";
|
||||
hash = "sha256-CC7fEuRNuf5TNEfhFJr9VLWFWfTnFtIvSTUoCcwGe68=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch =
|
||||
# https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/merge_requests/22, too basic to bother with fetchpatch
|
||||
''
|
||||
substituteInPlace src/CMakeLists.txt \
|
||||
--replace-fail 'find_package(Boost COMPONENTS system' 'find_package(Boost COMPONENTS'
|
||||
''
|
||||
+ lib.optionalString finalAttrs.finalPackage.doCheck ''
|
||||
# Use wrapped python. Removing just the /usr/bin doesn't seem to work?
|
||||
substituteInPlace tests/httpbin.h.in \
|
||||
--replace '/usr/bin/python3' '${lib.getExe pythonEnv}'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -107,7 +95,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
enableParallelChecking = false;
|
||||
|
||||
passthru = {
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
tests.pkg-config = testers.hasPkgConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
versionCheck = true;
|
||||
};
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
plugins ? _ps: [ ],
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
py = python3.override {
|
||||
packageOverrides = _final: prev: { django = prev.django_5; };
|
||||
};
|
||||
|
||||
extraBuildInputs = plugins py.pkgs;
|
||||
in
|
||||
py.pkgs.buildPythonApplication rec {
|
||||
pname = "netbox";
|
||||
version = "4.2.9";
|
||||
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netbox-community";
|
||||
repo = "netbox";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-uVe4YTZoxRMBfvItFa9SMHu4AaVvygfAg9GDB115TFc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./custom-static-root.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs =
|
||||
(
|
||||
with py.pkgs;
|
||||
[
|
||||
django
|
||||
django-cors-headers
|
||||
django-debug-toolbar
|
||||
django-filter
|
||||
django-graphiql-debug-toolbar
|
||||
django-htmx
|
||||
django-mptt
|
||||
django-pglocks
|
||||
django-prometheus
|
||||
django-redis
|
||||
django-rq
|
||||
django-tables2
|
||||
django-taggit
|
||||
django-timezone-field
|
||||
djangorestframework
|
||||
drf-spectacular
|
||||
drf-spectacular-sidecar
|
||||
feedparser
|
||||
jinja2
|
||||
markdown
|
||||
netaddr
|
||||
nh3
|
||||
pillow
|
||||
psycopg
|
||||
psycopg.optional-dependencies.c
|
||||
psycopg.optional-dependencies.pool
|
||||
pyyaml
|
||||
requests
|
||||
social-auth-core
|
||||
social-auth-app-django
|
||||
strawberry-graphql
|
||||
strawberry-django
|
||||
svgwrite
|
||||
tablib
|
||||
|
||||
# Optional dependencies, kept here for backward compatibility
|
||||
|
||||
# for the S3 data source backend
|
||||
boto3
|
||||
# for Git data source backend
|
||||
dulwich
|
||||
# for error reporting
|
||||
sentry-sdk
|
||||
]
|
||||
++ social-auth-core.passthru.optional-dependencies.openidconnect
|
||||
)
|
||||
++ extraBuildInputs;
|
||||
|
||||
buildInputs = with py.pkgs; [
|
||||
mkdocs-material
|
||||
mkdocs-material-extensions
|
||||
mkdocstrings
|
||||
mkdocstrings-python
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ py.pkgs.mkdocs ];
|
||||
|
||||
postBuild = ''
|
||||
PYTHONPATH=$PYTHONPATH:netbox/
|
||||
python -m mkdocs build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt/netbox
|
||||
cp -r . $out/opt/netbox
|
||||
chmod +x $out/opt/netbox/netbox/manage.py
|
||||
makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
python = python3;
|
||||
# PYTHONPATH of all dependencies used by the package
|
||||
pythonPath = py.pkgs.makePythonPath propagatedBuildInputs;
|
||||
inherit (py.pkgs) gunicorn;
|
||||
tests = {
|
||||
netbox = nixosTests.netbox_4_2;
|
||||
inherit (nixosTests) netbox-upgrade;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/netbox-community/netbox";
|
||||
description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
|
||||
mainProgram = "netbox";
|
||||
license = lib.licenses.asl20;
|
||||
knownVulnerabilities = [
|
||||
"Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions"
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
minijackson
|
||||
raitobezarius
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
|
||||
index 2de06dd10..00406af48 100644
|
||||
--- a/netbox/netbox/settings.py
|
||||
+++ b/netbox/netbox/settings.py
|
||||
@@ -410,7 +412,7 @@ USE_X_FORWARDED_HOST = True
|
||||
X_FRAME_OPTIONS = 'SAMEORIGIN'
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
-STATIC_ROOT = BASE_DIR + '/static'
|
||||
+STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/')
|
||||
STATIC_URL = f'/{BASE_PATH}static/'
|
||||
STATICFILES_DIRS = (
|
||||
os.path.join(BASE_DIR, 'project-static', 'dist'),
|
||||
@@ -111,7 +111,7 @@ py.pkgs.buildPythonApplication rec {
|
||||
pythonPath = py.pkgs.makePythonPath dependencies;
|
||||
inherit (py.pkgs) gunicorn;
|
||||
tests = {
|
||||
netbox = nixosTests.netbox_4_3;
|
||||
netbox = nixosTests.netbox_4_4;
|
||||
inherit (nixosTests) netbox-upgrade;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
@@ -123,6 +123,9 @@ py.pkgs.buildPythonApplication rec {
|
||||
description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
|
||||
mainProgram = "netbox";
|
||||
license = lib.licenses.asl20;
|
||||
knownVulnerabilities = [
|
||||
"Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions"
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
minijackson
|
||||
raitobezarius
|
||||
|
||||
@@ -16,14 +16,14 @@ let
|
||||
in
|
||||
py.pkgs.buildPythonApplication rec {
|
||||
pname = "netbox";
|
||||
version = "4.3.7";
|
||||
version = "4.5.5";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netbox-community";
|
||||
repo = "netbox";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-xVOP1D3C12M0M8oTrCA0M17NLuor+46UwiaKymSAVJM=";
|
||||
hash = "sha256-he+WNbzIZSc2q97YjnAKHeFR0MDZCkDuAF/mfgAZuU4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -34,6 +34,7 @@ py.pkgs.buildPythonApplication rec {
|
||||
(
|
||||
with py.pkgs;
|
||||
[
|
||||
colorama
|
||||
django
|
||||
django-cors-headers
|
||||
django-debug-toolbar
|
||||
@@ -63,6 +64,7 @@ py.pkgs.buildPythonApplication rec {
|
||||
requests
|
||||
social-auth-core
|
||||
social-auth-app-django
|
||||
sorl-thumbnail
|
||||
strawberry-graphql
|
||||
strawberry-django
|
||||
svgwrite
|
||||
@@ -109,7 +111,7 @@ py.pkgs.buildPythonApplication rec {
|
||||
pythonPath = py.pkgs.makePythonPath dependencies;
|
||||
inherit (py.pkgs) gunicorn;
|
||||
tests = {
|
||||
netbox = nixosTests.netbox_4_3;
|
||||
netbox = nixosTests.netbox_4_5;
|
||||
inherit (nixosTests) netbox-upgrade;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
@@ -121,9 +123,6 @@ py.pkgs.buildPythonApplication rec {
|
||||
description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
|
||||
mainProgram = "netbox";
|
||||
license = lib.licenses.asl20;
|
||||
knownVulnerabilities = [
|
||||
"Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions"
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
minijackson
|
||||
raitobezarius
|
||||
@@ -7,16 +7,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nixpkgs-vet";
|
||||
version = "0.1.4";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs-vet";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-J61eOTeDMHt9f1XmKVrEMAFUgwHGmMxDoSyY3v72QVY=";
|
||||
hash = "sha256-TxQkD9jPoONec87qGXOIQNh+lZ7kyFM6q1RtlgxEqy4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-H2JAIMJeVqp8xq75eLEBKiK2pBrgC7vgXXlqbrSUifE=";
|
||||
cargoHash = "sha256-Wx8AwgUENVbxv9GgB/DTH5aGIRznAslABjxRu/X0l2s=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ let
|
||||
|
||||
phome = "$out/lib/olympus";
|
||||
# The following variables are to be updated by the update script.
|
||||
version = "26.02.04.03";
|
||||
buildId = "5468"; # IMPORTANT: This line is matched with regex in update.sh.
|
||||
rev = "f11768c2d470d0357a7e07cd3a031b081a6593ab";
|
||||
version = "26.03.21.03";
|
||||
buildId = "5526"; # IMPORTANT: This line is matched with regex in update.sh.
|
||||
rev = "cd3c4695cf4be1f1aa59211fcc183f603e6c6343";
|
||||
in
|
||||
buildDotnetModule {
|
||||
pname = "olympus-unwrapped";
|
||||
@@ -37,7 +37,7 @@ buildDotnetModule {
|
||||
owner = "EverestAPI";
|
||||
repo = "Olympus";
|
||||
fetchSubmodules = true; # Required. See upstream's README.
|
||||
hash = "sha256-38Rjii6+3DDvNcQQFuTAxY4Wh214QbE6q8yFLNUnAbc=";
|
||||
hash = "sha256-pKKVdCkeqTIFH0iqpko5LuDj9qqLubD+cltkwo86bXg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
nodejs_20,
|
||||
pnpm_9,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
makeWrapper,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "openspec";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fission-AI";
|
||||
repo = "OpenSpec";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DIMMOEVQ2FQj48WAF4S1IhxX5ChrFZll51CZ3bZNGHE=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_9;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-9s2kdvd7svK4hofnD66HkDc86WTQeayfF5y7L2dmjNg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs_20
|
||||
pnpmConfigHook
|
||||
pnpm_9
|
||||
makeWrapper
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm run build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/lib/openspec
|
||||
|
||||
substituteInPlace bin/openspec.js \
|
||||
--replace '#!/usr/bin/env node' '#!${nodejs_20}/bin/node' \
|
||||
--replace "../dist" "$out/lib/openspec/dist"
|
||||
install -Dm755 bin/openspec.js $out/bin/openspec
|
||||
|
||||
cp -r dist $out/lib/openspec/
|
||||
cp -r schemas $out/lib/openspec/
|
||||
cp package.json $out/lib/openspec/
|
||||
cp -r node_modules $out/lib/openspec/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) ''
|
||||
installShellCompletion --cmd openspec \
|
||||
--bash <($out/bin/openspec completion generate bash) \
|
||||
--fish <($out/bin/openspec completion generate fish) \
|
||||
--zsh <($out/bin/openspec completion generate zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "AI-native system for spec-driven development";
|
||||
homepage = "https://github.com/Fission-AI/OpenSpec";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ superherointj ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "openspec";
|
||||
};
|
||||
})
|
||||
@@ -29,13 +29,13 @@
|
||||
lndir,
|
||||
}:
|
||||
let
|
||||
version = "2.20.11";
|
||||
version = "2.20.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Bn5k6h80nSNxWYsIpqVLXp+udzxDCY8f/jbgDvyATM0=";
|
||||
hash = "sha256-Oh0iFcGWsiPe7xCHw1+9z3BuWikEshVDLWeBPHrEJA0=";
|
||||
};
|
||||
|
||||
python = python3.override {
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
testers,
|
||||
boost,
|
||||
@@ -18,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "persistent-cache-cpp";
|
||||
version = "1.0.9";
|
||||
version = "1.0.10";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lib-cpp/persistent-cache-cpp";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-1ETr4b0HEJIM6a4ObtKWtxn0y4gQy9fzBjE4QhMPGqU=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-siZb9D6ZGdKjlxJEgguPi9ZemWS0zY/7RwafWY6u67I=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -33,15 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"doc"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Remove when version > 1.0.9
|
||||
(fetchpatch {
|
||||
name = "0001-persistent-cache-cpp-Fix-compatibility-with-Boost-1.89.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/121397b58bdb2d6750a41bec0cf1676e4e9b8cf5.patch";
|
||||
hash = "sha256-QKPf5E49NNZ+rzCCknJNQjcd/bEgHuh23RBM892Xz1o=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Wrong concatenation
|
||||
substituteInPlace data/libpersistent-cache-cpp.pc.in \
|
||||
@@ -86,7 +76,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
passthru = {
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
tests.pkg-config = testers.hasPkgConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
versionCheck = true;
|
||||
};
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
|
||||
@@ -34,6 +34,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-DPICO_SDK_PATH=${pico-sdk}/lib/pico-sdk"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 ../udev/60-picotool.rules -t $out/etc/udev/rules.d
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "plasmusic-toolbar";
|
||||
version = "3.7.0";
|
||||
version = "4.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ccatterina";
|
||||
repo = "plasmusic-toolbar";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-yCsNvco01dy72f8g1+BCYXo1yx/ERdfggLYchj/UXcw=";
|
||||
hash = "sha256-yT3Ftwy30ixFmGhvof49FIOCH97rT03zNL8V2uweyOQ=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -31,7 +31,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "powershell";
|
||||
version = "7.5.5";
|
||||
version = "7.6.0";
|
||||
|
||||
src =
|
||||
passthru.sources.${stdenv.hostPlatform.system}
|
||||
@@ -96,19 +96,19 @@ stdenv.mkDerivation rec {
|
||||
sources = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-arm64.tar.gz";
|
||||
hash = "sha256-2/P90/s2Dro1lYD9xyI9Z5oV+UhNLxY/qwdCJ3mkf1I=";
|
||||
hash = "sha256-u1LbkOlk7guR6T9VmzUIeMayfBL9UYMNjsoXk3Erljk=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-arm64.tar.gz";
|
||||
hash = "sha256-4i4PAFthzjul5ImHAPacPgbdov3gcfOCqxVnDWjw5Kc=";
|
||||
hash = "sha256-3d91ZPs7UtwmvlWA/FtOCOs/plsJRIiq5tSzytX+pGA=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz";
|
||||
hash = "sha256-JIKb2lh+o5DAJ1qYHeX/nSWV8nPklI2eaediwtTnenk=";
|
||||
hash = "sha256-fGJ5z+rQYyRFGhD/dBiDCGyaAPAkuuqSS7nTwQb+DII=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-x64.tar.gz";
|
||||
hash = "sha256-OaYvRmlW42Bq7mY37Q0HNcHtJ2Eqdt6XOxEVMN3/Lnc=";
|
||||
hash = "sha256-BFF0cs9X1/nL2TiX2pvtRnxzymBjwp12VevCCqHWAj8=";
|
||||
};
|
||||
};
|
||||
tests.version = testers.testVersion {
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
meta,
|
||||
stdenvNoCC,
|
||||
_7zz,
|
||||
fetchurl,
|
||||
nix-update-script,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "proton-vpn";
|
||||
version = "6.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ProtonVPN/ios-mac-app/releases/download/mac%2F${finalAttrs.version}/ProtonVPN_mac_v${finalAttrs.version}.dmg";
|
||||
hash = "sha256-F5NS7NNqxNJcl7gFaqWtWxBxBbV6Btp7cyyDpegEGLQ=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ _7zz ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
cp -R ./ProtonVPN/ProtonVPN.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"mac/(.*)"
|
||||
];
|
||||
};
|
||||
|
||||
meta = meta // {
|
||||
changelog = "https://github.com/ProtonVPN/ios-mac-app/releases/tag/mac%2F${finalAttrs.version}";
|
||||
platforms = [
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
meta,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
gobject-introspection,
|
||||
@@ -7,11 +8,12 @@
|
||||
libayatana-appindicator,
|
||||
libnotify,
|
||||
wrapGAppsHook4,
|
||||
writableTmpDirAsHomeHook,
|
||||
nix-update-script,
|
||||
withIndicator ? true,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "protonvpn-gui";
|
||||
pname = "proton-vpn";
|
||||
version = "4.15.0";
|
||||
pyproject = true;
|
||||
|
||||
@@ -69,31 +71,26 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
# Needed for Permission denied: '/homeless-shelter'
|
||||
export HOME=$(mktemp -d)
|
||||
export XDG_RUNTIME_DIR=$(mktemp -d)
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
nativeCheckInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
]
|
||||
++ (with python3Packages; [
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
];
|
||||
]);
|
||||
|
||||
disabledTestPaths = [
|
||||
# Segmentation fault during widgets tests
|
||||
"tests/unit/widgets"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Proton VPN GTK app for Linux";
|
||||
homepage = "https://github.com/ProtonVPN/proton-vpn-gtk-app";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = meta // {
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "protonvpn-app";
|
||||
maintainers = with lib.maintainers; [
|
||||
anthonyroussel
|
||||
sebtm
|
||||
rapiteanu
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
callPackage,
|
||||
}:
|
||||
let
|
||||
meta = {
|
||||
description = "Official Proton VPN client";
|
||||
homepage = "https://protonvpn.com/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
anthonyroussel
|
||||
delafthi
|
||||
rapiteanu
|
||||
sebtm
|
||||
];
|
||||
};
|
||||
in
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./darwin.nix { inherit meta; }
|
||||
else
|
||||
callPackage ./linux.nix { inherit meta; }
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "SDL_net";
|
||||
version = "1.2.8-unstable-2025-04-21";
|
||||
version = "1.2.8-unstable-2026-03-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libsdl-org";
|
||||
repo = "SDL_net";
|
||||
rev = "e2e041b81747bc01b2c5fb3757a082e525e5d25b";
|
||||
hash = "sha256-Nk1OoCIrHMABHuPrJHMlLyyR73px/Xikgz40RpDfonw=";
|
||||
rev = "cd5a2ebdea1a15b27f503cc7ffdcaf056d047b73";
|
||||
hash = "sha256-z3bJYf3PzS0ydoeL0Ay0HOZ9ImKZMyLbVZhD+u5BD6w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -20,27 +20,29 @@
|
||||
rustc,
|
||||
sqlite,
|
||||
wrapGAppsHook4,
|
||||
libglycin-gtk4,
|
||||
libshumate,
|
||||
libseccomp,
|
||||
libxml2,
|
||||
lcms2,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "shortwave";
|
||||
version = "5.0.0";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "Shortwave";
|
||||
rev = version;
|
||||
sha256 = "sha256-MbkfbpX2av/o+wC1pORHfaLXnchEIFmhQ5mqPuMElak=";
|
||||
hash = "sha256-MiaozChp5QF/Q0fCTCgnyGJLyIftTkMAbmfRQ/73QP8=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit pname version src;
|
||||
hash = "sha256-DBWg9Xss1ChbPyI3MiN7eTXhSUG37ZaYS/HFxou9d/w=";
|
||||
hash = "sha256-v6aphHunZrXPiuKRFT+EcWJySmQOOT433ST+m8j1z4w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -63,10 +65,12 @@ stdenv.mkDerivation rec {
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
libglycin-gtk4
|
||||
openssl
|
||||
sqlite
|
||||
libshumate
|
||||
libseccomp
|
||||
libxml2
|
||||
lcms2
|
||||
]
|
||||
++ (with gst_all_1; [
|
||||
|
||||
+10
-7
@@ -1,27 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "generaluser";
|
||||
version = "2.0.2-unstable-2025-04-21";
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "soundfont-generaluser-gs";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrbumpy409";
|
||||
repo = "GeneralUser-GS";
|
||||
rev = "74d4cfe4042a61ddab17d4f86dbccd9d2570eb2a";
|
||||
hash = "sha256-I27l8F/BFAo6YSNbtAV14AKVsPIJTHFG2eGudseWmjo=";
|
||||
rev = "6f2014e815237de02e26e793f8c66c796ba66db5";
|
||||
hash = "sha256-/nWcvaAcXDSd/6HapDEa7rDmQD2Q1w6iYsbckh2vnek=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm644 $src/GeneralUser-GS.sf2 $out/share/soundfonts/GeneralUser-GS.sf2
|
||||
|
||||
install -Dm444 GeneralUser-GS.sf2 $out/share/soundfonts/GeneralUser-GS.sf2
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/mrbumpy409/GeneralUser-GS/blob/main/documentation/CHANGELOG.md";
|
||||
description = "General MIDI SoundFont with a low memory footprint";
|
||||
homepage = "https://www.schristiancollins.com/generaluser.php";
|
||||
license = lib.licenses.generaluser;
|
||||
@@ -20,19 +20,19 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "switcheroo";
|
||||
version = "2.2.0";
|
||||
version = "2.5.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "adhami3310";
|
||||
repo = "Switcheroo";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-AwecOA8HWGimhQyCEG3Z3hhwa9RVWssykUXsdvqqs9U=";
|
||||
hash = "sha256-1SMFkzSH8ekJeP0VOPKxkvUNMh/wRzj31PIy6h051Ng=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
src = finalAttrs.src;
|
||||
name = "switcheroo-${finalAttrs.version}";
|
||||
hash = "sha256-Ose1gx6vwKZCdtMDkyM9Y+f6wt7VDKTI3Wc7kep1428=";
|
||||
hash = "sha256-QHdzLlmYCktQCUGZhIcuPhmR4rMUDeneptTdyPrwh1E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tangram";
|
||||
version = "3.4";
|
||||
version = "3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sonnyp";
|
||||
repo = "Tangram";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NTTunlWeS44iUxrfvjwB4NBbYjojVP2SxLDvh+aXvOA=";
|
||||
hash = "sha256-aK/oavYQJJYQaQ+PjxSDjSSvEaYz3G8aGXLdumOEXgk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "the-foundation";
|
||||
version = "1.11.0";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.skyjake.fi";
|
||||
owner = "skyjake";
|
||||
repo = "the_Foundation";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-71MYOlCVkYOFB9byYaNmy31NfnssmGwB0lusjOpE2Ts=";
|
||||
hash = "sha256-dAeeeu0nWS/Tz4/t/s9xKcx2io5FGooHhWiK12GHJpQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "thumper";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kaaveland";
|
||||
repo = "thumper";
|
||||
tag = "${finalAttrs.version}";
|
||||
hash = "sha256-+W4dBtvqCobxeFa+Zux1/dYVQoO17SscYR8FoAS7KLM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-m8B0+w0BddK8wQgaFfVUUPYdSDvqfs++A0a0WTIF5Qo=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to sync files from a local folder into a folder in a BunnyCDN Storage Zone";
|
||||
homepage = "https://github.com/kaaveland/thumper";
|
||||
changelog = "https://github.com/kaaveland/thumper/releases/tag/${finalAttrs.version}";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ stv0g ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "thumper";
|
||||
};
|
||||
})
|
||||
@@ -10,14 +10,14 @@ let
|
||||
platform =
|
||||
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
|
||||
hash = builtins.getAttr platform {
|
||||
"universal-macos" = "sha256-yUiw0y2unr65LUkin0NvdzjCer5YilmRPCmpdoLqWlU=";
|
||||
"x86_64-linux" = "sha256-GgmjNac0Y+8z45+6er8UvmZ74I0i92Yamkei0D66q+k=";
|
||||
"aarch64-linux" = "sha256-zh0qTdvifjjCSyIyIUYrqE6RZ23sln0AZAC2Te1ZWRY=";
|
||||
"universal-macos" = "sha256-ByZdWkpVsrwbgC43WgDGMvw53IVX4y+dOeZweqavVmY=";
|
||||
"x86_64-linux" = "sha256-zwsoyTbSt2bVZ/Qquu60dnqUzzW81fV8NuOfZB4o4/I=";
|
||||
"aarch64-linux" = "sha256-/2LjENxaD4iJUCaCRKpMl22WO1KMtLHP181yZCK8fqA=";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tigerbeetle";
|
||||
version = "0.16.76";
|
||||
version = "0.16.77";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
tcl.mkTclDerivation {
|
||||
pname = "tkgl";
|
||||
version = "1.2.1-unstable-2025-06-01";
|
||||
version = "1.2.1-unstable-2026-01-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "3-manifolds";
|
||||
repo = "TkGL";
|
||||
rev = "45bf16e6c28a070c70fc9a0eb8c47a0b6ff8a2e3";
|
||||
hash = "sha256-AA5LZGhMTWmTZqI/wtycUYLsUe9BwO3voGMS7vGlCM0=";
|
||||
rev = "e47636bc56f02ddca503f98abc65e31a0f0f0a7c";
|
||||
hash = "sha256-Y5NIKWUjbtVn9qiVzc8TsKCm4M3KbNPiBjVTBWf7ALA=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
@@ -46,6 +46,9 @@ tcl.mkTclDerivation {
|
||||
description = "OpenGL drawing surface for Tk 8 and 9";
|
||||
homepage = "https://github.com/3-manifolds/TkGL";
|
||||
license = lib.licenses.tcltk;
|
||||
maintainers = with lib.maintainers; [ noiioiu ];
|
||||
maintainers = with lib.maintainers; [
|
||||
noiioiu
|
||||
alejo7797
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
freetype,
|
||||
libglvnd,
|
||||
curl,
|
||||
fontconfig,
|
||||
libxcursor,
|
||||
libxinerama,
|
||||
libxrandr,
|
||||
@@ -17,21 +18,21 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tonelib-gfx";
|
||||
version = "4.8.7";
|
||||
version = "4.9.0";
|
||||
|
||||
# It's hard to find out when a release happens and what version that release is,
|
||||
# without visiting the site directly.
|
||||
#
|
||||
# The following command can retrieve the latest released version.
|
||||
# curl --silent https://tonelib.net/downloads.html | \
|
||||
# grep -P 'ToneLib GFX</h3' -A3 | \
|
||||
# grep -P '>ToneLib GFX<' -A3 | \
|
||||
# sed -nE 's/^.*Version: ([0-9.]+).*/\1/p'
|
||||
#
|
||||
# The following command gives us the URL for the latest release without intermediate redirects.
|
||||
# curl --head 'https://www.tonelib.net/download.php?id=gfx&os=lnx'
|
||||
src = fetchurl {
|
||||
url = "https://tonelib.vip/download/24-10-24/ToneLib-GFX-amd64.deb";
|
||||
hash = "sha256-2ao6tTRbPMpE2Y/7/gwQN3G5Z6Uu+SQel9o1ejwD9v4=";
|
||||
url = "https://tonelib.vip/download/25-11-10/ToneLib-GFX-amd64.deb";
|
||||
hash = "sha256-WL9kV50R5AGG57I5IkNz7EKd4NPlf0iO+QiE8k+E26Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
runtimeDependencies = map lib.getLib [
|
||||
curl
|
||||
fontconfig
|
||||
libxcursor
|
||||
libxinerama
|
||||
libxrandr
|
||||
|
||||
@@ -20,158 +20,157 @@
|
||||
python3Packages,
|
||||
vala,
|
||||
wrapGAppsHook3,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
let
|
||||
self = python3Packages.buildPythonApplication rec {
|
||||
pname = "click";
|
||||
version = "0.5.2";
|
||||
pyproject = false;
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "click";
|
||||
version = "0.5.2";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/click";
|
||||
rev = version;
|
||||
hash = "sha256-AV3n6tghvpV/6Ew6Lokf8QAGBIMbHFAnp6G4pefVn+8=";
|
||||
};
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/click";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-AV3n6tghvpV/6Ew6Lokf8QAGBIMbHFAnp6G4pefVn+8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version > 0.5.2
|
||||
(fetchpatch {
|
||||
name = "0001-click-fix-Wimplicit-function-declaration.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/click/-/commit/8f654978a12e6f9a0b6ff64296ec5565e3ff5cd0.patch";
|
||||
hash = "sha256-kio+DdtuagUNYEosyQY3q3H+dJM3cLQRW9wUKUcpUTY=";
|
||||
})
|
||||
patches = [
|
||||
# Remove when version > 0.5.2
|
||||
(fetchpatch {
|
||||
name = "0001-click-fix-Wimplicit-function-declaration.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/click/-/commit/8f654978a12e6f9a0b6ff64296ec5565e3ff5cd0.patch";
|
||||
hash = "sha256-kio+DdtuagUNYEosyQY3q3H+dJM3cLQRW9wUKUcpUTY=";
|
||||
})
|
||||
|
||||
# Remove when version > 0.5.2
|
||||
(fetchpatch {
|
||||
name = "0002-click-Add-uid_t-and-gid_t-to-the-ctypes-_typemap.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/click/-/commit/cbcd23b08b02fa122434e1edd69c2b3dcb6a8793.patch";
|
||||
hash = "sha256-QaWRhxO61wAzULVqPLdJrLuBCr3+NhKmQlEPuYq843I=";
|
||||
})
|
||||
];
|
||||
# Remove when version > 0.5.2
|
||||
(fetchpatch {
|
||||
name = "0002-click-Add-uid_t-and-gid_t-to-the-ctypes-_typemap.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/click/-/commit/cbcd23b08b02fa122434e1edd69c2b3dcb6a8793.patch";
|
||||
hash = "sha256-QaWRhxO61wAzULVqPLdJrLuBCr3+NhKmQlEPuYq843I=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# These should be proper Requires, using the header needs their headers
|
||||
postPatch =
|
||||
# These should be proper Requires, using the header needs their headers
|
||||
''
|
||||
substituteInPlace lib/click/click-*.pc.in \
|
||||
--replace-fail 'Requires.private' 'Requires'
|
||||
|
||||
# Don't completely override PKG_CONFIG_PATH
|
||||
''
|
||||
# Don't completely override PKG_CONFIG_PATH
|
||||
+ ''
|
||||
substituteInPlace click_package/tests/Makefile.am \
|
||||
--replace-fail 'PKG_CONFIG_PATH=$(top_builddir)/lib/click' 'PKG_CONFIG_PATH=$(top_builddir)/lib/click:$(PKG_CONFIG_PATH)'
|
||||
|
||||
''
|
||||
+ ''
|
||||
patchShebangs bin/click
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
strictDeps = true;
|
||||
|
||||
pkgsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
pkgsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
dbus-test-runner # Always checking for this
|
||||
getopt
|
||||
gobject-introspection
|
||||
perl
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook3
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
dbus-test-runner # Always checking for this
|
||||
getopt
|
||||
gobject-introspection
|
||||
perl
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
json-glib
|
||||
libgee
|
||||
properties-cpp
|
||||
];
|
||||
buildInputs = [
|
||||
glib
|
||||
json-glib
|
||||
libgee
|
||||
properties-cpp
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
python-debian
|
||||
chardet
|
||||
pygobject3
|
||||
setuptools
|
||||
];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
python-debian
|
||||
chardet
|
||||
pygobject3
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus
|
||||
dpkg
|
||||
python3Packages.unittestCheckHook
|
||||
];
|
||||
nativeCheckInputs = [
|
||||
dbus
|
||||
dpkg
|
||||
python3Packages.unittestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
python-apt
|
||||
six
|
||||
];
|
||||
checkInputs = with python3Packages; [
|
||||
python-apt
|
||||
six
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export click_cv_perl_vendorlib=$out/${perl.libPrefix}
|
||||
export PYTHON_INSTALL_FLAGS="--prefix=$out"
|
||||
'';
|
||||
preConfigure = ''
|
||||
export click_cv_perl_vendorlib=$out/${perl.libPrefix}
|
||||
export PYTHON_INSTALL_FLAGS="--prefix=$out"
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
|
||||
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
|
||||
];
|
||||
configureFlags = [
|
||||
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
|
||||
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
disabledTestPaths = [
|
||||
# From apt: Unable to determine a suitable packaging system type
|
||||
"click_package/tests/integration/test_signatures.py"
|
||||
"click_package/tests/test_build.py"
|
||||
"click_package/tests/test_install.py"
|
||||
"click_package/tests/test_scripts.py"
|
||||
];
|
||||
disabledTestPaths = [
|
||||
# From apt: Unable to determine a suitable packaging system type
|
||||
"click_package/tests/integration/test_signatures.py"
|
||||
"click_package/tests/test_build.py"
|
||||
"click_package/tests/test_install.py"
|
||||
"click_package/tests/test_scripts.py"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMP
|
||||
|
||||
# tests recompile some files for loaded predefines, doesn't use any optimisation level for it
|
||||
# makes test output harder to read, so make the warning go away
|
||||
preCheck =
|
||||
# tests recompile some files for loaded predefines, doesn't use any optimisation level for it
|
||||
# makes test output harder to read, so make the warning go away
|
||||
''
|
||||
export NIX_CFLAGS_COMPILE+=" -U_FORTIFY_SOURCE"
|
||||
|
||||
# Haven'tbeen able to get them excluded via disabledTest{s,Paths}, just deleting them
|
||||
''
|
||||
# Haven't been able to get them excluded via disabledTest{s,Paths}, just deleting them
|
||||
+ ''
|
||||
for path in $disabledTestPaths; do
|
||||
rm -v $path
|
||||
done
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib"
|
||||
)
|
||||
'';
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to build click packages, mainly used for Ubuntu Touch";
|
||||
homepage = "https://gitlab.com/ubports/development/core/click";
|
||||
changelog = "https://gitlab.com/ubports/development/core/click/-/blob/${version}/ChangeLog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "click";
|
||||
maintainers = with lib.maintainers; [
|
||||
ilyakooo0
|
||||
];
|
||||
teams = [ lib.teams.lomiri ];
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"click-0.4"
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
self
|
||||
// {
|
||||
passthru = self.passthru // {
|
||||
passthru = {
|
||||
tests.pkg-config = testers.hasPkgConfigModules {
|
||||
package = self;
|
||||
package = finalAttrs.finalPackage;
|
||||
versionCheck = true;
|
||||
};
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
}
|
||||
|
||||
meta = {
|
||||
description = "Tool to build click packages, mainly used for Ubuntu Touch";
|
||||
homepage = "https://gitlab.com/ubports/development/core/click";
|
||||
changelog = "https://gitlab.com/ubports/development/core/click/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "click";
|
||||
maintainers = with lib.maintainers; [
|
||||
ilyakooo0
|
||||
];
|
||||
teams = [ lib.teams.lomiri ];
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"click-0.4"
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "warmup-s3-archives";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "philipmw";
|
||||
repo = "warmup-s3-archives";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TJluuylxxFc66NidXCHxZdQN2VNv2QjFodUDXIQolZQ=";
|
||||
hash = "sha256-0moqSc87B3LFL7P5qoSqvdkf+RwLbiWkzGhjR2jgTR4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-cPjjSYDsMsZO3Wj9wbAhSACbJGDINrE70cj+Lj4QYQE=";
|
||||
cargoHash = "sha256-sWSsxGj8+tSNs2JlhDZt+ulo89rPqZM8FjHpbUdeC5w=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"media_scanner": "sha256-vlHsSmw0/bVDSwB/jwdj/flfcizDjYKHOItOb/jWQGM=",
|
||||
"open_filex": "sha256-dKLOmk+C9Rzw0wq18I5hkR2T4VcdmT4coimmgF+GzV8="
|
||||
"media_scanner": "sha256-FD8sYQpL5/fe1MyYUEyOSe9Wxh7RN5Z8xcaIAh3lxK4=",
|
||||
"open_filex": "sha256-dKLOmk+C9Rzw0wq18I5hkR2T4VcdmT4coimmgF+GzV8=",
|
||||
"share_handler": "sha256-iLYzYkc82kU0+a97r3neUNDfVYW+0GhYbT9HtBwBEOE="
|
||||
}
|
||||
|
||||
@@ -1,29 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
flutter338,
|
||||
flutter341,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
libx11,
|
||||
libxcursor,
|
||||
libxinerama,
|
||||
libxi,
|
||||
libxext,
|
||||
libxrandr,
|
||||
libxtst,
|
||||
sqlite,
|
||||
}:
|
||||
|
||||
flutter338.buildFlutterApplication rec {
|
||||
flutter341.buildFlutterApplication (finalAttrs: {
|
||||
pname = "windsend";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doraemonkeys";
|
||||
repo = "WindSend";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-KCtYV7z+QqufXiHzuEoX8XVIPfNPBdp0F1FLiPq+PDM=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zpbCtiGPjGLkcZ98uN0y0modMnhucV4g4Sc9P6cRPIw=";
|
||||
};
|
||||
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
|
||||
gitHashes = lib.importJSON ./git-hashes.json;
|
||||
|
||||
sourceRoot = "${src.name}/flutter/wind_send";
|
||||
sourceRoot = "${finalAttrs.src.name}/flutter/wind_send";
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libx11
|
||||
libxcursor
|
||||
libxrandr
|
||||
libxinerama
|
||||
libxi
|
||||
libxext
|
||||
libxtst
|
||||
sqlite
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
@@ -48,4 +75,4 @@ flutter338.buildFlutterApplication rec {
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "_fe_analyzer_shared",
|
||||
"sha256": "c209688d9f5a5f26b2fb47a188131a6fb9e876ae9e47af3737c0b4f58a93470d",
|
||||
"sha256": "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "91.0.0"
|
||||
"version": "93.0.0"
|
||||
},
|
||||
"accessing_security_scoped_resource": {
|
||||
"dependency": "transitive",
|
||||
@@ -24,21 +24,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "analyzer",
|
||||
"sha256": "f51c8499b35f9b26820cfe914828a6a98a94efd5cc78b37bb7d03debae3a1d08",
|
||||
"sha256": "de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.4.1"
|
||||
"version": "10.0.1"
|
||||
},
|
||||
"archive": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
|
||||
"sha256": "a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.7"
|
||||
"version": "4.0.9"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "transitive",
|
||||
@@ -80,16 +80,96 @@
|
||||
"source": "hosted",
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"build": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build",
|
||||
"sha256": "275bf6bb2a00a9852c28d4e0b410da1d833a734d57d39d44f94bfc895a484ec3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.4"
|
||||
},
|
||||
"build_config": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_config",
|
||||
"sha256": "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"build_daemon": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_daemon",
|
||||
"sha256": "bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.1.1"
|
||||
},
|
||||
"build_runner": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "build_runner",
|
||||
"sha256": "7981eb922842c77033026eb4341d5af651562008cdb116bdfa31fc46516b6462",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.12.2"
|
||||
},
|
||||
"built_collection": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_collection",
|
||||
"sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.1.1"
|
||||
},
|
||||
"built_value": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "6ae8a6435a8c6520c7077b107e77f1fb4ba7009633259a4d49a8afd8e7efc5e9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.12.4"
|
||||
},
|
||||
"characters": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "characters",
|
||||
"sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
|
||||
"sha256": "faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.4.1"
|
||||
},
|
||||
"charcode": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "charcode",
|
||||
"sha256": "fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.4.0"
|
||||
},
|
||||
"checked_yaml": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "checked_yaml",
|
||||
"sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.4"
|
||||
},
|
||||
"cli_config": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -100,6 +180,26 @@
|
||||
"source": "hosted",
|
||||
"version": "0.2.0"
|
||||
},
|
||||
"cli_util": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "cli_util",
|
||||
"sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.4.2"
|
||||
},
|
||||
"clipshare_clipboard_listener": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "clipshare_clipboard_listener",
|
||||
"sha256": "0f4927b147846a19616e7c8289c1e86fd383ee78c52a0d15ddb4ff0971ea400b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.10"
|
||||
},
|
||||
"clock": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -110,6 +210,26 @@
|
||||
"source": "hosted",
|
||||
"version": "1.1.2"
|
||||
},
|
||||
"code_assets": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "code_assets",
|
||||
"sha256": "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"code_builder": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "code_builder",
|
||||
"sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.11.1"
|
||||
},
|
||||
"collection": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@@ -134,11 +254,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "cookie_jar",
|
||||
"sha256": "a6ac027d3ed6ed756bfce8f3ff60cb479e266f3b0fdabd6242b804b6765e52de",
|
||||
"sha256": "963da02c1ef64cb5ac20de948c9e5940aa351f1e34a12b1d327c83d85b7e8fff",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.8"
|
||||
"version": "4.0.9"
|
||||
},
|
||||
"coverage": {
|
||||
"dependency": "transitive",
|
||||
@@ -154,11 +274,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "cross_file",
|
||||
"sha256": "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608",
|
||||
"sha256": "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.5+1"
|
||||
"version": "0.3.5+2"
|
||||
},
|
||||
"crypto": {
|
||||
"dependency": "direct main",
|
||||
@@ -210,15 +330,25 @@
|
||||
"source": "hosted",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"dart_style": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dart_style",
|
||||
"sha256": "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.7"
|
||||
},
|
||||
"dbus": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dbus",
|
||||
"sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
|
||||
"sha256": "d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.11"
|
||||
"version": "0.7.12"
|
||||
},
|
||||
"device_info_plus": {
|
||||
"dependency": "direct main",
|
||||
@@ -244,31 +374,51 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "dio",
|
||||
"sha256": "d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9",
|
||||
"sha256": "aff32c08f92787a557dd5c0145ac91536481831a01b4648136373cddb0e64f8c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.9.0"
|
||||
"version": "5.9.2"
|
||||
},
|
||||
"dio_cookie_manager": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "dio_cookie_manager",
|
||||
"sha256": "d39c16abcc711c871b7b29bd51c6b5f3059ef39503916c6a9df7e22c4fc595e0",
|
||||
"sha256": "0db1a7b997a0455e488ac35744c68eed3f2a4280d3ab531835a65641b0a08744",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.3.0"
|
||||
"version": "3.4.0"
|
||||
},
|
||||
"dio_web_adapter": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dio_web_adapter",
|
||||
"sha256": "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78",
|
||||
"sha256": "2f9e64323a7c3c7ef69567d5c800424a11f8337b8b228bad02524c9fb3c1f340",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"drift": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "drift",
|
||||
"sha256": "61f876c0291b194980bafd203f48e85d5fb04e4a7334367d1a89f44004dbcb83",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.32.0"
|
||||
},
|
||||
"drift_dev": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "drift_dev",
|
||||
"sha256": "d687e955cc4b1706ad49b3860fcc1045c09bbf1d84c3c7383615f7f9c3320aa2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.32.0"
|
||||
},
|
||||
"fake_async": {
|
||||
"dependency": "transitive",
|
||||
@@ -294,11 +444,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "ffi",
|
||||
"sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
|
||||
"sha256": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.4"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"file": {
|
||||
"dependency": "transitive",
|
||||
@@ -314,11 +464,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "file_picker",
|
||||
"sha256": "7872545770c277236fd32b022767576c562ba28366204ff1a5628853cf8f2200",
|
||||
"sha256": "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.3.7"
|
||||
"version": "10.3.10"
|
||||
},
|
||||
"file_selector": {
|
||||
"dependency": "transitive",
|
||||
@@ -416,6 +566,66 @@
|
||||
"source": "sdk",
|
||||
"version": "0.0.0"
|
||||
},
|
||||
"flutter_image_compress": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_image_compress",
|
||||
"sha256": "51d23be39efc2185e72e290042a0da41aed70b14ef97db362a6b5368d0523b27",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.0"
|
||||
},
|
||||
"flutter_image_compress_common": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_image_compress_common",
|
||||
"sha256": "c5c5d50c15e97dd7dc72ff96bd7077b9f791932f2076c5c5b6c43f2c88607bfb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.6"
|
||||
},
|
||||
"flutter_image_compress_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_image_compress_macos",
|
||||
"sha256": "20019719b71b743aba0ef874ed29c50747461e5e8438980dfa5c2031898f7337",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.3"
|
||||
},
|
||||
"flutter_image_compress_ohos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_image_compress_ohos",
|
||||
"sha256": "e76b92bbc830ee08f5b05962fc78a532011fcd2041f620b5400a593e96da3f51",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.0.3"
|
||||
},
|
||||
"flutter_image_compress_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_image_compress_platform_interface",
|
||||
"sha256": "579cb3947fd4309103afe6442a01ca01e1e6f93dc53bb4cbd090e8ce34a41889",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.5"
|
||||
},
|
||||
"flutter_image_compress_web": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_image_compress_web",
|
||||
"sha256": "b9b141ac7c686a2ce7bb9a98176321e1182c9074650e47bb140741a44b6f5a96",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.1.5"
|
||||
},
|
||||
"flutter_lints": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
@@ -468,11 +678,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "fluttertoast",
|
||||
"sha256": "90778fe0497fe3a09166e8cf2e0867310ff434b794526589e77ec03cf08ba8e8",
|
||||
"sha256": "144ddd74d49c865eba47abe31cbc746c7b311c82d6c32e571fd73c4264b740e2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.2.14"
|
||||
"version": "9.0.0"
|
||||
},
|
||||
"frontend_server_client": {
|
||||
"dependency": "transitive",
|
||||
@@ -494,6 +704,26 @@
|
||||
"source": "hosted",
|
||||
"version": "2.1.3"
|
||||
},
|
||||
"graphs": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "graphs",
|
||||
"sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.2"
|
||||
},
|
||||
"hooks": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "hooks",
|
||||
"sha256": "e79ed1e8e1929bc6ecb6ec85f0cb519c887aa5b423705ded0d0f2d9226def388",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.2"
|
||||
},
|
||||
"http": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -524,6 +754,26 @@
|
||||
"source": "hosted",
|
||||
"version": "4.1.2"
|
||||
},
|
||||
"image": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "image",
|
||||
"sha256": "f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.8.0"
|
||||
},
|
||||
"image_gallery_saver_plus": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "image_gallery_saver_plus",
|
||||
"sha256": "199b9e24f8d85e98f11e3d35571ab68ae50626ad40e2bb85c84383f69a6950ad",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"intl": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@@ -588,11 +838,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "json_annotation",
|
||||
"sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
|
||||
"sha256": "cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.9.0"
|
||||
"version": "4.11.0"
|
||||
},
|
||||
"leak_tracker": {
|
||||
"dependency": "transitive",
|
||||
@@ -638,11 +888,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "lints",
|
||||
"sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
|
||||
"sha256": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.0.0"
|
||||
"version": "6.1.0"
|
||||
},
|
||||
"logger": {
|
||||
"dependency": "direct main",
|
||||
@@ -678,32 +928,32 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "matcher",
|
||||
"sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
|
||||
"sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.12.17"
|
||||
"version": "0.12.18"
|
||||
},
|
||||
"material_color_utilities": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "material_color_utilities",
|
||||
"sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec",
|
||||
"sha256": "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.11.1"
|
||||
"version": "0.13.0"
|
||||
},
|
||||
"media_scanner": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"path": ".",
|
||||
"ref": "master",
|
||||
"resolved-ref": "1b34bda70b6620c3195e58ce9d4e88bbc92784cf",
|
||||
"resolved-ref": "cc5b816fe0108009ef5b8616cecb8ad05ab3b147",
|
||||
"url": "https://github.com/Lzyct/media_scanner"
|
||||
},
|
||||
"source": "git",
|
||||
"version": "2.2.0"
|
||||
"version": "2.2.1"
|
||||
},
|
||||
"meta": {
|
||||
"dependency": "transitive",
|
||||
@@ -725,15 +975,25 @@
|
||||
"source": "hosted",
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"native_toolchain_c": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "native_toolchain_c",
|
||||
"sha256": "92b2ca62c8bd2b8d2f267cdfccf9bfbdb7322f778f8f91b3ce5b5cda23a3899f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.17.5"
|
||||
},
|
||||
"network_info_plus": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "network_info_plus",
|
||||
"sha256": "f926b2ba86aa0086a0dfbb9e5072089bc213d854135c1712f1d29fc89ba3c877",
|
||||
"sha256": "2866dadcbee2709e20d67737a1556f5675b8b0cdcf2c1659ba74bc21bffede4f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.4"
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"network_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@@ -765,6 +1025,16 @@
|
||||
"source": "hosted",
|
||||
"version": "2.0.2"
|
||||
},
|
||||
"objective_c": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "objective_c",
|
||||
"sha256": "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.3.0"
|
||||
},
|
||||
"open_filex": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@@ -820,11 +1090,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_foundation",
|
||||
"sha256": "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4",
|
||||
"sha256": "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.5.1"
|
||||
"version": "2.6.0"
|
||||
},
|
||||
"path_provider_linux": {
|
||||
"dependency": "transitive",
|
||||
@@ -920,11 +1190,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "petitparser",
|
||||
"sha256": "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1",
|
||||
"sha256": "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.0.1"
|
||||
"version": "7.0.2"
|
||||
},
|
||||
"pixel_snap": {
|
||||
"dependency": "transitive",
|
||||
@@ -980,11 +1250,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "posix",
|
||||
"sha256": "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61",
|
||||
"sha256": "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.0.3"
|
||||
"version": "6.5.0"
|
||||
},
|
||||
"pub_semver": {
|
||||
"dependency": "transitive",
|
||||
@@ -996,6 +1266,26 @@
|
||||
"source": "hosted",
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"pubspec_parse": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "pubspec_parse",
|
||||
"sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"recase": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "recase",
|
||||
"sha256": "e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.1.0"
|
||||
},
|
||||
"saf_stream": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@@ -1019,11 +1309,12 @@
|
||||
"share_handler": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "share_handler",
|
||||
"sha256": "0a6d007f0e44fbee27164adcd159ecbc88238864313f4e5c58161cae2180328d",
|
||||
"url": "https://pub.dev"
|
||||
"path": "share_handler",
|
||||
"ref": "main",
|
||||
"resolved-ref": "b30d993620fe6dc3f3d5a1a1b55cf8bcc96e3995",
|
||||
"url": "https://github.com/doraemonkeys/share_handler"
|
||||
},
|
||||
"source": "hosted",
|
||||
"source": "git",
|
||||
"version": "0.0.25"
|
||||
},
|
||||
"share_handler_android": {
|
||||
@@ -1060,11 +1351,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "share_plus",
|
||||
"sha256": "d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1",
|
||||
"sha256": "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "11.1.0"
|
||||
"version": "12.0.1"
|
||||
},
|
||||
"share_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@@ -1090,11 +1381,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_android",
|
||||
"sha256": "83af5c682796c0f7719c2bbf74792d113e40ae97981b8f266fa84574573556bc",
|
||||
"sha256": "8374d6200ab33ac99031a852eba4c8eb2170c4bf20778b3e2c9eccb45384fb41",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.18"
|
||||
"version": "2.4.21"
|
||||
},
|
||||
"shared_preferences_foundation": {
|
||||
"dependency": "transitive",
|
||||
@@ -1192,6 +1483,16 @@
|
||||
"source": "sdk",
|
||||
"version": "0.0.0"
|
||||
},
|
||||
"source_gen": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "source_gen",
|
||||
"sha256": "adc962c96fffb2de1728ef396a995aaedcafbe635abdca13d2a987ce17e57751",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2.1"
|
||||
},
|
||||
"source_map_stack_trace": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -1216,11 +1517,41 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "source_span",
|
||||
"sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
|
||||
"sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.10.1"
|
||||
"version": "1.10.2"
|
||||
},
|
||||
"sqlite3": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "sqlite3",
|
||||
"sha256": "caa693ad15a587a2b4fde093b728131a1827903872171089dedb16f7665d3a91",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.2.0"
|
||||
},
|
||||
"sqlite3_flutter_libs": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "sqlite3_flutter_libs",
|
||||
"sha256": "eeb9e3a45207649076b808f8a5a74d68770d0b7f26ccef6d5f43106eee5375ad",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.42"
|
||||
},
|
||||
"sqlparser": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "sqlparser",
|
||||
"sha256": "faebfaa581dde5b6b55c499f41532c4883943162ebc12d7138c70cfcead733dc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.44.2"
|
||||
},
|
||||
"stack_trace": {
|
||||
"dependency": "transitive",
|
||||
@@ -1242,6 +1573,16 @@
|
||||
"source": "hosted",
|
||||
"version": "2.1.4"
|
||||
},
|
||||
"stream_transform": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "stream_transform",
|
||||
"sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
},
|
||||
"string_scanner": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -1286,31 +1627,31 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "test",
|
||||
"sha256": "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7",
|
||||
"sha256": "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.26.3"
|
||||
"version": "1.29.0"
|
||||
},
|
||||
"test_api": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "test_api",
|
||||
"sha256": "ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55",
|
||||
"sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.7"
|
||||
"version": "0.7.9"
|
||||
},
|
||||
"test_core": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "test_core",
|
||||
"sha256": "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0",
|
||||
"sha256": "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.12"
|
||||
"version": "0.6.15"
|
||||
},
|
||||
"typed_data": {
|
||||
"dependency": "transitive",
|
||||
@@ -1356,11 +1697,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_ios",
|
||||
"sha256": "cfde38aa257dae62ffe79c87fab20165dfdf6988c1d31b58ebf59b9106062aad",
|
||||
"sha256": "580fe5dfb51671ae38191d316e027f6b76272b026370708c2d898799750a02b0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.3.6"
|
||||
"version": "6.4.1"
|
||||
},
|
||||
"url_launcher_linux": {
|
||||
"dependency": "transitive",
|
||||
@@ -1396,11 +1737,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_web",
|
||||
"sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
|
||||
"sha256": "d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.1"
|
||||
"version": "2.4.2"
|
||||
},
|
||||
"url_launcher_windows": {
|
||||
"dependency": "transitive",
|
||||
@@ -1416,11 +1757,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "uuid",
|
||||
"sha256": "a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8",
|
||||
"sha256": "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.5.2"
|
||||
"version": "4.5.3"
|
||||
},
|
||||
"vector_math": {
|
||||
"dependency": "transitive",
|
||||
@@ -1446,11 +1787,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "watcher",
|
||||
"sha256": "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a",
|
||||
"sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.4"
|
||||
"version": "1.2.1"
|
||||
},
|
||||
"web": {
|
||||
"dependency": "transitive",
|
||||
@@ -1544,7 +1885,7 @@
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.10.1 <4.0.0",
|
||||
"flutter": ">=3.38.0"
|
||||
"dart": ">=3.10.3 <4.0.0",
|
||||
"flutter": ">=3.38.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "wttrbar";
|
||||
version = "0.14.3";
|
||||
version = "0.14.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjesus";
|
||||
repo = "wttrbar";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-MNELUtk3pXw0vcA8I1zUXl6BhojEcIoOUX4G2d4QIMI=";
|
||||
hash = "sha256-pQIUliT9RktaC7E+r7Im6bJv6LxCH6wNLo1Nlz4Oeyc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-V+XsePgv6Ss6TC/Ej2hQkfj7hdjTNV0V4QNynMRZ24I=";
|
||||
cargoHash = "sha256-T+IWMqe+AZmYhXf9bhpTdCGkg25fcUjQazQhs9fH5Vw=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "xre";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wfxr";
|
||||
repo = "xre";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-auK7A99QdIJehj0tsM2WH/QEcNktZddoG86zwXD4g4Q=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZgPMMUc5nGJMDY3q3n+37Nv0kjRIARooHG2RxWI3o88=";
|
||||
|
||||
meta = {
|
||||
description = "Fast regex extraction tool with pattern matching, replacement, and configurable sorting";
|
||||
homepage = "https://github.com/wfxr/xre";
|
||||
changelog = "https://github.com/wfxr/xre/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
mainProgram = "xre";
|
||||
};
|
||||
})
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
{ version, src, ... }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sqlite3";
|
||||
inherit version src;
|
||||
inherit (src) passthru;
|
||||
|
||||
setupHook = writeScript "${pname}-setup-hook" ''
|
||||
setupHook = writeScript "${finalAttrs.pname}-setup-hook" ''
|
||||
sqliteFixupHook() {
|
||||
runtimeDependencies+=('${lib.getLib sqlite}')
|
||||
}
|
||||
@@ -20,12 +20,16 @@ stdenv.mkDerivation rec {
|
||||
preFixupHooks+=(sqliteFixupHook)
|
||||
'';
|
||||
|
||||
postPatch = lib.optionalString (lib.versionAtLeast version "3.2.0") ''
|
||||
substituteInPlace lib/src/hook/description.dart \
|
||||
--replace-fail "return PrecompiledFromGithubAssets(LibraryType.sqlite3);" "return LookupSystem('sqlite3');"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out"
|
||||
ln -s '${src}'/* "$out"
|
||||
cp --recursive . "$out"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
})
|
||||
|
||||
@@ -57,144 +57,148 @@ let
|
||||
lib.path.removePrefix root path;
|
||||
|
||||
in
|
||||
writeScript "update-dotnet-vmr.sh" ''
|
||||
#! ${nix}/bin/nix-shell
|
||||
#! nix-shell -i ${runtimeShell} --pure ${drv} --keep UPDATE_NIX_ATTR_PATH
|
||||
set -euo pipefail
|
||||
writeScript "update-dotnet-vmr.sh" (
|
||||
''
|
||||
#! ${nix}/bin/nix-shell
|
||||
#! nix-shell -i ${runtimeShell} --pure ${drv} --keep UPDATE_NIX_ATTR_PATH
|
||||
set -euo pipefail
|
||||
|
||||
tag=''${1-}
|
||||
tag=''${1-}
|
||||
|
||||
if [[ -n $tag ]]; then
|
||||
query=$(cat <<EOF
|
||||
map(
|
||||
select(
|
||||
(.tag_name == "$tag"))) |
|
||||
first
|
||||
EOF
|
||||
)
|
||||
else
|
||||
query=$(cat <<EOF
|
||||
map(
|
||||
select(
|
||||
${lib.optionalString (!allowPrerelease) ".prerelease == false and"}
|
||||
.draft == false and
|
||||
(.tag_name | startswith("v${sdkVersionPrefix}")))) |
|
||||
first
|
||||
EOF
|
||||
)
|
||||
fi
|
||||
|
||||
query="$query "$(cat <<EOF
|
||||
| (
|
||||
.tag_name,
|
||||
(.assets |
|
||||
.[] |
|
||||
select(.name == "release.json") |
|
||||
.browser_download_url),
|
||||
(.assets |
|
||||
.[] |
|
||||
select(.name | endswith(".tar.gz.sig")) |
|
||||
.browser_download_url))
|
||||
EOF
|
||||
)
|
||||
|
||||
(
|
||||
curl -fsSL https://api.github.com/repos/dotnet/dotnet/releases | \
|
||||
jq -er "$query" \
|
||||
) | (
|
||||
read tagName
|
||||
read releaseUrl
|
||||
read sigUrl
|
||||
|
||||
# TMPDIR might be really long, which breaks gpg
|
||||
tmp="$(TMPDIR=/tmp mktemp -d)"
|
||||
trap 'rm -rf "$tmp"' EXIT
|
||||
|
||||
cd "$tmp"
|
||||
|
||||
curl -fsSL "$releaseUrl" -o release.json
|
||||
|
||||
if [[ -z $tag && "$tagName" == "${tag}" ]]; then
|
||||
>&2 echo "release is already $tagName"
|
||||
exit
|
||||
fi
|
||||
|
||||
tarballUrl=https://github.com/dotnet/dotnet/archive/refs/tags/$tagName.tar.gz
|
||||
|
||||
mapfile -t prefetch < <(nix-prefetch-url --print-path "$tarballUrl")
|
||||
tarballHash=$(nix-hash --to-sri --type sha256 "''${prefetch[0]}")
|
||||
tarball=''${prefetch[1]}
|
||||
|
||||
# recent dotnet 10 releases don't have a signature for the github tarball
|
||||
if [[ ! $sigUrl = */dotnet-source-* ]]; then
|
||||
curl -fssL "$sigUrl" -o release.sig
|
||||
|
||||
(
|
||||
export GNUPGHOME=$PWD/.gnupg
|
||||
mkdir -m 700 -p $GNUPGHOME
|
||||
trap 'gpgconf --kill all' EXIT
|
||||
gpg --no-autostart --batch --import ${releaseKey}
|
||||
gpg --no-autostart --batch --verify release.sig "$tarball"
|
||||
if [[ -n $tag ]]; then
|
||||
query=$(cat <<EOF
|
||||
map(
|
||||
select(
|
||||
(.tag_name == "$tag"))) |
|
||||
first
|
||||
EOF
|
||||
)
|
||||
fi
|
||||
else
|
||||
query=$(cat <<EOF
|
||||
map(
|
||||
select(
|
||||
${lib.optionalString (!allowPrerelease) ".prerelease == false and"}
|
||||
.draft == false and
|
||||
(.tag_name | startswith("v${sdkVersionPrefix}")))) |
|
||||
first
|
||||
EOF
|
||||
)
|
||||
fi
|
||||
|
||||
tar --strip-components=1 --no-wildcards-match-slash --wildcards -xzf "$tarball" \*/eng/Versions.props \*/global.json \*/prep\*.sh
|
||||
artifactsVersion=$(xq -r '.Project.PropertyGroup |
|
||||
map(select(.PrivateSourceBuiltArtifactsVersion))
|
||||
| .[] | .PrivateSourceBuiltArtifactsVersion' eng/Versions.props)
|
||||
query="$query "$(cat <<EOF
|
||||
| (
|
||||
.tag_name,
|
||||
(.assets |
|
||||
.[] |
|
||||
select(.name == "release.json") |
|
||||
.browser_download_url),
|
||||
(.assets |
|
||||
.[] |
|
||||
select(.name | endswith(".tar.gz.sig")) |
|
||||
.browser_download_url))
|
||||
EOF
|
||||
)
|
||||
|
||||
if [[ "$artifactsVersion" != "" ]]; then
|
||||
artifactVar=$(grep ^defaultArtifactsRid= prep-source-build.sh)
|
||||
eval "$artifactVar"
|
||||
(
|
||||
curl -fsSL https://api.github.com/repos/dotnet/dotnet/releases | \
|
||||
jq -er "$query" \
|
||||
) | (
|
||||
read tagName
|
||||
read releaseUrl
|
||||
read sigUrl
|
||||
|
||||
artifactsFile=Private.SourceBuilt.Artifacts.$artifactsVersion.$defaultArtifactsRid.tar.gz
|
||||
artifactsUrl=https://builds.dotnet.microsoft.com/${
|
||||
if lib.versionAtLeast channel "10" then "dotnet/source-build" else "source-built-artifacts/assets"
|
||||
}/$artifactsFile
|
||||
# TMPDIR might be really long, which breaks gpg
|
||||
tmp="$(TMPDIR=/tmp mktemp -d)"
|
||||
trap 'rm -rf "$tmp"' EXIT
|
||||
|
||||
curl -fsSL "$artifactsUrl" --head || {
|
||||
[[ $? == 22 ]]
|
||||
artifactsUrl=https://ci.dot.net/public/source-build/$artifactsFile
|
||||
}
|
||||
else
|
||||
artifactsUrl=$(xq -r '.Project.PropertyGroup |
|
||||
map(select(.PrivateSourceBuiltArtifactsUrl))
|
||||
| .[] | .PrivateSourceBuiltArtifactsUrl' eng/Versions.props)
|
||||
artifactsUrl="''${artifactsUrl/dotnetcli.azureedge.net/builds.dotnet.microsoft.com}"
|
||||
fi
|
||||
cd "$tmp"
|
||||
|
||||
artifactsHash=$(nix-prefetch-url "$artifactsUrl")
|
||||
artifactsHash=$(nix-hash --to-sri --type sha256 "$artifactsHash")
|
||||
curl -fsSL "$releaseUrl" -o release.json
|
||||
|
||||
sdkVersion=$(jq -er .tools.dotnet global.json)
|
||||
if [[ -z $tag && "$tagName" == "${tag}" ]]; then
|
||||
>&2 echo "release is already $tagName"
|
||||
exit
|
||||
fi
|
||||
|
||||
# below needs to be run in nixpkgs because toOutputPath uses relative paths
|
||||
cd -
|
||||
tarballUrl=https://github.com/dotnet/dotnet/archive/refs/tags/$tagName.tar.gz
|
||||
|
||||
cp "$tmp"/release.json "${toOutputPath releaseManifestFile}"
|
||||
mapfile -t prefetch < <(nix-prefetch-url --print-path "$tarballUrl")
|
||||
tarballHash=$(nix-hash --to-sri --type sha256 "''${prefetch[0]}")
|
||||
tarball=''${prefetch[1]}
|
||||
|
||||
jq --null-input \
|
||||
--arg _0 "$tarballHash" \
|
||||
--arg _1 "$artifactsUrl" \
|
||||
--arg _2 "$artifactsHash" \
|
||||
'{
|
||||
"tarballHash": $_0,
|
||||
"artifactsUrl": $_1,
|
||||
"artifactsHash": $_2,
|
||||
}' > "${toOutputPath releaseInfoFile}"
|
||||
# recent dotnet 10 releases don't have a signature for the github tarball
|
||||
if [[ ! $sigUrl = */dotnet-source-* ]]; then
|
||||
curl -fssL "$sigUrl" -o release.sig
|
||||
|
||||
updateSDK() {
|
||||
${lib.escapeShellArg (toOutputPath ./update.sh)} \
|
||||
-o ${lib.escapeShellArg (toOutputPath bootstrapSdkFile)} --sdk "$1" >&2
|
||||
}
|
||||
(
|
||||
export GNUPGHOME=$PWD/.gnupg
|
||||
mkdir -m 700 -p $GNUPGHOME
|
||||
trap 'gpgconf --kill all' EXIT
|
||||
gpg --no-autostart --batch --import ${releaseKey}
|
||||
gpg --no-autostart --batch --verify release.sig "$tarball"
|
||||
)
|
||||
fi
|
||||
|
||||
updateSDK "$sdkVersion" || if [[ $? == 2 ]]; then
|
||||
>&2 echo "WARNING: bootstrap sdk missing, attempting to bootstrap with self"
|
||||
updateSDK "$(jq -er .sdkVersion "$tmp"/release.json)"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
tar --strip-components=1 --no-wildcards-match-slash --wildcards -xzf "$tarball" \*/eng/Versions.props \*/global.json \*/prep\*.sh
|
||||
artifactsVersion=$(xq -r '.Project.PropertyGroup |
|
||||
map(select(.PrivateSourceBuiltArtifactsVersion))
|
||||
| .[] | .PrivateSourceBuiltArtifactsVersion' eng/Versions.props)
|
||||
|
||||
$(nix-build -A $UPDATE_NIX_ATTR_PATH.fetch-deps --no-out-link) >&2
|
||||
)
|
||||
''
|
||||
if [[ "$artifactsVersion" != "" ]]; then
|
||||
artifactVar=$(grep ^defaultArtifactsRid= prep-source-build.sh)
|
||||
eval "$artifactVar"
|
||||
|
||||
artifactsFile=Private.SourceBuilt.Artifacts.$artifactsVersion.$defaultArtifactsRid.tar.gz
|
||||
artifactsUrl=https://builds.dotnet.microsoft.com/${
|
||||
if lib.versionAtLeast channel "10" then "dotnet/source-build" else "source-built-artifacts/assets"
|
||||
}/$artifactsFile
|
||||
|
||||
curl -fsSL "$artifactsUrl" --head || {
|
||||
[[ $? == 22 ]]
|
||||
artifactsUrl=https://ci.dot.net/public/source-build/$artifactsFile
|
||||
}
|
||||
else
|
||||
artifactsUrl=$(xq -r '.Project.PropertyGroup |
|
||||
map(select(.PrivateSourceBuiltArtifactsUrl))
|
||||
| .[] | .PrivateSourceBuiltArtifactsUrl' eng/Versions.props)
|
||||
artifactsUrl="''${artifactsUrl/dotnetcli.azureedge.net/builds.dotnet.microsoft.com}"
|
||||
fi
|
||||
|
||||
artifactsHash=$(nix-prefetch-url "$artifactsUrl")
|
||||
artifactsHash=$(nix-hash --to-sri --type sha256 "$artifactsHash")
|
||||
|
||||
sdkVersion=$(jq -er .tools.dotnet global.json)
|
||||
|
||||
# below needs to be run in nixpkgs because toOutputPath uses relative paths
|
||||
cd -
|
||||
|
||||
cp "$tmp"/release.json "${toOutputPath releaseManifestFile}"
|
||||
|
||||
jq --null-input \
|
||||
--arg _0 "$tarballHash" \
|
||||
--arg _1 "$artifactsUrl" \
|
||||
--arg _2 "$artifactsHash" \
|
||||
'{
|
||||
"tarballHash": $_0,
|
||||
"artifactsUrl": $_1,
|
||||
"artifactsHash": $_2,
|
||||
}' > "${toOutputPath releaseInfoFile}"
|
||||
''
|
||||
+ lib.optionalString (bootstrapSdkFile != null) ''
|
||||
updateSDK() {
|
||||
${lib.escapeShellArg (toOutputPath ./update.sh)} \
|
||||
-o ${lib.escapeShellArg (toOutputPath bootstrapSdkFile)} --sdk "$1" >&2
|
||||
}
|
||||
|
||||
updateSDK "$sdkVersion" || if [[ $? == 2 ]]; then
|
||||
>&2 echo "WARNING: bootstrap sdk missing, attempting to bootstrap with self"
|
||||
updateSDK "$(jq -er .sdkVersion "$tmp"/release.json)"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
''
|
||||
+ ''
|
||||
$(nix-build -A $UPDATE_NIX_ATTR_PATH.fetch-deps --no-out-link) >&2
|
||||
)
|
||||
''
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user