Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-03-15 00:12:36 +00:00 committed by GitHub
commit cb97fed572
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
276 changed files with 5272 additions and 7556 deletions

14
.github/CODEOWNERS vendored
View file

@ -131,13 +131,13 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius @ma27
/pkgs/development/interpreters/python/hooks @FRidh @jonringer
# Haskell
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @ncfavier
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn @ncfavier
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn @ncfavier
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn @ncfavier
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn @ncfavier
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @ncfavier
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn @ncfavier
/maintainers/scripts/haskell @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @sternenseemann @maralorn @ncfavier
/pkgs/development/haskell-modules @sternenseemann @maralorn @ncfavier
/pkgs/test/haskell @sternenseemann @maralorn @ncfavier
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn @ncfavier
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn @ncfavier
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @dasJ

View file

@ -6,7 +6,6 @@ This chapter describes tools for creating various types of images.
images/appimagetools.section.md
images/dockertools.section.md
images/ocitools.section.md
images/snaptools.section.md
images/portableservice.section.md
images/makediskimage.section.md
images/binarycache.section.md

View file

@ -1,71 +0,0 @@
# pkgs.snapTools {#sec-pkgs-snapTools}
`pkgs.snapTools` is a set of functions for creating Snapcraft images. Snap and Snapcraft is not used to perform these operations.
## The makeSnap Function {#ssec-pkgs-snapTools-makeSnap-signature}
`makeSnap` takes a single named argument, `meta`. This argument mirrors [the upstream `snap.yaml` format](https://docs.snapcraft.io/snap-format) exactly.
The `base` should not be specified, as `makeSnap` will force set it.
Currently, `makeSnap` does not support creating GUI stubs.
## Build a Hello World Snap {#ssec-pkgs-snapTools-build-a-snap-hello}
The following expression packages GNU Hello as a Snapcraft snap.
``` {#ex-snapTools-buildSnap-hello .nix}
let
inherit (import <nixpkgs> { }) snapTools hello;
in snapTools.makeSnap {
meta = {
name = "hello";
summary = hello.meta.description;
description = hello.meta.longDescription;
architectures = [ "amd64" ];
confinement = "strict";
apps.hello.command = "${hello}/bin/hello";
};
}
```
`nix-build` this expression and install it with `snap install ./result --dangerous`. `hello` will now be the Snapcraft version of the package.
## Build a Graphical Snap {#ssec-pkgs-snapTools-build-a-snap-firefox}
Graphical programs require many more integrations with the host. This example uses Firefox as an example because it is one of the most complicated programs we could package.
``` {#ex-snapTools-buildSnap-firefox .nix}
let
inherit (import <nixpkgs> { }) snapTools firefox;
in snapTools.makeSnap {
meta = {
name = "nix-example-firefox";
summary = firefox.meta.description;
architectures = [ "amd64" ];
apps.nix-example-firefox = {
command = "${firefox}/bin/firefox";
plugs = [
"pulseaudio"
"camera"
"browser-support"
"avahi-observe"
"cups-control"
"desktop"
"desktop-legacy"
"gsettings"
"home"
"network"
"mount-observe"
"removable-media"
"x11"
];
};
confinement = "strict";
};
}
```
`nix-build` this expression and install it with `snap install ./result --dangerous`. `nix-example-firefox` will now be the Snapcraft version of the Firefox package.
The specific meaning behind plugs can be looked up in the [Snapcraft interface documentation](https://docs.snapcraft.io/supported-interfaces).

View file

@ -1,14 +1,37 @@
{ lib }:
let
inherit (builtins) head tail isList isAttrs isInt attrNames;
inherit (lib)
and
any
attrByPath
attrNames
compare
concat
concatMap
elem
filter
foldl
foldr
genericClosure
head
imap1
init
isAttrs
isFunction
isInt
isList
lists
listToAttrs
mapAttrs
mergeAttrs
meta
nameValuePair
tail
toList
;
in
with lib.lists;
with lib.attrsets;
with lib.strings;
rec {
inherit (lib.attrsets) removeAttrs;
# returns default if env var is not set
maybeEnv = name: default:
@ -26,7 +49,7 @@ rec {
base = (setAttrMerge "passthru" {} (f arg)
( z: z // {
function = foldArgs merger f arg;
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
args = (attrByPath ["passthru" "args"] {} z) // x;
} ));
withStdOverrides = base // {
override = base.passthru.function;
@ -77,11 +100,11 @@ rec {
# Output : are reqs satisfied? It's asserted.
checkReqs = attrSet: argList: condList:
(
foldr lib.and true
foldr and true
(map (x: let name = (head x); in
((checkFlag attrSet name) ->
(foldr lib.and true
(foldr and true
(map (y: let val=(getValue attrSet argList y); in
(val!=null) && (val!=false))
(tail x))))) condList));
@ -159,11 +182,11 @@ rec {
closePropagationSlow = list: (uniqList {inputList = (innerClosePropagation [] list);});
# This is an optimisation of lib.closePropagation which avoids the O(n^2) behavior
# This is an optimisation of closePropagation which avoids the O(n^2) behavior
# Using a list of derivations, it generates the full closure of the propagatedXXXBuildInputs
# The ordering / sorting / comparison is done based on the `outPath`
# attribute of each derivation.
# On some benchmarks, it performs up to 15 times faster than lib.closePropagation.
# On some benchmarks, it performs up to 15 times faster than closePropagation.
# See https://github.com/NixOS/nixpkgs/pull/194391 for details.
closePropagationFast = list:
builtins.map (x: x.val) (builtins.genericClosure {
@ -250,10 +273,10 @@ rec {
# foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
mergeAttrByFunc = x: y:
let
mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
mergeAttrBy2 = { mergeAttrBy = mergeAttrs; }
// (maybeAttr "mergeAttrBy" {} x)
// (maybeAttr "mergeAttrBy" {} y); in
foldr lib.mergeAttrs {} [
foldr mergeAttrs {} [
x y
(mapAttrs ( a: v: # merge special names using given functions
if x ? ${a}
@ -273,9 +296,9 @@ rec {
# sane defaults (same name as attr name so that inherit can be used)
mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
listToAttrs (map (n: nameValuePair n lib.concat)
listToAttrs (map (n: nameValuePair n concat)
[ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
// listToAttrs (map (n: nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n: nameValuePair n mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
;
@ -283,7 +306,7 @@ rec {
if isAttrs x then
if x ? outPath then "derivation"
else "attrs"
else if lib.isFunction x then "function"
else if isFunction x then "function"
else if isList x then "list"
else if x == true then "bool"
else if x == false then "bool"
@ -304,4 +327,47 @@ rec {
fakeHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000";
fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
in
# Everything in this attrset is the public interface of the file.
{
inherit
checkFlag
checkReqs
closePropagation
closePropagationFast
closePropagationSlow
condConcat
defaultMerge
defaultMergeArg
fakeHash
fakeSha256
fakeSha512
foldArgs
getValue
ifEnable
imap
innerClosePropagation
innerModifySumArgs
lazyGenericClosure
mapAttrsFlatten
maybeAttr
maybeAttrNullable
maybeEnv
mergeAttrBy
mergeAttrByFunc
mergeAttrsByFuncDefaults
mergeAttrsByFuncDefaultsClean
mergeAttrsConcatenateValues
mergeAttrsNoOverride
mergeAttrsWithFunc
modifySumArgs
nixType
nvs
setAttr
setAttrMerge
uniqList
uniqListExt
;
}

View file

@ -1,6 +1,8 @@
{ lib }:
with lib;
let
inherit (lib) mkIf versionAtLeast versionOlder;
in
{

View file

@ -6267,16 +6267,6 @@
githubId = 541748;
name = "Felipe Espinoza";
};
federicoschonborn = {
name = "Federico Damián Schonborn";
email = "fdschonborn@gmail.com";
github = "FedericoSchonborn";
githubId = 62166915;
matrix = "@FedericoDSchonborn:matrix.org";
keys = [
{ fingerprint = "517A 8A6A 09CA A11C 9667 CEE3 193F 70F1 5C9A B0A0"; }
];
};
fedx-sudo = {
email = "fedx-sudo@pm.me";
github = "FedX-sudo";
@ -7060,6 +7050,12 @@
github = "getpsyched";
githubId = 43472218;
};
getreu = {
email = "getreu@web.de";
github = "getreu";
githubId = 579082;
name = "Jens Getreu";
};
gfrascadorio = {
email = "gfrascadorio@tutanota.com";
github = "gfrascadorio";
@ -17625,15 +17621,6 @@
matrix = "@shamrocklee:matrix.org";
name = "Yueh-Shun Li";
};
shanesveller = {
email = "shane@sveller.dev";
github = "shanesveller";
githubId = 831;
keys = [{
fingerprint = "F83C 407C ADC4 5A0F 1F2F 44E8 9210 C218 023C 15CD";
}];
name = "Shane Sveller";
};
shard7 = {
email = "sh7user@gmail.com";
github = "shard77";
@ -19958,6 +19945,12 @@
fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802";
}];
};
twitchy0 = {
email = "code@nitinpassa.com";
github = "twitchy0";
githubId = 131159000;
name = "Nitin Passa";
};
twitchyliquid64 = {
name = "Tom";
email = "twitchyliquid64@ciphersink.net";

View file

@ -116,6 +116,7 @@ stdlib,,,,41.2.2,,vyp
teal-language-server,,,http://luarocks.org/dev,,,
telescope.nvim,,,,,5.1,
telescope-manix,,,,,,
tiktoken_core,,,,,,natsukium
tl,,,,,,mephistophiles
toml,,,,,,mrcjkb
toml-edit,,,,,5.1,mrcjkb

1 name src ref server version luaversion maintainers
116 teal-language-server http://luarocks.org/dev
117 telescope.nvim 5.1
118 telescope-manix
119 tiktoken_core natsukium
120 tl mephistophiles
121 toml mrcjkb
122 toml-edit 5.1 mrcjkb

View file

@ -96,6 +96,14 @@ with lib.maintainers; {
shortName = "Blockchains";
};
budgie = {
members = [
bobby285271
];
scope = "Maintain Budgie desktop environment";
shortName = "Budgie";
};
buildbot = {
members = [
lopsided98

View file

@ -123,14 +123,14 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `k3s`: was updated to version [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2), all previous versions (k3s_1_26, k3s_1_27, k3s_1_28) will be removed. See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
- `himalaya` was updated to `v1.0.0-beta.3`, which introduces breaking changes. Check out the [release note](https://github.com/soywod/himalaya/releases/tag/v1.0.0-beta.3) for details.
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
- `k3s` was updated to [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2). See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
- `k9s` was updated to v0.31. There have been various breaking changes in the config file format,
check out the changelog of [v0.29](https://github.com/derailed/k9s/releases/tag/v0.29.0),
[v0.30](https://github.com/derailed/k9s/releases/tag/v0.30.0) and

View file

@ -14,7 +14,6 @@ let
expose_php = "Off";
error_reporting = "E_ALL & ~E_DEPRECATED & ~E_STRICT";
display_errors = "stderr";
"opcache.enable_cli" = "1";
"opcache.interned_strings_buffer" = "8";
"opcache.max_accelerated_files" = "10000";
"opcache.memory_consumption" = "128";

View file

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "budgie";
meta.maintainers = [ lib.maintainers.federicoschonborn ];
meta.maintainers = lib.teams.budgie.members;
nodes.machine = { ... }: {
imports = [

View file

@ -42,8 +42,18 @@ import ./make-test-python.nix ({ pkgs, ... }:
virtualisation.additionalPaths = [ containerSystem ];
# not needed, but we want to test the nspawn file generation
systemd.nspawn.${containerName} = { };
systemd.tmpfiles.rules = [
"d /var/lib/machines/shared-decl 0755 root root - -"
];
systemd.nspawn.shared-decl = {
execConfig = {
Boot = false;
Parameters = "${containerSystem}/init";
};
filesConfig = {
BindReadOnly = "/nix/store";
};
};
systemd.services."systemd-nspawn@${containerName}" = {
serviceConfig.Environment = [
@ -52,14 +62,33 @@ import ./make-test-python.nix ({ pkgs, ... }:
];
overrideStrategy = "asDropin";
};
# open DHCP for container
networking.firewall.extraCommands = ''
${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept
'';
};
testScript = ''
start_all()
machine.wait_for_unit("default.target");
# Install container
# Test machinectl start stop of shared-decl
machine.succeed("machinectl start shared-decl");
machine.wait_until_succeeds("systemctl -M shared-decl is-active default.target");
machine.succeed("machinectl stop shared-decl");
# create containers root
machine.succeed("mkdir -p ${containerRoot}");
# start container with shared nix store by using same arguments as for systemd-nspawn@.service
machine.succeed("systemd-run systemd-nspawn --machine=${containerName} --network-veth -U --bind-ro=/nix/store ${containerSystem}/init")
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test machinectl stop
machine.succeed("machinectl stop ${containerName}");
# Install container
# Workaround for nixos-install
machine.succeed("chmod o+rx /var/lib/machines");
machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd");
@ -77,6 +106,12 @@ import ./make-test-python.nix ({ pkgs, ... }:
# Test nss_mymachines via nscd
machine.succeed("getent hosts ${containerName}");
# Test systemd-nspawn network configuration to container
machine.succeed("networkctl --json=short status ve-${containerName} | ${pkgs.jq}/bin/jq -e '.OperationalState == \"routable\"'");
# Test systemd-nspawn network configuration to host
machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/networkctl --json=short status host0 | ${pkgs.jq}/bin/jq -r '.OperationalState == \"routable\"'");
# Test systemd-nspawn network configuration
machine.succeed("ping -n -c 1 ${containerName}");

View file

@ -1,40 +0,0 @@
{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, libxml2, curl, flac
, gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl
, libvorbis, gdk-pixbuf
}:
stdenv.mkDerivation rec {
version = "2.1.5";
pname = "gtkpod";
src = fetchurl {
url = "mirror://sourceforge/gtkpod/${pname}-${version}.tar.gz";
sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5";
};
postPatch = ''
sed -i 's/which/type -P/' scripts/*.sh
'';
nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
buildInputs = [
curl gettext
flex libgpod libid3tag flac libvorbis libxml2 gtk3 gdk-pixbuf
gdl gnome.adwaita-icon-theme gnome.anjuta
] ++ (with perlPackages; [ perl XMLParser ]);
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: .libs/autodetection.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: multiple definition of
# `gtkpod_app'; .libs/gtkpod_app_iface.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
enableParallelBuilding = true;
meta = with lib; {
description = "GTK Manager for an Apple ipod";
homepage = "https://sourceforge.net/projects/gtkpod/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -12,9 +12,9 @@
, postgresql
, protobuf
, rustPlatform
, rust-jemalloc-sys
, Security
, sqlite
, rust-jemalloc-sys
, stdenv
, SystemConfiguration
, testers
@ -23,7 +23,7 @@
rustPlatform.buildRustPackage rec {
pname = "lighthouse";
version = "4.5.0";
version = "4.6.0";
# lighthouse/common/deposit_contract/build.rs
depositContractSpecVersion = "0.12.1";
@ -33,11 +33,12 @@ rustPlatform.buildRustPackage rec {
owner = "sigp";
repo = "lighthouse";
rev = "v${version}";
hash = "sha256-UUOvTxOQXT1zfhDYEL/J6moHAyejZn7GyGS/XBmXxRQ=";
hash = "sha256-uMrVnVvYXcY2Axn3ycsf+Pwur3HYGoOYjjUkGS5c3l4=";
};
patches = [
./use-system-sqlite.patch
./use-c-kzg-from-crates-io.patch
];
postPatch = ''
@ -48,14 +49,11 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
outputHashes = {
"amcl-0.3.0" = "sha256-kc8k/ls4W0TwFBsRcyyotyz8ZBEjsZXHeJnJtsnW/LM=";
"anvil-rpc-0.1.0" = "sha256-L38OioxnWEn94g3GJT4j3U1cJZ8jQDHp8d1QOHaVEuU=";
"beacon-api-client-0.1.0" = "sha256-Z0CoPxZzl2bjb8vgmHWxq2orMawhMMs7beKGopilKjE=";
"ethereum-consensus-0.1.1" = "sha256-biTrw3yMJUo9+56QK5RGWXLCoPPZEWp18SCs+Y9QWg4=";
"discv5-0.4.0" = "sha256-GKAk9Du6fy0ldeBEwPueDbVPhyNxdKNROKpMJvR/OTc=";
"futures-bounded-0.2.3" = "sha256-/LbD+je9P1lPnXMJVDqRQHJziQPXPvSDmQadTfsQ5I8=";
"libmdbx-0.1.4" = "sha256-NMsR/Wl1JIj+YFPyeMMkrJFfoS07iEAKEQawO89a+/Q=";
"lmdb-rkv-0.14.0" = "sha256-sxmguwqqcyOlfXOZogVz1OLxfJPo+Q0+UjkROkbbOCk=";
"mev-rs-0.3.0" = "sha256-LCO0GTvWTLcbPt7qaSlLwlKmAjt3CIHVYTT/JRXpMEo=";
"testcontainers-0.14.0" = "sha256-mSsp21G7MLEtFROWy88Et5s07PO0tjezovCGIMh+/oQ=";
"warp-0.3.5" = "sha256-d5e6ASdL7+Dl3KsTNOb9B5RHpStrupOKsbGWsdu9Jfk=";
"warp-0.3.6" = "sha256-knDt2aw/PJ0iabhKg+okwwnEzCY+vQVhE7HKCTM6QbE=";
};
};
@ -70,8 +68,8 @@ rustPlatform.buildRustPackage rec {
];
buildInputs = [
sqlite
rust-jemalloc-sys
sqlite
] ++ lib.optionals stdenv.isDarwin [
CoreFoundation
Security
@ -102,11 +100,12 @@ rustPlatform.buildRustPackage rec {
# All of these tests require network access and/or docker
cargoTestFlags = [
"--workspace"
"--exclude beacon_node"
"--exclude beacon_chain"
"--exclude beacon_node"
"--exclude http_api"
"--exclude lighthouse"
"--exclude lighthouse_network"
"--exclude network"
"--exclude slashing_protection"
"--exclude watch"
"--exclude web3signer_tests"
@ -147,11 +146,17 @@ rustPlatform.buildRustPackage rec {
updateScript = nix-update-script { };
};
enableParallelBuilding = true;
# This is needed by the unit tests.
FORK_NAME = "capella";
meta = with lib; {
description = "Ethereum consensus client in Rust";
homepage = "https://lighthouse.sigmaprime.io/";
license = licenses.asl20;
maintainers = with maintainers; [ centromere pmw ];
mainProgram = "lighthouse";
broken = stdenv.hostPlatform.isDarwin;
};
}

View file

@ -0,0 +1,11 @@
diff --git a/crypto/kzg/Cargo.toml b/crypto/kzg/Cargo.toml
index 7b70166f9..857fa4ee1 100644
--- a/crypto/kzg/Cargo.toml
+++ b/crypto/kzg/Cargo.toml
@@ -16,4 +16,4 @@ serde = { workspace = true }
ethereum_serde_utils = { workspace = true }
hex = { workspace = true }
ethereum_hashing = { workspace = true }
-c-kzg = { git = "https://github.com/ethereum/c-kzg-4844", rev = "748283cced543c486145d5f3f38684becdfe3e1b"}
\ No newline at end of file
+c-kzg = "0.4.0"

View file

@ -1,10 +1,10 @@
diff --git a/Cargo.toml b/Cargo.toml
index 62c0e7bd2..a089e3c5b 100644
index ca55d00d4..76514b545 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -138,7 +138,7 @@ rayon = "1.7"
@@ -139,7 +139,7 @@ rayon = "1.7"
regex = "1"
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls"] }
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls", "native-tls-vendored"] }
ring = "0.16"
-rusqlite = { version = "0.28", features = ["bundled"] }
+rusqlite = { version = "0.28" }

View file

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "rehex";
version = "0.61.0";
version = "0.61.1";
src = fetchFromGitHub {
owner = "solemnwarning";
repo = pname;
rev = version;
hash = "sha256-NBBBeTy15q6G30XR2PVd/xdIg41U2pWSPtqpdQX/+9o=";
hash = "sha256-/m4s5BW33I9g9hi5j3Vtui271w8Jv91+rQrI3qpO5Og=";
};
nativeBuildInputs = [ pkg-config which zip ]

View file

@ -1,72 +1,63 @@
{ lib
, fetchurl
, vscode-utils
, patchelf
, icu
, stdenv
, openssl
, coreutils
,
}:
let
inherit (stdenv.hostPlatform) system;
inherit (vscode-utils) buildVscodeMarketplaceExtension;
version = "1.25.4";
vsixInfo =
extInfo =
let
linuxDebuggerBins = [
baseBins = [
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
".razor/rzls"
];
linuxBins = baseBins ++ [
".debugger/vsdbg-ui"
".debugger/vsdbg"
];
darwinX86DebuggerBins = [
darwinBins = baseBins ++ [
".debugger/x86_64/vsdbg-ui"
".debugger/x86_64/vsdbg"
];
darwinAarch64DebuggerBins = [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
omniSharpBins = [
".omnisharp/1.39.4-net6.0/OmniSharp"
];
razorBins = [
".razor/createdump"
".razor/rzls"
];
in
{
x86_64-linux = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-linux-x64.vsix";
sha256 = "08k0wxyj8wz8npw1yqrkdpbvwbnrdnsngdkrd2p5ayn3v608ifc2";
binaries = linuxDebuggerBins ++ omniSharpBins ++ razorBins;
arch = "linux-x64";
sha256 = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
binaries = linuxBins;
};
aarch64-linux = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-linux-arm64.vsix";
sha256 = "09r2d463dk35905f2c3msqzxa7ylcf0ynhbp3n6d12y3x1200pr2";
binaries = linuxDebuggerBins ++ omniSharpBins ++ razorBins;
arch = "linux-arm64";
sha256 = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
binaries = linuxBins;
};
x86_64-darwin = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-darwin-x64.vsix";
sha256 = "0mp550kq33zwmlvrhymwnixl4has62imw3ia5z7a01q7mp0w9wpn";
binaries = darwinX86DebuggerBins ++ omniSharpBins ++ razorBins;
arch = "darwin-x64";
sha256 = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
binaries = darwinBins;
};
aarch64-darwin = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-darwin-arm64.vsix";
sha256 = "08406xz2raal8f10bmnkz1mwdfprsbkjxzc01v0i4sax1hr2a2yl";
binaries = darwinAarch64DebuggerBins ++ darwinX86DebuggerBins ++ omniSharpBins ++ razorBins;
arch = "darwin-arm64";
sha256 = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
binaries = darwinBins ++ [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
};
}.${system} or (throw "Unsupported system: ${system}");
in
vscode-utils.buildVscodeMarketplaceExtension rec {
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "csharp";
publisher = "ms-dotnettools";
inherit version;
};
vsix = fetchurl {
name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
inherit (vsixInfo) url sha256;
version = "2.22.3";
inherit (extInfo) sha256 arch;
};
nativeBuildInputs = [
@ -74,63 +65,47 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
];
postPatch = ''
declare ext_unique_id
# See below as to why we cannot take the whole basename.
ext_unique_id="$(basename "$out" | head -c 32)"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
# Fix 'Unable to connect to debuggerEventsPipeName .. exceeds the maximum length 107.' when
# attempting to launch a specific test in debug mode. The extension attemps to open
# a pipe in extension dir which would fail anyway. We change to target file path
# to a path in tmp dir with a short name based on the unique part of the nix store path.
# This is however a brittle patch as we're working on minified code.
# Hence the attempt to only hold on stable names.
# However, this really would better be fixed upstream.
sed -i \
-E -e 's/(this\._pipePath=[a-zA-Z0-9_]+\.join\()([a-zA-Z0-9_]+\.getExtensionPath\(\)[^,]*,)/\1require("os").tmpdir(), "'"$ext_unique_id"'"\+/g' \
"$PWD/dist/extension.js"
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
# Fix reference to uname
sed -i \
-E -e 's_uname -m_${coreutils}/bin/uname -m_g' \
"$PWD/dist/extension.js"
patchelf_common() {
declare elf="''${1?}"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
"$elf"
}
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
substituteInPlace dist/extension.js \
--replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
patchelf_common() {
declare elf="''${1?}"
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc openssl icu.out ]}:\$ORIGIN" \
"$elf"
}
'' + (lib.concatStringsSep "\n" (map
(bin: ''
chmod +x "${bin}"
'')
vsixInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
vsixInfo.binaries));
''
+ (lib.concatStringsSep "\n" (map
(bin: ''
chmod +x "${bin}"
'')
extInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
extInfo.binaries));
meta = {
description = "C# for Visual Studio Code (powered by OmniSharp)";
homepage = "https://github.com/OmniSharp/omnisharp-vscode";
description = "Official C# support for Visual Studio Code";
homepage = "https://github.com/dotnet/vscode-csharp";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jraygauthier ];
maintainers = with lib.maintainers; [ ggg ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
}

View file

@ -30,21 +30,21 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1sasd183cf264a8am93ck35b485p5vl2bfzzxzpf65rvcmvhn7fh";
x86_64-darwin = "01nfh5izc53sxfw27i0byn0l6q4qwp7y9zs0g9a3rx3qglm47qr8";
aarch64-linux = "183583xnjv18ksy8bbkjfkxx3zy22anj14hi8bavhgix9bzk3wrb";
aarch64-darwin = "1whjm4z922qq1yh4vliiab777n0la6sc45n2qf7q9pvxjj1f83wj";
armv7l-linux = "171diqiv9yb9c5klihndsgk7qp7y80cc6bq8r4hnw1b834k0ywfp";
x86_64-linux = "11brsgksn3bl3px0hwa83vr22gb2k19pn8hcn7xwn6zzcgf7rsf2";
x86_64-darwin = "1ai7jmiq37zpicc5p387nvbx5122fp7c3qh2k596jq7l7k0iyfzd";
aarch64-linux = "0psjz56h8asgdh0m6insfysw1f6d00hifvb0rfsi8qv0wca72wb4";
aarch64-darwin = "0jskk6dvjg290mvw8hcs4hrhy7m3ridsj5w9lxs6kn74fdvg1byb";
armv7l-linux = "0rz26xw312s0larjvkrf8np9c0yccppadiqmj69j47vavg78274c";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.87.1";
version = "1.87.2";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "1e790d77f81672c49be070e04474901747115651";
rev = "863d2581ecda6849923a2118d93a088b0745d9d6";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@ -68,7 +68,7 @@ in
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "19k2n1zlfvy1dczrslrdzhvpa27nc0mcg2x4bmp5yvvv5bpv3bbd";
sha256 = "1hdny44f93qzpm9vgx14wk1myrnsv5qcj25rqcy2jb5kspnq6813";
};
};

View file

@ -6,7 +6,7 @@
stdenv.mkDerivation rec {
pname = "lightburn";
version = "1.5.02";
version = "1.5.03";
nativeBuildInputs = [
p7zip
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
sha256 = "sha256-1gmiPWrNk3T8WJ9u/4UzrhwxOcPUKyWIqtwqJiXA4c4=";
sha256 = "sha256-p1vbpxRrcNInftBkVVhIckVsrZQRvlk/323D5zIjXJ8=";
};
buildInputs = [

View file

@ -36,6 +36,7 @@ in stdenv.mkDerivation rec {
cmakeDir = "../sources";
cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=ON"
"-DTIFF_INCLUDE_DIR=${libtiff.dev}/include"
"-DTIFF_LIBRARY=${libtiff.out}/lib/libtiff.so"
];

View file

@ -3,7 +3,7 @@
{ fetchFromGitHub, }: rec {
versions = {
opentoonz = "1.5.0";
opentoonz = "1.7.1";
libtiff = "4.0.3"; # The version in thirdparty/tiff-*
};
@ -11,6 +11,6 @@
owner = "opentoonz";
repo = "opentoonz";
rev = "v${versions.opentoonz}";
sha256 = "1rw30ksw3zjph1cwxkfvqj0330v8wd4333gn0fdf3cln1w0549lk";
hash = "sha256-5iXOvh4QTv+G0fjEHU62u7QCee+jbvKhK0+fQXbdJis=";
};
}

View file

@ -20,16 +20,17 @@
, qtmultimedia
, qtpositioning
, qtsvg
, zxing-cpp
, qtwayland
}:
stdenv.mkDerivation rec {
pname = "photoqt";
version = "4.2";
version = "4.3";
src = fetchurl {
url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
hash = "sha256-OUqsyvmv6ccJDzcWAeS1OOmK2eXOCEgGktz6GEUzoA8=";
hash = "sha256-B0ZubvWIEZFnD2v74bpPv+/wr7vaHS9QP4//9/afjzQ=";
};
nativeBuildInputs = [
@ -55,20 +56,19 @@ stdenv.mkDerivation rec {
qtmultimedia
qtpositioning
qtsvg
zxing-cpp
] ++ lib.optionals stdenv.isLinux [
qtwayland
];
cmakeFlags = [
"-DDEVIL=OFF"
"-DCHROMECAST=OFF"
"-DFREEIMAGE=OFF"
"-DIMAGEMAGICK=OFF"
(lib.cmakeBool "DEVIL" false)
(lib.cmakeBool "CHROMECAST" false)
(lib.cmakeBool "FREEIMAGE" false)
(lib.cmakeBool "IMAGEMAGICK" false)
];
preConfigure = ''
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
'';
env.MAGICK_LOCATION = "${graphicsmagick}/include/GraphicsMagick";
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications

View file

@ -2,12 +2,12 @@
python3Packages.buildPythonApplication rec {
pname = "chatblade";
version = "0.3.4";
version = "0.4.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-ODC8n4JS7IOfAJMn7CPzJcBNMhfD5A3eEqVUK1e4mZY=";
sha256 = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
};
doCheck = false; # there are no tests

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "hcl2json";
version = "0.6.1";
version = "0.6.2";
src = fetchFromGitHub {
owner = "tmccombs";
repo = pname;
rev = "v${version}";
sha256 = "sha256-6DCxpnTizTg3uhHIIze2IyA8IKcjIv44XoId7exdQZI=";
sha256 = "sha256-lnmWIyS1byXvShR1/ej8PAuo+WJBEBykQwJ79439Fus=";
};
vendorHash = "sha256-Ay6Sgdm7X+NxtLkFM0AT8aoWLdASjUhcidRUiV2K+us=";
vendorHash = "sha256-HbdectUQgyQZ9qcfBarwRTF3VjzSqaM2vhVekThv2+k=";
subPackages = [ "." ];

View file

@ -6,6 +6,8 @@
, pkg-config
, fontconfig
, xorg
, libxkbcommon
, wayland
, libGL
, openssl
, darwin
@ -13,16 +15,16 @@
rustPlatform.buildRustPackage rec {
pname = "inlyne";
version = "0.3.2";
version = "0.4.0";
src = fetchFromGitHub {
owner = "trimental";
repo = pname;
rev = "v${version}";
hash = "sha256-DSi6iS1ySdvGf6FxZpsDOAFpAKx/APcZjxA3Qy0gQBU=";
hash = "sha256-dDGTy5WOCyeWYfemVtv+YswNyHSqDL4C7MbHsKgRwLk=";
};
cargoHash = "sha256-UzegSJGAOBUDN8WluN7fLWS7NfHhm9YY0Zuq6DCIqHo=";
cargoHash = "sha256-GDy7/FooHD77X5dZmlLX+isRKr2WjadKPKyVD55M9ZE=";
nativeBuildInputs = [
installShellFiles
@ -36,6 +38,8 @@ rustPlatform.buildRustPackage rec {
xorg.libXi
xorg.libXrandr
xorg.libxcb
wayland
libxkbcommon
openssl
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.AppKit

View file

@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
homepage = "https://valent.andyholmes.ca";
changelog = "https://github.com/andyholmes/valent/blob/${src.rev}/CHANGELOG.md";
license = with licenses; [ gpl3Plus cc0 cc-by-sa-30 ];
maintainers = with maintainers; [ federicoschonborn aleksana ];
maintainers = with maintainers; [ aleksana ];
platforms = platforms.linux;
};
}

View file

@ -1,38 +1,54 @@
{ lib, stdenv, fetchurl
, autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, gnugrep, asar
, electron, python3, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss
{ lib
, stdenv
, fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, makeWrapper
, electron
, cacert
, gitMinimal
, yarn
}:
stdenv.mkDerivation rec {
pname = "whalebird";
version = "5.0.7";
version = "6.0.4";
src = let
downloads = "https://github.com/h3poteto/whalebird-desktop/releases/download/v${version}";
in
if stdenv.system == "x86_64-linux" then
fetchurl {
url = downloads + "/Whalebird-${version}-linux-x64.tar.bz2";
hash = "sha256-eufP038REwF2VwAxxI8R0S3fE8oJ+SX/CES5ozuut2w=";
}
else if stdenv.system == "aarch64-linux" then
fetchurl {
url = downloads + "/Whalebird-${version}-linux-arm64.tar.bz2";
hash = "sha256-U0xVTUUm6wsRxYc1w4vfNtVE6o8dNzXTSi+IX4mgDEE=";
}
else
throw "Whalebird is not supported for ${stdenv.system}";
src = fetchFromGitHub {
owner = "h3poteto";
repo = "whalebird-desktop";
rev = "v${version}";
hash = "sha256-Yx0GEEPJ+d4/RvCbqZdKR6iE2iUNbOJr+RuboqjT8z8=";
};
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
offlineCache = stdenv.mkDerivation {
name = "whalebird-${version}-offline-cache";
inherit src;
nativeBuildInputs = [
cacert # needed for git
gitMinimal # needed to download git dependencies
yarn
];
buildPhase = ''
export HOME=$(mktemp -d)
yarn config set enableTelemetry 0
yarn config set cacheFolder $out
yarn config set --json supportedArchitectures.os '[ "linux" ]'
yarn config set --json supportedArchitectures.cpu '[ "arm64", "x64" ]'
yarn
'';
outputHashMode = "recursive";
outputHash = "sha256-RjTGAgHRRQ4O3eTYpmTrl+KXafDZkWf1NH6lzdozVAA=";
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
copyDesktopItems
gnugrep
asar
yarn
];
buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
desktopItems = [
(makeDesktopItem {
desktopName = "Whalebird";
@ -44,28 +60,21 @@ stdenv.mkDerivation rec {
})
];
unpackPhase = ''
mkdir -p opt
tar -xf ${src} -C opt
# remove the version/target suffix from the untar'd directory
mv opt/Whalebird-* opt/Whalebird
'';
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
buildPhase = ''
runHook preBuild
# Necessary steps to find the tray icon
# For aarch64-linux, we need to overwrite this symlink first as it points to
# /usr/bin/python3
if [ "${stdenv.system}" = "aarch64-linux" ]
then ln -sf ${python3}/bin/python3 \
opt/Whalebird/resources/app.asar.unpacked/node_modules/better-sqlite3/build/node_gyp_bins/python3
fi
asar extract opt/Whalebird/resources/app.asar "$TMP/work"
substituteInPlace "$TMP/work/dist/electron/main.js" \
--replace "$(grep -oE '.{2},"tray_icon.png"' "$TMP/work/dist/electron/main.js")" \
"\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" opt/Whalebird/resources/app.asar
export HOME=$(mktemp -d)
yarn config set enableTelemetry 0
yarn config set cacheFolder ${offlineCache}
yarn --immutable-cache
yarn run nextron build --no-pack
yarn run electron-builder --dir \
--config electron-builder.yml \
-c.electronDist="${electron}/libexec/electron" \
-c.electronVersion=${electron.version}
runHook postBuild
'';
@ -73,26 +82,29 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir $out
mv opt $out
mkdir -p $out/opt
cp -r ./dist/linux-unpacked $out/opt/Whalebird
# install icons
for icon in $out/opt/Whalebird/resources/build/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/whalebird.png"
# Install icons
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
for i in 16 32 128 256 512; do
install -Dm644 "resources/icons/icon.iconset/icon_$i"x"$i.png" \
"$out/share/icons/hicolor/$i"x"$i/apps/whalebird.png"
done
install -Dm644 "resources/icons/icon.iconset/icon_32x32@2x.png" \
"$out/share/icons/hicolor/64x64/apps/whalebird.png"
makeWrapper ${electron}/bin/electron $out/bin/whalebird \
--add-flags $out/opt/Whalebird/resources/app.asar \
makeWrapper "${electron}/bin/electron" "$out/bin/whalebird" \
--add-flags "$out/opt/Whalebird/resources/app.asar" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
runHook postInstall
'';
meta = with lib; {
description = "Electron based Mastodon, Pleroma and Misskey client for Windows, Mac and Linux";
description = "Single-column Fediverse client for desktop";
homepage = "https://whalebird.social";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
sourceProvenance = with sourceTypes; [ fromSource ];
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang colinsane weathercold ];
platforms = [ "x86_64-linux" "aarch64-linux" ];

View file

@ -94,11 +94,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.63.169";
version = "1.63.174";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-K8zbsxwKcYuhW7m7ijrAOeHHpC2AhM4Kr2M7SwGlV70=";
hash = "sha256-COy1XwooN0agp5dLDVUAfhpFvgubbClaGrUQ5PFgTJk=";
};
dontConfigure = true;

View file

@ -28,12 +28,12 @@
version = "2024-01-22";
};
ungoogled-patches = {
hash = "sha256-7c4VQLotLHmSFKfzzXrlwXKB3XPFpyRTnuATrS9RfEw=";
rev = "122.0.6261.111-1";
hash = "sha256-YIJysusNifUPN3Ii2tCUSvHEe63RWlTrTdOt5KBVyK4=";
rev = "122.0.6261.128-1";
};
};
hash = "sha256-43h11bx/k78W7fEPZz4LwxNVExwGSSt74mlbiUYf5ig=";
hash_deb_amd64 = "sha256-juwTFdJB1hgAA14aabNIrql5aaP1JWQy7nOsoTF2Vto=";
version = "122.0.6261.111";
hash = "sha256-BzLSwDQrmKavh4s2uOSfP935NnB5+Hw7oD7YDbSWp2g=";
hash_deb_amd64 = "sha256-SxdYfWhV3ZpiGWmagOM6JUfjAmU9pzFGDQDinXrweas=";
version = "122.0.6261.128";
};
}

View file

@ -2,12 +2,12 @@
let
pname = "polypane";
version = "18.0.0";
version = "18.0.4";
src = fetchurl {
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-d2A+edQJKyChNCA7QH+YjlcIlHYVghX3UP60ZZBtP1s=";
sha256 = "sha256-FqaXLoFgkKHzOvy7f9R36uIDnv2c6HrVF6T3VK5Aw3c=";
};
appimageContents = appimageTools.extractType2 {

View file

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.16.6";
version = "1.16.7";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-vn04bNkg0De46kLcyuaWt9watBXFIGI+4X8SBW3XNyg=";
hash = "sha256-046zHSvJY9kl/vY8TL62TUYkg+otvchq0DIyDsro/+U=";
};
vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178=";

View file

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "kubernetes-helm";
version = "3.14.2";
version = "3.14.3";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "sha256-7Cd5lxPSXXCvYLLh334qnDmd9zbF1LMxTNoZEBpzHS4=";
sha256 = "sha256-GC9rkB35m+a/9pEvD7aNjE4z3qrv33NES842crrzD3I=";
};
vendorHash = "sha256-pYB9J7Zf6MApGpFL7HzqIDcC/vERiVE4z8SsipIeJ7c=";
vendorHash = "sha256-f5tLyq9tP5tdE73Mlee9vAUSHqkUAtAJkwjZP/K6wPM=";
subPackages = [ "cmd/helm" ];
ldflags = [

View file

@ -1,10 +0,0 @@
{
traefik-crd = {
url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-20.3.1+up20.3.0.tgz";
sha256 = "1775vjldvqvhzdbzanxhbaqbmkih09yb91im651q8bc7z5sb9ckn";
};
traefik = {
url = "https://k3s.io/k3s-charts/assets/traefik/traefik-20.3.1+up20.3.0.tgz";
sha256 = "1rj0f0n0vgjcbzfwzhqmsd501i2f6vw145w9plbp8gwdyzmg2nc6";
};
}

View file

@ -1,332 +0,0 @@
{ stdenv
, lib
, makeWrapper
, socat
, iptables
, iproute2
, ipset
, bridge-utils
, btrfs-progs
, conntrack-tools
, buildGoModule
, runc
, rsync
, kmod
, libseccomp
, pkg-config
, ethtool
, util-linux
, fetchFromGitHub
, fetchurl
, fetchzip
, fetchgit
, zstd
, yq-go
, sqlite
, nixosTests
, k3s
, pkgsBuildBuild
}:
# k3s is a kinda weird derivation. One of the main points of k3s is the
# simplicity of it being one binary that can perform several tasks.
# However, when you have a good package manager (like nix), that doesn't
# actually make much of a difference; you don't really care if it's one binary
# or 10 since with a good package manager, installing and running it is
# identical.
# Since upstream k3s packages itself as one large binary with several
# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
# some exceptions.
# K3s also carries patches to some packages (such as containerd and cni
# plugins), so we intentionally use the k3s versions of those binaries for k3s,
# even if the upstream version of those binaries exist in nixpkgs already. In
# the end, that means we have a thick k3s binary that behaves like the upstream
# one for the most part.
# However, k3s also bundles several pieces of unpatched software, from the
# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
# Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired.
let
k3sVersion = "1.24.10+k3s1"; # k3s git tag
k3sCommit = "546a94e9ae1c3be6f9c0dcde32a6e6672b035bc8"; # k3s git commit at the above version
k3sRepoSha256 = "sha256-HfkGb3GtR2wQkVIze26aFh6A6W0fegr8ovpSel7oujQ=";
k3sVendorHash = "sha256-YAerisDr/knlKPaO2fVMZA4FUpwshFmkpi3mJAmLqKM=";
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/download#L29-L32
# see also https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/manifests/traefik.yaml#L8-L16
# At the time of writing, there are two traefik charts, and that's it
charts = import ./chart-versions.nix;
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/version.sh#L56
k3sRootVersion = "0.12.1";
k3sRootSha256 = "sha256-xCXbarWztnvW2xn3cGa84hie3OevVZeGEDWh+Uf3RBw=";
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/version.sh#L49
k3sCNIVersion = "1.1.1-k3s1";
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
# taken from go.mod, the 'github.com/containerd/containerd' line
# run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
# https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/go.mod#L10
containerdVersion = "1.5.16-k3s1";
containerdSha256 = "sha256-dxC44qE1A20Hd2j77Ir9Sla8xncttswWIuGGM/5FWi8=";
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
# https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/go.mod#L18
criCtlVersion = "1.24.0-k3s1";
baseMeta = k3s.meta;
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
versionldflags = [
"-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
"-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
"-X k8s.io/component-base/version.gitTreeState=clean"
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
];
# bundled into the k3s binary
traefikChart = fetchurl charts.traefik;
traefik-crdChart = fetchurl charts.traefik-crd;
# so, k3s is a complicated thing to package
# This derivation attempts to avoid including any random binaries from the
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
# we don't care about doing, we can add those as build or runtime
# dependencies using a real package manager).
# In addition to those binaries, it's also configuration though (right now
# mostly strongswan configuration), and k3s does use those files.
# As such, we download it in order to grab 'etc' and bundle it into the final
# k3s binary.
k3sRoot = fetchzip {
# Note: marked as apache 2.0 license
url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
sha256 = k3sRootSha256;
stripRoot = false;
};
k3sCNIPlugins = buildGoModule rec {
pname = "k3s-cni-plugins";
version = k3sCNIVersion;
vendorHash = null;
subPackages = [ "." ];
src = fetchFromGitHub {
owner = "rancher";
repo = "plugins";
rev = "v${version}";
sha256 = k3sCNISha256;
};
postInstall = ''
mv $out/bin/plugins $out/bin/cni
'';
meta = baseMeta // {
description = "CNI plugins, as patched by rancher for k3s";
};
};
# Grab this separately from a build because it's used by both stages of the
# k3s build.
k3sRepo = fetchgit {
url = "https://github.com/k3s-io/k3s";
rev = "v${k3sVersion}";
sha256 = k3sRepoSha256;
};
# Stage 1 of the k3s build:
# Let's talk about how k3s is structured.
# One of the ideas of k3s is that there's the single "k3s" binary which can
# do everything you need, from running a k3s server, to being a worker node,
# to running kubectl.
# The way that actually works is that k3s is a single go binary that contains
# a bunch of bindata that it unpacks at runtime into directories (either the
# user's home directory or /var/lib/rancher if run as root).
# This bindata includes both binaries and configuration.
# In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
# First, we build all the binaries that get packed into the thick k3s binary
# (and output them from one derivation so they'll all be suitably patched up).
# Then, we bundle those binaries into our thick k3s binary and use that as
# the final single output.
# This approach was chosen because it ensures the bundled binaries all are
# correctly built to run with nix (we can lean on the existing buildGoModule
# stuff), and we can again lean on that tooling for the final k3s binary too.
# Other alternatives would be to manually run the
# strip/patchelf/remove-references step ourselves in the installPhase of the
# derivation when we've built all the binaries, but haven't bundled them in
# with generated bindata yet.
k3sServer = buildGoModule rec {
pname = "k3s-server";
version = k3sVersion;
src = k3sRepo;
vendorHash = k3sVendorHash;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libseccomp sqlite.dev ];
subPackages = [ "cmd/server" ];
ldflags = versionldflags;
tags = [ "libsqlite3" "linux" ];
# create the multicall symlinks for k3s
postInstall = ''
mv $out/bin/server $out/bin/k3s
pushd $out
# taken verbatim from https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/build#L123-L131
ln -s k3s ./bin/k3s-agent
ln -s k3s ./bin/k3s-server
ln -s k3s ./bin/k3s-etcd-snapshot
ln -s k3s ./bin/k3s-secrets-encrypt
ln -s k3s ./bin/k3s-certificate
ln -s k3s ./bin/k3s-completion
ln -s k3s ./bin/kubectl
ln -s k3s ./bin/crictl
ln -s k3s ./bin/ctr
popd
'';
meta = baseMeta // {
description = "The various binaries that get packaged into the final k3s binary";
};
};
k3sContainerd = buildGoModule {
pname = "k3s-containerd";
version = containerdVersion;
src = fetchFromGitHub {
owner = "k3s-io";
repo = "containerd";
rev = "v${containerdVersion}";
sha256 = containerdSha256;
};
vendorHash = null;
buildInputs = [ btrfs-progs ];
subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
ldflags = versionldflags;
};
in
buildGoModule rec {
pname = "k3s";
version = k3sVersion;
src = k3sRepo;
vendorHash = k3sVendorHash;
postPatch = ''
# Nix prefers dynamically linked binaries over static binary.
substituteInPlace scripts/package-cli \
--replace '"$LDFLAGS $STATIC" -o' \
'"$LDFLAGS" -o' \
--replace "STATIC=\"-extldflags \'-static\'\"" \
""
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
substituteInPlace scripts/package-cli \
--replace '"''${GO}" generate' \
'GOFLAGS="" \
GOOS="${pkgsBuildBuild.go.GOOS}" \
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
"''${GO}" generate'
'';
# Important utilities used by the kubelet, see
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
# Note the list in that issue is stale and some aren't relevant for k3s.
k3sRuntimeDeps = [
kmod
socat
iptables
iproute2
ipset
bridge-utils
ethtool
util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
conntrack-tools
];
buildInputs = k3sRuntimeDeps;
nativeBuildInputs = [
makeWrapper
rsync
yq-go
zstd
];
# embedded in the final k3s cli
propagatedBuildInputs = [
k3sCNIPlugins
k3sContainerd
k3sServer
runc
];
# We override most of buildPhase due to peculiarities in k3s's build.
# Specifically, it has a 'go generate' which runs part of the package. See
# this comment:
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
buildPhase = ''
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
# copy needed 'go generate' inputs into place
mkdir -p ./bin/aux
rsync -a --no-perms ${k3sServer}/bin/ ./bin/
ln -vsf ${runc}/bin/runc ./bin/runc
ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
ln -vsf ${k3sContainerd}/bin/* ./bin/
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
mkdir -p ./build/static/charts
cp ${traefikChart} ./build/static/charts
cp ${traefik-crdChart} ./build/static/charts
export ARCH=$GOARCH
export DRONE_TAG="v${k3sVersion}"
export DRONE_COMMIT="${k3sCommit}"
# use ./scripts/package-cli to run 'go generate' + 'go build'
./scripts/package-cli
mkdir -p $out/bin
'';
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
doCheck = false;
installPhase = ''
# wildcard to match the arm64 build too
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
wrapProgram $out/bin/k3s \
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
--prefix PATH : "$out/bin"
ln -s $out/bin/k3s $out/bin/kubectl
ln -s $out/bin/k3s $out/bin/crictl
ln -s $out/bin/k3s $out/bin/ctr
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
'';
# Fix-Me: Needs to be adapted specifically for 1.24
# passthru.updateScript = ./update.sh;
passthru.tests = k3s.passthru.mkTests k3sVersion;
meta = baseMeta;
}

View file

@ -1,41 +0,0 @@
From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
From: Euan Kemp <euank@euank.com>
Date: Thu, 3 Feb 2022 23:50:40 -0800
Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
The CRD packaging is a complicated set of commands, so let's reuse it.
---
scripts/download | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/scripts/download b/scripts/download
index 5effc0562a..82361803ee 100755
--- a/scripts/download
+++ b/scripts/download
@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
mkdir -p ${CHARTS_DIR}
mkdir -p ${DATA_DIR}
-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
-
-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
-
-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
-
setup_tmp() {
TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
cleanup() {
@@ -44,8 +38,8 @@ setup_tmp() {
download_and_package_traefik () {
echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
- curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
- code=$?
+ # nixpkgs: copy in our known traefik chart instead
+ cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
if [ $code -ne 0 ]; then
echo "Error: Failed to download Traefik Helm chart!"
--
2.34.1

View file

@ -1,336 +0,0 @@
{ stdenv
, lib
, makeWrapper
, socat
, iptables
, iproute2
, ipset
, bridge-utils
, btrfs-progs
, conntrack-tools
, buildGoModule
, runc
, rsync
, kmod
, libseccomp
, pkg-config
, ethtool
, util-linux
, fetchFromGitHub
, fetchurl
, fetchzip
, fetchgit
, zstd
, yq-go
, sqlite
, nixosTests
, pkgsBuildBuild
, k3s
}:
# k3s is a kinda weird derivation. One of the main points of k3s is the
# simplicity of it being one binary that can perform several tasks.
# However, when you have a good package manager (like nix), that doesn't
# actually make much of a difference; you don't really care if it's one binary
# or 10 since with a good package manager, installing and running it is
# identical.
# Since upstream k3s packages itself as one large binary with several
# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
# some exceptions.
# K3s also carries patches to some packages (such as containerd and cni
# plugins), so we intentionally use the k3s versions of those binaries for k3s,
# even if the upstream version of those binaries exist in nixpkgs already. In
# the end, that means we have a thick k3s binary that behaves like the upstream
# one for the most part.
# However, k3s also bundles several pieces of unpatched software, from the
# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
# Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired.
let
k3sVersion = "1.25.3+k3s1"; # k3s git tag
k3sCommit = "f2585c1671b31b4b34bddbb3bf4e7d69662b0821"; # k3s git commit at the above version
k3sRepoSha256 = "0zwf3iwjcidx14zw36s1hr0q8wmmbfc0rfqwd7fmpjq597h8zkms";
k3sVendorHash = "sha256-U67tJRGqPFk5AfRe7I50zKGC9HJ2oh+iI/C7qF/76BQ=";
# taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
# The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
traefikChartVersion = "12.0.0";
traefikChartSha256 = "1sqmi71fi3ad5dh5fmsp9mv80x6pkgqwi4r9fr8l6i9sdnai6f1a";
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
k3sRootVersion = "0.11.0";
k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
k3sCNIVersion = "1.1.1-k3s1";
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
# taken from go.mod, the 'github.com/containerd/containerd' line
# run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
containerdVersion = "1.5.13-k3s2";
containerdSha256 = "1pfr2ji4aij9js90gf4a3hqnhyw5hshcjdccm62l700j68gs5z97";
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
criCtlVersion = "1.25.0-k3s1";
baseMeta = k3s.meta;
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
versionldflags = [
"-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
"-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
"-X k8s.io/component-base/version.gitTreeState=clean"
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
];
# bundled into the k3s binary
traefikChart = fetchurl {
url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
sha256 = traefikChartSha256;
};
# so, k3s is a complicated thing to package
# This derivation attempts to avoid including any random binaries from the
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
# we don't care about doing, we can add those as build or runtime
# dependencies using a real package manager).
# In addition to those binaries, it's also configuration though (right now
# mostly strongswan configuration), and k3s does use those files.
# As such, we download it in order to grab 'etc' and bundle it into the final
# k3s binary.
k3sRoot = fetchzip {
# Note: marked as apache 2.0 license
url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
sha256 = k3sRootSha256;
stripRoot = false;
};
k3sCNIPlugins = buildGoModule rec {
pname = "k3s-cni-plugins";
version = k3sCNIVersion;
vendorHash = null;
subPackages = [ "." ];
src = fetchFromGitHub {
owner = "rancher";
repo = "plugins";
rev = "v${version}";
sha256 = k3sCNISha256;
};
postInstall = ''
mv $out/bin/plugins $out/bin/cni
'';
meta = baseMeta // {
description = "CNI plugins, as patched by rancher for k3s";
};
};
# Grab this separately from a build because it's used by both stages of the
# k3s build.
k3sRepo = fetchgit {
url = "https://github.com/k3s-io/k3s";
rev = "v${k3sVersion}";
sha256 = k3sRepoSha256;
};
# Stage 1 of the k3s build:
# Let's talk about how k3s is structured.
# One of the ideas of k3s is that there's the single "k3s" binary which can
# do everything you need, from running a k3s server, to being a worker node,
# to running kubectl.
# The way that actually works is that k3s is a single go binary that contains
# a bunch of bindata that it unpacks at runtime into directories (either the
# user's home directory or /var/lib/rancher if run as root).
# This bindata includes both binaries and configuration.
# In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
# First, we build all the binaries that get packed into the thick k3s binary
# (and output them from one derivation so they'll all be suitably patched up).
# Then, we bundle those binaries into our thick k3s binary and use that as
# the final single output.
# This approach was chosen because it ensures the bundled binaries all are
# correctly built to run with nix (we can lean on the existing buildGoModule
# stuff), and we can again lean on that tooling for the final k3s binary too.
# Other alternatives would be to manually run the
# strip/patchelf/remove-references step ourselves in the installPhase of the
# derivation when we've built all the binaries, but haven't bundled them in
# with generated bindata yet.
k3sServer = buildGoModule rec {
pname = "k3s-server";
version = k3sVersion;
src = k3sRepo;
vendorHash = k3sVendorHash;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libseccomp sqlite.dev ];
subPackages = [ "cmd/server" ];
ldflags = versionldflags;
tags = [ "libsqlite3" "linux" ];
# create the multicall symlinks for k3s
postInstall = ''
mv $out/bin/server $out/bin/k3s
pushd $out
# taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
ln -s k3s ./bin/k3s-agent
ln -s k3s ./bin/k3s-server
ln -s k3s ./bin/k3s-etcd-snapshot
ln -s k3s ./bin/k3s-secrets-encrypt
ln -s k3s ./bin/k3s-certificate
ln -s k3s ./bin/kubectl
ln -s k3s ./bin/crictl
ln -s k3s ./bin/ctr
popd
'';
meta = baseMeta // {
description = "The various binaries that get packaged into the final k3s binary";
};
};
k3sContainerd = buildGoModule {
pname = "k3s-containerd";
version = containerdVersion;
src = fetchFromGitHub {
owner = "k3s-io";
repo = "containerd";
rev = "v${containerdVersion}";
sha256 = containerdSha256;
};
vendorHash = null;
buildInputs = [ btrfs-progs ];
subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
ldflags = versionldflags;
};
in
buildGoModule rec {
pname = "k3s";
version = k3sVersion;
src = k3sRepo;
vendorHash = k3sVendorHash;
patches = [
./0001-script-download-strip-downloading-just-package-CRD.patch
];
postPatch = ''
# Nix prefers dynamically linked binaries over static binary.
substituteInPlace scripts/package-cli \
--replace '"$LDFLAGS $STATIC" -o' \
'"$LDFLAGS" -o' \
--replace "STATIC=\"-extldflags \'-static\'\"" \
""
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
substituteInPlace scripts/package-cli \
--replace '"''${GO}" generate' \
'GOFLAGS="" \
GOOS="${pkgsBuildBuild.go.GOOS}" \
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
"''${GO}" generate'
'';
# Important utilities used by the kubelet, see
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
# Note the list in that issue is stale and some aren't relevant for k3s.
k3sRuntimeDeps = [
kmod
socat
iptables
iproute2
ipset
bridge-utils
ethtool
util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
conntrack-tools
];
buildInputs = k3sRuntimeDeps;
nativeBuildInputs = [
makeWrapper
rsync
yq-go
zstd
];
# embedded in the final k3s cli
propagatedBuildInputs = [
k3sCNIPlugins
k3sContainerd
k3sServer
runc
];
# We override most of buildPhase due to peculiarities in k3s's build.
# Specifically, it has a 'go generate' which runs part of the package. See
# this comment:
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
buildPhase = ''
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
# copy needed 'go generate' inputs into place
mkdir -p ./bin/aux
rsync -a --no-perms ${k3sServer}/bin/ ./bin/
ln -vsf ${runc}/bin/runc ./bin/runc
ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
ln -vsf ${k3sContainerd}/bin/* ./bin/
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
mkdir -p ./build/static/charts
# Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
export TRAEFIK_CHART_FILE=${traefikChart}
# place the traefik chart using their code since it's complicated
# We trim the actual download, see patches
./scripts/download
export ARCH=$GOARCH
export DRONE_TAG="v${k3sVersion}"
export DRONE_COMMIT="${k3sCommit}"
# use ./scripts/package-cli to run 'go generate' + 'go build'
./scripts/package-cli
mkdir -p $out/bin
'';
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
doCheck = false;
installPhase = ''
# wildcard to match the arm64 build too
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
wrapProgram $out/bin/k3s \
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
--prefix PATH : "$out/bin"
ln -s $out/bin/k3s $out/bin/kubectl
ln -s $out/bin/k3s $out/bin/crictl
ln -s $out/bin/k3s $out/bin/ctr
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
'';
# Fix-Me: Needs to be adapted specifically for 1.25
# passthru.updateScript = ./update.sh;
passthru.tests = k3s.passthru.mkTests k3sVersion;
meta = baseMeta;
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "k8sgpt";
version = "0.3.27";
version = "0.3.28";
src = fetchFromGitHub {
owner = "k8sgpt-ai";
repo = "k8sgpt";
rev = "v${version}";
hash = "sha256-HWcEcufn0NM+7AF4/M29bsUoQYlVA1nbrkCKt9F1g6k=";
hash = "sha256-VDVCkGTLoAZZyTX+zn43KisnUV9XQ9xo9ZIQf3AwDcY=";
};
vendorHash = "sha256-b8Y95BDOR5HI6QMU4XLn5FmSHFD9fntc80r84KgmkuY=";
vendorHash = "sha256-NOXySV9sQl4Q1eDbcGMk0msMSosjyxYyJfhu7hd/4gw=";
CGO_ENABLED = 0;

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kube-router";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitHub {
owner = "cloudnativelabs";
repo = pname;
rev = "v${version}";
hash = "sha256-Iwo+I1EfclkF4FL8QM3xGkIFxakmelI+hSUepLwfFSw=";
hash = "sha256-5aOAQ5kRnNsCn5EH9RKoeEfcFB3g59eqYIdSNjQxdjM=";
};
vendorHash = "sha256-VjPesQ27GcwnFQrNI+VYzJ4/aahcjASbfMi//Zs/KLM=";
vendorHash = "sha256-5aGcDO+dV9XinH0vw6uNB0mnWuFQcyLhRB7zYr+sRfg=";
CGO_ENABLED = 0;

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "roxctl";
version = "4.3.4";
version = "4.3.5";
src = fetchFromGitHub {
owner = "stackrox";
repo = "stackrox";
rev = version;
sha256 = "sha256-5UMU3oKi3QhREum2YevOzwF5OOi8quPWgt+kgGjkeFQ=";
sha256 = "sha256-zTZ03Qtb3ndBf1MunhYS8rzPReExzEPGxCh1JexkwuA=";
};
vendorHash = "sha256-Jzv4ozR8RJiwkgVGGq6dlV/7rbBLq8hFe/Pm4SJZCkU=";
vendorHash = "sha256-Sl5eIK8PWeGi2V7q/Qm5Gfjj1A9nQPtM0BGdO6inPxk=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -167,9 +167,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.7.4";
hash = "sha256-LF8lFDZtDowHqa0z/TCVKznxn15Msha/af8p/w0bI1k=";
vendorHash = "sha256-DI4YTjdFFvfby8ExEY3KoK4J9YKK5LPpMbelzFMDVVs=";
version = "1.7.5";
hash = "sha256-k/ugXlHK7lEKfOpSBXQNUdcq26rVVdjo53U+7ChJLIc=";
vendorHash = "sha256-5sCf65gFpI3y+qwDYvD08OZHNsDMg2IuDL65NMsLQ4Y=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "deck";
version = "1.35.0";
version = "1.36.0";
src = fetchFromGitHub {
owner = "Kong";
repo = "deck";
rev = "v${version}";
hash = "sha256-Cng1T/TjhPttLFcI3if0Ea/M2edXDnrMVAFzAZmNAD8=";
hash = "sha256-bbHJilMh7qnGvYuid8/PmIg5m42jddqOOuMd7mzQmCo=";
};
nativeBuildInputs = [ installShellFiles ];
@ -21,7 +21,7 @@ buildGoModule rec {
];
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-tv/wI4AN10io9x1wl2etKC+MB2vz+6FkmT/eJSsT4VI=";
vendorHash = "sha256-Er9m8G020SKEN8jMIhEYiKvF27YY4dZvG0noYaH3bPU=";
postInstall = ''
installShellCompletion --cmd deck \

View file

@ -11,11 +11,11 @@
}:
let
pname = "beeper";
version = "3.99.22";
version = "3.99.23";
name = "${pname}-${version}";
src = fetchurl {
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.99.22-build-240307lufv3wsra-x86_64.AppImage";
hash = "sha256-T3MABc11rWRjCU+4fvbpYDVq4XjSVfEeBrS03ITw8x8=";
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.99.23-build-240309svrjfqia1-x86_64.AppImage";
hash = "sha256-8kZk5tEJCcSPKgpsVKrHB5twujZF2LdepW7HIJsb52E=";
};
appimage = appimageTools.wrapType2 {
inherit version pname src;

View file

@ -1,9 +1,9 @@
{
"version" = "1.11.59";
"version" = "1.11.60";
"hashes" = {
"desktopSrcHash" = "sha256-dasRfLsa8Jc6Vyay02f6IytjvYs3xbSFB2fU5bxi79E=";
"desktopYarnHash" = "00jvid2li68ji1xkbbpdiy39fzvhmw7ypnr3x82wbqqafkc5vil6";
"webSrcHash" = "sha256-UpRRTPrNiFsqXKD072jXVIqS8ZiuKt/BUzx1oja90VA=";
"webYarnHash" = "1s9lp2dd3slpp70rrbmsbmzphm6fwglnrqwk9fgylzqa1ds8nfjd";
"desktopSrcHash" = "sha256-r4Kcf8iBACHSiUceHq5T2BswGqgVkMBm/5ANq0smA20=";
"desktopYarnHash" = "16psxfai8dyckm4xwrg5czv6l4163x2nlqqcdgly6axabllgacj1";
"webSrcHash" = "sha256-k+jtTUuLaux2HSDsLT2ktcShQTNNnDe0e3Icoa31WdE=";
"webYarnHash" = "0rgdfdkri7mxs7rvp3rwbnijbcs5chc02smw1kbb00j6qzf6k3dj";
};
}

View file

@ -48,23 +48,23 @@ let
# and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can
# find where to edit them.
versions.aarch64-darwin = "5.17.10.30974";
versions.x86_64-darwin = "5.17.10.30974";
versions.x86_64-linux = "5.17.10.3512";
versions.aarch64-darwin = "5.17.11.31580";
versions.x86_64-darwin = "5.17.11.31580";
versions.x86_64-linux = "5.17.11.3835";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
hash = "sha256-JWGy8je6hFDTSKPx4GAUDMJdi5/zKoj4KK5w6E0pcsI=";
hash = "sha256-oCCZksH5sgfPVxh6I7ZpIMvkMX0+HnL1R9voNRjTUP4=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
hash = "sha256-lO0fyW5catdgKZ7cAQhdAbfQW+EewdCjTne+ZC3UW3w=";
hash = "sha256-6bIUfS6bZWh7fEq2xY++nIbnmE5DJxte6sjyoSKUMzU=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
hash = "sha256-dXpfgouZjd+0YyHz1c/7VL3a1SATAX8BpkR4KBeEDbc=";
hash = "sha256-eIa8ESoYi0gPbJbqahqKKvnM7rGPT+WeMIYCyFEWHGE=";
};
};

View file

@ -1,7 +1,7 @@
{ lib, callPackage }:
# For detailed information about the Citrix source-tarball, please refer to the OEM
# reference guide: https://developer-docs.citrix.com/projects/workspace-app-for-linux-oem-guide/en/latest/
# reference guide: https://developer-docs.citrix.com/en-us/citrix-workspace-app-for-linux/citrix-workspace-app-for-linux-oem-reference-guide
let
inherit (callPackage ./sources.nix { }) supportedVersions unsupportedVersions;
@ -13,7 +13,7 @@ let
Citrix Workspace at version ${x} is not supported anymore!
Actively supported releases are listed here:
https://www.citrix.com/support/product-lifecycle/milestones/receiver.html
https://www.citrix.com/support/product-lifecycle/workspace-app.html
'')) unsupportedVersions
);

View file

@ -196,7 +196,7 @@ stdenv.mkDerivation rec {
${mkWrappers copyCert extraCerts}
# See https://developer-docs.citrix.com/projects/workspace-app-for-linux-oem-guide/en/latest/reference-information/#library-files
# See https://developer-docs.citrix.com/en-us/citrix-workspace-app-for-linux/citrix-workspace-app-for-linux-oem-reference-guide/reference-information/#library-files
# Those files are fallbacks to support older libwekit.so and libjpeg.so
rm $out/opt/citrix-icaclient/lib/ctxjpeg_fb_8.so || true
rm $out/opt/citrix-icaclient/lib/UIDialogLibWebKit.so || true
@ -238,7 +238,7 @@ stdenv.mkDerivation rec {
license = licenses.unfree;
description = "Citrix Workspace";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = platforms.linux;
platforms = [ "x86_64-linux" ] ++ optional (versionOlder version "24") "i686-linux";
maintainers = with maintainers; [ michaeladler ];
inherit homepage;
};

View file

@ -12,30 +12,8 @@ let
# for Linux.
#
# The latest versions can be found at https://www.citrix.com/downloads/workspace-app/linux/
# x86 is unsupported past 23.11, see https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/deprecation
supportedVersions = lib.mapAttrs mkVersionInfo {
"23.02.0" = {
major = "23";
minor = "2";
patch = "0";
x64hash = "d0030a4782ba4b2628139635a12a7de044a4eb36906ef1eadb05b6ea77c1a7bc";
x86hash = "39228fc8dd69adca4e56991c1ebc0832fec183c3ab5abd2d65c66b39b634391b";
x64suffix = "10";
x86suffix = "10";
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest6.html";
};
"23.07.0" = {
major = "23";
minor = "7";
patch = "0";
x64hash = "d4001226e79b5353fc74da4c8ed4f6295c1859fe18142cb5de345a3c7ae48168";
x86hash = "4a7da238286ae28d7baf0fefa1e7e09d077c8bc56c2bf7bec00da42c331bee59";
x64suffix = "17";
x86suffix = "17";
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest21.html";
};
"23.09.0" = {
major = "23";
minor = "9";
@ -55,17 +33,27 @@ let
x86hash = "65b8c144e51b5bd78b98ae69e0fa76d6c020a857d74fd5254be49492527072b6";
x64suffix = "82";
x86suffix = "82";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest10.html";
};
"24.02.0" = {
major = "24";
minor = "2";
patch = "0";
x64hash = "eaeb5d3bd079d4e5c9707da67f5f7a25cb765e19c36d01861290655dbf2aaee4";
x86hash = "";
x64suffix = "65";
x86suffix = "";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
};
# Retain attribute-names for abandoned versions of Citrix workspace to
# provide a meaningful error-message if it's attempted to use such an old one.
#
# The lifespans of Citrix products can be found here:
# https://www.citrix.com/support/product-lifecycle/milestones/receiver.html
unsupportedVersions = [ ];
# https://www.citrix.com/support/product-lifecycle/workspace-app.html
unsupportedVersions = [ "23.02.0" "23.07.0" ];
in {
inherit supportedVersions unsupportedVersions;
}

View file

@ -22,7 +22,7 @@
}:
let
version = "0.9.25";
version = "0.9.25.1";
patchedXrdpSrc = applyPatches {
patches = [ ./dynamic_config.patch ];
name = "xrdp-patched-${version}";
@ -31,7 +31,7 @@ let
repo = "xrdp";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-XVaNN+sBEACh/yGnCLn9GHszoofWbcyA+Mr6KZMVFB0=";
hash = "sha256-oAs0oWkCyj3ObdJuHLfT25ZzkTrxNAXDiFU64OOP4Ow=";
};
};

View file

@ -2,12 +2,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "fava";
version = "1.27.2";
version = "1.27.3";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-kLQAWFHDmzsBjVMm/ZUn+TFkM52W0h0jg0wSp1tmPZQ=";
hash = "sha256-GsnXZaazEiOhyjbIinHRD1fdoqlAp3d5csrmtydxmGM=";
};
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];

View file

@ -5,12 +5,12 @@
}:
let
version = "6.7.3";
version = "6.7.5";
pname = "timeular";
src = fetchurl {
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
hash = "sha256-VnjCTf2x3GzmKW9EfNWGsN/aK7DKjTo8DZOF2qqGJ0Q=";
hash = "sha256-b/I34f8fGgPr4+fZJ+2cb+Xi/AvotxNHYg7IaLTByPk=";
};
appimageContents = appimageTools.extractType2 {

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "systemc";
@ -11,16 +11,21 @@ stdenv.mkDerivation rec {
sha256 = "0sj8wlkp68cjhmkd9c9lvm3lk3sckczpz7w9vby64inc1f9fnf0b";
};
enableParallelBuilding = true;
nativeBuildInputs = [ autoreconfHook ];
nativeBuildInputs = [ cmake ];
configureFlags = [ "--with-unix-layout" ];
cmakeFlags = [
# Undefined reference to the sc_core::sc_api_version_2_3_4_XXX
# https://github.com/accellera-official/systemc/issues/21
"-DCMAKE_CXX_STANDARD=17"
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
meta = with lib; {
description = "The language for System-level design, modeling and verification";
homepage = "https://systemc.org/";
license = licenses.asl20;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ victormignot amiloradovsky ];
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, perl, flex, bison, python3, autoconf,
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, flex, bison, python3, autoconf,
which, cmake, ccache, help2man, makeWrapper, glibcLocales,
systemc, git, numactl }:
@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
hash = "sha256-Ya3lqK8BfvMVLZUrD2Et6OmptteWXp5VmZb2x2G/V/E=";
};
patches = [
(fetchpatch {
# Fix try-lock spuriously fail in V3ThreadPool destructor
# https://github.com/verilator/verilator/pull/4938
url = "https://github.com/verilator/verilator/commit/4b9cce4369c78423779238e585ed693c456d464e.patch";
hash = "sha256-sGrk/pxqZqUcmJdzQoPlzXMmYqHCOmd9Y2n6ieVNg1U=";
})
];
enableParallelBuilding = true;
buildInputs = [ perl python3 systemc ]; # ccache
nativeBuildInputs = [ makeWrapper flex bison autoconf help2man git ];
@ -37,6 +46,11 @@ stdenv.mkDerivation rec {
done
'';
env = {
SYSTEMC_INCLUDE = "${lib.getDev systemc}/include";
SYSTEMC_LIBDIR = "${lib.getLib systemc}/lib";
};
meta = with lib; {
description = "Fast and robust (System)Verilog simulator/compiler and linter";
homepage = "https://www.veripool.org/verilator";

View file

@ -3,18 +3,23 @@
, fetchFromGitHub
, ocl-icd
, openssl
, re2
, libevent
, git
, zlib
, expat
, scons
, stdenv
, extraPkgs ? [ ]
}:
let
version = "8.3.1";
version = "8.3.7";
cbangSrc = fetchFromGitHub {
owner = "cauldrondevelopmentllc";
repo = "cbang";
rev = "bastet-v${version}";
hash = "sha256-cuyfJG5aDJ6e2SllxwKTViG0j8FWHvjcTaaBBtkgEdU=";
sha256 = "sha256-acAImItdkgo6PBFL6Vu/caIdcnvp/3VEW2lgVDgKy9g=";
};
fah-client = stdenv.mkDerivation {
@ -25,10 +30,10 @@ let
owner = "FoldingAtHome";
repo = "fah-client-bastet";
rev = "v${version}";
hash = "sha256-Ztc2im4Xmk8f6GotGRgA5zDkcyQFnodUvroJVl+ApT4=";
sha256 = "sha256-d+LY/R4TAko+2e2W76KEBQ8fXj0hzzmBOm+c4tksXMA=";
};
nativeBuildInputs = [ scons ];
nativeBuildInputs = [ scons re2 libevent git ];
buildInputs = [ openssl ];
@ -63,7 +68,7 @@ in
buildFHSEnv {
name = fah-client.name;
targetPkgs = _: [ fah-client ocl-icd ] ++ extraPkgs;
targetPkgs = _: [ fah-client ocl-icd zlib expat ] ++ extraPkgs;
runScript = "/bin/fah-client";

View file

@ -18,37 +18,39 @@
, libpng
, python3
, zlib
, simde
, bashInteractive
, zsh
, fish
, nixosTests
, go
, buildGoModule
, go_1_22
, buildGo122Module
, nix-update-script
}:
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.32.2";
version = "0.33.0";
format = "other";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
rev = "refs/tags/v${version}";
hash = "sha256-CgL+XXVTGLbNXm7DLenrkCZAfspyNubGOAPUZmKiq2c=";
hash = "sha256-0bdDolaFbVI3CqcOtKFrvRqrKXIiSIfH5rxJgK5XssI=";
};
goModules = (buildGoModule {
goModules = (buildGo122Module {
pname = "kitty-go-modules";
inherit src version;
vendorHash = "sha256-Ve8s4vgDmByfvyJL8a36+7g3QErkhqVXGCSu6vHFFx0=";
vendorHash = "sha256-7301wHGCXUdfPFOhgLEJILmYxNohNm6H2zXGd9W11Wk=";
}).goModules;
buildInputs = [
harfbuzz
ncurses
simde
lcms2
librsync
openssl.dev
@ -78,7 +80,7 @@ buildPythonApplication rec {
sphinx-copybutton
sphinxext-opengraph
sphinx-inline-tabs
go
go_1_22
] ++ lib.optionals stdenv.isDarwin [
imagemagick
libicns # For the png2icns tool.
@ -232,7 +234,9 @@ buildPythonApplication rec {
'';
passthru = {
tests.test = nixosTests.terminal-emulators.kitty;
tests = lib.mkIf stdenv.isLinux {
default = nixosTests.terminal-emulators.kitty;
};
updateScript = nix-update-script {};
};

View file

@ -51,16 +51,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "rio";
version = "0.0.35";
version = "0.0.36";
src = fetchFromGitHub {
owner = "raphamorim";
repo = "rio";
rev = "v${version}";
hash = "sha256-e+GiNwvjwIi5wCyI+IQ0BZ8IR8by5RUq8dk1JO50mjU=";
hash = "sha256-QCQFFnlKD5olaGjRwDlj5/EBV6Qy/bFAZOQRtCSPamc=";
};
cargoHash = "sha256-voQQjouCOwVLzOKtDUCa1lZLgx0JB7mvCqOY4BhmMr4=";
cargoHash = "sha256-Ea0scCbM9mfxC1YL3HCoBk93eVW20bj2mJyauyDSzT8=";
nativeBuildInputs = [
ncurses

View file

@ -39,7 +39,7 @@ rustPlatform.buildRustPackage {
"CLI tool to help keep track of your Git repositories, written in Rust";
homepage = "https://github.com/nickgerace/gfold";
license = licenses.asl20;
maintainers = [ maintainers.shanesveller ];
maintainers = [];
platforms = platforms.unix;
mainProgram = "gfold";
};

View file

@ -16,11 +16,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "got";
version = "0.96";
version = "0.97";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-/R7r6IJtgkuNQwoLxys/1HcXW+l3PVkjnPXphFpAFTs=";
hash = "sha256-4HpIlKRYUDoymCBH8GS8DDXaY0nYiVvotpBkwglOO3I=";
};
nativeBuildInputs = [ pkg-config bison ]
@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
# The configure script assumes dependencies on Darwin are installed via
# Homebrew or MacPorts and hardcodes assumptions about the paths of
# dependencies which fails the nixpkgs configurePhase.
substituteInPlace configure --replace 'xdarwin' 'xhomebrew'
substituteInPlace configure --replace-fail 'xdarwin' 'xhomebrew'
'';
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
@ -49,11 +49,12 @@ stdenv.mkDerivation (finalAttrs: {
installCheckPhase = ''
runHook preInstallCheck
test "$($out/bin/got --version)" = "${finalAttrs.pname} ${finalAttrs.version}"
test "$($out/bin/got --version)" = "got ${finalAttrs.version}"
runHook postInstallCheck
'';
meta = with lib; {
meta = {
changelog = "https://gameoftrees.org/releases/CHANGES";
description = "A version control system which prioritizes ease of use and simplicity over flexibility";
longDescription = ''
Game of Trees (Got) is a version control system which prioritizes
@ -65,9 +66,9 @@ stdenv.mkDerivation (finalAttrs: {
on the same repository.
'';
homepage = "https://gameoftrees.org";
changelog = "https://gameoftrees.org/releases/CHANGES";
license = licenses.isc;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ abbe afh ];
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ abbe afh ];
mainProgram = "got";
platforms = with lib.platforms; darwin ++ linux;
};
})

View file

@ -11,36 +11,24 @@
, darwin
}:
let
# josh-ui requires javascript dependencies, haven't tried to figure it out yet
cargoFlags = [ "--workspace" "--exclude" "josh-ui" ];
in
rustPlatform.buildRustPackage rec {
pname = "josh";
version = "23.02.14";
version = "23.12.04";
JOSH_VERSION = "r${version}";
src = fetchFromGitHub {
owner = "esrlabs";
repo = "josh";
rev = JOSH_VERSION;
sha256 = "1sqa8xi5d55zshky7gicac02f67vp944hclkdsmwy0bczk9hgssr";
sha256 = "10fspcafqnv6if5c1h8z9pf9140jvvlrch88w62wsg4w2vhaii0v";
};
patches = [
# Unreleased patch allowing compilation from the GitHub tarball download
(fetchpatch {
name = "josh-version-without-git.patch";
url = "https://github.com/josh-project/josh/commit/13e7565ab029206598881391db4ddc6dface692b.patch";
sha256 = "1l5syqj51sn7kcqvffwl6ggn5sq8wfkpviga860agghnw5dpf7ns";
})
# Merged upstream, fixes builds with newer rustc
(fetchpatch {
name = "josh-fix-builds-with-rust-173.patch";
url = "https://github.com/josh-project/josh/commit/7b8259b81a9acabb528ddebc4ab30fc712f756fb.patch";
sha256 = "sha256-YfrVlH6Ox05ZbmB/15HVaFlOyRTOFbYflq0edi6/X9k=";
includes = [ "josh-proxy/src/bin/josh-proxy.rs" ];
})
];
cargoSha256 = "0f6cvz2s8qs53b2g6xja38m24hafqla61s4r5za0a1dyndgms7sl";
cargoSha256 = "1j0vl3h6f65ldg80bgryh1mz423lcrcdkn8rmajya1850pfxk3w3";
nativeBuildInputs = [
pkg-config
@ -54,11 +42,8 @@ rustPlatform.buildRustPackage rec {
darwin.Security
];
cargoBuildFlags = [
"-p" "josh"
"-p" "josh-proxy"
# TODO: josh-ui
];
cargoBuildFlags = cargoFlags;
cargoTestFlags = cargoFlags;
postInstall = ''
wrapProgram "$out/bin/josh-proxy" --prefix PATH : "${git}/bin"

View file

@ -53,6 +53,7 @@
, libdatachannel
, libvpl
, qrcodegencpp
, nix-update-script
}:
let
@ -61,13 +62,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "obs-studio";
version = "30.0.2";
version = "30.1.0";
src = fetchFromGitHub {
owner = "obsproject";
repo = finalAttrs.pname;
rev = finalAttrs.version;
sha256 = "sha256-8pX1kqibrtDIaE1+/Pey1A5bu6MwFTXLrBOah4rsF+4=";
sha256 = "sha256-9rf3UGazEL5Obd6tqDwM5LOC6D1X6HNzs5sn5z1tOCA=";
fetchSubmodules = true;
};
@ -76,25 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
./Enable-file-access-and-universal-access-for-file-URL.patch
./fix-nix-plugin-path.patch
# Backport ffmpeg 6.1 / GCC 13 build fixes
# FIXME: remove in next release
(fetchpatch {
url = "https://github.com/obsproject/obs-studio/commit/cd784644f5e82b9988043f229c19603289c6d32c.patch";
hash = "sha256-S4JE5kgr4x3uMHY2GRh0GBJpb7o/wYZb/v0CDITFNnQ=";
})
(fetchpatch {
url = "https://github.com/obsproject/obs-studio/commit/758b47d4ed9a25b8d64ad481d8d039990b9e57c9.patch";
hash = "sha256-jYpjwhx6e+dhN3kzbd6FcdjQ+WhIX0/BOu9PSkt+2yI=";
})
(fetchpatch {
url = "https://github.com/obsproject/obs-studio/commit/4b5be75c7e4b8cee908ed4a02fe0078285b4e8c9.patch";
hash = "sha256-tuOevhyxchwG42ilrplbiWoiDAKaY4HgzShlvp4VSQI=";
})
(fetchpatch {
url = "https://github.com/obsproject/obs-studio/commit/6e080a68067b27fe5463f0f4eee7df690451f3d7.patch";
hash = "sha256-nbn/q3uszoHaDvaW8Et1MS1sgQzMsJRmjGSMHzUxV70=";
})
# Fix libobs.pc for plugins on non-x86 systems
(fetchpatch {
name = "fix-arm64-cmake.patch";
@ -175,6 +157,10 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "ENABLE_PIPEWIRE" pipewireSupport)
];
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-error=sign-compare" # https://github.com/obsproject/obs-studio/issues/10200
];
dontWrapGApps = true;
preFixup = let
wrapperLibraries = [
@ -202,6 +188,8 @@ stdenv.mkDerivation (finalAttrs: {
ln -s ${libcef}/lib/* $out/lib/obs-plugins/
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Free and open source software for video recording and live streaming";
longDescription = ''

View file

@ -1,12 +1,12 @@
{ stdenv, lib, fetchFromGitLab, vdr, graphicsmagick }:
stdenv.mkDerivation rec {
pname = "vdr-skin-nopacity";
version = "1.1.16";
version = "1.1.17";
src = fetchFromGitLab {
repo = "SkinNopacity";
owner = "kamel5";
sha256 = "sha256-5TTilBKlNsFBm5BaCoRV1LzZgpad2lOIQGyk94jGYls=";
hash = "sha256-QJKlh5my7e+H5R4E0fCWB/PtwIAXCXw4drQEQzhzfag=";
rev = version;
};

View file

@ -279,20 +279,6 @@ rec {
# Get revisions from
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
docker_20_10 = callPackage dockerGen rec {
version = "20.10.26";
cliRev = "v${version}";
cliHash = "sha256-EPhsng0kLnweVbC8ZnH0NK1/yHlYSA5Sred4rWJX/Gs=";
mobyRev = "v${version}";
mobyHash = "sha256-IJ7m2mQnsLiom0EuZLpuLY6fYEko7rEy35igJv1AY04=";
runcRev = "v1.1.8";
runcHash = "sha256-rDJYEc64KW4Qa3Eg2oUjJqIKrg6THb5hxQFFbvb9Zp4=";
containerdRev = "v1.6.22";
containerdHash = "sha256-In7OkK3xm7Cz3H1jzG9b4tsZbmo44QCq8pNU+PPy8dY=";
tiniRev = "v0.19.0";
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
};
docker_24 = callPackage dockerGen rec {
version = "24.0.5";
cliRev = "v${version}";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "imgcrypt";
version = "1.1.9";
version = "1.1.10";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
hash = "sha256-EStyi6RDK1G6kuaDGumZaHB4OrSrhhx/F5GsLe0amyA=";
hash = "sha256-81jfoWHYYenGQFcQI9kk8uPnv6FcyOtcJjpo1ykdtOI=";
};
vendorHash = null;

View file

@ -16,14 +16,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "wf-shell";
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "WayfireWM";
repo = "wf-shell";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-K5g9DfFlqZyPHDUswx3vtzh0D9ogOQ1p87ZrqyH35vs=";
hash = "sha256-/ajFPIk8VJnlu2DzvSyGD3bC4r/pxALTkZeLNvs9dTw=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,30 @@
{ stdenv, lib }:
let
inherit (lib) findFirst isString optional optionals;
makeCMakeFlags = { cmakeFlags ? [], ... }:
cmakeFlags
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) ([
"-DCMAKE_SYSTEM_NAME=${findFirst isString "Generic" (optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system)}"
] ++ optionals (stdenv.hostPlatform.uname.processor != null) [
"-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
] ++ optionals (stdenv.hostPlatform.uname.release != null) [
"-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.uname.release}"
] ++ optionals (stdenv.hostPlatform.isDarwin) [
"-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
] ++ optionals (stdenv.buildPlatform.uname.system != null) [
"-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
] ++ optionals (stdenv.buildPlatform.uname.processor != null) [
"-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
] ++ optionals (stdenv.buildPlatform.uname.release != null) [
"-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}"
] ++ optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
"-DCMAKE_CROSSCOMPILING_EMULATOR=env"
] ++ optionals stdenv.hostPlatform.isStatic [
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
]);
in
{
inherit makeCMakeFlags;
}

View file

@ -0,0 +1,35 @@
{ stdenv, lib }:
let
inherit (lib) boolToString optionals;
# See https://mesonbuild.com/Reference-tables.html#cpu-families
cpuFamily = platform: with platform;
/**/ if isAarch32 then "arm"
else if isx86_32 then "x86"
else platform.uname.processor;
makeMesonFlags = { mesonFlags ? [], ... }:
let
crossFile = builtins.toFile "cross-file.conf" ''
[properties]
bindgen_clang_arguments = ['-target', '${stdenv.targetPlatform.config}']
needs_exe_wrapper = ${boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)}
[host_machine]
system = '${stdenv.targetPlatform.parsed.kernel.name}'
cpu_family = '${cpuFamily stdenv.targetPlatform}'
cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
[binaries]
llvm-config = 'llvm-config-native'
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
'';
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
in crossFlags ++ mesonFlags;
in
{
inherit makeMesonFlags;
}

View file

@ -12,7 +12,7 @@ npmInstallHook() {
local dest="$packageOut/$(dirname "$file")"
mkdir -p "$dest"
cp "${npmWorkspace-.}/$file" "$dest"
done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
done < <(@jq@ --raw-output '.[0].files | map(.path | select(. | startswith("node_modules/") | not)) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
# Based on code from Python's buildPythonPackage wrap.sh script, for
# supporting both the case when makeWrapperArgs is an array and a

View file

@ -21,6 +21,10 @@ checkComposerValidate() {
echo -e '\e[31mThe validation of the composer.json failed.\e[0m'
echo -e '\e[31mMake sure that the file composer.json is valid.\e[0m'
echo
echo -e '\e[31mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[31m 1. File an issue in the project'\''s issue tracker with detailed information, and apply any available remote patches as a temporary solution '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[31m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
exit 1
else
echo
@ -29,6 +33,10 @@ checkComposerValidate() {
echo -e '\e[33mThe validation of the composer.json failed.\e[0m'
echo -e '\e[33mMake sure that the file composer.json is valid.\e[0m'
echo
echo -e '\e[33mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[33m 1. File an issue in the project'\''s issue tracker with detailed information, and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[33m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
echo -e '\e[33mThis check is not blocking, but it is recommended to fix the issue.\e[0m'
echo
fi
@ -42,6 +50,12 @@ checkComposerValidate() {
echo -e '\e[31mThe validation of the composer.json and composer.lock failed.\e[0m'
echo -e '\e[31mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
echo
echo -e '\e[31mThis often indicates an issue with the upstream project, which can typically be resolved by reporting the issue to the relevant project maintainers.\e[0m'
echo
echo -e '\e[31mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[31m 1. File an issue in the project'\''s issue tracker with detailed information '\('run '\''composer update --lock --no-install'\'' to fix the issue'\)', and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[31m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
exit 1
else
echo
@ -50,6 +64,12 @@ checkComposerValidate() {
echo -e '\e[33mThe validation of the composer.json and composer.lock failed.\e[0m'
echo -e '\e[33mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
echo
echo -e '\e[33mThis often indicates an issue with the upstream project, which can typically be resolved by reporting the issue to the relevant project maintainers.\e[0m'
echo
echo -e '\e[33mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[33m 1. File an issue in the project'\''s issue tracker with detailed information '\('run '\''composer update --lock --no-install'\'' to fix the issue'\)', and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[33m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
echo -e '\e[33mThis check is not blocking, but it is recommended to fix the issue.\e[0m'
echo
fi

View file

@ -1,4 +0,0 @@
{ callPackage, hello }:
{
makeSnap = callPackage ./make-snap.nix { };
}

View file

@ -1,84 +0,0 @@
{
runCommand, squashfsTools, closureInfo, lib, jq, writeText
}:
{
# The meta parameter is the contents of the `snap.yaml`, NOT the
# `snapcraft.yaml`.
#
# - `snap.yaml` is what is inside of the final Snap,
# - `snapcraft.yaml` is used by `snapcraft` to build snaps
#
# Since we skip the `snapcraft` tool, we skip the `snapcraft.yaml`
# file. For more information:
#
# https://docs.snapcraft.io/snap-format
#
# Note: unsquashfs'ing an existing snap from the store can be helpful
# for determining what you you're missing.
#
meta
}: let
snap_yaml = let
# Validate the snap's meta contains a name.
# Also: automatically set the `base` parameter and the layout for
# the `/nix` bind.
validate = { name, ... } @ args:
args // {
# Combine the provided arguments with the required options.
# base: built from https://github.com/NixOS/snapd-nix-base
# and published as The NixOS Foundation on the Snapcraft store.
base = "nix-base";
layout = (args.layout or {}) // {
# Bind mount the Snap's root nix directory to `/nix` in the
# execution environment's filesystem namespace.
"/nix".bind = "$SNAP/nix";
};
};
in writeText "snap.yaml"
(builtins.toJSON (validate meta));
# These are specifically required by snapd, so don't change them
# unless you've verified snapcraft / snapd can handle them. Best bet
# is to just mirror this list against how snapcraft creates images.
# from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L96-L98
mksquashfs_args = [
"-noappend" "-comp" "xz" "-no-xattrs" "-no-fragments"
# Note: We want -all-root every time, since all the files are
# owned by root anyway. This is true for Nix, but not true for
# other builds.
# from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L100
"-all-root"
];
in runCommand "squashfs.img" {
nativeBuildInputs = [ squashfsTools jq ];
closureInfo = closureInfo {
rootPaths = [ snap_yaml ];
};
} ''
root=$PWD/root
mkdir $root
(
# Put the snap.yaml in to `/meta/snap.yaml`, setting the version
# to the hash part of the store path
mkdir $root/meta
version=$(echo $out | cut -d/ -f4 | cut -d- -f1)
cat ${snap_yaml} | jq ". + { version: \"$version\" }" \
> $root/meta/snap.yaml
)
(
# Copy the store closure in to the root
mkdir -p $root/nix/store
cat $closureInfo/store-paths | xargs -I{} cp -r {} $root/nix/store/
)
# Generate the squashfs image.
mksquashfs $root $out \
${lib.concatStringsSep " " mksquashfs_args}
''

View file

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "ad-miner";
version = "1.1.0";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Mazars-Tech";
repo = "AD_Miner";
rev = "refs/tags/v${version}";
hash = "sha256-eAcnGS0HLrTqc/WVKNNwYA89GK233QZj4Gfggt4S8R8=";
hash = "sha256-o1RXuyX2dV0fQwXEeTgmeMYKXiKAqrl+fV8zi1J16Ic=";
};
# All requirements are pinned

View file

@ -5,13 +5,13 @@
}:
python3Packages.buildPythonApplication rec {
pname = "arxiv-latex-cleaner";
version = "1.0.4";
version = "1.0.5";
src = fetchFromGitHub {
owner = "google-research";
repo = "arxiv-latex-cleaner";
rev = "refs/tags/v${version}";
hash = "sha256-Dr0GyivoPjQwVYzvN1JIWhuLz60TQtz4MBB8n1hm6Lo=";
hash = "sha256-Yxp8XtlISVZfEjCEJ/EXsIGMCHDPOwPcjkJxECeXvYk=";
};
propagatedBuildInputs = with python3Packages; [

View file

@ -0,0 +1,27 @@
{ lib
, fetchFromGitHub
, rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "audion";
version = "0.2.0";
src = fetchFromGitHub {
owner = "audiusGmbH";
repo = "audion";
rev = "refs/tags/${version}";
hash = "sha256-j8sQCeHpxrpzyY75DypWI9z+JBWq7aaaXPnZh7ksRjc=";
};
cargoHash = "sha256-/x2gjLz73uPY+ouQOxLN2ViET+V/s9jgkgw97yzVj24=";
meta = with lib; {
description = "Ping the host continuously and write results to a file";
homepage = "https://github.com/audiusGmbH/audion";
changelog = "https://github.com/audiusGmbH/audion/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "audion";
};
}

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "boxbuddy";
version = "2.1.3";
version = "2.1.4";
src = fetchFromGitHub {
owner = "Dvlv";
repo = "BoxBuddyRS";
rev = version;
hash = "sha256-Jl9WhMqb40Olub5eV7Meu5DJi+bzWhPf3DCRPe4CMfo=";
hash = "sha256-954jMFWSIDDqtMitgc8456SMcQLzi6LhLbVvOC45fxQ=";
};
cargoHash = "sha256-HN+yGODTRXRa3AsBOuRVOnnU2pxBZfy0zlnCWs2oQCI=";
cargoHash = "sha256-08d0mPSGYySxw2uq16MNOu2Y39kjqyfZ8rJ2yTOL3/w=";
# The software assumes it is installed either in flatpak or in the home directory
# so the xdg data path needs to be patched here

View file

@ -14,24 +14,33 @@
, cairo
, pango
, npm-lockfile-fix
, overrideSDK
, darwin
}:
buildNpmPackage rec {
let
# fix for: https://github.com/NixOS/nixpkgs/issues/272156
buildNpmPackage' =
buildNpmPackage.override {
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
in
buildNpmPackage' rec {
pname = "bruno";
version = "1.8.0";
version = "1.10.0";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
rev = "v${version}";
hash = "sha256-STWGZzFtU3UpctgNz3m96JyfSRzHy2ZZQPr8R+zpDgM=";
hash = "sha256-wxQaKewKIfN93Wvb7WmOSuflTgfk1XKvHAA1UIVyMqk=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json
'';
};
npmDepsHash = "sha256-0Uac4Q3EYiTkg6RFuwR+saXiVm7jISyZBjkN30uYnnE=";
npmDepsHash = "sha256-IXFFOegzJbDcQejqQsAg11jDnhSKi27Olm8m3qr7bqw=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [
@ -46,6 +55,8 @@ buildNpmPackage rec {
pixman
cairo
pango
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.CoreText
];
desktopItems = [

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cimg";
version = "3.3.4";
version = "3.3.5";
src = fetchFromGitHub {
owner = "GreycLab";
repo = "CImg";
rev = "v.${finalAttrs.version}";
hash = "sha256-qo/k5NpTqu+o2WUEOThozuBJVPMMy8OvIMo2DfJUE8g=";
hash = "sha256-QdQhMEY6Zl3qdvRIeDv/12TL4HMrNJSAQ66vQymOrBU=";
};
outputs = [ "out" "doc" ];

View file

@ -5,11 +5,11 @@
clash-verge.overrideAttrs (old: rec {
pname = "clash-verge-rev";
version = "1.5.7";
version = "1.5.8";
src = fetchurl {
url = "https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v${version}/clash-verge_${version}_amd64.deb";
hash = "sha256-w6qKS+uHWGrY1f4Db7rgM/1jECHz3k9vXWdxhDmDX1A=";
hash = "sha256-cB42pnGgXyIT9H2qTeLAHi37Eij3CrJxgsp4zXRcrx8=";
};
meta = old.meta // (with lib; {

View file

@ -9,6 +9,7 @@
, webkitgtk
, udev
, libayatana-appindicator
, nix-update-script
}:
stdenv.mkDerivation rec {
@ -51,6 +52,8 @@ stdenv.mkDerivation rec {
ln -sf ${lib.getExe clash-meta} $out/bin/${clash-meta.meta.mainProgram}
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "A Clash GUI based on tauri";
homepage = "https://github.com/zzzgydi/clash-verge";

View file

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitLab
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, desktop-file-utils
, libadwaita
, isocodes
, json-glib
, libipuz
}:
stdenv.mkDerivation rec {
pname = "crosswords";
version = "0.3.12";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "crosswords";
rev = version;
hash = "sha256-3RL2LJdIHmDAjXaxqsE0n5UQMsuBJWEMoyAEoSBemR0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
isocodes
json-glib
libipuz
];
meta = with lib; {
description = "A Crossword player and editor for GNOME";
homepage = "https://gitlab.gnome.org/jrb/crosswords";
license = licenses.gpl3Plus;
mainProgram = "crosswords";
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

View file

@ -5,21 +5,19 @@
python3.pkgs.buildPythonApplication rec {
pname = "dep-scan";
version = "5.2.11";
version = "5.2.12";
pyproject = true;
src = fetchFromGitHub {
owner = "owasp-dep-scan";
repo = "dep-scan";
rev = "refs/tags/v${version}";
hash = "sha256-BEvuCdQcr35jWe9r9KR4Uov1zNVxfPSnENNPgy4N+nc=";
hash = "sha256-UoppQAokiWBcgTcSmwfoqrDKt/QHYd2NBR3CpNOqI4k=";
};
postPatch = ''
substituteInPlace pytest.ini \
--replace " --cov-append --cov-report term --cov depscan" ""
substituteInPlace pyproject.toml \
--replace "oras==0.1.26" "oras~=0.1.26"
'';
nativeBuildInputs = with python3.pkgs; [

View file

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "dmarc-report-converter";
version = "0.7.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "tierpod";
repo = "dmarc-report-converter";
rev = "v${version}";
hash = "sha256-doipM3SZmU/QUglN0UA2IpRgrhdMnuCmMPRs0OWRxPE=";
hash = "sha256-cP96tiBpMFNEHuIF0sovi+Q4yW8wMUqr138RyMOFoho=";
};
vendorHash = null;

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.10";
version = "1.1.11";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-vRB4qUws3kqCf7gp8Lzt8e9p68FaAfQyFHj4oJS9QtI=";
hash = "sha256-8kxaJp9mSJ6fHOgVD5iFjecUU0Kt10KCAVSYMQt+bSw=";
};
nativeBuildInputs = [

View file

@ -1,6 +1,7 @@
{ lib
, blueprint-compiler
, cargo
, darwin
, desktop-file-utils
, fetchFromGitHub
, glib
@ -17,19 +18,19 @@
stdenv.mkDerivation rec {
pname = "fretboard";
version = "5.3";
version = "5.4";
src = fetchFromGitHub {
owner = "bragefuglseth";
repo = pname;
repo = "fretboard";
rev = "v${version}";
hash = "sha256-wwq4Xq6IVLF2hICk9HfCpfxpWer8PNWywD8p3wQdp6U=";
hash = "sha256-GqnwAB7hmg2QLwSWqrZtTp6+FybK8/v4GZx/lMi0dGY=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-H/dAKaYHxRmldny8EoasrcDROZhLo5UbHPAoMicDehA=";
hash = "sha256-sGvb1+HKIqNSgCV9UzkCrkGrpjA34Pe9eq2/w3K/w/E=";
};
nativeBuildInputs = [
@ -48,8 +49,14 @@ stdenv.mkDerivation rec {
glib
gtk4
libadwaita
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
];
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
"-Wno-error=incompatible-function-pointer-types"
]);
meta = with lib; {
description = "Look up guitar chords";
homepage = "https://github.com/bragefuglseth/fretboard";
@ -57,6 +64,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ michaelgrahamevans ];
mainProgram = "fretboard";
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View file

@ -120,7 +120,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
version = "1.9.14";
version = "1.9.15";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
hash = "sha256-pG4pRksHw8p8rz99UnLURP+ROE+P+ySt4IlfmyRc1CQ=";
hash = "sha256-w0egw5FKNAOnIYjp2RUx74taivnClQmRfhaFHdKOGZc=";
};
patches = [

View file

@ -0,0 +1,33 @@
{ lib
, stdenv
, cmake
, pkg-config
, glib
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "g3kb-switch";
version = "1.4";
src = fetchFromGitHub {
owner = "lyokha";
repo = "g3kb-switch";
rev = version;
sha256 = "sha256-mcZduHcteZ+nS0YEZG5DfmpA8xrnLhwxumq6hLuLPIs=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
glib
];
meta = with lib; {
homepage = "https://github.com/lyokha/g3kb-switch";
description = "CLI keyboard layout switcher for GNOME Shell";
license = licenses.bsd2;
maintainers = with maintainers; [ Freed-Wu ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,42 @@
{ git
, lib
, libgit2
, makeWrapper
, rustPlatform
, stdenv
, fetchFromGitHub
}:
let
inherit
(lib)
licenses
maintainers
;
version = "0.2.1";
in
rustPlatform.buildRustPackage {
pname = "git-instafix";
inherit version;
src = fetchFromGitHub {
owner = "quodlibetor";
repo = "git-instafix";
rev = "v${version}";
hash = "sha256-rWHiaZji3GECsiMqvEGC/tF+K29ZLlY6+TCNxtixHQo=";
};
cargoHash = "sha256-t5vlr3YxjRPqMHwPqVjWul4RdSg0hiTWUQxcJmGKiTQ=";
buildInputs = [ libgit2 ];
nativeCheckInputs = [ git ];
meta = {
description = "Quickly fix up an old commit using your currently-staged changes";
homepage = "https://github.com/quodlibetor/git-instafix";
license = with licenses; [ mit asl20 ];
maintainers = with maintainers; [ mightyiam ];
changelog = "https://github.com/quodlibetor/git-instafix/releases/tag/v${version}";
broken = stdenv.isDarwin;
};
}

View file

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.5.4";
version = "0.6.2";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-a4hNgEizxanYE3XuHSCmbV6CkOqhXkznP3Sp0KLFFQs=";
hash = "sha256-ymAggfyLPpXp4aQPHp1R+olKeCZwrcwu1GldM8yJVtQ=";
};
cargoHash = "sha256-+CA3UG32oZedzRbt7b0wOlhH/subuym4BCL5SMNzrr8=";
cargoHash = "sha256-pIA9AnJoauT5nLxSgzR2Lk3wSo30fXAepAJlMahSuCA=";
nativeBuildInputs = [
pkg-config

View file

@ -26,7 +26,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmic";
version = "3.3.1";
version = "3.3.5";
outputs = [ "out" "lib" "dev" "man" ];
@ -34,15 +34,15 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GreycLab";
repo = "gmic";
rev = "v.${finalAttrs.version}";
hash = "sha256-HagGabJ1jkg5SkMlr0Y5rGFw64jPW8QLuR0I2idM1N0=";
hash = "sha256-881+o6Wz4yNf92JNNLQn9x44SSjXAp/cZLkBGCfM6DY=";
};
# TODO: build this from source
# Reference: src/Makefile, directive gmic_stdlib.h
# Reference: src/Makefile, directive gmic_stdlib_community.h
gmic_stdlib = fetchurl {
name = "gmic_stdlib.h";
url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-7JzFU4HvAtC5Nz5vusKCnJ8VMuKfSi1yFmjj0Hh+vA4=";
name = "gmic_stdlib_community.h";
url = "http://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-UZzCAs+x9dVMeaeEvPgyVZ5S6UO0yhJWVMgBvBiW2ME=";
};
nativeBuildInputs = [
@ -71,10 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
];
postPatch = ''
cp -r ${finalAttrs.gmic_stdlib} src/gmic_stdlib.h
# CMake build files were moved to subdirectory.
mv resources/CMakeLists.txt resources/cmake .
cp -r ${finalAttrs.gmic_stdlib} src/gmic_stdlib_community.h
''
+ lib.optionalString stdenv.isDarwin ''
substituteInPlace CMakeLists.txt \

View file

@ -1,7 +1,7 @@
{
"version": "0.28",
"srcHash": "sha256-vOXY8B5CRCEQX/NnBVNwmyRKSeDSliurClRPiJIAD3Y=",
"version": "0.31",
"srcHash": "sha256-wDVeX1tHw9pTxYLRkr8BJlF5XIee0/e0f5hzes4ui/o=",
"x86_64-linux": "sha256-h6wGkOfSbB8Rwm7eFvcowDdH1RdS6eFaxgf+SdYvYt8=",
"x86_64-darwin": "sha256-lkURZs6nQpsZ7SGX+eLoBEXa9VdTQP795iHAGYyRaVs=",
"aarch64-darwin": "sha256-lkURZs6nQpsZ7SGX+eLoBEXa9VdTQP795iHAGYyRaVs="
"x86_64-darwin": "sha256-Sjt/JkyPRCzRpAqJOmBKCBAGWSeV7RYOOokCLYCqg+8=",
"aarch64-darwin": "sha256-Sjt/JkyPRCzRpAqJOmBKCBAGWSeV7RYOOokCLYCqg+8="
}

View file

@ -0,0 +1,31 @@
{ lib
, stdenv
, fetchFromGitHub
, buildGoModule
}:
buildGoModule rec {
pname = "kafka-minion";
version = "2.2.7";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "kminion";
rev = "0c90d4301ed4600d1aaf3345b6f16587d2f282fc";
hash = "sha256-CWjX46Sfc9Xj+R7+CZeMuTY0iUStzyZXI4FotwqR44M=";
};
vendorHash = "sha256-6yfQVoY/bHMA4s0IN5ltnQdHWnE3kIKza36uEcGa11U=";
doCheck = false;
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "KMinion is a feature-rich Prometheus exporter for Apache Kafka written in Go";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ cafkafk ];
mainProgram = "kminion";
};
}

View file

@ -0,0 +1,4 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
nix-update kminion

View file

@ -6,7 +6,7 @@
let
pname = "lefthook";
version = "1.6.5";
version = "1.6.6";
in
buildGoModule {
inherit pname version;
@ -15,10 +15,10 @@ buildGoModule {
owner = "evilmartians";
repo = "lefthook";
rev = "v${version}";
hash = "sha256-C76yQ9F4QSywGdihDbNh8KwSL2U+rUjb8VpWRByxzVk=";
hash = "sha256-upt6N6t2ogCaRrHwvw/grTbhr0QXVQCtxMd34XmK030=";
};
vendorHash = "sha256-yWT7IX1n8CQSyXAzoncyYHzvYvIr8WzolyvC8/Cuhlo=";
vendorHash = "sha256-b+1Y75CG4ayDmnhYfPwpzMFrHCPmZ0FMbMsLiToac5c=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -0,0 +1,42 @@
{ lib
, stdenv
, fetchFromGitLab
, meson
, ninja
, pkg-config
, glib
, json-glib
}:
stdenv.mkDerivation rec {
pname = "libipuz";
version = "0.4.5";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "libipuz";
rev = version;
hash = "sha256-psC2cFqSTlToCtCxwosXyJbmX/96AEI0xqzXtlc/HQE=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
glib
];
buildInputs = [
glib
json-glib
];
meta = with lib; {
description = "Library for parsing .ipuz puzzle files";
homepage = "https://gitlab.gnome.org/jrb/libipuz";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

View file

@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "lubelogger";
version = "1.2.5";
version = "1.2.6";
src = fetchFromGitHub {
owner = "hargata";
repo = "lubelog";
rev = "v${version}";
hash = "sha256-wMsIcmHNNpgfYtQNQX8D7umdAGnlv0v5PIcI4Q5mRos=";
hash = "sha256-ZFFTkRCwcoYBjdzlkeAl2MCokF1dXuRV56WpGo2oaiA=";
};
projectFile = "CarCareTracker.sln";

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mbpoll";
version = "1.5";
version = "1.5.2";
src = fetchFromGitHub {
owner = "epsilonrt";
repo = "mbpoll";
rev = "v${finalAttrs.version}";
hash = "sha256-rHjLDgfKtpREemttWt0pr7VtBjwZCSplUR4OWNBVW0c=";
hash = "sha256-rO3j/p7MABlxcwRAZm26u7wgODGFTtetSDhPWPzTuEA=";
};
buildInputs = [ libmodbus ];

File diff suppressed because it is too large Load diff

View file

@ -8,29 +8,21 @@
rustPlatform.buildRustPackage rec {
pname = "nickel";
version = "1.4.1";
version = "1.5.0";
src = fetchFromGitHub {
owner = "tweag";
repo = "nickel";
rev = "refs/tags/${version}";
hash = "sha256-VltrIGo4jXV6lDIqj+hTQQ46PJH1v9CVFOZopyi9tbM=";
hash = "sha256-tb0nIBj/5nb0WbkceL7Rt1Rs0Qjy5/2leSOofF4zhTY=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"topiary-0.3.0" = "sha256-1leQLRohX0iDiOOO96ETM2L3yOElW8OwR5IcrsoxfOo=";
"tree-sitter-bash-0.20.4" = "sha256-+Mpks0FyQLl26TX63J6WhaAl/QDUR1k9wSUY5SFwL+w=";
"tree-sitter-facade-0.9.3" = "sha256-M/npshnHJkU70pP3I4WMXp3onlCSWM5mMIqXP45zcUs=";
"tree-sitter-json-0.20.1" = "sha256-Msnct7JzPBIR9+PIBZCJTRdVMUzhaDTKkl3JaDUKAgo=";
"topiary-core-0.3.0" = "sha256-2oVdtBcH1hF+p3PixBOljHXvGX2YCoRzA/vlBDvN7fE=";
"topiary-queries-0.3.0" = "sha256-1leQLRohX0iDiOOO96ETM2L3yOElW8OwR5IcrsoxfOo=";
"tree-sitter-nickel-0.1.0" = "sha256-HyHdameEgET5UXKMgw7EJvZsJxToc9Qz26XHvc5qmU0=";
"tree-sitter-ocaml-0.20.4" = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
"tree-sitter-ocamllex-0.20.2" = "sha256-YhmEE7I7UF83qMuldHqc/fD/no/7YuZd6CaAIaZ1now=";
"tree-sitter-query-0.1.0" = "sha256-5N7FT0HTK3xzzhAlk3wBOB9xlEpKSNIfakgFnsxEi18=";
"tree-sitter-rust-0.20.4" = "sha256-egTxBuliboYbl+5N6Jdt960EMLByVmLqSmQLps3rEok=";
"tree-sitter-toml-0.5.1" = "sha256-5nLNBxFeOGE+gzbwpcrTVnuL1jLUA0ZLBVw2QrOLsDQ=";
"web-tree-sitter-sys-1.3.0" = "sha256-9rKB0rt0y9TD/HLRoB9LjEP9nO4kSWR9ylbbOXo2+2M=";
};
};

View file

@ -0,0 +1,28 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
}:
rustPlatform.buildRustPackage rec {
pname = "openapi-tui";
version = "0.4.0";
src = fetchFromGitHub {
owner = "zaghaghi";
repo = "openapi-tui";
rev = version;
hash = "sha256-7xkjlX3+/hdVN2PXoiXbouSoMLy0Qe8uMRlPHWJO5Ts=";
};
cargoHash = "sha256-U8TOms8C7vV64OKKdJhMAoOha9s2lBqfBWU7pyZ0h/s=";
meta = with lib; {
description = "Terminal UI to list, browse and run APIs defined with openapi spec";
homepage = "https://github.com/zaghaghi/openapi-tui";
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ];
mainProgram = "openapi-tui";
};
}

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