Merge d7c8095791 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-07-16 00:23:09 +00:00
committed by GitHub
301 changed files with 1840 additions and 1277 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: |
ci/labels
ci/github-script
- name: Install dependencies
run: npm install @actions/artifact bottleneck
@@ -69,7 +69,7 @@ jobs:
github-token: ${{ steps.app-token.outputs.token || github.token }}
retries: 3
script: |
require('./ci/labels/labels.cjs')({
require('./ci/github-script/labels.js')({
github,
context,
core,
+3
View File
@@ -0,0 +1,3 @@
[run]
indent_style = space
indent_size = 2
+13
View File
@@ -0,0 +1,13 @@
# GitHub specific CI scripts
This folder contains [`actions/github-script`](https://github.com/actions/github-script)-based JavaScript code.
It provides a `nix-shell` environment to run and test these actions locally.
To run any of the scripts locally:
- Enter `nix-shell` in `./ci/github-script`.
- Ensure `gh` is authenticated.
## Labeler
Run `./run labels OWNER REPO`, where OWNER is your username or "NixOS" and REPO the name of your fork or "nixpkgs".
@@ -1,61 +1,12 @@
module.exports = async function ({ github, context, core, dry }) {
const Bottleneck = require('bottleneck')
const path = require('node:path')
const { DefaultArtifactClient } = require('@actions/artifact')
const { readFile, writeFile } = require('node:fs/promises')
const withRateLimit = require('./withRateLimit.js')
const artifactClient = new DefaultArtifactClient()
const stats = {
issues: 0,
prs: 0,
requests: 0,
artifacts: 0,
}
// Rate-Limiting and Throttling, see for details:
// https://github.com/octokit/octokit.js/issues/1069#throttling
// https://docs.github.com/en/rest/using-the-rest-api/best-practices-for-using-the-rest-api
const allLimits = new Bottleneck({
// Avoid concurrent requests
maxConcurrent: 1,
// Will be updated with first `updateReservoir()` call below.
reservoir: 0,
})
// Pause between mutative requests
const writeLimits = new Bottleneck({ minTime: 1000 }).chain(allLimits)
github.hook.wrap('request', async (request, options) => {
// Requests to the /rate_limit endpoint do not count against the rate limit.
if (options.url == '/rate_limit') return request(options)
// Search requests are in a different resource group, which allows 30 requests / minute.
// We do less than a handful each run, so not implementing throttling for now.
if (options.url.startsWith('/search/')) return request(options)
stats.requests++
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(options.method))
return writeLimits.schedule(request.bind(null, options))
else return allLimits.schedule(request.bind(null, options))
})
async function updateReservoir() {
let response
try {
response = await github.rest.rateLimit.get()
} catch (err) {
core.error(`Failed updating reservoir:\n${err}`)
// Keep retrying on failed rate limit requests instead of exiting the script early.
return
}
// Always keep 1000 spare requests for other jobs to do their regular duty.
// They normally use below 100, so 1000 is *plenty* of room to work with.
const reservoir = Math.max(0, response.data.resources.core.remaining - 1000)
core.info(`Updating reservoir to: ${reservoir}`)
allLimits.updateSettings({ reservoir })
}
await updateReservoir()
// Update remaining requests every minute to account for other jobs running in parallel.
const reservoirUpdater = setInterval(updateReservoir, 60 * 1000)
async function handlePullRequest(item) {
async function handlePullRequest({ item, stats }) {
const log = (k, v) => core.info(`PR #${item.number} - ${k}: ${v}`)
const pull_number = item.number
@@ -221,7 +172,7 @@ module.exports = async function ({ github, context, core, dry }) {
return prLabels
}
async function handle(item) {
async function handle({ item, stats }) {
try {
const log = (k, v, skip) => {
core.info(`#${item.number} - ${k}: ${v}` + (skip ? ' (skipped)' : ''))
@@ -237,7 +188,7 @@ module.exports = async function ({ github, context, core, dry }) {
if (item.pull_request || context.payload.pull_request) {
stats.prs++
Object.assign(itemLabels, await handlePullRequest(item))
Object.assign(itemLabels, await handlePullRequest({ item, stats }))
} else {
stats.issues++
}
@@ -326,9 +277,9 @@ module.exports = async function ({ github, context, core, dry }) {
}
}
try {
await withRateLimit({ github, core }, async (stats) => {
if (context.payload.pull_request) {
await handle(context.payload.pull_request)
await handle({ item: context.payload.pull_request, stats })
} else {
const lastRun = (
await github.rest.actions.listWorkflowRuns({
@@ -447,17 +398,11 @@ module.exports = async function ({ github, context, core, dry }) {
arr.findIndex((firstItem) => firstItem.number == thisItem.number),
)
;(await Promise.allSettled(items.map(handle)))
;(await Promise.allSettled(items.map((item) => handle({ item, stats }))))
.filter(({ status }) => status == 'rejected')
.map(({ reason }) =>
core.setFailed(`${reason.message}\n${reason.cause.stack}`),
)
core.notice(
`Processed ${stats.prs} PRs, ${stats.issues} Issues, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`,
)
}
} finally {
clearInterval(reservoirUpdater)
}
})
}
@@ -1,5 +1,5 @@
{
"name": "labels",
"name": "github-script",
"lockfileVersion": 3,
"requires": true,
"packages": {
@@ -7,7 +7,8 @@
"dependencies": {
"@actions/artifact": "2.3.2",
"@actions/github": "6.0.1",
"bottleneck": "2.19.5"
"bottleneck": "2.19.5",
"commander": "14.0.0"
}
},
"node_modules/@actions/artifact": {
@@ -950,6 +951,15 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
"node_modules/commander": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz",
"integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==",
"license": "MIT",
"engines": {
"node": ">=20"
}
},
"node_modules/compress-commons": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
@@ -1,9 +1,9 @@
{
"private": true,
"type": "module",
"dependencies": {
"@actions/artifact": "2.3.2",
"@actions/github": "6.0.1",
"bottleneck": "2.19.5"
"bottleneck": "2.19.5",
"commander": "14.0.0"
}
}
+67
View File
@@ -0,0 +1,67 @@
#!/usr/bin/env -S node --import ./run
import { execSync } from 'node:child_process'
import { mkdtempSync, rmSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { program } from 'commander'
import { getOctokit } from '@actions/github'
async function run(action, owner, repo, pull_number, dry) {
const token = execSync('gh auth token', { encoding: 'utf-8' }).trim()
const github = getOctokit(token)
const payload = !pull_number ? {} : {
pull_request: (await github.rest.pulls.get({
owner,
repo,
pull_number,
})).data
}
const tmp = mkdtempSync(join(tmpdir(), 'github-script-'))
try {
process.env.GITHUB_WORKSPACE = tmp
process.chdir(tmp)
await action({
github,
context: {
payload,
repo: {
owner,
repo,
},
},
core: {
getInput() {
return token
},
error: console.error,
info: console.log,
notice: console.log,
setFailed(msg) {
console.error(msg)
process.exitCode = 1
},
},
dry,
})
} finally {
rmSync(tmp, { recursive: true })
}
}
program
.command('labels')
.description('Manage labels on pull requests.')
.argument('<owner>', 'Owner of the GitHub repository to label (Example: NixOS)')
.argument('<repo>', 'Name of the GitHub repository to label (Example: nixpkgs)')
.argument('[pr]', 'Number of the Pull Request to label')
.option('--no-dry', 'Make actual modifications')
.action(async (owner, repo, pr, options) => {
const labels = (await import('./labels.js')).default
run(labels, owner, repo, pr, options.dry)
})
await program.parse()
@@ -5,12 +5,14 @@
pkgs.callPackage (
{
mkShell,
gh,
importNpmLock,
mkShell,
nodejs,
}:
mkShell {
packages = [
gh
importNpmLock.hooks.linkNodeModulesHook
nodejs
];
+61
View File
@@ -0,0 +1,61 @@
module.exports = async function ({ github, core }, callback) {
const Bottleneck = require('bottleneck')
const stats = {
issues: 0,
prs: 0,
requests: 0,
artifacts: 0,
}
// Rate-Limiting and Throttling, see for details:
// https://github.com/octokit/octokit.js/issues/1069#throttling
// https://docs.github.com/en/rest/using-the-rest-api/best-practices-for-using-the-rest-api
const allLimits = new Bottleneck({
// Avoid concurrent requests
maxConcurrent: 1,
// Will be updated with first `updateReservoir()` call below.
reservoir: 0,
})
// Pause between mutative requests
const writeLimits = new Bottleneck({ minTime: 1000 }).chain(allLimits)
github.hook.wrap('request', async (request, options) => {
// Requests to the /rate_limit endpoint do not count against the rate limit.
if (options.url == '/rate_limit') return request(options)
// Search requests are in a different resource group, which allows 30 requests / minute.
// We do less than a handful each run, so not implementing throttling for now.
if (options.url.startsWith('/search/')) return request(options)
stats.requests++
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(options.method))
return writeLimits.schedule(request.bind(null, options))
else return allLimits.schedule(request.bind(null, options))
})
async function updateReservoir() {
let response
try {
response = await github.rest.rateLimit.get()
} catch (err) {
core.error(`Failed updating reservoir:\n${err}`)
// Keep retrying on failed rate limit requests instead of exiting the script early.
return
}
// Always keep 1000 spare requests for other jobs to do their regular duty.
// They normally use below 100, so 1000 is *plenty* of room to work with.
const reservoir = Math.max(0, response.data.resources.core.remaining - 1000)
core.info(`Updating reservoir to: ${reservoir}`)
allLimits.updateSettings({ reservoir })
}
await updateReservoir()
// Update remaining requests every minute to account for other jobs running in parallel.
const reservoirUpdater = setInterval(updateReservoir, 60 * 1000)
try {
await callback(stats)
} finally {
clearInterval(reservoirUpdater)
core.notice(
`Processed ${stats.prs} PRs, ${stats.issues} Issues, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`,
)
}
}
-4
View File
@@ -1,4 +0,0 @@
# TODO: Move to <top-level>/.editorconfig, once ci/.editorconfig has made its way through staging.
[*.cjs]
indent_style = space
indent_size = 2
-4
View File
@@ -1,4 +0,0 @@
To test the labeler locally:
- Provide `gh` on `PATH` and make sure it's authenticated.
- Enter `nix-shell` in `./ci/labels`.
- Run `./run.js OWNER REPO`, where OWNER is your username or "NixOS" and REPO the name of your fork or "nixpkgs".
-45
View File
@@ -1,45 +0,0 @@
#!/usr/bin/env node
import { execSync } from 'node:child_process'
import { mkdtempSync, rmSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { getOctokit } from '@actions/github'
import labels from './labels.cjs'
if (process.argv.length !== 4)
throw new Error('Call this with exactly two arguments: ./run.js OWNER REPO')
const [, , owner, repo] = process.argv
const token = execSync('gh auth token', { encoding: 'utf-8' }).trim()
const tmp = mkdtempSync(join(tmpdir(), 'labels-'))
try {
process.env.GITHUB_WORKSPACE = tmp
process.chdir(tmp)
await labels({
github: getOctokit(token),
context: {
payload: {},
repo: {
owner,
repo,
},
},
core: {
getInput() {
return token
},
error: console.error,
info: console.log,
notice: console.log,
setFailed(msg) {
console.error(msg)
process.exitCode = 1
},
},
dry: true,
})
} finally {
rmSync(tmp, { recursive: true })
}
@@ -443,8 +443,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "...";
fetcherVersion = 2;
hash = "...";
};
})
```
@@ -568,8 +568,8 @@ This is the version of the output of `pnpm.fetchDeps`, if you haven't set it alr
# ...
pnpmDeps = pnpm.fetchDeps {
# ...
hash = "..."; # you can use your already set hash here
fetcherVersion = 1;
hash = "..."; # you can use your already set hash here
};
}
```
@@ -581,8 +581,8 @@ After upgrading to a newer `fetcherVersion`, you need to regenerate the hash:
# ...
pnpmDeps = pnpm.fetchDeps {
# ...
hash = "..."; # clear this hash and generate a new one
fetcherVersion = 2;
hash = "..."; # clear this hash and generate a new one
};
}
```
+12 -2
View File
@@ -2,6 +2,7 @@
#!nix-shell -i python3 -p "python3.withPackages(ps: [ ps.beautifulsoup4 ps.click ps.httpx ps.jinja2 ps.packaging ps.pyyaml ])" nix-update
import base64
import binascii
import hashlib
import json
import pathlib
import subprocess
@@ -112,8 +113,17 @@ def main(pkgset: str, version: str, nixpkgs: pathlib.Path, sources_url: str | No
url = urljoin(sources_url, link.attrs["href"])
hash = client.get(url + ".sha256").text.split(" ", maxsplit=1)[0]
assert hash
hash = client.get(url + ".sha256").text.strip()
if hash == "Hash type not supported":
print(f"{url} missing hash on CDN, downloading...")
hasher = hashlib.sha256()
with client.stream("GET", url, follow_redirects=True) as r:
for data in r.iter_bytes():
hasher.update(data)
hash = hasher.hexdigest()
else:
hash = hash.split(" ", maxsplit=1)[0]
if existing := results.get(project_name):
old_version = existing["version"]
@@ -125,6 +125,11 @@
- `amdgpu` kernel driver overdrive mode can now be enabled by setting [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable) and customized through [hardware.amdgpu.overdrive.ppfeaturemask](#opt-hardware.amdgpu.overdrive.ppfeaturemask).
This allows for fine-grained control over the GPU's performance and maybe required by overclocking softwares like Corectrl and Lact. These new options replace old options such as {option}`programs.corectrl.gpuOverclock.enable` and {option}`programs.tuxclocker.enableAMD`.
- `services.varnish.http_address` has been superseeded by `services.varnish.listen` which is now
structured config for all of varnish's `-a` variations.
- [](#opt-services.gnome.gnome-keyring.enable) does not ship with an SSH agent anymore, as this is now handled by the `gcr_4` package instead of `gnome-keyring`. A new module has been added to support this, under [](#opt-services.gnome.gcr-ssh-agent.enable) (its default value has been set to [](#opt-services.gnome.gnome-keyring.enable) to ensure a smooth transition). See the [relevant upstream PR](https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67) for more details.
- The `nettools` package (ifconfig, arp, mii-tool, netstat, route) is not installed by default anymore. The suite is unmaintained and users should migrate to `iproute2` and `ethtool` instead.
- `sparkleshare` has been removed as it no longer builds and has been abandoned upstream.
+33
View File
@@ -0,0 +1,33 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.hardware.kryoflux;
in
{
options.hardware.kryoflux = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enables kryoflux udev rules, ensures 'floppy' group exists. This is a
prerequisite to using devices supported by kryoflux without being root,
since kryoflux device descriptors will be owned by floppy through udev.
'';
};
package = lib.mkPackageOption pkgs "kryoflux" { };
};
config = lib.mkIf cfg.enable {
services.udev.packages = [ cfg.package ];
environment.systemPackages = [ cfg.package ];
users.groups.floppy = { };
};
meta.maintainers = with lib.maintainers; [ matthewcroughan ];
}
@@ -121,6 +121,7 @@ in
users.users.spamd = {
description = "Spam Assassin Daemon";
home = "/var/lib/spamassassin";
uid = config.ids.uids.spamd;
group = "spamd";
};
@@ -6,6 +6,16 @@
}:
let
inherit (lib)
types
mkOption
hasPrefix
concatMapStringsSep
optionalString
concatMap
;
inherit (builtins) isNull;
cfg = config.services.varnish;
# Varnish has very strong opinions and very complicated code around handling
@@ -26,6 +36,91 @@ let
else
"/var/run/varnishd";
# from --help:
# -a [<name>=]address[:port][,proto] # HTTP listen address and port
# [,user=<u>][,group=<g>] # Can be specified multiple times.
# [,mode=<m>] # default: ":80,HTTP"
# # Proto can be "PROXY" or "HTTP" (default)
# # user, group and mode set permissions for
# # a Unix domain socket.
commandLineAddresses =
(concatMapStringsSep " " (
a:
"-a "
+ optionalString (!isNull a.name) "${a.name}="
+ a.address
+ optionalString (!isNull a.port) ":${toString a.port}"
+ optionalString (!isNull a.proto) ",${a.proto}"
+ optionalString (!isNull a.user) ",user=${a.user}"
+ optionalString (!isNull a.group) ",group=${a.group}"
+ optionalString (!isNull a.mode) ",mode=${a.mode}"
) cfg.listen)
+ lib.optionalString (!isNull cfg.http_address) " -a ${cfg.http_address}";
addressSubmodule = types.submodule {
options = {
name = mkOption {
description = "Name is referenced in logs. If name is not specified, 'a0', 'a1', etc. is used.";
default = null;
type = with types; nullOr str;
};
address = mkOption {
description = ''
If given an IP address, it can be a host name ("localhost"), an IPv4 dotted-quad
("127.0.0.1") or an IPv6 address enclosed in square brackets ("[::1]").
(VCL4.1 and higher) If given an absolute Path ("/path/to/listen.sock") or "@"
followed by the name of an abstract socket ("@myvarnishd") accept connections
on a Unix domain socket.
The user, group and mode sub-arguments may be used to specify the permissions
of the socket file. These sub-arguments do not apply to abstract sockets.
'';
type = types.str;
};
port = mkOption {
description = "The port to use for IP sockets. If port is not specified, port 80 (http) is used.";
default = null;
type = with types; nullOr int;
};
proto = mkOption {
description = "PROTO can be 'HTTP' (the default) or 'PROXY'. Both version 1 and 2 of the proxy protocol can be used.";
type = types.enum [
"HTTP"
"PROXY"
];
default = "HTTP";
};
user = mkOption {
description = "User name who owns the socket file.";
default = null;
type = with lib.types; nullOr str;
};
group = mkOption {
description = "Group name who owns the socket file.";
default = null;
type = with lib.types; nullOr str;
};
mode = mkOption {
description = "Permission of the socket file (3-digit octal value).";
default = null;
type = with types; nullOr str;
};
};
};
checkedAddressModule = types.addCheck addressSubmodule (
m:
(
if ((hasPrefix "@" m.address) || (hasPrefix "/" m.address)) then
# this is a unix socket
(m.port != null)
else
# this is not a path-based unix socket
if !(hasPrefix "/" m.address) && (m.group != null) || (m.user != null) || (m.mode != null) then
false
else
true
)
);
commandLine =
"-f ${pkgs.writeText "default.vcl" cfg.config}"
+
@@ -54,13 +149,23 @@ in
package = lib.mkPackageOption pkgs "varnish" { };
http_address = lib.mkOption {
type = lib.types.str;
default = "*:6081";
type = with lib.types; nullOr str;
default = null;
description = ''
HTTP listen address and port.
'';
};
listen = lib.mkOption {
description = "Accept for client requests on the specified listen addresses.";
type = lib.types.listOf checkedAddressModule;
defaultText = lib.literalExpression ''[ { address="*"; port=6081; } ]'';
default = lib.optional (isNull cfg.http_address) {
address = "*";
port = 6081;
};
};
config = lib.mkOption {
type = lib.types.lines;
description = ''
@@ -97,7 +202,7 @@ in
serviceConfig = {
Type = "simple";
PermissionsStartOnly = true;
ExecStart = "${cfg.package}/sbin/varnishd -a ${cfg.http_address} -n ${stateDir} -F ${cfg.extraCommandLine} ${commandLine}";
ExecStart = "${cfg.package}/sbin/varnishd ${commandLineAddresses} -n ${stateDir} -F ${cfg.extraCommandLine} ${commandLine}";
Restart = "always";
RestartSec = "5s";
User = "varnish";
@@ -118,6 +223,21 @@ in
'')
];
assertions = concatMap (m: [
{
assertion = (hasPrefix "/" m.address) || (hasPrefix "@" m.address) -> m.port == null;
message = "Listen ports must not be specified with UNIX sockets: ${builtins.toJSON m}";
}
{
assertion = !(hasPrefix "/" m.address) -> m.user == null && m.group == null && m.mode == null;
message = "Abstract UNIX sockets or IP sockets can not be used with user, group, and mode settings: ${builtins.toJSON m}";
}
]) cfg.listen;
warnings =
lib.optional (!isNull cfg.http_address)
"The option `services.varnish.http_address` is deprecated. Use `services.varnish.listen` instead.";
users.users.varnish = {
group = "varnish";
uid = config.ids.uids.varnish;
@@ -274,7 +274,7 @@ def install_bootloader() -> None:
profiles = [('system', get_gens())]
for profile in get_profiles():
profiles += (profile, get_gens(profile))
profiles += [(profile, get_gens(profile))]
timeout = config('timeout')
editor_enabled = 'yes' if config('enableEditor') else 'no'
+49 -3
View File
@@ -10,7 +10,12 @@ in
nodes = {
varnish =
{ config, pkgs, ... }:
{
config,
pkgs,
lib,
...
}:
{
services.nix-serve = {
enable = true;
@@ -19,9 +24,29 @@ in
services.varnish = {
inherit package;
enable = true;
http_address = "0.0.0.0:80";
http_address = "0.0.0.0:81";
listen = [
{
address = "0.0.0.0";
port = 80;
proto = "HTTP";
}
{
name = "proxyport";
address = "0.0.0.0";
port = 8080;
proto = "PROXY";
}
{ address = "@asdf"; }
{
address = "/run/varnishd/client.http.sock";
user = "varnish";
group = "varnish";
mode = "660";
}
];
config = ''
vcl 4.0;
vcl 4.1;
backend nix-serve {
.host = "127.0.0.1";
@@ -32,6 +57,26 @@ in
networking.firewall.allowedTCPPorts = [ 80 ];
system.extraDependencies = [ testPath ];
assertions =
map
(
pattern:
let
cmdline = config.systemd.services.varnish.serviceConfig.ExecStart;
in
{
assertion = lib.hasInfix pattern cmdline;
message = "Address argument `${pattern}` missing in commandline `${cmdline}`.";
}
)
[
" -a 0.0.0.0:80,HTTP "
" -a proxyport=0.0.0.0:8080,PROXY "
" -a @asdf,HTTP "
" -a /run/varnishd/client.http.sock,HTTP,user=varnish,group=varnish,mode=660 "
" -a 0.0.0.0:81 "
];
};
client =
@@ -48,6 +93,7 @@ in
start_all()
varnish.wait_for_open_port(80)
client.wait_until_succeeds("curl -f http://varnish/nix-cache-info");
client.wait_until_succeeds("nix-store -r ${testPath}")
+2
View File
@@ -19,6 +19,8 @@
services.xserver.desktopManager.xfce.enable = true;
environment.systemPackages = [ pkgs.xfce.xfce4-whiskermenu-plugin ];
programs.thunar.plugins = [ pkgs.xfce.thunar-archive-plugin ];
};
enableOCR = true;
@@ -24,8 +24,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-xIQyTetHU37gTxCcQp4VCqzGdIfVQGy/aORCVba6YQ0=";
fetcherVersion = 1;
hash = "sha256-xIQyTetHU37gTxCcQp4VCqzGdIfVQGy/aORCVba6YQ0=";
};
nativeBuildInputs = [
@@ -6,8 +6,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "cwtools-vscode";
publisher = "tboby";
version = "0.10.25";
hash = "sha256-TcnS4Cwn+V9hwScpLgUK5u8Jfm89EBv+koUOi1bB0DM=";
version = "0.10.26";
hash = "sha256-1ZfmcF87LyRxCbQvVX21m1yFu+7QeDCofKXEHj5W8DA=";
};
meta = {
description = "Paradox Language Features for Visual Studio Code";
@@ -91,9 +91,9 @@ rec {
nomad_1_10 = generic {
buildGoModule = buildGo124Module;
version = "1.10.2";
hash = "sha256-7i/tMQwaEmLGXNarrdPzmorv+SHrxCzeaF3BI9Jjhwg=";
vendorHash = "sha256-yq8xQ9wThPK/X9/lEHD8FCXq1Mrz0lO6UvrP2ipXMnw=";
version = "1.10.3";
hash = "sha256-sDOo7b32H/d5OJ6CRyga1rZZk55bFTi4ynHL/aIH87w=";
vendorHash = "sha256-bpCnpeRk329vUd9e6x7iCh+1ouSGd4o4Hq79K0qchJ8=";
license = lib.licenses.bsl11;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''
@@ -326,13 +326,13 @@
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
},
"datadog": {
"hash": "sha256-FYgjffK21Z/a7wpke5/Um0f8NiDfs7Xf4l7/f3i41+g=",
"hash": "sha256-u+iiWStjO2OFMkQp8Skynb4seTK61ETSKrEP+6o16LA=",
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
"owner": "DataDog",
"repo": "terraform-provider-datadog",
"rev": "v3.66.0",
"rev": "v3.67.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-9YkSNGNcdMBLJZSlMTGoDrLZFTeGSTfhX1H8ub77Ebk="
"vendorHash": "sha256-fLdJxYuN4p0ZwXUXcN6BtATcwVg9asgdjHg9nOPcxK4="
},
"deno": {
"hash": "sha256-7IvJrhXMeAmf8e21QBdYNSJyVMEzLpat4Tm4zHWglW8=",
@@ -624,11 +624,11 @@
"vendorHash": "sha256-SsEWNIBkgcdTlSrB4hIvRmhMv2eJ2qQaPUmiN09A+NM="
},
"huaweicloud": {
"hash": "sha256-v0UqXIK4SPGouETUWSQI1K1hpsPMyUuEpLQ++Gs4+yk=",
"hash": "sha256-jXppJtVMPpipXbEhgenVtFP5YxwlQzekquRoZmgoP0Q=",
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
"owner": "huaweicloud",
"repo": "terraform-provider-huaweicloud",
"rev": "v1.76.1",
"rev": "v1.76.4",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -22,14 +22,14 @@
buildPythonApplication rec {
pname = "protonvpn-gui";
version = "4.9.6";
version = "4.9.7";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
tag = "${version}";
hash = "sha256-Undf3qSClcRa1e9f6B/1hLPIjc2KPG745AXxYHQA0nE=";
tag = "v${version}";
hash = "sha256-xpMXpYLLui+1bjK72VPhUT6T/sYpoqN2Jz6sczKJO5U=";
};
nativeBuildInputs = [
@@ -113,6 +113,12 @@ stdenv.mkDerivation {
)
++ [
./patches/256-color-resources.patch
(fetchPatchFromAUR {
name = "7-bit-queries.patch";
package = "rxvt-unicode-truecolor-wide-glyphs";
rev = "61ed186890a2bf37585e4704a095be61e6504ac6";
sha256 = "1xpv6g3bhxq5gp40k3rp8yjp4xrw7dr2g9sfkdmj0gi3rr0myx46";
})
]
++ lib.optional (perlSupport && lib.versionAtLeast perl.version "5.38") (fetchpatch {
name = "perl538-locale-c.patch";
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "obs-shaderfilter";
version = "2.5.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-shaderfilter";
rev = version;
sha256 = "sha256-HJFgGicOtEZMMJyAkwgHCvWPoj00C6YGU9NwagD4Fpw=";
sha256 = "sha256-1RRGXAzP7BIwJJMmXSknPDtHxXZex9SqDDVbWOE43Yk=";
};
nativeBuildInputs = [ cmake ];
@@ -367,13 +367,13 @@ rec {
# Get revisions from
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
docker_25 = callPackage dockerGen rec {
version = "25.0.10";
version = "25.0.11";
# Upstream forgot to tag release
# https://github.com/docker/cli/issues/5789
cliRev = "43987fca488a535d810c429f75743d8c7b63bf4f";
cliHash = "sha256-OwufdfuUPbPtgqfPeiKrQVkOOacU2g4ommHb770gV40=";
mobyRev = "v${version}";
mobyHash = "sha256-57iXL+QYtbEz099yOTR4k/2Z7CT08OAkQ3kVJSmsa/U=";
mobyHash = "sha256-vHHi0/sX9fm83gyUjDpRYTGV9h18IVia1oSmj4n31nc=";
runcRev = "v1.2.5";
runcHash = "sha256-J/QmOZxYnMPpzm87HhPTkYdt+fN+yeSUu2sv6aUeTY4=";
containerdRev = "v1.7.27";
@@ -383,11 +383,11 @@ rec {
};
docker_28 = callPackage dockerGen rec {
version = "28.2.2";
version = "28.3.2";
cliRev = "v${version}";
cliHash = "sha256-ZaKG4H8BqIzgs9OFktH9bjHSf9exAlh5kPCGP021BWI=";
cliHash = "sha256-LsV9roOPw0LccvBUeF3bY014OwG6QpnVsLf+dqKyvsg=";
mobyRev = "v${version}";
mobyHash = "sha256-Y2yP2NBJLrI83iHe2EoA7/cXiQifrCkUKlwJhINKBXE=";
mobyHash = "sha256-YfdnCAc9NgLTuvxLHGhTPdWqXz9VSVsQsfzLD3YER3g=";
runcRev = "v1.2.6";
runcHash = "sha256-XMN+YKdQOQeOLLwvdrC6Si2iAIyyHD5RgZbrOHrQE/g=";
containerdRev = "v1.7.27";
+77 -16
View File
@@ -1,28 +1,89 @@
{
lib,
runCommand,
srcOnly,
hello,
emptyDirectory,
glibc,
zlib,
stdenv,
testers,
}:
let
emptySrc = srcOnly emptyDirectory;
glibcSrc = srcOnly glibc;
zlibSrc = srcOnly zlib;
# It can be invoked in a number of ways. Let's make sure they're equivalent.
zlibSrcDrvAttrs = srcOnly zlib.drvAttrs;
# zlibSrcFreeform = # ???;
helloSrc = srcOnly hello;
helloSrcDrvAttrs = srcOnly hello.drvAttrs;
# The srcOnly <drv> invocation leaks a lot of attrs into the srcOnly derivation,
# so for comparing with the freeform invocation, we need to make a selection.
# Otherwise, we'll be comparing against whatever attribute the fancy hello drv
# has.
helloDrvSimple = stdenv.mkDerivation {
inherit (hello)
name
pname
version
src
patches
;
};
helloDrvSimpleSrc = srcOnly helloDrvSimple;
helloDrvSimpleSrcFreeform = srcOnly (
{
inherit (helloDrvSimple)
name
pname
version
src
patches
stdenv
;
}
# __impureHostDeps get duplicated in helloDrvSimpleSrc (on darwin)
# This is harmless, but fails the test for what is arguably an
# unrelated non-problem, so we just work around it here.
# The inclusion of __impureHostDeps really shouldn't be required,
# and should be removed from this test.
// lib.optionalAttrs (helloDrvSimple ? __impureHostDeps) {
inherit (helloDrvSimple) __impureHostDeps;
}
);
in
runCommand "srcOnly-tests" { } ''
# Test that emptySrc is empty
if [ -n "$(ls -A ${emptySrc})" ]; then
echo "emptySrc is not empty"
exit 1
fi
runCommand "srcOnly-tests"
{
moreTests = [
(testers.testEqualDerivation "zlibSrcDrvAttrs == zlibSrc" zlibSrcDrvAttrs zlibSrc)
# (testers.testEqualDerivation
# "zlibSrcFreeform == zlibSrc"
# zlibSrcFreeform
# zlibSrc)
(testers.testEqualDerivation "helloSrcDrvAttrs == helloSrc" helloSrcDrvAttrs helloSrc)
(testers.testEqualDerivation "helloDrvSimpleSrcFreeform == helloDrvSimpleSrc"
helloDrvSimpleSrcFreeform
helloDrvSimpleSrc
)
];
}
''
# Test that emptySrc is empty
if [ -n "$(ls -A ${emptySrc})" ]; then
echo "emptySrc is not empty"
exit 1
fi
# Test that glibcSrc is not empty
if [ -z "$(ls -A ${glibcSrc})" ]; then
echo "glibcSrc is empty"
exit 1
fi
# Test that zlibSrc is not empty
if [ -z "$(ls -A ${zlibSrc})" ]; then
echo "zlibSrc is empty"
exit 1
fi
# Make $out exist to avoid build failure
mkdir -p $out
''
# Make $out exist to avoid build failure
mkdir -p $out
''
+3 -3
View File
@@ -7,13 +7,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "amazon-q-cli";
version = "1.12.2";
version = "1.12.4";
src = fetchFromGitHub {
owner = "aws";
repo = "amazon-q-developer-cli-autocomplete";
tag = "v${finalAttrs.version}";
hash = "sha256-TIKG1nzpmjiHE+EjTJR+/GklQNJQeUzmDXaPEiRT80Y=";
hash = "sha256-juZuqZkBsIHhLOCZk+QpTaO1BsHj2RZyCvkvc0G5KbU=";
};
nativeBuildInputs = [
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
useFetchCargoVendor = true;
cargoHash = "sha256-lJbHPqQ3eybo03oZY2VyKlsxcTdbdrc8q8AjV+IahEY=";
cargoHash = "sha256-BT3LNOkRf4gfBy5SwuAnMoJVF9PmwiLsS5phdtEgIrs=";
cargoBuildFlags = [
"-p"
+40 -45
View File
@@ -16,6 +16,7 @@
wireguard-tools,
libssh,
zlib,
openssl,
tun2socks,
xray,
nix-update-script,
@@ -41,16 +42,16 @@ let
amnezia-xray = xray.overrideAttrs (
finalAttrs: prevAttrs: {
pname = "amnezia-xray";
version = "1.8.13";
version = "1.8.15";
src = fetchFromGitHub {
owner = "amnezia-vpn";
repo = "amnezia-xray-core";
tag = "v${finalAttrs.version}";
hash = "sha256-7XYdogoUEv3kTPTOQwRCohsPtfSDf+aRdI28IkTjvPk=";
hash = "sha256-3ZGkfGxYl9/yE7Q2CsJkFJ6xSGybBdq3DztQ0f4VsnY=";
};
vendorHash = "sha256-zArdGj5yeRxU0X4jNgT5YBI9SJUyrANDaqNPAPH3d5M=";
vendorHash = "sha256-AimQsuBRhgpTY5rW8WRejCkx4s9Q9n+OuTf4XCrgpnE=";
}
);
@@ -64,56 +65,50 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "amnezia-vpn";
version = "4.8.6.0";
version = "4.8.8.3";
src = fetchFromGitHub {
owner = "amnezia-vpn";
repo = "amnezia-client";
tag = finalAttrs.version;
hash = "sha256-WQbay3dtGNPPpcK1O7bfs/HKO4ytfmQo60firU/9o28=";
hash = "sha256-hDbrp6eT+avFepJL55Vl2alOD+IMnyy8MPXZQTEmLJo=";
fetchSubmodules = true;
};
# Temporary patch header file to fix build with QT 6.9
patches = [
(fetchpatch {
name = "add-missing-include.patch";
url = "https://github.com/amnezia-vpn/amnezia-client/commit/c44ce0d77cc3acdf1de48a12459a1a821d404a1c.patch";
hash = "sha256-Q6UMD8PlKAcI6zNolT5+cULECnxNrYrD7cifvNg1ZrY=";
})
];
postPatch =
''
substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \
--replace-fail 'm_tunnel.start(appPath.filePath("../../client/bin/wireguard-go"), wgArgs);' 'm_tunnel.start("${amneziawg-go}/bin/amneziawg-go", wgArgs);'
substituteInPlace client/utilities.cpp \
--replace-fail 'return Utils::executable("../../client/bin/openvpn", true);' 'return Utils::executable("${openvpn}/bin/openvpn", false);' \
--replace-fail 'return Utils::executable("../../client/bin/tun2socks", true);' 'return Utils::executable("${amnezia-tun2socks}/bin/amnezia-tun2socks", false);' \
--replace-fail 'return Utils::usrExecutable("wg-quick");' 'return Utils::executable("${wireguard-tools}/bin/wg-quick", false);'
substituteInPlace client/protocols/xrayprotocol.cpp \
--replace-fail 'return Utils::executable(QString("xray"), true);' 'return Utils::executable(QString("${amnezia-xray}/bin/xray"), false);'
substituteInPlace client/protocols/openvpnovercloakprotocol.cpp \
--replace-fail 'return Utils::executable(QString("/ck-client"), true);' 'return Utils::executable(QString("${cloak-pt}/bin/ck-client"), false);'
substituteInPlace client/protocols/shadowsocksvpnprotocol.cpp \
--replace-fail 'return Utils::executable(QString("/ss-local"), true);' 'return Utils::executable(QString("${shadowsocks-rust}/bin/sslocal"), false);'
substituteInPlace client/configurators/openvpn_configurator.cpp \
--replace-fail ".arg(qApp->applicationDirPath());" ".arg(\"$out/libexec\");"
substituteInPlace client/ui/qautostart.cpp \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "AmneziaVPN"
substituteInPlace deploy/installer/config/AmneziaVPN.desktop.in \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "$out/share/pixmaps/AmneziaVPN.png"
substituteInPlace deploy/data/linux/AmneziaVPN.service \
--replace-fail "ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh" "ExecStart=$out/bin/AmneziaVPN-service" \
--replace-fail "Environment=LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib" ""
''
+ (lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) ''
substituteInPlace client/cmake/3rdparty.cmake \
--replace-fail 'set(LIBSSH_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libssh.a")' 'set(LIBSSH_LIB_PATH "${libssh}/lib/libssh.so")' \
--replace-fail 'set(ZLIB_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libz.a")' 'set(ZLIB_LIB_PATH "${zlib}/lib/libz.so")' \
--replace-fail 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libssl.a")' 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/arm64/libssl.a")' \
--replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/arm64/libcrypto.a")'
'');
postPatch = ''
substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \
--replace-fail 'm_tunnel.start(appPath.filePath("../../client/bin/wireguard-go"), wgArgs);' 'm_tunnel.start("${amneziawg-go}/bin/amneziawg-go", wgArgs);'
substituteInPlace client/utilities.cpp \
--replace-fail 'return Utils::executable("../../client/bin/openvpn", true);' 'return Utils::executable("${openvpn}/bin/openvpn", false);' \
--replace-fail 'return Utils::executable("../../client/bin/tun2socks", true);' 'return Utils::executable("${amnezia-tun2socks}/bin/amnezia-tun2socks", false);' \
--replace-fail 'return Utils::usrExecutable("wg-quick");' 'return Utils::executable("${wireguard-tools}/bin/wg-quick", false);'
substituteInPlace client/protocols/xrayprotocol.cpp \
--replace-fail 'return Utils::executable(QString("xray"), true);' 'return Utils::executable(QString("${amnezia-xray}/bin/xray"), false);'
substituteInPlace client/protocols/openvpnovercloakprotocol.cpp \
--replace-fail 'return Utils::executable(QString("/ck-client"), true);' 'return Utils::executable(QString("${cloak-pt}/bin/ck-client"), false);'
substituteInPlace client/protocols/shadowsocksvpnprotocol.cpp \
--replace-fail 'return Utils::executable(QString("/ss-local"), true);' 'return Utils::executable(QString("${shadowsocks-rust}/bin/sslocal"), false);'
substituteInPlace client/configurators/openvpn_configurator.cpp \
--replace-fail ".arg(qApp->applicationDirPath());" ".arg(\"$out/libexec\");"
substituteInPlace client/ui/qautostart.cpp \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "AmneziaVPN"
substituteInPlace deploy/installer/config/AmneziaVPN.desktop.in \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "$out/share/pixmaps/AmneziaVPN.png"
substituteInPlace deploy/data/linux/AmneziaVPN.service \
--replace-fail "ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh" "ExecStart=$out/bin/AmneziaVPN-service" \
--replace-fail "Environment=LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib" ""
substituteInPlace client/cmake/3rdparty.cmake \
--replace-fail 'set(LIBSSH_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libssh.a")' 'set(LIBSSH_LIB_PATH "${libssh}/lib/libssh.so")' \
--replace-fail 'set(ZLIB_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libz.a")' 'set(ZLIB_LIB_PATH "${zlib}/lib/libz.so")' \
--replace-fail 'set(OPENSSL_INCLUDE_DIR "''${OPENSSL_ROOT_DIR}/linux/include")' 'set(OPENSSL_INCLUDE_DIR "${openssl.dev}/include")' \
--replace-fail 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libssl.a")' 'set(OPENSSL_LIB_SSL_PATH "${openssl.out}/lib/libssl.so")' \
--replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "${openssl.out}/lib/libcrypto.so")' \
--replace-fail 'set(OPENSSL_USE_STATIC_LIBS TRUE)' 'set(OPENSSL_USE_STATIC_LIBS FALSE)'
substituteInPlace service/server/CMakeLists.txt \
--replace-fail 'set(OPENSSL_INCLUDE_DIR "''${OPENSSL_ROOT_DIR}/linux/include")' 'set(OPENSSL_INCLUDE_DIR "${openssl.dev}/include")' \
--replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "${openssl.out}/lib/libcrypto.so")' \
--replace-fail 'set(OPENSSL_USE_STATIC_LIBS TRUE)' 'set(OPENSSL_USE_STATIC_LIBS FALSE)'
'';
strictDeps = true;
+3 -3
View File
@@ -8,7 +8,7 @@
buildGoModule (finalAttrs: {
pname = "andcli";
version = "2.2.0";
version = "2.3.0";
subPackages = [ "cmd/andcli" ];
@@ -16,10 +16,10 @@ buildGoModule (finalAttrs: {
owner = "tjblackheart";
repo = "andcli";
tag = "v${finalAttrs.version}";
hash = "sha256-wAatlCckSpa/BE4UVR/L6SkVmNyW2/cl//JOy62EaLc=";
hash = "sha256-umV0oJ4sySnZzrIpRuTP/fT8a9nhkC1shVEfVVRpEyI=";
};
vendorHash = "sha256-/rmx9g7OfsZXr3zb1UfR1qLxdV2/ELzc/wXn0fJRzbE=";
vendorHash = "sha256-lzmkNxQUqktnl2Rpjgoa2yvAuGiMtVGNhiuF40how4o=";
ldflags = [
"-s"
+1 -1
View File
@@ -27,8 +27,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
# lockfileVersion: '6.0' need old pnpm
pnpmDeps = pnpm_8.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-h1rcM+H2c0lk7bpGeQT5ue9bQIggrCFHkj4o7KxnH08=";
fetcherVersion = 1;
hash = "sha256-h1rcM+H2c0lk7bpGeQT5ue9bQIggrCFHkj4o7KxnH08=";
};
cargoRoot = "src-tauri";
+1 -1
View File
@@ -28,8 +28,8 @@ buildGoModule rec {
pnpmDeps = pnpm_9.fetchDeps {
inherit src version pname;
sourceRoot = "${src.name}/ui";
hash = "sha256-/se6IWeHdazqS7PzOpgtT4IxCJ1WptqBzZ/BdmGb4BA=";
fetcherVersion = 1;
hash = "sha256-/se6IWeHdazqS7PzOpgtT4IxCJ1WptqBzZ/BdmGb4BA=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
version = "0.8.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "aquamarine";
tag = "v${finalAttrs.version}";
hash = "sha256-ybpV2+yNExdHnMhhhmtxqgBCgI+nRr8gi/D+VVb9lQY=";
hash = "sha256-1bxH4zW/mnEh7ySsByZBRpANUG/Ym8kgorawYI70z7A=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -33,8 +33,8 @@ let
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-QIfadS2gNPtH006O86EndY/Hx2ml2FoKfUXJF5qoluw=";
fetcherVersion = 1;
hash = "sha256-QIfadS2gNPtH006O86EndY/Hx2ml2FoKfUXJF5qoluw=";
};
buildPhase = ''
@@ -25,8 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmWorkspaces
prePnpmInstall
;
hash = "sha256-tlpk+wbLjJqt37lu67p2A2RZAR1ZfnZFiYoqIQwvWPQ=";
fetcherVersion = 1;
hash = "sha256-tlpk+wbLjJqt37lu67p2A2RZAR1ZfnZFiYoqIQwvWPQ=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "atmos";
version = "1.180.0";
version = "1.182.0";
src = fetchFromGitHub {
owner = "cloudposse";
repo = "atmos";
tag = "v${finalAttrs.version}";
hash = "sha256-/yCgC73J4PVTqmJBW0eLCMVWtsyMGLeF0Rmvx+N/oP8=";
hash = "sha256-xGNexXxeX6ZKG4eWCoj0laHHXegnNqSfRPEkIWcieNQ=";
};
vendorHash = "sha256-k1zC3tUF2uDAo86J6dZmYOGZcYFBNdSH15cyX2tiZEg=";
vendorHash = "sha256-P+Fsc6z3kTG8iq29KEp7DUV4zeT7Kee384TMosTDKGU=";
ldflags = [
"-s"
+1 -1
View File
@@ -40,8 +40,8 @@ let
src
sourceRoot
;
hash = "sha256-TbdRJqLdNI7wchUsx2Kw1LlDyv50XlCiKyn6rhZyN1U=";
fetcherVersion = 1;
hash = "sha256-TbdRJqLdNI7wchUsx2Kw1LlDyv50XlCiKyn6rhZyN1U=";
};
postBuild = ''
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "automatic-timezoned";
version = "2.0.80";
version = "2.0.82";
src = fetchFromGitHub {
owner = "maxbrunet";
repo = "automatic-timezoned";
rev = "v${version}";
sha256 = "sha256-5JrIcdNgi68g+5zF0y4YeNboFl6SS9QvZEsmcMh35gE=";
sha256 = "sha256-qUpPeuFfdj0rIygSo9C7LGdFi7l1erfz4XYTuxLgL7M=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-IX3lSupcKn1ET4Q7tLpUBhQ+wfmfUyM/onlTwW7wloU=";
cargoHash = "sha256-7QkrKeF1WY1ewe4GsdpZ/Na7hd9AGq+ixepeB473bDQ=";
meta = {
description = "Automatically update system timezone based on location";
+1 -1
View File
@@ -25,8 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-zb/BwL//i0oly5HEXN20E3RzZXdaOn+G2yIWRas3PB4=";
fetcherVersion = 1;
hash = "sha256-zb/BwL//i0oly5HEXN20E3RzZXdaOn+G2yIWRas3PB4=";
};
installPhase = ''
+2
View File
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/awslabs/aws-c-common";
license = licenses.asl20;
platforms = platforms.unix;
# https://github.com/awslabs/aws-c-common/issues/1175
badPlatforms = platforms.bigEndian;
maintainers = with maintainers; [
orivej
r-burns
+1 -1
View File
@@ -33,8 +33,8 @@ let
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-q7VMQb/FRT953yT2cyGMxUPp8p8XkA9mvqGI7S7Eifg=";
fetcherVersion = 1;
hash = "sha256-q7VMQb/FRT953yT2cyGMxUPp8p8XkA9mvqGI7S7Eifg=";
};
buildPhase = ''
@@ -28,8 +28,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
src
pnpmWorkspaces
;
hash = "sha256-NvyqPv5OKgZi3hW98Da8LhsYatmrzrPX8kLOfLr+BrI=";
fetcherVersion = 1;
hash = "sha256-NvyqPv5OKgZi3hW98Da8LhsYatmrzrPX8kLOfLr+BrI=";
};
nativeBuildInputs = [
+18 -5
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "bootc";
version = "1.1.2";
version = "1.4.0";
useFetchCargoVendor = true;
cargoHash = "sha256-/Sb2XtVguj5zpj/OTl90xFHFSaBeLgb8xIlNm4UrnRI=";
cargoHash = "sha256-7Fn68bcm8ZyR5eALCMIdcXcZ595EnWFHKdnqI5vMso4=";
doInstallCheck = true;
src = fetchFromGitHub {
owner = "containers";
owner = "bootc-dev";
repo = "bootc";
rev = "v${version}";
hash = "sha256-p1+j62MllmPcvWnijieSZmlgwYy76X17fv12Haetz78=";
hash = "sha256-FuU3rQtKpK+ScQ10GivisSJseY2GOFJ/y2HRKIiU0G8=";
};
nativeBuildInputs = [ pkg-config ];
@@ -35,13 +35,26 @@ rustPlatform.buildRustPackage rec {
ostree-full
];
checkFlags = [
# These all require a writable /var/tmp
"--skip=test_cli_fns"
"--skip=test_diff"
"--skip=test_tar_export_reproducible"
"--skip=test_tar_export_structure"
"--skip=test_tar_import_empty"
"--skip=test_tar_import_export"
"--skip=test_tar_import_signed"
"--skip=test_tar_write"
"--skip=test_tar_write_tar_layer"
];
nativeInstallCheckInputs = [
versionCheckHook
];
meta = {
description = "Boot and upgrade via container images";
homepage = "https://containers.github.io/bootc";
homepage = "https://bootc-dev.github.io/bootc";
license = lib.licenses.mit;
mainProgram = "bootc";
maintainers = with lib.maintainers; [ thesola10 ];
+1 -1
View File
@@ -24,8 +24,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-duxpym1DlJM4q5j0wmrubYiAHQ3cDEFfeD9Gyic6mbI=";
fetcherVersion = 1;
hash = "sha256-duxpym1DlJM4q5j0wmrubYiAHQ3cDEFfeD9Gyic6mbI=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,13 +6,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "byedpi";
version = "0.17.1";
version = "0.17.2";
src = fetchFromGitHub {
owner = "hufrea";
repo = "byedpi";
tag = "v${finalAttrs.version}";
hash = "sha256-an0UmsAZw5DJMuM4WpAWBVVN0ZVBpXhn0cbZ0ZbfBjo=";
hash = "sha256-XeUcf8w6b0vZQwttopRnmg5320oF/Z+gHWcWMQ6kAkc=";
};
installPhase = ''
+3 -3
View File
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "candy-icons";
version = "0-unstable-2025-06-23";
version = "0-unstable-2025-07-10";
src = fetchFromGitHub {
owner = "EliverLara";
repo = "candy-icons";
rev = "29976b2036490599753766f869f83e9346d8cf8e";
hash = "sha256-UxuW9cRGmKS2t8ik2tMAQHU0Xj+W5WhWuBxnLkkPnoE=";
rev = "475c5b27d34e6bde3ed11e985a727bd7ec9f155a";
hash = "sha256-XU10gw0WYWnzyzbzJlg2oNCksLY/Tt1CJGo0Nu4FLnM=";
};
nativeBuildInputs = [ gtk3 ];
+1 -1
View File
@@ -34,8 +34,8 @@ stdenv.mkDerivation (finalAttrs: {
src
;
hash = "sha256-plANa/+9YEQ4ipgdQ7QzPyxgz6eDCBhO7qFlxK6Ab58=";
fetcherVersion = 1;
hash = "sha256-plANa/+9YEQ4ipgdQ7QzPyxgz6eDCBhO7qFlxK6Ab58=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -37,8 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-7NrDYd4H0cPQs8w4lWlB0BhqcYZVo6/9zf0ujPjBzsE=";
fetcherVersion = 1;
hash = "sha256-7NrDYd4H0cPQs8w4lWlB0BhqcYZVo6/9zf0ujPjBzsE=";
};
buildPhase = ''
+2 -2
View File
@@ -19,12 +19,12 @@ let
in
stdenv.mkDerivation rec {
pname = "circt";
version = "1.124.0";
version = "1.125.0";
src = fetchFromGitHub {
owner = "llvm";
repo = "circt";
rev = "firtool-${version}";
hash = "sha256-IoS7mhQLiaVlqyosqOOaoGKBkS5WuQHRJK9v+FonCxc=";
hash = "sha256-bpQvBUSYpmv6bmgXSCz9pfGgFxlGVFFDfaSkvk7481E=";
fetchSubmodules = true;
};
@@ -37,8 +37,8 @@ rustPlatform.buildRustPackage {
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = pnpm-hash;
fetcherVersion = 1;
hash = pnpm-hash;
};
env = {
+1 -1
View File
@@ -29,8 +29,8 @@ stdenv.mkDerivation (finalAttrs: {
src
patches
;
hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0=";
fetcherVersion = 1;
hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0=";
};
patches = [
-57
View File
@@ -1,57 +0,0 @@
From c0d7c99632ea2ee01066988708cbb41f335cbdc3 Mon Sep 17 00:00:00 2001
From: Brahmajit Das <listout@listout.xyz>
Date: Sat, 14 Jun 2025 00:18:38 +0530
Subject: [PATCH] src/lib/serialize.h: don't define double as float_t
libuv with commit 85b526f makes uv.h include math.h for the definitions
of NAN/INFINITY. That header also defines the ISO C standard float_t
type. Now that that definition is in scope, the cowsql definition in
src/lib/serialize.h conflicts with it.
Fixes: 451cff63b29366237a9502823299b05bbff8662b
Closes: https://github.com/cowsql/cowsql/issues/35
Signed-off-by: Brahmajit Das <listout@listout.xyz>
---
src/lib/serialize.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/lib/serialize.h b/src/lib/serialize.h
index 9fbd49c..a7f9147 100644
--- a/src/lib/serialize.h
+++ b/src/lib/serialize.h
@@ -37,7 +37,7 @@ static_assert(sizeof(double) == sizeof(uint64_t),
* Basic type aliases to used by macro-based processing.
*/
typedef const char *text_t;
-typedef double float_t;
+typedef double cowsql_float;
typedef uv_buf_t blob_t;
/**
@@ -143,7 +143,7 @@ COWSQL_INLINE size_t int64__sizeof(const int64_t *value)
return sizeof(int64_t);
}
-COWSQL_INLINE size_t float__sizeof(const float_t *value)
+COWSQL_INLINE size_t float__sizeof(const cowsql_float *value)
{
(void)value;
return sizeof(double);
@@ -190,7 +190,7 @@ COWSQL_INLINE void int64__encode(const int64_t *value, void **cursor)
*cursor += sizeof(int64_t);
}
-COWSQL_INLINE void float__encode(const float_t *value, void **cursor)
+COWSQL_INLINE void float__encode(const cowsql_float *value, void **cursor)
{
*(uint64_t *)(*cursor) = ByteFlipLe64(*(uint64_t *)value);
*cursor += sizeof(uint64_t);
@@ -273,7 +273,7 @@ COWSQL_INLINE int int64__decode(struct cursor *cursor, int64_t *value)
return 0;
}
-COWSQL_INLINE int float__decode(struct cursor *cursor, float_t *value)
+COWSQL_INLINE int float__decode(struct cursor *cursor, cowsql_float *value)
{
size_t n = sizeof(double);
if (n > cursor->cap) {
+2 -8
View File
@@ -13,21 +13,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cowsql";
version = "1.15.8";
version = "1.15.9";
src = fetchFromGitHub {
owner = "cowsql";
repo = "cowsql";
tag = "v${finalAttrs.version}";
hash = "sha256-rwTa9owtnkyI9OpUKLk6V7WbAkqlYucpGzPnHHvKW/A=";
hash = "sha256-7djVcozWklI/0KhDC20df+H3YQbodUZaXBnQT4Ug8oI=";
};
patches = [
# fix libuv changes. review removal in > 1.15.8
# https://github.com/cowsql/cowsql/pull/37
./37.patch
];
nativeBuildInputs = [
autoreconfHook
pkg-config
+3 -3
View File
@@ -24,13 +24,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cubeb";
version = "0-unstable-2025-06-16";
version = "0-unstable-2025-07-10";
src = fetchFromGitHub {
owner = "mozilla";
repo = "cubeb";
rev = "566c73da47668ca85817108b749a13ac9c3f5a9d";
hash = "sha256-qYDsRhVBHLOVpWwtRNUtnZRZZq9Rot1pOn+4let6v6I=";
rev = "fa021607121360af7c171d881dc5bc8af7bb56eb";
hash = "sha256-6PUHUPybe3g5nexunAHsHLThFdvpnv+avks+C0oYih0=";
};
outputs = [
+1 -1
View File
@@ -27,8 +27,8 @@ let
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-+yLpSbDzr1OV/bmUUg6drOvK1ok3cBd+RRV7Qrrlp+Q=";
fetcherVersion = 1;
hash = "sha256-+yLpSbDzr1OV/bmUUg6drOvK1ok3cBd+RRV7Qrrlp+Q=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "databricks-cli";
version = "0.258.0";
version = "0.259.0";
src = fetchFromGitHub {
owner = "databricks";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-8JVU0tn0KINBdEE0nS2VQ8v9TUn9h2euPGZELSCbcLA=";
hash = "sha256-UzfLtGwiyEnHRn54qAwcqMXag8k8GjpB5BGMYh/93O8=";
};
# Otherwise these tests fail asserting that the version is 0.0.0-dev
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "ddns-go";
version = "6.11.2";
version = "6.11.3";
src = fetchFromGitHub {
owner = "jeessy2";
repo = "ddns-go";
rev = "v${version}";
hash = "sha256-dzHNv7zfn1jU3F7nyQP/mP3icGCoeR3C7rerE3oYoTw=";
hash = "sha256-65j1hZqnpSRpDmkzjb8ciJoVGHbV2xuOwBLcsW65eOE=";
};
vendorHash = "sha256-oHiREhvqu14z5StjzD4PgtFasYQ0X435eMCRMiWUzg0=";
@@ -48,8 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-PBCmyNmlH88y5s7+8WHcei8SP3Q0lIAAnAQn9uaFxLc=";
fetcherVersion = 1;
hash = "sha256-PBCmyNmlH88y5s7+8WHcei8SP3Q0lIAAnAQn9uaFxLc=";
};
nativeBuildInputs =
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "dhcpcd";
version = "10.1.0";
version = "10.2.4";
src = fetchFromGitHub {
owner = "NetworkConfiguration";
repo = "dhcpcd";
rev = "v${version}";
sha256 = "sha256-Qtg9jOFMR/9oWJDmoNNcEAMxG6G1F187HF4MMBJIoTw=";
sha256 = "sha256-ysaKgF4Cu/S6yhSn/4glA0+Ey54KNp3/1Oh82yE0/PY=";
};
nativeBuildInputs = [ pkg-config ];
+1 -1
View File
@@ -59,8 +59,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-xBonUzA4+1zbViEsKap6CaG6ZRldW1LjNYIB+FmVRFs=";
fetcherVersion = 1;
hash = "sha256-xBonUzA4+1zbViEsKap6CaG6ZRldW1LjNYIB+FmVRFs=";
};
# CMake (webkit extension)
@@ -0,0 +1,14 @@
diff --git a/configure.ac b/configure.ac
index f4b270f..17e102f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,9 @@
AC_INIT(DVDAuthor,0.7.2,dvdauthor-users@lists.sourceforge.net)
+AC_CONFIG_MACRO_DIRS([m4])
+AM_GNU_GETTEXT_VERSION([0.25])
+AM_GNU_GETTEXT([external])
+
AC_CONFIG_HEADERS(src/config.h)
AC_CONFIG_AUX_DIR(autotools)
+1
View File
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
url = "https://github.com/ldo/dvdauthor/commit/45705ece5ec5d7d6b9ab3e7a68194796a398e855.patch?full_index=1";
hash = "sha256-tykCr2Axc1qhUvjlGyXQ6X+HwzuFTm5Va2gjGlOlSH0=";
})
./gettext-0.25.patch
];
buildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "ejsonkms";
version = "0.2.5";
version = "0.2.7";
src = fetchFromGitHub {
owner = "envato";
repo = "ejsonkms";
rev = "v${version}";
hash = "sha256-EcNvzkZmSASe+0UMixBe8qwZq1JN3zFvppdWu1LM46A=";
hash = "sha256-G2rUcAjFSXnkRaQiu3WK5WRwNeQ0vyxj1Ql+vaRUUeM=";
};
vendorHash = "sha256-LS+iCTpE7+vXa25CTudNHLPRYSod4ozuErnoYWB9LNU=";
vendorHash = "sha256-ulocGcRnkWBLnkoimkxrppO2i9lowFChlMYl0+kVXCo=";
ldflags = [
"-X main.version=v${version}"
@@ -20,8 +20,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-hh5PEtmSHPs6QBgwWHS0laGU21e82JckIP3mB/P9/vE=";
fetcherVersion = 1;
hash = "sha256-hh5PEtmSHPs6QBgwWHS0laGU21e82JckIP3mB/P9/vE=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -30,8 +30,8 @@ rustPlatform.buildRustPackage rec {
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-hvWXSegUWJvwCU5NLb2vqnl+FIWpCLxw96s9NUIgJTI=";
fetcherVersion = 1;
hash = "sha256-hvWXSegUWJvwCU5NLb2vqnl+FIWpCLxw96s9NUIgJTI=";
};
cargoRoot = "src-tauri";
+3 -3
View File
@@ -12,7 +12,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ente-web";
version = "1.1.53";
version = "1.1.57";
src = fetchFromGitHub {
owner = "ente-io";
@@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: {
sparseCheckout = [ "web" ];
tag = "photos-v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-LYFkqB44pS7WLa4HEnYrnRanh04P82ydsqiZYHNAshc=";
hash = "sha256-SCkxGm/w0kES7wDuLBsUTgwrFYNLvLD51NyioAVTLrg=";
};
sourceRoot = "${finalAttrs.src.name}/web";
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/web/yarn.lock";
hash = "sha256-8uqKlqBnYTft3P7r1rQaEqn7ixj55yWnSLKTNi/0MZA=";
hash = "sha256-FnLMXOpIVNOhaM7VjNEDlwpew9T/5Ch5eFed9tLpDsI=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -39,8 +39,8 @@ stdenv.mkDerivation (finalAttrs: {
src
patches
;
hash = "sha256-laTyxRh54x3iopGVgoFtcgaV7R6IKux1O/+tzGEy0Fg=";
fetcherVersion = 1;
hash = "sha256-laTyxRh54x3iopGVgoFtcgaV7R6IKux1O/+tzGEy0Fg=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -25,8 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-fjfzBy1Z7AUKA53yjjCQ6yasHc5QMaOBtXtXA5fNK5s=";
fetcherVersion = 1;
hash = "sha256-fjfzBy1Z7AUKA53yjjCQ6yasHc5QMaOBtXtXA5fNK5s=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -19,7 +19,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "erofs-utils";
version = "1.8.9";
version = "1.8.10";
outputs = [
"out"
"man"
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-${finalAttrs.version}.tar.gz";
hash = "sha256-FFpvf+SUGBTTAJnDVoRI03yBnM0DD8W/vKqyETTmF24=";
hash = "sha256-BetO3r4R3szm7LNOmNL4DIzSg8Lyln2Lp+/VhBhXBRQ=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-n7LolizpKng7zzccytYoCwJ7uGQbMagsgYPDuq0mdxU=";
fetcherVersion = 1;
hash = "sha256-n7LolizpKng7zzccytYoCwJ7uGQbMagsgYPDuq0mdxU=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.231";
version = "1.4.247";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
tag = "v${version}";
hash = "sha256-V/ryS0EB8izLsU0ggmAkdq3oFnR2h16ZF1JTJT/GMwY=";
hash = "sha256-s1FlQIbHSCWUR9f3qWfYHOLYmG8GwJb3SAu6d9DAH1Q=";
};
vendorHash = "sha256-g2nMyrmDkb14siqiAMcis1bRijTsJ2KDtaK3FHCofx0=";
vendorHash = "sha256-/3+4oeKl+GQPmYt3yBt77ATm55pALa+62mC6lktSTiw=";
# Fabric introduced plugin tests that fail in the nix build sandbox.
doCheck = false;
+1 -1
View File
@@ -38,8 +38,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI=";
fetcherVersion = 1;
hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -37,8 +37,8 @@ let
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
sourceRoot = "${src.name}/frontend";
hash = "sha256-vLOtVeGFeHXgQglvKsih4lj1uIs6wipwfo374viIq4I=";
fetcherVersion = 1;
hash = "sha256-vLOtVeGFeHXgQglvKsih4lj1uIs6wipwfo374viIq4I=";
};
installPhase = ''
@@ -0,0 +1,14 @@
--- a/configure.ac
+++ b/configure.ac
@@ -152,8 +152,10 @@
AC_SUBST([GETTEXT_PACKAGE], '[PKG_NAME]')
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"],)
+AM_GNU_GETTEXT_VERSION([0.22.5])
+AM_GNU_GETTEXT([external])
+
IT_PROG_INTLTOOL([0.35.0], [no-xml])
-AM_PO_SUBDIRS
AC_CONFIG_COMMANDS([xsl-cleanup],,[rm -f doc/xml/transform-*.xsl])
+2
View File
@@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
./add-config-path-env-var.patch
./respect-xml-catalog-files-var.patch
./specify-localedir.patch
./gettext-0.25.patch
];
postPatch =
@@ -40,8 +40,8 @@ let
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version;
src = "${src}/rust/gui-client";
hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4=";
fetcherVersion = 1;
hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4=";
};
pnpmRoot = "rust/gui-client";
+1 -1
View File
@@ -34,8 +34,8 @@ beamPackages.mixRelease rec {
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version;
src = "${src}/apps/web/assets";
hash = "sha256-ejyBppFtKeyVhAWmssglbpLleOnbw9d4B+iM5Vtx47A=";
fetcherVersion = 1;
hash = "sha256-ejyBppFtKeyVhAWmssglbpLleOnbw9d4B+iM5Vtx47A=";
};
pnpmRoot = "apps/web/assets";
+1 -1
View File
@@ -22,8 +22,8 @@ buildNpmPackage rec {
npmDeps = pnpmDeps;
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-E2VxRcOMLvvCQb9gCAGcBTsly571zh/HWM6Q1Zd2eVw=";
fetcherVersion = 1;
hash = "sha256-E2VxRcOMLvvCQb9gCAGcBTsly571zh/HWM6Q1Zd2eVw=";
};
passthru = {
@@ -7,18 +7,18 @@
}:
rustPlatform.buildRustPackage rec {
pname = "flutter_rust_bridge_codegen";
version = "2.11.0";
version = "2.11.1";
src = fetchFromGitHub {
owner = "fzyzcjy";
repo = "flutter_rust_bridge";
rev = "v${version}";
hash = "sha256-vtdIbrVm9r8PiTYvhz4Ikj4e22jxqgEraH+YHlRS4O4=";
hash = "sha256-Us+LwT6tjBcTl2xclVsiLauSlIO8w+PiokpiDB+h1fI=";
fetchSubmodules = true;
};
useFetchCargoVendor = true;
cargoHash = "sha256-TwnibHjMDZ3aj1EDNHd/AO7nNtSnY335P3vU4iyp4SY=";
cargoHash = "sha256-pxEwcLiRB95UBfXb+JgS8duEXiZUApH/C8Exus5TkfU=";
cargoBuildFlags = "--package flutter_rust_bridge_codegen";
cargoTestFlags = "--package flutter_rust_bridge_codegen";
+1 -1
View File
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-xNGLYzEz1G5sZSqmji+ItJ9D1vvZcwkkygnDeuypcIM=";
fetcherVersion = 1;
hash = "sha256-xNGLYzEz1G5sZSqmji+ItJ9D1vvZcwkkygnDeuypcIM=";
};
env = {
@@ -0,0 +1,13 @@
diff --git i/configure.ac w/configure.ac
index bb07bba1..c4e15d53 100644
--- i/configure.ac
+++ w/configure.ac
@@ -20,6 +20,8 @@ AM_INIT_AUTOMAKE([dist-bzip2 parallel-tests subdir-objects foreign])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
AC_CONFIG_HEADERS(include/config.h)
AC_CONFIG_MACRO_DIR([m4])
+AM_GNU_GETTEXT_VERSION([0.25])
+AM_GNU_GETTEXT([external])
dnl configuration directory will be /usr/local/etc
AC_PREFIX_DEFAULT(/usr/local)
+4
View File
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
hash = "sha256-XLZsRqYKg7iihV5GYUi2+ieWLH/R3LP25dCrF+xf9t0=";
};
patches = [
./gettext-0.25.patch
];
buildInputs = [
openssl
] ++ lib.optional odbcSupport unixODBC;
+2 -2
View File
@@ -12,14 +12,14 @@
}:
let
version = "0.15.1";
version = "0.15.2";
src = fetchFromGitHub {
name = "frigate-${version}-source";
owner = "blakeblackshear";
repo = "frigate";
tag = "v${version}";
hash = "sha256-rnsc2VXaypIPVtYQHTGe9lg7PuAyjfjz4aeATmFzp5s=";
hash = "sha256-YJFtMVCTtp8h9a9RmkcoZSQ+nIKb5o/4JVynVslkx78=";
};
frigate-web = callPackage ./web.nix {
+1 -1
View File
@@ -118,8 +118,8 @@ python.pkgs.buildPythonApplication rec {
pnpmDeps = pnpm.fetchDeps {
inherit pname version src;
hash = "sha256-g7YX2fVXGmb3Qq9NNCb294bk4/0khcIZVSskYbE8Mdw=";
fetcherVersion = 1;
hash = "sha256-g7YX2fVXGmb3Qq9NNCb294bk4/0khcIZVSskYbE8Mdw=";
};
postBuild = ''
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "g-ls";
version = "0.30.0";
version = "0.31.0";
src = fetchFromGitHub {
owner = "Equationzhao";
repo = "g";
tag = "v${version}";
hash = "sha256-OaYWorybwUxG452b0vEKwryxmRaNTQ5xDWe9GmEWuGE=";
hash = "sha256-cHB9oW4vF00hvhZ7KNY5TUjIjLjEoiJb/psMSq+kSHU=";
};
vendorHash = "sha256-E/4iB1apLCOEtijCZymObz0Zjlf0+dQC37ALSbl1tr0=";
vendorHash = "sha256-5ksa0AJ7JbQPzBypDDMUvnXtIeXNEm9zKL5JetHWnrs=";
subPackages = [ "." ];
+2 -2
View File
@@ -25,13 +25,13 @@ let
in
stdenvNoCC.mkDerivation rec {
pname = "gh-f";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "gennaro-tedesco";
repo = "gh-f";
rev = "v${version}";
hash = "sha256-62FVFW2KLdH0uonIf3OVBFMGLcCteMjydaLAjWtxwUo=";
hash = "sha256-CW6iAI5IomJoMuPBFq/3owhZJbcruKtOqoxzsh+FNVw=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -64,8 +64,8 @@ rustPlatform.buildRustPackage rec {
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-5NtfstUuIYyntt09Mu9GAFAOImfO6VMmJ7g15kvGaLE=";
fetcherVersion = 1;
hash = "sha256-5NtfstUuIYyntt09Mu9GAFAOImfO6VMmJ7g15kvGaLE=";
};
nativeBuildInputs = [
@@ -1,42 +1,42 @@
{
lib,
fetchFromGitea,
buildGo123Module,
buildGoModule,
testers,
gitea-actions-runner,
}:
buildGo123Module rec {
buildGoModule (finalAttrs: {
pname = "gitea-actions-runner";
version = "0.2.11";
version = "0.2.12";
src = fetchFromGitea {
domain = "gitea.com";
owner = "gitea";
repo = "act_runner";
rev = "v${version}";
hash = "sha256-PmDa8XIe1uZ4SSrs9zh5HBmFaOuj+uuLm7jJ4O5V1dI=";
rev = "v${finalAttrs.version}";
hash = "sha256-z/wEs110Y2IZ2Jm6bayxlD2sjyl2V/v+gP6l9pwGi5o=";
};
vendorHash = "sha256-lYJFySGqkhT89vHDp1FcTiiC7DG4ziQ1DaBHLh/kXQc=";
vendorHash = "sha256-HuiL6OLShSeGtHb4dOeOFOpOgl55s3x18uYgM4X8G7M=";
ldflags = [
"-s"
"-w"
"-X gitea.com/gitea/act_runner/internal/pkg/ver.version=v${version}"
"-X gitea.com/gitea/act_runner/internal/pkg/ver.version=v${finalAttrs.version}"
];
passthru.tests.version = testers.testVersion {
package = gitea-actions-runner;
version = "v${version}";
version = "v${finalAttrs.version}";
};
meta = {
mainProgram = "act_runner";
maintainers = with lib.maintainers; [ techknowlogick ];
license = lib.licenses.mit;
changelog = "https://gitea.com/gitea/act_runner/releases/tag/v${version}";
changelog = "https://gitea.com/gitea/act_runner/releases/tag/v${finalAttrs.version}";
homepage = "https://gitea.com/gitea/act_runner";
description = "Runner for Gitea based on act";
};
}
})
+1 -1
View File
@@ -33,8 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-eIvqZ9a+foYH+jXuqGz1m/4C+0Xq8mTvm7ZajKeOw58=";
fetcherVersion = 1;
hash = "sha256-eIvqZ9a+foYH+jXuqGz1m/4C+0Xq8mTvm7ZajKeOw58=";
};
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "go-dnscollector";
version = "1.8.0";
version = "1.9.0";
src = fetchFromGitHub {
owner = "dmachard";
repo = "go-dnscollector";
rev = "v${version}";
sha256 = "sha256-q12hMnSqA/KCkmiqsmBpvDmyHtuEWhMBTKwOOyw3Wfs=";
sha256 = "sha256-ebl/edMN45oLV1pN6mCaOSgxSSyAugsBP2sQWbIiPTI=";
};
vendorHash = "sha256-TtlOwmNyO2/eQCajPBu6Pgdbuk4gacpgtcnr1vZgZdg=";
vendorHash = "sha256-Y0LOtyRJWOFAQwfg8roisSer0oCxPiaYICE1FY/SEF8=";
subPackages = [ "." ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "goctl";
version = "1.8.4";
version = "1.8.5";
src = fetchFromGitHub {
owner = "zeromicro";
repo = "go-zero";
tag = "v${version}";
hash = "sha256-N0U/8YbqhyD5kb14lq8JKWwfYHUZ57Z/KZyIf6kKl0U=";
hash = "sha256-12nlrwzzM5wPyiC3vJfs7sJ7kPiRy1H0gTeWB+9bqKI=";
};
vendorHash = "sha256-D56zTwn4y03eaP2yP8Q2F6ixGMaQJwKEqonHNJGp2Ec=";
vendorHash = "sha256-ReLXN4SUNQ7X0yHy8FFwD8lRRm05q2FdEdohXpfuZIY=";
modRoot = "tools/goctl";
subPackages = [ "." ];
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "gollama";
version = "v1.34.0";
version = "v1.34.1";
src = fetchFromGitHub {
owner = "sammcj";
repo = "gollama";
tag = "v${version}";
hash = "sha256-gWEm5aUVq2yfxuZ6GxITiAAsn5gj1HR9I7seyRX8DoA=";
hash = "sha256-Zysy8UTpUzIb4ekg9tAg5Wj7LRIIw8axENYqK8z2TdY=";
};
vendorHash = "sha256-7e1wM2FDaQGAIhb0gERy/RgJupra1B52SgTV0EHD570=";
+1 -1
View File
@@ -42,8 +42,8 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm'.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-8dSyU9arSvISc2kDWbg/CP6L4sZjZi/Zv7TZN4ONOjQ=";
fetcherVersion = 1;
hash = "sha256-8dSyU9arSvISc2kDWbg/CP6L4sZjZi/Zv7TZN4ONOjQ=";
};
env = {
+5 -5
View File
@@ -171,11 +171,11 @@ let
linux = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "138.0.7204.92";
version = "138.0.7204.100";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-9HaUIvJEw6PqinEnpam/Dh5+6XPJ2ou+j8Jfhc7nd/E=";
hash = "sha256-H22aDTMvbUsbBWasGjCP1dUKmYzD9/6TIzfBpahAnA8=";
};
# With strictDeps on, some shebangs were not being patched correctly
@@ -276,11 +276,11 @@ let
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "138.0.7204.93";
version = "138.0.7204.101";
src = fetchurl {
url = "http://dl.google.com/release2/chrome/k3cs4pgesvh4zq3jml7x52esia_138.0.7204.93/GoogleChrome-138.0.7204.93.dmg";
hash = "sha256-IEcwjrtNMMSjwNCrINjXRbnSI0Uf2JKtA+KwvQc5Fhc=";
url = "http://dl.google.com/release2/chrome/h7v73czgelyzwk2xfcs2gkpkwm_138.0.7204.101/GoogleChrome-138.0.7204.101.dmg";
hash = "sha256-gG20H5QsVmnfRi+Zo+OiLTLlPP2cLp6W+JaJoRE0QtI=";
};
dontPatch = true;
+43
View File
@@ -0,0 +1,43 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "greaseweazle";
version = "1.22";
pyproject = true;
src = fetchFromGitHub {
owner = "keirf";
repo = "greaseweazle";
rev = "v${version}";
hash = "sha256-Ki4OvtcFn5DH87OCWY7xN9fRhGxlzS9QIuQCJxPWJco=";
};
build-system = with python3.pkgs; [
setuptools
setuptools-scm
wheel
];
dependencies = with python3.pkgs; [
crcmod
bitarray
pyserial
requests
];
pythonImportsCheck = [
"greaseweazle"
];
meta = {
description = "Tools for accessing a floppy drive at the raw flux level";
homepage = "https://github.com/keirf/greaseweazle";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ matthewcroughan ];
mainProgram = "greaseweazle";
};
}

Some files were not shown because too many files have changed in this diff Show More