Compare commits

...

121 commits

Author SHA1 Message Date
K900
acd1fdacfa python313Packages.fonttools: cherry-pick fix for Python 3.13.4 behavior change 2025-06-09 10:40:07 +03:00
K900
d77667ce24 python313Packages.beautifulsoup4: more libxml shenanigans 2025-06-09 09:55:55 +03:00
nixpkgs-ci[bot]
a85cdb9b1d
Merge master into staging-next 2025-06-09 06:06:13 +00:00
Aleksana
cc0f2673ae
codec2: revert mark cross as broken (#414971) 2025-06-09 14:02:55 +08:00
Aleksana
e5c43553bb
logdy: fix hash (#414924) 2025-06-09 13:56:11 +08:00
Aleksana
e8a52d0c59
wechat-uos: Fix icon missing on GNOME (#413506) 2025-06-09 13:49:13 +08:00
Aleksana
6cba901465
dnstake: fix build (#414918) 2025-06-09 13:44:04 +08:00
Aleksana
2382728eaf
apt-dater: fix build (#414933) 2025-06-09 13:32:06 +08:00
Aleksana
682fb1eb2f
openttd: clean up derivation, fix cross-compilation (#413072) 2025-06-09 13:29:58 +08:00
Aleksana
ac300460e0
scite: 5.5.6 -> 5.5.7 (#415010) 2025-06-09 13:16:54 +08:00
Aleksana
5fe0b01c64
lazpaint: 7.2.2-unstable-2024-01-23 → 7.3 (#412180) 2025-06-09 13:13:43 +08:00
dotlambda
a24c4ed7c3
python3Packages.netbox-routing: 0.3.0 -> 0.3.1 (#415187) 2025-06-08 22:07:33 -07:00
nixpkgs-merge-bot[bot]
ac47709a2c
cura-appimage: 5.10.0 -> 5.10.1 (#415127)
Co-authored-by: pbek <patrizio@bekerle.com>
2025-06-09 05:01:45 +00:00
dotlambda
cc0499fcea
python3Packages.google-genai: 1.17.0 -> 1.19.0 (#415185) 2025-06-08 21:57:55 -07:00
nixpkgs-merge-bot[bot]
9c354530b5
amp-cli: 0.0.1748865683-g71e54e -> 0.0.1749297687-g3e4f54 (#414759)
Co-authored-by: keegancsmith <keegancsmith@users.noreply.github.com>
2025-06-09 04:55:17 +00:00
R. Ryantm
7b29c2d399 androidStudioPackages.canary: 2025.1.2.2 -> 2025.1.2.4 2025-06-09 09:59:51 +05:30
R. Ryantm
73440b7693 python3Packages.netbox-routing: 0.3.0 -> 0.3.1 2025-06-09 04:27:50 +00:00
nixpkgs-merge-bot[bot]
33b17b2581
boxflat: 1.31.0 -> 1.32.0 (#415179)
Co-authored-by: DaRacci <me@racci.dev>
2025-06-09 04:25:21 +00:00
R. Ryantm
72fc0cff08 python3Packages.google-genai: 1.17.0 -> 1.19.0 2025-06-09 04:16:47 +00:00
Peder Bergebakken Sundt
0a81508bd9
fwupd-efi: 1.6 -> 1.7 (#414593) 2025-06-09 05:31:57 +02:00
Peder Bergebakken Sundt
df86b2cbe7
vale: 3.11.2 -> 3.12.0 (#415173) 2025-06-09 05:28:36 +02:00
Martin Weinelt
bf7b973a2d
docs/language-frameworks/python: clarify how to best comment on disabled tests (#415167) 2025-06-09 05:15:37 +02:00
Peder Bergebakken Sundt
2c8348cc4a fwupd-efi: avoid using pname 2025-06-09 05:04:29 +02:00
R. Ryantm
f267d06cf7 boxflat: 1.31.0 -> 1.32.0 2025-06-09 03:01:44 +00:00
Peder Bergebakken Sundt
de180a3a29
python3Packages.gotify: stdenv.isDarwin -> stdenv.buildPlatform.isDarwin (#413978) 2025-06-09 04:56:40 +02:00
R. Ryantm
36ca75f247 vale: 3.11.2 -> 3.12.0 2025-06-09 02:30:54 +00:00
Peder Bergebakken Sundt
c92582fcbb docs/language-frameworks/python: clarify how to best comment on disabled tests 2025-06-09 04:26:55 +02:00
Yt
5682734cc3
python313Packages.pdfminer-six: 20240706 -> 20250506 (#409226) 2025-06-08 22:03:05 -04:00
nixpkgs-merge-bot[bot]
eaea8aa7df
newelle: 0.9.7 -> 0.9.8 (#415159)
Co-authored-by: emaryn <emaryn@users.noreply.github.com>
2025-06-09 02:02:53 +00:00
Yt
ee0e8c57c4
tailwindcss-language-server: 0.14.19 -> 0.14.21 (#415134) 2025-06-08 21:59:42 -04:00
dotlambda
e9761a0d66
python3Packages.aioimmich: 0.9.0 -> 0.9.1 (#415158) 2025-06-08 18:47:27 -07:00
dotlambda
b5ebffa131
python3Packages.aioamazondevices: 3.0.5 -> 3.0.6 (#415153) 2025-06-08 18:38:12 -07:00
R. Ryantm
c9390a5353 newelle: 0.9.7 -> 0.9.8 2025-06-09 01:26:51 +00:00
nixpkgs-merge-bot[bot]
9ce178796e
pkgsite: 0-unstable-2025-05-23 -> 0-unstable-2025-06-08 (#415133)
Co-authored-by: phanirithvij <madlad@duck.com>
2025-06-09 01:23:22 +00:00
R. Ryantm
2c0310577e python3Packages.aioimmich: 0.9.0 -> 0.9.1 2025-06-09 01:18:52 +00:00
nixpkgs-merge-bot[bot]
8752156693
plasma-panel-colorizer: 4.2.0 -> 4.3.0 (#414908)
Co-authored-by: HeitorAugustoLN <IAm.HeitorALN@proton.me>
2025-06-09 00:57:08 +00:00
R. Ryantm
12c07adcba python3Packages.aioamazondevices: 3.0.5 -> 3.0.6 2025-06-09 00:45:41 +00:00
dotlambda
8e2c624ef4
python3Packages.pdoc: 15.0.3 -> 15.0.4 (#414572) 2025-06-08 17:44:37 -07:00
nixpkgs-ci[bot]
37e4b858c8
Merge master into staging-next 2025-06-09 00:18:38 +00:00
Peder Bergebakken Sundt
047f31d25b
eukleides: unbreak, switch to mirror; texinfo4: drop (#415009) 2025-06-09 02:04:50 +02:00
emaryn
b6007ceed5 python313Packages.pdfplumber: 0.11.5 -> 0.11.6
Diff: https://github.com/jsvine/pdfplumber/compare/refs/tags/v0.11.5...refs/tags/v0.11.6

Changelog: https://github.com/jsvine/pdfplumber/releases/tag/v0.11.6
2025-06-09 08:03:06 +08:00
emaryn
2747c473cc python313Packages.pdfminer-six: 20240706 -> 20250506 2025-06-09 08:03:06 +08:00
Peder Bergebakken Sundt
450f24c394
_2048-cli{,-curses,-terminal}: drop (#414622) 2025-06-09 01:54:36 +02:00
Sandro
1bebb6ee89
chef-cli: 5.6.8 -> 5.6.21 (#413731) 2025-06-09 01:15:00 +02:00
Sandro
8aa6375463
openbooks: init at 4.5.0 (#403408) 2025-06-09 01:13:56 +02:00
R. Ryantm
07440544a9 tailwindcss-language-server: 0.14.19 -> 0.14.21 2025-06-08 22:41:49 +00:00
R. Ryantm
5905967b3a pkgsite: 0-unstable-2025-05-23 -> 0-unstable-2025-06-08 2025-06-08 22:39:19 +00:00
Sandro
4c5ee6096d
libgit2: 1.9.0 -> 1.9.1 (#414712) 2025-06-09 00:31:12 +02:00
R. Ryantm
eb0af68971 cura-appimage: 5.10.0 -> 5.10.1 2025-06-08 22:10:50 +00:00
Sandro
c736ff24eb
nixos/olivetin: use yq-go to merge config files (#415106) 2025-06-08 23:41:32 +02:00
Peder Bergebakken Sundt
6c520dbf3b
fakeroot: 1.36 -> 1.37.1.2 (#391553) 2025-06-08 23:36:12 +02:00
Gaétan Lepage
dee74045bc
python3Packages.pyopencl: 2025.2 -> 2025.2.1 (#415102) 2025-06-08 23:11:12 +02:00
Sandro
d90908f5f8
tokei: fix failed downcast to NumberFormatStyle when parsing argument (#415015) 2025-06-08 23:08:10 +02:00
Jonas Chevalier
651182ad27
mergiraf: cleanup, modernize, adopt (#415065) 2025-06-08 22:51:26 +02:00
Austin Horstman
e9a3f3ca88
yaziPlugins: update on 2025-06-06 (#414418) 2025-06-08 15:33:45 -05:00
Sandro
0336501039
lnav: fix running in tmux (#410901) 2025-06-08 22:26:39 +02:00
Austin Horstman
23aefe4694
yaziPlugins.rsync: update from 0-unstable-2025-04-24 to 0-unstable-2025-06-07
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-08 15:25:20 -05:00
Austin Horstman
e36bf9d52f
yaziPlugins: update on 2025-06-06
- mediainfo: 25.5.28-unstable-2025-05-30 → 25.5.31-unstable-2025-06-05
- projects: 0-unstable-2025-05-29 → 0-unstable-2025-06-03
- relative-motions: 25.4.8-unstable-2025-04-16 → 25.5.28-unstable-2025-06-05
- restore: 25.5.28-unstable-2025-05-30 → 25.5.31-unstable-2025-06-05
- rich-preview: 0-unstable-2025-05-30 → 0-unstable-2025-05-31
- starship: 25.4.8-unstable-2025-05-30 → 25.4.8-unstable-2025-06-01

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-08 15:25:20 -05:00
Austin Horstman
46ba7cd450
yaziPlugins.update: cleanup
Don't think we need to be so explicit on a lot of this. Also don't want
to support env variable for plugin update.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-08 15:25:20 -05:00
Defelo
f71748184c
nixos/olivetin: use yq-go to merge config files 2025-06-08 22:21:25 +02:00
Austin Horstman
bb923d8732
yaziPlugins.update: allow committing changes
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-08 15:15:27 -05:00
Austin Horstman
e9983eca27
yaziPlugins.update: allow updating all in set
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-08 15:15:27 -05:00
Gaétan Lepage
54bfa64faf
gradle-dependency-tree-diff: init at 1.2.1 (#394440) 2025-06-08 22:09:54 +02:00
Gaetan Lepage
3006036843 python3Packages.pyopencl: 2025.2 -> 2025.2.1
Diff: https://github.com/inducer/pyopencl/compare/refs/tags/v2025.2...refs/tags/v2025.2.1

Changelog: https://github.com/inducer/pyopencl/releases/tag/v2025.2.1
2025-06-08 22:07:35 +02:00
Petr Portnov
562ce93844
gradle-dependency-tree-diff: init at 1.2.1 2025-06-08 23:01:59 +03:00
dotlambda
17ef7ce049
python3Packages.msgraph-core: 1.3.3 -> 1.3.4 (#414863) 2025-06-08 12:55:15 -07:00
Paul Meyer
b3231088cc
az-pim-cli: fix version command, don't use emulator for shell completions (#414070) 2025-06-08 21:54:55 +02:00
dotlambda
615e21fc12
python3Packages.elevenlabs: 2.2.0 -> 2.3.0 (#414943) 2025-06-08 12:54:31 -07:00
nixpkgs-merge-bot[bot]
b66b022e13
task-master-ai: 0.15.0 -> 0.16.1 (#415095)
Co-authored-by: repparw <repparw@users.noreply.github.com>
2025-06-08 19:49:57 +00:00
Gaétan Lepage
5aad2f4339
vimPlugins.unified-nvim: init at 2025-06-08 (#415079) 2025-06-08 21:49:14 +02:00
Vladimír Čunát
0fc422d6c3
Revert "treewide: migrate nixos modules to networking.hosts" (#415085) 2025-06-08 21:34:22 +02:00
R. Ryantm
857adb400a task-master-ai: 0.15.0 -> 0.16.1 2025-06-08 19:28:19 +00:00
nixpkgs-merge-bot[bot]
1d1297e505
updatecli: 0.100.0 -> 0.101.0 (#414836)
Co-authored-by: croissong <croissong@users.noreply.github.com>
2025-06-08 19:23:26 +00:00
nixpkgs-merge-bot[bot]
eb95519583
kubectl-gadget: 0.40.0 -> 0.41.0 (#413236)
Co-authored-by: devusb <devusb@users.noreply.github.com>
2025-06-08 19:14:32 +00:00
Nikolay Korotkiy
d94d96be2e
newsraft: 0.30 -> 0.31; newsraft: refactor (#415045) 2025-06-08 23:09:57 +04:00
Sigmanificient
7abdffe2fb logdy: fix hash 2025-06-08 20:53:32 +02:00
John Titor
c87464cb0c
Revert "treewide: migrate nixos modules to networking.hosts"
This reverts commit cd64f1bd87.
2025-06-09 00:10:05 +05:30
Ryan Hendrickson
523f93642d
maptool: 1.14.3 -> 1.17.0 (#414834) 2025-06-08 14:40:05 -04:00
arthsmn
42aa57c539
newsraft: refactor 2025-06-08 15:32:58 -03:00
arthsmn
00b93d5a73
newsraft: 0.30 -> 0.31 2025-06-08 15:32:56 -03:00
John Titor
7c873c2d00
Revert "nixos/lib/testing: fix network module"
This reverts commit 35fb55d21b.
2025-06-08 23:54:55 +05:30
Christian Kögler
145f715b75
welle-io: 2.5 -> 2.7 (#415025) 2025-06-08 20:13:33 +02:00
DashieTM
2bb3e1c0e9 vimPlugins.unified-nvim: init at 2025-06-08 2025-06-08 20:00:17 +02:00
awwpotato
a0b8a9def8
az-pim-cli: don't use emulator for shell completions 2025-06-08 10:36:35 -07:00
awwpotato
c0ac87829f
az-pim-cli: fix version command 2025-06-08 10:36:35 -07:00
Defelo
213d228014
mergiraf: add defelo as maintainer 2025-06-08 18:53:34 +02:00
Defelo
8a4403a17e
mergiraf: add meta.downloadPage 2025-06-08 18:53:34 +02:00
Defelo
b27e729739
mergiraf: add updateScript 2025-06-08 18:53:33 +02:00
Defelo
f50c275fee
mergiraf: use tag in fetchFromGitea 2025-06-08 18:53:33 +02:00
Defelo
f384930aab
mergiraf: use finalAttrs pattern 2025-06-08 18:53:33 +02:00
Defelo
07d2ebcb01
mergiraf: remove unused argument 2025-06-08 18:53:32 +02:00
Jared Biel
b25e4397da fwupd-efi: 1.6 -> 1.7 2025-06-08 11:06:30 -05:00
emaryn
d641a43bd5 welle-io: 2.5 -> 2.7
Diff: https://github.com/AlbrechtL/welle.io/compare/v2.5...v2.7
2025-06-08 21:28:10 +08:00
Petr Zahradnik
a4ad6a2686 texinfo4: drop 2025-06-08 14:42:36 +02:00
R. Ryantm
5b31e8bfef scite: 5.5.6 -> 5.5.7 2025-06-08 12:37:39 +00:00
Petr Zahradnik
055b892a4f eukleides: unbreak, switch to mirror 2025-06-08 14:36:32 +02:00
Defelo
e5681b84f5
tokei: fix failed downcast to NumberFormatStyle when parsing argument 2025-06-08 13:02:19 +02:00
phanirithvij
f1b5c16260 codec2: revert mark cross as broken
This reverts commit bd00d7fafb.
2025-06-08 15:39:28 +05:30
R. Ryantm
cfdc54e66c python3Packages.elevenlabs: 2.2.0 -> 2.3.0 2025-06-08 08:09:23 +00:00
Sizhe Zhao
3bd0085ec5
apt-dater: fix build 2025-06-08 15:17:54 +08:00
Sizhe Zhao
3079f2814c
dnstake: fix build 2025-06-08 13:10:40 +08:00
R. Ryantm
5349cc6661 plasma-panel-colorizer: 4.2.0 -> 4.3.0 2025-06-08 03:54:21 +00:00
Peder Bergebakken Sundt
edbdd96122 python3Packages.pdoc: 15.0.3 -> 15.0.4
Changelog: https://github.com/mitmproxy/pdoc/blob/v15.0.4/CHANGELOG.md
2025-06-08 05:05:09 +02:00
R. Ryantm
b9bff51b2a python3Packages.msgraph-core: 1.3.3 -> 1.3.4 2025-06-07 22:32:49 +00:00
R. Ryantm
96f00441af updatecli: 0.100.0 -> 0.101.0 2025-06-07 19:51:09 +00:00
R. Ryantm
8a0971022d maptool: 1.14.3 -> 1.17.0 2025-06-07 19:39:38 +00:00
R. Ryantm
5350889704 amp-cli: 0.0.1748865683-g71e54e -> 0.0.1749297687-g3e4f54 2025-06-07 14:36:53 +00:00
Nikolay Korotkiy
6cad81fed5
lazpaint: 7.2.2-unstable-2024-01-23 → 7.3 2025-06-07 18:26:55 +04:00
misilelab
0eb5a2976f
libgit2: 1.9.0 -> 1.9.1
https://github.com/libgit2/libgit2/releases/tag/v1.9.1

Signed-off-by: misilelab <misileminecord@gmail.com>
2025-06-07 19:26:21 +09:00
aleksana
c0ffafcd56 _2048-cli{,-curses,-terminal}: drop 2025-06-07 10:26:43 +08:00
Peder Bergebakken Sundt
835f60e578 python3Packages.gotify: stdenv.isDarwin -> stdenv.buildPlatform.isDarwin 2025-06-04 18:57:28 +02:00
Morgan Helton
3f7dbac50d
chef-cli: 5.6.8 -> 5.6.21 2025-06-03 16:34:23 -05:00
Bu Kun
4bdc2a156d
wechat-uos: Fix icon missing on GNOME 2025-06-03 15:39:00 +08:00
Stefan Frijters
17effa31a8
openttd: fix cross-compilation 2025-06-02 21:33:50 +02:00
R. Ryantm
0165206abe kubectl-gadget: 0.40.0 -> 0.41.0 2025-06-02 13:36:52 +00:00
Stefan Frijters
045f0b2c79
openttd: remove dependency on nlohmann_json
This was vendored from ba67f39db6 onwards.
2025-06-02 01:40:18 +02:00
Stefan Frijters
2aa44cba7f
openttd: modernize derivation 2025-06-02 01:40:18 +02:00
Stefan Frijters
da907856cb
openttd: remove unused flags 2025-06-02 01:13:23 +02:00
Guillaume Girol
511c01740c lnav: fix running in tmux 2025-05-25 12:00:00 +00:00
misilelab
4cf1744fec
fakeroot: 1.36 -> 1.37.1.2
https://salsa.debian.org/clint/fakeroot/-/blob/master/debian/changelog

Signed-off-by: misilelab <misileminecord@gmail.com>
2025-05-15 02:46:24 +09:00
Bruno BELANYI
5b1167fd14 openbooks: init at 4.5.0 2025-05-01 20:28:28 +01:00
76 changed files with 1951 additions and 865 deletions

View file

@ -2180,7 +2180,8 @@ The following rules are desired to be respected:
* Make sure the tests are enabled using for example [`pytestCheckHook`](#using-pytestcheckhook) and, in the case of
libraries, are passing for all interpreters. If certain tests fail they can be
disabled individually. Try to avoid disabling the tests altogether. In any
case, when you disable tests, leave a comment explaining why.
case, when you disable tests, leave a comment explaining not only _what_ the failure
is but _why_ the test failure can be ignored for safe distribution with nixpkgs.
* `pythonImportsCheck` is set. This is still a good smoke test even if `pytestCheckHook` is set.
* `meta.platforms` takes the default value in many cases.
It does not need to be set explicitly unless the package requires a specific platform.

View file

@ -3,17 +3,16 @@
let
inherit (lib)
attrNames
concatMapAttrs
concatMap
concatMapStrings
flip
forEach
head
listToAttrs
mkDefault
mkOption
nameValuePair
optionalAttrs
optionalString
optionals
range
toLower
types
@ -92,24 +91,23 @@ let
# interfaces, use the IP address corresponding to
# the first interface (i.e. the first network in its
# virtualisation.vlans option).
networking.hosts = concatMapAttrs (
name: config:
networking.extraHosts = flip concatMapStrings (attrNames nodes) (
m':
let
config = nodes.${m'};
hostnames =
[
"${config.networking.hostName}"
]
++ optionals (config.networking.domain != null) [
"${config.networking.hostName}.${config.networking.domain}"
];
optionalString (
config.networking.domain != null
) "${config.networking.hostName}.${config.networking.domain} "
+ "${config.networking.hostName}\n";
in
optionalAttrs (config.networking.primaryIPAddress != "") {
"${config.networking.primaryIPAddress}" = hostnames;
}
// optionalAttrs (config.networking.primaryIPv6Address != "") {
"${config.networking.primaryIPv6Address}" = hostnames;
}
) nodes;
optionalString (
config.networking.primaryIPAddress != ""
) "${config.networking.primaryIPAddress} ${hostnames}"
+ optionalString (config.networking.primaryIPv6Address != "") (
"${config.networking.primaryIPv6Address} ${hostnames}"
)
);
virtualisation.qemu.options = qemuOptions;
boot.initrd.services.udev.rules = concatMapStrings (x: x + "\n") udevRules;

View file

@ -365,12 +365,9 @@ in
keyFile = mkDefault key;
trustedCaFile = mkDefault caCert;
};
networking.hosts = mkIf (config.services.etcd.enable) {
"127.0.0.1" = [
"etcd.${top.addons.dns.clusterDomain}"
"etcd.local"
];
};
networking.extraHosts = mkIf (config.services.etcd.enable) ''
127.0.0.1 etcd.${top.addons.dns.clusterDomain} etcd.local
'';
services.flannel = with cfg.certs.flannelClient; {
kubeconfig = top.lib.mkKubeConfig "flannel" {

View file

@ -102,30 +102,16 @@ in
inherit (cfg) path;
preStart = ''
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT
cd "$tmp"
shopt -s nullglob
cp ${settingsFormat.generate "olivetin-config.yaml" cfg.settings} config.yaml
chmod +w config.yaml
for ((i=0; i < ${toString (lib.length cfg.extraConfigFiles)}; i++)); do
${lib.getExe pkgs.yq} -yi '
def merge($y):
. as $x |
if ($x | type == "object") and ($y | type == "object") then
$x + $y + with_entries(select(.key | in($y)) | .key as $key | .value |= merge($y[$key]))
elif ($x | type == "array") and ($y | type == "array") then
$x + $y
else
$y
end;
merge($f | fromjson)
' config.yaml --rawfile f <(${lib.getExe pkgs.yq} -c . "$CREDENTIALS_DIRECTORY/config-$i.yaml")
done
chmod -w config.yaml
tmp="$(mktemp)"
${lib.getExe pkgs.yq-go} eval-all '. as $item ireduce ({}; . *+ $item)' \
${settingsFormat.generate "olivetin-config.yaml" cfg.settings} \
$CREDENTIALS_DIRECTORY/config-*.yaml > "$tmp"
chmod -w "$tmp"
mkdir -p /run/olivetin/config
mv config.yaml /run/olivetin/config/config.yaml
mv "$tmp" /run/olivetin/config/config.yaml
'';
serviceConfig = {

View file

@ -70,12 +70,10 @@ in
# Rely on GCP's firewall instead
networking.firewall.enable = mkDefault false;
networking.hosts = {
"169.254.169.254" = [
"metadata.google.internal"
"metadata"
];
};
# Configure default metadata hostnames
networking.extraHosts = ''
169.254.169.254 metadata.google.internal metadata
'';
networking.timeServers = [ "metadata.google.internal" ];

View file

@ -1084,10 +1084,14 @@ in
) config.containers;
# Generate /etc/hosts entries for the containers.
networking.hosts = lib.mapAttrs' (name: cfg: {
name = head (splitString "/" cfg.localAddress);
value = lib.optionals (cfg.localAddress != null) [ "${name}.containers" ];
}) config.containers;
networking.extraHosts = concatStrings (
mapAttrsToList (
name: cfg:
optionalString (cfg.localAddress != null) ''
${head (splitString "/" cfg.localAddress)} ${name}.containers
''
) config.containers
);
networking.dhcpcd.denyInterfaces = [
"ve-*"

View file

@ -24,8 +24,8 @@ let
sha256Hash = "sha256-tPRTDFyKGPR1DKuJRBcwjWjNxylS/8Zv/Nd6vBmcujg=";
};
latestVersion = {
version = "2025.1.2.2"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 2"
sha256Hash = "sha256-zQ3PK9Fq8iYocSRFsYXNrnJ34QJGUkQoLtSNhFA2Ido=";
version = "2025.1.2.4"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 4"
sha256Hash = "sha256-MhonmDupcXGvwWUB+p/9AkqxCP9+j8a7D1bCseEu8GY=";
};
in
{

View file

@ -15315,6 +15315,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
unified-nvim = buildVimPlugin {
pname = "unified.nvim";
version = "2025-06-08";
src = fetchFromGitHub {
owner = "axkirillov";
repo = "unified.nvim";
rev = "0d8eebd3909b86ca30407d79b547a245185082c2";
sha256 = "1r3pdh3rhlkrp9ykzxwaqrfww87dpa6b72kfvxf3j24firl0m9nv";
};
meta.homepage = "https://github.com/axkirillov/unified.nvim/";
meta.hydraPlatforms = [ ];
};
unimpaired-nvim = buildVimPlugin {
pname = "unimpaired.nvim";
version = "2025-03-29";

View file

@ -1175,6 +1175,7 @@ https://github.com/altermo/ultimate-autopair.nvim/,HEAD,
https://github.com/SirVer/ultisnips/,,
https://github.com/mbbill/undotree/,,
https://github.com/chrisbra/unicode.vim/,,
https://github.com/axkirillov/unified.nvim/,HEAD,
https://github.com/afreakk/unimpaired-which-key.nvim/,HEAD,
https://github.com/tummetott/unimpaired.nvim/,HEAD,
https://github.com/unisonweb/unison/,,

View file

@ -1,6 +1,6 @@
{
stdenv,
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
@ -8,7 +8,6 @@
qtbase,
qtcharts,
qtmultimedia,
qtdeclarative,
qt5compat,
faad2,
rtl-sdr,
@ -17,25 +16,27 @@
fftwSinglePrec,
lame,
mpg123,
unixtools,
withFlac ? true,
flac,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "welle-io";
version = "2.5";
version = "2.7";
src = fetchFromGitHub {
owner = "AlbrechtL";
repo = "welle.io";
rev = "v${version}";
hash = "sha256-sSknzZiD9/MLyO+gAYopogOQu5HRcqaRcfqwq4Rld7A=";
tag = "v${finalAttrs.version}";
hash = "sha256-+xjwvxFrv++XF6Uhm/ZwkseuToz3LtqCfTD18GiwNyw=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
unixtools.xxd
];
buildInputs = [
@ -70,4 +71,4 @@ stdenv.mkDerivation rec {
"i686-linux"
] ++ lib.platforms.darwin;
};
}
})

View file

@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"@sourcegraph/amp": "^0.0.1748865683-g71e54e"
"@sourcegraph/amp": "^0.0.1749297687-g3e4f54"
}
},
"node_modules/@colors/colors": {
@ -29,9 +29,9 @@
}
},
"node_modules/@sourcegraph/amp": {
"version": "0.0.1748865683-g71e54e",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1748865683-g71e54e.tgz",
"integrity": "sha512-ZiNbIbgCb/l7Q7wRT0sva6Ju7VDtq7+lijMWK8jotPorTq1DYUy3h7XJIOjyJEdvqlQkEfwrnbOfREmsnwlPyg==",
"version": "0.0.1749297687-g3e4f54",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1749297687-g3e4f54.tgz",
"integrity": "sha512-KfAu6Ju4aeTKW3dQ17GmaVXJ+96IqUMCC8KJlb1uzOBcNudGVnwYogjkEAMu4N3hg1PJH6XcrimqmFRqPZb1+Q==",
"dependencies": {
"@types/runes": "^0.4.3",
"@vscode/ripgrep": "1.15.11",

View file

@ -9,11 +9,11 @@
buildNpmPackage (finalAttrs: {
pname = "amp-cli";
version = "0.0.1748865683-g71e54e";
version = "0.0.1749297687-g3e4f54";
src = fetchzip {
url = "https://registry.npmjs.org/@sourcegraph/amp/-/amp-${finalAttrs.version}.tgz";
hash = "sha256-kkQKjw1SzDjV8/206i+NUyxeDhZ/35My9gyXRe/U7I8=";
hash = "sha256-WreJsyqyW/Z+TUPnQC7sKIpSgdpIzXQTgkXBthKCMZ4=";
};
postPatch = ''
@ -45,7 +45,7 @@ buildNpmPackage (finalAttrs: {
chmod +x bin/amp-wrapper.js
'';
npmDepsHash = "sha256-yeZ5UCVUCbVjpYTYYN5mI6eCkShtnCKxumjpb5GRCws=";
npmDepsHash = "sha256-dAJePSRKnXrdW8hr72JNxunQAiUtxH53sDrtYYX6++0=";
propagatedBuildInputs = [
ripgrep

View file

@ -44,7 +44,8 @@ stdenv.mkDerivation {
prePatch = ''
substituteInPlace etc/Makefile.am \
--replace-fail 02770 0770
--replace-fail 02770 0770 \
--replace-fail '../../../$(pkglibdir)' '$(pkglibdir)'
'';
postPatch = ''

View file

@ -4,10 +4,8 @@
fetchFromGitHub,
installShellFiles,
stdenv,
buildPackages,
nix-update-script,
testers,
az-pim-cli,
}:
buildGoModule (finalAttrs: {
pname = "az-pim-cli";
@ -20,29 +18,37 @@ buildGoModule (finalAttrs: {
hash = "sha256-gf4VscHaUr3JtsJO5PAq1nyPeJxIwGPaiH/QdXKpvQ0=";
};
patches = [
# removes info we don't have from version command
./version-build-info.patch
];
vendorHash = "sha256-PHrpUlAG/PBe3NKUGBQ1U7dCcqkSlErWX2dp9ZPB3+8=";
nativeBuildInputs = [
installShellFiles
];
postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) (
let
emulator = stdenv.hostPlatform.emulator buildPackages;
in
''
env.CGO_ENABLED = 0;
ldflags = [
"-s"
"-X github.com/netr0m/az-pim-cli/cmd.version=v${finalAttrs.version}"
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd az-pim-cli \
--bash <(${emulator} $out/bin/az-pim-cli completion bash) \
--fish <(${emulator} $out/bin/az-pim-cli completion fish) \
--zsh <(${emulator} $out/bin/az-pim-cli completion zsh)
''
);
--bash <($out/bin/az-pim-cli completion bash) \
--fish <($out/bin/az-pim-cli completion fish) \
--zsh <($out/bin/az-pim-cli completion zsh)
'';
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
command = "HOME=$TMPDIR az-pim-cli --version";
package = az-pim-cli;
command = "HOME=$TMPDIR az-pim-cli version";
package = finalAttrs.finalPackage;
version = "v${finalAttrs.version}";
};
};

View file

@ -0,0 +1,24 @@
diff --git a/cmd/version.go b/cmd/version.go
index 816f044..ef107be 100644
--- a/cmd/version.go
+++ b/cmd/version.go
@@ -31,8 +31,7 @@ type BuildInfo struct {
}
func (b BuildInfo) String() string {
- return fmt.Sprintf("az-pim-cli version %s (built with %s from %s on %s)",
- b.Version, b.GoVersion, b.Commit, b.Date)
+ return fmt.Sprintf("az-pim-cli version %s", b.Version)
}
func printVersion(w io.Writer, info BuildInfo) {
@@ -47,8 +46,8 @@ func createBuildInfo() BuildInfo {
Date: date,
}
- buildInfo, available := debug.ReadBuildInfo()
- if !available {
+ buildInfo, _ := debug.ReadBuildInfo()
+ if true {
return info
}

View file

@ -14,14 +14,14 @@
python3Packages.buildPythonPackage rec {
pname = "boxflat";
version = "1.31.0";
version = "1.32.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Lawstorant";
repo = "boxflat";
tag = "v${version}";
hash = "sha256-2x7voGnbvaUg1G2SfdjD0QPVXolHkUcrwGyoclnOLMo=";
hash = "sha256-zxaBz2ooo+h3a9svtC+j23EhpH8TTQIxjdRDCnhAvJ4=";
};
build-system = [ python3Packages.setuptools ];

View file

@ -84,8 +84,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.lgpl21Only;
platforms = platforms.unix;
maintainers = with maintainers; [ markuskowa ];
# generate_codebook only built for host platform
broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
pkgConfigModules = [ "codec2" ];
};
})

View file

@ -13,7 +13,7 @@
stdenvNoCC.mkDerivation rec {
pname = "cura-appimage";
version = "5.10.0";
version = "5.10.1";
# Give some good names so the intermediate packages are easy
# to recognise by name in the Nix store.
@ -22,7 +22,7 @@ stdenvNoCC.mkDerivation rec {
src = fetchurl {
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/Ultimaker-Cura-${version}-linux-X64.AppImage";
hash = "sha256-8Km249t0m4YnOsyXyjJJD0y4n9kUCrA/AcsqBcrVf5Q=";
hash = "sha256-c89GkgfOSY4hriY66GUCgBYiiJJspM9Fg07lne+KXgw=";
};
appimageContents = appimageTools.extract {

View file

@ -16,7 +16,7 @@ buildGoModule rec {
hash = "sha256-k6j7DIwK8YAKmEjn8JJO7XBcap9ui6cgUSJG7CeHAAM=";
};
vendorHash = "sha256-lV6dUl+OMUQfhlgNL38k0Re1Mr3VP9b8SI3vTJ8CP18=";
vendorHash = "sha256-l3IKvcO10C+PVDX962tFWny7eMNC48ATIVqiHjpVH/Y=";
meta = with lib; {
description = "Tool to check missing hosted DNS zones";

View file

@ -1,23 +1,28 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitLab,
bison,
flex,
makeWrapper,
texinfo4,
getopt,
readline,
texinfo,
texlive,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eukleides";
version = "1.5.4";
src = fetchurl {
url = "http://www.eukleides.org/files/eukleides-${finalAttrs.version}.tar.bz2";
sha256 = "0s8cyh75hdj89v6kpm3z24i48yzpkr8qf0cwxbs9ijxj1i38ki0q";
src = fetchFromGitLab {
# official upstream www.eukleides.org is down
domain = "salsa.debian.org";
owner = "georgesk";
repo = "eukleides";
rev = "upstream/${finalAttrs.version}";
hash = "sha256-keX7k14X/97zHh87A/7vUsfGc/S6fByd+rewW+LkJeM=";
};
patches = [
@ -25,12 +30,14 @@ stdenv.mkDerivation (finalAttrs: {
./use-CC.patch
# allow PostScript transparency in epstopdf call
./gs-allowpstransparency.patch
# fix curly brace escaping in eukleides.texi for newer texinfo compatiblity
./texinfo-escape.patch
];
nativeBuildInputs = [
bison
flex
texinfo4
texinfo
makeWrapper
];
@ -41,14 +48,14 @@ stdenv.mkDerivation (finalAttrs: {
preConfigure = ''
substituteInPlace Makefile \
--replace mktexlsr true
--replace-fail mktexlsr true
substituteInPlace doc/Makefile \
--replace ginstall-info install-info
--replace-fail ginstall-info install-info
substituteInPlace Config \
--replace '/usr/local' "$out" \
--replace '$(SHARE_DIR)/texmf' "$tex"
--replace-fail '/usr/local' "$out" \
--replace-fail '$(SHARE_DIR)/texmf' "$tex"
'';
# Workaround build failure on -fno-common toolchains like upstream
@ -57,6 +64,13 @@ stdenv.mkDerivation (finalAttrs: {
# eukleides_build/quadrilateral.o:(.bss+0x18): first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
preBuild = ''
mkdir build/eukleides_build
mkdir build/euktopst_build
'';
enableParallelBuilding = true;
preInstall = ''
mkdir -p $out/bin
'';
@ -84,6 +98,10 @@ stdenv.mkDerivation (finalAttrs: {
pkgs = [ finalAttrs.finalPackage.tex ];
};
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "Geometry Drawing Language";
homepage = "http://www.eukleides.org/";

View file

@ -0,0 +1,19 @@
--- a/doc/eukleides.texi
+++ b/doc/eukleides.texi
@@ -6,12 +6,12 @@
% ------------------------------------------------------------------------------
-\def\LaTeX{L\kern-.34em\raise.49ex\hbox{\sevenrm A}\kern-.18em\TeX}
-\def\mdeg{$^\circ$}
+\def\LaTeX@{L\kern-.34em\raise.49ex\hbox@{\sevenrm A@}\kern-.18em\TeX@}
+\def\mdeg@{$^\circ$@}
\font\degfont=cmtt8
-\def\deg{\raise.7ex\hbox{\degfont o}}
-\def\exm#1{\noindent{\textit Example:}\quad{\texttt #1}}
-\def\exmp{\noindent{\textit Example:}}
+\def\deg@{\raise.7ex\hbox@{\degfont o@}@}
+\def\exm#1@{\noindent@{\textit Example:@}\quad@{\texttt #1@}@}
+\def\exmp@{\noindent@{\textit Example:@}@}
% ------------------------------------------------------------------------------

View file

@ -14,7 +14,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "1.36";
version = "1.37.1.2";
pname = "fakeroot";
src = fetchFromGitLab {
@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "fakeroot";
rev = "upstream/${finalAttrs.version}";
domain = "salsa.debian.org";
hash = "sha256-QNScrkX2Vffsj/I5EJO8qs5AHQ9b5s6nHLHQKUdRzLE=";
hash = "sha256-2ihdvYRnv2wpZrEikP4hCdshY8Eqarqnw3s9HPb+xKU=";
};
patches = lib.optionals stdenv.hostPlatform.isLinux [

View file

@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
pkg-config,
meson,
ninja,
@ -10,13 +10,15 @@
python3Packages,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd-efi";
version = "1.6";
version = "1.7";
src = fetchurl {
url = "https://github.com/fwupd/fwupd-efi/releases/download/${version}/fwupd-efi-${version}.tar.xz";
hash = "sha256-r9CAWirQgafK/y71vABM46AUe1OAFejsqWY0FxaxJg4=";
src = fetchFromGitHub {
owner = "fwupd";
repo = "fwupd-efi";
rev = "${finalAttrs.version}";
hash = "sha256-PcVqnnFrxedkhYgm+8EUF2I65R5gTXqbVrk69Pw1m1g=";
};
nativeBuildInputs = [
@ -43,9 +45,10 @@ stdenv.mkDerivation rec {
"-Defi-ldsdir=${gnu-efi}/lib"
"-Defi_sbat_distro_id=nixos"
"-Defi_sbat_distro_summary=NixOS"
"-Defi_sbat_distro_pkgname=${pname}"
"-Defi_sbat_distro_version=${version}"
"-Defi_sbat_distro_pkgname=${finalAttrs.pname}"
"-Defi_sbat_distro_version=${finalAttrs.version}"
"-Defi_sbat_distro_url=https://search.nixos.org/packages?channel=unstable&show=fwupd-efi&from=0&size=50&sort=relevance&query=fwupd-efi"
"-Dgenpeimg=disabled"
];
meta = with lib; {
@ -54,4 +57,4 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21Plus;
platforms = platforms.linux;
};
}
})

View file

@ -0,0 +1,250 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://dl.google.com": {
"dl/android/maven2/com/android/tools#r8/8.2.33": {
"jar": "sha256-gMOaKLtmtk78Iy1orlVNWf44OICHOLT+WEiEaRyx5aM=",
"pom": "sha256-LgVrRdWEZxSbQSHxnpZpKdnMgFFpkrDKJKa/Y24aW+U="
}
},
"https://plugins.gradle.org/m2": {
"com/google/code/gson#gson-parent/2.9.1": {
"pom": "sha256-fKCEXnNoVhjePka9NDTQOko3PVIPq5OmgDGK1sjLKnk="
},
"com/google/code/gson#gson/2.9.1": {
"jar": "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=",
"pom": "sha256-5ZZjI9cUJXCzekvpeeIbwtroSBB+TcQW2PRNmqPwKQM="
},
"org/gradle/toolchains#foojay-resolver/0.7.0": {
"jar": "sha256-k2crR0Cg/b+7W68INT24rpqbsl9rEKk8B4EmxxfbOsA=",
"module": "sha256-7WdGoJ8yv63bkLApECrmIybiSBKaaLdGYqSkM9VTFLg=",
"pom": "sha256-iCa8+5Iq8MIR5BPTmwgWWRPAgwZkE+BzDNgrLgsKie4="
},
"org/gradle/toolchains/foojay-resolver-convention#org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.7.0": {
"pom": "sha256-yKRD4vrvh28zijkSM8IKka1bg/acHGuiDTmns5EGJAo="
},
"org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
}
},
"https://repo.maven.apache.org/maven2": {
"com/google/auto/value#auto-value-annotations/1.10.4": {
"jar": "sha256-4cRea+ra75eXyw2a/VpFYhrQYc2GMgEvhVgoU6OIeCU=",
"pom": "sha256-c6W4UV+F+IxAiff/SkPNF5Wkgf2rk/qQULE8+hqNJfc="
},
"com/google/auto/value#auto-value-parent/1.10.4": {
"pom": "sha256-vsOhnk3ci2QGZyMzzFBbngy2s1WLskIxSGm7bh1ojTA="
},
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/errorprone#error_prone_annotations/2.23.0": {
"jar": "sha256-7G858Gi2/5rDI8aOKLkpn4wKgMpRLcyx1KcPQKw+wFQ=",
"pom": "sha256-1auxfyMbY78Ak1j6ZAKBt0SBDLlYflmUl3g0lZwH29g="
},
"com/google/errorprone#error_prone_parent/2.23.0": {
"pom": "sha256-9UcKSzEE/jCfvpSoDRbDxU0g90j0xd5PaKQoaI8wy9Q="
},
"com/google/guava#failureaccess/1.0.2": {
"jar": "sha256-io+Bz5s1nj9t+mkaHndphcBh7y8iPJssgHU+G0WOgGQ=",
"pom": "sha256-GevG9L207bs9B7bumU+Ea1TvKVWCqbVjRxn/qfMdA7I="
},
"com/google/guava#guava-parent/26.0-android": {
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
},
"com/google/guava#guava-parent/33.0.0-android": {
"pom": "sha256-WvSDt4xJ3njEn67dKlh1J4SkTINj9eJeUuKXgUwJF3o="
},
"com/google/guava#guava/33.0.0-android": {
"module": "sha256-FVcraAtd/L75ZtASDmUEEpqMf79gCEXfNp2Tkxe4IDY=",
"pom": "sha256-0R72awjIAS/3aC4LC8tykykyRwpQnXJSgD/GIeLJZfY="
},
"com/google/guava#guava/33.0.0-jre": {
"jar": "sha256-9NhcPk1BFpQzfLhzq+oJskK2ZLsBMyC+YQUyfEWZFTc="
},
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
},
"com/google/j2objc#j2objc-annotations/2.8": {
"jar": "sha256-8CqV+hpele2z7YWf0Pt99wnRIaNSkO/4t03OKrf01u0=",
"pom": "sha256-N/h3mLGDhRE8kYv6nhJ2/lBzXvj6hJtYAMUZ1U2/Efg="
},
"com/google/truth#truth-parent/1.2.0": {
"pom": "sha256-Q8/2l2yxZ5ETlTWluYDpwTW8Fgxk7hGc/6qNHv9aquI="
},
"com/google/truth#truth/1.2.0": {
"jar": "sha256-tGEIQNXjffFOZqqwuEDA7j+l6Vl9o6KQIGQYcXHCM5o=",
"pom": "sha256-4snQPEXLKYR49KPOM37mXXsk+nVA/PSEy/OkvuQCuVo="
},
"junit#junit/4.13.2": {
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
},
"org/checkerframework#checker-qual/3.42.0": {
"jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=",
"module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=",
"pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo="
},
"org/hamcrest#hamcrest-core/1.3": {
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
},
"org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
},
"org/jetbrains#annotations/13.0": {
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
},
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
},
"org/jetbrains/kotlin#kotlin-android-extensions/1.9.22": {
"jar": "sha256-Hl6IFkKpnduPbRPmmVoIwZK8OEGHOWZj2ER8CB2H4k8=",
"pom": "sha256-lEt8+zPgpvtoRVkEjwKMuWMmyTKiRdXLAhQ7zSwDEVk="
},
"org/jetbrains/kotlin#kotlin-build-common/1.9.22": {
"jar": "sha256-U8PcxTA/WQPmJgrqc+zMaTD5o276KhHNO9On5V32OWY=",
"pom": "sha256-KXxfSYoHdIPvic06cQzSt/LlrjgPOjrt+5xBvGI7E0A="
},
"org/jetbrains/kotlin#kotlin-build-tools-api/1.9.22": {
"jar": "sha256-3UnLfij08zgvUlDPsFyGT9XwqW0yZbspPHezCtzJP/Y=",
"pom": "sha256-DFZLu4fcXs32Q005buob886Xar8IgYCN0Wb6SbBGSfs="
},
"org/jetbrains/kotlin#kotlin-build-tools-impl/1.9.22": {
"jar": "sha256-G0jW3gQqUl9jtVdROuEmbWmTSCJbAT+UDjLGPeJolCg=",
"pom": "sha256-tWM/E0m+lcdHRuHimiqm51LoneGrmmUjSS85j6aVWN0="
},
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.22": {
"jar": "sha256-K/6t7lmrGYjDNtvW5l2ZH3Zq4d2Gg/Km3tX6oCefDKA=",
"pom": "sha256-s9o0u29ClqzzoPRDRm8FBsbJnaXNliTW4LdFsiKHhOs="
},
"org/jetbrains/kotlin#kotlin-compiler-runner/1.9.22": {
"jar": "sha256-c+x1u5nr/6iySiSjuFPz9mCWvEapNRrw2sk967acFes=",
"pom": "sha256-pO6KZ8HW8lODjAAnKAvLgFCsDc3MrZdIlhOKaaAX6wE="
},
"org/jetbrains/kotlin#kotlin-daemon-client/1.9.22": {
"jar": "sha256-XXPhgVsRZ+Sv4gjwCyp1wIC8WoEHhsqtuOFHh1k6k7k=",
"pom": "sha256-YsRKZZ2lXbb7El4pKbmNUEow4fSvgU4I5JIUJqpST4o="
},
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.9.22": {
"jar": "sha256-kqV4ExcUR9U0Rh+hP+N9yM07f4bYPpsfe7GwvjBUH4s=",
"pom": "sha256-9uo9z2v7Og0GmER8SKa88I2Oqs+D/JX+nUGBpeXjwrE="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/1.9.22": {
"jar": "sha256-lnaDy5jZkQFFYH+/W0VilbQ/Cq+Tsbunv2mS5zHLJOw=",
"pom": "sha256-Y7por+B4/3D3CPnpecaTxFv+iQQfeWQbC4H2tKEm7rs="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.9.22": {
"jar": "sha256-7P9nVGBlxg4JX7k7P4i5uS7R7cN+P+u8b57TVCL6QSs=",
"module": "sha256-H0SJxTBPmlEqVof/zAqvCTCvydcgUdOpBfrAcANi+3s=",
"pom": "sha256-ZAFewaGutVCqGCjCQuIoODDFD2g2TkCDH+FYj9wEEfU="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/1.9.22": {
"jar": "sha256-9dgu5hlmotmK364Z8k1hcwIsFUBIls3yNjQANe5owPU=",
"pom": "sha256-huMsqCkn2ogKHPNDpA7MIJgHXm/XInOzTVDfpUTzRjs="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/1.9.22": {
"jar": "sha256-jRr4djLZUUjxIqn6CuKQPBnub6t9AeAX924NLJoCLCA=",
"module": "sha256-z+LCbjMPaAMsAD+lJMAx5aYPzo2Jn/8uQjFBKL60QCs=",
"pom": "sha256-3BSjKHVDun5QRs1OCVAtJ4hMqYfshwb1+xid54luOsw="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.9.22": {
"jar": "sha256-UQj61b4UmCXs46ABA8PCHPGv6VS7ZLhweJVyk511OMs=",
"module": "sha256-L/MBPfK6epteiwBOhIF1DI0PqVOtAHoZbYXSY2cdvq4=",
"pom": "sha256-gfUmlHml2X7oeSpITIMr495DgggSZxlhUAHKyI5C9qg="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.22": {
"module": "sha256-pPRqwMq9jVzbaJ0tN9GdWFhPcIv59k/+TpgKL/dTS7U=",
"pom": "sha256-A3750tSupA9JKdglE1g+STwOBRVuDaix1/Ujurhobyc="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.22/gradle82": {
"jar": "sha256-1OcY3V8wxrqTLZPM/FswFendPkQUOgUrh3Ao8frlQtw="
},
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/1.9.22": {
"module": "sha256-Qj401h0iCxoN3BgUCGqM6rTa2ed5ArDOjLRyG789xu0=",
"pom": "sha256-da2/XHjOJHwiuvNijQs/8c9+19N9YB66cwTXerdb3Z8="
},
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.9.22": {
"jar": "sha256-jC9lQpwYLi5KLgnLkQ5iuW227tKFWUuPga+CO35ZROI=",
"pom": "sha256-EMrJcNMAo0icM/CzBBVv8DLZWVm+WqrDuIAoKtWGIv4="
},
"org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/1.9.22": {
"jar": "sha256-c/50PnTSEoPTg9C6voX9CMRCr8GnvYgIL42gUQ0FPUs=",
"pom": "sha256-dxghItppe2YqSRPX3Z/mu68ATOhH/YZ9oj6v8MTIJEs="
},
"org/jetbrains/kotlin#kotlin-native-utils/1.9.22": {
"jar": "sha256-eGwSfdVTXbLDmuWXzQsMrZ6RS4PiNvHbAlEjXMnGUqw=",
"pom": "sha256-EcUUwF7qOuno4Wq0l5bxEd9DxzSCMeNfr0xCjMT3Q+o="
},
"org/jetbrains/kotlin#kotlin-project-model/1.9.22": {
"jar": "sha256-zBHVwLGQnFsKCP0l7w51T/0r9Wyu9mX7eFEiI15UKhg=",
"pom": "sha256-659KFngb/ADM7IAw++XuIo5vKydxxQwmezIY/rAGW0A="
},
"org/jetbrains/kotlin#kotlin-reflect/1.6.10": {
"jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
"pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
},
"org/jetbrains/kotlin#kotlin-script-runtime/1.9.22": {
"jar": "sha256-uAZwV59/ktRz2NWDTwsST3dVxFmP6UskQYOwKDSDRXQ=",
"pom": "sha256-/ra0ns9pEG1MEoXnH5ob2noSfO9oMC4+n9yCmKTjR5U="
},
"org/jetbrains/kotlin#kotlin-scripting-common/1.9.22": {
"jar": "sha256-+lAMvwNJQ++BJvPT3GWvCf+Z3//kTFCZtPwu1b8vXcc=",
"pom": "sha256-ROURI7DCfm/ZM/wma00Nrw8GhKYq7Z/mhC6Noz8qKz8="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.9.22": {
"jar": "sha256-Ij/shIMCNEmc1MeiPqHJLroSfEGzXZux1LYdJBVa6zU=",
"pom": "sha256-wWCPP7yyqfdSPq0zWZwurc5MgSFhqeBmufSwBa97Qxw="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.9.22": {
"jar": "sha256-OJkYFqKH/3YkHxp35/ERZIHU6To9tjJZplfd4g5tD2U=",
"pom": "sha256-gmccM6lXsuKoINZqaSwvzmPjvwR/HLJeb7A5HF3c8uc="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.9.22": {
"jar": "sha256-jRJ9dvz6BRfDbB6g4ijs4D1aRoJkKgH2R5prvccxKik=",
"pom": "sha256-cBJS6huo/4f8M0dqYePVxtnS3aQbqpiZTdaYDuE/vG0="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.9.22": {
"jar": "sha256-ar4UbCeGQTi4dMzM/l9TTj65I8maG3tdRUlO5WlPPgo=",
"module": "sha256-9IIxS1B5wUVfb7DUJXp0XRAcYSTOlhUiuob53JCQHkc=",
"pom": "sha256-zOLxUoXsgHijd0a1cwigVAQt1cwlQgxD9zt4V8JGjwM="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.9.22/all": {
"jar": "sha256-zsOLwzAucqiq+c3kNrWpBx7gMx4q0F6E2LuJczTX6dQ="
},
"org/jetbrains/kotlin#kotlin-tooling-core/1.9.22": {
"jar": "sha256-iTjrl+NjINqj5vsqYP0qBbIy/0pVcXPFAZ8EW4gy2fQ=",
"pom": "sha256-FPx/NcY15fzRvqU3q0+kQxLoQyUtUzNRnjaxJeoImyE="
},
"org/jetbrains/kotlin#kotlin-util-io/1.9.22": {
"jar": "sha256-9telhJGjeLCDrRvq1IikheEdFgsx52wYwa1SDx0o9Gs=",
"pom": "sha256-ZP1qINbsBAE7ttdWJ/ZYC7c2QdlIkJ1cFmTi53MQbe4="
},
"org/jetbrains/kotlin#kotlin-util-klib/1.9.22": {
"jar": "sha256-pnnuL1EPOrkmkYGN5etbCQLobYjJdnTn20TcTyJSxfk=",
"pom": "sha256-Dep9//Cit0CIrJlwQ8vCQINdK/9Zs5/MiwysbqPrNpc="
},
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": {
"jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=",
"module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=",
"pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs="
},
"org/ow2#ow2/1.5.1": {
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
},
"org/ow2/asm#asm/9.6": {
"jar": "sha256-PG+sJCTbPUqFO2afTj0dnDxVIjXhmjGWc/iHCDwjA6E=",
"pom": "sha256-ku7iS8PIQ+SIHUbB3WUFRx7jFC+s+0ZrQoz+paVsa2A="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
}
}
}

View file

@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
gradle,
makeBinaryWrapper,
jre_headless,
zulu11,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gradle-dependency-tree-diff";
version = "1.2.1";
src = fetchFromGitHub {
owner = "JakeWharton";
repo = "dependency-tree-diff";
tag = finalAttrs.version;
hash = "sha256-7ObmZygzSp7aAnqsJuMcPk+I3z993kjHCJMug3JkONg=";
};
nativeBuildInputs = [
gradle
makeBinaryWrapper
];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
__darwinAllowLocalNetworking = true;
# There is a requirement on the specific Java toolchain.
gradleFlags = [ "-Dorg.gradle.java.home=${zulu11}" ];
gradleBuildTask = "build";
doCheck = true;
installPhase = ''
runHook preInstall
install -Dm644 build/dependency-tree-diff.jar \
$out/share/dependency-tree-diff/dependency-tree-diff.jar
makeWrapper ${lib.getExe jre_headless} $out/bin/dependency-tree-diff \
--add-flags "-jar $out/share/dependency-tree-diff/dependency-tree-diff.jar"
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Intelligent diff tool for the output of Gradle's dependencies task";
mainProgram = "dependency-tree-diff";
homepage = "https://github.com/JakeWharton/dependency-tree-diff";
changelog = "https://github.com/JakeWharton/dependency-tree-diff/releases/tag/${finalAttrs.version}";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.progrm_jarvis ];
inherit (jre_headless.meta) platforms;
badPlatforms = [
# Currently fails to build on Darwin due to `Could not connect to the Gradle daemon.` error
lib.systems.inspect.patterns.isDarwin
];
};
})

View file

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "kubectl-gadget";
version = "0.40.0";
version = "0.41.0";
src = fetchFromGitHub {
owner = "inspektor-gadget";
repo = "inspektor-gadget";
rev = "v${version}";
hash = "sha256-fizq0S2pvhrMwGR/l6yqzq3IXDuD01Abi3VRiNJqs48=";
hash = "sha256-q88+PTZqhJwkl5jmP9AwH/nRToU/jdOFd/Z+5RcyUYE=";
};
vendorHash = "sha256-zBEb61gxjCRXjdANIHWKVNu5Do+iEmxttKvyiYp8FYQ=";
vendorHash = "sha256-+z9DGplQZ77knVxYUUuUHwfE9ZtnZjMKuU6nMm8sAU0=";
env.CGO_ENABLED = 0;

View file

@ -10,29 +10,27 @@
python3,
}:
let
bgrabitmap = fetchFromGitHub {
owner = "bgrabitmap";
repo = "bgrabitmap";
rev = "2814b069d55f726b9f3b4774d85d00dd72be9c05";
hash = "sha256-YibwdhlgjgI30gqYsKchgDPlOSpBiDBDJNlUDFMygGs=";
};
bgracontrols = fetchFromGitHub {
owner = "bgrabitmap";
repo = "bgracontrols";
rev = "v8.0";
hash = "sha256-5L05eGVN+xncd0/0XLFN6EL2ux4aAOsiU0BMoy0dKgg=";
};
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "lazpaint";
version = "7.2.2-unstable-2024-01-23";
version = "7.3";
src = fetchFromGitHub {
owner = "bgrabitmap";
repo = "lazpaint";
rev = "45a7a471d531d6adb5ee557ff917a99af76e92f1";
hash = "sha256-KgCxSK72Ow29T58mlcYCJiS4D0Ov2/p37c1FSNgKZew=";
tag = "v${finalAttrs.version}";
hash = "sha256-yT1HyvJcYEJgMkQxzCSD8s7/ttemxZaur9T+As8WdIo=";
};
bgrabitmap = fetchFromGitHub {
owner = "bgrabitmap";
repo = "bgrabitmap";
tag = "v11.6.6";
hash = "sha256-bA8tvo7Srm5kIZTVWEA2+gjqHab7LByyL/zqdQxeFlA=";
};
bgracontrols = fetchFromGitHub {
owner = "bgrabitmap";
repo = "bgracontrols";
tag = "v9.0.2";
hash = "sha256-HqX9n4VpOyMwTz3fTweTTqzW+jA2BU62mm/X7Iwjd/8=";
};
nativeBuildInputs = [
@ -59,8 +57,8 @@ stdenv.mkDerivation {
runHook preBuild
export HOME=$(mktemp -d)
cp -r --no-preserve=mode ${bgrabitmap} bgrabitmap
cp -r --no-preserve=mode ${bgracontrols} bgracontrols
cp -r --no-preserve=mode ${finalAttrs.bgrabitmap} bgrabitmap
cp -r --no-preserve=mode ${finalAttrs.bgracontrols} bgracontrols
lazbuild --lazarusdir=${lazarus-qt5}/share/lazarus \
--build-mode=ReleaseQt5 \
@ -86,4 +84,4 @@ stdenv.mkDerivation {
maintainers = with lib.maintainers; [ aleksana ];
mainProgram = "lazpaint";
};
}
})

View file

@ -23,7 +23,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libgit2";
version = "1.9.0";
version = "1.9.1";
# also check the following packages for updates: python3Packages.pygit2 and libgit2-glib
outputs = [
@ -36,17 +36,9 @@ stdenv.mkDerivation (finalAttrs: {
owner = "libgit2";
repo = "libgit2";
rev = "v${finalAttrs.version}";
hash = "sha256-v32yGMo5oFEl6HUdg8czCsCLDL+sy9PPT0AEWmKxUhk=";
hash = "sha256-/xI3v7LNhpgfjv/m+sZwYDhhYvS6kQYxiiiG3+EF8Mw=";
};
patches = [
(fetchpatch {
name = "libgit2-darwin-case-sensitive-build.patch";
url = "https://github.com/libgit2/libgit2/commit/1b348a31349e847b1d8548281aa92f26b9783f2f.patch";
hash = "sha256-CBaUuEr3nPdUuOdyJtmPgyqR0MNnVyOFYbYXF3ncupU=";
})
];
cmakeFlags =
[
"-DREGEX_BACKEND=pcre2"

View file

@ -1,10 +1,10 @@
{
lib,
stdenv,
fetchpatch,
fetchFromGitHub,
pcre2,
sqlite,
ncurses,
readline,
zlib,
bzip2,
@ -34,6 +34,16 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-XS3/km2sJwRnWloLKu9X9z07+qBFRfUsaRpZVYjoclI=";
};
patches = [
# fixes lnav in tmux by patching vendored dependency notcurses
# https://github.com/tstack/lnav/issues/1390
# remove on next release
(fetchpatch {
url = "https://github.com/tstack/lnav/commit/5e0bfa483714f05397265a690960d23ae22e1838.patch";
hash = "sha256-dArPJik9KVI0KQjGw8W11oqGrbsBCNOr93gaH3yDPpo=";
})
];
enableParallelBuilding = true;
separateDebugInfo = true;
@ -59,7 +69,6 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs =
[
bzip2
ncurses
pcre2
readline
sqlite

View file

@ -13,7 +13,7 @@ buildGoModule rec {
owner = "logdyhq";
repo = "logdy-core";
tag = "v${version}";
hash = "sha256-779ZO9WhE3IKbHJLchCfrIepMH+GOrlQJALLpoNZvbc=";
hash = "sha256-hhmzTJn136J8DZ719WSu8tafRp8s4MBj6vDVWYTfFyc=";
};
vendorHash = "sha256-kFhcbBMymzlJ+2zw7l09LJfCdps26Id+VzOehqrLDWU=";

View file

@ -1,15 +1,15 @@
{
stdenv,
lib,
fetchFromGitea,
rustPlatform,
nix-update-script,
# native check inputs
git,
versionCheckHook,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mergiraf";
version = "0.10.0";
@ -17,33 +17,33 @@ rustPlatform.buildRustPackage rec {
domain = "codeberg.org";
owner = "mergiraf";
repo = "mergiraf";
rev = "refs/tags/v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-wnXOl7KzSvvxQP4CebOJ+fEIn7fQDKTmO2PkGMRA4t4=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-jShWfd3m9g6YlUFLOzlMPFtuXAAfjh+sBujCJ9F2Uj0=";
nativeCheckInputs = [
git
];
nativeCheckInputs = [ git ];
doInstallCheck = true;
nativeInstallCheckInputs = [
versionCheckHook
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
description = "Syntax-aware git merge driver for a growing collection of programming languages and file formats";
homepage = "https://mergiraf.org/";
changelog = "https://codeberg.org/mergiraf/mergiraf/releases/tag/v${version}";
downloadPage = "https://codeberg.org/mergiraf/mergiraf";
changelog = "https://codeberg.org/mergiraf/mergiraf/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
zimbatm
genga898
defelo
];
mainProgram = "mergiraf";
};
}
})

View file

@ -20,14 +20,14 @@
python3Packages.buildPythonApplication rec {
pname = "newelle";
version = "0.9.7";
version = "0.9.8";
pyproject = false; # uses meson
src = fetchFromGitHub {
owner = "qwersyk";
repo = "Newelle";
tag = version;
hash = "sha256-h0dWjnUqWcPdSbR60HF2KvQxUyYeR3qHf2GMHt/kSm0=";
hash = "sha256-VyUng/ZX8+wInRX705IWdBgTbX439R60h62ONdpZ0+8=";
};
postPatch = ''

View file

@ -6,21 +6,20 @@
curl,
expat,
gumbo,
ncurses,
sqlite,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "newsraft";
version = "0.30";
version = "0.31";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "newsraft";
repo = "newsraft";
rev = "newsraft-${finalAttrs.version}";
hash = "sha256-h9gjw2EjWWNdyQT2p4wgWlz4TNitDBX5fPbNNH9/th4=";
hash = "sha256-XnVGt9frUKeAjxYk2cr3q3a5HpqVH0CHnNiKdTTBnqA=";
};
nativeBuildInputs = [ pkg-config ];
@ -28,21 +27,20 @@ stdenv.mkDerivation (finalAttrs: {
curl
expat
gumbo
ncurses
sqlite
];
makeFlags = [ "PREFIX=$(out)" ];
installTargets = "install install-desktop";
postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
install -Dm444 doc/newsraft.desktop -t $out/share/applications
'';
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE";
passthru.updateScript = nix-update-script { };
meta = {
description = "Feed reader for terminal";
homepage = "https://codeberg.org/grisha/newsraft";
homepage = "https://codeberg.org/newsraft/newsraft";
changelog = "https://codeberg.org/newsraft/newsraft/releases/tag/newsraft-${finalAttrs.version}";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [
arthsmn

View file

@ -0,0 +1,17 @@
{ lib, fetchFromGitHub }:
rec {
version = "4.5.0";
src = fetchFromGitHub {
owner = "evan-buss";
repo = "openbooks";
rev = "v${version}";
hash = "sha256-gznaMcj8/9xW8wvz/pQaw4tY/hDW8K6duFfJD74E47E=";
};
meta = with lib; {
homepage = "https://evan-buss.github.io/openbooks/";
license = licenses.mit;
maintainers = with maintainers; [ ambroisie ];
};
}

View file

@ -0,0 +1,27 @@
{
buildNpmPackage,
callPackage,
}:
let
common = callPackage ./common.nix { };
in
buildNpmPackage {
pname = "openbooks-frontend";
inherit (common) version;
src = "${common.src}/server/app";
npmDepsHash = "sha256-OtXPOFK18b6tzFIvXkThafLUw0GlioRmxjzcKYeTalU=";
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
meta = common.meta // {
description = "openbooks frontend";
};
}

View file

@ -0,0 +1,34 @@
{
lib,
buildGoModule,
callPackage,
fetchFromGitHub,
}:
let
common = callPackage ./common.nix { };
frontend = callPackage ./frontend.nix { };
in
buildGoModule (finalAttrs: {
pname = "openbooks";
inherit (common) version src;
vendorHash = "sha256-ETN5oZanDH7fOAVnfIHIoXyVof7CfEMkPSOHF2my5ys=";
postPatch = ''
cp -r ${finalAttrs.passthru.frontend} server/app/dist/
'';
subPackages = [ "cmd/openbooks" ];
passthru = {
inherit frontend;
updateScript = ./update.sh;
};
meta = common.meta // {
description = "Search and Download eBooks";
mainProgram = "openbooks";
};
})

View file

@ -0,0 +1,46 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix wget prefetch-npm-deps nix-prefetch-github nurl jq
# shellcheck shell=bash
if [ -n "${GITHUB_TOKEN:-}" ]; then
TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN")
fi
if [ "$#" -gt 1 ] || [[ $1 == -* ]]; then
echo "Regenerates packaging data for the openbooks package."
echo "Usage: $0 [git release tag]"
exit 1
fi
version="$1"
rev="v$version"
set -euo pipefail
NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"
if [ -z "$version" ]; then
rev="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/evan-buss/openbooks/releases?per_page=1" | jq -r '.[0].tag_name')"
version="${rev#v}"
fi
package_src="https://raw.githubusercontent.com/evan-buss/openbooks/$rev"
src_hash=$(nix-prefetch-github evan-buss openbooks --rev "$rev" | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
pushd "$tmpdir"
wget "${TOKEN_ARGS[@]}" "$package_src/server/app/package-lock.json"
npm_hash=$(prefetch-npm-deps package-lock.json)
popd
cd "$(dirname "${BASH_SOURCE[0]}")"
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" common.nix
sed -i -E -e "s#npmDepsHash = \".*\"#npmDepsHash = \"$npm_hash\"#" frontend.nix
vendor_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).openbooks.goModules")
sed -i -E -e "s#vendorHash = \".*\"#vendorHash = \"$vendor_hash\"#" package.nix

View file

@ -7,16 +7,16 @@
buildGoModule {
pname = "pkgsite";
version = "0-unstable-2025-05-23";
version = "0-unstable-2025-06-08";
src = fetchFromGitHub {
owner = "golang";
repo = "pkgsite";
rev = "0e6de173c6b5ef31749de2ae384bb05ddc6726ba";
hash = "sha256-WRNw+BjUY8/gj7tcPs0Ifz47JtBlU+SEIt12EZmtOjw=";
rev = "82c52f1754cd0ea741a56981d4830176071531d3";
hash = "sha256-bI5jVmCM5pSdiT+OJGrg1pBQ6ozPbXdZzrdLxr9cMUU=";
};
vendorHash = "sha256-s8uYvMQENqeUN8DbZ/jNhcTe2dJeiE9UYPCPGeScO10=";
vendorHash = "sha256-dZKm3dMI969HKPBrC95vVmY1cZmjy+NWq7xOzXsTE14=";
subPackages = [ "cmd/pkgsite" ];

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "plasma-panel-colorizer";
version = "4.2.0";
version = "4.3.0";
src = fetchFromGitHub {
owner = "luisbocanegra";
repo = "plasma-panel-colorizer";
tag = "v${finalAttrs.version}";
hash = "sha256-fqhuW7SoUluUJU0tv1MIUX1IhOn3j514Hlrdxlnqvvg=";
hash = "sha256-B0aP49udYTV/zfEdZS4uvkGG4wZUScqTVn9+d5SYCEQ=";
};
nativeBuildInputs = [

View file

@ -8,11 +8,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "scite";
version = "5.5.6";
version = "5.5.7";
src = fetchurl {
url = "https://www.scintilla.org/scite${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}.tgz";
hash = "sha256-VmNP6NepkF7Ln9eh9pfStmch9nwIKKZTOYxkeduSxrI=";
hash = "sha256-L/UceHGFgFbzUPvc2VBehXXJNmwyyPwBfgxvuv3Vxu8=";
};
nativeBuildInputs = [

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tailwindcss-language-server";
version = "0.14.19";
version = "0.14.21";
src = fetchFromGitHub {
owner = "tailwindlabs";
repo = "tailwindcss-intellisense";
tag = "v${finalAttrs.version}";
hash = "sha256-lAZ3BoecPB3+zmI8RataAcbk32avV9Ie+Ek6q/JcXnU=";
hash = "sha256-UmeaNCMuXSPVuzYAjOhhHkKkTcsBnjLbB3oeXG8uv5U=";
};
pnpmDeps = pnpm_9.fetchDeps {
@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmWorkspaces
prePnpmInstall
;
hash = "sha256-TxWaapm/nkyMi3JCj6TE56DhJYPBWBDGXOnzgB9uPjs=";
hash = "sha256-SUEq20gZCiTDkFuNgMc5McHBPgW++8P9Q1MJb7a7pY8=";
};
nativeBuildInputs = [

View file

@ -6,16 +6,16 @@
}:
buildNpmPackage (finalAttrs: {
pname = "task-master-ai";
version = "0.15.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "eyaltoledano";
repo = "claude-task-master";
tag = "v${finalAttrs.version}";
hash = "sha256-cCfyQ9xU8axuZyTTVsrYVuic6DPHnAc4YX7aKj2MmSE=";
hash = "sha256-u9gLwYGRNwkyIOS8zf0nSJfrUDs7ib3Vbm0awtskpSg=";
};
npmDepsHash = "sha256-UNGJ64E12ppo37gJBDNpyRFYfNEJMH5mRnK3HyWcy8E=";
npmDepsHash = "sha256-PjnyCqYKj1alnm1gOMSnIeGtg3pJcZ5A8ThxOQZMSF4=";
dontNpmBuild = true;

View file

@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
rustPlatform,
fetchpatch2,
libiconv,
zlib,
versionCheckHook,
@ -20,6 +21,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-jCI9VM3y76RI65E5UGuAPuPkDRTMyi+ydx64JWHcGfE=";
};
patches = [
(fetchpatch2 {
# https://github.com/XAMPPRocky/tokei/pull/1209
url = "https://github.com/XAMPPRocky/tokei/commit/ce8d8535276a2e41878981a8199232986ab96c6b.patch";
hash = "sha256-1tb+WmjVsTxs8Awf1mbKOBIhJ3ddoOT8ZjBKA2BMocg=";
})
];
useFetchCargoVendor = true;
cargoHash = "sha256-LzlyrKaRjUo6JnVLQnHidtI4OWa+GrhAc4D8RkL+nmQ=";

View file

@ -11,16 +11,16 @@
buildGoModule rec {
pname = "updatecli";
version = "0.100.0";
version = "0.101.0";
src = fetchFromGitHub {
owner = "updatecli";
repo = "updatecli";
rev = "v${version}";
hash = "sha256-gzHNUFhctfMSoXEVlnYJW4qD6MmV/NMMoTFSp550FTQ=";
hash = "sha256-anuP3od1cuuB9Y5wUn8CldvMZZFfD9ISyIma97oksjo=";
};
vendorHash = "sha256-b4mIRfiFqOqRiyZJSrASCDpcE65j45SbgE7E8yFXrCE=";
vendorHash = "sha256-J8D02rkh+NJJQvk9ORV6WwoWtTKfbLtiL1bAZRVhLnI=";
# tests require network access
doCheck = false;

View file

@ -11,7 +11,7 @@
buildGoModule rec {
pname = "vale";
version = "3.11.2";
version = "3.12.0";
subPackages = [ "cmd/vale" ];
@ -19,10 +19,10 @@ buildGoModule rec {
owner = "errata-ai";
repo = "vale";
tag = "v${version}";
hash = "sha256-7wBMdATN2kAXUG6fWwq/8JifLrhxDjjPWlZSA47yrxM=";
hash = "sha256-j228Gt2cHkO1XZv+KqH6U8EjttQzDZiOMLppdJUJwvA=";
};
vendorHash = "sha256-Zhhp/qbwGTQEZ28S+p7GJodwQcnkFNqNU7WCZKdeoz0=";
vendorHash = "sha256-3gmgKcpCEeFjHpm+iKQvm4Cv5UfzFrcDDNIAnlY/a5s=";
ldflags = [
"-s"

View file

@ -210,6 +210,12 @@ buildFHSEnv {
substituteInPlace $out/share/applications/com.tencent.wechat.desktop \
--replace-quiet 'Exec=/usr/bin/wechat' "Exec=$out/bin/wechat-uos --"
# See https://github.com/NixOS/nixpkgs/issues/413491
sed -i \
-e '/\[Desktop Entry\]/a\' \
-e 'StartupWMClass=wechat' \
$out/share/applications/com.tencent.wechat.desktop
'';
targetPkgs = pkgs: [ wechat-uos-env ];

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "mediainfo.yazi";
version = "25.5.28-unstable-2025-05-30";
version = "25.5.31-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "mediainfo.yazi";
rev = "c6d0de764f6e667c1a7a49f8acc9030c02a1a45c";
hash = "sha256-CVHY66AcOC0STi+uDwbKe+HI3WN7MPgszlFHB479V/E=";
rev = "a7d1aa69a1a107e64540c17f19ac94be1366769f";
hash = "sha256-HUD8Sv1C4gzZRvSEIYqcmm+A0mBYDuwZHCNH26kipS0=";
};
meta = {

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "projects.yazi";
version = "0-unstable-2025-05-29";
version = "0-unstable-2025-06-03";
src = fetchFromGitHub {
owner = "MasouShizuka";
repo = "projects.yazi";
rev = "96af237d2255d5dab5493c020f55561f63c28777";
hash = "sha256-N8XH6adXPk/iU173fXEViv0NPwFZ0WYiyEJGBs4c6ec=";
rev = "7037dd5eee184ccb7725bdc9f7ea6faa188420d5";
hash = "sha256-Lc0MeiAuPgJTq4ojNw9hwxqPJ74S4ymn4uPTkxGeZGc=";
};
meta = {

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "relative-motions.yazi";
version = "25.4.8-unstable-2025-04-16";
version = "25.5.28-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "dedukun";
repo = "relative-motions.yazi";
rev = "ce2e890227269cc15cdc71d23b35a58fae6d2c27";
hash = "sha256-Ijz1wYt+L+24Fb/rzHcDR8JBv84z2UxdCIPqTdzbD14=";
rev = "2e3b6172e6226e0db96aea12d09dea2d2e443fea";
hash = "sha256-v0e06ieBKNmt9DATdL7R4AyVFa9DlNBwpfME3LHozLA=";
};
meta = {

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "rich-preview.yazi";
version = "0-unstable-2025-05-30";
version = "0-unstable-2025-05-31";
src = fetchFromGitHub {
owner = "AnirudhG07";
repo = "rich-preview.yazi";
rev = "de28f504f21ee78b9e4799f116df2aa177384229";
hash = "sha256-pJ5aMAECK0M4v/8czGP5RZygfRAyS9IdQCeP3ZP1Gcs=";
rev = "843c3faf0a99f5ce31d02372c868d8dae92ca29d";
hash = "sha256-celObHo9Y3pFCd1mTx1Lz77Tc22SJTleRblAkbH/RqY=";
};
meta = {

View file

@ -5,12 +5,12 @@
}:
mkYaziPlugin {
pname = "rsync.yazi";
version = "0-unstable-2025-04-24";
version = "0-unstable-2025-06-07";
src = fetchFromGitHub {
owner = "GianniBYoung";
repo = "rsync.yazi";
rev = "ed7b7f9de971ecd8376d7ccb7a6d0d6f979c1dcb";
hash = "sha256-xAhkDTNi0MjHqESKk8j60WABYvaF7NElO2W/rsL2w2Y=";
rev = "782481e58316f4b422f5c259f07c63b940555246";
hash = "sha256-ZrvaJl3nf/CGavvk1QEyOMUbfKQ/JYSmZguvbXIIw9M=";
};
meta = {

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "starship.yazi";
version = "25.4.8-unstable-2025-05-30";
version = "25.4.8-unstable-2025-06-01";
src = fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "428d43ac0846cb1885493a1f01c049a883b70155";
hash = "sha256-YkDkMC2SJIfpKrt93W/v5R3wOrYcat7QTbPrWqIKXG8=";
rev = "6a0f3f788971b155cbc7cec47f6f11aebbc148c9";
hash = "sha256-q1G0Y4JAuAv8+zckImzbRvozVn489qiYVGFQbdCxC98=";
};
meta = {

View file

@ -1,12 +1,13 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 python3Packages.requests python3Packages.packaging nix curl git
#!nix-shell -i python3 -p python3 python3Packages.requests python3Packages.packaging nix curl git argparse
import argparse
import json
import os
import re
import subprocess
import sys
from pathlib import Path
from typing import Dict, Tuple
import requests
from packaging import version
@ -17,13 +18,14 @@ def run_command(cmd: str, capture_output: bool = True) -> str:
result = subprocess.run(cmd, shell=True, text=True, capture_output=capture_output)
if result.returncode != 0:
if capture_output:
print(f"Error running command: {cmd}")
print(f"stderr: {result.stderr}")
sys.exit(1)
error_msg = f"Error running command: {cmd}\nstderr: {result.stderr}"
raise RuntimeError(error_msg)
else:
raise RuntimeError(f"Command failed: {cmd}")
return result.stdout.strip() if capture_output else ""
def get_plugin_info(nixpkgs_dir: str, plugin_name: str) -> Dict[str, str]:
def get_plugin_info(nixpkgs_dir: str, plugin_name: str) -> dict[str, str]:
"""Get plugin repository information from Nix"""
owner = run_command(f"nix eval --raw -f {nixpkgs_dir} yaziPlugins.\"{plugin_name}\".src.owner")
repo = run_command(f"nix eval --raw -f {nixpkgs_dir} yaziPlugins.\"{plugin_name}\".src.repo")
@ -40,7 +42,7 @@ def get_yazi_version(nixpkgs_dir: str) -> str:
def get_github_headers() -> Dict[str, str]:
def get_github_headers() -> dict[str, str]:
"""Create headers for GitHub API requests"""
headers = {"Accept": "application/vnd.github.v3+json"}
github_token = os.environ.get("GITHUB_TOKEN")
@ -49,7 +51,7 @@ def get_github_headers() -> Dict[str, str]:
return headers
def get_default_branch(owner: str, repo: str, headers: Dict[str, str]) -> str:
def get_default_branch(owner: str, repo: str, headers: dict[str, str]) -> str:
"""Get the default branch name for a GitHub repository"""
api_url = f"https://api.github.com/repos/{owner}/{repo}"
@ -63,7 +65,7 @@ def get_default_branch(owner: str, repo: str, headers: Dict[str, str]) -> str:
print("Falling back to 'main' as default branch")
return "main"
def fetch_plugin_content(owner: str, repo: str, plugin_pname: str, headers: Dict[str, str]) -> str:
def fetch_plugin_content(owner: str, repo: str, plugin_pname: str, headers: dict[str, str]) -> str:
"""Fetch the plugin's main.lua content from GitHub"""
default_branch = get_default_branch(owner, repo, headers)
plugin_path = f"{plugin_pname}/" if owner == "yazi-rs" else ""
@ -74,8 +76,7 @@ def fetch_plugin_content(owner: str, repo: str, plugin_pname: str, headers: Dict
response.raise_for_status()
return response.text
except requests.RequestException as e:
print(f"Error fetching plugin content: {e}")
sys.exit(1)
raise RuntimeError(f"Error fetching plugin content: {e}")
def check_version_compatibility(plugin_content: str, plugin_name: str, yazi_version: str) -> str:
@ -86,15 +87,15 @@ def check_version_compatibility(plugin_content: str, plugin_name: str, yazi_vers
if required_version == "0":
print(f"No version requirement found for {plugin_name}, assuming compatible with any Yazi version")
else:
# Check if the plugin is compatible with current Yazi version
if version.parse(required_version) > version.parse(yazi_version):
print(f"{plugin_name} plugin requires Yazi {required_version}, but we have {yazi_version}")
sys.exit(0)
message = f"{plugin_name} plugin requires Yazi {required_version}, but we have {yazi_version}"
print(message)
raise RuntimeError(message)
return required_version
def get_latest_commit(owner: str, repo: str, plugin_pname: str, headers: Dict[str, str]) -> Tuple[str, str]:
def get_latest_commit(owner: str, repo: str, plugin_pname: str, headers: dict[str, str]) -> tuple[str, str]:
"""Get the latest commit hash and date for the plugin"""
default_branch = get_default_branch(owner, repo, headers)
@ -110,8 +111,7 @@ def get_latest_commit(owner: str, repo: str, plugin_pname: str, headers: Dict[st
response.raise_for_status()
commit_data = response.json()
except requests.RequestException as e:
print(f"Error fetching commit data: {e}")
sys.exit(1)
raise RuntimeError(f"Error fetching commit data: {e}")
if owner == "yazi-rs":
latest_commit = commit_data[0]["sha"]
@ -121,8 +121,7 @@ def get_latest_commit(owner: str, repo: str, plugin_pname: str, headers: Dict[st
commit_date = commit_data["commit"]["committer"]["date"].split("T")[0]
if not latest_commit:
print("Error: Could not get latest commit hash")
sys.exit(1)
raise RuntimeError("Could not get latest commit hash")
return latest_commit, commit_date
@ -134,24 +133,18 @@ def calculate_sri_hash(owner: str, repo: str, latest_commit: str) -> str:
try:
new_hash = run_command(f"nix-prefetch-url --unpack --type sha256 {prefetch_url} 2>/dev/null")
# If the hash is not in SRI format, convert it
if not new_hash.startswith("sha256-"):
# Try to convert the hash to SRI format
new_hash = run_command(f"nix hash to-sri --type sha256 {new_hash} 2>/dev/null")
# If that fails, try another approach
if not new_hash.startswith("sha256-"):
print("Warning: Failed to get SRI hash directly, trying alternative method...")
raw_hash = run_command(f"nix-prefetch-url --type sha256 {prefetch_url} 2>/dev/null")
new_hash = run_command(f"nix hash to-sri --type sha256 {raw_hash} 2>/dev/null")
except Exception as e:
print(f"Error calculating hash: {e}")
sys.exit(1)
raise RuntimeError(f"Error calculating hash: {e}")
# Verify we got a valid SRI hash
if not new_hash.startswith("sha256-"):
print(f"Error: Failed to generate valid SRI hash. Output was: {new_hash}")
sys.exit(1)
raise RuntimeError(f"Failed to generate valid SRI hash. Output was: {new_hash}")
return new_hash
@ -162,8 +155,7 @@ def read_nix_file(file_path: str) -> str:
with open(file_path, 'r') as f:
return f.read()
except IOError as e:
print(f"Error reading file {file_path}: {e}")
sys.exit(1)
raise RuntimeError(f"Error reading file {file_path}: {e}")
def write_nix_file(file_path: str, content: str) -> None:
@ -172,101 +164,265 @@ def write_nix_file(file_path: str, content: str) -> None:
with open(file_path, 'w') as f:
f.write(content)
except IOError as e:
print(f"Error writing to file {file_path}: {e}")
sys.exit(1)
raise RuntimeError(f"Error writing to file {file_path}: {e}")
def update_nix_file(default_nix_path: str, latest_commit: str, new_version: str, new_hash: str) -> None:
"""Update the default.nix file with new version, revision and hash"""
default_nix_content = read_nix_file(default_nix_path)
# Update the revision in default.nix
default_nix_content = re.sub(r'rev = "[^"]*"', f'rev = "{latest_commit}"', default_nix_content)
# Update the version in default.nix
if 'version = "' in default_nix_content:
default_nix_content = re.sub(r'version = "[^"]*"', f'version = "{new_version}"', default_nix_content)
else:
# Add version attribute after pname if it doesn't exist
default_nix_content = re.sub(r'(pname = "[^"]*";)', f'\\1\n version = "{new_version}";', default_nix_content)
# Update hash in default.nix
if 'hash = "' in default_nix_content:
default_nix_content = re.sub(r'hash = "[^"]*"', f'hash = "{new_hash}"', default_nix_content)
elif 'fetchFromGitHub' in default_nix_content:
default_nix_content = re.sub(r'sha256 = "[^"]*"', f'sha256 = "{new_hash}"', default_nix_content)
else:
print(f"Error: Could not find hash attribute in {default_nix_path}")
sys.exit(1)
raise RuntimeError(f"Could not find hash attribute in {default_nix_path}")
# Write the updated content back to the file
write_nix_file(default_nix_path, default_nix_content)
# Verify the hash was updated
updated_content = read_nix_file(default_nix_path)
if f'hash = "{new_hash}"' in updated_content or f'sha256 = "{new_hash}"' in updated_content:
print(f"Successfully updated hash to: {new_hash}")
else:
print(f"Error: Failed to update hash in {default_nix_path}")
sys.exit(1)
raise RuntimeError(f"Failed to update hash in {default_nix_path}")
def validate_environment() -> Tuple[str, str, str]:
def get_all_plugins(nixpkgs_dir: str) -> list[dict[str, str]]:
"""Get all available Yazi plugins from the Nix expression"""
try:
plugin_names_json = run_command(f'nix eval --impure --json --expr "builtins.attrNames (import {nixpkgs_dir} {{}}).yaziPlugins"')
plugin_names = json.loads(plugin_names_json)
excluded_attrs = ["mkYaziPlugin", "override", "overrideDerivation", "overrideAttrs", "recurseForDerivations"]
plugin_names = [name for name in plugin_names if name not in excluded_attrs]
plugins = []
for name in plugin_names:
try:
pname = run_command(f'nix eval --raw -f {nixpkgs_dir} "yaziPlugins.{name}.pname"')
plugins.append({
"name": name, # Attribute name in yaziPlugins set
"pname": pname # Package name (used in repo paths)
})
except Exception as e:
print(f"Warning: Could not get pname for plugin {name}, skipping: {e}")
continue
return plugins
except Exception as e:
raise RuntimeError(f"Error getting plugin list: {e}")
def validate_environment(plugin_name: str | None = None, plugin_pname: str | None = None) -> tuple[str, str | None, str | None]:
"""Validate environment variables and paths"""
nixpkgs_dir = os.getcwd()
plugin_name = os.environ.get("PLUGIN_NAME")
plugin_pname = os.environ.get("PLUGIN_PNAME")
if not plugin_name or not plugin_pname:
print("Error: PLUGIN_NAME and PLUGIN_PNAME environment variables must be set")
sys.exit(1)
if plugin_name and not plugin_pname:
raise RuntimeError(f"pname not provided for plugin {plugin_name}")
if plugin_name:
plugin_dir = f"{nixpkgs_dir}/pkgs/by-name/ya/yazi/plugins/{plugin_name}"
if not Path(f"{plugin_dir}/default.nix").exists():
print(f"Error: Could not find default.nix for plugin {plugin_name} at {plugin_dir}")
sys.exit(1)
raise RuntimeError(f"Could not find default.nix for plugin {plugin_name} at {plugin_dir}")
return nixpkgs_dir, plugin_name, plugin_pname
def main():
"""Main function to update a Yazi plugin"""
# Basic setup and validation
nixpkgs_dir, plugin_name, plugin_pname = validate_environment()
def update_single_plugin(nixpkgs_dir: str, plugin_name: str, plugin_pname: str) -> dict[str, str] | None:
"""Update a single Yazi plugin
Returns:
dict with update info including old_version, new_version, etc. or None if no change
"""
plugin_dir = f"{nixpkgs_dir}/pkgs/by-name/ya/yazi/plugins/{plugin_name}"
default_nix_path = f"{plugin_dir}/default.nix"
# Get repository info
nix_content = read_nix_file(default_nix_path)
old_version_match = re.search(r'version = "([^"]*)"', nix_content)
old_version = old_version_match.group(1) if old_version_match else "unknown"
old_commit_match = re.search(r'rev = "([^"]*)"', nix_content)
old_commit = old_commit_match.group(1) if old_commit_match else "unknown"
plugin_info = get_plugin_info(nixpkgs_dir, plugin_name)
owner = plugin_info["owner"]
repo = plugin_info["repo"]
# Get Yazi version separately
yazi_version = get_yazi_version(nixpkgs_dir)
# Setup GitHub API headers
headers = get_github_headers()
# Check plugin compatibility with current Yazi version
plugin_content = fetch_plugin_content(owner, repo, plugin_pname, headers)
required_version = check_version_compatibility(plugin_content, plugin_name, yazi_version)
# Get latest commit info
latest_commit, commit_date = get_latest_commit(owner, repo, plugin_pname, headers)
print(f"Updating {plugin_name} to commit {latest_commit} ({commit_date})")
print(f"Checking {plugin_name} latest commit {latest_commit} ({commit_date})")
if latest_commit == old_commit:
print(f"No changes for {plugin_name}, already at latest commit {latest_commit}")
return None
print(f"Updating {plugin_name} from commit {old_commit} to {latest_commit}")
# Generate new version string
new_version = f"{required_version}-unstable-{commit_date}"
# Calculate hash for the plugin
new_hash = calculate_sri_hash(owner, repo, latest_commit)
print(f"Generated SRI hash: {new_hash}")
# Update the default.nix file
update_nix_file(default_nix_path, latest_commit, new_version, new_hash)
print(f"Successfully updated {plugin_name} to version {new_version} (commit {latest_commit})")
print(f"Successfully updated {plugin_name} from {old_version} to {new_version}")
return {
"name": plugin_name,
"old_version": old_version,
"new_version": new_version,
"old_commit": old_commit,
"new_commit": latest_commit
}
def update_all_plugins(nixpkgs_dir: str) -> list[dict[str, str]]:
"""Update all available Yazi plugins
Returns:
list[dict[str, str]]: List of successfully updated plugin info dicts
"""
plugins = get_all_plugins(nixpkgs_dir)
updated_plugins = []
if not plugins:
print("No plugins found to update")
return updated_plugins
print(f"Found {len(plugins)} plugins to update")
checked_count = 0
updated_count = 0
failed_plugins = []
for plugin in plugins:
plugin_name = plugin["name"]
plugin_pname = plugin["pname"]
try:
print(f"\n{'=' * 50}")
print(f"Checking plugin: {plugin_name}")
print(f"{'=' * 50}")
try:
update_info = update_single_plugin(nixpkgs_dir, plugin_name, plugin_pname)
checked_count += 1
if update_info:
updated_count += 1
updated_plugins.append(update_info)
except KeyboardInterrupt:
print("\nUpdate process interrupted by user")
sys.exit(1)
except Exception as e:
print(f"Error updating plugin {plugin_name}: {e}")
failed_plugins.append({"name": plugin_name, "error": str(e)})
continue
except Exception as e:
print(f"Unexpected error with plugin {plugin_name}: {e}")
failed_plugins.append({"name": plugin_name, "error": str(e)})
continue
print(f"\n{'=' * 50}")
print(f"Update summary: {updated_count} plugins updated out of {checked_count} checked")
if updated_count > 0:
print("\nUpdated plugins:")
for plugin in updated_plugins:
print(f" - {plugin['name']}: {plugin['old_version']}{plugin['new_version']}")
if failed_plugins:
print(f"\nFailed to update {len(failed_plugins)} plugins:")
for plugin in failed_plugins:
print(f" - {plugin['name']}: {plugin['error']}")
return updated_plugins
def commit_changes(updated_plugins: list[dict[str, str]]) -> None:
"""Commit all changes after updating plugins"""
if not updated_plugins:
print("No plugins were updated, skipping commit")
return
try:
status_output = run_command("git status --porcelain", capture_output=True)
if not status_output:
print("No changes to commit")
return
current_date = run_command("date +%Y-%m-%d", capture_output=True)
if len(updated_plugins) == 1:
plugin = updated_plugins[0]
commit_message = f"yaziPlugins.{plugin['name']}: update from {plugin['old_version']} to {plugin['new_version']}"
else:
commit_message = f"yaziPlugins: update on {current_date}\n\n"
for plugin in sorted(updated_plugins, key=lambda x: x['name']):
commit_message += f"- {plugin['name']}: {plugin['old_version']}{plugin['new_version']}\n"
run_command("git add pkgs/by-name/ya/yazi/plugins/", capture_output=False)
run_command(f'git commit -m "{commit_message}"', capture_output=False)
print(f"\nCommitted changes with message: {commit_message}")
except Exception as e:
print(f"Error committing changes: {e}")
def main():
"""Main function to update Yazi plugins"""
parser = argparse.ArgumentParser(description="Update Yazi plugins")
group = parser.add_mutually_exclusive_group()
group.add_argument("--all", action="store_true", help="Update all Yazi plugins")
group.add_argument("--plugin", type=str, help="Update a specific plugin by name")
parser.add_argument("--commit", action="store_true", help="Commit changes after updating")
args = parser.parse_args()
nixpkgs_dir = os.getcwd()
updated_plugins = []
if args.all:
print("Updating all Yazi plugins...")
updated_plugins = update_all_plugins(nixpkgs_dir)
elif args.plugin:
plugin_name = args.plugin
try:
plugin_pname = run_command(f'nix eval --raw -f {nixpkgs_dir} "yaziPlugins.{plugin_name}.pname"')
print(f"Updating Yazi plugin: {plugin_name}")
update_info = update_single_plugin(nixpkgs_dir, plugin_name, plugin_pname)
if update_info:
updated_plugins.append(update_info)
except Exception as e:
print(f"Error: {e}")
sys.exit(1)
else:
nixpkgs_dir, plugin_name, plugin_pname = validate_environment()
if plugin_name and plugin_pname:
print(f"Updating Yazi plugin: {plugin_name}")
update_info = update_single_plugin(nixpkgs_dir, plugin_name, plugin_pname)
if update_info:
updated_plugins.append(update_info)
else:
parser.print_help()
sys.exit(0)
if args.commit and updated_plugins:
commit_changes(updated_plugins)
if __name__ == "__main__":

View file

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "aioamazondevices";
version = "3.0.5";
version = "3.0.6";
pyproject = true;
src = fetchFromGitHub {
owner = "chemelli74";
repo = "aioamazondevices";
tag = "v${version}";
hash = "sha256-CgIkrq5Eni7Iva/bzlcbj1/mqtKPA4mknHC/fQzL7RU=";
hash = "sha256-+o3LOp0gSjG1/x5IFA0FK5LQUFG9T6JgDLb104vJcM0=";
};
build-system = [ poetry-core ];

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "aioimmich";
version = "0.9.0";
version = "0.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "mib1185";
repo = "aioimmich";
tag = "v${version}";
hash = "sha256-s2W/Z/psCLvd7zMsaaYi3ZIcEuuRSpyRSvUUfIPe8a4=";
hash = "sha256-bEbWvDNcKH/9Mtr3fZMk7+Qa41suSUpVAGAsnCmzGaY=";
};
postPatch = ''

View file

@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchPypi,
fetchpatch,
# build-system
hatchling,
@ -47,6 +48,15 @@ buildPythonPackage rec {
hash = "sha256-27PE4c6uau/r2vJCMkcmDNBiQwpBDjjGbyuqUKhDcZU=";
};
patches = [
# backport test fix for behavior changes in libxml 2.14.3
(fetchpatch {
url = "https://git.launchpad.net/beautifulsoup/patch/?id=53d328406ec8c37c0edbd00ace3782be63e2e7e5";
excludes = ["CHANGELOG"];
hash = "sha256-RtavbpnfT6x0A8L3tAvCXwKUpty1ASPGJKdks7evBr8=";
})
];
build-system = [ hatchling ];
nativeBuildInputs = [ sphinxHook ];
@ -69,11 +79,9 @@ buildPythonPackage rec {
] ++ lib.flatten (lib.attrValues optional-dependencies);
disabledTests = [
# these tests fail with libxml 2.14.3
# https://bugs.launchpad.net/beautifulsoup/+bug/2112242
"test_real_xhtml_document"
"test_processing_instruction"
"test_out_of_range_entity"
# fail with latest libxml, by not actually rejecting
"test_rejected_markup"
"test_rejected_input"
];
pythonImportsCheck = [ "bs4" ];

View file

@ -13,7 +13,7 @@
}:
let
version = "2.2.0";
version = "2.3.0";
tag = "v${version}";
in
buildPythonPackage {
@ -25,7 +25,7 @@ buildPythonPackage {
owner = "elevenlabs";
repo = "elevenlabs-python";
inherit tag;
hash = "sha256-XZld32WJlZKnVQAUQV9FfJZgNOlW4JKVCqVdb8xCO7I=";
hash = "sha256-vj4ZmtumLq7Jveq7ID/FoPjlIz7Dv8uqMN4Nq6tSW/E=";
};
build-system = [ poetry-core ];

View file

@ -39,6 +39,12 @@ buildPythonPackage rec {
hash = "sha256-ZkC1+I2d9wY9J7IoCGHGWG2gOVN7wW274UpN1lQxmJY=";
};
patches = [
# https://github.com/fonttools/fonttools/pull/3855
# FIXME: remove when merged
./python-3.13.4.patch
];
build-system = [
setuptools
setuptools-scm

View file

@ -0,0 +1,25 @@
diff --git a/Lib/fontTools/feaLib/ast.py b/Lib/fontTools/feaLib/ast.py
index efcce8c680..18e5a891d3 100644
--- a/Lib/fontTools/feaLib/ast.py
+++ b/Lib/fontTools/feaLib/ast.py
@@ -719,7 +719,8 @@ def __init__(self, prefix, glyphs, suffix, lookups, location=None):
for i, lookup in enumerate(lookups):
if lookup:
try:
- (_ for _ in lookup)
+ for _ in lookup:
+ break
except TypeError:
self.lookups[i] = [lookup]
@@ -777,7 +778,8 @@ def __init__(self, prefix, glyphs, suffix, lookups, location=None):
for i, lookup in enumerate(lookups):
if lookup:
try:
- (_ for _ in lookup)
+ for _ in lookup:
+ break
except TypeError:
self.lookups[i] = [lookup]

View file

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "google-genai";
version = "1.17.0";
version = "1.19.0";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "python-genai";
tag = "v${version}";
hash = "sha256-ks8MU+Sg6TM57QiNmZD6rTGF8Di32mKtHFTF1pCTouQ=";
hash = "sha256-p9W34v1ToLwketM+wOfrouLLl9pFBljL5doykuZRINo=";
};
build-system = [

View file

@ -33,7 +33,7 @@ buildPythonPackage rec {
];
# tests raise an exception if the system is not Linux or Windows
doCheck = !stdenv.isDarwin;
doCheck = !stdenv.buildPlatform.isDarwin;
# tests require gotify-server to be located in ./tests/test-server/gotify-linux-{arch}
postPatch = ''

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "msgraph-core";
version = "1.3.3";
version = "1.3.4";
pyproject = true;
disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "microsoftgraph";
repo = "msgraph-sdk-python-core";
tag = "v${version}";
hash = "sha256-gYZWKv70lyuZIYXpchNnZ02J65hN45agDkxZVFed28s=";
hash = "sha256-F3vZUglO0AvWZPwV8329Wrd5S4PHShBv8Gg3Jvsz6Kk=";
};
build-system = [ setuptools ];

View file

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "netbox-routing";
version = "0.3.0";
version = "0.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "DanSheps";
repo = "netbox-routing";
tag = "v${version}";
hash = "sha256-QJ4/6eRPo2SIgOWNiK+3jrXW+KaXvzERLcXQqKwCNDU=";
hash = "sha256-qtGzZDRo80pdmt3CbM+HG/S7uLvLS7V6lHNB8sM6bcA=";
};
build-system = [ setuptools ];

View file

@ -2,53 +2,39 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
cryptography,
charset-normalizer,
pythonOlder,
pytestCheckHook,
setuptools,
replaceVars,
setuptools-scm,
ocrmypdf,
}:
buildPythonPackage rec {
pname = "pdfminer-six";
version = "20240706";
version = "20250506";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "pdfminer";
repo = "pdfminer.six";
tag = version;
hash = "sha256-aY7GQADRxeiclr6/G3RRgrPcl8rGiC85JYEIjIa+vG0=";
hash = "sha256-BE/HMl/e1KnkSc2jXU5Du5FMF+rCBv5AJ7a88oFrBgM=";
};
patches = [
# https://github.com/pdfminer/pdfminer.six/pull/1027
(fetchpatch2 {
name = "fix-dereference-MediaBox.patch";
url = "https://github.com/pdfminer/pdfminer.six/pull/1027/commits/ad101c152c71431a21bfa5a8dbe33b3ba385ceec.patch?full_index=1";
excludes = [ "CHANGELOG.md" ];
hash = "sha256-fsSXvN92MVtNFpAst0ctvGrbxVvoe4Nyz4wMZqJ1aw8=";
})
(replaceVars ./disable-setuptools-git-versioning.patch {
inherit version;
})
build-system = [
setuptools
setuptools-scm
];
build-system = [ setuptools ];
dependencies = [
charset-normalizer
cryptography
];
postInstall = ''
for file in $out/bin/*.py; do
ln $file ''${file//.py/}
for file in "$out/bin/"*.py; do
mv "$file" "''${file%.py}"
done
'';
@ -71,11 +57,11 @@ buildPythonPackage rec {
};
};
meta = with lib; {
meta = {
changelog = "https://github.com/pdfminer/pdfminer.six/blob/${src.rev}/CHANGELOG.md";
description = "PDF parser and analyzer";
homepage = "https://github.com/pdfminer/pdfminer.six";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ psyanticy ];
};
}

View file

@ -1,16 +0,0 @@
diff --git a/setup.py b/setup.py
index 42764e2..e7b93d3 100644
--- a/setup.py
+++ b/setup.py
@@ -19,10 +19,7 @@ if sys.version_info < (3, 12):
setup(
name="pdfminer.six",
- setuptools_git_versioning={
- "enabled": True,
- },
- setup_requires=["setuptools-git-versioning<3"],
+ version="@version@",
packages=["pdfminer"],
package_data={"pdfminer": ["cmap/*.pickle.gz", "py.typed"]},
install_requires=[

View file

@ -1,8 +1,9 @@
{
lib,
pkgs,
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
jupyterlab,
nbexec,
pandas,
@ -14,33 +15,29 @@
pytest-parallel,
pytestCheckHook,
types-pillow,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "pdfplumber";
version = "0.11.5";
format = "setuptools";
version = "0.11.6";
pyproject = true;
src = fetchFromGitHub {
owner = "jsvine";
repo = "pdfplumber";
tag = "v${version}";
hash = "sha256-oe6lZyQKXASzG7Ho6o7mlXY+BOgVBaACebxbYD+1+x0=";
hash = "sha256-ljoM252w0oOqTUgYT6jtAW+jElPU9a49K6Atwdv5Dvo=";
};
build-system = [ setuptools ];
dependencies = [
pdfminer-six
pillow
pypdfium2
];
preCheck = ''
export HOME=$(mktemp -d)
# test_issue_1089 assumes the soft limit on open files is "low", otherwise it never completes
# reported at: https://github.com/jsvine/pdfplumber/issues/1263
ulimit -n 1024
'';
nativeCheckInputs = [
pkgs.ghostscript
jupyterlab
@ -51,6 +48,16 @@ buildPythonPackage rec {
pytest-parallel
pytestCheckHook
types-pillow
writableTmpDirAsHomeHook
];
pythonRelaxDeps = [ "pdfminer.six" ];
disabledTestPaths = [
# AssertionError
"tests/test_convert.py::Test::test_cli_csv"
"tests/test_convert.py::Test::test_cli_csv_exclude"
"tests/test_convert.py::Test::test_csv"
];
pythonImportsCheck = [ "pdfplumber" ];

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "pdoc";
version = "15.0.3";
version = "15.0.4";
disabled = pythonOlder "3.9";
pyproject = true;
@ -23,8 +23,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "mitmproxy";
repo = "pdoc";
rev = "v${version}";
hash = "sha256-qr0K+ZOmEPWMkm/cPisdw6gSPZI4FvICaKQNt/sef40=";
tag = "v${version}";
hash = "sha256-l0aaQbjxAMcTZZwDN6g8A7bjSsl6yP2FoAnwTYkKYH8=";
};
build-system = [ setuptools ];

View file

@ -30,7 +30,7 @@
buildPythonPackage rec {
pname = "pyopencl";
version = "2025.2";
version = "2025.2.1";
pyproject = true;
src = fetchFromGitHub {
@ -38,7 +38,7 @@ buildPythonPackage rec {
repo = "pyopencl";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-cV4ff52qB7+zFC04swMt4s3Vrzrd+UZU3owEaJFFOms=";
hash = "sha256-zkTeCSmPfWQBuX4EOyXQDtA7uU+GCJh5LgFNkbwyiCg=";
};
build-system = [

View file

@ -69,25 +69,6 @@ let
};
in
{
texinfo413 = stdenv.mkDerivation (finalAttrs: {
pname = "texinfo";
version = "4.13a";
src = fetchurl {
url = "mirror://gnu/texinfo/texinfo-${finalAttrs.version}.tar.lzma";
hash = "sha256-bSiwzq6GbjU2FC/FUuejvJ+EyDAxGcJXMbJHju9kyeU=";
};
buildInputs = [ ncurses ];
nativeBuildInputs = [ xz ];
# Disabled because we don't have zdiff in the stdenv bootstrap.
#doCheck = true;
meta = meta // {
branch = finalAttrs.version;
};
});
texinfo6_5 = buildTexinfo {
version = "6.5";
hash = "sha256-d3dLP0oGwgcFzC7xyASGRCLjz5UjXpZbHwCkbffaX2I=";

View file

@ -1,65 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
gettext,
installShellFiles,
ncurses,
ui ? "terminal",
}:
assert lib.elem ui [
"terminal"
"curses"
];
stdenv.mkDerivation (finalAttrs: {
pname = "2048-cli";
version = "unstable-2019-12-10";
src = fetchFromGitHub {
owner = "tiehuis";
repo = "2048-cli";
rev = "67439255df7d4f70209ca628d65128cd41d33e8d";
hash = "sha256-U7g2wCZgR7Lp/69ktQIZZ1cScll2baCequemTl3Mc3I=";
};
postPatch = ''
substituteInPlace Makefile \
--replace "-lcurses" "-lncurses"
'';
nativeBuildInputs = [
installShellFiles
];
buildInputs = [
gettext
] ++ (lib.optional (ui == "curses") ncurses);
dontConfigure = true;
env.NIX_CFLAGS_COMPILE = "-I${lib.getDev gettext}/share/gettext/";
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
ui
];
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin 2048
installManPage man/2048.6
runHook postInstall
'';
meta = {
homepage = "https://github.com/tiehuis/2048-cli";
description = "Game 2048 for your Linux terminal";
license = lib.licenses.mit;
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "2048";
};
})

View file

@ -13,11 +13,11 @@
}:
let
pname = "maptool";
version = "1.14.3";
version = "1.17.0";
repoBase = "https://github.com/RPTools/maptool";
src = fetchurl {
url = "${repoBase}/releases/download/${version}/maptool-${version}-x86_64.pkg.tar.zst";
hash = "sha256-KjP6zugQw9r1hvdxqOgTrt4hYMYg+lgjkgkj3tfb38s=";
hash = "sha256-EyzHRc3k7mAh5C9AM4L5/ItrxeCUWuWeW1SuJrOh4Xo=";
};
meta = with lib; {

View file

@ -11,7 +11,6 @@
xz,
freetype,
fontconfig,
nlohmann_json,
curl,
icu,
harfbuzz,
@ -35,30 +34,43 @@
alsa-lib,
libjack2,
makeWrapper,
buildPackages,
}:
let
opengfx = fetchzip {
url = "https://cdn.openttd.org/opengfx-releases/7.1/opengfx-7.1-all.zip";
sha256 = "sha256-daJ/Qwg/okpmLQkXcCjruIiP8GEwyyp02YWcGQepxzs=";
hash = "sha256-daJ/Qwg/okpmLQkXcCjruIiP8GEwyyp02YWcGQepxzs=";
};
opensfx = fetchzip {
url = "https://cdn.openttd.org/opensfx-releases/1.0.3/opensfx-1.0.3-all.zip";
sha256 = "sha256-QmfXizrRTu/fUcVOY7tCndv4t4BVW+fb0yUi8LgSYzM=";
hash = "sha256-QmfXizrRTu/fUcVOY7tCndv4t4BVW+fb0yUi8LgSYzM=";
};
openmsx = fetchzip {
url = "https://cdn.openttd.org/openmsx-releases/0.4.2/openmsx-0.4.2-all.zip";
sha256 = "sha256-Cgrg2m+uTODFg39mKgX+hE8atV7v5bVyZd716vSZB8M=";
hash = "sha256-Cgrg2m+uTODFg39mKgX+hE8atV7v5bVyZd716vSZB8M=";
};
# OpenTTD builds and uses some of its own tools during the build and we need those to be available for cross-compilation.
# Build the tools for buildPlatform with minimal dependencies, using the "OPTION_TOOLS_ONLY" flag.
crossTools = buildPackages.openttd.overrideAttrs (oldAttrs: {
pname = "openttd-tools";
buildInputs = [ ];
cmakeFlags = oldAttrs.cmakeFlags or [ ] ++ [ (lib.cmakeBool "OPTION_TOOLS_ONLY" true) ];
installPhase = ''
install -Dm555 src/strgen/strgen -t $out/bin
install -Dm555 src/settingsgen/settingsgen -t $out/bin
'';
});
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "openttd";
version = "14.1";
src = fetchzip {
url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
url = "https://cdn.openttd.org/openttd-releases/${finalAttrs.version}/openttd-${finalAttrs.version}-source.tar.xz";
hash = "sha256-YT4IE/rJ9pnpeMWKbOra6AbSUwW19RwOKlXkxwoMeKY=";
};
@ -72,11 +84,16 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [
nativeBuildInputs =
[
cmake
pkg-config
makeWrapper
]
++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
crossTools
];
buildInputs =
[
SDL2
@ -85,7 +102,6 @@ stdenv.mkDerivation rec {
zlib
freetype
fontconfig
nlohmann_json
curl
icu
harfbuzz
@ -107,9 +123,7 @@ stdenv.mkDerivation rec {
libjack2
];
prefixKey = "--prefix-dir=";
configureFlags = [ "--without-liblzo2" ];
strictDeps = true;
postPatch = ''
substituteInPlace src/music/fluidsynth.cpp \
@ -128,7 +142,7 @@ stdenv.mkDerivation rec {
tar -xf ${openmsx}/*.tar -C $out/share/games/openttd/baseset
'';
meta = with lib; {
meta = {
description = ''Open source clone of the Microprose game "Transport Tycoon Deluxe"'';
mainProgram = "openttd";
longDescription = ''
@ -142,12 +156,12 @@ stdenv.mkDerivation rec {
- observe as spectators
'';
homepage = "https://www.openttd.org/";
changelog = "https://cdn.openttd.org/openttd-releases/${version}/changelog.txt";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = with maintainers; [
changelog = "https://cdn.openttd.org/openttd-releases/${finalAttrs.version}/changelog.txt";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
jcumming
fpletz
];
};
}
})

View file

@ -1,189 +1,247 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
aws-eventstream (1.2.0)
aws-partitions (1.749.0)
aws-sdk-core (3.171.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
activesupport (7.0.8.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.3)
aws-eventstream (1.4.0)
aws-partitions (1.1110.0)
aws-sdk-core (3.225.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.120.1)
aws-sdk-core (~> 3, >= 3.165.0)
logger
aws-sdk-kms (1.102.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.189.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sdk-secretsmanager (1.73.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.5.2)
aws-sigv4 (~> 1.5)
aws-sdk-secretsmanager (1.116.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.12.0)
aws-eventstream (~> 1, >= 1.0.2)
builder (3.2.4)
chef (17.10.0)
base64 (0.3.0)
bigdecimal (3.2.1)
builder (3.3.0)
chef (18.7.10)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
chef-config (= 17.10.0)
chef-utils (= 17.10.0)
chef-config (= 18.7.10)
chef-utils (= 18.7.10)
chef-vault
chef-zero (>= 14.0.11)
chef-zero (>= 15.0.17)
corefoundation (~> 0.3.4)
diff-lcs (>= 1.2.4, < 1.6.0, != 1.4.0)
erubis (~> 2.7)
ffi (>= 1.5.0)
ffi (>= 1.15.5, <= 1.16.3)
ffi-libarchive (~> 1.0, >= 1.0.3)
ffi-yajl (~> 2.2)
iniparse (~> 1.4)
inspec-core (~> 4.23)
inspec-core (>= 5, < 6)
license-acceptance (>= 1.0.5, < 3)
mixlib-archive (>= 0.4, < 2.0)
mixlib-authentication (>= 2.1, < 4)
mixlib-cli (>= 2.1.1, < 3.0)
mixlib-log (>= 2.0.3, < 4.0)
mixlib-log (>= 2.0.3, < 3.2)
mixlib-shellout (>= 3.1.1, < 4.0)
net-sftp (>= 2.1.2, < 4.0)
ohai (~> 17.0)
net-ftp
net-sftp (>= 2.1.2, < 5.0)
ohai (~> 18.0)
plist (~> 3.2)
proxifier (~> 1.0)
proxifier2 (~> 1.1)
syslog-logger (~> 1.6)
train-core (~> 3.2, >= 3.2.28)
train-winrm (>= 0.2.5)
train-core (~> 3.10, <= 3.12.13)
train-rest (>= 0.4.1)
train-winrm (~> 0.2.17)
unf_ext (~> 0.0.8.2)
uuidtools (>= 2.1.5, < 3.0)
vault (~> 0.16)
chef-cli (5.6.8)
vault (~> 0.18.2)
chef-cli (5.6.21)
addressable (>= 2.3.5, < 2.9)
chef (>= 16.0)
chef (~> 18.0)
cookbook-omnifetch (~> 0.5)
diff-lcs (>= 1.0, < 1.4)
diff-lcs (>= 1.2.4, < 1.6.0, != 1.4.0)
ffi-yajl (>= 1.0, < 3.0)
license-acceptance (>= 1.0.11, < 3)
minitar (~> 0.6)
minitar (~> 1.0)
mixlib-cli (>= 1.7, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
pastel (~> 0.7)
solve (> 2.0, < 5.0)
chef-config (17.10.0)
chef-config (18.7.10)
addressable
chef-utils (= 17.10.0)
chef-utils (= 18.7.10)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-gyoku (1.4.5)
builder (>= 2.1.2)
rexml (~> 3.4)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-utils (17.10.0)
chef-utils (18.7.10)
concurrent-ruby
chef-vault (4.1.11)
chef-zero (15.0.11)
chef-vault (4.1.23)
chef-winrm (2.3.12)
builder (>= 2.1.2)
chef-gyoku (~> 1.4.0, <= 1.4.5)
erubi (~> 1.8)
ffi (>= 1.15.5, < 1.17.0)
gssapi (~> 1.2)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (= 2.7.0)
rexml (~> 3.3)
rubyntlm (~> 0.6.0, >= 0.6.3)
chef-winrm-elevated (1.2.5)
chef-winrm (>= 2.3.11)
chef-winrm-fs (>= 1.3.7)
erubi (~> 1.8)
chef-winrm-fs (1.3.7)
chef-winrm (>= 2.3.11)
erubi (>= 1.7)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
chef-zero (15.0.17)
activesupport (~> 7.0, < 7.1)
ffi-yajl (~> 2.2)
hashie (>= 2.0, < 5.0)
mixlib-log (>= 2.0, < 4.0)
rack (~> 2.0, >= 2.0.6)
rack (~> 3.1, >= 3.1.10)
rackup (~> 2.2, >= 2.2.1)
uuidtools (~> 2.1)
webrick
coderay (1.1.3)
concurrent-ruby (1.2.2)
concurrent-ruby (1.3.5)
cookbook-omnifetch (0.12.2)
mixlib-archive (>= 0.4, < 2.0)
cookstyle (8.1.4)
rubocop (= 1.75.8)
corefoundation (0.3.13)
ffi (>= 1.15.0)
diff-lcs (1.3)
erubi (1.12.0)
date (3.4.1)
diff-lcs (1.5.1)
domain_name (0.6.20240107)
erubi (1.13.1)
erubis (2.7.0)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday_middleware (1.2.0)
faraday (~> 1.0)
ffi (1.15.5)
ffi-libarchive (1.1.3)
faraday (2.13.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
ffi (1.16.3)
ffi-libarchive (1.1.14)
ffi (~> 1.0)
ffi-yajl (2.4.0)
ffi-yajl (2.6.0)
libyajl2 (>= 1.2)
fuzzyurl (0.9.0)
gssapi (1.3.1)
ffi (>= 1.0.1)
gyoku (1.4.0)
builder (>= 2.1.2)
rexml (~> 3.0)
hashie (4.1.0)
httpclient (2.8.3)
http-accept (1.7.0)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
iniparse (1.5.0)
inspec-core (4.56.20)
inspec-core (5.22.80)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
faraday_middleware (~> 1.0)
hashie (>= 3.4, < 5.0)
cookstyle
faraday (>= 1, < 3)
faraday-follow_redirects (~> 0.3)
hashie (>= 3.4, < 6.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
mixlib-log (~> 3.0, < 3.2)
multipart-post (~> 2.0)
parallel (~> 1.9)
parslet (>= 1.5, < 2.0)
parslet (>= 1.5, < 3.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.11)
rspec (>= 3.9, <= 3.12)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
thor (>= 0.20, < 1.3.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.0)
train-core (~> 3.12.13)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
ipaddress (0.8.3)
jmespath (1.6.2)
json (2.6.3)
json (2.12.2)
language_server-protocol (3.17.0.5)
libyajl2 (2.1.0)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
lint_roller (1.1.0)
little-plugger (1.1.4)
logging (2.3.1)
logger (1.7.0)
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
method_source (1.0.0)
minitar (0.9)
method_source (1.1.0)
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
mime-types-data (3.2025.0527)
minitar (1.0.2)
minitest (5.25.5)
mixlib-archive (1.1.7)
mixlib-log
mixlib-authentication (3.0.10)
mixlib-cli (2.1.8)
mixlib-config (3.0.27)
tomlrb
mixlib-log (3.0.9)
mixlib-shellout (3.2.7)
mixlib-log (3.1.2.1)
ffi (< 1.17.0)
mixlib-shellout (3.3.9)
chef-utils
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.3.0)
net-scp (4.0.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
net-ftp (0.3.8)
net-protocol
time
net-http (0.6.0)
uri
net-protocol (0.2.2)
timeout
net-scp (4.1.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-sftp (2.1.2)
net-ssh (>= 2.6.5)
net-ssh (7.1.0)
nori (2.6.0)
ohai (17.9.1)
chef-config (>= 14.12, < 18)
chef-utils (>= 16.0, < 18)
ffi (~> 1.9)
net-sftp (4.0.0)
net-ssh (>= 5.0.0, < 8.0.0)
net-ssh (7.3.0)
netrc (0.11.0)
nori (2.7.0)
bigdecimal
ohai (18.2.6)
chef-config (>= 14.12, < 19)
chef-utils (>= 16.0, < 19)
ffi (~> 1.9, <= 1.17.0)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli (>= 1.7.0)
@ -193,37 +251,66 @@ GEM
plist (~> 3.1)
train-core
wmi-lite (~> 1.0)
parallel (1.23.0)
parslet (1.8.2)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
plist (3.7.0)
proxifier (1.0.3)
pry (0.14.2)
plist (3.7.2)
prism (1.4.0)
proxifier2 (1.1.0)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.1)
rack (2.2.6.4)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.1)
public_suffix (6.0.2)
racc (1.8.1)
rack (3.1.15)
rackup (2.2.1)
rack (>= 3)
rainbow (3.1.1)
regexp_parser (2.10.0)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rexml (3.4.1)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.3)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-its (1.3.0)
rspec-support (~> 3.12.0)
rspec-its (1.3.1)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.11.2)
rspec-mocks (3.12.7)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.1)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
rspec-support (~> 3.12.0)
rspec-support (3.12.2)
rubocop (1.75.8)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.45.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0)
rubyntlm (0.6.5)
base64
rubyzip (2.4.1)
semverse (3.0.2)
solve (4.0.4)
molinillo (~> 0.6)
@ -235,19 +322,26 @@ GEM
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
syslog-logger (1.6.8)
thor (1.2.1)
thor (1.2.2)
time (0.4.1)
date
timeout (0.4.3)
tomlrb (1.3.0)
train-core (3.10.7)
train-core (3.12.13)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 5.0)
net-ssh (>= 2.9, < 8.0)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
train-rest (0.5.0)
aws-sigv4 (~> 1.5)
rest-client (~> 2.1)
train-core (~> 3.0)
train-winrm (0.2.19)
chef-winrm (~> 2.3.12)
chef-winrm-elevated (~> 1.2.5)
chef-winrm-fs (~> 1.3.7)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
@ -261,35 +355,21 @@ GEM
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-table (0.12.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
unicode-display_width (2.4.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unf_ext (0.0.8.2)
unicode-display_width (2.6.0)
unicode_utils (1.4.0)
uri (1.0.3)
uuidtools (2.2.0)
vault (0.17.0)
vault (0.18.2)
aws-sigv4
webrick (1.8.1)
winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
winrm (~> 2.0)
webrick (1.9.1)
wisper (2.0.1)
wmi-lite (1.0.7)
@ -297,7 +377,7 @@ PLATFORMS
ruby
DEPENDENCIES
chef-cli!
chef-cli
BUNDLED WITH
2.1.4
2.6.6

File diff suppressed because it is too large Load diff

View file

@ -224,6 +224,9 @@ mapAliases {
### _ ###
_1password = lib.warnOnInstantiate "_1password has been renamed to _1password-cli to better follow upstream name usage" _1password-cli; # Added 2024-10-24
_2048-cli = throw "'_2048-cli' has been removed due to archived upstream. Consider using '_2048-in-terminal' instead."; # Added 2025-06-07
_2048-cli-curses = throw "'_2048-cli-curses' has been removed due to archived upstream. Consider using '_2048-in-terminal' instead."; # Added 2025-06-07
_2048-cli-terminal = throw "'_2048-cli-curses' has been removed due to archived upstream. Consider using '_2048-in-terminal' instead."; # Added 2025-06-07
_5etools = throw "'_5etools' has been removed, as upstream is in a questionable legal position and the build was broken.";
"7z2hashcat" =
throw "'7z2hashcat' has been renamed to '_7z2hashcat' as the former isn't a valid variable name."; # Added 2024-11-27
@ -1896,6 +1899,7 @@ mapAliases {
tepl = libgedit-tepl; # Added 2024-04-29
termplay = throw "'termplay' has been removed due to lack of maintenance upstream"; # Added 2025-01-25
testVersion = testers.testVersion; # Added 2022-04-20
texinfo4 = throw "'texinfo4' has been removed in favor of the latest version"; # Added 2025-06-08
tezos-rust-libs = ligo; # Added 2025-06-03
tfplugindocs = terraform-plugin-docs; # Added 2023-11-01
thiefmd = throw "'thiefmd' has been removed due to lack of maintenance upstream and incompatible with newer Pandoc. Please use 'apostrophe' or 'folio' instead"; # Added 2025-02-20

View file

@ -7689,13 +7689,11 @@ with pkgs;
texinfoPackages = callPackages ../development/tools/misc/texinfo/packages.nix { };
inherit (texinfoPackages)
texinfo413
texinfo6_5 # needed for allegro
texinfo6_7 # needed for gpm, iksemel and fwknop
texinfo6
texinfo7
;
texinfo4 = texinfo413; # needed for eukleides and singular
texinfo = texinfo7;
texinfoInteractive = texinfo.override { interactive = true; };
@ -14786,10 +14784,6 @@ with pkgs;
### GAMES
_2048-cli = _2048-cli-terminal;
_2048-cli-curses = callPackage ../games/2048-cli { ui = "curses"; };
_2048-cli-terminal = callPackage ../games/2048-cli { ui = "terminal"; };
_90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };
inherit (callPackages ../games/fteqw { })