Merge 980e0fe75a into haskell-updates
This commit is contained in:
@@ -377,8 +377,8 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
|
||||
# VimPlugins
|
||||
/pkgs/applications/editors/vim/plugins @NixOS/neovim
|
||||
## nvim-treesitter
|
||||
/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @figsoda
|
||||
/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter @figsoda
|
||||
/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @NixOS/neovim @figsoda
|
||||
/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter @NixOS/neovim @figsoda
|
||||
|
||||
# VsCode Extensions
|
||||
/pkgs/applications/editors/vscode/extensions
|
||||
|
||||
@@ -2,6 +2,17 @@
|
||||
const { promisify } = require('node:util')
|
||||
const execFile = promisify(require('node:child_process').execFile)
|
||||
|
||||
/**
|
||||
* @typedef {{
|
||||
* subject: string,
|
||||
* sha: string,
|
||||
* author: { name: string, email: string },
|
||||
* committer: { name: string, email: string}
|
||||
* changedPaths: string[],
|
||||
* changedPathSegments: Set<string>,
|
||||
* }} Commit
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* args: string[]
|
||||
@@ -34,12 +45,7 @@ async function runGit({ args, repoPath, core, quiet }) {
|
||||
* repoPath?: string,
|
||||
* }} GetCommitMessagesForPRProps
|
||||
*
|
||||
* @returns {Promise<{
|
||||
* subject: string,
|
||||
* sha: string,
|
||||
* changedPaths: string[],
|
||||
* changedPathSegments: Set<string>,
|
||||
* }[]>}
|
||||
* @returns {Promise<Commit[]>}
|
||||
*/
|
||||
async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
await runGit({
|
||||
@@ -70,17 +76,25 @@ async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
|
||||
return Promise.all(
|
||||
shas.map(async (sha) => {
|
||||
// Subject first, then a blank line, then filenames.
|
||||
// Subject, author name, author email, committer name, committer email (all tab-seperated)
|
||||
// then a blank line, then filenames.
|
||||
const result = (
|
||||
await runGit({
|
||||
args: ['log', '--format=%s', '--name-only', '-1', sha],
|
||||
args: [
|
||||
'log',
|
||||
'--format=%s\t%aN\t%aE\t%cN\t%cE',
|
||||
'--name-only',
|
||||
'-1',
|
||||
sha,
|
||||
],
|
||||
repoPath,
|
||||
core,
|
||||
quiet: true,
|
||||
})
|
||||
).stdout.split('\n')
|
||||
|
||||
const subject = result[0]
|
||||
const [subject, authorName, authorEmail, committerName, committerEmail] =
|
||||
result[0].split('\t')
|
||||
|
||||
const changedPaths = result.slice(2, -1)
|
||||
|
||||
@@ -91,6 +105,8 @@ async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
return {
|
||||
sha,
|
||||
subject,
|
||||
author: { name: authorName, email: authorEmail },
|
||||
committer: { name: committerName, email: committerEmail },
|
||||
changedPaths,
|
||||
changedPathSegments,
|
||||
}
|
||||
|
||||
@@ -2,15 +2,17 @@
|
||||
const { classify } = require('../supportedBranches.js')
|
||||
const { getCommitDetailsForPR } = require('./get-pr-commit-details.js')
|
||||
|
||||
/** @typedef {import('./get-pr-commit-details.js').Commit} Commit */
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* github: InstanceType<import('@actions/github/lib/utils').GitHub>,
|
||||
* context: import('@actions/github/lib/context').Context,
|
||||
* context: typeof import('@actions/github').context,
|
||||
* core: import('@actions/core'),
|
||||
* repoPath?: string,
|
||||
* }} CheckCommitMessagesProps
|
||||
* }} LintCommitsProps
|
||||
*/
|
||||
async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
async function lintCommits({ github, context, core, repoPath }) {
|
||||
// This check should only be run when we have the pull_request context.
|
||||
const pull_number = context.payload.pull_request?.number
|
||||
if (!pull_number) {
|
||||
@@ -48,6 +50,17 @@ async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
|
||||
const commits = await getCommitDetailsForPR({ core, pr, repoPath })
|
||||
|
||||
await checkCommitMessages({ commits, core })
|
||||
await checkCommitMetadata({ commits, core })
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* commits: Commit[],
|
||||
* core: import('@actions/core'),
|
||||
* }} CheckCommitMessagesProps
|
||||
*/
|
||||
async function checkCommitMessages({ commits, core }) {
|
||||
const failures = new Set()
|
||||
|
||||
const conventionalCommitTypes = [
|
||||
@@ -152,4 +165,59 @@ async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = checkCommitMessages
|
||||
/**
|
||||
* @param {{
|
||||
* commits: Commit[],
|
||||
* core: import('@actions/core'),
|
||||
* }} CheckGitFieldsProps
|
||||
*/
|
||||
async function checkCommitMetadata({ commits, core }) {
|
||||
const failures = new Set()
|
||||
|
||||
/** @type {(s: string) => boolean} */
|
||||
const isEmail = (s) => /^.+@.*$/.test(s)
|
||||
|
||||
for (const commit of commits) {
|
||||
if (!commit.author.name) {
|
||||
core.error(`Commit ${commit.sha} author's name field is missing`)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.author.email || !isEmail(commit.author.email)) {
|
||||
core.error(
|
||||
`Commit ${commit.sha} author's email field is missing or invalid`,
|
||||
)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.committer.name) {
|
||||
core.error(`Commit ${commit.sha} committer's name field is missing`)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.committer.email || !isEmail(commit.committer.email)) {
|
||||
core.error(
|
||||
`Commit ${commit.sha} committer's email field is missing or invalid`,
|
||||
)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!failures.has(commit.sha)) {
|
||||
core.info(
|
||||
`Commit ${commit.sha}'s git fields passed our automated checks!`,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (failures.size !== 0) {
|
||||
core.error(
|
||||
'Please add the missing commit fields. ' +
|
||||
'You can use the noreply email address generated for you by GitHub ' +
|
||||
'(https://docs.github.com/en/account-and-profile/reference/email-addresses-reference#your-noreply-email-address) ' +
|
||||
"if you'd like.",
|
||||
)
|
||||
core.setFailed('Committers: merging is discouraged.')
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = lintCommits
|
||||
|
||||
@@ -310,6 +310,8 @@
|
||||
If your SQLite database is corrupted, the migration might fail and require [manual intervention](https://github.com/louislam/uptime-kuma/issues/5281).
|
||||
See the [migration guide](https://github.com/louislam/uptime-kuma/wiki/Migration-From-v1-To-v2) for more information.
|
||||
|
||||
- `incus-lts` has been updated from v6 to v7
|
||||
|
||||
- The `libcxxhardeningextensive` hardening flag has been **disabled** by default. Enabling it by default in 25.11 was unintentional and may have had a negative effect on performance in some cases. `libcxxhardeningfast` remains enabled by default.
|
||||
|
||||
- The packages `ibtool`, `actool` and `re-plistbuddy` have been added, providing reimplementations of the corresponding proprietary Apple tools. They are more compatible with the originals than the previously existing `xcbuild` package, and should enable more darwin software to be built from source.
|
||||
|
||||
@@ -1560,6 +1560,11 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "W3C Software Notice and License";
|
||||
};
|
||||
|
||||
w3c-19980720 = {
|
||||
spdxId = "W3C-19980720";
|
||||
fullName = "W3C Software Notice and License (1998-07-20)";
|
||||
};
|
||||
|
||||
wadalab = {
|
||||
fullName = "Wadalab Font License";
|
||||
url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab";
|
||||
|
||||
@@ -621,6 +621,64 @@ let
|
||||
else
|
||||
null;
|
||||
};
|
||||
|
||||
nim = {
|
||||
# See these locations for a known list of cpu/os idntifeiers:
|
||||
# - https://nim-lang.org/docs/system.html#hostCPU
|
||||
# - https://nim-lang.org/docs/system.html#hostOS
|
||||
cpu =
|
||||
if final.isAarch32 then
|
||||
"arm"
|
||||
else if final.isAarch64 then
|
||||
"arm64"
|
||||
else if final.isAlpha then
|
||||
"alpha"
|
||||
else if final.isAvr then
|
||||
"avr"
|
||||
else if final.isMips && final.is32Bit then
|
||||
"mips"
|
||||
else if final.isMips && final.is64Bit then
|
||||
"mips64"
|
||||
else if final.isMsp430 then
|
||||
"msp430"
|
||||
else if final.isPower && final.is32bit then
|
||||
"powerpc"
|
||||
else if final.isPower && final.is64bit then
|
||||
"powerpc64"
|
||||
else if final.isRiscV && final.is64bit then
|
||||
"riscv64"
|
||||
else if final.isSparc then
|
||||
"sparc"
|
||||
else if final.isx86_32 then
|
||||
"i386"
|
||||
else if final.isx86_64 then
|
||||
"amd64"
|
||||
else
|
||||
null;
|
||||
os =
|
||||
if final.isAndroid then
|
||||
"Android"
|
||||
else if final.isDarwin then
|
||||
"MacOSX"
|
||||
else if final.isFreeBSD then
|
||||
"FreeBSD"
|
||||
else if final.isGenode then
|
||||
"Genode"
|
||||
else if final.isLinux then
|
||||
"Linux"
|
||||
else if final.isNetBSD then
|
||||
"NetBSD"
|
||||
else if final.isNone then
|
||||
"Standalone"
|
||||
else if final.isOpenBSD then
|
||||
"OpenBSD"
|
||||
else if final.isWindows then
|
||||
"Windows"
|
||||
else if final.isiOS then
|
||||
"iOS"
|
||||
else
|
||||
null;
|
||||
};
|
||||
};
|
||||
in
|
||||
assert final.useAndroidPrebuilt -> final.isAndroid;
|
||||
|
||||
@@ -7699,6 +7699,12 @@
|
||||
githubId = 22300113;
|
||||
name = "Eduardo Espadeiro";
|
||||
};
|
||||
eduardofuncao = {
|
||||
email = "eduardofuncao@hotmail.com";
|
||||
github = "eduardofuncao";
|
||||
githubId = 45571086;
|
||||
name = "Eduardo Função";
|
||||
};
|
||||
eduarrrd = {
|
||||
email = "e.bachmakov@gmail.com";
|
||||
github = "eduarrrd";
|
||||
@@ -9338,6 +9344,12 @@
|
||||
githubId = 134872;
|
||||
name = "Sergei Lukianov";
|
||||
};
|
||||
frostplexx = {
|
||||
email = "daniel.inama02@gmail.com";
|
||||
github = "frostplexx";
|
||||
githubId = 62436912;
|
||||
name = "Daniel Inama";
|
||||
};
|
||||
fryuni = {
|
||||
name = "Luiz Ferraz";
|
||||
email = "luiz@lferraz.com";
|
||||
@@ -20896,6 +20908,13 @@
|
||||
githubId = 686076;
|
||||
name = "Vitalii Voloshyn";
|
||||
};
|
||||
panakotta00 = {
|
||||
name = "Panakotta00";
|
||||
github = "Panakotta00";
|
||||
githubId = 16022267;
|
||||
email = "panakotta00@gmail.com";
|
||||
keys = [ { fingerprint = "ABF8 D539 0F8C F623 8F49 7338 BA6C E8AC 4B73 53B9"; } ];
|
||||
};
|
||||
pancaek = {
|
||||
github = "pancaek";
|
||||
githubId = 20342389;
|
||||
@@ -24343,6 +24362,12 @@
|
||||
githubId = 30531572;
|
||||
name = "Robert James Hernandez";
|
||||
};
|
||||
sarowish = {
|
||||
email = "berkeenercan@tutanota.com";
|
||||
github = "sarowish";
|
||||
githubId = 20581722;
|
||||
name = "Berke Enercan";
|
||||
};
|
||||
sarunint = {
|
||||
email = "nixpkgs@sarunint.com";
|
||||
github = "sarunint";
|
||||
@@ -25342,6 +25367,11 @@
|
||||
github = "Simarra";
|
||||
githubId = 14372987;
|
||||
};
|
||||
Simon-Weij = {
|
||||
name = "Simon";
|
||||
github = "Simon-Weij";
|
||||
githubId = 175155691;
|
||||
};
|
||||
simonchatts = {
|
||||
email = "code@chatts.net";
|
||||
github = "simonchatts";
|
||||
@@ -25821,6 +25851,12 @@
|
||||
githubId = 6277322;
|
||||
name = "Wei Tang";
|
||||
};
|
||||
sotormd = {
|
||||
email = "sotormd@proton.me";
|
||||
github = "sotormd";
|
||||
githubId = 201147279;
|
||||
name = "sotormd";
|
||||
};
|
||||
soupglasses = {
|
||||
email = "sofi+git@mailbox.org";
|
||||
github = "soupglasses";
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Disable the cloneConfig module. We have our own Service to generate a configuration.nix.
|
||||
installer.cloneConfig = false;
|
||||
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
useDHCP = false;
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Disable the cloneConfig module. We have our own Service to generate a configuration.nix.
|
||||
installer.cloneConfig = false;
|
||||
|
||||
# Network
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
|
||||
@@ -189,6 +189,9 @@ in
|
||||
"/etc/kbd/keymaps" = lib.mkIf (!cfg.earlySetup) {
|
||||
source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/keymaps";
|
||||
};
|
||||
"/etc/kbd/consolefonts" = lib.mkIf (!cfg.earlySetup && cfg.font != null) {
|
||||
source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/consolefonts";
|
||||
};
|
||||
};
|
||||
boot.initrd.systemd.additionalUpstreamUnits = [
|
||||
"systemd-vconsole-setup.service"
|
||||
|
||||
@@ -254,7 +254,7 @@ in
|
||||
startSession = true;
|
||||
allowNullPassword = true;
|
||||
showMotd = true;
|
||||
updateWtmp = true;
|
||||
lastlog.enable = true;
|
||||
};
|
||||
chpasswd.rootOK = true;
|
||||
};
|
||||
|
||||
@@ -137,6 +137,7 @@ let
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "enableKwallet" ] [ "kwallet" "enable" ])
|
||||
(lib.mkRenamedOptionModule [ "u2fAuth" ] [ "u2f" "enable" ])
|
||||
(lib.mkRenamedOptionModule [ "updateWtmp" ] [ "lastlog" "enable" ])
|
||||
];
|
||||
|
||||
options = {
|
||||
@@ -583,10 +584,21 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
updateWtmp = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = "Whether to update {file}`/var/log/wtmp`.";
|
||||
lastlog = {
|
||||
enable = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = "Whether to update {file}`/var/log/wtmp`.";
|
||||
};
|
||||
|
||||
silent = lib.mkOption {
|
||||
default = true;
|
||||
example = false;
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Whether to suppress the message showing the last login date.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
logFailures = lib.mkOption {
|
||||
@@ -1521,11 +1533,11 @@ let
|
||||
}
|
||||
{
|
||||
name = "lastlog";
|
||||
enable = cfg.updateWtmp;
|
||||
enable = cfg.lastlog.enable;
|
||||
control = "required";
|
||||
modulePath = "${pkgs.util-linux.lastlog}/lib/security/pam_lastlog2.so";
|
||||
settings = {
|
||||
silent = true;
|
||||
inherit (cfg.lastlog) silent;
|
||||
};
|
||||
}
|
||||
# Work around https://github.com/systemd/systemd/issues/8598
|
||||
@@ -2549,7 +2561,7 @@ in
|
||||
environment.etc = lib.mapAttrs' makePAMService enabledServices;
|
||||
|
||||
systemd =
|
||||
lib.mkIf (lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services))
|
||||
lib.mkIf (lib.any (service: service.lastlog.enable) (lib.attrValues config.security.pam.services))
|
||||
{
|
||||
tmpfiles.packages = [ pkgs.util-linux.lastlog ]; # /lib/tmpfiles.d/lastlog2-tmpfiles.conf
|
||||
services.lastlog2-import = {
|
||||
|
||||
@@ -10,6 +10,7 @@ let
|
||||
concatMap
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
escapeShellArgs
|
||||
filterAttrs
|
||||
getAttr
|
||||
isAttrs
|
||||
@@ -275,6 +276,15 @@ in
|
||||
];
|
||||
description = "What actions can be performed with this SSH key. See ssh_filter_btrbk(1) for details";
|
||||
};
|
||||
extraArgs = mkOption {
|
||||
type = listOf str;
|
||||
description = "Additional arguments to pass to ssh_filter_btrbk";
|
||||
default = [ ];
|
||||
example = [
|
||||
"--log"
|
||||
"--restrict-path <path>"
|
||||
];
|
||||
};
|
||||
};
|
||||
});
|
||||
default = [ ];
|
||||
@@ -335,7 +345,7 @@ in
|
||||
in
|
||||
''command="${pkgs.util-linux}/bin/ionice -t -c ${toString ioniceClass} ${
|
||||
optionalString (cfg.niceness >= 1) "${pkgs.coreutils}/bin/nice -n ${toString cfg.niceness}"
|
||||
} ${pkgs.btrbk}/share/btrbk/scripts/ssh_filter_btrbk.sh ${sudo_doas_flag} ${options}" ${v.key}''
|
||||
} ${pkgs.btrbk}/share/btrbk/scripts/ssh_filter_btrbk.sh ${sudo_doas_flag} ${options} ${escapeShellArgs v.extraArgs}" ${v.key}''
|
||||
) cfg.sshAccess;
|
||||
};
|
||||
users.groups.btrbk = { };
|
||||
|
||||
@@ -288,6 +288,37 @@ in
|
||||
Group = "lldap";
|
||||
DynamicUser = true;
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
RemoveIPC = true;
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged"
|
||||
"~@resources"
|
||||
];
|
||||
SystemCallArchitectures = "native";
|
||||
CapabilityBoundingSet = "";
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectSystem = "strict";
|
||||
ProtectProc = "invisible";
|
||||
ProcSubset = "pid";
|
||||
MemoryDenyWriteExecute = true;
|
||||
};
|
||||
inherit (cfg) environment;
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ in
|
||||
extraArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments to pass to IIO-Niri.";
|
||||
description = "Extra arguments to pass to `iio-niri listen`.";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@ in
|
||||
after = [ cfg.niriUnit ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${getExe cfg.package} ${escapeShellArgs cfg.extraArgs}";
|
||||
ExecStart = "${getExe cfg.package} listen ${escapeShellArgs cfg.extraArgs}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ in
|
||||
signKeyPath = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
description = "DEPRECATED: Use `services.harmonia-dev.cache.signKeyPaths` instead. Path to the signing key to use for signing the cache";
|
||||
description = "DEPRECATED: Use `services.harmonia.cache.signKeyPaths` instead. Path to the signing key to use for signing the cache";
|
||||
};
|
||||
|
||||
signKeyPaths = lib.mkOption {
|
||||
@@ -109,31 +109,30 @@ in
|
||||
else
|
||||
[ ];
|
||||
|
||||
nix.settings.extra-allowed-users = [ "harmonia" ];
|
||||
users.users.harmonia = {
|
||||
isSystemUser = true;
|
||||
group = "harmonia";
|
||||
services.harmonia.cache.settings = builtins.mapAttrs (_: v: lib.mkDefault v) {
|
||||
bind = "[::]:5000";
|
||||
workers = 4;
|
||||
max_connection_rate = 256;
|
||||
priority = 50;
|
||||
};
|
||||
users.groups.harmonia = { };
|
||||
|
||||
services.harmonia.cache.settings = builtins.mapAttrs (_: v: lib.mkDefault v) (
|
||||
{
|
||||
bind = "[::]:5000";
|
||||
workers = 4;
|
||||
max_connection_rate = 256;
|
||||
priority = 50;
|
||||
}
|
||||
// lib.optionalAttrs daemonCfg.enable {
|
||||
daemon_socket = daemonCfg.socketPath;
|
||||
}
|
||||
);
|
||||
# Socket activation lets the service run with PrivateNetwork; the
|
||||
# inherited fd keeps referring to the host netns.
|
||||
systemd.sockets.harmonia = {
|
||||
description = "harmonia binary cache socket";
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig.ListenStream =
|
||||
let
|
||||
b = cacheCfg.settings.bind;
|
||||
in
|
||||
if lib.hasPrefix "unix:" b then lib.removePrefix "//" (lib.removePrefix "unix:" b) else b;
|
||||
};
|
||||
|
||||
systemd.services.harmonia = {
|
||||
description = "harmonia binary cache service";
|
||||
|
||||
requires = if daemonCfg.enable then [ "harmonia-daemon.service" ] else [ "nix-daemon.socket" ];
|
||||
after = [ "network.target" ] ++ lib.optional daemonCfg.enable "harmonia-daemon.service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "harmonia.socket" ];
|
||||
after = [ "harmonia.socket" ];
|
||||
|
||||
environment = {
|
||||
CONFIG_FILE = format.generate "harmonia.toml" cacheCfg.settings;
|
||||
@@ -150,6 +149,9 @@ in
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
User = "harmonia";
|
||||
Group = "harmonia";
|
||||
DynamicUser = true;
|
||||
Type = "notify";
|
||||
WatchdogSec = 15;
|
||||
Restart = "on-failure";
|
||||
PrivateUsers = true;
|
||||
DeviceAllow = [ "" ];
|
||||
@@ -174,7 +176,12 @@ in
|
||||
ProtectProc = "invisible";
|
||||
RestrictNamespaces = true;
|
||||
SystemCallArchitectures = "native";
|
||||
PrivateNetwork = false;
|
||||
|
||||
# accept(2) on the inherited fd is exempt from both restrictions.
|
||||
PrivateNetwork = true;
|
||||
RestrictAddressFamilies = [ "AF_UNIX" ];
|
||||
IPAddressDeny = "any";
|
||||
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateMounts = true;
|
||||
@@ -182,7 +189,6 @@ in
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
LockPersonality = true;
|
||||
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
|
||||
LimitNOFILE = 65536;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -240,6 +240,10 @@ in
|
||||
''
|
||||
);
|
||||
|
||||
systemd.slices.system-reaction = {
|
||||
description = "Reaction system slice";
|
||||
};
|
||||
|
||||
systemd.services.reaction = {
|
||||
description = "A daemon that scans program outputs for repeated patterns, and takes action.";
|
||||
documentation = [ "https://reaction.ppom.me" ];
|
||||
@@ -250,6 +254,7 @@ in
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
KillMode = "mixed"; # for plugins
|
||||
Slice = "system-reaction.slice";
|
||||
User = if (!cfg.runAsRoot) then "reaction" else "root";
|
||||
ExecStart = ''
|
||||
${getExe cfg.package} start -c ${settingsDir}${
|
||||
|
||||
@@ -48,7 +48,7 @@ let
|
||||
IFS=:
|
||||
for i in $XDG_CURRENT_DESKTOP; do
|
||||
case $i in
|
||||
KDE|GNOME|Pantheon|Hyprland|X-NIXOS-SYSTEMD-AWARE) echo "1"; exit; ;;
|
||||
KDE|GNOME|Pantheon|Hyprland|niri|X-NIXOS-SYSTEMD-AWARE) echo "1"; exit; ;;
|
||||
*) ;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -39,8 +39,8 @@ let
|
||||
dnsmasq
|
||||
e2fsprogs
|
||||
findutils
|
||||
getent
|
||||
gawk
|
||||
getent
|
||||
gnugrep
|
||||
gnused
|
||||
gnutar
|
||||
@@ -50,33 +50,29 @@ let
|
||||
iptables
|
||||
iw
|
||||
kmod
|
||||
lego
|
||||
libxfs
|
||||
lvm2
|
||||
lz4
|
||||
lxcfs
|
||||
lz4
|
||||
nftables
|
||||
qemu-utils
|
||||
qemu_kvm
|
||||
rsync
|
||||
skopeo
|
||||
squashfs-tools-ng
|
||||
squashfsTools
|
||||
sshfs
|
||||
swtpm
|
||||
systemd
|
||||
thin-provisioning-tools
|
||||
umoci
|
||||
util-linux
|
||||
virtiofsd
|
||||
xdelta
|
||||
xz
|
||||
zstd
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.3.0") [
|
||||
skopeo
|
||||
umoci
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.11.0") [
|
||||
lego
|
||||
]
|
||||
++ lib.optionals config.security.apparmor.enable [
|
||||
apparmor-bin-utils
|
||||
|
||||
@@ -97,10 +93,6 @@ let
|
||||
]
|
||||
++ lib.optionals nvidiaEnabled [
|
||||
libnvidia-container
|
||||
]
|
||||
++ lib.optionals cfg.bucketSupport [
|
||||
minio
|
||||
minio-client
|
||||
];
|
||||
|
||||
# https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123
|
||||
@@ -213,13 +205,6 @@ in
|
||||
description = "The incus client package to use. This package is added to PATH.";
|
||||
};
|
||||
|
||||
bucketSupport = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "Enable bucket support using minio, which is an insecure and unmaintained S3 provider.";
|
||||
default = if lib.versionAtLeast config.system.stateVersion "26.11" then false else null;
|
||||
defaultText = lib.literalExpression ''if lib.versionAtLeast config.system.stateVersion "26.11" then false else null;'';
|
||||
};
|
||||
|
||||
softDaemonRestart = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
@@ -573,4 +558,10 @@ in
|
||||
|
||||
virtualisation.lxc.lxcfs.enable = true;
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "virtualisation" "incus" "bucketSupport" ] ''
|
||||
The option was only a temporary workaround to gate the insecure minio dependency until it could be dropped.
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
||||
@@ -815,8 +815,12 @@ in
|
||||
jool = import ./jool.nix { inherit pkgs runTest; };
|
||||
jotta-cli = runTest ./jotta-cli.nix;
|
||||
k3s = import ./rancher {
|
||||
inherit pkgs runTest;
|
||||
inherit pkgs;
|
||||
inherit (pkgs) lib;
|
||||
runTest = runTestOn [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
rancherDistro = "k3s";
|
||||
};
|
||||
kafka = handleTest ./kafka { };
|
||||
@@ -1369,7 +1373,7 @@ in
|
||||
pulseaudio-tcp = runTest ./pulseaudio-tcp.nix;
|
||||
pykms = runTest ./pykms.nix;
|
||||
qbittorrent = runTest ./qbittorrent.nix;
|
||||
qboot = handleTestOn [ "x86_64-linux" "i686-linux" ] ./qboot.nix { };
|
||||
qboot = runTestOn [ "x86_64-linux" "i686-linux" ] ./qboot.nix;
|
||||
qemu-vm-credentials-fwcfg = runTest {
|
||||
imports = [ ./qemu-vm-credentials.nix ];
|
||||
_module.args.mechanism = "fw_cfg";
|
||||
|
||||
@@ -148,10 +148,10 @@ in
|
||||
|
||||
with subtest("Grafana alert arrives at ntfy"):
|
||||
machine.succeed(
|
||||
"curl -sf http://127.0.0.1:${toString ports.grafana}/api/alertmanager/grafana/config/api/v1/receivers/test"
|
||||
"curl -sf http://127.0.0.1:${toString ports.grafana}/apis/notifications.alerting.grafana.app/v1beta1/namespaces/default/receivers/-/test"
|
||||
" -u admin:admin"
|
||||
" -X POST -H 'Content-Type: application/json'"
|
||||
""" -d '{"receivers": [{"name": "grafana-to-ntfy", "grafana_managed_receiver_configs": [{"uid": "cp_webhook", "name": "webhook", "type": "webhook", "disableResolveMessage": false, "settings": {"url": "http://127.0.0.1:${toString ports.grafana-to-ntfy}", "httpMethod": "POST"}}]}]}'"""
|
||||
""" -d '{"alert": {"labels": {"alertname": "test-alert"}, "annotations": {}}, "integration": {"type": "webhook", "settings": {"url": "http://127.0.0.1:${toString ports.grafana-to-ntfy}", "httpMethod": "POST"}}}'"""
|
||||
)
|
||||
# grep ensures we wait for the Grafana message specifically (see above)
|
||||
resp = machine.wait_until_succeeds(
|
||||
|
||||
@@ -142,11 +142,11 @@ in
|
||||
server.succeed("systemctl start incus")
|
||||
|
||||
with subtest("[${image_id}] CPU limits can be managed"):
|
||||
server.set_instance_config(instance_name, "limits.cpu 1", restart=True)
|
||||
server.set_instance_config(instance_name, "limits.cpu=1", restart=True)
|
||||
server.wait_instance_exec_success(instance_name, "nproc | grep '^1$'", timeout=90)
|
||||
|
||||
with subtest("[${image_id}] CPU limits can be hotplug changed"):
|
||||
server.set_instance_config(instance_name, "limits.cpu 2")
|
||||
server.set_instance_config(instance_name, "limits.cpu=2")
|
||||
server.wait_instance_exec_success(instance_name, "nproc | grep '^2$'", timeout=90)
|
||||
|
||||
with subtest("[${image_id}] exec has a valid path"):
|
||||
@@ -164,6 +164,7 @@ in
|
||||
|
||||
with subtest("[${image_id}] default configuration.nix is created on first boot"):
|
||||
server.succeed(f"incus exec {instance_name} -- test -f /etc/nixos/configuration.nix")
|
||||
server.succeed(f"incus exec {instance_name} -- grep -q 'default incus configuration' /etc/nixos/configuration.nix")
|
||||
|
||||
with subtest("[${image_id}] configuration.nix create service does not overwrite existing config"):
|
||||
server.succeed(f"incus exec {instance_name} -- systemctl restart incus-create-nixos-config.service")
|
||||
@@ -195,7 +196,7 @@ in
|
||||
|
||||
# TODO troubleshoot VM hot memory resizing which was introduced in 6.12
|
||||
with subtest("[${image_id}] memory limits can be hotplug changed"):
|
||||
server.set_instance_config(instance_name, "limits.memory 512MB")
|
||||
server.set_instance_config(instance_name, "limits.memory=512MB")
|
||||
# can't use lsmem since it sees the host's memory size
|
||||
server.wait_instance_exec_success(instance_name, "grep 'MemTotal:[[:space:]]*500000 kB' /proc/meminfo", timeout=1)
|
||||
|
||||
@@ -244,7 +245,7 @@ in
|
||||
# python
|
||||
''
|
||||
with subtest("[${image_id}] memory limits can be managed"):
|
||||
server.set_instance_config(instance_name, "limits.memory 384MB", restart=True)
|
||||
server.set_instance_config(instance_name, "limits.memory=384MB", restart=True)
|
||||
lsmem = json.loads(server.instance_succeed(instance_name, "lsmem --json"))
|
||||
memsize = lsmem["memory"][0]["size"]
|
||||
assert memsize == "384M", f"failed to manage memory limit. {memsize} != 384M"
|
||||
|
||||
@@ -51,7 +51,6 @@ in
|
||||
incus = {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
bucketSupport = false;
|
||||
|
||||
preseed = {
|
||||
networks = [
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
# we abuse run0 for a quick login as root as to not require setting up accounts and passwords
|
||||
security.pam.services.systemd-run0 = {
|
||||
updateWtmp = true; # enable lastlog
|
||||
};
|
||||
imports = [ ../common/user-account.nix ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
@@ -23,8 +20,13 @@
|
||||
|
||||
with subtest("Test lastlog entries are created by logins"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed("run0 --pty true") # perform full login
|
||||
print(machine.succeed("lastlog2 --active --user root"))
|
||||
machine.wait_until_tty_matches("1", "login: ")
|
||||
machine.send_chars("alice\n")
|
||||
machine.wait_until_tty_matches("1", "Password: ")
|
||||
machine.send_chars("foobar\n")
|
||||
machine.wait_until_succeeds("pgrep -u alice bash")
|
||||
print(machine.succeed("lastlog2 --active --user alice"))
|
||||
machine.succeed("stat /var/lib/lastlog/lastlog2.db")
|
||||
machine.send_chars("exit\n")
|
||||
'';
|
||||
}
|
||||
|
||||
+13
-15
@@ -1,17 +1,15 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "qboot";
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "qboot";
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
virtualisation.bios = pkgs.qboot;
|
||||
};
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
virtualisation.bios = pkgs.qboot;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
}
|
||||
)
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
}
|
||||
|
||||
+15
-10
@@ -23,23 +23,23 @@
|
||||
USER_1_CREDS="foobar"
|
||||
'';
|
||||
settings = {
|
||||
turn = {
|
||||
server = {
|
||||
realm = "localhost";
|
||||
interfaces = [
|
||||
{
|
||||
transport = "udp";
|
||||
bind = "127.0.0.1:3478";
|
||||
listen = "127.0.0.1:3478";
|
||||
external = "127.0.0.1:3478";
|
||||
}
|
||||
{
|
||||
transport = "tcp";
|
||||
bind = "127.0.0.1:3478";
|
||||
listen = "127.0.0.1:3478";
|
||||
external = "127.0.0.1:3478";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
auth.static_credentials.user1 = "$USER_1_CREDS";
|
||||
auth."static-credentials".user1 = "$USER_1_CREDS";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -47,15 +47,20 @@
|
||||
|
||||
testScript = # python
|
||||
''
|
||||
import json
|
||||
|
||||
start_all()
|
||||
server.wait_for_unit('turn-rs.service')
|
||||
server.wait_for_open_port(3000, "127.0.0.1")
|
||||
server.wait_for_open_port(3478, "127.0.0.1")
|
||||
|
||||
info = server.succeed('curl http://localhost:3000/info')
|
||||
jsonInfo = json.loads(info)
|
||||
assert len(jsonInfo['interfaces']) == 2, f'Interfaces doesn\'t contain two entries:\n{json.dumps(jsonInfo, indent=2)}'
|
||||
base = (
|
||||
"${pkgs.coturn}/bin/turnutils_uclient"
|
||||
" -L 127.0.0.1 -e 127.0.0.1 -u user1 -w foobar -X -y -t"
|
||||
)
|
||||
for extra in ["", "-s", "-t", "-t -s"]:
|
||||
out = server.succeed(f"{base} {extra} 127.0.0.1")
|
||||
assert "ERROR" not in out, f"turnutils_uclient errors:\n{out}"
|
||||
assert "Total lost packets 0 (0.000000%)" in out, (
|
||||
f"turnutils_uclient reported packet loss or did not finish:\n{out}"
|
||||
)
|
||||
|
||||
config = server.succeed('cat /run/turn-rs/config.toml')
|
||||
assert 'foobar' in config, f'Secrets are not properly injected:\n{config}'
|
||||
|
||||
@@ -7758,6 +7758,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
inlay-hints-nvim = buildVimPlugin {
|
||||
pname = "inlay-hints.nvim";
|
||||
version = "0.0.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MysticalDevil";
|
||||
repo = "inlay-hints.nvim";
|
||||
tag = "v0.0.7";
|
||||
hash = "sha256-136r1/SjBHcrKZZcFHZK7rFTcJHAReZqIzUrKsZStc4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MysticalDevil/inlay-hints.nvim";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
instant-nvim = buildVimPlugin {
|
||||
pname = "instant.nvim";
|
||||
version = "0-unstable-2022-06-25";
|
||||
|
||||
@@ -2,14 +2,15 @@
|
||||
vimUtils,
|
||||
statix,
|
||||
}:
|
||||
vimUtils.buildVimPlugin rec {
|
||||
inherit (statix) pname src meta;
|
||||
version = "0.1.0";
|
||||
postPatch = ''
|
||||
# check that version is up to date
|
||||
grep 'pname = "statix-vim"' -A 1 flake.nix \
|
||||
| grep -F 'version = "${version}"'
|
||||
vimUtils.buildVimPlugin {
|
||||
inherit (statix)
|
||||
pname
|
||||
src
|
||||
meta
|
||||
version
|
||||
;
|
||||
|
||||
postPatch = ''
|
||||
cd vim-plugin
|
||||
substituteInPlace ftplugin/nix.vim --replace-fail statix ${statix}/bin/statix
|
||||
substituteInPlace plugin/statix.vim --replace-fail statix ${statix}/bin/statix
|
||||
|
||||
@@ -552,6 +552,7 @@ https://github.com/Darazaki/indent-o-matic/,,
|
||||
https://github.com/arsham/indent-tools.nvim/,,
|
||||
https://github.com/Yggdroot/indentLine/,,
|
||||
https://github.com/ciaranm/inkpot/,,
|
||||
https://github.com/MysticalDevil/inlay-hints/,,
|
||||
https://github.com/jbyuki/instant.nvim/,,
|
||||
https://github.com/pta2002/intellitab.nvim/,,
|
||||
https://github.com/parsonsmatt/intero-neovim/,,
|
||||
|
||||
@@ -151,9 +151,9 @@ rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the hash for staging as well.
|
||||
version = "11.6";
|
||||
version = "11.7";
|
||||
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
|
||||
hash = "sha256-1J0WaXVHj2Ceapzb2goHxlo7eV4GH8RU0/EDTIKNGeA=";
|
||||
hash = "sha256-sBqyHHn+3mx71THUadma/Z3N9T6ymviK2sajMutDX58=";
|
||||
|
||||
patches = [
|
||||
# Also look for root certificates at $NIX_SSL_CERT_FILE
|
||||
@@ -163,7 +163,7 @@ rec {
|
||||
# see https://gitlab.winehq.org/wine/wine-staging
|
||||
staging = fetchFromGitLab {
|
||||
inherit version;
|
||||
hash = "sha256-vI6GnnAqkyQSff9jrGYCTFR6fSIg2i9FT4mvbOlU1M4=";
|
||||
hash = "sha256-EjAmwSZu/Q/8QfFERnV5iz1n5CsWPneBHflQDaD4LAc=";
|
||||
domain = "gitlab.winehq.org";
|
||||
owner = "wine";
|
||||
repo = "wine-staging";
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
diff --git a/build.py b/build.py
|
||||
index 06905a11..56d54a17 100644
|
||||
--- a/build.py
|
||||
+++ b/build.py
|
||||
@@ -10,7 +10,7 @@ from optparse import OptionParser
|
||||
import shutil
|
||||
from multiprocessing import Pool
|
||||
|
||||
-from setuptools import sandbox
|
||||
+import subprocess
|
||||
from hscommon import sphinxgen
|
||||
from hscommon.build import (
|
||||
add_to_pythonpath,
|
||||
@@ -118,7 +118,12 @@ def build_normpo():
|
||||
def build_pe_modules():
|
||||
print("Building PE Modules")
|
||||
# Leverage setup.py to build modules
|
||||
- sandbox.run_setup("setup.py", ["build_ext", "--inplace"])
|
||||
+ result = subprocess.run(
|
||||
+ [sys.executable, "setup.py", "build_ext", "--inplace"],
|
||||
+ check=True,
|
||||
+ )
|
||||
+ if result.returncode != 0:
|
||||
+ sys.exit("Error building PE modules. Please check the output above.")
|
||||
|
||||
|
||||
def build_normal():
|
||||
@@ -600,7 +600,7 @@ let
|
||||
hash = "sha256-tJ//HE7o9R8nSQDGhi+MKXdNUwnkCZI++CzpAmFn2YY=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "146" && lib.versionOlder llvmVersion "23") [
|
||||
++ lib.optionals (versionRange "146" "148" && lib.versionOlder llvmVersion "23") [
|
||||
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
|
||||
(fetchpatch {
|
||||
name = "chromium-146-revert-Update-fsanitizer=array-bounds-config.patch";
|
||||
@@ -626,6 +626,47 @@ let
|
||||
++ lib.optionals (chromiumVersionAtLeast "147" && lib.versionOlder llvmVersion "23") [
|
||||
# clang++: error: unknown argument: '-fno-lifetime-dse'
|
||||
./patches/chromium-147-llvm-22.patch
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "148" && lib.versionOlder llvmVersion "23") [
|
||||
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=return'
|
||||
(fetchpatch {
|
||||
name = "chromium-148-revert-build-Add--fsanitizer=return-config.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7629257
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/99ba1f5302f9433efdb4df302cb7b7de56c72e4c^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
revert = true;
|
||||
hash = "sha256-/qzzxwTdPMwIdsqD/G02S7kKHCj3QxECL+g1WYEaWmU=";
|
||||
})
|
||||
# ERROR Unresolved dependencies.
|
||||
# //apps:apps(//build/toolchain/linux/unbundle:default)
|
||||
# needs //build/config/compiler:sanitize_return(//build/toolchain/linux/unbundle:default)
|
||||
(fetchpatch {
|
||||
name = "chromium-148-revert-build-Enable--fsanitizer=return-config.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7629258
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/9357bfbea03753fe52264c9ec36abe74f48cfef5^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
revert = true;
|
||||
hash = "sha256-14fTHNh3vGsf4KgeH8uLX+aK3lrjK0VKd1dfK1g7r0I=";
|
||||
})
|
||||
# [33377/55552] LINK ./mksnapshot
|
||||
# ld.lld: error: undefined symbol: __sanitizer_set_death_callback
|
||||
# https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/blob/148.0.7778.96-1/PKGBUILD#L168-174
|
||||
(fetchpatch {
|
||||
name = "archlinux-chromium-146-drop-unknown-clang-flag.patch";
|
||||
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/raw/148.0.7778.96-1/chromium-146-drop-unknown-clang-flag.patch";
|
||||
hash = "sha256-jR0G9z2R8VGl2tkB3u0368RyWM1J6qYXqNWwKkYd5zU=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "148") [
|
||||
# ninja: error: '../../third_party/rust-toolchain/bin/rustc', needed by 'phony/default_for_rust_host_build_tools_rust_bin_inputs', missing and no known rule to make it
|
||||
(fetchpatch {
|
||||
name = "chromium-148-revert-Reland-build-use-tool-inputs-instead-of-siso-config-for-rust-actions.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7719879
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/9193ab90af24c23ee983e0a8da9bed45712f0d26^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
revert = true;
|
||||
hash = "sha256-7xg8IZ2gO+Wtnv7lWLVE3lLpcmMgvtDtcWwUuMBzkrE=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch =
|
||||
@@ -751,6 +792,12 @@ let
|
||||
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
|
||||
|
||||
''
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7677517
|
||||
# ninja: error: '../../third_party/gperf/cipd/bin/gperf', needed by 'gen/third_party/blink/renderer/core/css/parser/at_rule_descriptors.cc', missing and no known rule to make it
|
||||
+ lib.optionalString (chromiumVersionAtLeast "148") ''
|
||||
mkdir -p third_party/gperf/cipd/bin
|
||||
ln -s "${pkgsBuildHost.gperf}/bin/gperf" third_party/gperf/cipd/bin/gperf
|
||||
''
|
||||
+
|
||||
lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch64)
|
||||
''
|
||||
@@ -903,6 +950,11 @@ let
|
||||
# but lit_reactive_element.patch only patches the former.
|
||||
+ lib.optionalString (chromiumVersionAtLeast "146") ''
|
||||
rm -r third_party/node/node_modules/@lit/reactive-element/development
|
||||
''
|
||||
# Similarly, having @types/estree causes:
|
||||
# error TS2352: Conversion of type 'Node[]' to type 'TSPropertySignature[]' [...]
|
||||
+ lib.optionalString (chromiumVersionAtLeast "148") ''
|
||||
rm -r third_party/node/node_modules/@types/estree
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "147.0.7727.137",
|
||||
"version": "148.0.7778.96",
|
||||
"chromedriver": {
|
||||
"version": "147.0.7727.138",
|
||||
"hash_darwin": "sha256-d2dEPcR2mlfkL6XGhzMsgH/OwAI+yLXdS0dF4luPRfM=",
|
||||
@@ -8,21 +8,21 @@
|
||||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "d0e1a84d5b0c3c556b0fbdbeb77908d9817e6bbb",
|
||||
"hash": "sha256-mc/W0D9MEtNQPeJ66X9T28IB+pvYqDRXj9UYb9hLlvA="
|
||||
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
|
||||
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
|
||||
},
|
||||
"gn": {
|
||||
"version": "0-unstable-2026-03-05",
|
||||
"rev": "d8c2f07d653520568da7cace755a87dad241b72d",
|
||||
"hash": "sha256-3AfExm7NL5GJXyC5JCPbGC70D59doRfIZIgpt6MLy9Y="
|
||||
"version": "0-unstable-2026-04-01",
|
||||
"rev": "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a",
|
||||
"hash": "sha256-BTPD8WM1pVAMkFDlHekMdWFGyf63KdhKkKwsqikqoBQ="
|
||||
},
|
||||
"npmHash": "sha256-ByB1Ea5tduIJZXyydeBWsoS8OPABOgwHe+dNXRssdvc="
|
||||
"npmHash": "sha256-JuVcY8iFRDWcPcP4Pg+qm5rnTXkiVfNsqSkXbDWqsE8="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "68ba233a543d25e75c30f1228dd3bafa2da96937",
|
||||
"hash": "sha256-ktIkQRYWcyKnZKEhvxFGssMZ///ctd/Ue3VIYPvQzuM=",
|
||||
"rev": "8625e066febc721e015ea99842da12901eb7ed73",
|
||||
"hash": "sha256-coeBYfNPtiRRPuqoBRaxkTQI/a2pYNLI1slUdU1dZAc=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -32,8 +32,8 @@
|
||||
},
|
||||
"src/third_party/compiler-rt/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
|
||||
"rev": "338a5c004c774a8927899b1f1c0c25a82d14510f",
|
||||
"hash": "sha256-2lj4oF8IbJoPOBWwQ4ZfDQjPklxQyNyG5AcHazxEYcs="
|
||||
"rev": "76287b5da8e155135536c8e3a67432d97d74fe3a",
|
||||
"hash": "sha256-q6syHriTR8TCQSqTWbbAkVVK0a/i4wojdEGN7sWGxUY="
|
||||
},
|
||||
"src/third_party/libc++/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
|
||||
@@ -47,13 +47,13 @@
|
||||
},
|
||||
"src/third_party/libunwind/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
|
||||
"rev": "78884e23fe39cf5cc6987ea188a9b802d65a21c9",
|
||||
"hash": "sha256-G8CtxDHzo8WtJ6qrtghXBoYCWwnDvXcAueEGzLc6C14="
|
||||
"rev": "6ca46ff28e3578c57cbead6f233969eb3dabc176",
|
||||
"hash": "sha256-JW4kqpVTCFDN4WZE2S5gEkX1O7eDycl+adm3KGlUoTU="
|
||||
},
|
||||
"src/third_party/llvm-libc/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
|
||||
"rev": "c42ab4598a74eea2cf3efff9d44b22de155d41af",
|
||||
"hash": "sha256-NJCdrmVyF80aQLtrdVgcWQadhj5w7nKrLShaZDen1GA="
|
||||
"rev": "2a826f2fda3cf8d75b47cbc3bb1d9b244f13a6ab",
|
||||
"hash": "sha256-OWe2lAT5XbADWuxHgg53lZiU0My/ys86FEXvn4zlVx0="
|
||||
},
|
||||
"src/chrome/test/data/perf/canvas_bench": {
|
||||
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
|
||||
@@ -72,18 +72,18 @@
|
||||
},
|
||||
"src/docs/website": {
|
||||
"url": "https://chromium.googlesource.com/website.git",
|
||||
"rev": "d3b3b620e65ebaf511c6c8399b98a081cd644a66",
|
||||
"hash": "sha256-xTGvhQUKOgt007WdvzN4eDpue8nheEMSV+Cl3Tnwviw="
|
||||
"rev": "44319eca109f9678595924a90547c1f6650d8664",
|
||||
"hash": "sha256-Trkan7bzRaLFlTkRfNGh7ssoZ3QpMh+mxQacsSM+d2I="
|
||||
},
|
||||
"src/media/cdm/api": {
|
||||
"url": "https://chromium.googlesource.com/chromium/cdm.git",
|
||||
"rev": "9920660ea0162f88c44a648de177e6f8cb976d07",
|
||||
"hash": "sha256-rC/aV3vsFzXQ8BiOIK+OTXxTsgTLEEqC19KDAot1PTs="
|
||||
"rev": "33c977516b3dfe5b065bc298aa74175e1999ab51",
|
||||
"hash": "sha256-GsaRxLnsz1jrFZ3m5tv65d1dioG23uJnmfa+WD7XcFc="
|
||||
},
|
||||
"src/net/third_party/quiche/src": {
|
||||
"url": "https://quiche.googlesource.com/quiche.git",
|
||||
"rev": "435c98c0d9ab7a2b60592c5297635b4791745191",
|
||||
"hash": "sha256-dhsq9kLRcXPxv0Ih6CQhDvLAGjh3EgSCl28Cxjk2aos="
|
||||
"rev": "21ffbe4c7b717d00d2d768c259b5b330fd754ac3",
|
||||
"hash": "sha256-yKMmfdSBvbB3T042TJbZ1Mw+y0kyfHP0knQVFWAFPTg="
|
||||
},
|
||||
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
|
||||
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
|
||||
@@ -92,8 +92,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "534e0d1c1d0fcb4b57fd6a3fb9284cd14eaa28cd",
|
||||
"hash": "sha256-o3UV8X27G7wpaDiKDzgMZN64+d9JQrvcQXpSybxi/h4="
|
||||
"rev": "cc0e3572e8789f4a184dd9714a04b3d98ae81015",
|
||||
"hash": "sha256-3KVTEBcnQTn99ccdKzylzUvua2jlS4g8/nfIDdLk6ug="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -107,8 +107,8 @@
|
||||
},
|
||||
"src/third_party/angle/third_party/VK-GL-CTS/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
|
||||
"rev": "1cf4ed5bc0620ea514404609b1a2958c4518b86d",
|
||||
"hash": "sha256-IZ5tVrld2+wDOWaYX93j2eLZJJs/EMW1+FtxhOeWi6w="
|
||||
"rev": "f52e89f885064b9109501bca16c813bb29389993",
|
||||
"hash": "sha256-3jx4QVR9nB3WggfrORGJGifmJQhAYVSPusa7RlR16qg="
|
||||
},
|
||||
"src/third_party/anonymous_tokens/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
|
||||
@@ -127,48 +127,53 @@
|
||||
},
|
||||
"src/third_party/dav1d/libdav1d": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
|
||||
"rev": "b546257f770768b2c88258c533da38b91a06f737",
|
||||
"hash": "sha256-E3da/LJ8HNy1osExmupovqnL8JHgVNzPUCG5F8TJKXQ="
|
||||
"rev": "d69235dd804b24c04ed05639cffcc912cd6cfd75",
|
||||
"hash": "sha256-iKq6TYscIBK4ydv+0msNV3tcs82Ljk5ZNr954Qv2lII="
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "049880d58d6636a819168c00f44f8a4ed1e33e51",
|
||||
"hash": "sha256-AHUos4ejvcsHTDdretkDHAeyLugtI6Jg14Hb9MbbPPs="
|
||||
"rev": "19696dd088b8ed5804e2f02a8f83f5afdb3e99e3",
|
||||
"hash": "sha256-ihnVPCk9412UzCmoABWVUhiGaIdIYxiYMkk43KDqpg8="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw": {
|
||||
"src/third_party/dawn/third_party/glfw3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
"rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d",
|
||||
"hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE="
|
||||
"rev": "043378876a67b092f5d0d3d9748660121a336dd3",
|
||||
"hash": "sha256-4QSD1/uxWfYZPMjShB0h639eqAfuBRXAVfOm6BbZCBs="
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxc": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
|
||||
"rev": "2888a8764a33693f5a351e0c4ec87f430ccb0f7a",
|
||||
"hash": "sha256-xAe7SdcOeNiqNF6pYwMPMnd9/2yTWUlVdH1aCco/PEo="
|
||||
"rev": "eb67a9085c758516d940e1ce3fed0acfb6518209",
|
||||
"hash": "sha256-z+yIuVweIyLdOiZDRfSppjTRoYq8S93+JNUla4Umot8="
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxheaders": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
"rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
|
||||
"hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA="
|
||||
},
|
||||
"src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
|
||||
"src/third_party/dawn/third_party/directx-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
"rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
|
||||
"hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA="
|
||||
},
|
||||
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
|
||||
"rev": "5bae8738b23d06968e7c3a41308568120943ae77",
|
||||
"hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE="
|
||||
},
|
||||
"src/third_party/dawn/third_party/khronos/EGL-Registry": {
|
||||
"src/third_party/dawn/third_party/EGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
|
||||
"rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
|
||||
"hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-cts": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
|
||||
"rev": "d213d4b8dba58ca7a0685e30cfaf1d29f4fc5d5b",
|
||||
"hash": "sha256-6YGLG9BMQbF2pjV40su5ddHMqDW8/CEwM3RDEc/t2kM="
|
||||
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
|
||||
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
|
||||
"rev": "b2b04dde36a941434c88ccff7a730d7e464d638c",
|
||||
"hash": "sha256-+/qXZNkm26p+becMVcyHNUPyEUCejSV+tyTGFE4ivak="
|
||||
"rev": "7d3186c3dd2c708703524027b46b8703534ab3cc",
|
||||
"hash": "sha256-yE3/mfhqc7YtVNg4f/nrUpuRUGRjOzdwl++vPvd+mvc="
|
||||
},
|
||||
"src/third_party/highway/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
|
||||
@@ -182,13 +187,13 @@
|
||||
},
|
||||
"src/third_party/libpfm4/src": {
|
||||
"url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git",
|
||||
"rev": "964baf9d35d5f88d8422f96d8a82c672042e7064",
|
||||
"hash": "sha256-awpZ22rovLZWQkX/qog93vL4u2gJ+F3w5IGFNlZ0heQ="
|
||||
"rev": "977a25bb3dfe45f653a6cee71ffaae9a92fc3095",
|
||||
"hash": "sha256-t4LMG38GksMEM5DktyJ0qLUX1biXErQ57MaMtd7hoeo="
|
||||
},
|
||||
"src/third_party/boringssl/src": {
|
||||
"url": "https://boringssl.googlesource.com/boringssl.git",
|
||||
"rev": "27bc28d7f03fb9e3752980dce01de1a529236532",
|
||||
"hash": "sha256-u+yvIPrdb9fWzJXJeIidUQ1MkKUx6sKLs7vdW68QhYc="
|
||||
"rev": "d8be2b4a71155bf82da092ef543176351eeb59ff",
|
||||
"hash": "sha256-fZc95YrREDbf0YcO6zahIjdX6TcRJANcH9MrkLIIIHw="
|
||||
},
|
||||
"src/third_party/breakpad/breakpad": {
|
||||
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
|
||||
@@ -202,13 +207,13 @@
|
||||
},
|
||||
"src/third_party/catapult": {
|
||||
"url": "https://chromium.googlesource.com/catapult.git",
|
||||
"rev": "e0ebf38a01214aba11f31daa1c743782def031d5",
|
||||
"hash": "sha256-njtIcvzo2v9uDuP+AostVAZRTtH2vePsshF4cANHkxo="
|
||||
"rev": "4f1d71f6841d210b3a06ab3ef2e2ed679af0ee56",
|
||||
"hash": "sha256-aHlf8gw3KxbKoyyajP4w586iYybx7HSkcKtLcZIgiDE="
|
||||
},
|
||||
"src/third_party/catapult/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "22be07d7809409644d7e292d9495fa8a251d5f29",
|
||||
"hash": "sha256-HR6iEDwmxFaiLi+h3MwsNfBOtBNbrKvmRNgMVog3A0Y="
|
||||
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
|
||||
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
|
||||
},
|
||||
"src/third_party/ced/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
|
||||
@@ -232,8 +237,8 @@
|
||||
},
|
||||
"src/third_party/cpuinfo/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
|
||||
"rev": "7364b490b5f78d58efe23ea76e74210fd6c3c76f",
|
||||
"hash": "sha256-lB6e5zcw5UiwTOf+a+B35apXP5t1bxI6yOMiEeFwIwY="
|
||||
"rev": "7607ca500436b37ad23fb8d18614bec7796b68a7",
|
||||
"hash": "sha256-LnLtCMMRg+DwB7MijBdt/tmCKD/zN5y2oTgXlYw3hTg="
|
||||
},
|
||||
"src/third_party/crc32c/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
|
||||
@@ -242,28 +247,28 @@
|
||||
},
|
||||
"src/third_party/cros_system_api": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
|
||||
"rev": "1fb70b2851b292e48b612482a6d4d1b4c343c862",
|
||||
"hash": "sha256-YBN8ogJn5Yup9GYrsE9UW15KPCuXbhD6hdqXWWCPD20="
|
||||
"rev": "c27a09148de373889e5d2bf616c4e85a68050ae2",
|
||||
"hash": "sha256-a/mAa1+if6B1FHe9crO8PDpc3o8M+CeIuXjXT0lwZOY="
|
||||
},
|
||||
"src/third_party/crossbench": {
|
||||
"url": "https://chromium.googlesource.com/crossbench.git",
|
||||
"rev": "19cee54825bc57215266f5b14a5874bfbbb57543",
|
||||
"hash": "sha256-HVwX8E3/7yw7zUqZrptN1iSBWF4ls0FAzPObPagNYtM="
|
||||
"rev": "c179f7919aade97c5cff64d14b9171736e7aaef9",
|
||||
"hash": "sha256-Hxazf58z9imnGO1aj2NRtsQ+BYrfAuIuZscADpr1NVI="
|
||||
},
|
||||
"src/third_party/crossbench-web-tests": {
|
||||
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
|
||||
"rev": "909ad1733b50f28510c840ebad7b878a5ce07715",
|
||||
"hash": "sha256-RYih9sn4rIBnFW/styZaUl5H0A1eEy3//DypZjY6n0M="
|
||||
"rev": "b19e4e52c33fb8a105c3fc99598b0b9b4bc59752",
|
||||
"hash": "sha256-7vCQw91L2c97dnVdrJ53zL8hi0KZffDJJjk7GaG3b/U="
|
||||
},
|
||||
"src/third_party/depot_tools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
|
||||
"rev": "4ce8ba39a3488397a2d1494f167020f21de502f3",
|
||||
"hash": "sha256-WTzjmLFjh1yDDEvYE7Qfx8aBxMLdATx14+Jprwh8ZgQ="
|
||||
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
|
||||
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "854a02be78c7ffea104cb523636efa991bef5c5b",
|
||||
"hash": "sha256-CzzUueh2QXX+ExGqh5+JpnDoWF8DiFDff7fWmC01xfg="
|
||||
"rev": "6efd6eb1d85fd67fdcc2385c54fa56c524bec3f7",
|
||||
"hash": "sha256-1pr3+RK519m+wtcacJB3PcDTL+qSHlOn1ctxpoLzTf8="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
@@ -277,8 +282,8 @@
|
||||
},
|
||||
"src/third_party/eigen3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
|
||||
"rev": "54458cb39d1081d0cfe6b77ed8e085d457a4c921",
|
||||
"hash": "sha256-WXxSe2AY3hSMXz7lHNeFefOHGGkdXoSQLC6FuOa6Exo="
|
||||
"rev": "a3074053a614df7a3896cb4edbcba40222a5f549",
|
||||
"hash": "sha256-9AHpSqemqdwXoMiP3hH1YuEd3+nrudeVGTpInw+8BU4="
|
||||
},
|
||||
"src/third_party/farmhash/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
|
||||
@@ -292,13 +297,13 @@
|
||||
},
|
||||
"src/third_party/federated_compute/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
|
||||
"rev": "271aa00f8aec5bc801f542710efe1b2f0b5f0ef9",
|
||||
"hash": "sha256-6ZATBYkyIdGuhG0Ps2vr0DT9nq1LhW2XCWWAkiZh9Hc="
|
||||
"rev": "eb170f645b270c7979edb863fd2cf8edab2b2fd1",
|
||||
"hash": "sha256-Cp0WQBbqWvPdrKCMQhH4Z6zl6YlIPLjafWZEwdkYWlc="
|
||||
},
|
||||
"src/third_party/ffmpeg": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
|
||||
"rev": "946d97db8d906277085e361892b7efda5152e2f1",
|
||||
"hash": "sha256-UxrmVqfX6TvFy1yxWXIQbd3ABD3jEAtDesgfnbJGg1E="
|
||||
"rev": "b5e18fb9da84e26ceef30d4e4886696bf59337c0",
|
||||
"hash": "sha256-JHAicFKBvtkwmZPRBKYPT6JVqYqF8hyXxU0H7kfgCBs="
|
||||
},
|
||||
"src/third_party/flac": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
|
||||
@@ -327,18 +332,18 @@
|
||||
},
|
||||
"src/third_party/freetype/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
|
||||
"rev": "45556a19aab9502b91d6f30931e0cb5256f683f8",
|
||||
"hash": "sha256-eMt2orPeG81o42O/HU+4B5b/G62TYAVIEeWwOmiML14="
|
||||
"rev": "99b479dc34728936b006679a31e12b8cf432fc55",
|
||||
"hash": "sha256-H5RzBFYWIp/QYKyeBM2wfuX7FvXHPbhCAp7qne5Zvhw="
|
||||
},
|
||||
"src/third_party/fxdiv/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
|
||||
"rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
|
||||
"hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38="
|
||||
},
|
||||
"src/third_party/harfbuzz-ng/src": {
|
||||
"src/third_party/harfbuzz/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||
"rev": "5d4e96ad8d00fc871ffa17707b2ca08fa850e7d6",
|
||||
"hash": "sha256-9ef1P2JVJc7ZiP7TObFOxJbccCLsEgjhj+Z/ooEAGiI="
|
||||
"rev": "4fc96139259ebc35f40118e0382ac8037d928e5c",
|
||||
"hash": "sha256-/RT2OPWFiVwFqmNS4o+gE0JrcVO1cQDkCkgrSEe7BzE="
|
||||
},
|
||||
"src/third_party/ink/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
|
||||
@@ -347,13 +352,13 @@
|
||||
},
|
||||
"src/third_party/ink_stroke_modeler/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git",
|
||||
"rev": "3fa5129ed1ae6f8b2ec4e9b60fa5d08cc81e2d78",
|
||||
"hash": "sha256-/TBxFsmLH1h3kfeE90LhR0RWJ3NrCTiLKklcaPbean8="
|
||||
"rev": "da42d439389c90ec7574f0381ec53e7f5be0c2eb",
|
||||
"hash": "sha256-W5HgVe0v9O/EuhpKMHp83PLq4p6cuBul3QUGLYdF6rY="
|
||||
},
|
||||
"src/third_party/instrumented_libs": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git",
|
||||
"rev": "69015643b3f68dbd438c010439c59adc52cac808",
|
||||
"hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU="
|
||||
"rev": "e8cb570a9a2ee9128e2214c73417ad2a3c47780b",
|
||||
"hash": "sha256-5cb9qhSEzb941pF5HH0Br+x9wEH7MiGwQttvErb2mZo="
|
||||
},
|
||||
"src/third_party/emoji-segmenter/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
|
||||
@@ -387,8 +392,8 @@
|
||||
},
|
||||
"src/third_party/icu": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/icu.git",
|
||||
"rev": "ee5f27adc28bd3f15b2c293f726d14d2e336cbd5",
|
||||
"hash": "sha256-UQWSAekvYc1bTEAEQTPdeB406Uqb0mptpnGRZSaLewo="
|
||||
"rev": "ff7995a708a10ab44db101358083c7f74752da9f",
|
||||
"hash": "sha256-yQ55MGzqkVkp/arTlmKqySBvQFtaPaBk9UUAFE0imhE="
|
||||
},
|
||||
"src/third_party/nlohmann_json/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/nlohmann/json.git",
|
||||
@@ -402,8 +407,8 @@
|
||||
},
|
||||
"src/third_party/leveldatabase/src": {
|
||||
"url": "https://chromium.googlesource.com/external/leveldb.git",
|
||||
"rev": "4ee78d7ea98330f7d7599c42576ca99e3c6ff9c5",
|
||||
"hash": "sha256-ANtMVRZmW6iOjDVn2y15ak2fTagFTTaz1Se6flUHL8w="
|
||||
"rev": "7ee830d02b623e8ffe0b95d59a74db1e58da04c5",
|
||||
"hash": "sha256-a1fcVI9Vsm1qE17Fnx5UxwOy4ZFMMJ0OKwNs/gZHYQI="
|
||||
},
|
||||
"src/third_party/libFuzzer/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
|
||||
@@ -412,8 +417,8 @@
|
||||
},
|
||||
"src/third_party/fuzztest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
|
||||
"rev": "1f7726d61f7afa9aca1198a9395ede472ed70366",
|
||||
"hash": "sha256-RhJ676e6Kr/muR0ZCfZOAcs3kfoK7CjG2cwOpYG/JCY="
|
||||
"rev": "800c545cf9d6e9c01328a1974f93a7e6564a74fd",
|
||||
"hash": "sha256-Pvz+CWTBcWE0N0yfNGZhXDgUrGeIaCNfEjP1jYmF6G0="
|
||||
},
|
||||
"src/third_party/domato/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
|
||||
@@ -427,13 +432,13 @@
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "ab9876a5983227865ee26e91caac87c6b8750e27",
|
||||
"hash": "sha256-V40GL7fKj1qratP0KcrhedEPDIsg0XVb3ha5nroM0ws="
|
||||
"rev": "b63f30b6d30028a3d7d9c5223def8f3ad97dcc4c",
|
||||
"hash": "sha256-LaBEcVcSB8WB9ZNRgPSiGaKdQL5f3wll2sPb9OhN5SE="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
"rev": "c05daf3e2e6d83f2a359ab97094ce042944020a9",
|
||||
"hash": "sha256-vVKAgvPdba0Lt3BUStOQsILlhiHNJeIv1jS9691+a80="
|
||||
"rev": "7466a44ac80893803d4a7168b98dc6cd02d1fe2d",
|
||||
"hash": "sha256-x1MRNtGLmwlRNenoQKz2Bgm3J5eHlNiJZtzhT9lttmk="
|
||||
},
|
||||
"src/third_party/nearby/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
|
||||
@@ -487,8 +492,8 @@
|
||||
},
|
||||
"src/third_party/cros-components/src": {
|
||||
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
|
||||
"rev": "ddb611c60142c72be3719e753a42fb434b6f2458",
|
||||
"hash": "sha256-M/b7PKEu+mFxsEeedJeppkwl8aZnX/932zqWlrCx8Y4="
|
||||
"rev": "fb512780dcc5ba4b5be9e8a3118919002077c760",
|
||||
"hash": "sha256-7wx73HZ6aqXQvLxwX6XnJAPefi/t47gIhvDH3FRT1j4="
|
||||
},
|
||||
"src/third_party/libdrm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
|
||||
@@ -497,8 +502,8 @@
|
||||
},
|
||||
"src/third_party/expat/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||
"rev": "69d6c054c1bd5258c2a13405a7f5628c72c177c2",
|
||||
"hash": "sha256-qe8O7otL6YcDDBx2DS/+c5mWIS8Rf8RQXVtLFMIAeyk="
|
||||
"rev": "f31adfd584b7f6c50bbf4d22eb928538ffc9145a",
|
||||
"hash": "sha256-tLz4RejYQ/kFXhsWTduuGcinfUkqxYKPCpsou+WlvBc="
|
||||
},
|
||||
"src/third_party/libipp/libipp": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
|
||||
@@ -542,13 +547,13 @@
|
||||
},
|
||||
"src/third_party/libvpx/source/libvpx": {
|
||||
"url": "https://chromium.googlesource.com/webm/libvpx.git",
|
||||
"rev": "aec2a6f1cd6e3d9e8cf5d9682fcb8a442799bd22",
|
||||
"hash": "sha256-PNreh1VisA46I0WZqq8wZRCjbQRiVMxbL5Gl2Bfzo3M="
|
||||
"rev": "47ac1ec7f3de7d7cb3d070844c427c8f1fa9d6fc",
|
||||
"hash": "sha256-RyYnkLYafiS6kQKeOmzohtxFRXudDzgEmQkG+qKHozc="
|
||||
},
|
||||
"src/third_party/libwebm/source": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebm.git",
|
||||
"rev": "f2a982d748b80586ae53b89a2e6ebbc305848b8c",
|
||||
"hash": "sha256-SxDGt7nPVkSxwRF/lMmcch1h+C2Dyh6GZUXoZjnXWb4="
|
||||
"rev": "b7a1e4767fbb02ad467f45ba378e858e897028da",
|
||||
"hash": "sha256-Lzfs15Us8MDDQYvLRVf6xKg9A76aXPnTukx/A8Mf7rw="
|
||||
},
|
||||
"src/third_party/libwebp/src": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebp.git",
|
||||
@@ -577,8 +582,8 @@
|
||||
},
|
||||
"src/third_party/nasm": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
|
||||
"rev": "af5eeeb054bebadfbb79c7bcd100a95e2ad4525f",
|
||||
"hash": "sha256-vH3OUzfLZbaPY4DMAvSW0jKYRJmOa7aE8EfIJtZ1/Xs="
|
||||
"rev": "45252858722aad12e545819b2d0f370eb865431b",
|
||||
"hash": "sha256-0KsHYi76IaVNwk0dBhem2AnUXd9PpeS+jUsY+zPmeJ8="
|
||||
},
|
||||
"src/third_party/neon_2_sse/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
|
||||
@@ -592,8 +597,8 @@
|
||||
},
|
||||
"src/third_party/openscreen/src": {
|
||||
"url": "https://chromium.googlesource.com/openscreen",
|
||||
"rev": "571620ad60afc9f317d77605c65335f5412aada2",
|
||||
"hash": "sha256-ktR3EpmkjueEmEip2oUTcSclVkUlPi/7+qmhElG+Bzs="
|
||||
"rev": "448a19d1f24e0f8ce85ad0c1c6a50cf370ae69d7",
|
||||
"hash": "sha256-hRDFnoqAH4HoWZ3oTWlzNge2nwlxpUC/GEq0MQVzBw8="
|
||||
},
|
||||
"src/third_party/openscreen/src/buildtools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
|
||||
@@ -607,13 +612,13 @@
|
||||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "e5bafd3be58c26673576fd5bb5cbf413b485de5b",
|
||||
"hash": "sha256-umtG2n6kWYD0hT44GpmnwUVztkZ0RtQDV0h0+4CTC9w="
|
||||
"rev": "a78c62d93a8f514ea2cd98a70bd1d21226be9d93",
|
||||
"hash": "sha256-qd3Oa/JFzoI5hKDY2/OQAzdr2z9srUj0H6oKz0R516U="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
"rev": "728eb5626a3bc701d044dd16d9cd289360ff47c3",
|
||||
"hash": "sha256-LeGGkzSMfVXuioVJmRi/TjMYgG/0YrK7PckBJTejSHU="
|
||||
"rev": "46432bb2a7a60e10fcee516f1692e6846d098a8d",
|
||||
"hash": "sha256-jVih4xWota4SZQi4yEtaIP+4qgD03OsELt2aaulIXik="
|
||||
},
|
||||
"src/third_party/protobuf-javascript/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
|
||||
@@ -627,8 +632,8 @@
|
||||
},
|
||||
"src/third_party/pyelftools": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
|
||||
"rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
|
||||
"hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4="
|
||||
"rev": "8047437615d66d3267ac0134834b80e70639d572",
|
||||
"hash": "sha256-rEnt08K90/Psfa+SQgTUG3YGrhp4/udXG9VKIwPM7pk="
|
||||
},
|
||||
"src/third_party/quic_trace/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
|
||||
@@ -657,8 +662,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "6e0fbe154ccaf018b2dd1f0e42eec285e7d79d00",
|
||||
"hash": "sha256-oqfNOSQB+5sbAnw4tPBXn22rk6Ai5b2aZNLJUyM181k="
|
||||
"rev": "afe8b760ada5128164f9826866b4381a3463df41",
|
||||
"hash": "sha256-HsKHffZWTls362kjokxzdhaxb/xJD1g70VHGk9l6GVM="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -672,13 +677,13 @@
|
||||
},
|
||||
"src/third_party/sqlite/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
|
||||
"rev": "727f7c8991f7b622a8b5c833cff99871a8c2cd8e",
|
||||
"hash": "sha256-L42hkqcsuyMkNUeornIul7AYNgachkYpfNFE8H/VeVc="
|
||||
"rev": "508ab21dc25702ed6690c4dd77da209a6bcd1239",
|
||||
"hash": "sha256-SfvLfBKdPjFvZ7CzUeFMcyoHdCzQgNRQwZyzb6MRtJg="
|
||||
},
|
||||
"src/third_party/swiftshader": {
|
||||
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
|
||||
"rev": "313545f85af72f954820e54f4110cda591a6cf7b",
|
||||
"hash": "sha256-EGgC5nK68Wk0b466K9yvLlGMxBd/CeI+KTgyoE+x6DY="
|
||||
"rev": "89556131bf9d48af3c5c9fbb9a3322e706da89a3",
|
||||
"hash": "sha256-h0utcwCnzwhFufggkBNeA674x2Kqwu4sz3jQ/9eoQv0="
|
||||
},
|
||||
"src/third_party/text-fragments-polyfill/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
|
||||
@@ -687,23 +692,23 @@
|
||||
},
|
||||
"src/third_party/tflite/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
|
||||
"rev": "b476481b77f6e939e813ac93df22a4a6e7a3dd57",
|
||||
"hash": "sha256-oKLFjed5sbYjEX5kddkAEdhkVOwFf5ddEUlOS55zLWE="
|
||||
"rev": "de8d7f65b6eb670e4dad0225d0d6f99bebaab559",
|
||||
"hash": "sha256-r2b+/VBffxsh1sRM2xcFiBx9K6GD6FsaQXpfFMBFUag="
|
||||
},
|
||||
"src/third_party/litert/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
|
||||
"rev": "82bf3bef8a04a416bcb9d1cca5bdd51a6b3ab4ba",
|
||||
"hash": "sha256-uMBuoGQIgRhmc8KJqLUnf13XK9tveuS0/OzzwKHKNUw="
|
||||
"rev": "588075c77c6895cce6397d41d2890b1aa0a14372",
|
||||
"hash": "sha256-rcEPZNSV0DiDrmoBCtJ07wFzzpmpM93jG4jYaEdNWvI="
|
||||
},
|
||||
"src/third_party/vulkan-deps": {
|
||||
"url": "https://chromium.googlesource.com/vulkan-deps",
|
||||
"rev": "4a9f2cec3d5e7cb4810cf84716f597aff768ffa4",
|
||||
"hash": "sha256-PyBxtzesZR/5jrWt96DxK7QwRoG8qhzWzbiE1fqdqkI="
|
||||
"rev": "0ced1107c62836f439f684a5696c4bd69e09fce3",
|
||||
"hash": "sha256-VOyN618wzyyO2Wh18gCnw+FCr/NbegX3A/54MClyhwc="
|
||||
},
|
||||
"src/third_party/glslang/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
|
||||
"rev": "b11b03839c940685b0201026bd2a4ffef1d5a4b8",
|
||||
"hash": "sha256-FjUqETWBiI91hq5wGomPmCeW7K4k9kn5r74pUP0QFNo="
|
||||
"rev": "715c8500e7cd67f2eba9e60e98852a1ed49d2f15",
|
||||
"hash": "sha256-vSbMdTjlRVvYLi5ZvTVmfe76oAQ4AhqyD+ohvkvIYIs="
|
||||
},
|
||||
"src/third_party/spirv-cross/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
|
||||
@@ -712,38 +717,38 @@
|
||||
},
|
||||
"src/third_party/spirv-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
|
||||
"rev": "f88a2d766840fc825af1fc065977953ba1fa4a91",
|
||||
"hash": "sha256-VhcGQ+Tr9sH0ZEIk0oJsXh8MvCo2qpA2W3i8YVCwKaE="
|
||||
"rev": "6dd7ba990830f7c15ac1345ff3b43ef6ffdad216",
|
||||
"hash": "sha256-UKBVs2s05hP+paPq1dZFaUEQQ9Kx9acHxYUyJVx22eY="
|
||||
},
|
||||
"src/third_party/spirv-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
|
||||
"rev": "7d8d9e58c384949f1615c069d4c9346bf51b9738",
|
||||
"hash": "sha256-AxS7vHw3RoXZLayWEDKBU7H0M1BZ9RMVdIsD/4rYap8="
|
||||
"rev": "2d14d2e76aa7de72404b17078eda15c20a6a0389",
|
||||
"hash": "sha256-8Xtzq8WOdFEw+uEJqMW39LLHt2m165K9OJsIFZuifoM="
|
||||
},
|
||||
"src/third_party/vulkan-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
|
||||
"rev": "74d8a6cb930c68ef617b202c3ff3c59d919e086b",
|
||||
"hash": "sha256-bZKNFiZMVYDxa6RKb1c/GxIR+eEFQAyYNaEptzQW5TE="
|
||||
"rev": "afe9eb980aa928a66d1c9c06f38c55dd59868720",
|
||||
"hash": "sha256-/yolWlC7ruRiJ0gSdCoSlqL9+j2uJAh+o+H0OG37pq4="
|
||||
},
|
||||
"src/third_party/vulkan-loader/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
|
||||
"rev": "363f465abadab0a8dcfc5c85d2c691e9b0b788d6",
|
||||
"hash": "sha256-Zk2QyKu19g52vzGpNq5Qm+mlEgqk4jCFn/861eK8+64="
|
||||
"rev": "df84d2be47457a8dfd7eb66f8c2b031683bd1ba5",
|
||||
"hash": "sha256-8ParcURRRU3eS9Oej/vHTwOwvYy3HsVJsKh2wQLKUgM="
|
||||
},
|
||||
"src/third_party/vulkan-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
|
||||
"rev": "59f963ce1b1d16cc92137a241a0fe98d637d21f4",
|
||||
"hash": "sha256-Hh0N4N4XN7p7PBKk2uCU5g9TO9vmxJbomC1Gvf5oDZc="
|
||||
"rev": "90bf5bc4fd8bea0d300f6564af256a51a34124b8",
|
||||
"hash": "sha256-tmTD/waVX/duaKXvj0FNUS+ncL1agM73kK7pEfHEsSA="
|
||||
},
|
||||
"src/third_party/vulkan-utility-libraries/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
|
||||
"rev": "20fb10eb1ec08ccd5cacec32b7df1b0e99e48a0c",
|
||||
"hash": "sha256-4XsQN94JsQXFGwJKp3W2gdTCCxUZrpCKiRVXzxL+Qs0="
|
||||
"rev": "48b1fd1a65e436bae806cb6180c9338846b9de97",
|
||||
"hash": "sha256-B3GXmwJEvnGcER5DJt0FGrwqNi3t8iV6VgX8uOrExlU="
|
||||
},
|
||||
"src/third_party/vulkan-validation-layers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
|
||||
"rev": "20948525099c0ea030ec5b149c809e48010be4ed",
|
||||
"hash": "sha256-H05Ms2a770ApiCz5ERiIm8g893TJG9gRRuM9Qr4bj60="
|
||||
"rev": "ac146eef210b6f52b842111c5d3419ab32a7293f",
|
||||
"hash": "sha256-GqjVHxtda1a47+9G+nqh4qNMJmQaUdZNMUGQ8kAIIkk="
|
||||
},
|
||||
"src/third_party/vulkan_memory_allocator": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
|
||||
@@ -777,23 +782,23 @@
|
||||
},
|
||||
"src/third_party/webgl/src": {
|
||||
"url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
|
||||
"rev": "8fc2a0dff53abfc0cf2c140d8420759b2036cc54",
|
||||
"hash": "sha256-cU7kfmxgaem6rPHGW+VwjxfKe7c0u1tCc98MQjsp5l8="
|
||||
"rev": "216b10fafd3f6a900c715a8c758a4c7f9883b030",
|
||||
"hash": "sha256-Aax2hr/9Zq6Avk+TMU1OMBLGshUL6hyRTX6eoOQesqM="
|
||||
},
|
||||
"src/third_party/webgpu-cts/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
|
||||
"rev": "54441b8d176b12a5e2b01b8db78191ace56d7f34",
|
||||
"hash": "sha256-gGvvKMTUJGm4ZwM7C1xTY1DKskCmlrCpSl3HLgVZqoY="
|
||||
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
|
||||
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
|
||||
},
|
||||
"src/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "22be07d7809409644d7e292d9495fa8a251d5f29",
|
||||
"hash": "sha256-HR6iEDwmxFaiLi+h3MwsNfBOtBNbrKvmRNgMVog3A0Y="
|
||||
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
|
||||
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "28452dff1bf86fec881a47949d4dedd4a2fe1f09",
|
||||
"hash": "sha256-KBz94jvdVgxWuTuSoeHKNdY7wEJDGqG3xVsSVB3ubRQ="
|
||||
"rev": "9600e77d854090669817d22aa2fc941ee92aaacd",
|
||||
"hash": "sha256-jTJv53qt971Va5q6MaULysYiChBVmsFYxG9fzkcE0ak="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@@ -805,25 +810,20 @@
|
||||
"rev": "b65be9e699847c975440108a42f05412cc7fddac",
|
||||
"hash": "sha256-PySen9syu0OshtlHAZw666FeSQXdnsV8nlW9RmxgapM="
|
||||
},
|
||||
"src/third_party/xdg-utils": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
|
||||
"rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
|
||||
"hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U="
|
||||
},
|
||||
"src/third_party/xnnpack/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
|
||||
"rev": "abd8e60edf09db5f5ba8e7fa2f1fcab0ae0807e1",
|
||||
"hash": "sha256-VdrA2UwQ7/kHbnlIXBmga3ZjAqWaxCDQcDAssbLrh/M="
|
||||
"rev": "1812bbe2928a32f26c5e48466712ba6460cf290c",
|
||||
"hash": "sha256-xal21wjgeql3MjQXw6F1ezcRsnhVKod5jv0nYWroJ1o="
|
||||
},
|
||||
"src/third_party/zstd/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
|
||||
"rev": "1168da0e567960d50cba1b58c9b0ba047ece4733",
|
||||
"hash": "sha256-T2CwRpL/XT/OsBrRfxC8kNIm43U4qPMBju8Ug13Qebo="
|
||||
"rev": "3ae099b48dfcfe02b1b3ba81ab85457f8a922e9f",
|
||||
"hash": "sha256-futF0sM6z9HAl6AMJwUULBRByN92FTBjRIzYb2vBFGg="
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "c152c31c55cd54fd239772532a86c802d95b4617",
|
||||
"hash": "sha256-7qEPh9l94LqyaA9qW0ZfFmmFyMNTjTJaeunLgDhtFuM="
|
||||
"rev": "ddc9a95905de5268332a8f0216dc2bc67d26e829",
|
||||
"hash": "sha256-x2FGL3J+JaWO1m6jBrcayR7Vlz90fYEAuufm4PULYyM="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -72,11 +72,7 @@ for (const attr_path of Object.keys(lockfile)) {
|
||||
DEPS: {},
|
||||
}
|
||||
|
||||
// The DEPS schema was modified in https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7007552
|
||||
// and https://chromium-review.googlesource.com/c/chromium/src/+/7683270. And while the breaking change itself got
|
||||
// backported to M147 (and M146 fwiw), the necessary depot_tools roll was not.
|
||||
// So for now we simply resort to whatever depot_tools is currently pinned on chromium's main branch.
|
||||
const depot_tools = await fetch_depot_tools(/* chromium_rev */ 'main', lockfile_initial[attr_path].deps.depot_tools)
|
||||
const depot_tools = await fetch_depot_tools(chromium_rev, lockfile_initial[attr_path].deps.depot_tools)
|
||||
lockfile[attr_path].deps.depot_tools = {
|
||||
rev: depot_tools.rev,
|
||||
hash: depot_tools.hash,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
fetchurl,
|
||||
openjdk17-bootstrap,
|
||||
jdk25,
|
||||
jdk11,
|
||||
jdk8,
|
||||
writeScript,
|
||||
@@ -114,10 +114,10 @@ in
|
||||
{
|
||||
charles5 = (
|
||||
generic {
|
||||
version = "5.0.3";
|
||||
hash = "sha256-SiZ15ekuAW7AyXBHN5Zel4ZFL/4oNy1td64NQ0GNUhE=";
|
||||
version = "5.1";
|
||||
hash = "sha256-gExmuh1A21QGkfcmcwPPgk51Ag7Ced9kPTHha2ofbKg=";
|
||||
platform = "_x86_64";
|
||||
jdk = openjdk17-bootstrap;
|
||||
jdk = jdk25;
|
||||
|
||||
updateScript = writeScript "update-charles" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
libgbm,
|
||||
nspr,
|
||||
nss,
|
||||
openssl_1_1,
|
||||
pango,
|
||||
systemdLibs,
|
||||
libappindicator-gtk3,
|
||||
@@ -231,11 +230,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nss
|
||||
]
|
||||
# The new distro layout ships prebuilt `.node` modules:
|
||||
# discord_dispatch is linked against openssl 1.1, discord_voice against libpulseaudio
|
||||
++ lib.optionals isDistro [
|
||||
openssl_1_1
|
||||
libpulseaudio
|
||||
];
|
||||
# discord_dispatch is linked against openssl 1.1, discord_voice against libpulseaudio.
|
||||
# Ignore the missing dependency on insecure openssl_1_1: discord_dispatch is
|
||||
# effectively unused in practice.
|
||||
++ lib.optionals isDistro [ libpulseaudio ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -243,6 +241,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
inherit libPath;
|
||||
|
||||
autoPatchelfIgnoreMissingDeps = lib.optionals isDistro [
|
||||
"libssl.so.1.1"
|
||||
"libcrypto.so.1.1"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
||||
@@ -28,10 +28,7 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/simon-v/bean-add/";
|
||||
description = "Beancount transaction entry assistant";
|
||||
mainProgram = "bean-add";
|
||||
|
||||
# The (only) source file states:
|
||||
# License: "Do what you feel is right, but don't be a jerk" public license.
|
||||
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ matthiasbeyer ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
@@ -23,4 +24,8 @@ stdenv.mkDerivation rec {
|
||||
libcec_platform
|
||||
tinyxml
|
||||
];
|
||||
|
||||
meta = {
|
||||
license = lib.licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
buildKodiAddon rec {
|
||||
pname = "youtube";
|
||||
namespace = "plugin.video.youtube";
|
||||
version = "7.4.2";
|
||||
version = "7.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anxdpanic";
|
||||
repo = "plugin.video.youtube";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-o+HaYVUvulHzthnP/PUJ0qTe0e901djw3l9sVpUcD08=";
|
||||
hash = "sha256-FUfDUyaYHIeu9thCx19huLFnDO7Yl3RKIbfUH2I+SQI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -438,14 +438,14 @@ in
|
||||
|
||||
docker_29 =
|
||||
let
|
||||
version = "29.4.1";
|
||||
version = "29.4.2";
|
||||
in
|
||||
callPackage dockerGen {
|
||||
inherit version;
|
||||
cliRev = "v${version}";
|
||||
cliHash = "sha256-jGD+Z3koM0a2Te7cq2HdKFizZj39djvTQUmn815Mn4o=";
|
||||
mobyRev = "docker-v${version}";
|
||||
mobyHash = "sha256-R+rCR8DG4IyEdn9ol7PjawixgymjrEVMrTjaZM1wReU=";
|
||||
mobyHash = "sha256-jPmFYGOxvMof32fQeI4iHLG12ElwysYLSTkIrlluEXM=";
|
||||
runcRev = "v1.3.5";
|
||||
runcHash = "sha256-Swphxbu/OLkUrfRjLMZIVGwYb7AN0xHdyxm0ysAVam0=";
|
||||
containerdRev = "v2.2.3";
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "qboot";
|
||||
version = "unstable-2020-04-23";
|
||||
version = "unstable-2022-09-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bonzini";
|
||||
repo = "qboot";
|
||||
rev = "de50b5931c08f5fba7039ddccfb249a5b3b0b18d";
|
||||
sha256 = "1d0h29zz535m0pq18k3aya93q7lqm2858mlcp8mlfkbq54n8c5d8";
|
||||
rev = "8ca302e86d685fa05b16e2b208888243da319941";
|
||||
hash = "sha256-YxVGFiyLdhq7yWaXARh7f0nBZgXfJuYvv1BxfyThupM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -33,9 +33,7 @@ stdenv.mkDerivation {
|
||||
"pic"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
qboot = nixosTests.qboot;
|
||||
};
|
||||
passthru.tests.qboot = nixosTests.qboot;
|
||||
|
||||
meta = {
|
||||
description = "Simple x86 firmware for booting Linux";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "a4";
|
||||
version = "0.2.3";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rpmohn";
|
||||
repo = "a4";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AX5psz9+bLdFFeDR55TIrAWDAkhDygw6289OgIfOJTg=";
|
||||
hash = "sha256-WehME2z/Fm4DOrEUj8+XTOnm2MrplZIeOXSubSN223w=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
gccStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "acme-client";
|
||||
version = "1.3.3";
|
||||
version = "1.3.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://data.wolfsden.cz/sources/acme-client-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-HJOk2vlDD7ADrLdf/eLEp+teu9XN0KrghEe6y4FIDoI=";
|
||||
url = "https://files.wolfsden.cz/releases/acme-client/acme-client-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-Mq+6epLcgEnlQ0JAPYCxGQu7EM0VS0Y32PYuvEuliAE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -29,12 +29,17 @@ gccStdenv.mkDerivation (finalAttrs: {
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Secure ACME/Let's Encrypt client";
|
||||
homepage = "https://git.wolfsden.cz/acme-client-portable";
|
||||
platforms = lib.platforms.unix;
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ pmahoney ];
|
||||
maintainers = with lib.maintainers; [
|
||||
pmahoney
|
||||
kybe236
|
||||
];
|
||||
mainProgram = "acme-client";
|
||||
};
|
||||
})
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnugrep nix-update
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
VERSION=$(curl https://files.wolfsden.cz/releases/acme-client/ | grep -oP 'acme-client-\K\d+\.\d+\.\d+(?=\.tar\.gz)' | sort -V | tail -n1)
|
||||
|
||||
echo ">> acme-client: $VERSION"
|
||||
|
||||
nix-update --version "$VERSION" acme-client
|
||||
@@ -24,5 +24,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mainProgram = "aesfix";
|
||||
homepage = "https://citp.princeton.edu/our-work/memory/";
|
||||
maintainers = with lib.maintainers; [ fedx-sudo ];
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
From c48f5d57b6e57f42b668c0c6b8744e4620c77320 Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Voss <mvs@nyantec.com>
|
||||
Date: Tue, 19 Nov 2024 20:47:27 +0100
|
||||
Subject: [PATCH] Use magick command from ImageMagick
|
||||
|
||||
With ImageMagick version 7 the convert command has been deprecated in
|
||||
favour of magick. Calling convert instead results in the logs being
|
||||
spammed with warning messages.
|
||||
|
||||
The mogrify Elixir wrapper also runs magick with the mogrify argument
|
||||
in current releases.
|
||||
---
|
||||
lib/pleroma/application_requirements.ex | 8 ++++----
|
||||
lib/pleroma/helpers/media_helper.ex | 4 ++--
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/lib/pleroma/application_requirements.ex b/lib/pleroma/application_requirements.ex
|
||||
index c3777d8f1..55ee674a2 100644
|
||||
--- a/lib/pleroma/application_requirements.ex
|
||||
+++ b/lib/pleroma/application_requirements.ex
|
||||
@@ -166,10 +166,10 @@ defp check_system_commands!(:ok) do
|
||||
filter_commands_statuses = [
|
||||
check_filter(Pleroma.Upload.Filter.Exiftool.StripMetadata, "exiftool"),
|
||||
check_filter(Pleroma.Upload.Filter.Exiftool.ReadDescription, "exiftool"),
|
||||
- check_filter(Pleroma.Upload.Filter.Mogrify, "mogrify"),
|
||||
- check_filter(Pleroma.Upload.Filter.Mogrifun, "mogrify"),
|
||||
- check_filter(Pleroma.Upload.Filter.AnalyzeMetadata, "mogrify"),
|
||||
- check_filter(Pleroma.Upload.Filter.AnalyzeMetadata, "convert"),
|
||||
+ check_filter(Pleroma.Upload.Filter.Mogrify, "magick"),
|
||||
+ check_filter(Pleroma.Upload.Filter.Mogrifun, "magick"),
|
||||
+ check_filter(Pleroma.Upload.Filter.AnalyzeMetadata, "magick"),
|
||||
+ check_filter(Pleroma.Upload.Filter.AnalyzeMetadata, "magick"),
|
||||
check_filter(Pleroma.Upload.Filter.AnalyzeMetadata, "ffprobe")
|
||||
]
|
||||
|
||||
diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex
|
||||
index cb95d0e68..17cd9629d 100644
|
||||
--- a/lib/pleroma/helpers/media_helper.ex
|
||||
+++ b/lib/pleroma/helpers/media_helper.ex
|
||||
@@ -12,7 +12,7 @@ defmodule Pleroma.Helpers.MediaHelper do
|
||||
require Logger
|
||||
|
||||
def missing_dependencies do
|
||||
- Enum.reduce([imagemagick: "convert", ffmpeg: "ffmpeg"], [], fn {sym, executable}, acc ->
|
||||
+ Enum.reduce([imagemagick: "magick", ffmpeg: "ffmpeg"], [], fn {sym, executable}, acc ->
|
||||
if Pleroma.Utils.command_available?(executable) do
|
||||
acc
|
||||
else
|
||||
@@ -22,7 +22,7 @@ def missing_dependencies do
|
||||
end
|
||||
|
||||
def image_resize(url, options) do
|
||||
- with executable when is_binary(executable) <- System.find_executable("convert"),
|
||||
+ with executable when is_binary(executable) <- System.find_executable("magick"),
|
||||
{:ok, args} <- prepare_image_resize_args(options),
|
||||
{:ok, env} <- HTTP.get(url, [], []),
|
||||
{:ok, fifo_path} <- mkfifo() do
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -20,14 +20,14 @@ let
|
||||
in
|
||||
beamPackages.mixRelease rec {
|
||||
pname = "akkoma";
|
||||
version = "3.18.1";
|
||||
version = "3.19.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "akkoma.dev";
|
||||
owner = "AkkomaGang";
|
||||
repo = "akkoma";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-4HIIgTNcNAMCpHyT6zBcmxXeFbMrt38Z7PtT9Onvz+U=";
|
||||
hash = "sha256-ASLnsmuWpfQKwpNNLUgI32Gdn/j+jUW5IBLlT8RUmcE=";
|
||||
|
||||
# upstream repository archive fetching is broken
|
||||
forceFetchGit = true;
|
||||
@@ -36,20 +36,10 @@ beamPackages.mixRelease rec {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ file ];
|
||||
|
||||
patches = [
|
||||
# See <https://akkoma.dev/AkkomaGang/akkoma/pulls/854>
|
||||
# Akkoma uses the deprecated “convert” command instead of “magick”, which
|
||||
# results in the logs being spammed with warning messages. Upstream is
|
||||
# reluctant to change this, to ensure compatibility with Debian stable,
|
||||
# which does not yet provide ImageMagick 7.
|
||||
# Remove this patch once merged upstream.
|
||||
./akkoma-imagemagick.patch
|
||||
];
|
||||
|
||||
mixFodDeps = beamPackages.fetchMixDeps {
|
||||
pname = "mix-deps-akkoma";
|
||||
inherit src version;
|
||||
hash = "sha256-igXEX6I+7G7tNCLjEf0VBOaii0r7jXCdF6x78LMcUv0=";
|
||||
hash = "sha256-O9A7XuQSSczGMcLMc6Fk0eh7PkjQ6sYJKSwdqoEPJJI=";
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace "$out/http_signatures/mix.exs" \
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "all-the-package-names";
|
||||
version = "2.0.2429";
|
||||
version = "2.0.2437";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nice-registry";
|
||||
repo = "all-the-package-names";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ut3YoTGpHEoSIafkimU31Mt45Q14oiTGWXQQfsxia9s=";
|
||||
hash = "sha256-wPmsxxlgWsh0LvLgvlJbqci8vqfz8Z2/1RC3Sc0krp8=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-pxei6HxmUyMajVG+thFp3pOTWqBC6yL/nOvp6c8DXp0=";
|
||||
npmDepsHash = "sha256-UlflkWK2lyQMvuJQ0OkI1cuR8rhZxyDjeHUsdFjWfQk=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "allure";
|
||||
version = "2.39.0";
|
||||
version = "2.40.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-dDg/ZgacwPbsLQ/a0vHXYfExhPbNKJM0sdz8QjdzVmU=";
|
||||
hash = "sha256-RXOO/8dGZ0DULqkTjoD8pQgedWbHCvypRwjZxVhdNCQ=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "adjust-sound-volume";
|
||||
@@ -13,7 +12,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6reIUz+tHKd4KQpuofLa/tIL5lCloj3yODZ8Cz29jFU=";
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = "Add a new menu item for adjusting the sound volume";
|
||||
homepage = "https://github.com/mnogu/adjust-sound-volume";
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
@@ -26,7 +25,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
};
|
||||
});
|
||||
sourceRoot = "${finalAttrs.src.name}/card_management";
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = "Reset, Learn, and Grade cards from the card browser";
|
||||
longDescription = ''
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "anki-quizlet-importer-extended";
|
||||
@@ -13,7 +12,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BTddZColXM193x8xFa1axHeiWukjxXvwkXGpHxsLtR0=";
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = "Import Quizlet Decks into Anki";
|
||||
homepage = "https://ankiweb.net/shared/info/1362209126";
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
lndir,
|
||||
formats,
|
||||
runCommand,
|
||||
nix-update-script,
|
||||
}:
|
||||
{
|
||||
buildAnkiAddon = lib.extendMkDerivation {
|
||||
@@ -55,6 +56,7 @@
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
withConfig =
|
||||
{
|
||||
# JSON add-on config. The available options for an add-on are in its
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "image-occlusion-enhanced";
|
||||
@@ -15,7 +14,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
hash = "sha256-YR1hicBDb08J+1Qc+SDiJDXLo5FzLqCQGeVe7brbPME=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src/image_occlusion_enhanced";
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = ''
|
||||
Adds extra features for creating image-based cloze-deletions
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "passfail2";
|
||||
@@ -21,7 +20,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = ''
|
||||
Replaces the default Anki review buttons with only two options:
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "puppy-reinforcement";
|
||||
@@ -14,7 +13,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
hash = "sha256-y52AjmYrFTcTwd4QAcJzK5R9wwxUSlvnN3C2O/r5cHk=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/src/puppy_reinforcement";
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = "Encourage learners with pictures of cute puppies";
|
||||
longDescription = ''
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "recolor";
|
||||
@@ -25,8 +24,6 @@ anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
./only-update-config-version-when-migration-happens.patch
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "ReColor your Anki desktop to whatever aesthetic you like";
|
||||
longDescription = ''
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "atlantis";
|
||||
version = "0.42.0";
|
||||
version = "0.43.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "runatlantis";
|
||||
repo = "atlantis";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EcFthkizJOcqxpt8VjuFRM0UPHHxSseEcWTpT/qlCxw=";
|
||||
hash = "sha256-btCfoku8LgsZEJ/aza75wg8spacYEeliXVmjMZYkO3M=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
||||
@@ -4,9 +4,12 @@
|
||||
fetchFromGitHub,
|
||||
wrapGAppsHook3,
|
||||
gobject-introspection,
|
||||
imagemagick,
|
||||
gtksourceview3,
|
||||
libappindicator-gtk3,
|
||||
libnotify,
|
||||
xautomation,
|
||||
xwd,
|
||||
zenity,
|
||||
wmctrl,
|
||||
}:
|
||||
@@ -19,12 +22,16 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "autokey";
|
||||
repo = "autokey";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-d1WJLqkdC7QgzuYdnxYhajD3DtCpgceWCAxGrk0KKew=";
|
||||
};
|
||||
|
||||
# Tests appear to be broken with import errors within the project structure
|
||||
doCheck = false;
|
||||
postPatch = ''
|
||||
# pyrcc5 embeds resource mtimes; preserve normalized source mtimes for reproducible wheels.
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "shutil.copy(str(icon), str(target_directory))" \
|
||||
"shutil.copy2(str(icon), str(target_directory))"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
@@ -41,6 +48,22 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pyqt5
|
||||
pyhamcrest
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Runs `git describe` during test collection.
|
||||
"tests/test_common.py"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
dbus-python
|
||||
pyinotify
|
||||
@@ -51,7 +74,10 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
|
||||
runtimeDeps = [
|
||||
imagemagick
|
||||
zenity
|
||||
xautomation
|
||||
xwd
|
||||
wmctrl
|
||||
];
|
||||
|
||||
@@ -67,10 +93,11 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/autokey/autokey";
|
||||
description = "Desktop automation utility for Linux and X11";
|
||||
license = with lib.licenses; [ gpl3 ];
|
||||
maintainers = [ ];
|
||||
homepage = "https://github.com/autokey/autokey";
|
||||
changelog = "https://github.com/autokey/autokey/releases/tag/${finalAttrs.src.tag}";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
maintainers = with lib.maintainers; [ iamanaws ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "blockbench";
|
||||
version = "5.1.3";
|
||||
version = "5.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JannisX11";
|
||||
repo = "blockbench";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-aGGvYIYQ3fw1fk5NUwJsMkq2YSugQD94xfy52LvHOKc=";
|
||||
hash = "sha256-lYsd8KegoO4amtRL5o3JPXW4vu4z3p/dXlOVn3zKgeA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "capslock";
|
||||
version = "0.3.1";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "capslock";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Ln2NqyIlFGlPZL4rbmlY+fnJFCVVaKWmwQxhE2h7e2E=";
|
||||
hash = "sha256-IqPzXs8d22tVwYot98i48MLDXZERk0nt1Wh8CnCDeKQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ObQvJwebefu8hIBd+dcs3i3xhRfFax1TIBDPfaTUKOY=";
|
||||
vendorHash = "sha256-k4YQaoLIw1jFl4PJUm0b16ORw/OyhmA/5uKfP0S12GU=";
|
||||
|
||||
subPackages = [ "cmd/capslock" ];
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 574150c05..109e96889 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -566,6 +566,14 @@ foreach (module ${_modules})
|
||||
endforeach (module)
|
||||
|
||||
# Install pkg-config support file
|
||||
+set(pc_req_public "")
|
||||
+if (_usewcs AND WCSLIB_FOUND)
|
||||
+ list(APPEND pc_req_public "wcslib")
|
||||
+endif()
|
||||
+if (_usefits AND CFITSIO_FOUND)
|
||||
+ list(APPEND pc_req_public "cfitsio")
|
||||
+endif()
|
||||
+list(JOIN pc_req_public " " pc_req_public)
|
||||
CONFIGURE_FILE("casacore.pc.in" "casacore.pc" @ONLY)
|
||||
set(CASA_PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
|
||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/casacore.pc" DESTINATION "${CASA_PKGCONFIG_INSTALL_PREFIX}")
|
||||
diff --git a/casacore.pc.in b/casacore.pc.in
|
||||
index 6881300df..d0a01b240 100644
|
||||
--- a/casacore.pc.in
|
||||
+++ b/casacore.pc.in
|
||||
@@ -9,4 +9,4 @@ Version: @PROJECT_VERSION@
|
||||
Requires: @pc_req_public@
|
||||
Requires.private: @pc_req_private@
|
||||
Libs: -L${libdir} @PRIVATE_LIBS@
|
||||
-Cflags: -I${includedir} -I@WCSLIB_INCLUDE_DIR@
|
||||
+Cflags: -I${includedir}
|
||||
@@ -14,8 +14,33 @@
|
||||
fftwFloat,
|
||||
readline,
|
||||
gsl,
|
||||
mpi,
|
||||
adios2,
|
||||
hdf5,
|
||||
llvmPackages,
|
||||
mpiSupport ? false,
|
||||
adios2Support ? false,
|
||||
hdf5Support ? false,
|
||||
}:
|
||||
|
||||
let
|
||||
casacorePackages = {
|
||||
adios2 = adios2.override {
|
||||
inherit mpi mpiSupport;
|
||||
};
|
||||
fftw = fftw.override {
|
||||
inherit mpi;
|
||||
enableMpi = mpiSupport;
|
||||
};
|
||||
fftwFloat = fftwFloat.override {
|
||||
inherit mpi;
|
||||
enableMpi = mpiSupport;
|
||||
};
|
||||
hdf5 = hdf5.override {
|
||||
inherit mpi mpiSupport;
|
||||
cppSupport = !mpiSupport;
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "casacore";
|
||||
version = "3.8.0";
|
||||
@@ -27,31 +52,55 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-NOxuHMCuHGk9XuWXMwQTN6kOFDI0QuHMgfNRDdlPw44=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gfortran
|
||||
flex
|
||||
bison
|
||||
];
|
||||
]
|
||||
++ lib.optional mpiSupport mpi;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
wcslib
|
||||
cfitsio
|
||||
]
|
||||
++ lib.optional hdf5Support casacorePackages.hdf5
|
||||
++ lib.optional mpiSupport mpi
|
||||
++ lib.optional adios2Support casacorePackages.adios2;
|
||||
|
||||
buildInputs = [
|
||||
blas
|
||||
lapack
|
||||
cfitsio
|
||||
wcslib
|
||||
fftw
|
||||
fftwFloat
|
||||
casacorePackages.fftw
|
||||
casacorePackages.fftwFloat
|
||||
readline
|
||||
gsl
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
llvmPackages.openmp
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix the generated .pc file: set Requires from a variable instead of
|
||||
# leaving it empty, and remove hardcoded absolute cmake build paths from
|
||||
# Cflags (which would embed /nix/store paths from the build environment).
|
||||
./casacore-pkgconfig.patch
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "ENABLE_SHARED" (!stdenv.hostPlatform.isStatic))
|
||||
(lib.cmakeBool "BUILD_PYTHON3" false) # TODO: If/when we package python-casacore, this will change
|
||||
(lib.cmakeBool "BUILD_PYTHON3" false)
|
||||
(lib.cmakeBool "USE_OPENMP" true)
|
||||
(lib.cmakeBool "USE_ADIOS2" adios2Support)
|
||||
(lib.cmakeBool "USE_HDF5" hdf5Support)
|
||||
(lib.cmakeBool "USE_MPI" mpiSupport)
|
||||
(lib.cmakeBool "PORTABLE" true)
|
||||
(lib.cmakeBool "USE_PCH" false)
|
||||
(lib.cmakeBool "BUILD_FFTPACK_DEPRECATED" true) # Needed for casacpp
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 4d3cae2326..7954107f8f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -195,6 +195,7 @@ foreach(_component IN LISTS casacpp_all_components)
|
||||
endforeach()
|
||||
|
||||
# Install pkg-config support file
|
||||
+set(pc_req_public "casacore cfitsio libxml-2.0 gsl protobuf grpc++ fftw3 libsakura")
|
||||
CONFIGURE_FILE("casacpp.pc.in" "casacpp.pc" @ONLY)
|
||||
set(CASACPP_PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
|
||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/casacpp.pc" DESTINATION "${CASACPP_PKGCONFIG_INSTALL_PREFIX}")
|
||||
diff --git a/casacpp.pc.in b/casacpp.pc.in
|
||||
index 08a996b2c3..699cfb7319 100644
|
||||
--- a/casacpp.pc.in
|
||||
+++ b/casacpp.pc.in
|
||||
@@ -9,4 +9,4 @@ Version: @PROJECT_VERSION@
|
||||
Requires: @pc_req_public@
|
||||
Requires.private: @pc_req_private@
|
||||
Libs: -L${libdir} @PRIVATE_LIBS@
|
||||
-Cflags: -DWITHOUT_ACS -DWITHOUT_BOOST -I${includedir}/casacpp -I${includedir}/casacpp/protobuf_generated -I@CASACORE_INCLUDE_DIRS@ -I@CFITSIO_INCLUDE_DIRS@ -I@LibXML_INCLUDE_DIRS@ -I@GSL_INCLUDE_DIRS@
|
||||
+Cflags: -DWITHOUT_ACS -DWITHOUT_BOOST -I${includedir}/casacpp -I${includedir}/casacpp/protobuf_generated
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchgit,
|
||||
cmake,
|
||||
common-updater-scripts,
|
||||
curl,
|
||||
gnugrep,
|
||||
writeShellScript,
|
||||
pkg-config,
|
||||
flex,
|
||||
bison,
|
||||
gfortran,
|
||||
casacore,
|
||||
libsakura,
|
||||
grpc,
|
||||
protobuf,
|
||||
gsl,
|
||||
libxml2,
|
||||
libxslt,
|
||||
fftw,
|
||||
fftwFloat,
|
||||
sqlite,
|
||||
openssl,
|
||||
mpi,
|
||||
mpiSupport ? false,
|
||||
}:
|
||||
let
|
||||
casacppPackages = {
|
||||
fftw = fftw.override {
|
||||
inherit mpi;
|
||||
enableMpi = mpiSupport;
|
||||
};
|
||||
fftwFloat = fftwFloat.override {
|
||||
inherit mpi;
|
||||
enableMpi = mpiSupport;
|
||||
};
|
||||
casacore = casacore.override {
|
||||
inherit mpi mpiSupport;
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "casacpp";
|
||||
version = "6.7.5.18";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://open-bitbucket.nrao.edu/scm/casa/casa6.git";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-75oIlaNAyu70KWSjz38LoYAvV7RJgzH/X9uBnGpriF4=";
|
||||
fetchSubmodules = false;
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/casatools/src/code";
|
||||
|
||||
patches = [
|
||||
# Fix the generated .pc file: set Requires from a variable instead of
|
||||
# leaving it empty, and remove hardcoded absolute cmake build paths from
|
||||
# Cflags (which would embed /nix/store paths from the build environment).
|
||||
./casacpp-pkgconfig.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i '/execute_process(COMMAND/,/OUTPUT_VARIABLE CASACPP_VERSION)/c\set(CASACPP_VERSION "${finalAttrs.version}")' CMakeLists.txt
|
||||
sed -i 's/string(REGEX MATCH.*CASACPP_VERSION)//' CMakeLists.txt
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail \
|
||||
'find_package(gRPC QUIET)' \
|
||||
'set(gRPC_FOUND 0)'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
flex
|
||||
bison
|
||||
gfortran
|
||||
grpc # for grpc_cpp_plugin
|
||||
]
|
||||
++ lib.optional mpiSupport mpi;
|
||||
|
||||
buildInputs = [
|
||||
libxslt
|
||||
sqlite
|
||||
openssl
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
casacppPackages.casacore
|
||||
protobuf
|
||||
grpc
|
||||
casacppPackages.fftw
|
||||
casacppPackages.fftwFloat
|
||||
libsakura
|
||||
gsl
|
||||
libxml2
|
||||
];
|
||||
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-ffp-contract=off")
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = writeShellScript "update-casacpp" ''
|
||||
version=$(${lib.getExe curl} -s https://pypi.org/pypi/casatasks/json | ${lib.getExe gnugrep} -oP '"version"\s*:\s*"\K[^"]+' | head -1)
|
||||
${lib.getExe' common-updater-scripts "update-source-version"} casacpp "$version"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "C++ core libraries for radio interferometry data reduction";
|
||||
homepage = "https://casa.nrao.edu/";
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ kiranshila ];
|
||||
};
|
||||
})
|
||||
@@ -19,13 +19,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "castxml";
|
||||
version = "0.6.13";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CastXML";
|
||||
repo = "CastXML";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-81I+Uh2HrEenp9iAW+TO+MUyXhXRMVDI+BZuVA4C/pE=";
|
||||
hash = "sha256-nLYh6qb/dc+K1tsCVSm/iBzaJPtKPF1Q66yCpLFM6v4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ] ++ lib.optionals (withManual || withHTML) [ sphinx ];
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "clive";
|
||||
version = "0.12.16";
|
||||
version = "0.12.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koki-develop";
|
||||
repo = "clive";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-bZzK7RLAStRb9R3V/TK6tZV6yv1C7MGslAhhpWDzdWk=";
|
||||
hash = "sha256-omHxs2hTzjddelPkJWj2sVmK9nI5bCELUS8EmEH7JXM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-BDspmaATLIfwyqxwJNJ24vpEETUWGVbobHWD2NRaOi4=";
|
||||
vendorHash = "sha256-M3cU2051lOzm9hXuVwC1eFI8Ftpmk32h/98dHUkRfts=";
|
||||
subPackages = [ "." ];
|
||||
buildInputs = [ ttyd ];
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,16 +11,16 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clouddrive2";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz";
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-yeDxxJvBstV+vafqNF22egznqvjUZWX2hZKiJif8jvU=";
|
||||
aarch64-linux = "sha256-Fdi9T0RhdnT2xGixTlNIm1qRLOA9lJUqvZw5G9+SsgQ=";
|
||||
x86_64-darwin = "sha256-FuuhE3Ni5mSkTWt5yyKMsFHhM11xt4sKl7bCxAyXqKE=";
|
||||
aarch64-darwin = "sha256-Y2QoWj/eTWpMfasI+ENM35Rr2P4uufl7spjwe5CWET8=";
|
||||
x86_64-linux = "sha256-MFZIJIcDPnNcgMWqHsnb2fSjfHySvOwq5PNyLcyCeYE=";
|
||||
aarch64-linux = "sha256-Zh1MwZjYTWxGn9qWrDjTPwj+6uQ8m2FkwGlalaarGHg=";
|
||||
x86_64-darwin = "sha256-quwflRL3YYc+gK4I6g7o853tbow/LRwxx0L7IXU3ijM=";
|
||||
aarch64-darwin = "sha256-ebp15M1pWci+tvYtH1lp7syqNrj6ku4558TJSdaLf3I=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cloudflare-cli";
|
||||
version = "5.1.4";
|
||||
version = "5.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danielpigott";
|
||||
repo = "cloudflare-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UGXouKsFA4GCFgjsf5smQ1xsibPFiBqkdsqNDLAy2GM=";
|
||||
hash = "sha256-lNwpXNKrhRAdcDnaapsAyANnsgUtah3/T99iBitgAdY=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-2NgmL04czIj/uj/KzdEDc4PdzUVVRty3MSZ9IwqRMOk=";
|
||||
hash = "sha256-8dQkdCRJ7hJGC3zuUX0hmd5tWCoPSTdRNbtg2vapEXE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage {
|
||||
pname = "coc-clangd";
|
||||
version = "0-unstable-2026-04-01";
|
||||
version = "0-unstable-2026-05-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clangd";
|
||||
repo = "coc-clangd";
|
||||
rev = "34d9ed8e7a08f29e398720802401455733e6a481";
|
||||
hash = "sha256-PiPH9kXmVdu9Ul0t28E1jumZILX7IwIr2OBDfCepobs=";
|
||||
rev = "1a9f68c7266621fd8cb5aa5863ec63927232fbfc";
|
||||
hash = "sha256-FhJzJAf5jcdYCpPAKlJUNcVb0U8mkAiS5MoCTQpj/mM=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-QVsNztjTuHU0vu53IxjfFqllj1JxHnLwT9B9jaUnWIo=";
|
||||
npmDepsHash = "sha256-jPgvi+Wz39d56d0YQSF99HqZ3rYi97kfGv7r0IY5WbY=";
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
|
||||
@@ -32,60 +32,61 @@ buildGoModule (finalAttrs: {
|
||||
"man"
|
||||
];
|
||||
|
||||
# Override the go-modules fetcher derivation to fetch plugins
|
||||
modBuildPhase = ''
|
||||
cp plugin.cfg plugin.cfg.orig
|
||||
${
|
||||
(lib.concatMapStringsSep "\n" (
|
||||
plugin:
|
||||
let
|
||||
position = plugin.position or "end-of-file";
|
||||
formatPlugin = { name, repo, ... }: "${name}:${repo}";
|
||||
in
|
||||
if position == "end-of-file" then
|
||||
"echo '${formatPlugin plugin}' >> plugin.cfg"
|
||||
else if position == "start-of-file" then
|
||||
"sed -i '1i ${formatPlugin plugin}' plugin.cfg"
|
||||
else if lib.hasAttrByPath [ "before" ] position then
|
||||
''
|
||||
if ! grep -q '^${position.before}:' plugin.cfg; then
|
||||
echo 'Failed to insert ${plugin.name} before ${position.before} in plugin.cfg: ${position.before} is not in plugin.cfg'
|
||||
exit 1
|
||||
fi
|
||||
sed -i '/^${position.before}:/i ${formatPlugin plugin}' plugin.cfg
|
||||
''
|
||||
else if lib.hasAttrByPath [ "after" ] position then
|
||||
''
|
||||
if ! grep -q '^${position.after}:' plugin.cfg; then
|
||||
echo 'Failed to insert ${plugin.name} after ${position.after} in plugin.cfg: ${position.after} is not in plugin.cfg'
|
||||
exit 1
|
||||
fi
|
||||
sed -i '/^${position.after}:/a ${formatPlugin plugin}' plugin.cfg
|
||||
''
|
||||
else
|
||||
throw ''
|
||||
Unsupported position value in externalPlugin:
|
||||
${builtins.toJSON plugin}.
|
||||
Valid values for position attr are:
|
||||
- position = "end-of-file" (the default)
|
||||
- position = "start-of-file"
|
||||
- position.before = "{other plugin}"
|
||||
- position.after = "{other plugin}"
|
||||
''
|
||||
) externalPlugins)
|
||||
}
|
||||
diff -u plugin.cfg.orig plugin.cfg || true
|
||||
for src in ${toString (attrsToSources externalPlugins)}; do go get $src; done
|
||||
go mod vendor
|
||||
CC= GOOS= GOARCH= go generate
|
||||
go mod vendor
|
||||
go mod tidy
|
||||
'';
|
||||
overrideModAttrs = {
|
||||
# Add plugins before vendoring the modules.
|
||||
preBuild = ''
|
||||
cp plugin.cfg plugin.cfg.orig
|
||||
${
|
||||
(lib.concatMapStringsSep "\n" (
|
||||
plugin:
|
||||
let
|
||||
position = plugin.position or "end-of-file";
|
||||
formatPlugin = { name, repo, ... }: "${name}:${repo}";
|
||||
in
|
||||
if position == "end-of-file" then
|
||||
"echo '${formatPlugin plugin}' >> plugin.cfg"
|
||||
else if position == "start-of-file" then
|
||||
"sed -i '1i ${formatPlugin plugin}' plugin.cfg"
|
||||
else if lib.hasAttrByPath [ "before" ] position then
|
||||
''
|
||||
if ! grep -q '^${position.before}:' plugin.cfg; then
|
||||
echo 'Failed to insert ${plugin.name} before ${position.before} in plugin.cfg: ${position.before} is not in plugin.cfg'
|
||||
exit 1
|
||||
fi
|
||||
sed -i '/^${position.before}:/i ${formatPlugin plugin}' plugin.cfg
|
||||
''
|
||||
else if lib.hasAttrByPath [ "after" ] position then
|
||||
''
|
||||
if ! grep -q '^${position.after}:' plugin.cfg; then
|
||||
echo 'Failed to insert ${plugin.name} after ${position.after} in plugin.cfg: ${position.after} is not in plugin.cfg'
|
||||
exit 1
|
||||
fi
|
||||
sed -i '/^${position.after}:/a ${formatPlugin plugin}' plugin.cfg
|
||||
''
|
||||
else
|
||||
throw ''
|
||||
Unsupported position value in externalPlugin:
|
||||
${builtins.toJSON plugin}.
|
||||
Valid values for position attr are:
|
||||
- position = "end-of-file" (the default)
|
||||
- position = "start-of-file"
|
||||
- position.before = "{other plugin}"
|
||||
- position.after = "{other plugin}"
|
||||
''
|
||||
) externalPlugins)
|
||||
}
|
||||
diff -u plugin.cfg.orig plugin.cfg || true
|
||||
for src in ${toString (attrsToSources externalPlugins)}; do go get $src; done
|
||||
GOFLAGS=''${GOFLAGS//-mod=vendor/} CC= GOOS= GOARCH= go generate
|
||||
go mod tidy
|
||||
'';
|
||||
|
||||
modInstallPhase = ''
|
||||
mv -t vendor go.mod go.sum plugin.cfg
|
||||
cp -r --reflink=auto vendor "$out"
|
||||
'';
|
||||
# Move the modified `go.mod`, `go.sum`, and `plugin.cfg` files into the
|
||||
# vendor directory so we can retrieve them later in the `preBuild` hook.
|
||||
postBuild = ''
|
||||
mv -t vendor go.mod go.sum plugin.cfg
|
||||
'';
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
chmod -R u+w vendor
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGo126Module (finalAttrs: {
|
||||
pname = "crush";
|
||||
version = "0.62.1";
|
||||
version = "0.65.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "crush";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kPG7NZEZ/uHhyx9GYbIkTmybfvTPuD+TTlWbRFQ0HzA=";
|
||||
hash = "sha256-X+bCwpyAFUkM1ljj5I6w6gts6b6IWYm1d4veV0mR0gA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XlSHxR10ov0uvnqvu99Ax0kq/R/gnkX8fLaG98tTpe4=";
|
||||
vendorHash = "sha256-moVpfFscZLz7mQw+pqaG132k9KTNyRdKOFNNd0RN1oo=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
diff --git a/daktari/result_printer.py b/daktari/result_printer.py
|
||||
--- a/daktari/result_printer.py
|
||||
+++ b/daktari/result_printer.py
|
||||
@@ -1,7 +1,11 @@
|
||||
import re
|
||||
import textwrap
|
||||
-import pyclip
|
||||
from typing import Callable, Dict, Optional
|
||||
|
||||
+try:
|
||||
+ import pyclip
|
||||
+except ImportError:
|
||||
+ pyclip = None
|
||||
+
|
||||
from colors import green, red, underline, yellow
|
||||
|
||||
from daktari.check import CheckResult, CheckStatus
|
||||
@@ -58,10 +62,13 @@ def copy_to_clipboard(suggestion: Optional[str]):
|
||||
command_regex = re.compile(r"\<cmd\>(.*?)\<\/cmd\>")
|
||||
results = command_regex.findall(suggestion)
|
||||
if len(results) > 0:
|
||||
- try:
|
||||
- pyclip.copy("\n".join(results))
|
||||
+ if pyclip is not None:
|
||||
+ try:
|
||||
+ pyclip.copy("\n".join(results))
|
||||
+ print("ⓘ Command copied to clipboard")
|
||||
+ except pyclip.base.ClipboardSetupException:
|
||||
print("ⓘ Clipboard not available")
|
||||
+ else:
|
||||
+ print("ⓘ Clipboard not available")
|
||||
return
|
||||
print("ⓘ No command available to copy to clipboard")
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "daktari";
|
||||
version = "0.0.319";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "genio-learn";
|
||||
repo = "daktari";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NxTDyul1BESr/fBow9hwmTLr6jcl4p5RlIKNzFbaJvc=";
|
||||
};
|
||||
|
||||
patches = [ ./optional-pyclip.patch ];
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# pyclip is broken on macOS in nixpkgs
|
||||
substituteInPlace requirements.txt --replace-fail "pyclip==0.7.0" ""
|
||||
'';
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
ansicolors
|
||||
distro
|
||||
pyfiglet
|
||||
importlib-resources
|
||||
packaging
|
||||
requests
|
||||
responses
|
||||
semver
|
||||
python-hosts
|
||||
pyyaml
|
||||
types-pyyaml
|
||||
requests-unixsocket
|
||||
dpath
|
||||
pyopenssl
|
||||
types-pyopenssl
|
||||
urllib3
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
pyclip
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
pyobjc-core
|
||||
pyobjc-framework-Cocoa
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "daktari" ];
|
||||
|
||||
meta = {
|
||||
description = "Tool to assist in setting up and maintaining developer environments";
|
||||
homepage = "https://github.com/genio-learn/daktari";
|
||||
changelog = "https://github.com/genio-learn/daktari/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ tymscar ];
|
||||
mainProgram = "daktari";
|
||||
};
|
||||
})
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "darkstat";
|
||||
version = "3.0.721";
|
||||
version = "3.0.722";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emikulic";
|
||||
repo = "darkstat";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-kKj4fCgphoe3lojJfARwpITxQh7E6ehUew9FVEW63uQ=";
|
||||
hash = "sha256-WJjunJx9WjzRky1FL0k25h84Ypv273KXR5qT5YhHmbs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -54,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
changelog = "https://github.com/emikulic/darkstat/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = with lib.platforms; unix;
|
||||
maintainers = with lib.maintainers; [ tbutter ];
|
||||
mainProgram = "darkstat";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -9,24 +9,24 @@
|
||||
fixup-yarn-lock,
|
||||
prefetch-yarn-deps,
|
||||
nixosTests,
|
||||
nodejs_20,
|
||||
nodejs-slim_20,
|
||||
nodejs_24,
|
||||
nodejs-slim_24,
|
||||
remarshal_0_17,
|
||||
nix-update-script,
|
||||
settings ? { },
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dashy-ui";
|
||||
version = "3.3.1";
|
||||
version = "4.0.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lissy93";
|
||||
repo = "dashy";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-EvyRLa+qUFPzmU2k5CVK8WH3D3vmcj9F8fzj3LEjYgg=";
|
||||
hash = "sha256-vcNKnRcSQMU4AuvWTFdTlxVOAA0rlPCKUrDZbd+8/mk=";
|
||||
};
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-EMns5J8rM4qOfrACoX6lttOXh/RUtZjaKtd+BpsS6Xs=";
|
||||
hash = "sha256-1FRrhNKm38/AP30F6Rf0cCHflIK9bWoxUCMMiT5c1Fc=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@@ -56,17 +56,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# but they've been overridden for the sake of consistency/in case future updates to dashy/node would cause issues with differing major versions
|
||||
(yarnConfigHook.override {
|
||||
fixup-yarn-lock = fixup-yarn-lock.override {
|
||||
nodejs-slim = nodejs-slim_20;
|
||||
nodejs-slim = nodejs-slim_24;
|
||||
};
|
||||
prefetch-yarn-deps = prefetch-yarn-deps.override {
|
||||
nodejs-slim = nodejs-slim_20;
|
||||
nodejs-slim = nodejs-slim_24;
|
||||
};
|
||||
yarn = yarn.override {
|
||||
nodejs = nodejs_20;
|
||||
nodejs = nodejs_24;
|
||||
};
|
||||
})
|
||||
yarnBuildHook
|
||||
nodejs_20
|
||||
nodejs_24
|
||||
# For yaml conversion
|
||||
remarshal_0_17
|
||||
];
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/Gemfile.lock b/Gemfile.lock
|
||||
index 9a7c7500..9215d45a 100644
|
||||
index d8d04266..75b34a35 100644
|
||||
--- a/Gemfile.lock
|
||||
+++ b/Gemfile.lock
|
||||
@@ -191,12 +191,7 @@ GEM
|
||||
@@ -194,12 +194,7 @@ GEM
|
||||
faraday-net_http (3.4.2)
|
||||
net-http (~> 0.5)
|
||||
ffaker (2.25.0)
|
||||
@@ -15,4 +15,4 @@ index 9a7c7500..9215d45a 100644
|
||||
+ ffi (1.17.2)
|
||||
fit4ruby (3.13.0)
|
||||
bindata (~> 2.4.14)
|
||||
foreman (0.90.0)
|
||||
flipper (1.4.1)
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
diff --git a/Gemfile b/Gemfile
|
||||
index 36cf0d9c..fc914849 100644
|
||||
--- a/Gemfile
|
||||
+++ b/Gemfile
|
||||
@@ -28,6 +28,7 @@ gem 'omniauth-github', '~> 2.0.0'
|
||||
gem 'omniauth-google-oauth2'
|
||||
gem 'omniauth_openid_connect'
|
||||
gem 'omniauth-rails_csrf_protection'
|
||||
+gem 'openssl'
|
||||
gem 'parallel'
|
||||
gem 'pg'
|
||||
gem 'prometheus_exporter'
|
||||
diff --git a/Gemfile.lock b/Gemfile.lock
|
||||
index a32eb801..b2fc45bc 100644
|
||||
--- a/Gemfile.lock
|
||||
+++ b/Gemfile.lock
|
||||
@@ -348,6 +348,7 @@ GEM
|
||||
tzinfo
|
||||
validate_url
|
||||
webfinger (~> 2.0)
|
||||
+ openssl (3.3.1)
|
||||
optimist (3.2.1)
|
||||
orm_adapter (0.5.0)
|
||||
ostruct (0.6.1)
|
||||
@@ -665,6 +666,7 @@ DEPENDENCIES
|
||||
omniauth-google-oauth2
|
||||
omniauth-rails_csrf_protection
|
||||
omniauth_openid_connect
|
||||
+ openssl
|
||||
parallel
|
||||
pg
|
||||
prometheus_exporter
|
||||
Generated
+125
-116
@@ -249,6 +249,21 @@
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
apple_id = {
|
||||
dependencies = [
|
||||
"json-jwt"
|
||||
"openid_connect"
|
||||
"rack-oauth2"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0na7v2gb10lwhjrwb1nm6cgnggihzhnznzv3ha9qy3jq7gys41cw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.4";
|
||||
};
|
||||
ast = {
|
||||
groups = [
|
||||
"default"
|
||||
@@ -410,10 +425,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "19y406nx17arzsbc515mjmr6k5p59afprspa1k423yd9cp8d61wb";
|
||||
sha256 = "1g9zi8c4i7g8zz0c3hxrw6mblrjvgn7akys60clb9si7c1k1gljk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.1";
|
||||
version = "4.1.2";
|
||||
};
|
||||
bindata = {
|
||||
groups = [ "default" ];
|
||||
@@ -431,10 +446,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "14qb2gy6ypnqri92v9x8szbq7fzw27pc1z5cl367n5f5cpd2rmks";
|
||||
sha256 = "057jsch213i42qgdsz2vg1b190n2xvvbi3hgprc8nmaqim2ly9f1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.20.1";
|
||||
version = "1.23.0";
|
||||
};
|
||||
brakeman = {
|
||||
dependencies = [ "racc" ];
|
||||
@@ -623,25 +638,15 @@
|
||||
};
|
||||
version = "0.15.0";
|
||||
};
|
||||
css-zero = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1jiihfxvfw0wl42m0jzpq94iqa2ra878dqllkk34w49pv0wsgrkz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.15";
|
||||
};
|
||||
csv = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
|
||||
sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.4";
|
||||
version = "3.3.5";
|
||||
};
|
||||
data_migrate = {
|
||||
dependencies = [
|
||||
@@ -867,10 +872,10 @@
|
||||
];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18";
|
||||
sha256 = "1ncmbdjf2bwmk0jf5cxywns9zbxyfiy4h4p3pzi7yddyjhv81qrq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.0.1";
|
||||
version = "6.0.4";
|
||||
};
|
||||
erubi = {
|
||||
groups = [
|
||||
@@ -1013,6 +1018,49 @@
|
||||
};
|
||||
version = "3.13.0";
|
||||
};
|
||||
flipper = {
|
||||
dependencies = [ "concurrent-ruby" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0kbf2r2ayb91d1i0lbpj418pcv33dc24pqs9fl1wg4rhzd035105";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.1";
|
||||
};
|
||||
flipper-active_record = {
|
||||
dependencies = [
|
||||
"activerecord"
|
||||
"flipper"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0dss4hhnw6ypn2yh0cq2yi08cwvkv0kqjxxih7214slps0d4i5si";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.1";
|
||||
};
|
||||
flipper-ui = {
|
||||
dependencies = [
|
||||
"erubi"
|
||||
"flipper"
|
||||
"rack"
|
||||
"rack-protection"
|
||||
"rack-session"
|
||||
"sanitize"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "168agvgc6skln31x3r5ic5c6varc3m5b1gxnpkxq5p9gslvm53mp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.1";
|
||||
};
|
||||
foreman = {
|
||||
dependencies = [ "thor" ];
|
||||
groups = [ "development" ];
|
||||
@@ -1065,6 +1113,17 @@
|
||||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
google-id-token = {
|
||||
dependencies = [ "jwt" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1lb9iqzx0fi2f4x2m9dwimpfvxqz3ck73gx9sh8mb88klbhyp26h";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.2";
|
||||
};
|
||||
gpx = {
|
||||
dependencies = [
|
||||
"csv"
|
||||
@@ -1075,10 +1134,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1cgm6dzzpslhgxcqcgqnpvargrq9d3v2xhxgan1l1cayc33pn837";
|
||||
sha256 = "06p5wkyj6lcj01szv22g1jcx8qkkpc4cypj9hdmji9n9h5ipd8bq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
};
|
||||
groupdate = {
|
||||
dependencies = [ "activesupport" ];
|
||||
@@ -1207,6 +1266,7 @@
|
||||
irb = {
|
||||
dependencies = [
|
||||
"pp"
|
||||
"prism"
|
||||
"rdoc"
|
||||
"reline"
|
||||
];
|
||||
@@ -1232,10 +1292,10 @@
|
||||
];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia";
|
||||
sha256 = "1qs8a9vprg7s8krgq4s0pygr91hclqqyz98ik15p0m1sf2h5956y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.16.0";
|
||||
version = "1.18.0";
|
||||
};
|
||||
jmespath = {
|
||||
groups = [ "default" ];
|
||||
@@ -1428,10 +1488,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1rk0n13c9nmk8di2x5gqk5r04vf8bkp7ff6z0b44wsmc7fndfpnz";
|
||||
sha256 = "011fdngxzr1p9dq2hxqz7qq1glj2g44xnhaadjqlf48cplywfdnl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.25.0";
|
||||
version = "2.25.1";
|
||||
};
|
||||
mail = {
|
||||
dependencies = [
|
||||
@@ -1528,10 +1588,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0gdwmn2d4sznjdxyl3kz7hr95mvdgm38fk1vd0s63k3fdyamfvnv";
|
||||
sha256 = "1wfnqyfayx9n9j7x871v2ars4hjhfisi1dl24fa64ylq3mns6ghm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.0.2";
|
||||
version = "6.0.6";
|
||||
};
|
||||
msgpack = {
|
||||
groups = [ "default" ];
|
||||
@@ -1627,10 +1687,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1a9www524fl1ykspznz54i0phfqya4x45hqaz67in9dvw1lfwpfr";
|
||||
sha256 = "18fwy5yqnvgixq3cn0h63lm8jaxsjjxkmj8rhiv8wpzv9271d43c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.4";
|
||||
version = "2.7.5";
|
||||
};
|
||||
nokogiri = {
|
||||
dependencies = [
|
||||
@@ -1646,10 +1706,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "15anyh2ir3kdji93kw770xxwm5rspn9rzx9b9zh1h9gnclcd4173";
|
||||
sha256 = "1s30b7h7qpyim30m8060xs415mbr3ci7i5hdg09chh1aqfx2qcbq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.19.0";
|
||||
version = "1.19.3";
|
||||
};
|
||||
oauth2 = {
|
||||
dependencies = [
|
||||
@@ -1796,16 +1856,6 @@
|
||||
};
|
||||
version = "2.3.1";
|
||||
};
|
||||
openssl = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0dzq3k5hmqlav2mwf7bc10mr1mlmlnpin498g7jhbhpdpa324s6n";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.1";
|
||||
};
|
||||
optimist = {
|
||||
groups = [
|
||||
"default"
|
||||
@@ -1839,20 +1889,6 @@
|
||||
};
|
||||
version = "0.6.1";
|
||||
};
|
||||
pagy = {
|
||||
dependencies = [
|
||||
"json"
|
||||
"yaml"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "08pikkvj916fw75l7ycmzb3gf1w9cp3h1jphls0pnqbphf1v3r4g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "43.2.2";
|
||||
};
|
||||
parallel = {
|
||||
groups = [
|
||||
"default"
|
||||
@@ -2091,10 +2127,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1pa9zpr51kqnsq549p6apvnr95s9flx6bnwqii24s8jg2b5i0p74";
|
||||
sha256 = "1a3jd9qakasizrf7dkq5mqv51fjf02r2chybai2nskjaa6mz93mz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.1.0";
|
||||
version = "7.2.0";
|
||||
};
|
||||
pundit = {
|
||||
dependencies = [ "activesupport" ];
|
||||
@@ -2141,10 +2177,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1lyn3rh71rlf50p44xmsbha0pip4c95004j8kc9pm7xpq1s0kgac";
|
||||
sha256 = "1hhjy9gcp52dzij05gmidqac8g28ski5xm67prwmdqmjfcgqxmsy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.5";
|
||||
version = "3.2.6";
|
||||
};
|
||||
rack-attack = {
|
||||
dependencies = [ "rack" ];
|
||||
@@ -2198,15 +2234,16 @@
|
||||
groups = [
|
||||
"default"
|
||||
"development"
|
||||
"staging"
|
||||
"test"
|
||||
];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1sg4laz2qmllxh1c5sqlj9n1r7scdn08p3m4b0zmhjvyx9yw0v8b";
|
||||
sha256 = "1s7zcxlmg88a6dam4aqbgk9xkpy6dkdfqmmcszkkliy3q3w38m2r";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
};
|
||||
rack-test = {
|
||||
dependencies = [ "rack" ];
|
||||
@@ -2290,15 +2327,16 @@
|
||||
groups = [
|
||||
"default"
|
||||
"development"
|
||||
"staging"
|
||||
"test"
|
||||
];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m";
|
||||
sha256 = "128y5g3fyi8fds41jasrr4va1jrs7hcamzklk1523k7rxb64bc98";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.2";
|
||||
version = "1.7.0";
|
||||
};
|
||||
rails_icons = {
|
||||
dependencies = [
|
||||
@@ -2314,25 +2352,6 @@
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
rails_pulse = {
|
||||
dependencies = [
|
||||
"css-zero"
|
||||
"groupdate"
|
||||
"pagy"
|
||||
"rails"
|
||||
"ransack"
|
||||
"request_store"
|
||||
"turbo-rails"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1mla44nhcpr57i4dqir173b3jyzfpvy9prnzyz5nlf0ny3hysk5s";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.4";
|
||||
};
|
||||
railties = {
|
||||
dependencies = [
|
||||
"actionpack"
|
||||
@@ -2381,25 +2400,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "175iisqb211n0qbfyqd8jz2g01q6xj038zjf4q0nm8k6kz88k7lc";
|
||||
sha256 = "009p524zl0p0kfa65nii8wdmaigkmawv9pbvlcffky7islmmp0nb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "13.3.1";
|
||||
};
|
||||
ransack = {
|
||||
dependencies = [
|
||||
"activerecord"
|
||||
"activesupport"
|
||||
"i18n"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0gd6nwr0xlvgas21p1qgw90cg27xdi70988dw5q8a20rzhvarska";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.4.1";
|
||||
version = "13.4.2";
|
||||
};
|
||||
rdoc = {
|
||||
dependencies = [
|
||||
@@ -2429,10 +2433,10 @@
|
||||
];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29";
|
||||
sha256 = "14iiyb4yi1chdzrynrk74xbhmikml3ixgdayjma3p700singfl46";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.1.0";
|
||||
version = "7.2.0";
|
||||
};
|
||||
redis = {
|
||||
dependencies = [ "redis-client" ];
|
||||
@@ -2853,6 +2857,20 @@
|
||||
};
|
||||
version = "3.2.2";
|
||||
};
|
||||
sanitize = {
|
||||
dependencies = [
|
||||
"crass"
|
||||
"nokogiri"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "111r4xdcf6ihdnrs6wkfc6nqdzrjq0z69x9sf83r7ri6fffip796";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.0";
|
||||
};
|
||||
securerandom = {
|
||||
groups = [
|
||||
"default"
|
||||
@@ -2893,24 +2911,25 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1rkp3wpikhwvypabw578rqk5660xkv741jl59dvk34h9b1z9g8g1";
|
||||
sha256 = "1r5031qb02xmwmkrrz8ald4gc35xgcgz2h089873w33l5kcd9ygb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.2.0";
|
||||
version = "6.5.0";
|
||||
};
|
||||
sentry-ruby = {
|
||||
dependencies = [
|
||||
"bigdecimal"
|
||||
"concurrent-ruby"
|
||||
"logger"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "05xcf7dwqd59nklk29r4dmdjjpy8hb19rccls5mm7l50ldca7f6p";
|
||||
sha256 = "0srsbyw11h4gkr75vv4xcws8b9a9h7ii8wf3kb6syyh1d86swmrw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.2.0";
|
||||
version = "6.5.0";
|
||||
};
|
||||
shoulda-matchers = {
|
||||
dependencies = [ "activesupport" ];
|
||||
@@ -3433,16 +3452,6 @@
|
||||
};
|
||||
version = "3.2.0";
|
||||
};
|
||||
yaml = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0hhr8z9m9yq2kf7ls0vf8ap1hqma1yd72y2r13b88dffwv8nj3i4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.0";
|
||||
};
|
||||
zeitwerk = {
|
||||
groups = [
|
||||
"default"
|
||||
@@ -3453,9 +3462,9 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb";
|
||||
sha256 = "1pbkiwwla5gldgb3saamn91058nl1sq1344l5k36xsh9ih995nnq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.4";
|
||||
version = "2.7.5";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,10 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patches = [
|
||||
# bundix and bundlerEnv fail with system-specific gems
|
||||
./0001-build-ffi-gem.diff
|
||||
# openssl 3.6.0 breaks ruby openssl gem
|
||||
# See https://github.com/NixOS/nixpkgs/issues/456753
|
||||
# and https://github.com/ruby/openssl/issues/949#issuecomment-3370358680
|
||||
./0002-openssl-hotfix.diff
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace ./Gemfile \
|
||||
@@ -114,7 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# tests are not needed at runtime
|
||||
rm -rf spec e2e
|
||||
# delete artifacts from patching
|
||||
rm *.orig
|
||||
rm -f *.orig
|
||||
|
||||
mkdir -p $out
|
||||
mv .{ruby*,app_version} $out/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "1.6.1",
|
||||
"hash": "sha256-IPa8tfDsE3nNpzQ/Fnul3Fd6J5iQvLZR+3n4CHkVuI0=",
|
||||
"npmHash": "sha256-Y6tEaApfGXAtmy0W85+4qGbrEkUkrKXTssl7wXeVnQY="
|
||||
"version": "1.7.5",
|
||||
"hash": "sha256-MjiU7IiAiCpKGbUexHjGl9yX8oLgX7WtVrN5yP6hXsk=",
|
||||
"npmHash": "sha256-CwpVV5xLw75ReS0IqFvV3oaVk6EBlqYIKRa2KehVwFQ="
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
docker-credential-helpers,
|
||||
gitMinimal,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "dockerfile-pin";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "azu";
|
||||
repo = "dockerfile-pin";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-vBBcLQ4ZgiLbUMuDvn8Um24yB9EknuUeU+sxMdg+qoc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CgMFIYoM+nWiZ5NXtTlXHhrjzVYxoVg0YVpQq3LLrjI=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=github.com/azu/dockerfile-pin/cmd.version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/dockerfile-pin \
|
||||
--prefix PATH : ${lib.makeBinPath [ docker-credential-helpers ]}
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [ gitMinimal ];
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "version";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Add sha256 digests to Docker images in Dockerfiles, Compose, and GitHub Actions";
|
||||
homepage = "https://github.com/azu/dockerfile-pin";
|
||||
changelog = "https://github.com/azu/dockerfile-pin/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ airrnot ];
|
||||
mainProgram = "dockerfile-pin";
|
||||
};
|
||||
})
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "doctl";
|
||||
version = "1.155.0";
|
||||
version = "1.157.0";
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -42,7 +42,7 @@ buildGoModule (finalAttrs: {
|
||||
owner = "digitalocean";
|
||||
repo = "doctl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-sN/ZC3TAUiQokSZax3oF6LMl/H7lCCgtEjjcpy44aTY=";
|
||||
hash = "sha256-pkMJg7lTPR2qQ+E5F7Cd0RA/81x5tDvB7zXyzGn2BcM=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
+14
-17
@@ -4,42 +4,40 @@
|
||||
python3Packages,
|
||||
gettext,
|
||||
qt5,
|
||||
writableTmpDirAsHomeHook,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "dupeguru";
|
||||
version = "4.3.1";
|
||||
version = "4.3.1-unstable-2026-01-06";
|
||||
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arsenetar";
|
||||
repo = "dupeguru";
|
||||
rev = version;
|
||||
hash = "sha256-/jkZiCapmCLMp7WfgUmpsR8aNCfb3gBELlMYaC4e7zI=";
|
||||
rev = "16aa6c21ffc2c33d44ff4a47bfa1a623c16ed626";
|
||||
hash = "sha256-0x2ZpjaxpWVhm9vimDA06y1BOvpoU6KZYz5MPAoWAts=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./remove-setuptools-sandbox.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
python3Packages.pyqt5
|
||||
python3Packages.setuptools
|
||||
python3Packages.sphinx
|
||||
qt5.wrapQtAppsHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
hsaudiotag3k
|
||||
distro
|
||||
mutagen
|
||||
polib
|
||||
pyqt5
|
||||
pyqt5-sip
|
||||
semantic-version
|
||||
send2trash
|
||||
sphinx
|
||||
xxhash
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
@@ -51,13 +49,11 @@ python3Packages.buildPythonApplication rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
'';
|
||||
|
||||
# Avoid double wrapping Python programs.
|
||||
dontWrapQtApps = true;
|
||||
|
||||
installTargets = "install installdocs";
|
||||
|
||||
# TODO: A bug in python wrapper
|
||||
# see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
|
||||
preFixup = ''
|
||||
@@ -74,9 +70,10 @@ python3Packages.buildPythonApplication rec {
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
description = "GUI tool to find duplicate files in a system";
|
||||
homepage = "https://github.com/arsenetar/dupeguru";
|
||||
license = lib.licenses.bsd3;
|
||||
changelog = "https://github.com/arsenetar/dupeguru/releases/tag/${builtins.head (lib.strings.splitString "-" finalAttrs.version)}";
|
||||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ novoxd ];
|
||||
mainProgram = "dupeguru";
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,79 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Baker <dan@djacu.dev>
|
||||
Date: Thu, 30 Apr 2026 08:42:44 -0700
|
||||
Subject: [PATCH] nixpkgs: pin Go SDK downloads
|
||||
|
||||
Pin Go SDK downloads to avoid fetching the mutable version listing from
|
||||
https://go.dev/dl/?mode=json&include=all. Without explicit sdks, each
|
||||
go_download_sdk call downloads that listing (which changes with every Go
|
||||
release) and caches it in repository_cache, causing the deps hash to
|
||||
drift. See: io_bazel_rules_go/go/private/sdk.bzl lines 74-93 (rules_go
|
||||
v0.50.0)
|
||||
|
||||
Signed-off-by: Daniel Baker <dan@djacu.dev>
|
||||
---
|
||||
bazel/dependency_imports.bzl | 19 ++++++++++++++++++-
|
||||
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bazel/dependency_imports.bzl b/bazel/dependency_imports.bzl
|
||||
index 90e49d5ceb0024b57481b816518990f58fc2ad5f..26091a877ea3951bfe69944ab8580857e787bb64 100644
|
||||
--- a/bazel/dependency_imports.bzl
|
||||
+++ b/bazel/dependency_imports.bzl
|
||||
@@ -27,6 +27,18 @@ load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_regi
|
||||
# go version for rules_go
|
||||
GO_VERSION = "1.24.6"
|
||||
|
||||
+# Pin Go SDK downloads to avoid fetching the mutable version listing from
|
||||
+# https://go.dev/dl/?mode=json&include=all. Without explicit sdks, each
|
||||
+# go_download_sdk call downloads that listing (which changes with every Go
|
||||
+# release) and caches it in repository_cache, causing the deps hash to drift.
|
||||
+# See: io_bazel_rules_go/go/private/sdk.bzl lines 74-93 (rules_go v0.50.0)
|
||||
+_GO_SDKS = {
|
||||
+ "linux_amd64": ["go" + GO_VERSION + ".linux-amd64.tar.gz", "bbca37cc395c974ffa4893ee35819ad23ebb27426df87af92e93a9ec66ef8712"],
|
||||
+ "linux_arm64": ["go" + GO_VERSION + ".linux-arm64.tar.gz", "124ea6033a8bf98aa9fbab53e58d134905262d45a022af3a90b73320f3c3afd5"],
|
||||
+ "darwin_amd64": ["go" + GO_VERSION + ".darwin-amd64.tar.gz", "4a8d7a32052f223e71faab424a69430455b27b3fff5f4e651f9d97c3e51a8746"],
|
||||
+ "darwin_arm64": ["go" + GO_VERSION + ".darwin-arm64.tar.gz", "4e29202c49573b953be7cc3500e1f8d9e66ddd12faa8cf0939a4951411e09a2a"],
|
||||
+}
|
||||
+
|
||||
JQ_VERSION = "1.7"
|
||||
YQ_VERSION = "4.24.4"
|
||||
|
||||
@@ -46,7 +58,8 @@ def envoy_dependency_imports(
|
||||
register_preinstalled_tools=True, # use host tools (default)
|
||||
)
|
||||
go_rules_dependencies()
|
||||
- go_register_toolchains(go_version)
|
||||
+ go_download_sdk(name = "go_sdk", version = go_version, sdks = _GO_SDKS)
|
||||
+ go_register_toolchains()
|
||||
if go_version != "host":
|
||||
envoy_download_go_sdks(go_version)
|
||||
gazelle_dependencies(go_sdk = "go_sdk")
|
||||
@@ -218,24 +231,28 @@ def envoy_download_go_sdks(go_version):
|
||||
goos = "linux",
|
||||
goarch = "amd64",
|
||||
version = go_version,
|
||||
+ sdks = _GO_SDKS,
|
||||
)
|
||||
go_download_sdk(
|
||||
name = "go_linux_arm64",
|
||||
goos = "linux",
|
||||
goarch = "arm64",
|
||||
version = go_version,
|
||||
+ sdks = _GO_SDKS,
|
||||
)
|
||||
go_download_sdk(
|
||||
name = "go_darwin_amd64",
|
||||
goos = "darwin",
|
||||
goarch = "amd64",
|
||||
version = go_version,
|
||||
+ sdks = _GO_SDKS,
|
||||
)
|
||||
go_download_sdk(
|
||||
name = "go_darwin_arm64",
|
||||
goos = "darwin",
|
||||
goarch = "arm64",
|
||||
version = go_version,
|
||||
+ sdks = _GO_SDKS,
|
||||
)
|
||||
|
||||
def crates_repositories():
|
||||
@@ -43,14 +43,19 @@ let
|
||||
hash = "sha256-dT6ehfmW/huuyitqIlYAlEzUE6WrVA39sDKxatkZGaY=";
|
||||
};
|
||||
|
||||
# When GO_VERSION changes upstream, update the four sha256 hex strings in the
|
||||
# _GO_SDKS dict in 0005-nixpkgs-pin-go-sdk-downloads.patch using output from
|
||||
# this command (set the version literal in `select` to match GO_VERSION):
|
||||
# curl -s 'https://go.dev/dl/?mode=json&include=all' | jq -r '.[] | select(.version == "go1.24.6") | .files[] | select(.kind == "archive" and (.os == "linux" or .os == "darwin") and (.arch == "amd64" or .arch == "arm64")) | "\(.os)_\(.arch): \(.sha256)"'
|
||||
|
||||
# these need to be updated for any changes to fetchAttrs
|
||||
depsHash' =
|
||||
if depsHash != null then
|
||||
depsHash
|
||||
else
|
||||
{
|
||||
x86_64-linux = "sha256-dQpkB4jRfJOB14AO5ynoL3VObI1af7nTI3vbMr5N6/g=";
|
||||
aarch64-linux = "sha256-59sY+bpGsKMDthcj+jw00WhN+vsP5MOTXy0m8HJxebM=";
|
||||
x86_64-linux = "sha256-+oEQV3VfZu+p/f6Sif9pj2AkaA9+u0M8k+czdlcDLXI=";
|
||||
aarch64-linux = "sha256-FcZfRinOd5KO6VnO9cx6ZQxJJ+KCFfB3Nk2k7zMuVU4";
|
||||
}
|
||||
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
|
||||
|
||||
@@ -80,6 +85,9 @@ buildBazelPackage rec {
|
||||
|
||||
# bump rules_rust to support newer Rust
|
||||
./0004-nixpkgs-bump-rules_rust-to-0.60.0.patch
|
||||
|
||||
# pin Go SDK downloads so the deps hash doesn't drift on every Go release
|
||||
./0005-nixpkgs-pin-go-sdk-downloads.patch
|
||||
];
|
||||
postPatch = ''
|
||||
chmod -R +w .
|
||||
|
||||
@@ -18,22 +18,31 @@
|
||||
# A brief explanation is given.
|
||||
|
||||
# general options
|
||||
selinux ? true, # enable selinux support
|
||||
fips140 ? true, # enable FIPS 140 checksum support
|
||||
selinux ? false, # enable selinux support
|
||||
fips140 ? false, # enable FIPS 140 checksum support
|
||||
ais2031 ? true, # set the seeding strategy to be compliant with AIS 20/31
|
||||
sp80090c ? true, # set compliance with NIST SP800-90C
|
||||
cryptoBackend ? "botan", # set backend for hash and drbg operations
|
||||
linuxDevFiles ? true, # enable linux /dev/random and /dev/urandom support
|
||||
linuxGetRandom ? true, # enable linux getrandom support
|
||||
openSSLRandProvider ? true, # build ESDM provider for OpenSSL 3.x
|
||||
maxThreads ? 1024, # number of RPC handler threads
|
||||
maxThreads ? 64, # number of RPC handler threads
|
||||
validationHelpers ? true, # used to analyze entropy output from esdm_es
|
||||
numAuxPools ? 128, # use multiple hash pools for e.g. smartcard input
|
||||
serverTermOnSignal ? false, # use select with timeout in server watch loop
|
||||
auxHasFullEntropy ? false, # is already conditioned data inserted into aux pool?
|
||||
|
||||
# DRNG-related options
|
||||
drngReseedThresholdBits ? lib.fromHexString "0xffffffff",
|
||||
drngMaxReseedBits ? lib.fromHexString "0xffffffff",
|
||||
|
||||
# entropy sources
|
||||
esJitterRng ? true, # enable support for the entropy source: jitter rng (running in user space)
|
||||
esJitterRngEntropyRate ? 256, # amount of entropy to account for jitter rng source
|
||||
esJitterRngNtg1 ? false, # configures jitterentropy NTG.1 mode
|
||||
esJitterRngAllCaches ? false, # use all caches in calculating size of memory buffer?
|
||||
esJitterRngMaxMem ? -1, # set static maximum size of memory buffer, -1 disables it
|
||||
esJitterRngHashLoopCount ? -1, # set increased hashloop count, -1 disables it
|
||||
esJitterRngOsr ? 3, # set larger oversampling rate if necessary, (default 3)
|
||||
esJitterRngEntropyBlocks ? 128, # number of cached entropy blocks for jitterentropy
|
||||
esJitterRngKernel ? false, # enable support for the entropy source: jitter rng (running in kernel space)
|
||||
esJitterRngKernelEntropyRate ? 256, # amount of entropy to account for kernel jitter rng source
|
||||
@@ -41,6 +50,8 @@
|
||||
esCPUEntropyRate ? 256, # amount of entropy to account for cpu rng source
|
||||
esKernel ? false, # enable support for the entropy source: kernel-based entropy
|
||||
esKernelEntropyRate ? 256, # amount of entropy to account for kernel-based source
|
||||
esTPM2 ? true, # enable support for the entropy source: TPM-based entropy
|
||||
esTPM2EntropyRate ? 256, # amount of entropy to account for TPM-based source
|
||||
esIRQ ? false, # enable support for the entropy source: interrupt-based entropy
|
||||
esIRQEntropyRate ? 256, # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0)
|
||||
esSched ? false, # enable support for the entropy source: scheduler-based entropy
|
||||
@@ -50,20 +61,20 @@
|
||||
|
||||
# kernel seeding
|
||||
linuxKernelReseedInterval ? 60, # how often to push entropy into Linux kernel, iff seeder service is started
|
||||
linuxKernelReseedEntropyRate ? 256, # how many bits to account on kernel (re-)seeding
|
||||
linuxKernelReseedEntropyRate ? 512, # how many bits to account on kernel (re-)seeding
|
||||
}:
|
||||
|
||||
assert cryptoBackend == "openssl" || cryptoBackend == "botan";
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "esdm";
|
||||
version = "1.2.1";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smuellerDD";
|
||||
repo = "esdm";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-41vc5mB2MiQJu0HXFzSjiudlu1sRj2IP8FcFPQfu5uo=";
|
||||
hash = "sha256-0s9YOqa+sn0rk5YoMWZczO1TB5/wpbFsdkaVWFf4ipI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -89,13 +100,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.mesonBool "sp80090c" sp80090c)
|
||||
(lib.mesonEnable "node" true) # multiple DRNGs
|
||||
(lib.mesonEnable "systemd" true) # systemd notify and socket support
|
||||
(lib.mesonOption "threading_max_threads" (toString maxThreads))
|
||||
(lib.mesonOption "threading_max_worker_threads" (toString maxThreads))
|
||||
(lib.mesonOption "crypto_backend" cryptoBackend)
|
||||
(lib.mesonEnable "linux-devfiles" linuxDevFiles)
|
||||
(lib.mesonEnable "linux-getrandom" linuxGetRandom)
|
||||
(lib.mesonEnable "es_jent" esJitterRng)
|
||||
(lib.mesonOption "es_jent_entropy_rate" (toString esJitterRngEntropyRate))
|
||||
(lib.mesonOption "es_jent_entropy_blocks" (toString esJitterRngEntropyBlocks))
|
||||
(lib.mesonEnable "es_jent_ntg1" esJitterRngNtg1)
|
||||
(lib.mesonEnable "es_jent_all_caches" esJitterRngAllCaches)
|
||||
(lib.mesonOption "es_jent_max_mem" (toString esJitterRngMaxMem))
|
||||
(lib.mesonOption "es_jent_hash_loop_count" (toString esJitterRngHashLoopCount))
|
||||
(lib.mesonOption "es_jent_osr" (toString esJitterRngOsr))
|
||||
(lib.mesonEnable "es_jent_kernel" esJitterRngKernel)
|
||||
(lib.mesonOption "es_jent_kernel_entropy_rate" (toString esJitterRngKernelEntropyRate))
|
||||
(lib.mesonEnable "es_cpu" esCPU)
|
||||
@@ -108,13 +124,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.mesonOption "es_sched_entropy_rate" (toString esSchedEntropyRate))
|
||||
(lib.mesonEnable "es_hwrand" esHwrand)
|
||||
(lib.mesonOption "es_hwrand_entropy_rate" (toString esHwrandEntropyRate))
|
||||
(lib.mesonEnable "es_tpm2" esTPM2)
|
||||
(lib.mesonOption "es_tpm2_entropy_rate" (toString esTPM2EntropyRate))
|
||||
(lib.mesonEnable "selinux" selinux)
|
||||
(lib.mesonEnable "openssl-rand-provider" openSSLRandProvider)
|
||||
(lib.mesonOption "linux-reseed-interval" (toString linuxKernelReseedInterval))
|
||||
(lib.mesonOption "linux-reseed-entropy-count" (toString linuxKernelReseedEntropyRate))
|
||||
(lib.mesonEnable "validation-helpers" validationHelpers)
|
||||
(lib.mesonOption "num-aux-pools" (toString numAuxPools))
|
||||
(lib.mesonBool "esdm-server-term-on-signal" serverTermOnSignal)
|
||||
(lib.mesonEnable "aux-has-full-entropy" auxHasFullEntropy)
|
||||
(lib.mesonOption "drng_reseed_threshold_bits" (toString drngReseedThresholdBits))
|
||||
(lib.mesonOption "drng_max_reseed_bits" (toString drngMaxReseedBits))
|
||||
];
|
||||
|
||||
postFixup = lib.optionals fips140 ''
|
||||
@@ -125,6 +145,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = true;
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
mesonBuildType = "release";
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "etherpad-lite";
|
||||
version = "2.6.1";
|
||||
version = "2.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ether";
|
||||
repo = "etherpad-lite";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-KzkrJv9eBzzt9PSJGhzC0lxCOfQImSTHcTVlea8HV70=";
|
||||
hash = "sha256-8DCgbfp3ttpMTXS9SNkN1R63LZHaklsNHViRhmWVFuk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_9;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-y5T7yerCK9MtTri3eZ+Iih7/DK9IMDC+d7ej746g47E=";
|
||||
hash = "sha256-2nKpmGxC+KVg0oF0BsswS9L84QxzpRF7NvKyqyQ7WJM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
|
||||
let
|
||||
pname = "everest";
|
||||
version = "6249";
|
||||
version = "6286";
|
||||
phome = "$out/lib/Celeste";
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit pname version;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.6249.0/main.zip";
|
||||
url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.6286.0/main.zip";
|
||||
extension = "zip";
|
||||
hash = "sha256-xcWscldogSI7vmljg8uU0zV8gREVe5rLHj0l6X+0z9E=";
|
||||
hash = "sha256-QhC/VZTy7TxIuJZKjqIKWvX/t8d+5EAFhQiS1R9AnQ4=";
|
||||
};
|
||||
buildInputs = [
|
||||
icu
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
let
|
||||
pname = "everest";
|
||||
version = "6249";
|
||||
rev = "201a0dc2e0851f2bc601ed48cc1a64b17952e5ea";
|
||||
version = "6286";
|
||||
rev = "dcc400b1724b4762ca92b50e8d274f66ddeafa0c";
|
||||
phome = "$out/lib/Celeste";
|
||||
in
|
||||
buildDotnetModule {
|
||||
@@ -25,7 +25,7 @@ buildDotnetModule {
|
||||
fetchSubmodules = true;
|
||||
# TODO: use leaveDotGit = true and modify external/MonoMod in postFetch to please SourceLink
|
||||
# Microsoft.SourceLink.Common.targets(53,5): warning : Source control information is not available - the generated source link is empty.
|
||||
hash = "sha256-ISCL6C1Zj18fMsfBAte9cqAWCA6/4eewKmefYmTm2uA=";
|
||||
hash = "sha256-I2Cy3gGAqD9Irxg44qFH48piJQSn1CpmetyUvJs35cE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
|
||||
@@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
|
||||
stdenvNoCC.mkDerivation
|
||||
{
|
||||
inherit pname;
|
||||
version = "0-unstable-2026-04-27";
|
||||
version = "0-unstable-2026-05-06";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "aiyahm";
|
||||
repo = "FairyWren-Icons";
|
||||
rev = "480e57a9ee90f8de05189f92dc5651fced9bc913";
|
||||
hash = "sha256-1iz7Sv4XjoFcpo7XqB5iRHmki0hPE0kqqkH+ATVTPpY=";
|
||||
rev = "ea33df10bcc0054b1981f859dcbcc36a77de9107";
|
||||
hash = "sha256-Y4siWzKOmHBATSeoJ+Y5FbntsJYLFp8nmMcQq/UQGXw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,17 +1,37 @@
|
||||
diff --git a/tests/checks/path.fish b/tests/checks/path.fish
|
||||
index 62812571a..b0eebcd91 100644
|
||||
--- a/tests/checks/path.fish
|
||||
+++ b/tests/checks/path.fish
|
||||
@@ -117,12 +117,6 @@ path filter --type file,dir --perm exec,write bin/fish .
|
||||
diff --git i/tests/checks/path.fish w/tests/checks/path.fish
|
||||
index 4bf14878e..4024c6d34 100644
|
||||
--- i/tests/checks/path.fish
|
||||
+++ w/tests/checks/path.fish
|
||||
@@ -135,32 +135,6 @@ path filter --type file,dir --perm exec,write bin/fish .
|
||||
# So it passes.
|
||||
# CHECK: .
|
||||
|
||||
-mkdir -p sbin
|
||||
-touch sbin/setuid-exe sbin/setgid-exe
|
||||
-chmod u+s,a+x sbin/setuid-exe
|
||||
-path filter --perm suid sbin/*
|
||||
-
|
||||
-# Without POSIX permission, there is no way to set the setuid bit, so fake
|
||||
-# the output.
|
||||
-if set -q noacl
|
||||
- echo sbin/setuid-exe
|
||||
-else
|
||||
- chmod u+s,a+x sbin/setuid-exe
|
||||
- path filter --perm suid sbin/*
|
||||
-end
|
||||
-# CHECK: sbin/setuid-exe
|
||||
-
|
||||
# On at least FreeBSD on our CI this fails with "permission denied".
|
||||
# So we can't test it, and we fake the output instead.
|
||||
if chmod g+s,a+x sbin/setgid-exe 2>/dev/null
|
||||
-# Without POSIX permission, there is no way to set the setgid bit, so fake
|
||||
-# the result.
|
||||
-# And on at least FreeBSD on our CI this fails with "permission denied".
|
||||
-# So we can't test it, and we fake the output there too.
|
||||
-if set -q noacl
|
||||
- echo sbin/setgid-exe
|
||||
-else if chmod g+s,a+x sbin/setgid-exe 2>/dev/null
|
||||
- path filter --perm sgid sbin/*
|
||||
-else
|
||||
- echo sbin/setgid-exe
|
||||
-end
|
||||
-# CHECK: sbin/setgid-exe
|
||||
-
|
||||
mkdir stuff
|
||||
touch stuff/{read,write,exec,readwrite,readexec,writeexec,all,none}
|
||||
if set -q noacl
|
||||
|
||||
@@ -148,13 +148,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fish";
|
||||
version = "4.6.0";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fish-shell";
|
||||
repo = "fish-shell";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-lhixotjhD8+xb8Hw6Mu1uJPtCq0zlQsBAXpHRzT+moI=";
|
||||
hash = "sha256-LzpWSxhUMcJytxUoD7SZyLc/+hiL6CAyL/0FNbvBk1M=";
|
||||
};
|
||||
|
||||
env = {
|
||||
@@ -167,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) src patches;
|
||||
hash = "sha256-zua2O3eGi7dXh4w0IoUGL2RxvGIW0O3WpVg/tT8942Q=";
|
||||
hash = "sha256-WS7FWws1dIuVM9gE1PBnDZpUcRu96fWR80Az4Q+tZpI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -238,7 +238,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
substituteInPlace share/functions/grep.fish \
|
||||
--replace-fail "command grep" "command ${lib.getExe gnugrep}"
|
||||
|
||||
substituteInPlace share/completions/{sudo.fish,doas.fish} \
|
||||
substituteInPlace share/completions/doas.fish \
|
||||
share/functions/__fish_complete_sudo.fish \
|
||||
--replace-fail "/usr/local/sbin /sbin /usr/sbin" ""
|
||||
''
|
||||
+ lib.optionalString usePython ''
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchgit,
|
||||
}:
|
||||
let
|
||||
version = "0.1.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "flake-du";
|
||||
inherit version;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/kmein/flake-du";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+YfQRi6QE4xNUcIcEc9HWIbnin6GCVp4SYrjvBwksys=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-DYVT9jM9WcgoVSOnoUIWWR9EmNywR1f4xZOAzkbNkCk=";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "Tool for managing flake inputs with disk usage insights";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://github.com/kmein/flake-du";
|
||||
maintainers = [ lib.maintainers.kmein ];
|
||||
};
|
||||
}
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "fn";
|
||||
version = "0.6.49";
|
||||
version = "0.6.50";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fnproject";
|
||||
repo = "cli";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-qDLBwxMDVPY2WWCAGw7jFwHX9qAnqOuz9Tgfg1EC1bc=";
|
||||
hash = "sha256-j6UJXBi+q61gQwOhGuI9vIG5i+xkUOTdNRMRYPoc284=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -52,17 +52,17 @@ let
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "forgejo-runner";
|
||||
version = "12.9.0";
|
||||
version = "12.10.1";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "code.forgejo.org";
|
||||
owner = "forgejo";
|
||||
repo = "runner";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-yhcD+FiRuo+WAvKFtgAI+36/uIci9O1s9RtXT0Q75Uo=";
|
||||
hash = "sha256-OBMduRaGSVPojSAr6DKPbAdUyuw1MSCpipRv+EA5OGw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CCUyL6ZxLRQy30TQUj1yOAuR7Ctp06/0jG8Q3De6/oo=";
|
||||
vendorHash = "sha256-V9dEHNp80oS7NfsGIlKgFyHD1PmMm2bCqydVADpphuA=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "framework-tool";
|
||||
version = "0.6.2";
|
||||
version = "0.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FrameworkComputer";
|
||||
repo = "framework-system";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6fitUk939Jy0vBfwnV+ZBxOW4DcFJIY7xGmqfrWj86g=";
|
||||
hash = "sha256-EoaMVbnmidXoCRMbqn5LIZuxXE9xl9Dtb16U9FKmH+4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-U3agwXUtCbfrcr5NyukCnERbznvCaGla/IfHHUS+TiA=";
|
||||
cargoHash = "sha256-PshbC+LIBm84/86w9lP0OmCVztsT5gB+86rUorCDsQM=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ udev ];
|
||||
|
||||
@@ -32,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "freerouting";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "freerouting";
|
||||
repo = "freerouting";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-bIts0ORxw9GDKRP78k0YnrfUqBliyf8v3gK/WtfNRgw=";
|
||||
hash = "sha256-WhEofQs3TwnhB9fSROPQfWd1PHCDoH790lV54ujlmX4=";
|
||||
};
|
||||
|
||||
gradleBuildTask = "dist";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gat";
|
||||
version = "0.27.1";
|
||||
version = "0.27.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koki-develop";
|
||||
repo = "gat";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8+IpVMbV+1aXNZoIWVZF/GDsLh2G1rHudkyifguGl0g=";
|
||||
hash = "sha256-3qm9kvAL522QCK7nXIWywdHFfxeuCJ9pukpd2ehIBis=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-UUFfM51toafSxK+x7Q7c9wPDiO22f7YfLc05u3uWLAE=";
|
||||
vendorHash = "sha256-4RswVTjVF9pF7u94BbYIP0ukaKkPrTriSbPHOhhrJuI=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -56,24 +56,24 @@
|
||||
|
||||
let
|
||||
pname = "gitkraken";
|
||||
version = "12.0.1";
|
||||
version = "12.1.0";
|
||||
|
||||
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
||||
srcs = {
|
||||
x86_64-linux = fetchzip {
|
||||
url = "https://api.gitkraken.dev/releases/production/linux/x64/${version}/gitkraken-amd64.tar.gz";
|
||||
hash = "sha256-Tn4j9zmH8hr5rKaPFgox/LopTvEWghnPGf4JiM8y86k=";
|
||||
hash = "sha256-HLo5cNkA59JBZ43Aea5W4vj2X4UDN0NtaB4VEjDQwvM=";
|
||||
};
|
||||
|
||||
x86_64-darwin = fetchzip {
|
||||
url = "https://api.gitkraken.dev/releases/production/darwin/x64/${version}/GitKraken-v${version}.zip";
|
||||
hash = "sha256-bKbqu94JPI4VOPcphkw/vAN/ihb5wc5qh/qaw7bweG0=";
|
||||
hash = "sha256-SzGcT/2X4OXgtUqKCfE9UkKJsBCrKqj++vTdz2Rqfrc=";
|
||||
};
|
||||
|
||||
aarch64-darwin = fetchzip {
|
||||
url = "https://api.gitkraken.dev/releases/production/darwin/arm64/${version}/GitKraken-v${version}.zip";
|
||||
hash = "sha256-h2RSdK75i1NbchGauDSvaYJyz39Bncgf+RQIfRdDQuE=";
|
||||
hash = "sha256-WYhSqRR0bHB1CKGbwSYHWvaCa/GpZCO6X4q6GMLuFpI=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user