Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-08-18 00:15:52 +00:00
committed by GitHub
349 changed files with 2916 additions and 1439 deletions
+1 -1
View File
@@ -325,7 +325,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Forgejo
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/package.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @corngood
+35
View File
@@ -339,6 +339,41 @@ once to get a derivation hash, and again to produce the final fixed output deriv
:::
## `runCommand` {#tester-runCommand}
`runCommand :: { name, script, stdenv ? stdenvNoCC, hash ? "...", ... } -> Derivation`
This is a wrapper around `pkgs.runCommandWith`, which
- produces a fixed-output derivation, enabling the command(s) to access the network ;
- salts the derivation's name based on its inputs, ensuring the command is re-run whenever the inputs changes.
It accepts the following attributes:
- the derivation's `name` ;
- the `script` to be executed ;
- `stdenv`, the environment to use, defaulting to `stdenvNoCC` ;
- the derivation's output `hash`, defaulting to the empty file's.
The derivation's `outputHashMode` is set by default to recursive, so the `script` can output a directory as well.
All other attributes are passed through to [`mkDerivation`](#sec-using-stdenv),
including `nativeBuildInputs` to specify dependencies available to the `script`.
:::{.example #ex-tester-runCommand-nix}
# Run a command with network access
```nix
testers.runCommand {
name = "access-the-internet";
command = ''
curl -o /dev/null https://example.com
touch $out
'';
nativeBuildInputs = with pkgs; [ cacert curl ];
}
```
:::
## `runNixOSTest` {#tester-runNixOSTest}
A helper function that behaves exactly like the NixOS `runTest`, except it also assigns this Nixpkgs package set as the `pkgs` of the test and makes the `nixpkgs.*` options read-only.
+1 -1
View File
@@ -455,7 +455,7 @@ rec {
1. Takes a function `p`, or a path to a Nix file that contains a function `p`, which takes an attribute set and returns value of arbitrary type `a`,
2. Takes an attribute set `args` with explicit attributes to pass to `p`,
3. Calls `f` with attributes from the original attribute set `attrs` passed to `newScope` updated with `args, i.e. `attrs // args`, if they match the attributes in the argument of `p`.
3. Calls `f` with attributes from the original attribute set `attrs` passed to `newScope` updated with `args`, i.e. `attrs // args`, if they match the attributes in the argument of `p`.
All such functions `p` will be called with the same value for `attrs`.
+6
View File
@@ -728,6 +728,12 @@ lib.mapAttrs mkLicense ({
redistributable = false;
};
databricks-license = {
fullName = "Databricks License";
url = "https://www.databricks.com/legal/db-license";
free = false;
};
fair = {
fullName = "Fair License";
spdxId = "Fair";
+16
View File
@@ -257,6 +257,22 @@ let
if final.isMacOS then "MACOSX_DEPLOYMENT_TARGET"
else if final.isiOS then "IPHONEOS_DEPLOYMENT_TARGET"
else null;
# Remove before 25.05
androidSdkVersion =
if (args ? sdkVer && !args ? androidSdkVersion) then
throw "For android `sdkVer` has been renamed to `androidSdkVersion`"
else if (args ? androidSdkVersion) then
args.androidSdkVersion
else
null;
androidNdkVersion =
if (args ? ndkVer && !args ? androidNdkVersion) then
throw "For android `ndkVer` has been renamed to `androidNdkVersion`"
else if (args ? androidSdkVersion) then
args.androidNdkVersion
else
null;
} // (
let
selectEmulator = pkgs:
+6 -6
View File
@@ -60,23 +60,23 @@ rec {
armv7a-android-prebuilt = {
config = "armv7a-unknown-linux-androideabi";
rust.rustcTarget = "armv7-linux-androideabi";
sdkVer = "33";
ndkVer = "26";
androidSdkVersion = "33";
androidNdkVersion = "26";
useAndroidPrebuilt = true;
} // platforms.armv7a-android;
aarch64-android-prebuilt = {
config = "aarch64-unknown-linux-android";
rust.rustcTarget = "aarch64-linux-android";
sdkVer = "33";
ndkVer = "26";
androidSdkVersion = "33";
androidNdkVersion = "26";
useAndroidPrebuilt = true;
};
aarch64-android = {
config = "aarch64-unknown-linux-android";
sdkVer = "33";
ndkVer = "26";
androidSdkVersion = "33";
androidNdkVersion = "26";
libc = "bionic";
useAndroidPrebuilt = false;
useLLVM = true;
+21 -1
View File
@@ -5484,6 +5484,12 @@
githubId = 252042;
keys = [ { fingerprint = "85F3 72DF 4AF3 EF13 ED34 72A3 0AAF 2901 E804 0715"; } ];
};
DrymarchonShaun = {
name = "Shaun";
email = "drymarchonshaun@protonmail.com";
github = "DrymarchonShaun";
githubId = 40149778;
};
dsalaza4 = {
email = "podany270895@gmail.com";
github = "dsalaza4";
@@ -7283,9 +7289,10 @@
name = "Gavin Rogers";
};
gaykitty = {
email = "sasha@noraa.gay";
github = "gaykitty";
githubId = 126119280;
name = "Kitty Pride";
name = "Sashanoraa";
};
gazally = {
email = "gazally@runbox.com";
@@ -8024,6 +8031,13 @@
githubId = 62279738;
name = "Håkon Arvidsen";
};
HaskellHegemonie = {
name = "HaskellHegemonie";
email = "haskellisierer@proton.me";
github = "HaskellHegemonie";
githubId = 73712423;
keys = [ { fingerprint = "A559 0A2A 5B06 1923 3917 5F13 5622 C205 6513 577B"; } ];
};
haslersn = {
email = "haslersn@fius.informatik.uni-stuttgart.de";
github = "haslersn";
@@ -11495,6 +11509,12 @@
githubId = 31388299;
name = "Leonardo Eugênio";
};
lenivaya = {
name = "Danylo Osipchuk";
email = "danylo.osipchuk@proton.me";
github = "lenivaya";
githubId = 49302467;
};
leo248 = {
github = "leo248";
githubId = 95365184;
@@ -180,6 +180,8 @@
`services.forgejo.secrets` is a small wrapper over systemd's `LoadCredential=`. It has the same structure (sections/keys) as
`services.forgejo.settings` but takes file paths that will be read before service startup instead of some plaintext value.
- `forgejo` and `forgejo-lts` no longer support the opt-in feature [PAM (Pluggable Authentication Module)](https://forgejo.org/docs/latest/user/authentication/#pam-pluggable-authentication-module).
- `services.ddclient.use` has been deprecated: `ddclient` now supports separate IPv4 and IPv6 configuration. Use `services.ddclient.usev4` and `services.ddclient.usev6` instead.
- `teleport` has been upgraded from major version 15 to major version 16.
+15 -2
View File
@@ -10,6 +10,9 @@
, # Compression parameters.
# For zstd compression you can use "zstd -Xcompression-level 6".
comp ? "xz -Xdict-size 100%"
, # create hydra build product. will put image in directory instead
# of directly in the store
hydraBuildProduct ? false
}:
let
@@ -17,7 +20,7 @@ let
compFlag = if comp == null then "-no-compression" else "-comp ${comp}";
in
stdenv.mkDerivation {
name = "${fileName}.img";
name = "${fileName}${lib.optionalString (!hydraBuildProduct) ".img"}";
__structuredAttrs = true;
nativeBuildInputs = [ squashfsTools ];
@@ -30,7 +33,13 @@ stdenv.mkDerivation {
# for nix-store --load-db.
cp $closureInfo/registration nix-path-registration
imgPath="$out"
'' + lib.optionalString hydraBuildProduct ''
mkdir $out
imgPath="$out/${fileName}.squashfs"
'' + lib.optionalString stdenv.buildPlatform.is32bit ''
# 64 cores on i686 does not work
# fails with FATAL ERROR: mangle2:: xz compress failed with error code 5
if ((NIX_BUILD_CORES > 48)); then
@@ -39,8 +48,12 @@ stdenv.mkDerivation {
'' + ''
# Generate the squashfs image.
mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out ${pseudoFilesArgs} \
mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $imgPath ${pseudoFilesArgs} \
-no-hardlinks ${lib.optionalString noStrip "-no-strip"} -keep-as-directory -all-root -b 1048576 ${compFlag} \
-processors $NIX_BUILD_CORES
'' + lib.optionalString hydraBuildProduct ''
mkdir -p $out/nix-support
echo "file squashfs-image $out/${fileName}.squashfs" >> $out/nix-support/hydra-build-products
'';
}
+3 -5
View File
@@ -27,7 +27,7 @@ in
package = lib.mkPackageOption pkgs [ "greetd" "regreet" ] { };
settings = lib.mkOption {
type = lib.types.either lib.types.path settingsFormat.type;
type = settingsFormat.type;
default = { };
description = ''
ReGreet configuration file. Refer
@@ -141,7 +141,7 @@ in
fonts.packages = [ cfg.font.package ];
programs.regreet.settings = {
programs.regreet.settings.GTK = {
cursor_theme_name = cfg.cursorTheme.name;
font_name = "${cfg.font.name} ${toString cfg.font.size}";
icon_theme_name = cfg.iconTheme.name;
@@ -160,9 +160,7 @@ in
else {text = cfg.extraCss;};
"greetd/regreet.toml".source =
if lib.isPath cfg.settings
then cfg.settings
else settingsFormat.generate "regreet.toml" cfg.settings;
settingsFormat.generate "regreet.toml" cfg.settings;
};
systemd.tmpfiles.settings."10-regreet" = let
+1
View File
@@ -48,6 +48,7 @@ in
type = lib.types.package;
# `yabar-stable` segfaults under certain conditions.
# remember to update yabar.passthru.tests if nixos switches back to it!
apply = x: if x == pkgs.yabar-unstable then x else lib.flip lib.warn x ''
It's not recommended to use `yabar' with `programs.yabar', the (old) stable release
tends to segfault under certain circumstances:
+8 -10
View File
@@ -1,4 +1,9 @@
{ lib, pkgs, config, ... }:
{
lib,
pkgs,
config,
...
}:
let
cfg = config.services.hypridle;
@@ -10,16 +15,9 @@ in
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
];
environment.systemPackages = [ cfg.package ];
systemd.user.services.hypridle = {
description = "Hypridle idle daemon";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
script = lib.getExe cfg.package;
};
systemd.packages = [ cfg.package ];
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
@@ -60,6 +60,7 @@
system.build.squashfs = pkgs.callPackage ../../lib/make-squashfs.nix {
fileName = "nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}";
hydraBuildProduct = true;
noStrip = true; # keep directory structure
comp = "zstd -Xcompression-level 6";
+1
View File
@@ -33,6 +33,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
nodes = {
node = {...}: {
environment.systemPackages = with pkgs; [
# remember to update mongodb.passthru.tests if you change this
mongodb-5_0
];
};
@@ -12,6 +12,7 @@
, gzip
, perl
, jq
, nixosTests
}:
stdenv.mkDerivation (finalAttrs: {
@@ -57,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
# 5 tests out of 23 fail, probably due to the sandbox...
doCheck = false;
passthru.tests = { inherit (nixosTests) mympd; };
meta = {
homepage = "https://jcorporation.github.io/myMPD";
description = "Standalone and mobile friendly web mpd client with a tiny footprint and advanced features";
+4 -4
View File
@@ -28,13 +28,13 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.19";
version = "7.20";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = if stdenv.isDarwin then "sha256-uxrLtq7rTmsgYHeE1yizHsnuijiL17RkbeBJPRUqRnw=" else {
x86_64-linux = "sha256-f38WtxmIbkZpi0P8Cn5jEU7aP2AzEvbnalBg9N/rbMY=";
aarch64-linux = "sha256-WTXF/l7Z33LKzjrTQ8YesgJUBVtKUTDkjfO8curuL2o=";
hash = if stdenv.isDarwin then "sha256-RtGGGbiEEPXYUqK5qpKcCEfIwhlP7/0bAOPMCG7tqZw=" else {
x86_64-linux = "sha256-/6Ee8YCHM9nJhyelEfH62jhkbDwypKXljM305mWY2io=";
aarch64-linux = "sha256-YnKlONKCmXeV19oREJnXD5t3nEQZ5hVOOvDPtUIFw1A=";
}.${stdenv.hostPlatform.system};
};
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, makeWrapper, jre }:
{ lib, stdenv, fetchurl, makeWrapper, jre, nixosTests }:
stdenv.mkDerivation rec {
pname = "ergo";
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
makeWrapper ${jre}/bin/java $out/bin/ergo --add-flags "-jar $src"
'';
passthru.tests = { inherit (nixosTests) ergo; };
meta = with lib; {
description = "Open protocol that implements modern scientific ideas in the blockchain area";
homepage = "https://ergoplatform.org/en/";
@@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, buildGoModule }:
{ lib, fetchFromGitHub, buildGoModule, nixosTests }:
buildGoModule rec {
pname = "quorum";
@@ -20,6 +20,8 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ];
passthru.tests = { inherit (nixosTests) quorum; };
meta = with lib; {
description = "Permissioned implementation of Ethereum supporting data privacy";
homepage = "https://consensys.net/quorum/";
@@ -6,6 +6,7 @@
dotnetCorePackages,
zlib,
openssl,
nixosTests,
}:
buildDotnetModule rec {
pname = "wasabibackend";
@@ -38,6 +39,10 @@ buildDotnetModule rec {
mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend
'';
passthru.tests = {
inherit (nixosTests) wasabibackend;
};
meta = with lib; {
description = "Backend for the Wasabi Wallet";
homepage = "https://wasabiwallet.io/";
@@ -28,6 +28,7 @@
, qtbase
, yelp-tools
, yelp-xsl
, nixosTests
}:
stdenv.mkDerivation rec {
@@ -115,6 +116,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = nix-update-script { };
tests = { inherit (nixosTests) lightdm; };
};
@@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, linux-pam, libxcb, makeBinaryWrapper, zig_0_12
, callPackage }:
, callPackage, nixosTests }:
stdenv.mkDerivation {
pname = "ly";
@@ -19,6 +19,8 @@ stdenv.mkDerivation {
ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
'';
passthru.tests = { inherit (nixosTests) ly; };
meta = with lib; {
description = "TUI display manager";
license = licenses.wtfpl;
@@ -16,6 +16,7 @@ runCommand "sddm-wrapped" {
passthru = {
inherit unwrapped;
inherit (unwrapped.passthru) tests;
};
meta = unwrapped.meta;
@@ -2,6 +2,7 @@
, cmake, pkg-config, qttools
, libxcb, libXau, pam, qtbase, qtdeclarative
, qtquickcontrols2 ? null, systemd, xkeyboardconfig
, nixosTests
}:
let
isQt6 = lib.versions.major qtbase.version == "6";
@@ -76,6 +77,8 @@ in stdenv.mkDerivation(finalAttrs: {
done
'';
passthru.tests = { inherit (nixosTests) sddm; };
meta = with lib; {
description = "QML based X11 display manager";
homepage = "https://github.com/sddm/sddm";
@@ -8,13 +8,13 @@
melpaBuild {
pname = "ligo-mode";
version = "1.7.0-unstable-2024-08-01";
version = "1.7.0-unstable-2024-08-14";
src = fetchFromGitLab {
owner = "ligolang";
repo = "ligo";
rev = "454e4a505212b8bd80ac3c75a1432320b9be2604";
hash = "sha256-Z7bv+ulGwnczrSWWC1RIUzSI4wAF9AtObdi5bBfYsOs=";
rev = "547da30202972fd9b5114ce82c4b94ddf6c8e8f7";
hash = "sha256-kGFV3Ci8F+vK1LCQCsdpxeoLHarfa4dItQkJDihE7eI=";
};
files = ''("tools/emacs/ligo-mode.el")'';
@@ -29,13 +29,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "0-unstable-2024-08-06";
version = "0-unstable-2024-08-12";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
rev = "49b5497243873b1bddea09a4a988e3573ed7cc3e";
hash = "sha256-bGO5DjsetInDyGDHog5QJtAgz499kJEj52iWYIzdp5Y=";
rev = "658f08ee51c193f52a0e9723b190e5f6eef77ab7";
hash = "sha256-ksKvekDKYdlJULRmALudfduYe1TkW3aG2uBeKdHOokQ=";
};
patches = [
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }:
{ lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio, nixosTests }:
let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
if stdenv.hostPlatform.system == "i686-linux" then
@@ -31,6 +31,8 @@ in stdenv.mkDerivation rec {
--prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
'';
passthru.tests = { inherit (nixosTests) tuxguitar; };
meta = with lib; {
description = "Multitrack guitar tablature editor";
longDescription = ''
+3 -3
View File
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ox";
version = "0.2.7";
version = "0.3.0";
src = fetchFromGitHub {
owner = "curlpipe";
repo = pname;
rev = version;
hash = "sha256-4I6RjSCfNyeSQwGn6zX9AhePkqr+uOuhXdV0tat1LqI=";
hash = "sha256-g5M/d6pts4Y17CpWJAsWFL5KCq1YFaACJq6n6BQw7mo=";
};
cargoHash = "sha256-VFrN58SRTRGH+RSc59RIdsysR3umnrU2KM5XVCp9u1Q=";
cargoHash = "sha256-6+W/guijsb9+ip1cvke8JLVa4h1nU2zQJCrLv64vsa0=";
meta = with lib; {
description = "Independent Rust text editor that runs in your terminal";
@@ -11256,6 +11256,18 @@ final: prev:
meta.homepage = "https://github.com/levouh/tint.nvim/";
};
tiny-inline-diagnostic-nvim = buildVimPlugin {
pname = "tiny-inline-diagnostic.nvim";
version = "2024-08-10";
src = fetchFromGitHub {
owner = "rachartier";
repo = "tiny-inline-diagnostic.nvim";
rev = "7b212b214aed37d8ae1a26ac6ca9593223a23ddb";
sha256 = "0zf3l8fx7vbq352ip3lrvvhrkkwp8n7n5i2lh5ps8j0jqaxswr33";
};
meta.homepage = "https://github.com/rachartier/tiny-inline-diagnostic.nvim/";
};
tlib_vim = buildVimPlugin {
pname = "tlib_vim";
version = "2022-07-22";
@@ -944,6 +944,7 @@ https://github.com/ron89/thesaurus_query.vim/,,
https://github.com/itchyny/thumbnail.vim/,,
https://github.com/vim-scripts/timestamp.vim/,,
https://github.com/levouh/tint.nvim/,HEAD,
https://github.com/rachartier/tiny-inline-diagnostic.nvim/,HEAD,
https://github.com/tomtom/tinykeymap_vim/,,tinykeymap
https://github.com/tomtom/tlib_vim/,,
https://github.com/wellle/tmux-complete.vim/,,
@@ -1213,6 +1213,23 @@ let
meta.license = lib.licenses.mit;
};
databricks.databricks = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "databricks";
publisher = "databricks";
version = "2.3.1";
hash = "sha256-Qa839ygG8Z3aD/ZSshe2hg0ee3ZFU8xRrJ5E0cUjfCU=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/databricks.databricks/changelog";
description = "Databricks extension for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=databricks.databricks";
homepage = "https://github.com/databricks/databricks-vscode";
license = lib.licenses.databricks-license;
maintainers = [ lib.maintainers.softinio ];
};
};
davidanson.vscode-markdownlint = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-markdownlint";
@@ -3089,6 +3106,8 @@ let
};
};
mongodb.mongodb-vscode = callPackage ./mongodb.mongodb-vscode { };
moshfeu.compare-folders = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "compare-folders";
@@ -4815,8 +4834,8 @@ let
mktplcRef = {
name = "uiua-vscode";
publisher = "uiua-lang";
version = "0.0.44";
hash = "sha256-lumK7gcj/NIhiZKT6F++ZsTFKWw7ZVaKZgIsQvZAGs4=";
version = "0.0.52";
hash = "sha256-zFtu3AYnDxb/aMtkpiaItQtwLpynTVbSRGuqKv3SueM=";
};
meta = {
description = "VSCode language extension for Uiua";
@@ -0,0 +1,19 @@
{ lib, vscode-utils }:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "mongodb-vscode";
publisher = "mongodb";
version = "1.7.0";
hash = "sha256-EDU8kQLTQIe5D905ZVskFt/28Mzv1Zr7auqG4tksQ/o=";
};
meta = {
changelog = "https://github.com/mongodb-js/vscode/blob/main/CHANGELOG.md";
description = "An extension for VS Code that makes it easy to work with your data in MongoDB";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=mongodb.mongodb-vscode";
homepage = "https://github.com/mongodb-js/vscode";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ drupol ];
};
}
@@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0am2g0vpb2fgqqs9m5v9dx8w47l2xnjy7bf3rr0bjr4yv4qn7g0n";
x86_64-darwin = "0520kpdfa2k1qlgnmnzisbbq0n4h119nfgnaljymsviw1ix02v7k";
aarch64-linux = "0r6sqyfcj3qs2iqpfhdjcd8jfazkmyxx0f92qpxlc6a5gllm3hlj";
aarch64-darwin = "03b0akbkmqp1fm6i61dx09lln8m3598xigi4wr0rkdsy0yq2vpl8";
armv7l-linux = "1sdml7bhrrn2qskhzs4ymibq7cw4nhjimxi8fmaj94dk5yri4wd3";
x86_64-linux = "1qddnqjq61c8m9klzkf4ic2zjgcwzpa0mjmraqfyga8njqham8z5";
x86_64-darwin = "1fkpijnm1z84x1bv9w4qvwrydcv9i2jsldvp96gby7f3gp69asaw";
aarch64-linux = "1k8whwqk0di2knld4gxyjwngh5kfa4pa4fr1scg7pfwfx9dnkljd";
aarch64-darwin = "0wgag225ji108zdrfbmp3iviyl3ha6gblcxp5ilc39pi50dms4gv";
armv7l-linux = "00w4238av273qznbnxdw4vvjj0iv8rrzb15aazvirb22d2slk9hr";
}.${system} or throwSystem;
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.91.1.24193";
version = "1.92.2.24228";
pname = "vscodium";
executableName = "codium";
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "clifm";
version = "1.19";
version = "1.20";
src = fetchFromGitHub {
owner = "leo-arch";
repo = pname;
rev = "v${version}";
hash = "sha256-QNxEvFZ5e4jQV2Tv2/D9KPRDoCoQlrqStFnbKVgcXxg=";
hash = "sha256-TKQxNl+RTPQAE7mMALugm3rg8mPZq3eD/uW23DLws8I=";
};
buildInputs = [
+14 -8
View File
@@ -1,19 +1,25 @@
{ lib, stdenv, fetchFromGitHub, cmake, itk_5_2, Cocoa }:
{
lib,
stdenv,
fetchFromGitHub,
cmake,
itk,
Cocoa,
}:
stdenv.mkDerivation rec {
pname = "c3d";
version = "unstable-2021-09-14";
pname = "c3d";
version = "1.4.1-unstable-2024-08-07";
src = fetchFromGitHub {
owner = "pyushkevich";
repo = pname;
rev = "cc06e6e2f04acd3d6faa3d8c9a66b499f02d4388";
sha256 = "sha256:1ql1y6694njsmdapywhppb54viyw8wdpaxxr1b3hm2rqhvwmhn52";
repo = "c3d";
rev = "9e6174153ab87eae014f5b802413478c8fbc9a1a";
hash = "sha256-s2/XRyKoiMnF6cRsxxNUSlNtksbOyKSlk8hAGxJELqw=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ itk_5_2 ]
++ lib.optional stdenv.isDarwin Cocoa;
buildInputs = [ itk ] ++ lib.optional stdenv.isDarwin Cocoa;
cmakeFlags = [ "-DCONVERT3D_USE_ITK_REMOTE_MODULES=OFF" ];
+3 -1
View File
@@ -1,4 +1,4 @@
{ lib, stdenvNoCC, fetchurl, unzip }:
{ lib, stdenvNoCC, fetchurl, unzip, nixosTests }:
stdenvNoCC.mkDerivation rec {
pname = "fluidd";
@@ -25,6 +25,8 @@ stdenvNoCC.mkDerivation rec {
cp -r fluidd $out/share/fluidd/htdocs
'';
passthru.tests = { inherit (nixosTests) fluidd; };
meta = with lib; {
description = "Klipper web interface";
homepage = "https://docs.fluidd.xyz";
+3 -1
View File
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchzip }:
{ lib, stdenv, fetchzip, nixosTests }:
let
arch = "amd64";
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
$out/bin/jotta-cli completion bash > $out/share/bash-completion/completions/jotta-cli.bash
'';
passthru.tests = { inherit (nixosTests) jotta-cli; };
meta = with lib; {
description = "Jottacloud CLI";
homepage = "https://www.jottacloud.com/";
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "nwg-dock";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-qmzCjbWmrDJBB2gnhR5hc0sYD3V0i/SKTavfMA2iLyc=";
sha256 = "sha256-ZR72QMftR6bWCieJHW3k46Ujdn/W5fulGxYKoNPiPfE=";
};
vendorHash = "sha256-paRcBQwg2uGouMRX5XF++OyN8Y0JyucXLN0G5O0j3qA=";
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "sc-im";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitHub {
owner = "andmarti1424";
repo = "sc-im";
rev = "v${version}";
sha256 = "sha256-QlnxMe0WsRX9J2xzpf2Udcf9+N3MvQWqmYl2YKsGpYM=";
sha256 = "sha256-nNOifSYbmJjuw6c8TerIQRlhCwbs7GnzD2J7O3vs0gI=";
};
sourceRoot = "${src.name}/src";
@@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "writefreely";
@@ -23,6 +23,8 @@ buildGoModule rec {
subPackages = [ "cmd/writefreely" ];
passthru.tests = { inherit (nixosTests) writefreely; };
meta = with lib; {
description = "Build a digital writing community";
homepage = "https://github.com/writefreely/writefreely";
@@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
if stdenv.isAarch64 then
rec {
pname = "brave";
version = "1.68.137";
version = "1.68.141";
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-9HMgLZ/iK5xJByZuvD8n5cv+aK5oZRm2Xbm4NhgWpCk=";
hash = "sha256-3Zd1H67rFDar/68ilcxPuAQOllh8SMm//9+h+m1MKes=";
platform = "aarch64-linux";
}
else if stdenv.isx86_64 then
rec {
pname = "brave";
version = "1.68.137";
version = "1.68.141";
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-lEW4bv/BWjV8ncB8TMbLMSoQCW960kWP9DaZkEws428=";
hash = "sha256-soSwRj8acXA2KDgCpcFZh2AFEVX43ZI7IpmvXKv5mFo=";
platform = "x86_64-linux";
}
else
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "argocd";
version = "2.12.0";
version = "2.12.1";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
hash = "sha256-l2J7inrV82ej8baoY3FTcGeusN5e6WNEZMtzOdE8/WY=";
hash = "sha256-mqFQdgzHjht3ipTdjE4IfG9wrV7GZtuvH8T2iosiHMs=";
};
proxyVendor = true; # darwin/linux hash mismatch
@@ -2,18 +2,18 @@
buildGoModule rec {
pname = "kubelogin";
version = "1.28.2";
version = "1.29.0";
src = fetchFromGitHub {
owner = "int128";
repo = pname;
rev = "v${version}";
sha256 = "sha256-hWGP3/WAS2+/jylytZWo7+N/bWmrkaJDHZ0tYbElLSs=";
sha256 = "sha256-fGCllV07YustUIX1XiSvsC42obDOgl2yV5ruQMT2R0c=";
};
subPackages = ["."];
vendorHash = "sha256-r9WaS3J0b2yerjOgVLu0g95fwETqOFWoUvSC30gDzH0=";
vendorHash = "sha256-wtxSoRSpmRwuIOdKGmCRR+QLwOvONiiltg6KL6t2cf8=";
# Rename the binary instead of symlinking to avoid conflict with the
# Azure version of kubelogin
@@ -22,16 +22,16 @@ let
nixops-aws = callPackage ./plugins/nixops-aws.nix { };
nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
nixops-gce = callPackage ./plugins/nixops-gce.nix { };
nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
nixops-hetzner = callPackage ./plugins/nixops-hetzner.nix { };
nixops-hetznercloud = callPackage ./plugins/nixops-hetznercloud.nix { };
nixops-libvirtd = callPackage ./plugins/nixops-libvirtd.nix { };
nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs";
nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs";
nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs";
nixops-hetznercloud = throw "nixops-hetznercloud was broken and was removed from nixpkgs";
# aliases for backwards compatibility
nixops-gcp = nixops-gce;
nixops-virtd = nixops-libvirtd;
nixopsvbox = nixops-vbox;
};
@@ -109,14 +109,11 @@ in
# Not recommended; too fragile.
nixops_unstable_full = minimal.withPlugins (ps: [
ps.nixops-aws
# currently broken
# ps.nixops-aws
ps.nixops-digitalocean
ps.nixops-encrypted-links
ps.nixops-gce
ps.nixops-hercules-ci
ps.nixops-hetzner
ps.nixops-hetznercloud
ps.nixops-libvirtd
ps.nixops-vbox
]);
}
@@ -53,6 +53,7 @@ buildPythonPackage {
description = "AWS plugin for NixOps";
homepage = "https://github.com/NixOS/nixops-aws";
license = licenses.lgpl3Only;
broken = true; # fails with `nose-1.3.7 not supported for interpreter python3.12`
maintainers = nixops.meta.maintainers;
};
}
@@ -1,55 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, unstableGitUpdater
, poetry-core
, cryptography
, libcloud
, nixops
, nixos-modules-contrib
}:
buildPythonPackage {
pname = "nixops-gce";
version = "0-unstable-2023-05-26";
pyproject = true;
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixops-gce";
rev = "d13cb794aef763338f544010ceb1816fe31d7f42";
hash = "sha256-UkYf6CoUrr8yuQoe/ik6vu+UCi3ByJd0BdkS9SLEp0Q=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace "poetry>=" "poetry-core>="
'';
nativeBuildInputs = [
poetry-core
];
buildInputs = [
nixops
];
propagatedBuildInputs = [
cryptography
libcloud
nixos-modules-contrib
];
pythonImportsCheck = [ "nixops_gcp" ];
passthru.updateScript = unstableGitUpdater {};
meta = with lib; {
description = "NixOps Google Cloud Backend";
homepage = "https://github.com/nix-community/nixops-gce";
license = licenses.mit;
maintainers = nixops.meta.maintainers;
broken = true; # never built on Hydra
};
}
@@ -1,57 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, unstableGitUpdater
, poetry-core
, hetzner
, nixops
, nixos-modules-contrib
, typing-extensions
}:
buildPythonPackage {
pname = "nixops-hetzner";
version = "1.0.1-unstable-2022-04-24";
pyproject = true;
src = fetchFromGitHub {
owner = "NixOS";
repo = "nixops-hetzner";
rev = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35";
hash = "sha256-duK1Ui4VpbGSgGvfjTOddHSqHZ1FSy4L9Egg+FvZv04=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace "poetry>=" "poetry-core>="
'';
nativeBuildInputs = [
poetry-core
];
buildInputs = [
nixops
];
propagatedBuildInputs = [
hetzner
nixos-modules-contrib
typing-extensions
];
pythonImportsCheck = [ "nixops_hetzner" ];
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
};
meta = with lib; {
description = "Hetzner bare metal NixOps plugin";
homepage = "https://github.com/NixOS/nixops-hetzner";
license = licenses.mit;
maintainers = nixops.meta.maintainers;
broken = true; # never built on Hydra
};
}
@@ -1,53 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, unstableGitUpdater
, poetry-core
, hcloud
, nixops
, typing-extensions
}:
buildPythonPackage {
pname = "nixops-hetznercloud";
version = "0-unstable-2023-02-19";
pyproject = true;
src = fetchFromGitHub {
owner = "lukebfox";
repo = "nixops-hetznercloud";
rev = "e14f340f7ffe9e2aa7ffbaac0b8a2e3b4cc116b3";
hash = "sha256-IsRJUUAfN6YXcue80qlcunkawUtgMiMU8mM6DP+7Cm4=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace "poetry>=" "poetry-core>="
'';
nativeBuildInputs = [
poetry-core
];
buildInputs = [
nixops
];
propagatedBuildInputs = [
hcloud
typing-extensions
];
pythonImportsCheck = [ "nixops_hetznercloud" ];
passthru.updateScript = unstableGitUpdater {};
meta = with lib; {
description = "NixOps plugin supporting Hetzner Cloud deployments";
homepage = "https://github.com/lukebfox/nixops-hetznercloud";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ lukebfox ];
broken = true; # never built on Hydra
};
}
@@ -1,53 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, unstableGitUpdater
, poetry-core
, libvirt
, nixops
}:
buildPythonPackage {
pname = "nixops-libvirtd";
version = "1.0.0-unstable-2023-09-01";
pyproject = true;
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixops-libvirtd";
rev = "b59424bf53e74200d684a4bce1ae64d276e793a0";
hash = "sha256-HxJu8/hOPI5aCddTpna0mf+emESYN3ZxpTkitfKcfVQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace "poetry>=" "poetry-core>="
'';
nativeBuildInputs = [
poetry-core
];
buildInputs = [
nixops
];
propagatedBuildInputs = [
libvirt
];
pythonImportsCheck = [ "nixops_virtd" ];
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
};
meta = with lib; {
description = "NixOps libvirtd backend plugin";
homepage = "https://github.com/nix-community/nixops-libvirtd";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ aminechikhaoui ];
broken = true; # never built on Hydra
};
}
@@ -5,16 +5,19 @@
buildGoModule rec {
pname = "tfautomv";
version = "0.5.4";
version = "0.6.2";
src = fetchFromGitHub {
owner = "busser";
repo = pname;
rev = "v${version}";
hash = "sha256-irB0Kfd8eqIKq0ooJRxB0X4t2/1aFCNYRwaG6lAw3ic=";
hash = "sha256-qUeIbHJqxGkt2esMm4w6fM52ZE16jWnxugVXxqBh1Qc=";
};
vendorHash = "sha256-Wc5hpiHL5I01IodcHX0IzeKfthkFS7SuUxmaxOU6WkA=";
# checks require unfree programs like terraform/terragrunt
doCheck = false;
vendorHash = "sha256-BZ8IhVPxZTPQXBotFBrxV3dfwvst0te8R84I/urq3gY=";
ldflags = [ "-s" "-w" ];
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, gzip }:
{ lib, stdenv, fetchFromGitHub, gzip, nixosTests }:
stdenv.mkDerivation rec {
pname = "ndppd";
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
cp ndppd.conf-dist $out/etc/ndppd.conf
'';
passthru.tests = { inherit (nixosTests) ndppd; };
meta = with lib; {
description = "Daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
homepage = "https://github.com/DanielAdolfsson/ndppd";
@@ -8,6 +8,7 @@
, gobject-introspection
, librsvg
, wrapGAppsHook3
, nixosTests
}:
let
@@ -87,6 +88,8 @@ let
done
'';
passthru.tests = { inherit (nixosTests) deluge; };
meta = with lib; {
description = "Torrent client";
homepage = "https://deluge-torrent.org";
@@ -21,6 +21,7 @@
, libjpeg_turbo
, _experimental-update-script-combinators
, gitUpdater
, nixosTests
}:
let
@@ -159,6 +160,9 @@ let
{ command = ["rm" "update-git-commits.txt"]; }
(gitUpdater { rev-prefix = "v"; attrPath = "xrdp.xorgxrdp"; })
]);
tests = {
inherit (nixosTests) xrdp;
};
};
meta = with lib; {
@@ -1,22 +1,22 @@
{ fetchurl }:
let
pname = "roam-research";
version = "0.0.19";
version = "0.0.22";
in
{
inherit pname version;
sources = {
x86_64-darwin = fetchurl {
url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}.dmg";
hash = "sha256-pIH4p7dnmyOgGyruSJ39xB8iJ45wtxcIQmfUeBLlDes=";
hash = "sha256-GA9m4z+3Dy87Dz/YPG5MYbREQ1cEAdX/MJvkAJ/fe34=";
};
aarch64-darwin = fetchurl {
url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}-arm64.dmg";
hash = "sha256-iQRaaSU033t3WVWZSKuXCPJbMoNpwLnDHBz5QURu6Gw=";
hash = "sha256-+lgV5TpTzN7mJvvVEpBbmq+aBOBKy1CpYkMNhfoxhK0=";
};
x86_64-linux = fetchurl {
url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/${pname}_${version}_amd64.deb";
hash = "sha256-eDN+hrAc+ePRELcXAs5WypzPlJ+Wtg3kUarf8rq5CnA=";
hash = "sha256-HVGytdP5fkQQABeL9y869GZioutvnBHrwPprAjfBbFg=";
};
};
}
@@ -1,4 +1,4 @@
{ lib, stdenv, undmg, fetchurl }:
{ lib, stdenv, _7zz, fetchurl }:
let
common = import ./common.nix { inherit fetchurl; };
inherit (stdenv.hostPlatform) system;
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
nativeBuildInputs = [ _7zz ];
installPhase = ''
runHook preInstall
@@ -1,5 +1,6 @@
{ pname, version, src, gitSrc, buildInputs ? []
, homepage, description, maintainers
, passthru ? {}
}:
{ lib, stdenv, openssl, zlib, asciidoc, libxml2, libxslt
@@ -10,7 +11,7 @@
}:
stdenv.mkDerivation {
inherit pname version src gitSrc;
inherit pname version src gitSrc passthru;
separateDebugInfo = true;
@@ -1,4 +1,4 @@
{ lib, fetchurl, callPackage, luajit }:
{ lib, fetchurl, callPackage, luajit, nixosTests }:
callPackage (import ./common.nix rec {
pname = "cgit";
@@ -19,6 +19,8 @@ callPackage (import ./common.nix rec {
buildInputs = [ luajit ];
passthru.tests = { inherit (nixosTests) cgit; };
homepage = "https://git.zx2c4.com/cgit/about/";
description = "Web frontend for git repositories";
maintainers = with lib.maintainers; [ bjornfor ];
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "delta";
version = "0.17.0-unstable-2024-08-12";
version = "0.18.0";
src = fetchFromGitHub {
owner = "dandavison";
repo = pname;
rev = "a01141b72001f4c630d77cf5274267d7638851e4";
hash = "sha256-My51pQw5a2Y2VTu39MmnjGfmCavg8pFqOmOntUildS0=";
repo = "delta";
rev = "refs/tags/${version}";
hash = "sha256-1UOVRAceZ4QlwrHWqN7YI2bMyuhwLnxJWpfyaHNNLYg=";
};
cargoHash = "sha256-Rlc3Bc6Jh89KLLEWBWQB5GjoeIuHnwIVZN/MVFMjY24=";
cargoHash = "sha256-/h7djtaTm799gjNrC6vKulwwuvrTHjlsEXbK2lDH+rc=";
nativeBuildInputs = [
installShellFiles
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "glab";
version = "1.41.0";
version = "1.45.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
rev = "v${version}";
hash = "sha256-DvIp7eMBWKWQ5VW9MW391xnUz8o1KNz1mkJtu7YVILo=";
hash = "sha256-jTpddpS+FYSQg2aRxQiVlG+bitiIqmZ4kxOJLPZkICo=";
};
vendorHash = "sha256-WM19Kx2b31e4/iA92U9FUuF8R1DMvbKotE2D9HpLQpQ=";
vendorHash = "sha256-o0sYObTeDgG+3X3YEnDbk1h4DkEiMwEgYMF7hGjCL3Q=";
ldflags = [
"-s"
@@ -1,6 +1,7 @@
{ lib
, buildGoModule
, fetchFromGitHub
, nixosTests
}:
buildGoModule rec {
@@ -24,6 +25,8 @@ buildGoModule rec {
cp -r $src/static/* $out/lib/legit/static
'';
passthru.tests = { inherit (nixosTests) legit; };
meta = {
description = "Web frontend for git";
homepage = "https://github.com/icyphox/legit";
@@ -1,46 +0,0 @@
{ fetchFromGitHub, lib, python3Packages, meld, subversion, gvfs, xdg-utils, gtk3 }:
python3Packages.buildPythonApplication rec {
pname = "rabbitvcs";
version = "0.18";
namePrefix = "";
src = fetchFromGitHub {
owner = "rabbitvcs";
repo = "rabbitvcs";
rev = "v${version}";
hash = "sha256-gVrdf8vQWAGORZqlTS/axs4U7aZlS8OAgPM3iKgqAtM=";
};
buildInputs = [ gtk3 ];
pythonPath = with python3Packages; [ configobj pygobject3 pysvn dulwich tkinter gvfs xdg-utils ];
prePatch = ''
sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py
sed -ie "s|PREFIX = sys.prefix|PREFIX = \"$out\"|" ./setup.py
sed -ie 's|/usr/bin/meld|${meld}/bin/meld|' ./rabbitvcs/util/configspec/configspec.ini
sed -ie 's|/usr/bin/svnadmin|${subversion.out}/bin/svnadmin|' ./rabbitvcs/ui/create.py
sed -ie "s|/usr/share/doc|$out/share/doc|" ./rabbitvcs/ui/about.py
sed -ie "s|gnome-open|xdg-open|" ./rabbitvcs/util/helper.py
'';
outputs = [ "out" "cli" ];
postInstall = ''
mkdir -p $cli/bin
cp clients/cli/rabbitvcs $cli/bin
wrapPythonProgramsIn $cli "$out $pythonPath"
'';
doCheck = false;
meta = {
description = "Graphical tools for working with version control systems";
homepage = "http://rabbitvcs.org/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.mathnerd314 ];
# ModuleNotFoundError: No module named 'rabbitvcs'
broken = true; # Added 2024-01-28
};
}
@@ -12,6 +12,7 @@
, speex
, jansson
, libopus
, nixosTests
, withJanus ? true
}:
stdenv.mkDerivation rec {
@@ -53,6 +54,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
passthru.tests = { inherit (nixosTests) ustreamer; };
meta = with lib; {
homepage = "https://github.com/pikvm/ustreamer";
description = "Lightweight and fast MJPG-HTTP streamer";
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-compose";
version = "2.29.1";
version = "2.29.2";
src = fetchFromGitHub {
owner = "docker";
repo = "compose";
rev = "v${version}";
hash = "sha256-6GZtKfPBE9Wl6ccwU1OY+9rq+IZr2qpOB4Vlxidhisw=";
hash = "sha256-UR2O8xBfoFew9G7RjyfXpdA0BcilKBp9Maj3Z+T7Kbw=";
};
postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
rm -rf e2e/
'';
vendorHash = "sha256-CkXCAqHOlSc3jHqVUYovT8YDnlCZewpLv3sC0ADgwL0=";
vendorHash = "sha256-5pBpTXayAo/YbZsYwBuEU8CSTQGzKoyQ5QLzh2McCt8=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
@@ -22,24 +22,25 @@
, util-linux
, wayland
, wayland-protocols
, wayland-scanner
, hyprwayland-scanner
, hyprutils
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hyprpaper";
version = "0.7.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprpaper";
rev = "v${finalAttrs.version}";
hash = "sha256-l13c8ALA7ZKDgluYA1C1OfkDGYD6e1/GR6LJnxCLRhA=";
hash = "sha256-HIK7XJWQCM0BAnwW5uC7P0e7DAkVTy5jlxQ0NwoSy4M=";
};
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
hyprwayland-scanner
];
buildInputs = [
@@ -62,6 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
util-linux
wayland
wayland-protocols
hyprutils
];
prePatch = ''
@@ -3,6 +3,7 @@
, yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon
, xorgserver, xvfb-run, xdotool, xorg, which
, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
, nixosTests
}:
stdenv.mkDerivation rec {
@@ -78,6 +79,9 @@ stdenv.mkDerivation rec {
separateDebugInfo = true;
passthru.tests = { inherit (nixosTests) i3wm; };
meta = with lib; {
description = "Tiling window manager";
homepage = "https://i3wm.org";
@@ -1,5 +1,6 @@
{ lib, stdenv, wlroots, pkg-config, wayland-scanner
, libxkbcommon, pixman, udev, wayland, wayland-protocols
, nixosTests
}:
stdenv.mkDerivation {
@@ -18,6 +19,8 @@ stdenv.mkDerivation {
runHook postInstall
'';
passthru.tests = { inherit (nixosTests) tinywl; };
meta = {
homepage = "https://gitlab.freedesktop.org/wlroots/wlroots/tree/master/tinywl";
description = ''A "minimum viable product" Wayland compositor based on wlroots'';
@@ -62,6 +62,8 @@ stdenv.mkDerivation {
}
'';
#passthru.tests = { inherit (nixosTests) yabar; }; # nixos currently uses yabar-unstable
meta = with lib; {
description = "Modern and lightweight status bar for X window managers";
homepage = "https://github.com/geommer/yabar";
@@ -1,4 +1,4 @@
{ fetchpatch, playerctl, libxkbcommon, callPackage, attrs ? {} }:
{ fetchpatch, playerctl, libxkbcommon, callPackage, nixosTests, attrs ? {} }:
let
pkg = callPackage ./build.nix ({
@@ -22,4 +22,11 @@ in pkg.overrideAttrs (o: {
sha256 = "1q7nd66ai6nr2m6iqxn55gvbr4r5gjc00c8wyjc3riv31qcbqbhv";
})
];
passthru = (o.passthru or {}) // {
tests = (o.passthru.tests or {}) // {
inherit (nixosTests) yabar;
};
};
})
+41 -2
View File
@@ -1,4 +1,18 @@
{ pkgs, pkgsLinux, buildPackages, diffoscopeMinimal, lib, callPackage, runCommand, stdenv, substituteAll, testers }:
{
lib,
buildPackages,
callPackage,
pkgs,
pkgsLinux,
diffoscopeMinimal,
runCommand,
runCommandWith,
stdenv,
stdenvNoCC,
substituteAll,
testers,
}:
# Documentation is in doc/build-helpers/testers.chapter.md
{
# See https://nixos.org/manual/nixpkgs/unstable/#tester-lycheeLinkCheck
@@ -53,7 +67,7 @@
command ? "${package.meta.mainProgram or package.pname or package.name} --version",
version ? package.version,
}: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
if output=$(${command} 2>&1); then
if output=$(${command} 2>&1 | sed -e 's|${builtins.storeDir}/[^/ ]*/|{{storeDir}}/|g'); then
if grep -Fw -- "${version}" - <<< "$output"; then
touch $out
else
@@ -87,6 +101,31 @@
else salted;
in checked;
# See https://nixos.org/manual/nixpkgs/unstable/#tester-runCommand
runCommand = testers.invalidateFetcherByDrvHash (
{
hash ? pkgs.emptyFile.outputHash,
name,
script,
stdenv ? stdenvNoCC,
...
}@args:
runCommandWith {
inherit name stdenv;
derivationArgs = {
outputHash = hash;
outputHashMode = "recursive";
} // lib.removeAttrs args [
"hash"
"name"
"script"
"stdenv"
];
} script
);
# See https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest
# or doc/build-helpers/testers.chapter.md
runNixOSTest =
@@ -18,6 +18,29 @@ lib.recurseIntoAttrs {
shellcheck = pkgs.callPackage ../shellcheck/tests.nix { };
runCommand = lib.recurseIntoAttrs {
bork = pkgs.python3Packages.bork.tests.pytest-network;
dns-resolution = testers.runCommand {
name = "runCommand-dns-resolution-test";
nativeBuildInputs = [ pkgs.ldns ];
script = ''
drill example.com
touch $out
'';
};
nonDefault-hash = testers.runCommand {
name = "runCommand-nonDefaultHash-test";
script = ''
mkdir $out
touch $out/empty
echo aaaaaaaaaaicjnrkeflncmrlk > $out/keymash
'';
hash = "sha256-eMy+6bkG+KS75u7Zt4PM3APhtdVd60NxmBRN5GKJrHs=";
};
};
runNixOSTest-example = pkgs-with-overlay.testers.runNixOSTest ({ lib, ... }: {
name = "runNixOSTest-test";
nodes.machine = { pkgs, ... }: {
@@ -887,9 +887,8 @@ rec {
/* An immutable file in the store with a length of 0 bytes. */
emptyFile = runCommand "empty-file"
{
outputHashAlgo = "sha256";
outputHash = "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=";
outputHashMode = "recursive";
outputHash = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
preferLocalBuild = true;
} "touch $out";
+1 -1
View File
@@ -77,7 +77,7 @@ let
rev = "v${version}";
hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
};
buildInputs = prev.buildInputs ++ [ pkg-config ];
nativeBuildInputs = prev.nativeBuildInputs ++ [ pkg-config ];
patches = (prev.patches or [ ]) ++ [
(fetchpatch {
name = "stormlib-optimizations.patch";
+2 -2
View File
@@ -5,13 +5,13 @@
buildGoModule rec {
pname = "api-linter";
version = "1.67.1";
version = "1.67.2";
src = fetchFromGitHub {
owner = "googleapis";
repo = "api-linter";
rev = "v${version}";
hash = "sha256-nbLaLi3Uh/zU+SPHA2x8cMic/bOKBo9wybK3b1LHNpY=";
hash = "sha256-xwRpJKAkZFSpmAQti2EswM6RXlJVwD+nNY9t5oRzU1s=";
};
vendorHash = "sha256-+dyoWK5iXH480c+akg26BCF/J8lKQoATVqZUfqMa080=";
+14 -3
View File
@@ -5,7 +5,7 @@
...
}:
let
version = "0.6.0";
version = "0.6.1";
in
buildGoModule {
pname = "ardugotools";
@@ -14,12 +14,23 @@ buildGoModule {
src = fetchFromGitHub {
owner = "randomouscrap98";
repo = "ardugotools";
rev = "refs/tags/v${version}";
hash = "sha256-lYpUb+AiQrcrBGBvnOwzDC4aX1F8o21DUnad56qb7zo=";
rev = "v${version}";
hash = "sha256-SqeUcYa8XscwaJaCSIoZ9lEtRJ0hN01XJDyCJFX2dTc=";
};
vendorHash = "sha256-Z9ObsS+GwVsz6ZlXCgN0WlShHzbmx4WLa/1/XLSSAAs=";
checkFlags =
let
# Skip tests referencing a non-existing file
skippedTests = [
"TestRunLuaFlashcartGenerator_CategoriesOnly"
"TestRunLuaFlashcartGenerator_FullCart"
"TestRunLuaFlashcartGenerator_MakeCart"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
meta = {
description = "CLI toolset for Arduboy";
changelog = "https://github.com/randomouscrap98/ardugotools/releases/tag/v${version}";
+3 -3
View File
@@ -14,16 +14,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "argc";
version = "1.20.0";
version = "1.20.1";
src = fetchFromGitHub {
owner = "sigoden";
repo = "argc";
rev = "v${version}";
hash = "sha256-Oh2vV4Dr4suVEGrwGNyzVlKrOh+lXwdEwDPNzFzqmOo=";
hash = "sha256-pOkZmk7boFPqHHBDet/on6Y8V2Ik+hpqN0cUtY0BiR0=";
};
cargoHash = "sha256-3zVO0ZAL+npijGg6/Idb7MD80WW5vi1qxbZqCwwhmIU=";
cargoHash = "sha256-FxhDnTy/KAeN0Zd5I12EUgXRc0VhHN0lRm5DQyCinyw=";
nativeBuildInputs = [ installShellFiles ] ++ lib.optional (!canExecuteHost) buildPackages.argc;
@@ -0,0 +1,25 @@
diff --git a/src/arma3-unix-launcher/mainwindow.cpp b/src/arma3-unix-launcher/mainwindow.cpp
index 66b73cc..f89f66b 100644
--- a/src/arma3-unix-launcher/mainwindow.cpp
+++ b/src/arma3-unix-launcher/mainwindow.cpp
@@ -56,6 +56,3 @@ MainWindow::MainWindow(std::unique_ptr<ARMA3::Client> arma3_client, std::filesys
{
- if (use_steam_integration)
- steam_integration = std::make_unique<Steam::SteamIntegration>(ARMA3::Definitions::app_id);
- else
- steam_integration = std::make_unique<Steam::IntegrationStub>(ARMA3::Definitions::app_id);
+ steam_integration = std::make_unique<Steam::IntegrationStub>(ARMA3::Definitions::app_id);
diff --git a/src/dayz-linux-launcher/mainwindow.cpp b/src/dayz-linux-launcher/mainwindow.cpp
index d9223db..5773593 100644
--- a/src/dayz-linux-launcher/mainwindow.cpp
+++ b/src/dayz-linux-launcher/mainwindow.cpp
@@ -56,6 +56,3 @@ MainWindow::MainWindow(std::unique_ptr<DayZ::Client> arma3_client, std::filesyst
{
- if (use_steam_integration)
- steam_integration = std::make_unique<Steam::SteamIntegration>(DayZ::Definitions::app_id);
- else
- steam_integration = std::make_unique<Steam::IntegrationStub>(DayZ::Definitions::app_id);
+ steam_integration = std::make_unique<Steam::IntegrationStub>(DayZ::Definitions::app_id);
@@ -0,0 +1,115 @@
diff --git a/cmake/external_dependencies.cmake b/cmake/external_dependencies.cmake
index 2eb6ec5..9f1d67e 100644
--- a/cmake/external_dependencies.cmake
+++ b/cmake/external_dependencies.cmake
@@ -4,7 +4,7 @@ include(FetchContent)
function(setup_library SOURCE_TO_TEST)
set(boolArgs HEADER_ONLY)
- set(oneValueArgs NAME CXX_FLAGS GIT_REPOSITORY GIT_TAG TEST_DEFINITIONS TEST_LINK_LIBS)
+ set(oneValueArgs NAME CXX_FLAGS URL GIT_TAG TEST_DEFINITIONS TEST_LINK_LIBS)
set(multiValueArgs WHEN)
cmake_parse_arguments(LIB_SETUP "${boolArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -27,12 +27,11 @@ function(setup_library SOURCE_TO_TEST)
endif()
FetchContent_Declare(${LIB_SETUP_NAME}
- GIT_REPOSITORY ${LIB_SETUP_GIT_REPOSITORY}
- GIT_TAG ${LIB_SETUP_GIT_TAG})
+ URL ${LIB_SETUP_URL})
FetchContent_GetProperties(${LIB_SETUP_NAME})
set(POPULATED "${LIB_SETUP_NAME}_POPULATED")
if (NOT "${POPULATED}")
- message("-- Downloading ${LIB_SETUP_NAME} from ${LIB_SETUP_GIT_REPOSITORY}")
+ message("-- Downloading ${LIB_SETUP_NAME} from ${LIB_SETUP_URL}")
FetchContent_Populate(${LIB_SETUP_NAME})
set(SRCDIR "${LIB_SETUP_NAME}_SOURCE_DIR")
set(BINDIR "${LIB_SETUP_NAME}_BINARY_DIR")
@@ -51,8 +50,7 @@ function(setup_argparse)
}")
setup_library("${CHECK_SOURCE}"
NAME argparse
- GIT_REPOSITORY https://github.com/p-ranav/argparse.git
- GIT_TAG 45664c4
+ URL @argparse_src@
HEADER_ONLY
)
if (NOT TARGET argparse::argparse)
@@ -64,7 +62,7 @@ function(setup_curlpp)
set(CHECK_SOURCE "#error unimplemented}")
setup_library("${CHECK_SOURCE}"
NAME curlpp
- GIT_REPOSITORY https://github.com/jpbarrette/curlpp.git
+ URL @curlpp_src@
)
if (NOT APPLE)
set(CURLPP_LIB_PATH1 "${curlpp_BINARY_DIR}/libcurlpp.so" PARENT_SCOPE)
@@ -79,7 +77,7 @@ function(setup_doctest)
#include <doctest/doctest.h>")
setup_library("${CHECK_SOURCE}"
NAME doctest
- GIT_REPOSITORY https://github.com/onqtam/doctest.git
+ URL @doctest_src@
HEADER_ONLY
)
add_library(doctest::doctest ALIAS doctest)
@@ -100,8 +98,7 @@ function(setup_fmt)
}")
setup_library("${CHECK_SOURCE}"
NAME fmt
- GIT_REPOSITORY https://github.com/fmtlib/fmt.git
- GIT_TAG 8.1.1
+ URL @fmt_src@
TEST_LINK_LIBS fmt
)
@@ -126,7 +123,7 @@ function(setup_nlohmann_json)
add_library(nlohmann_json INTERFACE)
else()
FetchContent_Declare(nlohmann_json
- URL https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip)
+ URL @nlohmann_json_src@)
FetchContent_GetProperties(nlohmann_json)
if (NOT nlohmann_json_POPULATED)
FetchContent_Populate(nlohmann_json)
@@ -146,8 +143,7 @@ function(setup_pugixml)
}")
setup_library("${CHECK_SOURCE}"
NAME pugixml
- GIT_REPOSITORY https://github.com/muttleyxd/pugixml.git
- GIT_TAG simple-build-for-a3ul
+ URL @pugixml_src@
TEST_LINK_LIBS pugixml
)
get_target_property(TARGET_TYPE pugixml TYPE)
@@ -188,8 +184,7 @@ function(setup_spdlog)
setup_library("${CHECK_SOURCE}"
NAME spdlog
- GIT_REPOSITORY https://github.com/gabime/spdlog.git
- GIT_TAG v1.x
+ URL @spdlog_src@
TEST_DEFINITIONS -DSPDLOG_FMT_EXTERNAL
TEST_LINK_LIBS ${FMT_TARGET_NAME}
CXX_FLAGS "-Wno-attributes -Wno-reorder -Wno-redundant-move"
@@ -198,8 +193,7 @@ endfunction()
function(setup_steamworkssdk)
FetchContent_Declare(steamworkssdk
- URL https://github.com/julianxhokaxhiu/SteamworksSDKCI/releases/download/1.53/SteamworksSDK-v1.53.0_x64.zip
- URL_HASH MD5=322c2c90c3ab76201c92f4a2c443f664
+ URL @steamworkssdk_src@
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
)
@@ -241,8 +235,7 @@ function(setup_trompeloeil)
int main() { }")
setup_library("${CHECK_SOURCE}"
NAME trompeloeil
- GIT_REPOSITORY https://github.com/rollbear/trompeloeil.git
- GIT_TAG 64fd171
+ URL @trompeloeil_src@
HEADER_ONLY
)
add_library(trompeloeil::trompeloeil ALIAS trompeloeil)
@@ -0,0 +1,88 @@
{
lib,
stdenv,
cmake,
curl,
curlpp,
doctest,
fetchFromGitHub,
fetchurl,
fmt,
nlohmann_json,
qt5,
spdlog,
substituteAll,
trompeloeil,
buildDayZLauncher ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "arma3-unix-launcher";
version = "413";
src = fetchFromGitHub {
owner = "muttleyxd";
repo = "arma3-unix-launcher";
rev = "2ea62d961522f1542d4c8e669ef5fe856916f9ec";
hash = "sha256-uym93mYmVj9UxT8RbwdRUyIPrQX7nZTNWUUVjxCQmVU=";
};
patches = [
# prevent CMake from trying to get libraries on the internet
(substituteAll {
src = ./dont_fetch_dependencies.patch;
argparse_src = fetchFromGitHub {
owner = "p-ranav";
repo = "argparse";
rev = "45664c4e9f05ff287731a9ff8b724d0c89fb6e77";
sha256 = "sha256-qLD9zD6hbItDn6ZHHWBXrAWhySvqcs40xA5+C/5Fkhw=";
};
curlpp_src = curlpp.src;
doctest_src = doctest;
fmt_src = fmt;
nlohmann_json_src = nlohmann_json;
pugixml_src = fetchFromGitHub {
owner = "muttleyxd";
repo = "pugixml";
rev = "simple-build-for-a3ul";
sha256 = "sha256-FpREdz6DbhnLDGOuQY9rU17SSd6ngA4WfO0kGHqGJPM=";
};
spdlog_src = spdlog;
steamworkssdk_src = fetchurl {
url = "https://github.com/julianxhokaxhiu/SteamworksSDKCI/releases/download/1.53/SteamworksSDK-v1.53.0_x64.zip";
sha256 = "sha256-6PQGaPsaxBg/MHVWw2ynYW6LaNSrE9Rd9Q9ZLKFGPFA=";
};
trompeloeil_src = trompeloeil;
})
# game won't launch with steam integration anyways, disable it
./disable_steam_integration.patch
];
nativeBuildInputs = [
qt5.wrapQtAppsHook
cmake
];
buildInputs = [
spdlog
curlpp.src
curl
qt5.qtbase
qt5.qtsvg
];
cmakeFlags = [ "-Wno-dev" ] ++ lib.optionals buildDayZLauncher [ "-DBUILD_DAYZ_LAUNCHER=ON" ];
meta = {
homepage = "https://github.com/muttleyxd/arma3-unix-launcher/";
description = "Clean, intuitive Arma 3 + DayZ SA Launcher";
license = with lib.licenses; [
# Launcher
mit
# Steamworks SDK
unfree
];
maintainers = with lib.maintainers; [ DrymarchonShaun ];
mainProgram = "arma3-unix-launcher";
platforms = with lib.platforms; linux ++ darwin;
};
})
+2
View File
@@ -7,6 +7,7 @@
installShellFiles,
stdenv,
testers,
nixosTests,
}:
buildGoModule rec {
pname = "artalk";
@@ -56,6 +57,7 @@ buildGoModule rec {
passthru.tests = {
version = testers.testVersion { package = artalk; };
inherit (nixosTests) artalk;
};
meta = {
+119 -85
View File
@@ -1,30 +1,33 @@
{ lib
, stdenv
, fetchFromGitHub
, zlib
, openssl
, libre
, librem
, pkg-config
, gst_all_1
, cairo
, gtk3
, mpg123
, alsa-lib
, SDL2
, libv4l
, celt
, libsndfile
, srtp
, ffmpeg
, gsm
, speex
, portaudio
, spandsp3
, libuuid
, libvpx
, cmake
, dbusSupport ? true
{
SDL2,
alsa-lib,
cairo,
celt,
cmake,
fetchFromGitHub,
ffmpeg,
glib,
gsm,
gst_all_1,
gtk3,
lib,
libre,
librem,
libsndfile,
libuuid,
libv4l,
libvpx,
mpg123,
openssl,
pipewire,
pkg-config,
portaudio,
spandsp3,
speex,
srtp,
stdenv,
zlib,
dbusSupport ? true,
}:
stdenv.mkDerivation rec {
version = "3.10.1";
@@ -35,83 +38,47 @@ stdenv.mkDerivation rec {
rev = "v${version}";
hash = "sha256-0huZP1hopHaN5R1Hki6YutpvoASfIHzHMl/Y4czHHMo=";
};
prePatch = lib.optionalString (!dbusSupport) ''
prePatch = ''
substituteInPlace cmake/FindGTK3.cmake --replace GTK3_CFLAGS_OTHER ""
'' + lib.optionalString (!dbusSupport) ''
substituteInPlace cmake/modules.cmake --replace 'list(APPEND MODULES ctrl_dbus)' ""
'';
nativeBuildInputs = [ pkg-config cmake ];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
zlib
openssl
libre
librem
cairo
gtk3
mpg123
alsa-lib
SDL2
libv4l
alsa-lib
cairo
celt
libsndfile
srtp
ffmpeg
gsm
speex
gtk3
libre
librem
libsndfile
libuuid
libv4l
libvpx
mpg123
openssl
pipewire
portaudio
spandsp3
libuuid
libvpx
speex
srtp
zlib
] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=ON"
"-Dre_DIR=${libre}/include/re"
"-DGL_INCLUDE_DIRS=${lib.getDev glib}/include/glib-2.0"
"-DGLIB_INCLUDE_DIRS=${glib.out}/lib/glib-2.0/include"
"-DGST_INCLUDE_DIRS=${lib.getDev gst_all_1.gstreamer}/include/gstreamer-1.0"
];
makeFlags = [
"LIBRE_MK=${libre}/share/re/re.mk"
"LIBRE_SO=${libre}/lib"
"LIBREM_PATH=${librem}"
"PREFIX=$(out)"
"USE_VIDEO=1"
"CCACHE_DISABLE=1"
"USE_ALSA=1"
"USE_AMR=1"
"USE_CAIRO=1"
"USE_CELT=1"
"USE_CONS=1"
"USE_EVDEV=1"
"USE_FFMPEG=1"
"USE_GSM=1"
"USE_GST1=1"
"USE_GTK=1"
"USE_L16=1"
"USE_MPG123=1"
"USE_OSS=1"
"USE_PLC=1"
"USE_VPX=1"
"USE_PORTAUDIO=1"
"USE_SDL=1"
"USE_SNDFILE=1"
"USE_SPEEX=1"
"USE_SPEEX_AEC=1"
"USE_SPEEX_PP=1"
"USE_SPEEX_RESAMP=1"
"USE_SRTP=1"
"USE_STDIO=1"
"USE_SYSLOG=1"
"USE_UUID=1"
"USE_V4L2=1"
"USE_X11=1"
"USE_BV32="
"USE_COREAUDIO="
"USE_G711=1"
"USE_G722=1"
"USE_G722_1="
"USE_ILBC="
"USE_OPUS="
"USE_SILK="
]
++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
@@ -123,6 +90,73 @@ stdenv.mkDerivation rec {
-DHAVE_INTTYPES_H -D__GLIBC__
-D__need_timeval -D__need_timespec -D__need_time_t '';
doInstallCheck = true;
# CMake feature detection is prone to breakage between upgrades:
# spot-check that the optional modules we care about were compiled
postInstallCheck = lib.concatMapStringsSep "\n" (m: "test -x $out/lib/baresip/modules/${m}.so") [
"account"
"alsa"
"aubridge"
"auconv"
"aufile"
"auresamp"
"ausine"
"avcodec"
"avfilter"
"avformat"
"cons"
"contact"
"ctrl_dbus"
"ctrl_tcp"
"debug_cmd"
"dtls_srtp"
"ebuacip"
"echo"
"evdev"
"fakevideo"
"g711"
"g722"
"g726"
"gst"
"gtk"
"httpd"
"httpreq"
"ice"
"l16"
"menu"
"mixausrc"
"mixminus"
"multicast"
"mwi"
"natpmp"
"netroam"
"pcp"
"pipewire"
"plc"
"portaudio"
"presence"
"rtcpsummary"
"sdl"
"selfview"
"serreg"
"snapshot"
"sndfile"
"srtp"
"stdio"
"stun"
"swscale"
"syslog"
"turn"
"uuid"
"v4l2"
"vidbridge"
"vidinfo"
"vp8"
"vp9"
"vumeter"
"x11"
];
meta = {
description = "Modular SIP User-Agent with audio and video support";
homepage = "https://github.com/baresip/baresip";
+39
View File
@@ -0,0 +1,39 @@
{
lib,
pkg-config,
cmake,
libnotify,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "bato";
version = "0.1.7";
src = fetchFromGitHub {
owner = "doums";
repo = "bato";
rev = "v${version}";
hash = "sha256-i2gw8vXiKutq26ACzkVXH3kED7jAngSv2mNo9P3qXnA=";
};
cargoHash = "sha256-cqrSyZjfBSfF015nwOcRy2rkE4XzFPxJCQZGrqZXLEA=";
nativeBuildInputs = [
pkg-config
cmake
];
buildInputs = [ libnotify ];
meta = {
description = "Small program to send battery notifications";
homepage = "https://github.com/doums/bato";
changelog = "https://github.com/doums/bato/releases/tag/v${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ HaskellHegemonie ];
platforms = lib.platforms.linux;
mainProgram = "bato";
};
}
@@ -0,0 +1,42 @@
diff --git a/src/main.c b/src/main.c
index 993a76f..de5b2c5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,12 +6,8 @@ _Static_assert(sizeof(string_modes)/sizeof(*string_modes) == MODE_COUNT, "Number
char *get_help_page(char *page) {
if (page == NULL) return NULL;
- char *env = getenv("HOME");
- if(env == NULL) CRASH("could not get HOME");
-
- char *help_page = calloc(128, sizeof(char));
- if (help_page == NULL) CRASH("could not calloc memory for help page");
- snprintf(help_page, 128, "%s/.local/share/cano/help/%s", env, page);
+ char *help_page;
+ asprintf(&help_page, "@help@/%s", page);
// check if file exists
struct stat st;
diff --git a/src/tools.c b/src/tools.c
index 220d7a1..4ce211e 100644
--- a/src/tools.c
+++ b/src/tools.c
@@ -63,6 +63,9 @@ void free_undo_stack(Undo_Stack *undo) {
void handle_save(Buffer *buffer) {
FILE *file = fopen(buffer->filename, "w");
+
+ if (file == NULL)
+ return;
fwrite(buffer->data.data, buffer->data.count, sizeof(char), file);
fclose(file);
}
@@ -72,7 +75,7 @@ Buffer *load_buffer_from_file(char *filename) {
size_t filename_s = strlen(filename)+1;
buffer->filename = calloc(filename_s, sizeof(char));
strncpy(buffer->filename, filename, filename_s);
- FILE *file = fopen(filename, "a+");
+ FILE *file = fopen(filename, "r");
if(file == NULL) CRASH("Could not open file");
fseek(file, 0, SEEK_END);
size_t length = ftell(file);
+38 -17
View File
@@ -1,34 +1,55 @@
{ stdenv
, lib
, fetchFromGitHub
, gnumake
, ncurses
{
stdenv,
lib,
fetchFromGitHub,
installShellFiles,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cano";
version = "0.1.0-alpha";
version = "0.2.0-alpha";
src = fetchFromGitHub {
owner = "CobbCoding1";
repo = "Cano";
rev = "v${finalAttrs.version}";
hash = "sha256-BKbBDN7xZwlNzw7UFgX+PD9UXbr9FtELo+PlbfSHyRY=";
hash = "sha256-OaWj0AKw3+sEhcAbIjgOLfxwCKRG6O1k+zSp0GnnFn8=";
};
buildInputs = [ gnumake ncurses ];
hardeningDisable = [ "format" "fortify" ];
patches = [ ./allow-read-only-store-help-page.patch ];
postPatch = ''
substituteInPlace src/main.c \
--replace-fail "@help@" "${placeholder "out"}/share/help"
'';
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ ncurses ];
hardeningDisable = [
"format"
"fortify"
];
installPhase = ''
mkdir -p $out/bin
cp build/cano $out/bin
runHook preInstall
install -Dm755 build/cano -t $out/bin
mkdir -p $out/share
cp -r docs/help $out/share
installManPage docs/cano.1
runHook postInstall
'';
meta = {
description = "Text Editor Written In C Using ncurses";
homepage = "https://github.com/CobbCoding1/Cano";
license = lib.licenses.asl20;
mainProgram = "Cano";
maintainers = with lib.maintainers; [ sigmanificient ];
platforms = lib.platforms.linux;
description = "Text Editor Written In C Using ncurses";
homepage = "https://github.com/CobbCoding1/Cano";
license = lib.licenses.asl20;
mainProgram = "Cano";
maintainers = with lib.maintainers; [ sigmanificient ];
platforms = lib.platforms.linux;
};
})
+4
View File
@@ -1,6 +1,7 @@
{ lib
, buildGoModule
, fetchFromGitHub
, nixosTests
}:
buildGoModule rec {
@@ -18,6 +19,9 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ];
passthru.tests = { inherit (nixosTests) certmgr; };
meta = with lib; {
homepage = "https://cfssl.org/";
description = "Cloudflare's automated certificate management using a CFSSL CA";
+2 -2
View File
@@ -17,13 +17,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "clang-uml";
version = "0.5.3";
version = "0.5.4";
src = fetchFromGitHub {
owner = "bkryza";
repo = "clang-uml";
rev = finalAttrs.version;
hash = "sha256-ghnbOjVYw0zdFK/SDJ3sOObu6I7ROVNzYl1hovWju/Q=";
hash = "sha256-PEzTvwW/wUg8wgKjeNGbpgpP3SH2sVWRYc6o3gFjxx0=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule rec {
pname = "cue";
version = "0.9.2";
version = "0.10.0";
src = fetchFromGitHub {
owner = "cue-lang";
repo = "cue";
rev = "v${version}";
hash = "sha256-C3BvI43oo71y19ZRflqhKRQF7DwBBOV0yRlutv+W18g=";
hash = "sha256-GvReoBP8QCdrKxox8yPLZEk5YvTvwr7kflpS/jN8GTg=";
};
vendorHash = "sha256-FsFignBh669E60S8l8siQHLzeSfB5X/XOHBXPMDX3Cg=";
vendorHash = "sha256-sLTpra7JwgF4l1UCrUtzQA4xrP4OqxBcZ1qEssBdFtk=";
subPackages = [ "cmd/*" ];
+13 -15
View File
@@ -1,6 +1,7 @@
{ lib
, python3
, fetchFromGitHub
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
@@ -15,17 +16,15 @@ python3.pkgs.buildPythonApplication rec {
hash = "sha256-WZmWpcBqxsNH96nVWwoepFhsvdxZpYKmAjNd7ghIJMA=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'networkx = "^2.8.4"' 'networkx = "*"' \
--replace 'netaddr = "^0.8.0"' 'netaddr = "*"'
'';
nativeBuildInputs = [
python3.pkgs.poetry-core
pythonRelaxDeps = [
"defusedxml"
"netaddr"
"networkx"
];
propagatedBuildInputs = with python3.pkgs; [
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
dash
defusedxml
dnspython
@@ -38,13 +37,12 @@ python3.pkgs.buildPythonApplication rec {
tinydb
];
pythonImportsCheck = [
"das"
];
pythonImportsCheck = [ "das" ];
meta = with lib; {
description = "Divide full port scan results and use it for targeted Nmap runs";
homepage = "https://github.com/snovvcrash/DivideAndScan";
changelog = "https://github.com/snovvcrash/DivideAndScan/releases/tag/v${version}";
license = licenses.bsd2;
maintainers = with maintainers; [ fab ];
mainProgram = "das";
+5
View File
@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
php,
nixosTests,
}:
php.buildComposerProject (finalAttrs: {
@@ -25,6 +26,10 @@ php.buildComposerProject (finalAttrs: {
rm -rf "$out/share"
'';
passthru.tests = {
inherit (nixosTests) davis;
};
meta = {
changelog = "https://github.com/tchapi/davis/releases/tag/v${finalAttrs.version}";
homepage = "https://github.com/tchapi/davis";
+4 -4
View File
@@ -7,21 +7,21 @@
}:
let
pname = "dbgate";
version = "5.3.1";
version = "5.3.4";
src =
fetchurl
{
aarch64-linux = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_arm64.AppImage";
hash = "sha256-Qz0VA2pHT8muw9RdLg7Y3w3mJ3ubFnqf4dmfdZdnJHI=";
hash = "sha256-szG0orYBB1+DE9Vwjq0sluIaLDBlWOScKuruJR4iQKg=";
};
x86_64-linux = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_x86_64.AppImage";
hash = "sha256-H/2Tb6ZnO6LJx+rv/ADdItaRMP95x4G3lPNK0sbZn9I=";
hash = "sha256-C0BJ3dydaeV8ypc8c0EDiMBhvByLAKuKTGHOozqbd+w=";
};
x86_64-darwin = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-mac_x64.dmg";
hash = "sha256-gZrfv9qe2arytVgiYtX9uwfwC4Z30SHEDiBUXcpF968=";
hash = "sha256-WwUpFFeZ9NmosHZqrHCbsz673fSbdQvwxhEvz/6JJtw=";
};
}
.${stdenv.system} or (throw "dbgate: ${stdenv.system} is unsupported.");
@@ -9,16 +9,18 @@
python3.pkgs.buildPythonApplication rec {
pname = "elasticsearch-curator";
version = "8.0.15";
format = "pyproject";
version = "8.0.16";
pyproject = true;
src = fetchFromGitHub {
owner = "elastic";
repo = "curator";
rev = "refs/tags/v${version}";
hash = "sha256-pW928jT9oL76RJuJgH7nhCvgWPzXixzqBKVYsaJy9xw=";
hash = "sha256-nSBsLzem+eZBM0ebhW1Omh+pYYPYdly/VraM89iJe3E=";
};
pythonRelaxDeps = [ "es-client" ];
build-system = with python3.pkgs; [ hatchling ];
dependencies = with python3.pkgs; [
+3
View File
@@ -4,6 +4,7 @@
, fetchpatch
, python3
, installShellFiles
, nixosTests
}:
python3.pkgs.buildPythonApplication rec {
@@ -87,6 +88,8 @@ python3.pkgs.buildPythonApplication rec {
rm -r "${sitePackages}/usr"
'';
passthru.tests = { inherit (nixosTests) fail2ban; };
meta = with lib; {
homepage = "https://www.fail2ban.org/";
description = "Program that scans log files for repeated failing login attempts and bans IP addresses";
@@ -1,14 +1,15 @@
{ lib
, fetchFromGitHub
, rustPlatform
, fetchurl
, runCommand
, lndir
{
lib,
fetchFromGitHub,
rustPlatform,
fetchurl,
runCommand,
lndir,
}:
rustPlatform.buildRustPackage rec {
pname = "flaca";
version = "2.4.6";
version = "3.1.6";
src =
let
@@ -16,11 +17,11 @@ rustPlatform.buildRustPackage rec {
owner = "Blobfolio";
repo = pname;
rev = "v${version}";
hash = "sha256-uybEo098+Y92b2P9CniKFmaV8hQZFuOSthgQRGZ/ncc=";
hash = "sha256-mNCb9d7/nRWSkiir2bYkslw/F2GmjvE0cPi7HhzEN68=";
};
lockFile = fetchurl {
url = "https://github.com/Blobfolio/flaca/releases/download/v${version}/Cargo.lock";
hash = "sha256-xAjpw71HgS6fILg5zNuc43s0fIqYcoUMMbCH65xrlww=";
hash = "sha256-tyxTgYEGROCtoiKPX57pF32UcfpDCuMdFSttZu++ju8=";
};
in
runCommand "source-with-lock" { nativeBuildInputs = [ lndir ]; } ''
@@ -29,7 +30,9 @@ rustPlatform.buildRustPackage rec {
lndir -silent ${source} $out
'';
cargoHash = "sha256-w+PeuH6VFIu3iH5EXF6gEwyYoGeqXX0yd5jJs2NqisQ=";
nativeBuildInputs = [ rustPlatform.bindgenHook ];
cargoHash = "sha256-YYNWCJT5ZT36v4u4P3gtW/osor6eIvR8leqlQHHZYMk=";
meta = with lib; {
description = "CLI tool to losslessly compress JPEG and PNG images";
+2 -2
View File
@@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "flexget";
version = "3.11.42";
version = "3.11.43";
pyproject = true;
# Fetch from GitHub in order to use `requirements.in`
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "Flexget";
repo = "Flexget";
rev = "refs/tags/v${version}";
hash = "sha256-wDZXSQlIE1qQz463roHp3jepSFMZGSJAPOhKpuXTmG8=";
hash = "sha256-KX7Bvu4rt+Q7x2XkBiZMngAgqRKYu90EVi2oQ21o5AI=";
};
postPatch = ''
+1 -7
View File
@@ -17,8 +17,6 @@
, nix-update-script
, nixosTests
, openssh
, pam
, pamSupport ? true
, sqliteSupport ? true
, xorg
, runCommand
@@ -68,8 +66,6 @@ buildGoModule rec {
makeWrapper
];
buildInputs = lib.optional pamSupport pam;
nativeCheckInputs = [
git
openssh
@@ -83,8 +79,7 @@ buildGoModule rec {
substituteInPlace modules/setting/server.go --subst-var data
'';
tags = lib.optional pamSupport "pam"
++ lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ];
tags = lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ];
ldflags = [
"-s"
@@ -115,7 +110,6 @@ buildGoModule rec {
skippedTests = [
"Test_SSHParsePublicKey/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time
"Test_calcFingerprint/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time
"TestPamAuth" # we don't have PAM set up in the build sandbox
"TestPassword" # requires network: api.pwnedpasswords.com
"TestCaptcha" # requires network: hcaptcha.com
"TestDNSUpdate" # requires network: release.forgejo.org
+68
View File
@@ -0,0 +1,68 @@
{
lib,
fetchFromGitHub,
python3Packages,
appstream,
blueprint-compiler,
desktop-file-utils,
glib,
gnome,
libadwaita,
meson,
ninja,
pkg-config,
wrapGAppsHook4,
# gdm-settings needs to know where to look for themes
# This should work for most systems, but can be overridden if not
dataDirs ? lib.concatStringsSep ":" [
"/run/current-system/sw/share"
"/usr/local/share"
"/usr/share"
],
}:
python3Packages.buildPythonApplication rec {
pname = "gdm-settings";
version = "4.4";
pyproject = false;
src = fetchFromGitHub {
owner = "gdm-settings";
repo = "gdm-settings";
rev = "refs/tags/v${version}";
hash = "sha256-3Te8bhv2TkpJFz4llm1itRhzg9v64M7Drtrm4s9EyiQ=";
};
nativeBuildInputs = [
appstream # for appstream file validation
blueprint-compiler
desktop-file-utils # for desktop file validation
glib # for `glib-compile-schemas`
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [ libadwaita ];
dependencies = [ python3Packages.pygobject3 ];
dontWrapGApps = true;
makeWrapperArgs = [
"\${gappsWrapperArgs[@]}"
"--set-default HOST_DATA_DIRS ${dataDirs}"
];
pythonImportsCheck = [ "gdms" ];
meta = {
description = "Settings app for GNOME's Login Manager";
homepage = "https://gdm-settings.github.io/";
changelog = "https://github.com/gdm-settings/gdm-settings/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "gdm-settings";
inherit (gnome.gdm.meta) platforms;
};
}
+4 -1
View File
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl }:
{ lib, stdenv, fetchurl, nixosTests }:
stdenv.mkDerivation rec {
pname = "gerrit";
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
"singleusergroup"
"webhooks"
];
tests = {
inherit (nixosTests) gerrit;
};
};
meta = with lib; {
+17 -4
View File
@@ -7,6 +7,7 @@
fontconfig,
installShellFiles,
lib,
libdecor,
libGL,
libpulseaudio,
libX11,
@@ -24,6 +25,8 @@
stdenv,
udev,
vulkan-loader,
wayland,
wayland-scanner,
withDbus ? true,
withDebug ? false,
withFontconfig ? true,
@@ -34,13 +37,15 @@
withTarget ? "editor",
withTouch ? true,
withUdev ? true,
# Wayland in Godot requires X11 until upstream fix is merged
# https://github.com/godotengine/godot/pull/73504
withWayland ? true,
withX11 ? true,
}:
assert lib.asserts.assertOneOf "withPrecision" withPrecision [
"single"
"double"
];
let
mkSconsFlagsFromAttrSet = lib.mapAttrsToList (
k: v: if builtins.isString v then "${k}=${v}" else "${k}=${builtins.toJSON v}"
@@ -101,6 +106,8 @@ stdenv.mkDerivation rec {
speechd = withSpeechd; # Use Speech Dispatcher for Text-to-Speech support
touch = withTouch; # Enable touch events
udev = withUdev; # Use udev for gamepad connection callbacks
wayland = withWayland; # Compile with Wayland support
x11 = withX11; # Compile with X11 support
};
enableParallelBuilding = true;
@@ -117,12 +124,15 @@ stdenv.mkDerivation rec {
installShellFiles
pkg-config
scons
];
] ++ lib.optionals withWayland [ wayland-scanner ];
runtimeDependencies =
[
alsa-lib
libGL
vulkan-loader
]
++ lib.optionals withX11 [
libX11
libXcursor
libXext
@@ -132,7 +142,10 @@ stdenv.mkDerivation rec {
libxkbcommon
libXrandr
libXrender
vulkan-loader
]
++ lib.optionals withWayland [
libdecor
wayland
]
++ lib.optionals withDbus [
dbus
+2 -2
View File
@@ -27,11 +27,11 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "got";
version = "0.101";
version = "0.102";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-JQZBgscxoMv4Dki77s8tYo4r5BBG+ErsDYnY5/am3MA=";
hash = "sha256-qstQ6mZLCdYL5uQauMt7nGlEdPkPneGfu36RbaboN3c=";
};
nativeBuildInputs = [ pkg-config bison ]
+4
View File
@@ -12,6 +12,7 @@
makeFontsConf,
liberation_ttf_v2,
exiftool,
nixosTests,
nix-update-script,
}:
let
@@ -81,6 +82,9 @@ buildGoModule rec {
'';
passthru.updateScript = nix-update-script { };
passthru.tests = {
inherit (nixosTests) gotenberg;
};
meta = {
description = "Converts numerous document formats into PDF files";
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "gowall";
version = "0.1.6";
version = "0.1.7";
src = fetchFromGitHub {
owner = "Achno";
repo = "gowall";
rev = "v${version}";
hash = "sha256-BNksshg1yK3mQuBaC4S3HzwfJ8vW0XxfDkG7YJAF00E=";
hash = "sha256-R7dOONfyzj6V3101Rp/WhUcFpqrSKWEkVm4a2riXZAI=";
};
vendorHash = "sha256-jNx4ehew+IBx7M6ey/rT0vb53+9OBVYSEDJv8JWfZIw=";
vendorHash = "sha256-H2Io1K2LEFmEPJYVcEaVAK2ieBrkV6u+uX82XOvNXj4=";
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''

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