Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
Martin Weinelt
2025-05-31 13:30:35 +02:00
54 changed files with 1004 additions and 819 deletions
+15 -35
View File
@@ -4,8 +4,8 @@ on:
pull_request:
paths:
- .github/workflows/eval.yml
- .github/workflows/reviews.yml # needs eval results from the same event type
pull_request_target:
types: [opened, ready_for_review, synchronize, reopened]
push:
# Keep this synced with ci/request-reviews/dev-branches.txt
branches:
@@ -153,12 +153,13 @@ jobs:
name: diff-${{ matrix.system }}
path: diff/*
tag:
name: Tag
compare:
name: Comparison
runs-on: ubuntu-24.04-arm
needs: [ prepare, outpaths ]
if: needs.prepare.outputs.targetSha
permissions:
issues: write # needed to create *new* labels
pull-requests: write
statuses: write
steps:
@@ -209,11 +210,8 @@ jobs:
name: comparison
path: comparison/*
- name: Build the requestReviews derivation
run: nix-build trusted/ci -A requestReviews
- name: Labelling pull request
if: ${{ github.event_name == 'pull_request_target' && github.repository_owner == 'NixOS' }}
if: ${{ github.event_name == 'pull_request_target' }}
env:
GH_TOKEN: ${{ github.token }}
REPOSITORY: ${{ github.repository }}
@@ -247,7 +245,7 @@ jobs:
done < <(comm -13 before after)
- name: Add eval summary to commit statuses
if: ${{ github.event_name == 'pull_request_target' && github.repository_owner == 'NixOS' }}
if: ${{ github.event_name == 'pull_request_target' }}
env:
GH_TOKEN: ${{ github.token }}
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
@@ -266,30 +264,12 @@ jobs:
"/repos/$GITHUB_REPOSITORY/statuses/$PR_HEAD_SHA" \
-f "context=Eval / Summary" -f "state=success" -f "description=$description" -f "target_url=$target_url"
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
# Can't use the token received from permissions above, because it can't get enough permissions
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: vars.OWNER_APP_ID
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
permission-administration: read
permission-members: read
permission-pull-requests: write
- name: Requesting maintainer reviews
if: ${{ steps.app-token.outputs.token && github.repository_owner == 'NixOS' }}
env:
GH_TOKEN: ${{ github.token }}
REPOSITORY: ${{ github.repository }}
NUMBER: ${{ github.event.number }}
AUTHOR: ${{ github.event.pull_request.user.login }}
# Don't request reviewers on draft PRs
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
run: |
# maintainers.json contains GitHub IDs. Look up handles to request reviews from.
# There appears to be no API to request reviews based on GitHub IDs
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id" --jq .login; done \
| GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"
reviewers:
name: Reviewers
# No dependency on "compare", so that it can start at the same time.
# We only wait for the "comparison" artifact to be available, which makes the start-to-finish time
# for the eval workflow considerably faster.
needs: [ prepare, outpaths ]
if: needs.prepare.outputs.targetSha
uses: ./.github/workflows/reviewers.yml
secrets: inherit
+2 -1
View File
@@ -10,13 +10,14 @@ on:
permissions:
contents: read
issues: write # needed to create *new* labels
pull-requests: write
jobs:
labels:
name: label-pr
runs-on: ubuntu-24.04-arm
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
if: "!contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
if: |
+1 -3
View File
@@ -5,8 +5,6 @@ on:
paths:
- .github/workflows/manual-nixpkgs-v2.yml
pull_request_target:
branches:
- master
paths:
- 'doc/**'
- 'lib/**'
@@ -38,4 +36,4 @@ jobs:
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Building Nixpkgs manual
run: NIX_PATH=nixpkgs=$(pwd)/untrusted nix-build --option restrict-eval true untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests
run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests
+98
View File
@@ -0,0 +1,98 @@
# This workflow will request reviews from the maintainers of each package
# listed in the PR's most recent eval comparison artifact.
name: Reviewers
on:
pull_request:
paths:
- .github/workflows/reviewers.yml
pull_request_target:
types: [ready_for_review]
workflow_call:
permissions: {}
jobs:
request:
name: Request
runs-on: ubuntu-24.04-arm
steps:
- name: Check out the PR at the base commit
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: trusted
sparse-checkout: ci
- name: Install Nix
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
with:
extra_nix_config: sandbox = true
- name: Build the requestReviews derivation
run: nix-build trusted/ci -A requestReviews
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
# Can't use the token received from permissions above, because it can't get enough permissions
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: vars.OWNER_APP_ID
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
permission-administration: read
permission-members: read
permission-pull-requests: write
# In the regular case, this workflow is called via workflow_call from the eval workflow directly.
# In the more special case, when a PR is undrafted an eval run will have started already.
- name: Wait for comparison to be done
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const run_id = (await github.rest.actions.listWorkflowRuns({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'eval.yml',
event: context.eventName,
head_sha: context.payload.pull_request.head.sha
})).data.workflow_runs[0].id
// Waiting 120 * 5 sec = 10 min. max.
// The extreme case is an Eval run that just started when the PR is undrafted.
// Eval takes max 5-6 minutes, normally.
for (let i = 0; i < 120; i++) {
const result = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id,
name: 'comparison'
})
if (result.data.total_count > 0) return
await new Promise(resolve => setTimeout(resolve, 5000))
}
throw new Error("No comparison artifact found.")
- name: Download the comparison results
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
pattern: comparison
path: comparison
merge-multiple: true
- name: Requesting maintainer reviews
if: ${{ steps.app-token.outputs.token }}
env:
GH_TOKEN: ${{ github.token }}
REPOSITORY: ${{ github.repository }}
NUMBER: ${{ github.event.number }}
AUTHOR: ${{ github.event.pull_request.user.login }}
# Don't request reviewers on draft PRs
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
run: |
# maintainers.json contains GitHub IDs. Look up handles to request reviews from.
# There appears to be no API to request reviews based on GitHub IDs
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id" --jq .login; done \
| GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"
+2 -2
View File
@@ -82,8 +82,8 @@ in
# CI jobs
lib-tests = import ../lib/tests/release.nix { inherit pkgs; };
manual-nixos = (import ../nixos/release.nix { }).manual.${system} or null;
manual-nixpkgs = (import ../pkgs/top-level/release.nix { }).manual;
manual-nixpkgs-tests = (import ../pkgs/top-level/release.nix { }).manual.tests;
manual-nixpkgs = (import ../doc { });
manual-nixpkgs-tests = (import ../doc { }).tests;
nixpkgs-vet = pkgs.callPackage ./nixpkgs-vet.nix { };
parse = pkgs.lib.recurseIntoAttrs {
latest = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.latest; };
+2 -2
View File
@@ -1,4 +1,4 @@
{
"rev": "eaeed9530c76ce5f1d2d8232e08bec5e26f18ec1",
"sha256": "132nimgi1g88fbhddk4b8b1qk68jly494x2mnphyk3xa1d2wy9q7"
"rev": "3d1f29646e4b57ed468d60f9d286cde23a8d1707",
"sha256": "1wzvc9h9a6l9wyhzh892xb5x88kxmbzxb1k8s7fizyyw2q4nqw07"
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
pkgs ? (import ./.. { }),
pkgs ? (import ../ci { }).pkgs,
nixpkgs ? { },
}:
pkgs.nixpkgs-manual.override { inherit nixpkgs; }
pkgs.callPackage ./doc-support/package.nix { inherit nixpkgs; }
+1 -7
View File
@@ -1,7 +1 @@
let
pkgs = import ../. {
config = { };
overlays = [ ];
};
in
pkgs.nixpkgs-manual.shell
(import ./default.nix { }).shell
+16
View File
@@ -15720,6 +15720,16 @@
name = "John McParland";
keys = [ { fingerprint = "39D2 171D D733 C718 DD21 285E B326 E14B 05D8 7A4E"; } ];
};
MCSeekeri = {
email = "mcseekeri@outlook.com";
github = "mcseekeri";
githubId = 20928094;
name = "MCSeekeri";
keys = [
{ fingerprint = "5922 79AB D9D6 85EB 9D16 754C ECDC AD89 5A38 4A12"; }
{ fingerprint = "0762 A387 F160 76F1 116C BF13 3276 6666 6666 6666"; }
];
};
McSinyx = {
email = "cnx@loang.net";
github = "McSinyx";
@@ -21768,6 +21778,12 @@
githubId = 7309170;
name = "Ryota Kameoka";
};
ryota2357 = {
email = "contact@ryota2357.com";
github = "ryota2357";
githubId = 61523777;
name = "Ryota Otsuki";
};
rypervenche = {
email = "git@ryper.org";
github = "rypervenche";
+1 -1
View File
@@ -107,7 +107,7 @@ Now that this is out of the way. To add a package to Nixpkgs:
- XML::Simple, a Perl module: [`pkgs/top-level/perl-packages.nix`](top-level/perl-packages.nix) (search for the `XMLSimple` attribute). Most Perl modules are so simple to build that they are defined directly in `perl-packages.nix`; no need to make a separate file for them.
- Adobe Reader: [`pkgs/applications/misc/adobe-reader/default.nix`](applications/misc/adobe-reader/default.nix). Shows how binary-only packages can be supported. In particular the `postFixup` phase uses `patchelf` to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime.
- Discord Game SDK: [`pkgs/by-name/di/discord-gamesdk/package.nix`](./by-name/di/discord-gamesdk/package.nix). Shows how binary-only packages can be supported. In particular, the `autoPatchelfHook` is used to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime.
Some notes:
@@ -1,99 +0,0 @@
{
lib,
stdenv,
fetchurl,
libX11,
cups,
zlib,
libxml2,
pango,
atk,
gtk2,
glib,
gdk-pixbuf,
gdk-pixbuf-xlib,
}:
stdenv.mkDerivation rec {
pname = "adobe-reader";
version = "9.5.5";
src = fetchurl {
url = "http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/${version}/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2";
sha256 = "0h35misxrqkl5zlmmvray1bqf4ywczkm89n9qw7d9arqbg3aj3pf";
};
# !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
# We should probably remove those and use the regular Nixpkgs versions.
libPath = lib.makeLibraryPath [
stdenv.cc.cc
libX11
zlib
libxml2
cups
pango
atk
gtk2
glib
gdk-pixbuf
gdk-pixbuf-xlib
];
installPhase = ''
p=$out/libexec/adobe-reader
mkdir -p $out/libexec
tar xvf COMMON.TAR -C $out
tar xvf ILINXR.TAR -C $out
mv $out/Adobe/Reader9 $p
rmdir $out/Adobe
# Disable this plugin for now (it needs LDAP).
rm $p/Reader/intellinux/plug_ins/PPKLite.api
# Remove unneeded files
rm $p/bin/UNINSTALL
'';
postFixup = ''
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath \
$p/Reader/intellinux/bin/acroread
# The "xargs -r" is to shut up a warning when Mozilla can't be found.
substituteInPlace $p/bin/acroread \
--replace-fail /bin/pwd $(type -P pwd) \
--replace-fail /bin/ls $(type -P ls) \
--replace-fail xargs "xargs -r"
mkdir -p $out/bin
ln -s $p/bin/acroread $out/bin/acroread
mkdir -p $out/share/applications
mv $p/Resource/Support/AdobeReader.desktop $out/share/applications/
icon=$p/Resource/Icons/128x128/AdobeReader9.png
[ -e $icon ]
sed -i $out/share/applications/AdobeReader.desktop \
-e "s|Icon=.*|Icon=$icon|"
mkdir -p $out/share/mimelnk/application
mv $p/Resource/Support/vnd*.desktop $out/share/mimelnk/application
'';
dontStrip = true;
passthru.mozillaPlugin = "/libexec/adobe-reader/Browser/intellinux";
meta = {
description = "Adobe Reader, a viewer for PDF documents";
homepage = "http://www.adobe.com/products/reader";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
knownVulnerabilities = [
"Numerous unresolved vulnerabilities"
"See: https://www.cvedetails.com/product/497/Adobe-Acrobat-Reader.html?vendor_id=53"
];
platforms = [ "i686-linux" ];
maintainers = with lib.maintainers; [ onny ];
mainProgram = "acroread";
};
}
@@ -1,142 +0,0 @@
{
lib,
stdenvNoCC,
rustPlatform,
fetchFromGitHub,
buildGoModule,
makeWrapper,
nodejs,
pnpm,
esbuild,
perl,
pkg-config,
glib,
webkitgtk_4_0,
libayatana-appindicator,
cairo,
openssl,
}:
let
version = "4.99.16";
geph-meta = with lib; {
description = "Modular Internet censorship circumvention system designed specifically to deal with national filtering";
homepage = "https://geph.io";
platforms = platforms.linux;
maintainers = with maintainers; [ penalty1083 ];
};
in
{
cli = rustPlatform.buildRustPackage rec {
pname = "geph4-client";
inherit version;
src = fetchFromGitHub {
owner = "geph-official";
repo = pname;
rev = "v${version}";
hash = "sha256-6YWPsSRIZpvVCIGZ1z7srobDvVzLr0o2jBcB/7kbK7I=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-igIYTlI3hqvlOTgdwouA9YussP9h0pOHUUTCjA2LE5U=";
nativeBuildInputs = [ perl ];
meta = geph-meta // {
license = with lib.licenses; [ gpl3Only ];
};
};
gui = stdenvNoCC.mkDerivation (finalAttrs: {
pname = "geph-gui";
inherit version;
src = fetchFromGitHub {
owner = "geph-official";
repo = "gephgui-pkg";
rev = "9f0d5c689c2cae67a4750a68295676f449724a98";
hash = "sha256-/aHd1EDrFp1kXen5xRCCl8LVlMVH0pY8buILZri81II=";
fetchSubmodules = true;
};
gephgui-wry = rustPlatform.buildRustPackage {
pname = "gephgui-wry";
inherit (finalAttrs) version src;
sourceRoot = "${finalAttrs.src.name}/gephgui-wry";
useFetchCargoVendor = true;
cargoHash = "sha256-pCj4SulUVEC4QTPBrPQBn5xJ+sHPs6KfjsdVRcsRapY=";
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
sourceRoot = "${finalAttrs.src.name}/gephgui-wry/gephgui";
hash = "sha256-0MGlsLEgugQ1wEz07ROIwkanTa8PSKwIaxNahyS1014=";
};
nativeBuildInputs = [
pkg-config
pnpm.configHook
makeWrapper
nodejs
];
buildInputs = [
glib
webkitgtk_4_0
libayatana-appindicator
cairo
openssl
];
ESBUILD_BINARY_PATH = "${lib.getExe (
esbuild.override {
buildGoModule =
args:
buildGoModule (
args
// rec {
version = "0.15.10";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-DebmLtgPrla+1UcvOHMnWmxa/ZqrugeRRKXIiJ9LYDk=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}
);
}
)}";
pnpmRoot = "gephgui";
preBuild = ''
pushd gephgui
pnpm build
popd
'';
};
dontBuild = true;
installPhase = ''
install -Dt $out/bin ${finalAttrs.gephgui-wry}/bin/gephgui-wry
install -d $out/share/icons/hicolor
for i in '16' '32' '64' '128' '256'
do
name=''${i}x''${i}
dir=$out/share/icons/hicolor
mkdir -p $dir
mv flatpak/icons/$name $dir
done
install -Dt $out/share/applications flatpak/icons/io.geph.GephGui.desktop
sed -i -e '/StartupWMClass/s/=.*/=gephgui-wry/' $out/share/applications/io.geph.GephGui.desktop
'';
meta = geph-meta // {
license = with lib.licenses; [ unfree ];
};
});
}
-72
View File
@@ -1,72 +0,0 @@
{
lib,
stdenv,
fetchzip,
lazarus,
fpc,
pango,
cairo,
glib,
atk,
gtk2,
libX11,
gdk-pixbuf,
}:
stdenv.mkDerivation rec {
pname = "avr-sim";
version = "2.8";
# Unfortunately old releases get removed:
# http://www.avr-asm-tutorial.net/avr_sim/avr_sim-download.html
# Therefore, fallback to an archive.org snapshot
src = fetchzip {
urls = [
"http://www.avr-asm-tutorial.net/avr_sim/28/avr_sim_28_lin_src.zip"
"https://web.archive.org/web/20231129125754/http://www.avr-asm-tutorial.net/avr_sim/28/avr_sim_28_lin_src.zip"
];
hash = "sha256-7MgUzMs+l+3RVUbORAWyU1OUpgrKIeWhS+ObgRJtOHc=";
};
nativeBuildInputs = [
lazarus
fpc
];
buildInputs = [
pango
cairo
glib
atk
gtk2
libX11
gdk-pixbuf
];
NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
buildPhase = ''
runHook preBuild
lazbuild --lazarusdir=${lazarus}/share/lazarus --build-mode=Release avr_sim.lpi
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp avr_sim $out/bin
runHook postInstall
'';
meta = with lib; {
description = "AVR assembler simulator for the stepwise execution of assembler source code - with many extras";
homepage = "http://www.avr-asm-tutorial.net/avr_sim/index_en.html";
license = licenses.unfree;
platforms = platforms.unix;
maintainers = with maintainers; [ ameer ];
};
}
+2 -2
View File
@@ -24,14 +24,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "biblioteca";
version = "1.5";
version = "1.6";
src = fetchFromGitHub {
owner = "workbenchdev";
repo = "Biblioteca";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-zrrI3u4ukGN6eb/eK/aZG4gi/xtXciyRS+JX9Js9KEw=";
hash = "sha256-9AL8obvXB/bgqhTw8VE30OytNFQmxvJ6TYGN8ir+NfI=";
};
patches = [
+2 -2
View File
@@ -25,14 +25,14 @@ with py.pkgs;
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.435";
version = "3.2.436";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = version;
hash = "sha256-zV430pGFkfyf0oznXe69lTsMkGUrrA5TTyGobE4AK9I=";
hash = "sha256-QI7gJjk7TtafSqGJ8vX+bTgajeRjBUHQnNJxhDiVUDI=";
};
pythonRelaxDeps = [
+2 -2
View File
@@ -7,13 +7,13 @@
}:
stdenv.mkDerivation rec {
pname = "directx-headers";
version = "1.615.0";
version = "1.616.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "DirectX-Headers";
rev = "v${version}";
hash = "sha256-1s/lrvUUOBGVAtfyAG2b/9raQVj2Hcjw9/RtqBO7ENA=";
hash = "sha256-bPFeaNCxECKnecvt9jDIvxiQE6VaT7qD8Tyqm8L3u3M=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "dotenvx";
version = "1.41.0";
version = "1.44.1";
src = fetchFromGitHub {
owner = "dotenvx";
repo = "dotenvx";
tag = "v${version}";
hash = "sha256-qYigFqJF/+37bd8LPg8u9EkI/50ULxTs3LwjrcAYntk=";
hash = "sha256-uzEZfzGAwA/boDft/Z3Toq3gUG0n3nqREtLjgmIO1Kw=";
};
npmDepsHash = "sha256-k+M3AdEHSrpl+rKTbxmTkcHVgwm5lHt3xjj2fQ4UFiI=";
npmDepsHash = "sha256-kWOj/78yurII4O9XYzcvC2JflCWRbbqIOU4WkdbX5AM=";
dontNpmBuild = true;
+14 -12
View File
@@ -5,21 +5,23 @@
installShellFiles,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "fx";
version = "36.0.0";
version = "36.0.3";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "fx";
rev = version;
hash = "sha256-wUiyMczToGqfHZ/FMUhCO4ud6h/bNHhVt4eWoZJckbU=";
tag = finalAttrs.version;
hash = "sha256-SUv6kHqIft7M7XyypA7jBYcEuYHLYYVtTnwgL1vhT3w=";
};
nativeBuildInputs = [ installShellFiles ];
vendorHash = "sha256-8KiCj2khO0zxsZDG1YD0EjsoZSY4q+IXC+NLeeXgVj4=";
ldflags = [ "-s" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd fx \
--bash <($out/bin/fx --comp bash) \
@@ -27,12 +29,12 @@ buildGoModule rec {
--zsh <($out/bin/fx --comp zsh)
'';
meta = with lib; {
meta = {
changelog = "https://github.com/antonmedv/fx/releases/tag/${finalAttrs.src.tag}";
description = "Terminal JSON viewer";
mainProgram = "fx";
homepage = "https://github.com/antonmedv/fx";
changelog = "https://github.com/antonmedv/fx/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
license = lib.licenses.mit;
mainProgram = "fx";
maintainers = with lib.maintainers; [ figsoda ];
};
}
})
+115
View File
@@ -0,0 +1,115 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
libxkbcommon,
openssl,
rust-jemalloc-sys-unprefixed,
sqlite,
vulkan-loader,
wayland,
iproute2,
iptables,
libglvnd,
copyDesktopItems,
makeDesktopItem,
}:
let
binPath = lib.makeBinPath [
iproute2
iptables
];
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "geph5";
version = "0.2.61";
src = fetchFromGitHub {
owner = "geph-official";
repo = "geph5";
rev = "geph5-client-v${finalAttrs.version}";
hash = "sha256-qy1E5x5Fn+xwS5st6HkMrJu9nksXQQIyJf97FvNOKO4=";
};
cargoHash = "sha256-r97DsSsqp/KtgqtYQe92nz2qaOBcJF6w9ckfxpk8Cxg=";
patches = [ ./test-fix.patch ];
postPatch = ''
substituteInPlace binaries/geph5-client/src/vpn/*.sh \
--replace-fail 'PATH=' 'PATH=${binPath}:'
'';
nativeBuildInputs = [
pkg-config
copyDesktopItems
];
buildInputs = [
openssl
rust-jemalloc-sys-unprefixed
sqlite
];
env = {
OPENSSL_NO_VENDOR = true;
LIBSQLITE3_SYS_USE_PKG_CONFIG = "1";
};
buildFeatures = [
"aws_lambda"
"windivert"
];
checkFlags = [
# Wrong test
"--skip=traffcount::tests::test_traffic_cleanup"
"--skip=traffcount::tests::test_traffic_count_basic"
# Requires network
"--skip=dns::tests::resolve_google"
# Never finish
"--skip=tests::test_blind_sign"
"--skip=tests::test_generate_secret_key"
];
desktopItems = [
(makeDesktopItem {
name = "Geph5";
desktopName = "Geph5";
icon = "geph5";
exec = "geph5-client-gui";
categories = [ "Network" ];
comment = "Modular Internet censorship circumvention system designed specifically to deal with national filtering";
})
];
postInstall = ''
install -m 444 -D binaries/geph5-client-gui/icon.png $out/share/icons/hicolor/512x512/apps/geph5.png
'';
postFixup = ''
# Add required but not explicitly requested libraries
patchelf --add-rpath '${
lib.makeLibraryPath [
wayland
libxkbcommon
vulkan-loader
libglvnd
]
}' "$out/bin/geph5-client-gui"
'';
meta = {
description = "Modular Internet censorship circumvention system designed specifically to deal with national filtering";
homepage = "https://github.com/geph-official/geph5";
changelog = "https://github.com/geph-official/geph5/releases/tag/geph5-client-v${finalAttrs.version}";
mainProgram = "geph5-client";
platforms = lib.platforms.unix;
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
penalty1083
MCSeekeri
];
};
})
+27
View File
@@ -0,0 +1,27 @@
diff --git a/binaries/geph5-client/src/traffcount.rs b/binaries/geph5-client/src/traffcount.rs
index 5c91a27..61c0b3b 100644
--- a/binaries/geph5-client/src/traffcount.rs
+++ b/binaries/geph5-client/src/traffcount.rs
@@ -28,14 +28,14 @@ impl TraffCount {
}
// /// Create a new traffic counter with custom history length
- // pub fn with_history(max_seconds: usize) -> Self {
- // let now = Instant::now();
- // Self {
- // bins: VecDeque::with_capacity(max_seconds),
- // window_start: now,
- // max_history_seconds: max_seconds,
- // }
- // }
+ pub fn with_history(max_seconds: usize) -> Self {
+ let now = Instant::now();
+ Self {
+ bins: VecDeque::with_capacity(max_seconds),
+ window_start: now,
+ max_history_seconds: max_seconds,
+ }
+ }
/// Increment the traffic count with the given number of bytes
pub fn incr(&mut self, bytes: f64) {
+3 -3
View File
@@ -30,7 +30,7 @@ update_linux() {
local new_hash
local new_sri_hash
read -ra version_info <<< "$(get_version_info "linux" "linux = stdenv.mkDerivation" "});")"
read -ra version_info <<< "$(get_version_info "linux" "linux = stdenvNoCC.mkDerivation" "});")"
version="${version_info[0]}"
current_version="${version_info[1]}"
@@ -43,8 +43,8 @@ update_linux() {
new_hash="$(nix-prefetch-url "$download_url" 2>/dev/null)"
new_sri_hash="$(nix hash to-sri --type sha256 "$new_hash")"
sed -i "/^ linux = stdenv.mkDerivation/,/^ });/s/version = \".*\"/version = \"$version\"/" "$DEFAULT_NIX"
sed -i "/^ linux = stdenv.mkDerivation/,/^ });/s|hash = \".*\"|hash = \"$new_sri_hash\"|" "$DEFAULT_NIX"
sed -i "/^ linux = stdenvNoCC.mkDerivation/,/^ });/s/version = \".*\"/version = \"$version\"/" "$DEFAULT_NIX"
sed -i "/^ linux = stdenvNoCC.mkDerivation/,/^ });/s|hash = \".*\"|hash = \"$new_sri_hash\"|" "$DEFAULT_NIX"
echo "[Nix] Linux google-chrome: $current_version -> $version with hash $new_hash"
}
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libcifpp";
version = "8.0.0";
version = "8.0.1";
src = fetchFromGitHub {
owner = "PDB-REDO";
repo = "libcifpp";
tag = "v${finalAttrs.version}";
hash = "sha256-t1ovrrKu+QSSdwgTp2Nag4SsAJeU9aRizJccd+u+dVI=";
hash = "sha256-cfyou+R0VrAfYM8ez5myZkDKO5VfB9WAQF+amy3oRzU=";
};
nativeBuildInputs = [ cmake ];
+2 -2
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libnick";
version = "2025.3.3";
version = "2025.5.3";
src = fetchFromGitHub {
owner = "NickvisionApps";
repo = "libnick";
tag = finalAttrs.version;
hash = "sha256-5GO39rtSvg96y6VE0Ej4x7j1zDatP6JSktIcyhSrb98=";
hash = "sha256-JibExEI5MisKZ9kEIOMzDg8A8LEM8U+ckGFfnZu+ghQ=";
};
nativeBuildInputs =
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.47.0";
version = "1.48.0";
src = fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
tag = finalAttrs.version;
hash = "sha256-/LJCLH94Egk7FvsarsMimIyehE3T9tgMz7SK6vf+BDg=";
hash = "sha256-KW47R5hOFESDiPt/dvVLFQqHqLxza/lUNLy2PYUPxIg=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -15,12 +15,12 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
name = "lug-helper";
version = "3.9";
version = "3.10";
src = fetchFromGitHub {
owner = "starcitizen-lug";
repo = "lug-helper";
tag = "v${finalAttrs.version}";
hash = "sha256-Fne0esV/1o+f4Fnn8oeUL+gc29d0ndGpYG21YQvZDvM=";
hash = "sha256-AEHFyKoxIdckir/S96hwR3h9PuzlB5EMWF7PPbeVPYg=";
};
buildInputs = [
+3 -3
View File
@@ -9,13 +9,13 @@
}:
let
pname = "open-webui";
version = "0.6.12";
version = "0.6.13";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
tag = "v${version}";
hash = "sha256-q8pb+XIBKzU8zWohBtKNQhYBwcQF51/uqgVrMxcKcUc=";
hash = "sha256-teBGAo9YyFSBVXMElpw2zON5oCa3O8k+pf9pSNSW5gc=";
};
frontend = buildNpmPackage rec {
@@ -32,7 +32,7 @@ let
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
};
npmDepsHash = "sha256-576Cd7I4CzOItSycQH8CwLAelLoNnQcJVZ338IhMb/k=";
npmDepsHash = "sha256-/olaKqd0ZBFKyfoyhuPsd1Gl7nC9pro2apiWLjPe07s=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
+29 -11
View File
@@ -7,6 +7,7 @@
itstool,
ninja,
yelp-tools,
desktop-file-utils,
pkg-config,
libnick,
boost,
@@ -18,6 +19,8 @@
libxmlxx5,
blueprint-compiler,
qt6,
qlementine,
qlementine-icons,
yt-dlp,
ffmpeg,
aria2,
@@ -31,13 +34,13 @@ assert lib.assertOneOf "uiPlatform" uiPlatform [
stdenv.mkDerivation (finalAttrs: {
pname = "parabolic";
version = "2025.1.4";
version = "2025.5.4";
src = fetchFromGitHub {
owner = "NickvisionApps";
repo = "Parabolic";
tag = finalAttrs.version;
hash = "sha256-B8/e5urhy5tAgHNd/PR3HlNQd0M0CxgC56nArFGlQ9c=";
hash = "sha256-2CFV9//8gFK1TYksdy9P4nLb7kj/8Q5dr5huoAuDNRs=";
};
# Patches desktop file/dbus service bypassing wrapped executable
@@ -59,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
itstool
yelp-tools
desktop-file-utils
]
++ lib.optionals (uiPlatform == "gnome") [
wrapGAppsHook4
@@ -76,6 +80,8 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals (uiPlatform == "qt") [
qt6.qtbase
qt6.qtsvg
qlementine
qlementine-icons
]
++ lib.optionals (uiPlatform == "gnome") [
glib
@@ -88,16 +94,28 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeFeature "UI_PLATFORM" uiPlatform)
];
dontWrapGApps = true;
dontWrapQtApps = true;
preFixup =
lib.optionalString (uiPlatform == "gnome") "gappsWrapperArgs"
+ lib.optionalString (uiPlatform == "qt") "qtWrapperArgs"
+ "+=(--prefix PATH : ${
lib.makeBinPath [
aria2
ffmpeg
yt-dlp
]
})";
lib.optionalString (uiPlatform == "gnome") ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
''
+ lib.optionalString (uiPlatform == "qt") ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
''
+ ''
makeWrapperArgs+=(--prefix PATH : ${
lib.makeBinPath [
aria2
ffmpeg
yt-dlp
]
})
wrapProgram $out/bin/org.nickvision.tubeconverter \
''${makeWrapperArgs[@]}
'';
passthru.updateScript = nix-update-script { };
+9 -1
View File
@@ -2,6 +2,7 @@
lib,
rustPlatform,
fetchFromGitHub,
rust-jemalloc-sys,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "postgres-lsp";
@@ -22,6 +23,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
rustPlatform.bindgenHook
];
buildInputs = [
rust-jemalloc-sys
];
env = {
SQLX_OFFLINE = 1;
@@ -43,7 +48,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Tools and language server for Postgres";
homepage = "https://pgtools.dev";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ figsoda ];
maintainers = with lib.maintainers; [
figsoda
myypo
];
mainProgram = "postgrestools";
};
})
@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qt6,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qlementine-icons";
version = "1.8.1";
src = fetchFromGitHub {
owner = "oclero";
repo = "qlementine-icons";
tag = "v${finalAttrs.version}";
hash = "sha256-b6krWtDCQjJRzzkFNYLt33iSSQHm1UZ3AedXrzRrDTs=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qt6.qtbase
qt6.qtsvg
];
dontWrapQtApps = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Vector icon set for modern desktop Qt5/Qt6 applications";
longDescription = ''
An icon set aimed to be used in conjunction with the Qlementine Qt library.
This icon set provides icons as requested by the Freedesktop
standard, and vastly expands it, in 16×16 pixels.
The icons are in SVG format, so can be scaled to any size without
loosing any quality. However, they've been designed to be used in
`16×16` pixels, to be pixel-perfect.
'';
homepage = "https://github.com/oclero/qlementine-icons";
changelog = "https://github.com/oclero/qlementine-icons/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ normalcea ];
platforms = lib.platforms.unix;
};
})
+54
View File
@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qt6,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qlementine";
version = "1.2.2";
src = fetchFromGitHub {
owner = "oclero";
repo = "qlementine";
tag = "v${finalAttrs.version}";
hash = "sha256-icImLN04Ux+pqWaBTNruCkZC+735vzMz8tzssyCncjI=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qt6.qtbase
qt6.qtsvg
];
dontWrapQtApps = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Modern QStyle for desktop Qt6 applications";
longDescription = ''
A QStyle for desktop Qt6 applications.
This library contains:
- A custom QStyle named QlementineStyle, that implements all the
necessary API to give a modern look and feel to your Qt
application. It's a drop-in replacement for the default QStyle.
- Lots of utilities to help you write beautiful QWidgets that fits
well with the style.
- A collection of new QWidgets that are missing in Qt's standard
collection, such as Switch.
'';
homepage = "https://oclero.github.io/qlementine/";
changelog = "https://github.com/oclero/qlementine/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ normalcea ];
platforms = lib.platforms.unix;
};
})
+3 -3
View File
@@ -12,7 +12,7 @@
rustPlatform.buildRustPackage rec {
pname = "skim";
version = "0.17.3";
version = "0.18.0";
outputs = [
"out"
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
owner = "skim-rs";
repo = "skim";
tag = "v${version}";
hash = "sha256-aq6qOlxFftiUyMqzbIgv/PnxqSNt6TsHCsy586LdZy0=";
hash = "sha256-79HHJeAP3pnM/KAdGsGw31MRXl3Qz2ttTvXX+oBCcow=";
};
postPatch = ''
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-yhZFLrpI2U/9VWGZkzYGzF5nPRmKpqJnfZ+6bmBYXNI=";
cargoHash = "sha256-N1s6Kf6iy28QcrLQy6TVbXjfSb9KtzJeaKksW4wXsMw=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -11,19 +11,19 @@
buildGo124Module rec {
pname = "trivy";
version = "0.62.1";
version = "0.63.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = "trivy";
tag = "v${version}";
hash = "sha256-STu/xkKC2Ci5HbUi+gdz3ZXB+xgpkh6bs/lB/pG2Uig=";
hash = "sha256-e1T4z0L1poPzZgq8ooBmXiA+d+aTaf9bE09Rx2yFk68=";
};
# Hash mismatch on across Linux and Darwin
proxyVendor = true;
vendorHash = "sha256-0/nM0mcTWF4OPIZvHd6fOPfYMMDw5d96acNuw4kM7Tw=";
vendorHash = "sha256-lp5rajoeGR+nLO8EOLPdRLz0r19nGq2YNSjba8Zpq9E=";
subPackages = [ "cmd/trivy" ];
+4 -4
View File
@@ -8,18 +8,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "yazi";
version = "25.5.28";
version = "25.5.31";
srcs = builtins.attrValues finalAttrs.passthru.srcs;
sourceRoot = finalAttrs.passthru.srcs.code_src.name;
useFetchCargoVendor = true;
cargoHash = "sha256-g+6RawDZsgYnXiybhaiosOfz/k4LHe5iX+VqHikfPzM=";
cargoHash = "sha256-5oNhqiQYkzaNZ1vK3hV5vWQCNr6D9VPNoqkS8ZOLf/4=";
env.YAZI_GEN_COMPLETIONS = true;
env.VERGEN_GIT_SHA = "Nixpkgs";
env.VERGEN_BUILD_DATE = "2025-05-28";
env.VERGEN_BUILD_DATE = "2025-05-30";
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ rust-jemalloc-sys ];
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "sxyazi";
repo = "yazi";
tag = "v${finalAttrs.version}";
hash = "sha256-z+dh1lO6lvStlv58mi5T/cxYdewo2+5bRSO7naVcHMs=";
hash = "sha256-Er9d/5F34c2Uw+DN/9j+j7TdeWiSxMQlZSgsATC04cM=";
};
man_src = fetchFromGitHub {
+66 -47
View File
@@ -1,6 +1,6 @@
{
lib,
flutter324,
flutter332,
python3,
fetchFromGitHub,
pcre2,
@@ -10,25 +10,27 @@
gnome-screenshot,
makeWrapper,
removeReferencesTo,
runCommand,
yq,
yubioath-flutter,
_experimental-update-script-combinators,
gitUpdater,
}:
flutter324.buildFlutterApplication rec {
flutter332.buildFlutterApplication rec {
pname = "yubioath-flutter";
version = "7.1.1";
version = "7.2.2";
src = fetchFromGitHub {
owner = "Yubico";
repo = "yubioath-flutter";
rev = version;
hash = "sha256-MpY6yJvGBaFiEwuGEme2Uvyi5INCYhZJHyaRpC9pCuk=";
tag = version;
hash = "sha256-XkRSyy845hxQX5Ew5Sx3ZLh9UXfFMF6YdZJx+p/PJpo=";
};
passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
window_manager = "sha256-mLX51nbWFccsAfcqLQIYDjYz69y9wAz4U1RZ8TIYSj0=";
};
gitHashes.window_manager = "sha256-WKcNwEOthXj1S2lKlpdhy+r8JZslVqhwY2ywXeTSBEs=";
postPatch = ''
rm -f pubspec.lock
@@ -37,40 +39,6 @@ flutter324.buildFlutterApplication rec {
--replace-fail "../build/linux/helper" "${passthru.helper}/libexec/helper"
'';
preInstall = ''
# Make sure we have permission to delete things CMake has copied in to our build directory from elsewhere.
chmod -R +w build
'';
postInstall = ''
# Swap the authenticator-helper symlink with the correct symlink.
ln -fs "${passthru.helper}/bin/authenticator-helper" "$out/app/$pname/helper/authenticator-helper"
# Move the icon.
mkdir $out/share/icons
mv $out/app/$pname/linux_support/com.yubico.yubioath.png $out/share/icons
# Cleanup.
rm -rf \
"$out/app/$pname/README.adoc" \
"$out/app/$pname/desktop_integration.sh" \
"$out/app/$pname/linux_support" \
$out/bin/* # We will repopulate this directory later.
# Symlink binary.
ln -sf "$out/app/$pname/authenticator" "$out/bin/yubioath-flutter"
# Set the correct path to the binary in desktop file.
substituteInPlace "$out/share/applications/com.yubico.authenticator.desktop" \
--replace "@EXEC_PATH/authenticator" "$out/bin/yubioath-flutter" \
--replace "@EXEC_PATH/linux_support/com.yubico.yubioath.png" "$out/share/icons/com.yubico.yubioath.png"
'';
# Needed for QR scanning to work
extraWrapProgramArgs = ''
--prefix PATH : ${lib.makeBinPath [ gnome-screenshot ]}
'';
nativeBuildInputs = [
makeWrapper
removeReferencesTo
@@ -83,12 +51,63 @@ flutter324.buildFlutterApplication rec {
libappindicator
];
meta = with lib; {
preInstall = ''
# Make sure we have permission to delete things CMake has copied in to our build directory from elsewhere.
chmod -R +w build
'';
postInstall = ''
# Swap the authenticator-helper symlink with the correct symlink.
ln -fs "${passthru.helper}/bin/authenticator-helper" "$out/app/$pname/helper/authenticator-helper"
# Move the icon.
mkdir $out/share/pixmaps
mv $out/app/$pname/linux_support/com.yubico.yubioath.png $out/share/pixmaps
# Cleanup.
rm -rf \
"$out/app/$pname/README.adoc" \
"$out/app/$pname/desktop_integration.sh" \
"$out/app/$pname/linux_support" \
$out/bin/* # We will repopulate this directory later.
# Symlink binary.
ln -sf "$out/app/$pname/authenticator" "$out/bin/yubioath-flutter"
# Set the correct path to the binary in desktop file.
substituteInPlace "$out/share/applications/com.yubico.yubioath.desktop" \
--replace-fail '"@EXEC_PATH/authenticator"' "yubioath-flutter" \
--replace-fail "@EXEC_PATH/linux_support/com.yubico.yubioath.png" "com.yubico.yubioath"
'';
# Needed for QR scanning to work
extraWrapProgramArgs = ''
--prefix PATH : ${lib.makeBinPath [ gnome-screenshot ]}
'';
passthru = {
helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
pubspecSource =
runCommand "pubspec.lock.json"
{
nativeBuildInputs = [ yq ];
inherit (yubioath-flutter) src;
}
''
cat $src/pubspec.lock | yq > $out
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater { })
(_experimental-update-script-combinators.copyAttrOutputToFile "yubioath-flutter.pubspecSource" ./pubspec.lock.json)
];
};
meta = {
description = "Yubico Authenticator for Desktop";
mainProgram = "yubioath-flutter";
homepage = "https://github.com/Yubico/yubioath-flutter";
license = licenses.asl20;
maintainers = with maintainers; [ lukegb ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ lukegb ];
platforms = [
"x86_64-linux"
"aarch64-linux"
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,9 @@
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
testers,
cmake,
cmake-extras,
@@ -31,13 +33,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-content-hub";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-content-hub";
rev = finalAttrs.version;
hash = "sha256-eA5oCoAZB7fWyWm0Sy6wXh0EW+h76bdfJ2dotr7gUC0=";
hash = "sha256-S/idjDdcRvqZqKmflkYJyQckz4/9k/8JY6eRDACk9Ag=";
};
outputs = [
@@ -47,9 +49,18 @@ stdenv.mkDerivation (finalAttrs: {
"examples"
];
patches = [
# Remove when version > 2.1.0
(fetchpatch {
name = "0001-lomiri-content-hub-treewide-Add-missing-LDM-include-dirs.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/commit/cdd3371714c183d4caf166157082288c022bb98d.patch";
hash = "sha256-Uubd425T+0KxPR9lJW6+ejO2fFzcDwEIpJATSZ9jYD4=";
})
];
postPatch = ''
substituteInPlace import/*/Content/CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt\''${QT_VERSION_MAJOR}/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
# Look for peer files in running system
substituteInPlace src/com/lomiri/content/service/registry-updater.cpp \
@@ -101,6 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "GSETTINGS_COMPILE" true)
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6"))
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "ENABLE_DOC" true)
(lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true) # in case something still depends on it
@@ -145,7 +157,12 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
# Tests content-hub functionality, up to the point where one app receives a content exchange request
# from another and changes into a mode to pick the content to send
vm = nixosTests.lomiri.desktop-appinteractions;
};
updateScript = gitUpdater { };
};
@@ -2,7 +2,6 @@
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
testers,
@@ -32,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mediascanner2";
version = "0.117";
version = "0.118";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/mediascanner2";
rev = finalAttrs.version;
hash = "sha256-e1vDPnIIfevXj9ODEEKJ2y4TiU0H+08aTf2vU+emdQk=";
tag = finalAttrs.version;
hash = "sha256-ZJXJNDZUDor5EJ+rn7pQt7lLzoszZUQM3B+u1gBSMs8=";
};
outputs = [
@@ -46,22 +45,6 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
patches = [
(fetchpatch {
name = "0001-mediascanner2-scannerdaemon-Drop-desktop-and-MEDIASCANNER_RUN-check.patch";
url = "https://gitlab.com/ubports/development/core/mediascanner2/-/commit/1e65b32e32a0536b9e2f283ba563fa78b6ef6d61.patch";
hash = "sha256-Xhm5+/E/pP+mn+4enqdsor1oRqfYTzabg1ODVfIhra4=";
})
# Fix taglib 2.x compat
# Remove when version > 0.117
(fetchpatch {
name = "0002-mediascanner2-Fix-taglib-2.x-compat.patch";
url = "https://gitlab.com/ubports/development/core/mediascanner2/-/commit/0ce744ecb32abb39516d1b9f98d47c3e86690158.patch";
hash = "sha256-hz/EB83yNoxhxkEcg7ZMezknpKajhH1BNkYD3wrf/eY=";
})
];
postPatch = ''
substituteInPlace src/qml/MediaScanner.*/CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
@@ -131,6 +114,9 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Media scanner service & access library";
homepage = "https://gitlab.com/ubports/development/core/mediascanner2";
changelog = "https://gitlab.com/ubports/development/core/mediascanner2/-/blob/${
if (!builtins.isNull finalAttrs.src.tag) then finalAttrs.src.tag else finalAttrs.src.rev
}/ChangeLog";
license = lib.licenses.gpl3Only;
teams = [ lib.teams.lomiri ];
mainProgram = "mediascanner-service-2.0";
@@ -26,6 +26,7 @@
sqlite,
xz,
zlib,
zstd,
# platform-specific dependencies
bashNonInteractive,
@@ -202,6 +203,8 @@ let
++ optionals (!stdenv.hostPlatform.isDarwin) [
autoconf-archive # needed for AX_CHECK_COMPILE_FLAG
autoreconfHook
]
++ optionals (!stdenv.hostPlatform.isDarwin || passthru.pythonAtLeast "3.14") [
pkg-config
]
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
@@ -231,6 +234,9 @@ let
xz
zlib
]
++ optionals (passthru.pythonAtLeast "3.14") [
zstd
]
++ optionals withMpdecimal [
mpdecimal
]
@@ -359,7 +359,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.38.24";
version = "1.38.27";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-Fgd4T9N5RY5V7pL0/R12vzKHgaJ928Miw91ht85KoeM=";
hash = "sha256-ikXzK4PSnsPbKLN+po6l8XmxQYYyEUl++SuhjiqJauw=";
};
build-system = [ setuptools ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "botocore-stubs";
version = "1.38.24";
version = "1.38.27";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
hash = "sha256-7TRpF1kdG3SZLq3IvQIKCdVSKMvfnTJzpNsriPC9uPk=";
hash = "sha256-WDFdExi3nY+L0oiLFYfZD6T/phAKWLYQlGEQ6IVwuZU=";
};
nativeBuildInputs = [ setuptools ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "mechanicalsoup";
version = "1.3.0";
version = "1.4.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "MechanicalSoup";
repo = "MechanicalSoup";
tag = "v${version}";
hash = "sha256-iZ2nwBxikf0cTTlxzcGvHJim4N6ZEqIhlK7t1WAYdms=";
hash = "sha256-fu3DGTsLrw+MHZCFF4WHMpyjqkexH/c8j9ko9ZAeAwU=";
};
postPatch = ''
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "mitogen";
version = "0.3.23";
version = "0.3.24";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "mitogen-hq";
repo = "mitogen";
tag = "v${version}";
hash = "sha256-UhIimbD+Nx2v/W+A0y2L4a/iYFGF+PH59wCqW2Q4ioQ=";
hash = "sha256-TogWhsKnwF4uHOhCNxPpNiyWen3Vfh5bbDI8wKprP/k=";
};
build-system = [ setuptools ];
@@ -66,8 +66,8 @@ rec {
"sha256-NoNqTKRj7/wlqoBwsEW/wgj1cBAHYRXgLVfZvkP5EV0=";
mypy-boto3-amplify =
buildMypyBoto3Package "amplify" "1.38.0"
"sha256-Yv+wP2Evnr71q1ySqNuz5jxwiJAi55frDVr/Js8rOd4=";
buildMypyBoto3Package "amplify" "1.38.26"
"sha256-m+R9I+UnOmamcErUqyzSgmJJB1Z8aM+GiF4m+vKNb1w=";
mypy-boto3-amplifybackend =
buildMypyBoto3Package "amplifybackend" "1.38.0"
@@ -150,8 +150,8 @@ rec {
"sha256-6OgMopfNAD7bpLnDFXlcejFqKYTOvrJOd/X39SHYa1A=";
mypy-boto3-autoscaling =
buildMypyBoto3Package "autoscaling" "1.38.0"
"sha256-cktwW7m3hDjlGuli/kLnjup8v6+NMypkis1uwaMjDGw=";
buildMypyBoto3Package "autoscaling" "1.38.26"
"sha256-U70vqWbBuDSUxbftuGdZasnmjBOk5QUDShSE+JAr5rA=";
mypy-boto3-autoscaling-plans =
buildMypyBoto3Package "autoscaling-plans" "1.38.0"
@@ -250,8 +250,8 @@ rec {
"sha256-YpciSNXGJznUocicc/2Yw3DPbBd75hysRiRQz8aCMHM=";
mypy-boto3-cloudtrail =
buildMypyBoto3Package "cloudtrail" "1.38.0"
"sha256-YF6b1GuGRcUxY+5RICiH6V12DoDxjLq6lyrjItqfNQk=";
buildMypyBoto3Package "cloudtrail" "1.38.26"
"sha256-M1KQxsztgLZFr6TgOX0+P7eEKS3FEAm6UFoNWEnJOoc=";
mypy-boto3-cloudtrail-data =
buildMypyBoto3Package "cloudtrail-data" "1.38.0"
@@ -338,8 +338,8 @@ rec {
"sha256-GaC5ClnSfg8/8jCv2ropPoUS7YOIhKkyicDhsYUUPwk=";
mypy-boto3-connect =
buildMypyBoto3Package "connect" "1.38.7"
"sha256-Aq0JiXGaBHSN31Z72a0LL8jG25f+0dBIlIWZuCergV4=";
buildMypyBoto3Package "connect" "1.38.26"
"sha256-6Gaap6zNuKaibd/8iM9uSgryw69A0abbb8cUXtjRQ6Q=";
mypy-boto3-connect-contact-lens =
buildMypyBoto3Package "connect-contact-lens" "1.38.0"
@@ -374,16 +374,16 @@ rec {
"sha256-du5cZjwXzIW8FP2N7e9Ob9Cm9pPlReSY65EQkfsa+bg=";
mypy-boto3-dataexchange =
buildMypyBoto3Package "dataexchange" "1.38.0"
"sha256-0ys8v/ATJ7c0+MJoAiSqIBoCcgO022HB9C/Jg7vFgNc=";
buildMypyBoto3Package "dataexchange" "1.38.26"
"sha256-0S7/kVuT7nll8VsBWQg34kfeil3AVQxrFNOqDDkhjDM=";
mypy-boto3-datapipeline =
buildMypyBoto3Package "datapipeline" "1.38.0"
"sha256-BpMkYM5+cchfhg+xJR9/cXd75fzl44rwsXXEe5ofowU=";
mypy-boto3-datasync =
buildMypyBoto3Package "datasync" "1.38.20"
"sha256-/tlmBxr4MvI1YuPq5+BgHzQj2J+c1nN/C/poOxE0Xd8=";
buildMypyBoto3Package "datasync" "1.38.26"
"sha256-6QbYEYPwv26NV5rZSeQWmD2YqV0EOooDpVL0fFP0Hac=";
mypy-boto3-dax =
buildMypyBoto3Package "dax" "1.38.0"
@@ -446,8 +446,8 @@ rec {
"sha256-RQh46jrXqj4bXTRJ+tPR9sql7yUn7Ek9u4p0OU0A7b0=";
mypy-boto3-ec2 =
buildMypyBoto3Package "ec2" "1.38.24"
"sha256-QehCKooiP5jPrE6UA4OA6MJTdCczUTPsoFfDi/R13TQ=";
buildMypyBoto3Package "ec2" "1.38.25"
"sha256-rtfXRsfGr34/dUJK1kgpp85blNyHERSkScQDraIpVMs=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.38.0"
@@ -506,8 +506,8 @@ rec {
"sha256-Lr2cpSBkWl30iIS3fc4qiOWBTbIu5L0MMW5O9Au+COM=";
mypy-boto3-emr-serverless =
buildMypyBoto3Package "emr-serverless" "1.38.0"
"sha256-WxLk2ka6qnoynRbOQcXAEv84896eFOY4AYApw3c+ZlA=";
buildMypyBoto3Package "emr-serverless" "1.38.27"
"sha256-+BU0uQBQmQSxGwXalJ9A95Y8RXaFy9L6Lk8Z3D6QwkM=";
mypy-boto3-entityresolution =
buildMypyBoto3Package "entityresolution" "1.38.0"
@@ -518,8 +518,8 @@ rec {
"sha256-u6EpWVFrrL7BCeaBdRCvY33m46fj8qQX8uNYRZfsUOI=";
mypy-boto3-events =
buildMypyBoto3Package "events" "1.38.0"
"sha256-MBfgy4G5lVYXGzbs0aQK8qx3b16tmiAyq/ZTguwtbdI=";
buildMypyBoto3Package "events" "1.38.25"
"sha256-7Qy4CTzuWYTg2DF4odirHVLfwx4a1BVtJ62jcAlNDoY=";
mypy-boto3-evidently =
buildMypyBoto3Package "evidently" "1.38.0"
@@ -558,8 +558,8 @@ rec {
"sha256-t1Pj8GSr9XDym/s1qAXaiGSGWEEttDhjBnPrB/L6Lwo=";
mypy-boto3-fsx =
buildMypyBoto3Package "fsx" "1.38.0"
"sha256-lDGC5LuanclpzeDgrQ9bApm3BFzG3sANnFvchVM48UQ=";
buildMypyBoto3Package "fsx" "1.38.26"
"sha256-Njes201HxzOKDRwaxXWLp3ZjoRjEi62jYM0y2yvetWY=";
mypy-boto3-gamelift =
buildMypyBoto3Package "gamelift" "1.38.0"
@@ -702,8 +702,8 @@ rec {
"sha256-FdGvtAvQGv9Aqho48WB/6+LYchVetmrjQ0i/GJrdvx4=";
mypy-boto3-ivs-realtime =
buildMypyBoto3Package "ivs-realtime" "1.38.0"
"sha256-l8fDX2Dy1+SV0YUKs1g5AO4UcETibLAuuRFyfSpiWgo=";
buildMypyBoto3Package "ivs-realtime" "1.38.26"
"sha256-qCSBnfEsBKOLtuM986Kxul4wusWT2/+Kf/MEDWUxRf8=";
mypy-boto3-ivschat =
buildMypyBoto3Package "ivschat" "1.38.0"
@@ -938,8 +938,8 @@ rec {
"sha256-wAV1UHqtLfNs+bh/PaWh61pT+wZU7cx3dfcjwxPR0m4=";
mypy-boto3-mwaa =
buildMypyBoto3Package "mwaa" "1.38.0"
"sha256-2hV5TYKrrowbOqQZiw0DphDW2d2lFo8PYGolyqewznw=";
buildMypyBoto3Package "mwaa" "1.38.26"
"sha256-cwlTRUR7R/EBhLS5KUzLjbOxrOomGzI/jnLBHLiPDY0=";
mypy-boto3-neptune =
buildMypyBoto3Package "neptune" "1.38.18"
@@ -950,8 +950,8 @@ rec {
"sha256-U0fMJNyZpqwYlMuqTBSZCgAtls7IuyKnjWBAJ+6rTV8=";
mypy-boto3-network-firewall =
buildMypyBoto3Package "network-firewall" "1.38.0"
"sha256-Ty7z/tbUkc8Zu/YpdKrL+7ZbJoIPzVOvFKdbgrS9baY=";
buildMypyBoto3Package "network-firewall" "1.38.25"
"sha256-R2uEXo+0gtP1b76aKT9VWCKM0Uy3PulOO2T9WH2V8dM=";
mypy-boto3-networkmanager =
buildMypyBoto3Package "networkmanager" "1.38.0"
@@ -1162,8 +1162,8 @@ rec {
"sha256-gBkjxkSmaolRcBzYEbUwRvaZpEcPSD4cmfx/mi7VPM4=";
mypy-boto3-s3 =
buildMypyBoto3Package "s3" "1.38.0"
"sha256-+P5YbkUSP/zTBaDDCEcSjzkx2IhknitMWlL0Ehg8hAo=";
buildMypyBoto3Package "s3" "1.38.26"
"sha256-OKRd7leC1cB93qB+pQllxNK6fndhfBn2E7TJ+A+WG1I=";
mypy-boto3-s3control =
buildMypyBoto3Package "s3control" "1.38.14"
@@ -1174,8 +1174,8 @@ rec {
"sha256-lBWZesgIKYnjSjUOPBhF4GNsNSk09YDSEyX0qweT3iM=";
mypy-boto3-sagemaker =
buildMypyBoto3Package "sagemaker" "1.38.14"
"sha256-XKVR3rpjs3qNWapIjo28h2D5CywnrBYi8dEbkCtzRhg=";
buildMypyBoto3Package "sagemaker" "1.38.27"
"sha256-uzh49125b/AmTSUP5MtNqeahVwFpUZn7KclG2kgiCJE=";
mypy-boto3-sagemaker-a2i-runtime =
buildMypyBoto3Package "sagemaker-a2i-runtime" "1.38.0"
@@ -1346,8 +1346,8 @@ rec {
"sha256-b6TgvxWdQI5TAI/OsJzmzlte1v30NdJucdedKgCb9LY=";
mypy-boto3-synthetics =
buildMypyBoto3Package "synthetics" "1.38.13"
"sha256-goFpYJQHLzYybY8gt9FTUVXXMX+8k58YNxZ8VsNfwr4=";
buildMypyBoto3Package "synthetics" "1.38.25"
"sha256-E9+a0LjuQfyxL/b/uZpMCrvWFmX2vPS+qJNMKcc10mU=";
mypy-boto3-textract =
buildMypyBoto3Package "textract" "1.38.0"
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "opower";
version = "0.12.2";
version = "0.12.3";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "tronikos";
repo = "opower";
tag = "v${version}";
hash = "sha256-9qDkhhx96+Zu2yr+EWJc0m2ntNlCo0luFOr6NxWtJSw=";
hash = "sha256-fsZpAipBw6XLeLdum1p5gkpKSOG40TLa6cLFTUSA05Y=";
};
build-system = [ setuptools ];
@@ -0,0 +1,56 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
pymupdf,
}:
buildPythonPackage rec {
pname = "pymupdf4llm";
version = "0.0.17";
pyproject = true;
src = fetchFromGitHub {
owner = "pymupdf";
repo = "RAG";
tag = "v${version}";
hash = "sha256-+RLK+UorkU8eVQJGrc7pVNZPtIpxMgA9mBKA6GeWUa0=";
};
sourceRoot = "${src.name}/pymupdf4llm";
build-system = [ setuptools ];
dependencies = [ pymupdf ];
checkPhase = ''
runHook preCheck
python3 - <<'EOF'
import fitz
import pymupdf4llm
doc = fitz.open()
page = doc.new_page()
page.insert_text((72, 72), "Hello, Nix!")
doc.save("input.pdf")
md = pymupdf4llm.to_markdown("input.pdf")
assert isinstance(md, str), "Returned value is not a string"
assert "Hello, Nix!" in md, "Returned value does not contain the expected text"
EOF
runHook postCheck
'';
pythonImportsCheck = [ "pymupdf4llm" ];
meta = {
description = "PyMuPDF Utilities for LLM/RAG - converts PDF pages to Markdown format for Retrieval-Augmented Generation";
homepage = "https://github.com/pymupdf/RAG";
changelog = "https://github.com/pymupdf/RAG/blob/${src.tag}/CHANGES.md";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ ryota2357 ];
};
}
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "sendgrid";
version = "6.12.2";
version = "6.12.3";
pyproject = true;
disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = pname;
repo = "sendgrid-python";
tag = version;
hash = "sha256-p9U/tno5LhcfhhZE4iPspN2Du0RA7vurqwxlZmTwavk=";
hash = "sha256-7j/V731e+eXFW42WRHuJpZ3OFObVXLOgl81Ww3EAApU=";
};
build-system = [ setuptools ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
version = "3.0.1389";
version = "3.0.1390";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = version;
hash = "sha256-mLBC1ZOLO8vh5QMmG15TD07hHwBBlaRABY5ZMjKES1I=";
hash = "sha256-UOJ1NCWKFqcrU2uMX4qTy8ooFEy6TIrb1YTIthHspuM=";
};
build-system = [ setuptools ];
@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "twilio";
version = "9.6.1";
version = "9.6.2";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "twilio";
repo = "twilio-python";
tag = version;
hash = "sha256-6prKi6gMEBA0kxY/57Uyc56Kf54tEQOlEf8nL0wivXA=";
hash = "sha256-W0+lRCVWrm+dieZozloePlro/pGp3ag2WBTzpJ9CXxY=";
};
build-system = [ setuptools ];
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "yolink-api";
version = "0.5.2";
version = "0.5.4";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "YoSmart-Inc";
repo = "yolink-api";
tag = "v${version}";
hash = "sha256-ZFEEFYCA5hBtQTe1G80wxIOF6sR+gbaqpjm9oqyyvE8=";
hash = "sha256-b83ozdnaZ15LMUiDJH2LPZv9D/ovV0Nx15+R6tip6Yk=";
};
build-system = [ setuptools ];
@@ -24,16 +24,16 @@
"hash": "sha256:1v1pq9yzxrlaxx4y4cj5q3wska0jbv2inc7phqfw70fj88kai0hx"
},
"6.12": {
"version": "6.12.30",
"hash": "sha256:0bpqkh64bj6nslbb43hj28lxmrxinrapwgh05q5wwh0yjx46l16z"
"version": "6.12.31",
"hash": "sha256:19sba8zak31gn89pzfa3kb9rv7y9z8kybvyikigamq7nblz5nk5h"
},
"6.13": {
"version": "6.13.12",
"hash": "sha256:0hhj49k3ksjcp0dg5yiahqzryjfdpr9c1a9ph6j9slzmkikbn7v1"
},
"6.14": {
"version": "6.14.8",
"hash": "sha256:0199maj3mk577wwaszbi0cl5a0afx1ynad896bmmg8vm636jxcb2"
"version": "6.14.9",
"hash": "sha256:0qgkr69745al6nf4wicxq284xnsmxybh29r7hjh2b6bi6bhds31r"
},
"6.15": {
"version": "6.15",
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "trufflehog";
version = "3.88.33";
version = "3.88.35";
src = fetchFromGitHub {
owner = "trufflesecurity";
repo = "trufflehog";
tag = "v${version}";
hash = "sha256-cliUjSMH36XhV0VLHqTcZa2xBbgRqFl2kczl4AmVEwU=";
hash = "sha256-x83lA3VWrs3PfGjprqTqt12JtSs2wgqThNNVGviLddI=";
};
vendorHash = "sha256-sF7+2IrVlGskoQjVYrnmFC7KSNSh0fl3BErSMJESrcA=";
vendorHash = "sha256-i7yS/+HQa8gOWhkWzyop3IObOwkjpzmzyqBlp9dSV3Y=";
nativeBuildInputs = [ makeWrapper ];
+2
View File
@@ -237,6 +237,7 @@ mapAliases {
adminer-pematon = adminneo; # Added 2025-02-20
adminerneo = adminneo; # Added 2025-02-27
adtool = throw "'adtool' has been removed, as it was broken and unmaintained";
adobe-reader = throw "'adobe-reader' has been removed, as it was broken, outdated and insecure"; # added 2025-05-31
adom = throw "'adom' has been removed, as it was broken and unmaintained"; # added 2024-05-09
adoptopenjdk-bin = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-bin`"; # Added 2024-05-09
adoptopenjdk-bin-17-packages-darwin = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-bin-17`."; # Added 2024-05-09
@@ -318,6 +319,7 @@ mapAliases {
authy = throw "'authy' has been removed since it reached end of life"; # Added 2024-04-19
autoadb = throw "'autoadb' has been removed due to lack of maintenance upstream"; # Added 2025-01-25
avldrums-lv2 = throw "'avldrums-lv2' has been renamed to/replaced by 'x42-avldrums'"; # Converted to throw 2024-10-17
avr-sim = throw "'avr-sim' has been removed as it was broken and unmaintained. Possible alternatives are 'simavr', SimulAVR and AVRStudio."; # Added 2025-05-31
avrlibcCross = avrlibc; # Added 2024-09-06
axmldec = throw "'axmldec' has been removed as it was broken and unmaintained for 8 years"; # Added 2025-05-17
awesome-4-0 = awesome; # Added 2022-05-05
+1 -5
View File
@@ -8135,8 +8135,6 @@ with pkgs;
gecode_6 = qt5.callPackage ../development/libraries/gecode { };
gecode = gecode_6;
geph = recurseIntoAttrs (callPackages ../applications/networking/geph { pnpm = pnpm_8; });
gegl = callPackage ../development/libraries/gegl {
openexr = openexr_2;
};
@@ -11933,8 +11931,6 @@ with pkgs;
activitywatch = callPackage ../applications/office/activitywatch/wrapper.nix { };
adobe-reader = pkgsi686Linux.callPackage ../applications/misc/adobe-reader { };
anilibria-winmaclinux = libsForQt5.callPackage ../applications/video/anilibria-winmaclinux { };
masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { };
@@ -13012,7 +13008,7 @@ with pkgs;
k3s_1_32
k3s_1_33
;
k3s = k3s_1_32;
k3s = k3s_1_33;
kapow = libsForQt5.callPackage ../applications/misc/kapow { };
+2
View File
@@ -12916,6 +12916,8 @@ self: super: with self; {
pymupdf-fonts = callPackage ../development/python-modules/pymupdf-fonts { };
pymupdf4llm = callPackage ../development/python-modules/pymupdf4llm { };
pymvglive = callPackage ../development/python-modules/pymvglive { };
pymysensors = callPackage ../development/python-modules/pymysensors { };