Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-01-12 00:13:06 +00:00 committed by GitHub
commit 55af1e9407
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
224 changed files with 3028 additions and 1900 deletions

4
.github/CODEOWNERS vendored
View File

@ -66,6 +66,10 @@
/doc/build-helpers/images/makediskimage.section.md @raitobezarius /doc/build-helpers/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius /nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
pkgs/tools/package-management/nix/ @raitobezarius
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
# Nixpkgs documentation # Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm /maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm /maintainers/scripts/doc @jtojnar @ryantm

View File

@ -11,6 +11,18 @@ If you are packaging a Flutter desktop application, use [`buildFlutterApplicatio
`pubspecLock` is the parsed pubspec.lock file. pub2nix uses this to download required packages. `pubspecLock` is the parsed pubspec.lock file. pub2nix uses this to download required packages.
This can be converted to JSON from YAML with something like `yq . pubspec.lock`, and then read by Nix. This can be converted to JSON from YAML with something like `yq . pubspec.lock`, and then read by Nix.
Alternatively, `autoPubspecLock` can be used instead, and set to a path to a regular `pubspec.lock` file. This relies on import-from-derivation, and is not permitted in Nixpkgs, but can be useful at other times.
::: {.warning}
When using `autoPubspecLock` with a local source directory, make sure to use a
concatenation operator (e.g. `autoPubspecLock = src + "/pubspec.lock";`), and
not string interpolation.
String interpolation will copy your entire source directory to the Nix store and
use its store path, meaning that unrelated changes to your source tree will
cause the generated `pubspec.lock` derivation to rebuild!
:::
If the package has Git package dependencies, the hashes must be provided in the `gitHashes` set. If a hash is missing, an error message prompting you to add it will be shown. If the package has Git package dependencies, the hashes must be provided in the `gitHashes` set. If a hash is missing, an error message prompting you to add it will be shown.
The `dart` commands run can be overridden through `pubGetScript` and `dartCompileCommand`, you can also add flags using `dartCompileFlags` or `dartJitFlags`. The `dart` commands run can be overridden through `pubGetScript` and `dartCompileCommand`, you can also add flags using `dartCompileFlags` or `dartJitFlags`.
@ -101,8 +113,8 @@ flutter.buildFlutterApplication {
pubspecLock = lib.importJSON ./pubspec.lock.json; pubspecLock = lib.importJSON ./pubspec.lock.json;
} }
```
### Usage with nix-shell {#ssec-dart-flutter-nix-shell} ### Usage with nix-shell {#ssec-dart-flutter-nix-shell}
See the [Dart documentation](#ssec-dart-applications-nix-shell) nix-shell instructions. See the [Dart documentation](#ssec-dart-applications-nix-shell) for nix-shell instructions.
```

View File

@ -2508,6 +2508,12 @@
githubId = 5700358; githubId = 5700358;
name = "Thomas Blank"; name = "Thomas Blank";
}; };
blinry = {
name = "blinry";
email = "mail@blinry.org";
github = "blinry";
githubId = 81277;
};
blitz = { blitz = {
email = "js@alien8.de"; email = "js@alien8.de";
matrix = "@js:ukvly.org"; matrix = "@js:ukvly.org";

View File

@ -1,7 +1,7 @@
{ {
x86_64-linux = "/nix/store/smfmnz0ylx80wkbqbjibj7zcw4q668xp-nix-2.19.2"; x86_64-linux = "/nix/store/azvn85cras6xv4z5j85fiy406f24r1q0-nix-2.18.1";
i686-linux = "/nix/store/knp0akbpj2k0rf26fmysmxdysmayihax-nix-2.19.2"; i686-linux = "/nix/store/9bnwy7f9h0kzdzmcnjjsjg0aak5waj40-nix-2.18.1";
aarch64-linux = "/nix/store/761hq0abn07nrydrf6mls61bscx2vz2i-nix-2.19.2"; aarch64-linux = "/nix/store/hh65xwqm9s040s3cgn9vzcmrxj0sf5ij-nix-2.18.1";
x86_64-darwin = "/nix/store/zlqvxis1dfcfgmy5fza4hllg6h03vhpb-nix-2.19.2"; x86_64-darwin = "/nix/store/6zi5fqzn9n17wrk8r41rhdw4j7jqqsi3-nix-2.18.1";
aarch64-darwin = "/nix/store/53r8ay20mygy2sifn7j2p8wjqlx2kxik-nix-2.19.2"; aarch64-darwin = "/nix/store/0pbq6wzr2f1jgpn5212knyxpwmkjgjah-nix-2.18.1";
} }

View File

@ -61,7 +61,12 @@ in
}; };
enableSuid = mkOption { enableSuid = mkOption {
type = types.bool; type = types.bool;
default = true; # SingularityCE requires SETUID for most things. Apptainer prefers user
# namespaces, e.g. `apptainer exec --nv` would fail if built
# `--with-suid`:
# > `FATAL: nvidia-container-cli not allowed in setuid mode`
default = cfg.package.projectName != "apptainer";
defaultText = literalExpression ''config.services.singularity.package.projectName != "apptainer"'';
example = false; example = false;
description = mdDoc '' description = mdDoc ''
Whether to enable the SUID support of Singularity/Apptainer. Whether to enable the SUID support of Singularity/Apptainer.

View File

@ -206,7 +206,15 @@ in {
description = "Real time performance monitoring"; description = "Real time performance monitoring";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = (with pkgs; [ curl gawk iproute2 which procps bash ]) path = (with pkgs; [
curl
gawk
iproute2
which
procps
bash
util-linux # provides logger command; required for syslog health alarms
])
++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages) ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package); ++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
environment = { environment = {

View File

@ -273,17 +273,17 @@ in
system.nssModules = optional (cfg.nssmdns4 || cfg.nssmdns6) pkgs.nssmdns; system.nssModules = optional (cfg.nssmdns4 || cfg.nssmdns6) pkgs.nssmdns;
system.nssDatabases.hosts = let system.nssDatabases.hosts = let
mdnsMinimal = if (cfg.nssmdns4 && cfg.nssmdns6) then mdns = if (cfg.nssmdns4 && cfg.nssmdns6) then
"mdns_minimal" "mdns"
else if (!cfg.nssmdns4 && cfg.nssmdns6) then else if (!cfg.nssmdns4 && cfg.nssmdns6) then
"mdns6_minimal" "mdns6"
else if (cfg.nssmdns4 && !cfg.nssmdns6) then else if (cfg.nssmdns4 && !cfg.nssmdns6) then
"mdns4_minimal" "mdns4"
else else
""; "";
in optionals (cfg.nssmdns4 || cfg.nssmdns6) (mkMerge [ in optionals (cfg.nssmdns4 || cfg.nssmdns6) (mkMerge [
(mkBefore [ "${mdnsMinimal} [NOTFOUND=return]" ]) # before resolve (mkBefore [ "${mdns}_minimal [NOTFOUND=return]" ]) # before resolve
(mkAfter [ "mdns" ]) # after dns (mkAfter [ "${mdns}" ]) # after dns
]); ]);
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cava"; pname = "cava";
version = "0.9.1"; version = "0.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "karlstav"; owner = "karlstav";
repo = "cava"; repo = "cava";
rev = version; rev = version;
hash = "sha256-W/2B9iTcO2F2vHQzcbg/6pYBwe+rRNfADdOiw4NY9Jk="; hash = "sha256-AQR1qc6HgkUkXBRf7kGy4QdtfCj+YVDlYSEIWOutkTk=";
}; };
buildInputs = [ buildInputs = [

View File

@ -14,17 +14,17 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "listenbrainz-mpd"; pname = "listenbrainz-mpd";
version = "2.3.1"; version = "2.3.2";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "elomatreb"; owner = "elomatreb";
repo = "listenbrainz-mpd"; repo = "listenbrainz-mpd";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-rI6GBDUzI0pHjULoNKWZ4GKlrtpX/4x6Q1Q+DByNqRs="; hash = "sha256-DqxE+wEHDmOmh+iJa312uAWQcg/1ApOTZNLrhGq5KmY=";
}; };
cargoHash = "sha256-8/0WkoDxUJz0QoQiDGHTuU7HmiY9nqUNPvztI0xmqvk="; cargoHash = "sha256-/fd3XIBHwJ95bwirUbMldw2cAfdF2Sv8CPxrbM4WWBI=";
nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ]; nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ];
@ -37,7 +37,11 @@ rustPlatform.buildRustPackage rec {
openssl openssl
]); ]);
buildFeatures = [ "shell_completion" ]; buildFeatures = [
"shell_completion"
] ++ lib.optionals stdenv.isLinux [
"systemd"
];
postInstall = '' postInstall = ''
installShellCompletion \ installShellCompletion \

View File

@ -10,16 +10,16 @@ let
inherit tiling_wm; inherit tiling_wm;
}; };
stableVersion = { stableVersion = {
version = "2023.1.1.26"; # "Android Studio Hedgehog | 2023.1.1" version = "2023.1.1.27"; # "Android Studio Hedgehog | 2023.1.1 Patch 1"
sha256Hash = "sha256-l36KmFVBT31BFX8L4OEPt0DEK9M392PV2Ws+BZeAZj0="; sha256Hash = "sha256-XF+XyHGk7dPTBHKcx929qdFHu6hRJWFO382mh4SuWDs=";
}; };
betaVersion = { betaVersion = {
version = "2023.2.1.19"; # "Android Studio Iguana | 2023.2.1 Beta 1" version = "2023.2.1.20"; # "Android Studio Iguana | 2023.2.1 Beta 2"
sha256Hash = "sha256-lfJBX7RLIziiuv805+gdt8xfJkFjy0bSh77/bjkNFH4="; sha256Hash = "sha256-cFEPgFAKkFx0d7PC4fTElTQVrBZMQs0RL3wR+hqTh2I=";
}; };
latestVersion = { latestVersion = {
version = "2023.2.1.18"; # "Android Studio Iguana | 2023.2.1 Canary 18" version = "2023.3.1.3"; # "Android Studio Jellyfish | 2023.3.1 Canary 3"
sha256Hash = "sha256-QvyA/1IvqIgGkBWryY0Q7LqGA6I1f9Xn8GA1g19jt+w="; sha256Hash = "sha256-cPCn9dsQ0v1C2bxXzPoxjuucsMtkeO8D6dVt8hcIluQ=";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View File

@ -117,6 +117,37 @@ in buildFHSEnv rec {
passthru = { passthru = {
inherit unwrapped; inherit unwrapped;
tests = { tests = {
buildSof = runCommand "quartus-prime-lite-test-build-sof"
{ nativeBuildInputs = [ quartus-prime-lite ];
}
''
cat >mydesign.vhd <<EOF
library ieee;
use ieee.std_logic_1164.all;
entity mydesign is
port (
in_0: in std_logic;
in_1: in std_logic;
out_1: out std_logic
);
end mydesign;
architecture dataflow of mydesign is
begin
out_1 <= in_0 and in_1;
end dataflow;
EOF
quartus_sh --flow compile mydesign
if ! [ -f mydesign.sof ]; then
echo "error: failed to produce mydesign.sof" >&2
exit 1
fi
touch "$out"
'';
questaEncryptedModel = runCommand "quartus-prime-lite-test-questa-encrypted-model" {} '' questaEncryptedModel = runCommand "quartus-prime-lite-test-questa-encrypted-model" {} ''
"${quartus-prime-lite}/bin/vlog" "${quartus-prime-lite.unwrapped}/questa_fse/intel/verilog/src/arriav_atoms_ncrypt.v" "${quartus-prime-lite}/bin/vlog" "${quartus-prime-lite.unwrapped}/questa_fse/intel/verilog/src/arriav_atoms_ncrypt.v"
touch "$out" touch "$out"

View File

@ -25,20 +25,20 @@ let
) deviceIds; ) deviceIds;
componentHashes = { componentHashes = {
"arria_lite" = "07p862i3dn2c0s3p39y23g94id59nzrpzbwdmrdnhy61ca3m0vzp"; "arria_lite" = "0fg9mmncbb8vmmbc3hxgmrgvgfphn3k4glv7w2yjq66vz6nd8zql";
"cyclone" = "0dic35j9q1ndrn8i2vdqg9176fr3kn6c8iiv0c03nni0m4ar3ykn"; "cyclone" = "1min1hjaw8ll0c1gvl6ihp7hczw36ag8l2yzgl6avcapcw53hgyp";
"cyclone10lp" = "03w4f71fhhwvnkzzly9m15nrdf0jw8m0ckhhzv1vg3nd9pkk86jh"; "cyclone10lp" = "1kjjm11hjg0h6i7kilxvhmkay3v416bhwp0frg2bnwggpk29drxj";
"cyclonev" = "091mlg2iy452fk28idbiwi3rhcgkbhg7ggh3xvnqa9jrfffq9pjc"; "cyclonev" = "10v928qhyfqw3lszhhcdishh1875k1bki9i0czx9252jprgd1g7g";
"max" = "0r649l2n6hj6x5v6hx8k4xnvd6df6wxajx1xp2prq6dpapjfb06y"; "max" = "04sszzz3qnjziirisshhdqs7ks8mcvy15lc1mpp9sgm09pwlhgbb";
"max10" = "1p5ds3cq2gq2mzq2hjwwjhw50c931kgiqxaf7ss228c6s7rv6zpk"; "max10" = "0dqlq477zdx4pf5hlbkl1ycxiav19vx4sk6277cpxm8y1xz70972";
}; };
version = "22.1std.2.922"; version = "23.1std.0.991";
download = {name, sha256}: fetchurl { download = {name, sha256}: fetchurl {
inherit name sha256; inherit name sha256;
# e.g. "22.1std.2.922" -> "22.1std.2/922" # e.g. "23.1std.0.991" -> "23.1std/921"
url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std.${lib.elemAt (lib.splitVersion version) 3}/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}"; url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}";
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
@ -47,10 +47,10 @@ in stdenv.mkDerivation rec {
src = map download ([{ src = map download ([{
name = "QuartusLiteSetup-${version}-linux.run"; name = "QuartusLiteSetup-${version}-linux.run";
sha256 = "078x42pbc51n6ynrvzpwiwgi6g2sg4csv6x2vnnzjgx6bg5kq6l3"; sha256 = "1mg4db56rg407kdsvpzys96z59bls8djyddfzxi6bdikcklxz98h";
} { } {
name = "QuestaSetup-${version}-linux.run"; name = "QuestaSetup-${version}-linux.run";
sha256 = "04pv5fq3kfy3xsjnj435zzpj5kf6329cbs1xgvkgmq1gpn4ji5zy"; sha256 = "0f9lyphk4vf4ijif3kb4iqf18jl357z9h8g16kwnzaqwfngh2ixk";
}] ++ (map (id: { }] ++ (map (id: {
name = "${id}-${version}.qdz"; name = "${id}-${version}.qdz";
sha256 = lib.getAttr id componentHashes; sha256 = lib.getAttr id componentHashes;

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, cmake, glib, gst_all_1, makeWrapper, pkg-config { lib, stdenv, fetchFromGitHub, cmake, glib, gst_all_1, makeWrapper, pkg-config
, python2, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell , python3, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
@ -13,7 +13,7 @@ stdenv.mkDerivation {
sha256 = "sha256-uBfECbU2Df/pPpEXXq62S7Ec0YU4lPIsZ8k5UmKD7xQ="; sha256 = "sha256-uBfECbU2Df/pPpEXXq62S7Ec0YU4lPIsZ8k5UmKD7xQ=";
}; };
nativeBuildInputs = [ cmake makeWrapper pkg-config python2 ]; nativeBuildInputs = [ cmake makeWrapper pkg-config python3 ];
buildInputs = [ buildInputs = [
glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib

View File

@ -162,6 +162,10 @@ stdenv.mkDerivation(finalAttrs: {
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
''; '';
postInstall = ''
install -Dm444 $src/dist/72-yuzu-input.rules $out/lib/udev/rules.d/72-yuzu-input.rules
'';
passthru.updateScript = nix-update-script { passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex" "mainline-0-(.*)" ]; extraArgs = [ "--version-regex" "mainline-0-(.*)" ];
}; };

View File

@ -5,7 +5,8 @@
, appstream-glib , appstream-glib
, desktop-file-utils , desktop-file-utils
, gettext , gettext
, gtk3 , gtk4
, libadwaita
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
@ -14,18 +15,19 @@
, libwebp , libwebp
, optipng , optipng
, pngquant , pngquant
, oxipng
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "curtail"; pname = "curtail";
version = "1.3.1"; version = "1.8.0";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Huluti"; owner = "Huluti";
repo = "Curtail"; repo = "Curtail";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
sha256 = "sha256-/xvkRXs1EVu+9RZM+TnyIGxFV2stUR9XHEmaJxsJ3V8="; sha256 = "sha256-LLz4nZ9WFQMogQR2gCKn80gvHUG5hlpQpcNjpr4fs2s=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -33,7 +35,8 @@ python3.pkgs.buildPythonApplication rec {
appstream-glib appstream-glib
desktop-file-utils desktop-file-utils
gettext gettext
gtk3 gtk4
libadwaita
meson meson
ninja ninja
pkg-config pkg-config
@ -43,7 +46,8 @@ python3.pkgs.buildPythonApplication rec {
buildInputs = [ buildInputs = [
appstream-glib appstream-glib
gettext gettext
gtk3 gtk4
libadwaita
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -59,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
preFixup = '' preFixup = ''
makeWrapperArgs+=( makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}" "''${gappsWrapperArgs[@]}"
"--prefix" "PATH" ":" "${lib.makeBinPath [ jpegoptim libwebp optipng pngquant ]}" "--prefix" "PATH" ":" "${lib.makeBinPath [ jpegoptim libwebp optipng pngquant oxipng ]}"
) )
''; '';

View File

@ -24,20 +24,20 @@
clangStdenv.mkDerivation rec { clangStdenv.mkDerivation rec {
pname = "gnome-decoder"; pname = "gnome-decoder";
version = "0.3.3"; version = "0.4.1";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
owner = "World"; owner = "World";
repo = "decoder"; repo = "decoder";
rev = version; rev = version;
hash = "sha256-eMyPN3UxptqavY9tEATW2AP+kpoWaLwUKCwhNQrarVc="; hash = "sha256-ZEt4QaT2w7PgsnwBCYeDbhcYX0yd0boes/LoejQx0XU=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-3j1hoFffQzWBy4IKtmoMkLBJmNbntpyn0sjv1K0MmDo="; hash = "sha256-acYOSPSUgm0Kg/bo2WF4sRWfCt03AZdTyNNt3Qv7Zjg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,31 +1,46 @@
{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_6, which }: { stdenv
, lib
, fetchpatch
, fetchFromGitHub
, makeWrapper
, makeDesktopItem
, writeText
, runtimeShell
, jdk17
, perl
, gradle_7
, which
}:
let let
pname = "freeplane"; pname = "freeplane";
version = "1.9.14"; version = "1.11.8";
src_sha256 = "UiXtGJs+hibB63BaDDLXgjt3INBs+NfMsKcX2Q/kxKw="; src_hash = "sha256-Qh2V265FvQpqGKmPsiswnC5yECwIcNwMI3/Ka9sBqXE=";
deps_outputHash = "tHhRaMIQK8ERuzm+qB9tRe2XSesL0bN3rComB9/qWgg="; deps_outputHash = "sha256-2Zaw4FW12dThdr082dEB1EYkGwNiayz501wIPGXUfBw=";
emoji_outputHash = "w96or4lpKCRK8A5HaB4Eakr7oVSiQALJ9tCJvKZaM34=";
jdk = jdk11; jdk = jdk17;
gradle = gradle_6; gradle = gradle_7;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "release-${version}"; rev = "release-${version}";
sha256 = src_sha256; hash = src_hash;
}; };
deps = stdenv.mkDerivation { deps = stdenv.mkDerivation {
name = "${pname}-deps"; pname = "${pname}-deps";
inherit src; inherit src version;
nativeBuildInputs = [ jdk perl gradle ]; nativeBuildInputs = [
jdk
perl
gradle
];
buildPhase = '' buildPhase = ''
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon jar GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon build
''; '';
# Mavenize dependency paths # Mavenize dependency paths
@ -34,7 +49,15 @@ let
find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
| sh | sh
# com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar expected to exist under name okio-2.10.0.jar
while IFS="" read -r -d "" path; do
dir=''${path%/*}; file=''${path##*/}; dest=''${file//-jvm-/-}
[[ -e $dir/$dest ]] && continue
ln -s "$dir/$file" "$dir/$dest"
done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0)
''; '';
# otherwise the package with a namespace starting with info/... gets moved to share/info/...
forceShare = [ "dummy" ];
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";
outputHashMode = "recursive"; outputHashMode = "recursive";
@ -43,72 +66,78 @@ let
# Point to our local deps repo # Point to our local deps repo
gradleInit = writeText "init.gradle" '' gradleInit = writeText "init.gradle" ''
logger.lifecycle 'Replacing Maven repositories with ${deps}...' settingsEvaluated { settings ->
gradle.projectsLoaded { settings.pluginManagement {
rootProject.allprojects {
buildscript {
repositories {
clear()
maven { url '${deps}' }
}
}
repositories { repositories {
clear() clear()
maven { url '${deps}' } maven { url '${deps}' }
} }
} }
} }
settingsEvaluated { settings -> gradle.projectsLoaded {
settings.pluginManagement { rootProject.allprojects {
repositories { repositories {
clear()
maven { url '${deps}' } maven { url '${deps}' }
} }
} }
} }
''; '';
emoji = stdenv.mkDerivation rec {
name = "${pname}-emoji";
inherit src;
nativeBuildInputs = [ jdk gradle ];
buildPhase = ''
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} :freeplane:downloadEmoji
'';
installPhase = ''
mkdir -p $out/emoji/txt $out/resources/images
cp freeplane/build/emoji/txt/emojilist.txt $out/emoji/txt
cp -r freeplane/build/emoji/resources/images/emoji/. $out/resources/images/emoji
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = emoji_outputHash;
};
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
inherit pname version src; inherit pname version src;
nativeBuildInputs = [ makeWrapper jdk gradle ]; nativeBuildInputs = [
makeWrapper
jdk
gradle
];
buildPhase = '' buildPhase = ''
mkdir -p -- ./freeplane/build/emoji/{txt,resources/images} mkdir -p freeplane/build
cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt
cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji GRADLE_USER_HOME=$PWD \
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build gradle -Dorg.gradle.java.home=${jdk} \
--no-daemon --offline --init-script ${gradleInit} \
-x test \
build
''; '';
desktopItems = [
(makeDesktopItem {
name = "freeplane";
desktopName = "freeplane";
genericName = "Mind-mapper";
exec = "freeplane";
icon = "freeplane";
comment = meta.description;
mimeTypes = [
"application/x-freemind"
"application/x-freeplane"
"text/x-troff-mm"
];
categories = [
"2DGraphics"
"Chart"
"Graphics"
"Office"
];
})
];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin $out/share
cp -a ./BIN/. $out/share/${pname} mkdir -p $out/bin $out/share
makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \ cp -a ./BIN/. $out/share/freeplane
--set FREEPLANE_BASE_DIR $out/share/${pname} \
makeWrapper $out/share/freeplane/freeplane.sh $out/bin/freeplane \
--set FREEPLANE_BASE_DIR $out/share/freeplane \
--set JAVA_HOME ${jdk} \ --set JAVA_HOME ${jdk} \
--prefix PATH : ${lib.makeBinPath [ jdk which ]} --prefix PATH : ${lib.makeBinPath [ jdk which ]} \
--prefix _JAVA_AWT_WM_NONREPARENTING : 1 \
--prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on"
runHook postInstall runHook postInstall
''; '';

View File

@ -9,29 +9,29 @@
let let
esbuild' = buildPackages.esbuild.override { esbuild' = buildPackages.esbuild.override {
buildGoModule = args: buildPackages.buildGoModule (args // rec { buildGoModule = args: buildPackages.buildGoModule (args // rec {
version = "0.18.20"; version = "0.19.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "evanw"; owner = "evanw";
repo = "esbuild"; repo = "esbuild";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-mED3h+mY+4H465m02ewFK/BgA1i/PQ+ksUNxBlgpUoI="; hash = "sha256-NUwjzOpHA0Ijuh0E69KXx8YVS5GTnKmob9HepqugbIU=";
}; };
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}); });
}; };
in buildNpmPackage rec { in buildNpmPackage rec {
pname = "kaufkauflist"; pname = "kaufkauflist";
version = "3.1.0"; version = "3.3.0";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "annaaurora"; owner = "annaaurora";
repo = "kaufkauflist"; repo = "kaufkauflist";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-gIwJtfausORMfmZONhSOZ1DRW5CSH+cLDCNy3j+u6d0="; hash = "sha256-kqDNA+BALVMrPZleyPxxCyls4VKBzY2MttzO51+Ixo8=";
}; };
npmDepsHash = "sha256-d1mvC72ugmKLNStoemUr8ISCUYjyo9EDWdWUCD1FMiM="; npmDepsHash = "sha256-O2fcmC7Hj9JLStMukyt12aMgntjXT7Lv3vYJp3GqO24=";
ESBUILD_BINARY_PATH = lib.getExe esbuild'; ESBUILD_BINARY_PATH = lib.getExe esbuild';

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "limesctl"; pname = "limesctl";
version = "3.3.1"; version = "3.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sapcc"; owner = "sapcc";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-osXwVZuMB9cMj0tEMBOQ8hrKWAmfXui4ELoi0dm9yB4="; hash = "sha256-UYQe2C50tB1uc5ij8oh+RBaFg9UYWwPmJ77LCJ11Ml4=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -2,6 +2,7 @@
, python3Packages, wrapGAppsHook, gobject-introspection , python3Packages, wrapGAppsHook, gobject-introspection
, gtk-layer-shell, pango, gdk-pixbuf, atk , gtk-layer-shell, pango, gdk-pixbuf, atk
# Extra packages called by various internal nwg-panel modules # Extra packages called by various internal nwg-panel modules
, hyprland # hyprctl
, sway # swaylock, swaymsg , sway # swaylock, swaymsg
, systemd # systemctl , systemd # systemctl
, wlr-randr # wlr-randr , wlr-randr # wlr-randr
@ -15,13 +16,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "nwg-panel"; pname = "nwg-panel";
version = "0.9.16"; version = "0.9.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nwg-piotr"; owner = "nwg-piotr";
repo = "nwg-panel"; repo = "nwg-panel";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-xHAn8NWSWSm95SIX1M8HIQwgNBq5/K5xsanbkAKfXSw="; hash = "sha256-Cq/kj61OmnHLd8EQK6QF67ALv3lMXKPGYUvTIeh90zQ=";
}; };
# No tests # No tests
@ -40,15 +41,15 @@ python3Packages.buildPythonApplication rec {
postInstall = '' postInstall = ''
mkdir -p $out/share/{applications,pixmaps} mkdir -p $out/share/{applications,pixmaps}
cp $src/nwg-panel-config.desktop $out/share/applications/ cp $src/nwg-panel-config.desktop nwg-processes.desktop $out/share/applications/
cp $src/nwg-shell.svg $src/nwg-panel.svg $out/share/pixmaps/ cp $src/nwg-shell.svg $src/nwg-panel.svg nwg-processes.svg $out/share/pixmaps/
''; '';
preFixup = '' preFixup = ''
makeWrapperArgs+=( makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}" "''${gappsWrapperArgs[@]}"
--prefix XDG_DATA_DIRS : "$out/share" --prefix XDG_DATA_DIRS : "$out/share"
--prefix PATH : "${lib.makeBinPath [ light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}" --prefix PATH : "${lib.makeBinPath [ hyprland light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
) )
''; '';

View File

@ -60,17 +60,15 @@ in
bedlevelvisualizer = buildPlugin rec { bedlevelvisualizer = buildPlugin rec {
pname = "bedlevelvisualizer"; pname = "bedlevelvisualizer";
version = "1.1.0"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jneilliii"; owner = "jneilliii";
repo = "OctoPrint-BedLevelVisualizer"; repo = "OctoPrint-BedLevelVisualizer";
rev = version; rev = version;
sha256 = "sha256-SKrhtTGyDuvbDmUCXSx83Y+C83ZzVHA78TwMYwE6tcc="; sha256 = "sha256-6JcYvYgEmphp5zz4xZi4G0yTo4FCIR6Yh+MXYK7H7+w=";
}; };
propagatedBuildInputs = with super; [ numpy ];
meta = with lib; { meta = with lib; {
description = "Displays 3D mesh of bed topography report"; description = "Displays 3D mesh of bed topography report";
homepage = "https://github.com/jneilliii/OctoPrint-BedLevelVisualizer"; homepage = "https://github.com/jneilliii/OctoPrint-BedLevelVisualizer";

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "otpclient"; pname = "otpclient";
version = "3.2.1"; version = "3.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paolostivanin"; owner = "paolostivanin";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-R4vxggZ9bUSPar/QLRc172RGgPXuf9jUwK19kBKpT2w="; hash = "sha256-ca0lGlpR9ynaGQPNLoe7/MegXcyRxLltF/65DJC3830=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -18,14 +18,14 @@
mkDerivation rec { mkDerivation rec {
pname = "qcad"; pname = "qcad";
version = "3.28.2.2"; version = "3.29.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "qcad-${version}-src"; name = "qcad-${version}-src";
owner = "qcad"; owner = "qcad";
repo = "qcad"; repo = "qcad";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-0iH+fuh7jurk7FmEdTig+Tfm7ts3b2Azqv6T5kUNpg4="; sha256 = "sha256-Nx16TJrtxUUdeSobTYdgoDUzm1IcTGbaKnW/9YXozgo=";
}; };
patches = [ patches = [

View File

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "raiseorlaunch"; pname = "raiseorlaunch";
version = "2.3.3"; version = "2.3.5";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3d694015d020a888b42564d56559213b94981ca2b32b952a49b2de4d029d2e59"; sha256 = "sha256-L/hu0mYCAxHkp5me96a6HlEY6QsuJDESpTNhlzVRHWs=";
}; };
nativeBuildInputs = [ python3Packages.setuptools-scm ]; nativeBuildInputs = [ python3Packages.setuptools-scm ];

View File

@ -28,12 +28,12 @@
version = "2023-10-23"; version = "2023-10-23";
}; };
ungoogled-patches = { ungoogled-patches = {
hash = "sha256-B1MNo8BdjMOmTvIr4uu3kg/MO1t+YLQz2S23L4Cye3E="; hash = "sha256-qB1OrsfRCWfobKAAfcYJFmKc36ofF+VmjqPNbIPugJA=";
rev = "120.0.6099.199-1"; rev = "120.0.6099.216-1";
}; };
}; };
hash = "sha256-lT1CCwYj0hT4tCJb689mZwNecUsEwcfn2Ot8r9LBT+M="; hash = "sha256-yqk0bh68onWqML20Q8eDsTT9o+eKtta7kS9HL74do6Q=";
hash_deb_amd64 = "sha256-4BWLn0+gYNWG4DsolbY6WlTvXWl7tZIZrnqXlrGUGjQ="; hash_deb_amd64 = "sha256-MxIyOXssQ1Ke5WZbBbB4FpDec+rn46m8+PbMdmxaQCA=";
version = "120.0.6099.199"; version = "120.0.6099.216";
}; };
} }

View File

@ -6,16 +6,16 @@
buildGo121Module rec { buildGo121Module rec {
pname = "k0sctl"; pname = "k0sctl";
version = "0.16.0"; version = "0.17.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "k0sproject"; owner = "k0sproject";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-DUDvsF4NCFimpW9isqEhodieiJXwjhwhfXR2t/ho3kE="; hash = "sha256-KdD4Wy6PQJQWHnFntYAm/gstWv82AgKK4XvQVM1fnL4=";
}; };
vendorHash = "sha256-eJTVUSAcgE1AaOCEEc202sC0yIfMj30UoK/ObowJ9Zk="; vendorHash = "sha256-0P1v7mZ+k7Th8/cwxRNlhDodzyagv0V9ZBXy1BUGk+k=";
ldflags = [ ldflags = [
"-s" "-s"
@ -27,9 +27,6 @@ buildGo121Module rec {
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
# https://github.com/k0sproject/k0sctl/issues/569
checkFlags = [ "-skip=^Test(Unmarshal|VersionDefaulting)/version_not_given$" ];
postInstall = '' postInstall = ''
for shell in bash zsh fish; do for shell in bash zsh fish; do
installShellCompletion --cmd ${pname} \ installShellCompletion --cmd ${pname} \

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "roxctl"; pname = "roxctl";
version = "4.3.1"; version = "4.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stackrox"; owner = "stackrox";
repo = "stackrox"; repo = "stackrox";
rev = version; rev = version;
sha256 = "sha256-Rr/ETsJJvch9qdqZnin6CiD7WWJXQAcc7TR+YCINk0Q="; sha256 = "sha256-uVpWOUSBbq8r8UBPHHIkn2WVJ0KDX3J0o8cEhn1G9KM=";
}; };
vendorHash = "sha256-Jzv4ozR8RJiwkgVGGq6dlV/7rbBLq8hFe/Pm4SJZCkU="; vendorHash = "sha256-Jzv4ozR8RJiwkgVGGq6dlV/7rbBLq8hFe/Pm4SJZCkU=";

View File

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "tf-summarize"; pname = "tf-summarize";
version = "0.3.6"; version = "0.3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dineshba"; owner = "dineshba";
repo = "tf-summarize"; repo = "tf-summarize";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-8TRX7gAbBlCIOHbwRIVoke2WBSgwLx9121Fg5h0LPF0="; hash = "sha256-IdtIcWnriCwghAWay+GzVf30difsDNHrHDNHDkkTxLg=";
}; };
vendorHash = "sha256-YdfZt8SHBJHk5VUC8Em97EzX79EV4hxvo0B05npBA2U="; vendorHash = "sha256-YdfZt8SHBJHk5VUC8Em97EzX79EV4hxvo0B05npBA2U=";

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "yor"; pname = "yor";
version = "0.1.187"; version = "0.1.188";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bridgecrewio"; owner = "bridgecrewio";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-w82kJhMnupVv4eq3SUDFaWSvkVrxOSPsN+OXl8aIKog="; hash = "sha256-8bQUZFV5euXki7jz3tZmhJ/vSFnJusYyejfw0s+N6rk=";
}; };
vendorHash = "sha256-ZeTjGmlu8LndD2DKNncPzlpECdvkOjfwaVvV6S3sL9E="; vendorHash = "sha256-VYzMdYwWe2TTIV28kORX6pImSE04aFISDCjlQvqiIp8=";
doCheck = false; doCheck = false;

View File

@ -2,7 +2,7 @@
callPackage ./generic.nix {} rec { callPackage ./generic.nix {} rec {
pname = "signal-desktop"; pname = "signal-desktop";
dir = "Signal"; dir = "Signal";
version = "6.43.1"; version = "6.44.0";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
hash = "sha256-mDxZFs+rI2eHkkvkmflras1WqBa/HBVBDpdk9NKaC2E="; hash = "sha256-04KhjExUx+X2/vxSlobVOk9A50XwTlXcdVuttnUmJEw=";
} }

View File

@ -20,7 +20,7 @@ let
downloadPage = "https://teams.microsoft.com/downloads"; downloadPage = "https://teams.microsoft.com/downloads";
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree; license = licenses.unfree;
maintainers = with maintainers; [ liff tricktron ]; maintainers = with maintainers; [ tricktron ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ]; platforms = [ "x86_64-darwin" "aarch64-darwin" ];
mainProgram = "teams"; mainProgram = "teams";
}; };

View File

@ -2,18 +2,18 @@
buildGoModule rec { buildGoModule rec {
pname = "wgcf"; pname = "wgcf";
version = "2.2.20"; version = "2.2.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ViRb3"; owner = "ViRb3";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-k4oOejJiVZk9s4niG/r0mSoI363uuQh3C9OWVweELWc="; hash = "sha256-FzzPDTRmDCBS7EZOgj4ckytbtlRPqPdHpyn3nF0yHdc=";
}; };
subPackages = "."; subPackages = ".";
vendorHash = "sha256-U1VHbD2l5C5ws7Mt5a7PmtHQkZJ6hzDU1TyiEFqMYEM="; vendorHash = "sha256-cGtm+rUgYppwwL/BizWikPUyFExHzLucL2o2g9PgGNw=";
meta = with lib; { meta = with lib; {
description = "Cross-platform, unofficial CLI for Cloudflare Warp"; description = "Cross-platform, unofficial CLI for Cloudflare Warp";

View File

@ -11,6 +11,7 @@
, glib , glib
, glib-networking , glib-networking
, gtk4 , gtk4
, gtksourceview5
, json-glib , json-glib
, libadwaita , libadwaita
, libgee , libgee
@ -24,13 +25,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "planify"; pname = "planify";
version = "4.3.2"; version = "4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alainm23"; owner = "alainm23";
repo = "planify"; repo = "planify";
rev = version; rev = version;
hash = "sha256-i+Up92Gl3FjgQ4GpcZruvYD//TPNWktSuWXGgDTwbWw="; hash = "sha256-HX6ZMx2NUAQxEGLIk/wgUlQX0BFtee3+t/JdlMTIYBw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -47,6 +48,7 @@ stdenv.mkDerivation rec {
glib glib
glib-networking glib-networking
gtk4 gtk4
gtksourceview5
json-glib json-glib
libadwaita libadwaita
libgee libgee

View File

@ -19,14 +19,14 @@
let let
pname = "qownnotes"; pname = "qownnotes";
appname = "QOwnNotes"; appname = "QOwnNotes";
version = "24.1.1"; version = "24.1.2";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname appname version; inherit pname appname version;
src = fetchurl { src = fetchurl {
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz"; url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
hash = "sha256-yCsYIi1StZOYutDAWS04u3DccrPB+2oqaynnH4GBEPc="; hash = "sha256-UlHLGO5Rictj0/eZKxyFKxa/2XasQOAixnejOc+dH0M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,30 +1,36 @@
{ lib { lib
, stdenv , stdenv
, ant
, fetchFromGitHub , fetchFromGitHub
, jdk11_headless , ant
, jdk
, jre , jre
, makeWrapper , makeWrapper
, canonicalize-jars-hook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "trimmomatic"; pname = "trimmomatic";
version = "0.39"; version = "0.39";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "usadellab"; owner = "usadellab";
repo = "Trimmomatic"; repo = "Trimmomatic";
rev = "v${version}"; rev = "v${finalAttrs.version}";
hash = "sha256-u+ubmacwPy/vsEi0YQCv0fTnVDesQvqeQDEwCbS8M6I="; hash = "sha256-u+ubmacwPy/vsEi0YQCv0fTnVDesQvqeQDEwCbS8M6I=";
}; };
# Set source and target version to 11 # Remove jdk version requirement
postPatch = '' postPatch = ''
substituteInPlace ./build.xml \ substituteInPlace ./build.xml \
--replace 'source="1.5" target="1.5"' 'release="11"' --replace 'source="1.5" target="1.5"' ""
''; '';
nativeBuildInputs = [ jdk11_headless ant makeWrapper ]; nativeBuildInputs = [
ant
jdk
makeWrapper
canonicalize-jars-hook
];
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
@ -37,16 +43,17 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin $out/share install -Dm644 dist/jar/trimmomatic-*.jar -t $out/share/trimmomatic
cp dist/jar/trimmomatic-${version}.jar $out/share/ cp -r adapters $out/share/trimmomatic
cp -r adapters $out/share/
makeWrapper ${jre}/bin/java $out/bin/trimmomatic \ makeWrapper ${jre}/bin/java $out/bin/trimmomatic \
--add-flags "-cp $out/share/trimmomatic-${version}.jar org.usadellab.trimmomatic.Trimmomatic" --add-flags "-jar $out/share/trimmomatic/trimmomatic-*.jar"
runHook postInstall runHook postInstall
''; '';
meta = { meta = {
changelog = "https://github.com/usadellab/Trimmomatic/blob/main/versionHistory.txt";
description = "A flexible read trimming tool for Illumina NGS data"; description = "A flexible read trimming tool for Illumina NGS data";
longDescription = '' longDescription = ''
Trimmomatic performs a variety of useful trimming tasks for illumina Trimmomatic performs a variety of useful trimming tasks for illumina
@ -59,8 +66,9 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
sourceProvenance = [ sourceProvenance = [
lib.sourceTypes.fromSource lib.sourceTypes.fromSource
lib.sourceTypes.binaryBytecode # source bundles dependencies as jars lib.sourceTypes.binaryBytecode # source bundles dependencies as jars
]; ];
mainProgram = "trimmomatic";
maintainers = [ lib.maintainers.kupac ]; maintainers = [ lib.maintainers.kupac ];
}; };
} })

View File

@ -16,11 +16,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtkwave"; pname = "gtkwave";
version = "3.3.117"; version = "3.3.118";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
sha256 = "sha256-PPFTdYapEcuwYBr4+hjPbacIyKFKcfac48uRGOhXHbk="; sha256 = "sha256-D0MwwCiiqz0vTUzur222kl2wEMS2/VLRECLQ5d6gSGo=";
}; };
nativeBuildInputs = [ pkg-config wrapGAppsHook ]; nativeBuildInputs = [ pkg-config wrapGAppsHook ];

View File

@ -153,7 +153,7 @@ stdenv.mkDerivation rec {
|| cudaSupport || cudaSupport
|| !(leveldbSupport -> (leveldb != null && snappy != null)) || !(leveldbSupport -> (leveldb != null && snappy != null))
|| !(cudnnSupport -> (hasCudnn && cudaSupport)) || !(cudnnSupport -> (hasCudnn && cudaSupport))
|| !(ncclSupport -> cudaSupport) || !(ncclSupport -> (cudaSupport && !nccl.meta.unsupported))
|| !(pythonSupport -> (python != null && numpy != null)) || !(pythonSupport -> (python != null && numpy != null))
; ;
license = licenses.bsd2; license = licenses.bsd2;

View File

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }: { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec { buildGoModule rec {
pname = "ghorg"; pname = "ghorg";
@ -18,6 +18,14 @@ buildGoModule rec {
ldflags = [ "-s" "-w" "-X main.version=${version}" ]; ldflags = [ "-s" "-w" "-X main.version=${version}" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd ghorg \
--bash <($out/bin/ghorg completion bash) \
--fish <($out/bin/ghorg completion fish) \
--zsh <($out/bin/ghorg completion zsh)
'';
meta = with lib; { meta = with lib; {
description = "Quickly clone an entire org/users repositories into one directory"; description = "Quickly clone an entire org/users repositories into one directory";
longDescription = '' longDescription = ''

View File

@ -1,15 +1,15 @@
{ {
"version": "16.5.4", "version": "16.7.0",
"repo_hash": "sha256-N+5w42aIMnulItzx7ksK4Olkpr4AwN2ojcYs+xJfjeY=", "repo_hash": "sha256-l5TkjkVny2zQLUfbscG6adkmkC1KjxMAeFbSyUA1UbI=",
"yarn_hash": "03ryyk7dw7s8yjdx9wdrvllaydb0w5an06agkwf5npgr6x1bz3yv", "yarn_hash": "1qxz2p969qg7kzyvhwxws5zwdw986gdq9gxllzi58c5c56jz49zf",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab", "repo": "gitlab",
"rev": "v16.5.4-ee", "rev": "v16.7.0-ee",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "16.5.4", "GITALY_SERVER_VERSION": "16.7.0",
"GITLAB_PAGES_VERSION": "16.5.4", "GITLAB_PAGES_VERSION": "16.7.0",
"GITLAB_SHELL_VERSION": "14.29.0", "GITLAB_SHELL_VERSION": "14.32.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.4.0", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.5.0",
"GITLAB_WORKHORSE_VERSION": "16.5.4" "GITLAB_WORKHORSE_VERSION": "16.7.0"
} }
} }

View File

@ -101,7 +101,7 @@ let
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production bundle exec rake gettext:compile RAILS_ENV=production NODE_ENV=production
bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production

View File

@ -6,7 +6,7 @@
}: }:
let let
version = "16.5.4"; version = "16.7.0";
package_version = "v${lib.versions.major version}"; package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@ -18,10 +18,10 @@ let
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitaly"; repo = "gitaly";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6XXXTeLw7+ScWUB81Pno8BZkkSFJ12SnZKu8430yQKo="; hash = "sha256-YLynUHE1lb0dfsZsalz91jSSk1Y5r7kqT2AcE27xf04=";
}; };
vendorHash = "sha256-QLt/12P6OLpLqCINROLmzhoRpLGrB9WzME7FzhIcb0Q="; vendorHash = "sha256-btWHZMy1aBSsUVs30IqrdBCO79XQvTMXxkxYURF2Nqs=";
ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ]; ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];

View File

@ -10,10 +10,10 @@ buildGoModule rec {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "container-registry"; repo = "container-registry";
inherit rev; inherit rev;
sha256 = "sha256-egslb+8+RsDjpL5xQpdCU3QwFH59grRCkODQnAkZe/0="; hash = "sha256-vQ5bP2S1McZxD+Mjw0y/+GB8ntv8nQynM1cIWtUK7pU=";
}; };
vendorHash = "sha256-IFXIr0xYJCKM5VUHQV+4S/+FEAhFEjbMaU+9JWIh8cA="; vendorHash = "sha256-rDmmCwz/+FBzbREKIqwQulcOKwd4Y6/MITyNpB+pfwQ=";
patches = [ patches = [
./Disable-inmemory-storage-driver-test.patch ./Disable-inmemory-storage-driver-test.patch

View File

@ -2,17 +2,17 @@
buildGoModule rec { buildGoModule rec {
pname = "gitlab-elasticsearch-indexer"; pname = "gitlab-elasticsearch-indexer";
version = "4.4.0"; version = "4.5.0";
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-elasticsearch-indexer"; repo = "gitlab-elasticsearch-indexer";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Qywf5ACxXqY1iUZCsROTLmWeM8gFcqZvnClRo5DlnjY="; sha256 = "sha256-6Y2ARnFjbz6nFhWGRhzgAY8s0aX24oLMY1016oRD9oo=";
}; };
vendorHash = "sha256-2dUlztXnr7OH/gQ0Q4jQpuO1MdkOy1O4BNGiY223DAA="; vendorHash = "sha256-jpjfQl2z5yPnlGEYW6KKBfd4quchT+bU/RU6vwaB4gQ=";
buildInputs = [ icu ]; buildInputs = [ icu ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -2,17 +2,17 @@
buildGoModule rec { buildGoModule rec {
pname = "gitlab-pages"; pname = "gitlab-pages";
version = "16.5.4"; version = "16.7.0";
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-pages"; repo = "gitlab-pages";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-hMd+0WCY59orQa5IYh6Lf5ZMj564Dgo8mEgo7svv6Rs="; hash = "sha256-8jODsK5+o1fEaTuFv6bXfZp4oA87JUQbTdYQn66DKJA=";
}; };
vendorHash = "sha256-YG+ERETxp0BPh/V4820pMXTXu9YcodRhzme6qZJBC9Q="; vendorHash = "sha256-NMky8v0YmN2pSeKJ7G0+DWAZvUx2JlwFbqPHvciYroM=";
subPackages = [ "." ]; subPackages = [ "." ];
meta = with lib; { meta = with lib; {

View File

@ -2,21 +2,21 @@
buildGoModule rec { buildGoModule rec {
pname = "gitlab-shell"; pname = "gitlab-shell";
version = "14.29.0"; version = "14.32.0";
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-shell"; repo = "gitlab-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MhvFLBH0CLiGNTEjHy7vDhLE3YsvbBL8XRNytPEa6uU="; sha256 = "sha256-fZttdcIdPeiy2ncDyseR1BnR6GBoSRsFkn7Mxc+mTA8=";
}; };
buildInputs = [ ruby libkrb5 ]; buildInputs = [ ruby libkrb5 ];
patches = [ ./remove-hardcoded-locations.patch ]; patches = [ ./remove-hardcoded-locations.patch ];
vendorHash = "sha256-g1ZaRY0A7oREByNicPvnuxakYrNQNXg4Vy94iyNVdDY="; vendorHash = "sha256-tdYBEV/dKnIJ+OWTF3/5bIbWVdE/ulMrMD/LMzj1QZE=";
postInstall = '' postInstall = ''
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin

View File

@ -5,7 +5,7 @@ in
buildGoModule rec { buildGoModule rec {
pname = "gitlab-workhorse"; pname = "gitlab-workhorse";
version = "16.5.4"; version = "16.7.0";
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
src = fetchFromGitLab { src = fetchFromGitLab {
@ -17,7 +17,7 @@ buildGoModule rec {
sourceRoot = "${src.name}/workhorse"; sourceRoot = "${src.name}/workhorse";
vendorHash = "sha256-m8cDhI6DzFnSEZscZQfFm8l9MTJqTqxhBFJeTX1HWiE="; vendorHash = "sha256-1oeToeqGXSj5CdL5dgWsnN/VpwALlus93P0Ed7G8TIw=";
buildInputs = [ git ]; buildInputs = [ git ];
ldflags = [ "-X main.Version=${version}" ]; ldflags = [ "-X main.Version=${version}" ];
doCheck = false; doCheck = false;

View File

@ -28,9 +28,7 @@ gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'vite_rails' # rubocop:todo Gemfile/MissingFeatureCategory gem 'bootsnap', '~> 1.17.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bootsnap', '~> 1.16.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory
@ -42,12 +40,16 @@ group :monorepo do
gem 'gitlab-utils', path: 'gems/gitlab-utils' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-utils', path: 'gems/gitlab-utils' # rubocop:todo Gemfile/MissingFeatureCategory
end end
gem 'gitlab-backup-cli', path: 'gems/gitlab-backup-cli', require: 'gitlab/backup/cli', feature_category: :backup_restore
gem 'gitlab-secret_detection', path: 'gems/gitlab-secret_detection', feature_category: :secret_detection
# Responders respond_to and respond_with # Responders respond_to and respond_with
gem 'responders', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'responders', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sprockets', '~> 3.7.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sprockets', '~> 3.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'view_component', '~> 3.6.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'view_component', '~> 3.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Supported DBs # Supported DBs
gem 'pg', '~> 1.5.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pg', '~> 1.5.4' # rubocop:todo Gemfile/MissingFeatureCategory
@ -63,7 +65,7 @@ gem 'marginalia', '~> 1.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'declarative_policy', '~> 1.1.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'declarative_policy', '~> 1.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Authentication libraries # Authentication libraries
gem 'devise', '~> 4.8.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'devise', '~> 4.9.3', feature_category: :system_access
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable' # rubocop:todo Gemfile/MissingFeatureCategory gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bcrypt', '~> 3.1', '>= 3.1.14' # rubocop:todo Gemfile/MissingFeatureCategory gem 'bcrypt', '~> 3.1', '>= 3.1.14' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'doorkeeper', '~> 5.6', '>= 5.6.6' # rubocop:todo Gemfile/MissingFeatureCategory gem 'doorkeeper', '~> 5.6', '>= 5.6.6' # rubocop:todo Gemfile/MissingFeatureCategory
@ -119,7 +121,7 @@ gem 'acme-client', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'browser', '~> 5.3.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'browser', '~> 5.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
# OS detection for usage ping # OS detection for usage ping
gem 'ohai', '~> 17.9' # rubocop:todo Gemfile/MissingFeatureCategory gem 'ohai', '~> 18.1' # rubocop:todo Gemfile/MissingFeatureCategory
# GPG # GPG
gem 'gpgme', '~> 2.0.23' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gpgme', '~> 2.0.23' # rubocop:todo Gemfile/MissingFeatureCategory
@ -142,7 +144,7 @@ gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/Missing
gem 'graphql', '~> 2.0.27', feature_category: :api gem 'graphql', '~> 2.0.27', feature_category: :api
gem 'graphql-docs', '~> 4.0.0', group: [:development, :test], feature_category: :api gem 'graphql-docs', '~> 4.0.0', group: [:development, :test], feature_category: :api
gem 'graphiql-rails', '~> 1.8.0', feature_category: :api gem 'graphiql-rails', '~> 1.8.0', feature_category: :api
gem 'apollo_upload_server', '~> 2.1.0', feature_category: :api gem 'apollo_upload_server', '~> 2.1.5', feature_category: :api
gem 'graphlient', '~> 0.5.0', feature_category: :importers # Used by BulkImport feature (group::import) gem 'graphlient', '~> 0.5.0', feature_category: :importers # Used by BulkImport feature (group::import)
# Generate Fake data # Generate Fake data
@ -177,8 +179,13 @@ gem 'fog-aliyun', '~> 0.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/azurerm' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/azurerm' # rubocop:todo Gemfile/MissingFeatureCategory
# for Google storage # for Google storage
gem 'google-cloud-storage', '~> 1.44.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-core', '~> 0.10.0' # rubocop:todo Gemfile/MissingFeatureCategory # Need this specific version of google-apis-storage_v1 so that fog-google will utilize the updated list_objects with
# match_glob support in google-apis-core 0.11.1. Because of this we also have to bump google-cloud-storage to 1.45.0.
gem 'google-apis-storage_v1', '~> 0.29' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo Gemfile/MissingFeatureCategory
# We need >= 0.11.1 because that's when match_glob support is added to list_objects
gem 'google-apis-core', '~> 0.11.0', '>= 0.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -196,9 +203,9 @@ gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'elasticsearch-api', '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'elasticsearch-api', '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-core', '~> 3.185.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'aws-sdk-core', '~> 3.190.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-s3', '~> 1.136.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'aws-sdk-s3', '~> 1.141.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
@ -208,7 +215,7 @@ gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'RedCloth', '~> 4.3.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'creole', '~> 0.5.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'creole', '~> 0.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'wikicloth', '0.8.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'wikicloth', '0.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
@ -216,16 +223,16 @@ gem 'asciidoctor', '~> 2.0.18' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'asciidoctor-include-ext', '~> 0.4.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCategory gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rouge', '~> 4.1.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'nokogiri', '~> 1.15', '>= 1.15.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'nokogiri', '~> 1.15', '>= 1.15.5' # rubocop:todo Gemfile/MissingFeatureCategory
# Calendar rendering # Calendar rendering
gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
# Diffs # Diffs
gem 'diffy', '~> 3.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'diffy', '~> 3.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'diff_match_patch', '~> 0.1.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems/diff_match_patch', feature_category: :team_planning
# Application server # Application server
gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory
@ -241,12 +248,11 @@ end
gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# CI domain tags # CI domain tags
gem 'acts-as-taggable-on', '~> 9.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Background jobs # Background jobs
gem 'sidekiq', '~> 6.5.7' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sidekiq', '~> 6.5.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sidekiq-cron', '~> 1.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sidekiq-cron', '~> 1.12.0', feature_category: :shared
gem 'redis-namespace', '~> 1.9.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
# Cron Parser # Cron Parser
@ -262,11 +268,11 @@ gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
# Linear-time regex library for untrusted regular expressions # Linear-time regex library for untrusted regular expressions
gem 're2', '2.1.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 're2', '2.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Misc # Misc
gem 'semver_dialects', '~> 1.2.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'semver_dialects', '~> 1.5', feature_category: :static_application_security_testing
gem 'version_sorter', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'version_sorter', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'csv_builder', path: 'gems/csv_builder' # rubocop:todo Gemfile/MissingFeatureCategory gem 'csv_builder', path: 'gems/csv_builder' # rubocop:todo Gemfile/MissingFeatureCategory
@ -278,23 +284,24 @@ gem 'device_detector' # rubocop:todo Gemfile/MissingFeatureCategory
# Redis # Redis
gem 'redis', '~> 4.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'redis', '~> 4.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'redis-namespace', '~> 1.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
# Redis session store # Redis session store
gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Discord integration # Discord integration
gem 'discordrb-webhooks', '~> 3.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'discordrb-webhooks', '~> 3.4', require: false, feature_category: :integrations
# Jira integration # Jira integration
gem 'jira-ruby', '~> 2.1.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'jira-ruby', '~> 2.1.4', feature_category: :integrations
gem 'atlassian-jwt', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'atlassian-jwt', '~> 0.2.0', feature_category: :integrations
# Slack integration # Slack integration
gem 'slack-messenger', '~> 2.3.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'slack-messenger', '~> 2.3.4', feature_category: :integrations
# FogBugz integration # FogBugz integration
gem 'ruby-fogbugz', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'ruby-fogbugz', '~> 0.3.0', feature_category: :importers
# Kubernetes integration # Kubernetes integration
gem 'kubeclient', '~> 4.11.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'kubeclient', '~> 4.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -308,7 +315,7 @@ gem 'sanitize', '~> 6.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'babosa', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'babosa', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Sanitizes SVG input # Sanitizes SVG input
gem 'loofah', '~> 2.21.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'loofah', '~> 2.22.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Used to provide license templates # Used to provide license templates
gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory
@ -334,7 +341,7 @@ gem 'terser', '1.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'addressable', '~> 2.8' # rubocop:todo Gemfile/MissingFeatureCategory gem 'addressable', '~> 2.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'tanuki_emoji', '~> 0.7' # rubocop:todo Gemfile/MissingFeatureCategory gem 'tanuki_emoji', '~> 0.9' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gon', '~> 6.4.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gon', '~> 6.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'request_store', '~> 1.5.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'request_store', '~> 1.5.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'base32', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'base32', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -345,10 +352,10 @@ gem 'gitlab-license', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rack-attack', '~> 6.7.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rack-attack', '~> 6.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Sentry integration # Sentry integration
gem 'sentry-raven', '~> 3.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sentry-raven', '~> 3.1', feature_category: :error_tracking
gem 'sentry-ruby', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sentry-ruby', '~> 5.10.0', feature_category: :error_tracking
gem 'sentry-rails', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sentry-rails', '~> 5.10.0', feature_category: :error_tracking
gem 'sentry-sidekiq', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sentry-sidekiq', '~> 5.10.0', feature_category: :error_tracking
# PostgreSQL query parsing # PostgreSQL query parsing
# #
@ -363,10 +370,9 @@ gem 'gitlab-labkit', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
# I18n # I18n
gem 'rails-i18n', '~> 7.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rails-i18n', '~> 7.0', feature_category: :internationalization
gem 'gettext_i18n_rails', '~> 1.11.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gettext_i18n_rails', '~> 1.11.0', feature_category: :internationalization
gem 'gettext_i18n_rails_js', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gettext', '~> 3.3', require: false, group: [:development, :test], feature_category: :internationalization
gem 'gettext', '~> 3.3', require: false, group: :development # rubocop:todo Gemfile/MissingFeatureCategory
gem 'batch-loader', '~> 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'batch-loader', '~> 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
@ -381,17 +387,17 @@ gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Metrics # Metrics
gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'prometheus-client-mmap', '~> 0.28', '>= 0.28.1', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory gem 'prometheus-client-mmap', '~> 1.0', '>= 1.0.2', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
group :development do group :development do
gem 'lefthook', '~> 1.5.2', require: false, feature_category: :tooling gem 'lefthook', '~> 1.5.5', require: false, feature_category: :tooling
gem 'rubocop', feature_category: :tooling gem 'rubocop', feature_category: :tooling
gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'lookbook', '~> 2.0', '>= 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'lookbook', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
# Better errors handler # Better errors handler
gem 'better_errors', '~> 2.10.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'better_errors', '~> 2.10.1' # rubocop:todo Gemfile/MissingFeatureCategory
@ -399,11 +405,17 @@ group :development do
gem 'sprite-factory', '~> 1.7' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sprite-factory', '~> 1.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-lsp', "~> 0.13.1", require: false, feature_category: :tooling
gem 'ruby-lsp-rails', "~> 0.2.8", feature_category: :tooling
gem 'ruby-lsp-rspec', "~> 0.1.8", require: false, feature_category: :tooling
end end
group :development, :test do group :development, :test do
gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bullet', '~> 7.1.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
@ -411,9 +423,9 @@ group :development, :test do
gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'database_cleaner', '~> 1.7.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec-rails', '~> 6.0.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rspec-rails', '~> 6.1.0', feature_category: :shared
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
gem 'minitest', '~> 5.11.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'minitest', '~> 5.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -421,9 +433,9 @@ group :development, :test do
gem 'spring', '~> 4.1.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'spring', '~> 4.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'spring-commands-rspec', '~> 1.0.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'spring-commands-rspec', '~> 1.0.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-styles', '~> 10.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-styles', '~> 11.0.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'haml_lint', '~> 0.40.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'haml_lint', '~> 0.52', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# Benchmarking & profiling # Benchmarking & profiling
@ -435,7 +447,7 @@ group :development, :test do
gem 'knapsack', '~> 1.21.1', feature_category: :tooling gem 'knapsack', '~> 1.21.1', feature_category: :tooling
gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
gem 'test_file_finder', '~> 0.1.3', feature_category: :tooling gem 'test_file_finder', '~> 0.2.1', feature_category: :tooling
gem 'simple_po_parser', '~> 1.1.6', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'simple_po_parser', '~> 1.1.6', require: false # rubocop:todo Gemfile/MissingFeatureCategory
@ -446,10 +458,17 @@ group :development, :test do
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
# For now we only use vite in development / test, and not for production builds
# See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
gem 'vite_rails', '~> 3.0.17', feature_category: :shared
gem 'vite_ruby', '~> 3.5.0', feature_category: :shared
gem 'gitlab-housekeeper', path: 'gems/gitlab-housekeeper', feature_category: :tooling
end end
group :development, :test, :danger do group :development, :test, :danger do
gem 'gitlab-dangerfiles', '~> 4.3.2', require: false, feature_category: :tooling gem 'gitlab-dangerfiles', '~> 4.6.0', require: false, feature_category: :tooling
end end
group :development, :test, :coverage do group :development, :test, :coverage do
@ -467,7 +486,7 @@ end
# Gems required in various pipelines # Gems required in various pipelines
group :development, :test, :monorepo do group :development, :test, :monorepo do
gem 'gitlab-rspec', path: 'gems/gitlab-rspec' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-rspec', path: 'gems/gitlab-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec_flaky', path: 'gems/rspec_flaky' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-rspec_flaky', path: 'gems/gitlab-rspec_flaky', feature_category: :tooling
end end
group :test do group :test do
@ -476,10 +495,11 @@ group :test do
gem 'rspec_profiling', '~> 0.0.6', feature_category: :tooling gem 'rspec_profiling', '~> 0.0.6', feature_category: :tooling
gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling
gem 'rspec-parameterized', '~> 1.0', require: false, feature_category: :tooling gem 'rspec-parameterized', '~> 1.0', require: false, feature_category: :tooling
gem 'os', '~> 1.1', feature_category: :tooling
gem 'capybara', '~> 3.39', '>= 3.39.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'capybara', '~> 3.39', '>= 3.39.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'capybara-screenshot', '~> 1.0.26' # rubocop:todo Gemfile/MissingFeatureCategory gem 'capybara-screenshot', '~> 1.0.26' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'selenium-webdriver', '~> 4.14' # rubocop:todo Gemfile/MissingFeatureCategory gem 'selenium-webdriver', '~> 4.16' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'graphlyte', '~> 1.0.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'graphlyte', '~> 1.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -488,7 +508,7 @@ group :test do
gem 'webmock', '~> 3.19.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'webmock', '~> 3.19.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rails-controller-testing' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rails-controller-testing' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'concurrent-ruby', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'concurrent-ruby', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'test-prof', '~> 1.2.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'test-prof', '~> 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'axe-core-rspec' # rubocop:todo Gemfile/MissingFeatureCategory gem 'axe-core-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
@ -496,12 +516,12 @@ group :test do
# Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527 # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab_quality-test_tooling', '~> 1.3.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab_quality-test_tooling', '~> 1.9.0', require: false, feature_category: :tooling
end end
gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-mail_room', '~> 0.0.23', require: 'mail_room' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-mail_room', '~> 0.0.24', require: 'mail_room', feature_category: :shared
gem 'email_reply_trimmer', '~> 0.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'email_reply_trimmer', '~> 0.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'html2text' # rubocop:todo Gemfile/MissingFeatureCategory gem 'html2text' # rubocop:todo Gemfile/MissingFeatureCategory
@ -531,14 +551,14 @@ gem 'ssh_data', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Gitaly GRPC protocol definitions # Gitaly GRPC protocol definitions
gem 'gitaly', '~> 16.5.0.pre.rc1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitaly', '~> 16.7.0-rc1', feature_category: :gitaly
# KAS GRPC protocol definitions # KAS GRPC protocol definitions
gem 'kas-grpc', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'kas-grpc', '~> 0.3.0', feature_category: :deployment_management
gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-protobuf', '~> 3.24', '>= 3.24.4' # rubocop:todo Gemfile/MissingFeatureCategory gem 'google-protobuf', '~> 3.25', '>= 3.25.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -547,7 +567,7 @@ gem 'flipper', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'flipper-active_record', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'flipper-active_record', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'flipper-active_support_cache_store', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'flipper-active_support_cache_store', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'unleash', '~> 3.2.2' # rubocop:todo Gemfile/MissingFeatureCategory gem 'unleash', '~> 3.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-experiment', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitlab-experiment', '~> 0.9.1', feature_category: :shared
# Structured logging # Structured logging
gem 'lograge', '~> 0.5' # rubocop:todo Gemfile/MissingFeatureCategory gem 'lograge', '~> 0.5' # rubocop:todo Gemfile/MissingFeatureCategory
@ -613,7 +633,7 @@ gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite' # rubocop:todo Gemfile/Missi
gem 'arr-pm', '~> 0.0.12' # rubocop:todo Gemfile/MissingFeatureCategory gem 'arr-pm', '~> 0.0.12' # rubocop:todo Gemfile/MissingFeatureCategory
# Remote Development # Remote Development
gem 'devfile', '~> 0.0.23.pre.alpha1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'devfile', '~> 0.0.24.pre.alpha1', feature_category: :remote_development
# Apple plist parsing # Apple plist parsing
gem 'CFPropertyList', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'CFPropertyList', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -630,3 +650,5 @@ gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'net-http', '= 0.1.1' # rubocop:todo Gemfile/MissingFeatureCategory gem 'net-http', '= 0.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-sdk', feature_category: :application_instrumentation

View File

@ -23,21 +23,43 @@ PATH
error_tracking_open_api (1.0.0) error_tracking_open_api (1.0.0)
typhoeus (~> 1.0, >= 1.0.1) typhoeus (~> 1.0, >= 1.0.1)
PATH
remote: gems/gitlab-backup-cli
specs:
gitlab-backup-cli (0.0.1)
thor (~> 1.3)
PATH
remote: gems/gitlab-housekeeper
specs:
gitlab-housekeeper (0.1.0)
httparty
rubocop
PATH PATH
remote: gems/gitlab-http remote: gems/gitlab-http
specs: specs:
gitlab-http (0.1.0) gitlab-http (0.1.0)
activesupport (~> 7) activesupport (~> 7)
concurrent-ruby (~> 1.2)
httparty (~> 0.21.0) httparty (~> 0.21.0)
ipaddress (~> 0.8.3) ipaddress (~> 0.8.3)
nokogiri (~> 1.15.4) nokogiri (~> 1.15.4)
railties (~> 7) railties (~> 7)
PATH
remote: gems/gitlab-rspec_flaky
specs:
gitlab-rspec_flaky (0.1.0)
activesupport (>= 6.1, < 8)
rspec (~> 3.0)
PATH PATH
remote: gems/gitlab-rspec remote: gems/gitlab-rspec
specs: specs:
gitlab-rspec (0.1.0) gitlab-rspec (0.1.0)
activesupport (>= 6.1, < 7.1) activerecord (>= 6.1, < 8)
activesupport (>= 6.1, < 8)
rspec (~> 3.0) rspec (~> 3.0)
PATH PATH
@ -53,6 +75,13 @@ PATH
diffy diffy
pg_query pg_query
PATH
remote: gems/gitlab-secret_detection
specs:
gitlab-secret_detection (0.1.0)
re2 (~> 2.4)
toml-rb (~> 2.2)
PATH PATH
remote: gems/gitlab-utils remote: gems/gitlab-utils
specs: specs:
@ -70,13 +99,6 @@ PATH
diffy (~> 3.4) diffy (~> 3.4)
oj (~> 3.13.16) oj (~> 3.13.16)
PATH
remote: gems/rspec_flaky
specs:
rspec_flaky (0.1.0)
activesupport (>= 6.1, < 8)
rspec (~> 3.0)
PATH PATH
remote: vendor/gems/attr_encrypted remote: vendor/gems/attr_encrypted
specs: specs:
@ -103,7 +125,12 @@ PATH
specs: specs:
devise-pbkdf2-encryptable (0.0.0) devise-pbkdf2-encryptable (0.0.0)
devise (~> 4.0) devise (~> 4.0)
devise-two-factor (~> 4.0) devise-two-factor (~> 4.1.1)
PATH
remote: vendor/gems/diff_match_patch
specs:
diff_match_patch (0.1.0)
PATH PATH
remote: vendor/gems/mail-smtp_pool remote: vendor/gems/mail-smtp_pool
@ -152,7 +179,7 @@ PATH
PATH PATH
remote: vendor/gems/sidekiq-reliable-fetch remote: vendor/gems/sidekiq-reliable-fetch
specs: specs:
gitlab-sidekiq-fetcher (0.9.0) gitlab-sidekiq-fetcher (0.10.0)
json (>= 2.5) json (>= 2.5)
sidekiq (~> 6.1) sidekiq (~> 6.1)
@ -161,7 +188,7 @@ GEM
specs: specs:
CFPropertyList (3.0.5) CFPropertyList (3.0.5)
rexml rexml
RedCloth (4.3.2) RedCloth (4.3.3)
acme-client (2.0.11) acme-client (2.0.11)
faraday (>= 1.0, < 3.0.0) faraday (>= 1.0, < 3.0.0)
faraday-retry (~> 1.0) faraday-retry (~> 1.0)
@ -233,8 +260,8 @@ GEM
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
tzinfo (~> 2.0) tzinfo (~> 2.0)
acts-as-taggable-on (9.0.1) acts-as-taggable-on (10.0.0)
activerecord (>= 6.0, < 7.1) activerecord (>= 6.1, < 7.2)
addressable (2.8.1) addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0) public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0) aes_key_wrap (1.1.0)
@ -242,9 +269,12 @@ GEM
aliyun-sdk (0.8.0) aliyun-sdk (0.8.0)
nokogiri (~> 1.6) nokogiri (~> 1.6)
rest-client (~> 2.0) rest-client (~> 2.0)
amatch (0.4.1)
mize
tins (~> 1.0)
android_key_attestation (0.3.0) android_key_attestation (0.3.0)
apollo_upload_server (2.1.0) apollo_upload_server (2.1.5)
actionpack (>= 4.2) actionpack (>= 6.1.6)
graphql (>= 1.8) graphql (>= 1.8)
app_store_connect (0.29.0) app_store_connect (0.29.0)
activesupport (>= 6.0.0) activesupport (>= 6.0.0)
@ -265,24 +295,24 @@ GEM
execjs (> 0) execjs (> 0)
awesome_print (1.9.2) awesome_print (1.9.2)
awrence (1.2.1) awrence (1.2.1)
aws-eventstream (1.2.0) aws-eventstream (1.3.0)
aws-partitions (1.761.0) aws-partitions (1.761.0)
aws-sdk-cloudformation (1.41.0) aws-sdk-cloudformation (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-core (3.185.1) aws-sdk-core (3.190.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0) aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5) aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1) jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.64.0) aws-sdk-kms (1.64.0)
aws-sdk-core (~> 3, >= 3.165.0) aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.136.0) aws-sdk-s3 (1.141.0)
aws-sdk-core (~> 3, >= 3.181.0) aws-sdk-core (~> 3, >= 3.189.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6) aws-sigv4 (~> 1.8)
aws-sigv4 (1.6.0) aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
axe-core-api (4.6.0) axe-core-api (4.6.0)
dumb_delegator dumb_delegator
@ -322,11 +352,11 @@ GEM
bindata (2.4.11) bindata (2.4.11)
binding_of_caller (1.0.0) binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
bootsnap (1.16.0) bootsnap (1.17.0)
msgpack (~> 1.2) msgpack (~> 1.2)
browser (5.3.1) browser (5.3.1)
builder (3.2.4) builder (3.2.4)
bullet (7.1.1) bullet (7.1.2)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
uniform_notifier (~> 1.11) uniform_notifier (~> 1.11)
bundler-audit (0.9.1) bundler-audit (0.9.1)
@ -354,14 +384,15 @@ GEM
character_set (1.4.1) character_set (1.4.1)
sorted_set (~> 1.0) sorted_set (~> 1.0)
charlock_holmes (0.7.7) charlock_holmes (0.7.7)
chef-config (16.10.17) chef-config (18.3.0)
addressable addressable
chef-utils (= 16.10.17) chef-utils (= 18.3.0)
fuzzyurl fuzzyurl
mixlib-config (>= 2.2.12, < 4.0) mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0) mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2) tomlrb (~> 1.2)
chef-utils (16.10.17) chef-utils (18.3.0)
concurrent-ruby
chunky_png (1.4.0) chunky_png (1.4.0)
circuitbox (2.0.0) circuitbox (2.0.0)
citrus (3.0.2) citrus (3.0.2)
@ -411,9 +442,13 @@ GEM
danger danger
gitlab (~> 4.2, >= 4.2.0) gitlab (~> 4.2, >= 4.2.0)
dartsass (1.49.8) dartsass (1.49.8)
database_cleaner (1.7.0) database_cleaner-active_record (2.1.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
date (3.3.3) date (3.3.3)
dead_end (3.1.1) dead_end (3.1.1)
deb_version (1.0.2)
debug_inspector (1.1.0) debug_inspector (1.1.0)
deckar01-task_list (2.3.3) deckar01-task_list (2.3.3)
html-pipeline html-pipeline
@ -435,9 +470,9 @@ GEM
thor (>= 0.19, < 2) thor (>= 0.19, < 2)
descendants_tracker (0.0.4) descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1) thread_safe (~> 0.3, >= 0.3.1)
devfile (0.0.23.pre.alpha1) devfile (0.0.24.pre.alpha1)
device_detector (1.0.0) device_detector (1.0.0)
devise (4.8.1) devise (4.9.3)
bcrypt (~> 3.0) bcrypt (~> 3.0)
orm_adapter (~> 0.1) orm_adapter (~> 0.1)
railties (>= 4.1.0) railties (>= 4.1.0)
@ -450,9 +485,8 @@ GEM
railties (~> 7.0) railties (~> 7.0)
rotp (~> 6.0) rotp (~> 6.0)
diff-lcs (1.5.0) diff-lcs (1.5.0)
diff_match_patch (0.1.0)
diffy (3.4.2) diffy (3.4.2)
digest-crc (0.6.4) digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0) rake (>= 12.0.0, < 14.0.0)
discordrb-webhooks (3.4.2) discordrb-webhooks (3.4.2)
rest-client (>= 2.0.0) rest-client (>= 2.0.0)
@ -609,6 +643,7 @@ GEM
fog-core fog-core
nokogiri (>= 1.5.11, < 2.0.0) nokogiri (>= 1.5.11, < 2.0.0)
formatador (0.2.5) formatador (0.2.5)
forwardable (1.3.3)
fugit (1.8.1) fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7) et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4) raabro (~> 1.4)
@ -627,31 +662,29 @@ GEM
gemoji (3.0.1) gemoji (3.0.1)
get_process_mem (0.2.7) get_process_mem (0.2.7)
ffi (~> 1.0) ffi (~> 1.0)
gettext (3.3.6) gettext (3.4.9)
erubi
locale (>= 2.0.5) locale (>= 2.0.5)
prime
racc
text (>= 1.3.0) text (>= 1.3.0)
gettext_i18n_rails (1.11.0) gettext_i18n_rails (1.11.0)
fast_gettext (>= 0.9.0) fast_gettext (>= 0.9.0)
gettext_i18n_rails_js (1.3.0)
gettext (>= 3.0.2)
gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0)
rails (>= 3.2.0)
git (1.18.0) git (1.18.0)
addressable (~> 2.8) addressable (~> 2.8)
rchardet (~> 1.8) rchardet (~> 1.8)
gitaly (16.5.0.pre.rc1) gitaly (16.7.0.pre.rc1)
grpc (~> 1.0) grpc (~> 1.0)
gitlab (4.19.0) gitlab (4.19.0)
httparty (~> 0.20) httparty (~> 0.20)
terminal-table (>= 1.5.1) terminal-table (>= 1.5.1)
gitlab-chronic (0.10.5) gitlab-chronic (0.10.5)
numerizer (~> 0.2) numerizer (~> 0.2)
gitlab-dangerfiles (4.3.2) gitlab-dangerfiles (4.6.0)
danger (>= 9.3.0) danger (>= 9.3.0)
danger-gitlab (>= 8.0.0) danger-gitlab (>= 8.0.0)
rake (~> 13.0) rake (~> 13.0)
gitlab-experiment (0.8.0) gitlab-experiment (0.9.1)
activesupport (>= 3.0) activesupport (>= 3.0)
request_store (>= 1.0) request_store (>= 1.0)
gitlab-fog-azure-rm (1.8.0) gitlab-fog-azure-rm (1.8.0)
@ -669,14 +702,20 @@ GEM
pg_query (~> 4.2.3) pg_query (~> 4.2.3)
redis (> 3.0.0, < 6.0.0) redis (> 3.0.0, < 6.0.0)
gitlab-license (2.3.0) gitlab-license (2.3.0)
gitlab-mail_room (0.0.23) gitlab-mail_room (0.0.24)
jwt (>= 2.0) jwt (>= 2.0)
net-imap (>= 0.2.1) net-imap (>= 0.2.1)
oauth2 (>= 1.4.4, < 3) oauth2 (>= 1.4.4, < 3)
redis (>= 4, < 6)
redis-namespace (>= 1.8.2)
gitlab-markup (1.9.0) gitlab-markup (1.9.0)
gitlab-net-dns (0.9.2) gitlab-net-dns (0.9.2)
gitlab-styles (10.1.0) gitlab-sdk (0.2.3)
rubocop (~> 1.50.2) activesupport (>= 5.2.0)
rake (~> 13.0)
snowplow-tracker (~> 0.8.0)
gitlab-styles (11.0.0)
rubocop (~> 1.57.1)
rubocop-graphql (~> 0.18) rubocop-graphql (~> 0.18)
rubocop-performance (~> 1.15) rubocop-performance (~> 1.15)
rubocop-rails (~> 2.17) rubocop-rails (~> 2.17)
@ -688,8 +727,9 @@ GEM
omniauth (>= 1.3, < 3) omniauth (>= 1.3, < 3)
pyu-ruby-sasl (>= 0.0.3.3, < 0.1) pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
rubyntlm (~> 0.5) rubyntlm (~> 0.5)
gitlab_quality-test_tooling (1.3.0) gitlab_quality-test_tooling (1.9.0)
activesupport (>= 6.1, < 7.2) activesupport (>= 6.1, < 7.2)
amatch (~> 0.4.1)
gitlab (~> 4.19) gitlab (~> 4.19)
http (~> 5.0) http (~> 5.0)
nokogiri (~> 1.10) nokogiri (~> 1.10)
@ -716,7 +756,7 @@ GEM
google-apis-core (>= 0.9.1, < 2.a) google-apis-core (>= 0.9.1, < 2.a)
google-apis-container_v1beta1 (0.43.0) google-apis-container_v1beta1 (0.43.0)
google-apis-core (>= 0.9.1, < 2.a) google-apis-core (>= 0.9.1, < 2.a)
google-apis-core (0.10.0) google-apis-core (0.11.2)
addressable (~> 2.5, >= 2.5.1) addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a) googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a) httpclient (>= 2.8.1, < 3.a)
@ -739,8 +779,8 @@ GEM
google-apis-core (>= 0.9.1, < 2.a) google-apis-core (>= 0.9.1, < 2.a)
google-apis-sqladmin_v1beta4 (0.41.0) google-apis-sqladmin_v1beta4 (0.41.0)
google-apis-core (>= 0.9.1, < 2.a) google-apis-core (>= 0.9.1, < 2.a)
google-apis-storage_v1 (0.19.0) google-apis-storage_v1 (0.29.0)
google-apis-core (>= 0.9.0, < 2.a) google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.6.0) google-cloud-core (1.6.0)
google-cloud-env (~> 1.0) google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0) google-cloud-errors (~> 1.0)
@ -750,15 +790,15 @@ GEM
google-cloud-profiler-v2 (0.4.0) google-cloud-profiler-v2 (0.4.0)
gapic-common (>= 0.18.0, < 2.a) gapic-common (>= 0.18.0, < 2.a)
google-cloud-errors (~> 1.0) google-cloud-errors (~> 1.0)
google-cloud-storage (1.44.0) google-cloud-storage (1.45.0)
addressable (~> 2.8) addressable (~> 2.8)
digest-crc (~> 0.4) digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1) google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0) google-apis-storage_v1 (~> 0.29.0)
google-cloud-core (~> 1.6) google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a) googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0) mini_mime (~> 1.0)
google-protobuf (3.24.4) google-protobuf (3.25.1)
googleapis-common-protos (1.4.0) googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14) google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2) googleapis-common-protos-types (~> 1.2)
@ -839,11 +879,11 @@ GEM
haml (5.2.2) haml (5.2.2)
temple (>= 0.8.0) temple (>= 0.8.0)
tilt tilt
haml_lint (0.40.1) haml_lint (0.52.0)
haml (>= 4.0, < 5.3) haml (>= 4.0)
parallel (~> 1.10) parallel (~> 1.10)
rainbow rainbow
rubocop (>= 0.50.0) rubocop (>= 1.0)
sysexits (~> 1.1) sysexits (~> 1.1)
hamlit (2.15.0) hamlit (2.15.0)
temple (>= 0.8.2) temple (>= 0.8.2)
@ -934,7 +974,7 @@ GEM
activerecord activerecord
kaminari-core (= 1.2.2) kaminari-core (= 1.2.2)
kaminari-core (1.2.2) kaminari-core (1.2.2)
kas-grpc (0.2.0) kas-grpc (0.3.0)
grpc (~> 1.0) grpc (~> 1.0)
knapsack (1.21.1) knapsack (1.21.1)
rake rake
@ -947,9 +987,10 @@ GEM
jsonpath (~> 1.0) jsonpath (~> 1.0)
recursive-open-struct (~> 1.1, >= 1.1.1) recursive-open-struct (~> 1.1, >= 1.1.1)
rest-client (~> 2.0) rest-client (~> 2.0)
language_server-protocol (3.17.0.3)
launchy (2.5.0) launchy (2.5.0)
addressable (~> 2.7) addressable (~> 2.7)
lefthook (1.5.2) lefthook (1.5.5)
letter_opener (1.7.0) letter_opener (1.7.0)
launchy (~> 2.2) launchy (~> 2.2)
letter_opener_web (2.0.0) letter_opener_web (2.0.0)
@ -957,7 +998,7 @@ GEM
letter_opener (~> 1.7) letter_opener (~> 1.7)
railties (>= 5.2) railties (>= 5.2)
rexml rexml
libyajl2 (1.2.0) libyajl2 (2.1.0)
license_finder (7.0.1) license_finder (7.0.1)
bundler bundler
rubyzip (>= 1, < 3) rubyzip (>= 1, < 3)
@ -984,10 +1025,10 @@ GEM
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.21.4) loofah (2.22.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.12.0)
lookbook (2.0.1) lookbook (2.2.0)
activemodel activemodel
css_parser css_parser
htmlbeautifier (~> 1.3) htmlbeautifier (~> 1.3)
@ -1020,14 +1061,16 @@ GEM
mini_histogram (0.3.1) mini_histogram (0.3.1)
mini_magick (4.10.1) mini_magick (4.10.1)
mini_mime (1.1.2) mini_mime (1.1.2)
mini_portile2 (2.8.4) mini_portile2 (2.8.5)
minitest (5.11.3) minitest (5.11.3)
mixlib-cli (2.1.8) mixlib-cli (2.1.8)
mixlib-config (3.0.9) mixlib-config (3.0.27)
tomlrb tomlrb
mixlib-log (3.0.9) mixlib-log (3.0.9)
mixlib-shellout (3.2.5) mixlib-shellout (3.2.7)
chef-utils chef-utils
mize (0.4.1)
protocol (~> 2.0)
msgpack (1.5.4) msgpack (1.5.4)
multi_json (1.14.1) multi_json (1.14.1)
multi_xml (0.6.0) multi_xml (0.6.0)
@ -1055,15 +1098,15 @@ GEM
net-protocol net-protocol
net-protocol (0.1.3) net-protocol (0.1.3)
timeout timeout
net-scp (3.0.0) net-scp (4.0.0)
net-ssh (>= 2.6.5, < 7.0.0) net-ssh (>= 2.6.5, < 8.0.0)
net-smtp (0.3.3) net-smtp (0.3.3)
net-protocol net-protocol
net-ssh (6.0.0) net-ssh (7.2.0)
netrc (0.11.0) netrc (0.11.0)
nio4r (2.5.8) nio4r (2.5.8)
no_proxy_fix (0.1.2) no_proxy_fix (0.1.2)
nokogiri (1.15.4) nokogiri (1.15.5)
mini_portile2 (~> 2.8.2) mini_portile2 (~> 2.8.2)
racc (~> 1.4) racc (~> 1.4)
notiffany (0.1.3) notiffany (0.1.3)
@ -1081,9 +1124,9 @@ GEM
octokit (6.1.1) octokit (6.1.1)
faraday (>= 1, < 3) faraday (>= 1, < 3)
sawyer (~> 0.9) sawyer (~> 0.9)
ohai (17.9.0) ohai (18.1.3)
chef-config (>= 14.12, < 18) chef-config (>= 14.12, < 19)
chef-utils (>= 16.0, < 18) chef-utils (>= 16.0, < 19)
ffi (~> 1.9) ffi (~> 1.9)
ffi-yajl (~> 2.2) ffi-yajl (~> 2.2)
ipaddress ipaddress
@ -1198,10 +1241,8 @@ GEM
pg (1.5.4) pg (1.5.4)
pg_query (4.2.3) pg_query (4.2.3)
google-protobuf (>= 3.22.3) google-protobuf (>= 3.22.3)
plist (3.6.0) plist (3.7.0)
png_quantizator (0.2.1) png_quantizator (0.2.1)
po_to_json (1.0.1)
json (>= 1.6.0)
premailer (1.16.0) premailer (1.16.0)
addressable addressable
css_parser (>= 1.6.0) css_parser (>= 1.6.0)
@ -1209,12 +1250,18 @@ GEM
premailer-rails (1.10.3) premailer-rails (1.10.3)
actionmailer (>= 3) actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9) premailer (~> 1.7, >= 1.7.9)
prime (0.1.2)
forwardable
singleton
prism (0.18.0)
proc_to_ast (0.1.0) proc_to_ast (0.1.0)
coderay coderay
parser parser
unparser unparser
prometheus-client-mmap (0.28.1) prometheus-client-mmap (1.0.2)
rb_sys (~> 0.9) rb_sys (~> 0.9)
protocol (2.0.0)
ruby_parser (~> 3.0)
pry (0.14.2) pry (0.14.2)
coderay (~> 1.1) coderay (~> 1.1)
method_source (~> 1.0) method_source (~> 1.0)
@ -1291,15 +1338,15 @@ GEM
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rb_sys (0.9.78) rb_sys (0.9.83)
rbtrace (0.4.14) rbtrace (0.4.14)
ffi (>= 1.0.6) ffi (>= 1.0.6)
msgpack (>= 0.4.3) msgpack (>= 0.4.3)
optimist (>= 3.0.0) optimist (>= 3.0.0)
rbtree (0.4.6) rbtree (0.4.6)
rchardet (1.8.0) rchardet (1.8.0)
re2 (2.1.3) re2 (2.5.0)
mini_portile2 (~> 2.8.4) mini_portile2 (~> 2.8.5)
recaptcha (5.12.3) recaptcha (5.12.3)
json json
recursive-open-struct (1.1.3) recursive-open-struct (1.1.3)
@ -1309,7 +1356,7 @@ GEM
actionpack (>= 5, < 8) actionpack (>= 5, < 8)
redis-rack (>= 2.1.0, < 3) redis-rack (>= 2.1.0, < 3)
redis-store (>= 1.1.0, < 2) redis-store (>= 1.1.0, < 2)
redis-namespace (1.9.0) redis-namespace (1.10.0)
redis (>= 4) redis (>= 4)
redis-rack (2.1.4) redis-rack (2.1.4)
rack (>= 2.0.8, < 3) rack (>= 2.0.8, < 3)
@ -1338,7 +1385,7 @@ GEM
rexml (3.2.6) rexml (3.2.6)
rinku (2.0.0) rinku (2.0.0)
rotp (6.3.0) rotp (6.3.0)
rouge (4.1.3) rouge (4.2.0)
rqrcode (2.2.0) rqrcode (2.2.0)
chunky_png (~> 1.0) chunky_png (~> 1.0)
rqrcode_core (~> 1.0) rqrcode_core (~> 1.0)
@ -1371,7 +1418,7 @@ GEM
rspec-parameterized-table_syntax (1.0.0) rspec-parameterized-table_syntax (1.0.0)
binding_of_caller binding_of_caller
rspec-parameterized-core (< 2) rspec-parameterized-core (< 2)
rspec-rails (6.0.3) rspec-rails (6.1.0)
actionpack (>= 6.1) actionpack (>= 6.1)
activesupport (>= 6.1) activesupport (>= 6.1)
railties (>= 6.1) railties (>= 6.1)
@ -1389,38 +1436,51 @@ GEM
pg pg
rails rails
sqlite3 sqlite3
rubocop (1.50.2) rubocop (1.57.2)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 3.2.0.0) parser (>= 3.2.2.4)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0) regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0) rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.0, < 2.0) rubocop-ast (>= 1.28.1, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0) unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0) rubocop-ast (1.29.0)
parser (>= 3.2.1.0) parser (>= 3.2.1.0)
rubocop-capybara (2.18.0) rubocop-capybara (2.19.0)
rubocop (~> 1.41) rubocop (~> 1.41)
rubocop-factory_bot (2.23.1) rubocop-factory_bot (2.24.0)
rubocop (~> 1.33) rubocop (~> 1.33)
rubocop-graphql (0.19.0) rubocop-graphql (0.19.0)
rubocop (>= 0.87, < 2) rubocop (>= 0.87, < 2)
rubocop-performance (1.18.0) rubocop-performance (1.19.1)
rubocop (>= 1.7.0, < 2.0) rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0) rubocop-ast (>= 0.4.0)
rubocop-rails (2.20.2) rubocop-rails (2.22.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0) rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.22.0) rubocop-rspec (2.25.0)
rubocop (~> 1.33) rubocop (~> 1.40)
rubocop-capybara (~> 2.17) rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22) rubocop-factory_bot (~> 2.22)
ruby-fogbugz (0.3.0) ruby-fogbugz (0.3.0)
crack (~> 0.4) crack (~> 0.4)
multipart-post (~> 2.0) multipart-post (~> 2.0)
ruby-lsp (0.13.1)
language_server-protocol (~> 3.17.0)
prism (>= 0.18.0, < 0.19)
sorbet-runtime (>= 0.5.5685)
ruby-lsp-rails (0.2.8)
actionpack (>= 6.0)
activerecord (>= 6.0)
railties (>= 6.0)
ruby-lsp (>= 0.13.0, < 0.14.0)
sorbet-runtime (>= 0.5.9897)
ruby-lsp-rspec (0.1.8)
ruby-lsp (~> 0.13.0)
ruby-magic (0.6.0) ruby-magic (0.6.0)
mini_portile2 (~> 2.8) mini_portile2 (~> 2.8)
ruby-openai (3.7.0) ruby-openai (3.7.0)
@ -1431,6 +1491,8 @@ GEM
rexml rexml
ruby-statistics (3.0.0) ruby-statistics (3.0.0)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
ruby_parser (3.20.3)
sexp_processor (~> 4.16)
rubyntlm (0.6.3) rubyntlm (0.6.3)
rubypants (0.2.0) rubypants (0.2.0)
rubyzip (2.3.2) rubyzip (2.3.2)
@ -1456,35 +1518,38 @@ GEM
seed-fu (2.3.7) seed-fu (2.3.7)
activerecord (>= 3.1) activerecord (>= 3.1)
activesupport (>= 3.1) activesupport (>= 3.1)
selenium-webdriver (4.14.0) selenium-webdriver (4.16.0)
rexml (~> 3.2, >= 3.2.5) rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0) rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0) websocket (~> 1.0)
semver_dialects (1.2.1) semver_dialects (1.5.0)
deb_version (~> 1.0.1)
pastel (~> 0.8.0) pastel (~> 0.8.0)
thor (~> 1.2.0) thor (~> 1.3)
tty-command (~> 0.10.1) tty-command (~> 0.10.1)
sentry-rails (5.8.0) sentry-rails (5.10.0)
railties (>= 5.0) railties (>= 5.0)
sentry-ruby (~> 5.8.0) sentry-ruby (~> 5.10.0)
sentry-raven (3.1.2) sentry-raven (3.1.2)
faraday (>= 1.0) faraday (>= 1.0)
sentry-ruby (5.8.0) sentry-ruby (5.10.0)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
sentry-sidekiq (5.8.0) sentry-sidekiq (5.10.0)
sentry-ruby (~> 5.8.0) sentry-ruby (~> 5.10.0)
sidekiq (>= 3.0) sidekiq (>= 3.0)
set (1.0.2) set (1.0.2)
sexp_processor (4.17.0)
shellany (0.0.1) shellany (0.0.1)
shoulda-matchers (5.1.0) shoulda-matchers (5.1.0)
activesupport (>= 5.2.0) activesupport (>= 5.2.0)
sidekiq (6.5.7) sidekiq (6.5.12)
connection_pool (>= 2.2.5) connection_pool (>= 2.2.5, < 3)
rack (~> 2.0) rack (~> 2.0)
redis (>= 4.5.0, < 5) redis (>= 4.5.0, < 5)
sidekiq-cron (1.8.0) sidekiq-cron (1.12.0)
fugit (~> 1) fugit (~> 1.8)
sidekiq (>= 4.2.1) globalid (>= 1.0.1)
sidekiq (>= 6)
sigdump (0.2.4) sigdump (0.2.4)
signet (0.17.0) signet (0.17.0)
addressable (~> 2.8) addressable (~> 2.8)
@ -1502,6 +1567,7 @@ GEM
simplecov-html (0.12.3) simplecov-html (0.12.3)
simplecov-lcov (0.8.0) simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4) simplecov_json_formatter (0.1.4)
singleton (0.1.1)
sixarm_ruby_unaccent (1.2.0) sixarm_ruby_unaccent (1.2.0)
slack-messenger (2.3.4) slack-messenger (2.3.4)
snaky_hash (2.0.0) snaky_hash (2.0.0)
@ -1523,6 +1589,7 @@ GEM
thor (~> 1.0) thor (~> 1.0)
tilt (~> 2.0) tilt (~> 2.0)
yard (~> 0.9, >= 0.9.24) yard (~> 0.9, >= 0.9.24)
sorbet-runtime (0.5.11144)
sorted_set (1.0.3) sorted_set (1.0.3)
rbtree rbtree
set (~> 1.0) set (~> 1.0)
@ -1565,7 +1632,7 @@ GEM
ffi (~> 1.1) ffi (~> 1.1)
sysexits (1.2.0) sysexits (1.2.0)
table_print (1.5.7) table_print (1.5.7)
tanuki_emoji (0.7.0) tanuki_emoji (0.9.0)
telesign (2.2.4) telesign (2.2.4)
net-http-persistent (>= 3.0.0, < 5.0) net-http-persistent (>= 3.0.0, < 5.0)
telesignenterprise (2.2.2) telesignenterprise (2.2.2)
@ -1577,11 +1644,11 @@ GEM
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
terser (1.0.2) terser (1.0.2)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
test-prof (1.2.3) test-prof (1.3.1)
test_file_finder (0.1.4) test_file_finder (0.2.1)
faraday (~> 1.0) faraday (>= 1.0, < 3.0, != 2.0.0)
text (1.3.1) text (1.3.1)
thor (1.2.2) thor (1.3.0)
thread_safe (0.3.6) thread_safe (0.3.6)
thrift (0.16.0) thrift (0.16.0)
tilt (2.0.11) tilt (2.0.11)
@ -1597,13 +1664,13 @@ GEM
openssl (> 2.0) openssl (> 2.0)
openssl-signature_algorithm (~> 1.0) openssl-signature_algorithm (~> 1.0)
trailblazer-option (0.1.2) trailblazer-option (0.1.2)
train-core (3.4.9) train-core (3.10.8)
addressable (~> 2.5) addressable (~> 2.5)
ffi (!= 1.13.0) ffi (!= 1.13.0)
json (>= 1.8, < 3.0) json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0) mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0) net-scp (>= 1.2, < 5.0)
net-ssh (>= 2.9, < 7.0) net-ssh (>= 2.9, < 8.0)
truncato (0.7.12) truncato (0.7.12)
htmlentities (~> 4.3.1) htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0) nokogiri (>= 1.7.0, <= 2.0)
@ -1662,7 +1729,7 @@ GEM
activesupport (>= 3.0) activesupport (>= 3.0)
version_gem (1.1.0) version_gem (1.1.0)
version_sorter (2.3.0) version_sorter (2.3.0)
view_component (3.6.0) view_component (3.8.0)
activesupport (>= 5.2.0, < 8.0) activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
method_source (~> 1.0) method_source (~> 1.0)
@ -1670,10 +1737,10 @@ GEM
axiom-types (~> 0.1) axiom-types (~> 0.1)
coercible (~> 1.0) coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3) descendants_tracker (~> 0.0, >= 0.0.3)
vite_rails (3.0.15) vite_rails (3.0.17)
railties (>= 5.1, < 8) railties (>= 5.1, < 8)
vite_ruby (~> 3.0, >= 3.2.2) vite_ruby (~> 3.0, >= 3.2.2)
vite_ruby (3.3.4) vite_ruby (3.5.0)
dry-cli (>= 0.7, < 2) dry-cli (>= 0.7, < 2)
rack-proxy (~> 0.6, >= 0.6.1) rack-proxy (~> 0.6, >= 0.6.1)
zeitwerk (~> 2.2) zeitwerk (~> 2.2)
@ -1708,7 +1775,7 @@ GEM
rinku rinku
wisper (2.0.1) wisper (2.0.1)
with_env (1.1.0) with_env (1.1.0)
wmi-lite (1.0.5) wmi-lite (1.0.7)
xml-simple (1.1.9) xml-simple (1.1.9)
rexml rexml
xpath (3.2.0) xpath (3.2.0)
@ -1722,14 +1789,14 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
CFPropertyList (~> 3.0.0) CFPropertyList (~> 3.0.0)
RedCloth (~> 4.3.2) RedCloth (~> 4.3.3)
acme-client (~> 2.0) acme-client (~> 2.0)
activerecord-explain-analyze (~> 0.1) activerecord-explain-analyze (~> 0.1)
activerecord-gitlab! activerecord-gitlab!
acts-as-taggable-on (~> 9.0) acts-as-taggable-on (~> 10.0)
addressable (~> 2.8) addressable (~> 2.8)
akismet (~> 3.0) akismet (~> 3.0)
apollo_upload_server (~> 2.1.0) apollo_upload_server (~> 2.1.5)
app_store_connect app_store_connect
arr-pm (~> 0.0.12) arr-pm (~> 0.0.12)
asciidoctor (~> 2.0.18) asciidoctor (~> 2.0.18)
@ -1741,8 +1808,8 @@ DEPENDENCIES
autoprefixer-rails (= 10.2.5.1) autoprefixer-rails (= 10.2.5.1)
awesome_print awesome_print
aws-sdk-cloudformation (~> 1) aws-sdk-cloudformation (~> 1)
aws-sdk-core (~> 3.185.1) aws-sdk-core (~> 3.190.0)
aws-sdk-s3 (~> 1.136.0) aws-sdk-s3 (~> 1.141.0)
axe-core-rspec axe-core-rspec
babosa (~> 2.0) babosa (~> 2.0)
base32 (~> 0.3.0) base32 (~> 0.3.0)
@ -1751,9 +1818,9 @@ DEPENDENCIES
benchmark-ips (~> 2.11.0) benchmark-ips (~> 2.11.0)
benchmark-memory (~> 0.1) benchmark-memory (~> 0.1)
better_errors (~> 2.10.1) better_errors (~> 2.10.1)
bootsnap (~> 1.16.0) bootsnap (~> 1.17.0)
browser (~> 5.3.1) browser (~> 5.3.1)
bullet (~> 7.1.1) bullet (~> 7.1.2)
bundler-audit (~> 0.9.1) bundler-audit (~> 0.9.1)
bundler-checksum (~> 0.1.0)! bundler-checksum (~> 0.1.0)!
capybara (~> 3.39, >= 3.39.2) capybara (~> 3.39, >= 3.39.2)
@ -1771,17 +1838,17 @@ DEPENDENCIES
crystalball (~> 0.7.0) crystalball (~> 0.7.0)
csv_builder! csv_builder!
cvss-suite (~> 3.0.1) cvss-suite (~> 3.0.1)
database_cleaner (~> 1.7.0) database_cleaner-active_record (~> 2.1.0)
deckar01-task_list (= 2.3.3) deckar01-task_list (= 2.3.3)
declarative_policy (~> 1.1.0) declarative_policy (~> 1.1.0)
deprecation_toolkit (~> 1.5.1) deprecation_toolkit (~> 1.5.1)
derailed_benchmarks derailed_benchmarks
devfile (~> 0.0.23.pre.alpha1) devfile (~> 0.0.24.pre.alpha1)
device_detector device_detector
devise (~> 4.8.1) devise (~> 4.9.3)
devise-pbkdf2-encryptable (~> 0.0.0)! devise-pbkdf2-encryptable (~> 0.0.0)!
devise-two-factor (~> 4.1.1) devise-two-factor (~> 4.1.1)
diff_match_patch (~> 0.1.0) diff_match_patch (~> 0.1.0)!
diffy (~> 3.4) diffy (~> 3.4)
discordrb-webhooks (~> 3.4) discordrb-webhooks (~> 3.4)
doorkeeper (~> 5.6, >= 5.6.6) doorkeeper (~> 5.6, >= 5.6.6)
@ -1811,27 +1878,31 @@ DEPENDENCIES
fuubar (~> 2.2.0) fuubar (~> 2.2.0)
gettext (~> 3.3) gettext (~> 3.3)
gettext_i18n_rails (~> 1.11.0) gettext_i18n_rails (~> 1.11.0)
gettext_i18n_rails_js (~> 1.3) gitaly (~> 16.7.0.pre.rc1)
gitaly (~> 16.5.0.pre.rc1) gitlab-backup-cli!
gitlab-chronic (~> 0.10.5) gitlab-chronic (~> 0.10.5)
gitlab-dangerfiles (~> 4.3.2) gitlab-dangerfiles (~> 4.6.0)
gitlab-experiment (~> 0.8.0) gitlab-experiment (~> 0.9.1)
gitlab-fog-azure-rm (~> 1.8.0) gitlab-fog-azure-rm (~> 1.8.0)
gitlab-housekeeper!
gitlab-http! gitlab-http!
gitlab-labkit (~> 0.34.0) gitlab-labkit (~> 0.34.0)
gitlab-license (~> 2.3) gitlab-license (~> 2.3)
gitlab-mail_room (~> 0.0.23) gitlab-mail_room (~> 0.0.24)
gitlab-markup (~> 1.9.0) gitlab-markup (~> 1.9.0)
gitlab-net-dns (~> 0.9.2) gitlab-net-dns (~> 0.9.2)
gitlab-rspec! gitlab-rspec!
gitlab-rspec_flaky!
gitlab-safe_request_store! gitlab-safe_request_store!
gitlab-schema-validation! gitlab-schema-validation!
gitlab-sdk
gitlab-secret_detection!
gitlab-sidekiq-fetcher! gitlab-sidekiq-fetcher!
gitlab-styles (~> 10.1.0) gitlab-styles (~> 11.0.0)
gitlab-utils! gitlab-utils!
gitlab_chronic_duration (~> 0.12) gitlab_chronic_duration (~> 0.12)
gitlab_omniauth-ldap (~> 2.2.0) gitlab_omniauth-ldap (~> 2.2.0)
gitlab_quality-test_tooling (~> 1.3.0) gitlab_quality-test_tooling (~> 1.9.0)
gon (~> 6.4.0) gon (~> 6.4.0)
google-apis-androidpublisher_v3 (~> 0.34.0) google-apis-androidpublisher_v3 (~> 0.34.0)
google-apis-cloudbilling_v1 (~> 0.21.0) google-apis-cloudbilling_v1 (~> 0.21.0)
@ -1839,12 +1910,13 @@ DEPENDENCIES
google-apis-compute_v1 (~> 0.57.0) google-apis-compute_v1 (~> 0.57.0)
google-apis-container_v1 (~> 0.43.0) google-apis-container_v1 (~> 0.43.0)
google-apis-container_v1beta1 (~> 0.43.0) google-apis-container_v1beta1 (~> 0.43.0)
google-apis-core (~> 0.10.0) google-apis-core (~> 0.11.0, >= 0.11.1)
google-apis-iam_v1 (~> 0.36.0) google-apis-iam_v1 (~> 0.36.0)
google-apis-serviceusage_v1 (~> 0.28.0) google-apis-serviceusage_v1 (~> 0.28.0)
google-apis-sqladmin_v1beta4 (~> 0.41.0) google-apis-sqladmin_v1beta4 (~> 0.41.0)
google-cloud-storage (~> 1.44.0) google-apis-storage_v1 (~> 0.29)
google-protobuf (~> 3.24, >= 3.24.4) google-cloud-storage (~> 1.45.0)
google-protobuf (~> 3.25, >= 3.25.1)
gpgme (~> 2.0.23) gpgme (~> 2.0.23)
grape (~> 1.7.1) grape (~> 1.7.1)
grape-entity (~> 0.10.0) grape-entity (~> 0.10.0)
@ -1860,7 +1932,7 @@ DEPENDENCIES
grpc (~> 1.58.0) grpc (~> 1.58.0)
gssapi (~> 1.3.1) gssapi (~> 1.3.1)
guard-rspec guard-rspec
haml_lint (~> 0.40.0) haml_lint (~> 0.52)
hamlit (~> 2.15.0) hamlit (~> 2.15.0)
hashie (~> 5.0.0) hashie (~> 5.0.0)
health_check (~> 3.0) health_check (~> 3.0)
@ -1880,19 +1952,19 @@ DEPENDENCIES
jsonb_accessor (~> 1.3.10) jsonb_accessor (~> 1.3.10)
jwt (~> 2.5) jwt (~> 2.5)
kaminari (~> 1.2.2) kaminari (~> 1.2.2)
kas-grpc (~> 0.2.0) kas-grpc (~> 0.3.0)
knapsack (~> 1.21.1) knapsack (~> 1.21.1)
kramdown (~> 2.3.1) kramdown (~> 2.3.1)
kubeclient (~> 4.11.0) kubeclient (~> 4.11.0)
lefthook (~> 1.5.2) lefthook (~> 1.5.5)
letter_opener_web (~> 2.0.0) letter_opener_web (~> 2.0.0)
license_finder (~> 7.0) license_finder (~> 7.0)
licensee (~> 9.16) licensee (~> 9.16)
listen (~> 3.7) listen (~> 3.7)
lockbox (~> 1.3.0) lockbox (~> 1.3.0)
lograge (~> 0.5) lograge (~> 0.5)
loofah (~> 2.21.4) loofah (~> 2.22.0)
lookbook (~> 2.0, >= 2.0.1) lookbook (~> 2.2)
lru_redux lru_redux
mail (= 2.8.1) mail (= 2.8.1)
mail-smtp_pool (~> 0.1.0)! mail-smtp_pool (~> 0.1.0)!
@ -1907,10 +1979,10 @@ DEPENDENCIES
net-ldap (~> 0.17.1) net-ldap (~> 0.17.1)
net-ntp net-ntp
net-protocol (~> 0.1.3) net-protocol (~> 0.1.3)
nokogiri (~> 1.15, >= 1.15.4) nokogiri (~> 1.15, >= 1.15.5)
oauth2 (~> 2.0) oauth2 (~> 2.0)
octokit (~> 6.0) octokit (~> 6.0)
ohai (~> 17.9) ohai (~> 18.1)
oj (~> 3.13.21) oj (~> 3.13.21)
oj-introspect (~> 0.7) oj-introspect (~> 0.7)
omniauth (~> 2.1.0) omniauth (~> 2.1.0)
@ -1934,6 +2006,7 @@ DEPENDENCIES
openid_connect (= 1.3.0) openid_connect (= 1.3.0)
openssl (~> 3.0) openssl (~> 3.0)
org-ruby (~> 0.9.12) org-ruby (~> 0.9.12)
os (~> 1.1)
pact (~> 1.63) pact (~> 1.63)
parallel (~> 1.19) parallel (~> 1.19)
parser (~> 3.2, >= 3.2.2.4) parser (~> 3.2, >= 3.2.2.4)
@ -1943,7 +2016,7 @@ DEPENDENCIES
pg_query (~> 4.2.3) pg_query (~> 4.2.3)
png_quantizator (~> 0.2.1) png_quantizator (~> 0.2.1)
premailer-rails (~> 1.10.3) premailer-rails (~> 1.10.3)
prometheus-client-mmap (~> 0.28, >= 0.28.1) prometheus-client-mmap (~> 1.0, >= 1.0.2)
pry-byebug pry-byebug
pry-rails (~> 0.3.9) pry-rails (~> 0.3.9)
pry-shell (~> 0.6.4) pry-shell (~> 0.6.4)
@ -1959,26 +2032,28 @@ DEPENDENCIES
rails-i18n (~> 7.0) rails-i18n (~> 7.0)
rainbow (~> 3.0) rainbow (~> 3.0)
rbtrace (~> 0.4) rbtrace (~> 0.4)
re2 (= 2.1.3) re2 (= 2.5.0)
recaptcha (~> 5.12) recaptcha (~> 5.12)
redis (~> 4.8.0) redis (~> 4.8.0)
redis-actionpack (~> 5.3.0) redis-actionpack (~> 5.3.0)
redis-namespace (~> 1.9.0) redis-namespace (~> 1.10.0)
request_store (~> 1.5.1) request_store (~> 1.5.1)
responders (~> 3.0) responders (~> 3.0)
retriable (~> 3.1.2) retriable (~> 3.1.2)
rexml (~> 3.2.6) rexml (~> 3.2.6)
rouge (~> 4.1.3) rouge (~> 4.2.0)
rqrcode (~> 2.0) rqrcode (~> 2.0)
rspec-benchmark (~> 0.6.0) rspec-benchmark (~> 0.6.0)
rspec-parameterized (~> 1.0) rspec-parameterized (~> 1.0)
rspec-rails (~> 6.0.3) rspec-rails (~> 6.1.0)
rspec-retry (~> 0.6.2) rspec-retry (~> 0.6.2)
rspec_flaky!
rspec_junit_formatter rspec_junit_formatter
rspec_profiling (~> 0.0.6) rspec_profiling (~> 0.0.6)
rubocop rubocop
ruby-fogbugz (~> 0.3.0) ruby-fogbugz (~> 0.3.0)
ruby-lsp (~> 0.13.1)
ruby-lsp-rails (~> 0.2.8)
ruby-lsp-rspec (~> 0.1.8)
ruby-magic (~> 0.6) ruby-magic (~> 0.6)
ruby-openai (~> 3.7) ruby-openai (~> 3.7)
ruby-progressbar (~> 1.10) ruby-progressbar (~> 1.10)
@ -1989,15 +2064,15 @@ DEPENDENCIES
sassc-rails (~> 2.1.0) sassc-rails (~> 2.1.0)
sd_notify (~> 0.1.0) sd_notify (~> 0.1.0)
seed-fu (~> 2.3.7) seed-fu (~> 2.3.7)
selenium-webdriver (~> 4.14) selenium-webdriver (~> 4.16)
semver_dialects (~> 1.2.1) semver_dialects (~> 1.5)
sentry-rails (~> 5.8.0) sentry-rails (~> 5.10.0)
sentry-raven (~> 3.1) sentry-raven (~> 3.1)
sentry-ruby (~> 5.8.0) sentry-ruby (~> 5.10.0)
sentry-sidekiq (~> 5.8.0) sentry-sidekiq (~> 5.10.0)
shoulda-matchers (~> 5.1.0) shoulda-matchers (~> 5.1.0)
sidekiq (~> 6.5.7) sidekiq (~> 6.5.10)
sidekiq-cron (~> 1.8.0) sidekiq-cron (~> 1.12.0)
sigdump (~> 0.2.4) sigdump (~> 0.2.4)
simple_po_parser (~> 1.1.6) simple_po_parser (~> 1.1.6)
simplecov (~> 0.21) simplecov (~> 0.21)
@ -2015,11 +2090,11 @@ DEPENDENCIES
stackprof (~> 0.2.25) stackprof (~> 0.2.25)
state_machines-activerecord (~> 0.8.0) state_machines-activerecord (~> 0.8.0)
sys-filesystem (~> 1.4.3) sys-filesystem (~> 1.4.3)
tanuki_emoji (~> 0.7) tanuki_emoji (~> 0.9)
telesignenterprise (~> 2.2) telesignenterprise (~> 2.2)
terser (= 1.0.2) terser (= 1.0.2)
test-prof (~> 1.2.3) test-prof (~> 1.3.1)
test_file_finder (~> 0.1.3) test_file_finder (~> 0.2.1)
thrift (>= 0.16.0) thrift (>= 0.16.0)
timfel-krb5-auth (~> 0.8) timfel-krb5-auth (~> 0.8)
toml-rb (~> 2.2.0) toml-rb (~> 2.2.0)
@ -2030,8 +2105,9 @@ DEPENDENCIES
valid_email (~> 0.1) valid_email (~> 0.1)
validates_hostname (~> 1.0.13) validates_hostname (~> 1.0.13)
version_sorter (~> 2.3) version_sorter (~> 2.3)
view_component (~> 3.6.0) view_component (~> 3.8.0)
vite_rails vite_rails (~> 3.0.17)
vite_ruby (~> 3.5.0)
vmstat (~> 2.3.0) vmstat (~> 2.3.0)
warning (~> 1.3.0) warning (~> 1.3.0)
webauthn (~> 3.0) webauthn (~> 3.0)
@ -2041,4 +2117,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.3) yajl-ruby (~> 1.4.3)
BUNDLED WITH BUNDLED WITH
2.4.20 2.4.22

View File

@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A FOSS Git multiplatform client based on Compose and JGit"; description = "A FOSS Git multiplatform client based on Compose and JGit";
homepage = "https://gitnuro.jetpackduba.com"; homepage = "https://gitnuro.com/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ zendo ]; maintainers = with maintainers; [ zendo ];

View File

@ -25,6 +25,7 @@
, pugixml , pugixml
, qtbase , qtbase
, qtmultimedia , qtmultimedia
, qtwayland
, utf8cpp , utf8cpp
, xdg-utils , xdg-utils
, zlib , zlib
@ -90,6 +91,7 @@ stdenv.mkDerivation rec {
zlib zlib
] ]
++ optionals withGUI [ cmark ] ++ optionals withGUI [ cmark ]
++ optionals stdenv.isLinux [ qtwayland ]
++ optionals stdenv.isDarwin [ libiconv ]; ++ optionals stdenv.isDarwin [ libiconv ];
# autoupdate is not needed but it silences a ton of pointless warnings # autoupdate is not needed but it silences a ton of pointless warnings

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "docker-compose"; pname = "docker-compose";
version = "2.23.3"; version = "2.24.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "docker"; owner = "docker";
repo = "compose"; repo = "compose";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Rp13xK7pRyjHaDclAfL+yzNf4ppOy9S+XFbydj4TDL4="; hash = "sha256-6wa4kIl65z3kk+wzDX+WhS50J+e0AZ+W8A++bdnRc2M=";
}; };
postPatch = '' postPatch = ''
@ -16,7 +16,7 @@ buildGoModule rec {
rm -rf e2e/ rm -rf e2e/
''; '';
vendorHash = "sha256-iKBMd4e1oVNdKuk08tYPexQqs9JLofhdf4yEP1s97EQ="; vendorHash = "sha256-03jlomVb3jS+SkmIxRtPsaMx2VKLYX/Lp9JH/mlJvK4=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ]; ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];

View File

@ -116,6 +116,7 @@ stdenv.mkDerivation rec {
description = "NVIDIA container runtime library"; description = "NVIDIA container runtime library";
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "nvidia-container-cli";
maintainers = with maintainers; [ cpcloud ]; maintainers = with maintainers; [ cpcloud ];
}; };
} }

View File

@ -5,10 +5,16 @@
, buildGoModule , buildGoModule
, linkFarm , linkFarm
, writeShellScript , writeShellScript
, formats
, containerRuntimePath , containerRuntimePath
, configTemplate , configTemplate
, configTemplatePath ? null
, libnvidia-container , libnvidia-container
}: }:
assert configTemplate != null -> (lib.isAttrs configTemplate && configTemplatePath == null);
assert configTemplatePath != null -> (lib.isStringLike configTemplatePath && configTemplate == null);
let let
isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [ isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [
{ {
@ -23,6 +29,8 @@ let
echo >&2 "$(tput setaf 3)warning: \$XDG_CONFIG_HOME=$XDG_CONFIG_HOME$(tput sgr 0)" echo >&2 "$(tput setaf 3)warning: \$XDG_CONFIG_HOME=$XDG_CONFIG_HOME$(tput sgr 0)"
fi fi
''; '';
configToml = if configTemplatePath != null then configTemplatePath else (formats.toml { }).generate "config.toml" configTemplate;
in in
buildGoModule rec { buildGoModule rec {
pname = "container-toolkit/container-toolkit"; pname = "container-toolkit/container-toolkit";
@ -47,6 +55,14 @@ buildGoModule rec {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
preConfigure = ''
# Ensure the runc symlink isn't broken:
if ! readlink --quiet --canonicalize-existing "${isolatedContainerRuntimePath}/runc" ; then
echo "${isolatedContainerRuntimePath}/runc: broken symlink" >&2
exit 1
fi
'';
checkFlags = checkFlags =
let let
skippedTests = [ skippedTests = [
@ -74,7 +90,7 @@ buildGoModule rec {
--prefix PATH : ${isolatedContainerRuntimePath}:${libnvidia-container}/bin \ --prefix PATH : ${isolatedContainerRuntimePath}:${libnvidia-container}/bin \
--set-default XDG_CONFIG_HOME $out/etc --set-default XDG_CONFIG_HOME $out/etc
cp ${configTemplate} $out/etc/nvidia-container-runtime/config.toml cp ${configToml} $out/etc/nvidia-container-runtime/config.toml
substituteInPlace $out/etc/nvidia-container-runtime/config.toml \ substituteInPlace $out/etc/nvidia-container-runtime/config.toml \
--subst-var-by glibcbin ${lib.getBin glibc} --subst-var-by glibcbin ${lib.getBin glibc}

View File

@ -0,0 +1,79 @@
{
lib,
newScope,
docker,
libnvidia-container,
runc,
symlinkJoin,
}:
# Note this scope isn't recursed into, at the time of writing.
lib.makeScope newScope (
self: {
# The config is only exposed as an attrset so that the user may reach the
# deafult values, for inspectability purposes.
dockerConfig = {
disable-require = false;
#swarm-resource = "DOCKER_RESOURCE_GPU"
nvidia-container-cli = {
#root = "/run/nvidia/driver";
#path = "/usr/bin/nvidia-container-cli";
environment = [ ];
#debug = "/var/log/nvidia-container-runtime-hook.log";
ldcache = "/tmp/ld.so.cache";
load-kmods = true;
#no-cgroups = false;
#user = "root:video";
ldconfig = "@@glibcbin@/bin/ldconfig";
};
};
nvidia-container-toolkit-docker = self.callPackage ./. {
containerRuntimePath = "${docker}/libexec/docker/docker";
configTemplate = self.dockerConfig;
};
podmanConfig = {
disable-require = true;
#swarm-resource = "DOCKER_RESOURCE_GPU";
nvidia-container-cli = {
#root = "/run/nvidia/driver";
#path = "/usr/bin/nvidia-container-cli";
environment = [ ];
#debug = "/var/log/nvidia-container-runtime-hook.log";
ldcache = "/tmp/ld.so.cache";
load-kmods = true;
no-cgroups = true;
#user = "root:video";
ldconfig = "@@glibcbin@/bin/ldconfig";
};
};
nvidia-container-toolkit-podman = self.nvidia-container-toolkit-docker.override {
containerRuntimePath = lib.getExe runc;
configTemplate = self.podmanConfig;
};
nvidia-docker = symlinkJoin {
name = "nvidia-docker";
paths = [
libnvidia-container
self.nvidia-docker-unwrapped
self.nvidia-container-toolkit-docker
];
inherit (self.nvidia-docker-unwrapped) meta;
};
nvidia-docker-unwrapped = self.callPackage ../nvidia-docker { };
nvidia-podman = symlinkJoin {
name = "nvidia-podman";
paths = [
libnvidia-container
self.nvidia-container-toolkit-podman
];
inherit (self.nvidia-container-toolkit-podman) meta;
};
}
)

View File

@ -1,13 +0,0 @@
disable-require = false
#swarm-resource = "DOCKER_RESOURCE_GPU"
[nvidia-container-cli]
#root = "/run/nvidia/driver"
#path = "/usr/bin/nvidia-container-cli"
environment = []
#debug = "/var/log/nvidia-container-runtime-hook.log"
ldcache = "/tmp/ld.so.cache"
load-kmods = true
#no-cgroups = false
#user = "root:video"
ldconfig = "@@glibcbin@/bin/ldconfig"

View File

@ -1,13 +0,0 @@
disable-require = true
#swarm-resource = "DOCKER_RESOURCE_GPU"
[nvidia-container-cli]
#root = "/run/nvidia/driver"
#path = "/usr/bin/nvidia-container-cli"
environment = []
#debug = "/var/log/nvidia-container-runtime-hook.log"
ldcache = "/tmp/ld.so.cache"
load-kmods = true
no-cgroups = true
#user = "root:video"
ldconfig = "@@glibcbin@/bin/ldconfig"

View File

@ -0,0 +1,84 @@
From 783ec26c0d83013baf04579a6a415d7f8776ac93 Mon Sep 17 00:00:00 2001
From: Someone Serge <sergei.kozlukov@aalto.fi>
Date: Sun, 7 Jan 2024 11:48:24 +0000
Subject: [PATCH] ldCache(): patch for @driverLink@
---
internal/pkg/util/paths/resolve.go | 41 +++++++++++++++++++++++++++---
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/internal/pkg/util/paths/resolve.go b/internal/pkg/util/paths/resolve.go
index db45d9db1..9d0110b6b 100644
--- a/internal/pkg/util/paths/resolve.go
+++ b/internal/pkg/util/paths/resolve.go
@@ -14,6 +14,7 @@ import (
"fmt"
"os"
"os/exec"
+ "path"
"path/filepath"
"regexp"
"strings"
@@ -154,14 +155,49 @@ func Resolve(fileList []string) ([]string, []string, error) {
// lists three variants of libEGL.so.1 that are in different locations, we only
// report the first, highest priority, variant.
func ldCache() (map[string]string, error) {
+ driverDirs := strings.Split("@driverLink@/lib", ":")
+ if machine, err := elfMachine(); err == nil && machine == elf.EM_386 {
+ driverDirs = strings.Split("@driverLink@-32/lib", ":")
+ }
+
+ soPattern, err := regexp.Compile(`[^\s]+\.so(\.\d+(\.\d+(\.\d+)?)?)?$`)
+ if err != nil {
+ return nil, fmt.Errorf("could not compile ldconfig regexp: %v", err)
+ }
+
+ ldCache := make(map[string]string)
+ for _, dirPath := range driverDirs {
+ dir, err := os.Open(dirPath)
+ if err != nil {
+ /* Maybe we're not running under NixOS */
+ continue
+ }
+ files, err := dir.ReadDir(-1)
+ if err != nil {
+ continue
+ }
+ for _, f := range files {
+ if !soPattern.MatchString(f.Name()) {
+ continue
+ }
+ libName := f.Name()
+ libPath := path.Join(dirPath, f.Name())
+ if _, ok := ldCache[libName]; !ok {
+ ldCache[libName] = libPath
+ }
+ }
+ }
+
// walk through the ldconfig output and add entries which contain the filenames
// returned by nvidia-container-cli OR the nvliblist.conf file contents
ldconfig, err := bin.FindBin("ldconfig")
- if err != nil {
+ if err != nil && len(ldCache) == 0 {
+ // Note that missing ldconfig is only an "error" as long
+ // as there's no driverLink
return nil, err
}
out, err := exec.Command(ldconfig, "-p").Output()
- if err != nil {
+ if err != nil && len(ldCache) == 0 {
return nil, fmt.Errorf("could not execute ldconfig: %v", err)
}
@@ -173,7 +209,6 @@ func ldCache() (map[string]string, error) {
}
// store library name with associated path
- ldCache := make(map[string]string)
for _, match := range r.FindAllSubmatch(out, -1) {
if match != nil {
// libName is the "libnvidia-ml.so.1" (from the above example)
--
2.42.0

View File

@ -27,12 +27,14 @@ in
, buildGoModule , buildGoModule
, runCommandLocal , runCommandLocal
# Native build inputs # Native build inputs
, addDriverRunpath
, makeWrapper , makeWrapper
, pkg-config , pkg-config
, util-linux , util-linux
, which , which
# Build inputs # Build inputs
, bash , bash
, callPackage
, conmon , conmon
, coreutils , coreutils
, cryptsetup , cryptsetup
@ -54,6 +56,9 @@ in
, hello , hello
# Overridable configurations # Overridable configurations
, enableNvidiaContainerCli ? true , enableNvidiaContainerCli ? true
# --nvccli currently requires extra privileges:
# https://github.com/apptainer/apptainer/issues/1893#issuecomment-1881240800
, forceNvcCli ? false
# Compile with seccomp support # Compile with seccomp support
# SingularityCE 3.10.0 and above requires explicit --without-seccomp when libseccomp is not available. # SingularityCE 3.10.0 and above requires explicit --without-seccomp when libseccomp is not available.
, enableSeccomp ? true , enableSeccomp ? true
@ -65,6 +70,7 @@ in
# Whether to compile with SUID support # Whether to compile with SUID support
, enableSuid ? false , enableSuid ? false
, starterSuidPath ? null , starterSuidPath ? null
, substituteAll
# newuidmapPath and newgidmapPath are to support --fakeroot # newuidmapPath and newgidmapPath are to support --fakeroot
# where those SUID-ed executables are unavailable from the FHS system PATH. # where those SUID-ed executables are unavailable from the FHS system PATH.
# Path to SUID-ed newuidmap executable # Path to SUID-ed newuidmap executable
@ -94,6 +100,10 @@ in
(buildGoModule { (buildGoModule {
inherit pname version src; inherit pname version src;
patches = lib.optionals (projectName == "apptainer") [
(substituteAll { src = ./apptainer/0001-ldCache-patch-for-driverLink.patch; inherit (addDriverRunpath) driverLink; })
];
# Override vendorHash with the output got from # Override vendorHash with the output got from
# nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules" # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
# or with `null` when using vendored source tarball. # or with `null` when using vendored source tarball.
@ -175,11 +185,18 @@ in
if [[ ! -e .git || ! -e VERSION ]]; then if [[ ! -e .git || ! -e VERSION ]]; then
echo "${version}" > VERSION echo "${version}" > VERSION
fi fi
# Patch shebangs for script run during build # Patch shebangs for script run during build
patchShebangs --build "$configureScript" makeit e2e scripts mlocal/scripts patchShebangs --build "$configureScript" makeit e2e scripts mlocal/scripts
# Patching the hard-coded defaultPath by prefixing the packages in defaultPathInputs # Patching the hard-coded defaultPath by prefixing the packages in defaultPathInputs
substituteInPlace cmd/internal/cli/actions.go \ substituteInPlace cmd/internal/cli/actions.go \
--replace "defaultPath = \"${defaultPathOriginal}\"" "defaultPath = \"''${defaultPathInputs// /\/bin:}''${defaultPathInputs:+/bin:}${defaultPathOriginal}\"" --replace "defaultPath = \"${defaultPathOriginal}\"" "defaultPath = \"''${defaultPathInputs// /\/bin:}''${defaultPathInputs:+/bin:}${defaultPathOriginal}\""
substituteInPlace internal/pkg/util/gpu/nvidia.go \
--replace \
'return fmt.Errorf("/usr/bin not writable in the container")' \
""
''; '';
postConfigure = '' postConfigure = ''
@ -212,7 +229,7 @@ in
wrapProgram "$out/bin/${projectName}" \ wrapProgram "$out/bin/${projectName}" \
--prefix PATH : "''${defaultPathInputs// /\/bin:}''${defaultPathInputs:+/bin:}" --prefix PATH : "''${defaultPathInputs// /\/bin:}''${defaultPathInputs:+/bin:}"
# Make changes in the config file # Make changes in the config file
${lib.optionalString enableNvidiaContainerCli '' ${lib.optionalString forceNvcCli ''
substituteInPlace "$out/etc/${projectName}/${projectName}.conf" \ substituteInPlace "$out/etc/${projectName}/${projectName}.conf" \
--replace "use nvidia-container-cli = no" "use nvidia-container-cli = yes" --replace "use nvidia-container-cli = no" "use nvidia-container-cli = yes"
''} ''}
@ -264,5 +281,38 @@ in
singularity = finalAttrs.finalPackage; singularity = finalAttrs.finalPackage;
}; };
}; };
gpuChecks = lib.optionalAttrs (projectName == "apptainer") {
# Should be in tests, but Ofborg would skip image-hello-cowsay because
# saxpy is unfree.
image-saxpy = callPackage
({ singularity-tools, cudaPackages }:
singularity-tools.buildImage {
name = "saxpy";
contents = [ cudaPackages.saxpy ];
memSize = 2048;
diskSize = 2048;
singularity = finalAttrs.finalPackage;
})
{ };
saxpy =
callPackage
({ runCommand, writeShellScriptBin }:
let
unwrapped = writeShellScriptBin "apptainer-cuda-saxpy"
''
${lib.getExe finalAttrs.finalPackage} exec --nv $@ ${finalAttrs.passthru.tests.image-saxpy} saxpy
'';
in
runCommand "run-apptainer-cuda-saxpy"
{
requiredSystemFeatures = [ "cuda" ];
nativeBuildInputs = [ unwrapped ];
passthru = { inherit unwrapped; };
}
''
apptainer-cuda-saxpy
'')
{ };
};
}; };
}) })

View File

@ -38,20 +38,20 @@ let
singularity = callPackage singularity = callPackage
(import ./generic.nix rec { (import ./generic.nix rec {
pname = "singularity-ce"; pname = "singularity-ce";
version = "4.0.2"; version = "4.0.3";
projectName = "singularity"; projectName = "singularity";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sylabs"; owner = "sylabs";
repo = "singularity"; repo = "singularity";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-R+vAKYR4lJmC7PIITYyg4UeGYjGXoPqqUai3HmPzwG0="; hash = "sha256-sT5nW/7xE2TT4TO9H7Y3CDf87LvwPbT1NjVQVK9yyVY=";
}; };
# Update by running # Update by running
# nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules" # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
# at the root directory of the Nixpkgs repository # at the root directory of the Nixpkgs repository
vendorHash = "sha256-z3VozeMpaqh4ddZxB3xqo25Gm+8JYeIwASOq+Mmerr4="; vendorHash = "sha256-q7n1LymH5KGYHg73r30xryVWupzDheBp7Gpr3XZiZHI=";
# Do not build conmon and squashfuse from the Git submodule sources, # Do not build conmon and squashfuse from the Git submodule sources,
# Use Nixpkgs provided version # Use Nixpkgs provided version

View File

@ -7,5 +7,6 @@ lib.makeScope pkgs.newScope (self:
wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { }; wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { };
wcm = callPackage ./wcm.nix { }; wcm = callPackage ./wcm.nix { };
wf-shell = callPackage ./wf-shell.nix { }; wf-shell = callPackage ./wf-shell.nix { };
windecor = callPackage ./windecor.nix { };
} }
) )

View File

@ -0,0 +1,63 @@
{ stdenv
, lib
, fetchFromGitLab
, meson
, ninja
, pkg-config
, wayfire
, wf-config
, wayland
, pango
, eudev
, libinput
, libxkbcommon
, librsvg
, libGL
, xcbutilwm
}:
stdenv.mkDerivation (finalAttrs: {
pname = "windecor";
version = "0.8.0";
src = fetchFromGitLab {
owner = "wayfireplugins";
repo = "windecor";
rev = "v${finalAttrs.version}";
hash = "sha256-v0kGT+KrtfFJ/hp1Dr8izKVj6UHhuW6udHFjWt1y9TY=";
};
postPatch = ''
substituteInPlace meson.build \
--replace "wayfire.get_variable( pkgconfig: 'metadatadir' )" "join_paths(get_option('prefix'), 'share/wayfire/metadata')"
'';
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
wayfire
wf-config
wayland
pango
eudev
libinput
libxkbcommon
librsvg
libGL
xcbutilwm
];
mesonFlags = [ "--sysconfdir=/etc" ];
meta = {
homepage = "https://gitlab.com/wayfireplugins/windecor";
description = "A window decoration plugin for wayfire";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ rewine ];
inherit (wayfire.meta) platforms;
};
})

View File

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, callPackage , callPackage
, runCommand
, writeText , writeText
, pub2nix , pub2nix
, dartHooks , dartHooks
@ -9,6 +10,7 @@
, nodejs , nodejs
, darwin , darwin
, jq , jq
, yq
}: }:
{ src { src
@ -44,7 +46,13 @@
, runtimeDependencies ? [ ] , runtimeDependencies ? [ ]
, extraWrapProgramArgs ? "" , extraWrapProgramArgs ? ""
, pubspecLock
, autoPubspecLock ? null
, pubspecLock ? if autoPubspecLock == null then
throw "The pubspecLock argument is required. If import-from-derivation is allowed (it isn't in Nixpkgs), you can set autoPubspecLock to the path to a pubspec.lock instead."
else
assert lib.assertMsg (builtins.pathExists autoPubspecLock) "The pubspec.lock file could not be found!";
lib.importJSON (runCommand "${lib.getName args}-pubspec-lock-json" { nativeBuildInputs = [ yq ]; } ''yq . '${autoPubspecLock}' > "$out"'')
, ... , ...
}@args: }@args:

View File

@ -51,7 +51,7 @@
# configure & source common build functions # configure & source common build functions
LIB_RUSTC_OPTS="${libRustcOpts}" LIB_RUSTC_OPTS="${libRustcOpts}"
BIN_RUSTC_OPTS="${binRustcOpts}" BIN_RUSTC_OPTS="${binRustcOpts}"
LIB_EXT="${stdenv.hostPlatform.extensions.sharedLibrary}" LIB_EXT="${stdenv.hostPlatform.extensions.sharedLibrary or ""}"
LIB_PATH="${libPath}" LIB_PATH="${libPath}"
LIB_NAME="${libName}" LIB_NAME="${libName}"

View File

@ -0,0 +1,73 @@
--- a/pom.xml 2024-01-08 09:44:10.495320111 +0100
+++ b/pom.xml 2024-01-08 21:31:07.529336715 +0100
@@ -394,6 +394,15 @@
</configuration>
</plugin>
<plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.5.0</version>
@@ -464,6 +473,55 @@
</transformers>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>require-all-plugin-version-to-be-set</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requirePluginVersions />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>4.0.0-M9</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.1.2</version>
+ </plugin>
</plugins>
</build>

View File

@ -0,0 +1,81 @@
{ lib
, fetchFromGitHub
, jre
, makeWrapper
, maven
, icoutils
, copyDesktopItems
, makeDesktopItem
}:
maven.buildMavenPackage rec {
pname = "bytecode-viewer";
version = "2.12";
src = fetchFromGitHub {
owner = "Konloch";
repo = "bytecode-viewer";
rev = "v${version}";
hash = "sha256-opAUmkEcWPOrcxAL+I1rBQXwHmvzbu0+InTnsg9r+z8=";
};
desktopItems = [
(makeDesktopItem {
name = "bytecode-viewer";
desktopName = "Bytecode-Viewer";
exec = meta.mainProgram;
icon = "bytecode-viewer";
comment = "A lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More.";
categories = [ "Security" ];
startupNotify = false;
})
];
patches = [
# Make vendoring deterministic by pinning Maven plugin dependencies
./make-deterministic.patch
];
mvnHash = "sha256-iAxzFq8nR9UiH8y3ZWmGuChZEMwQBAkN8wD+t9q/RWY=";
mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
nativeBuildInputs = [
icoutils
makeWrapper
copyDesktopItems
];
installPhase = ''
runHook preInstall
install -Dm644 target/Bytecode-Viewer-${version}.jar $out/share/bytecode-viewer/bytecode-viewer.jar
mv "BCV Icon.ico" bytecode-viewer.ico
icotool -x bytecode-viewer.ico
for size in 16 32 48
do
install -Dm644 bytecode-viewer_*_$size\x$size\x32.png $out/share/icons/hicolor/$size\x$size/apps/bytecode-viewer.png
done
mkdir $out/bin
makeWrapper ${lib.getExe jre} $out/bin/${meta.mainProgram} \
--add-flags "-jar $out/share/bytecode-viewer/bytecode-viewer.jar"
runHook postInstall
'';
meta = with lib; {
homepage = "https://bytecodeviewer.com";
description = "A lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More";
mainProgram = "bytecode-viewer";
maintainers = with maintainers; [ shard7 d3vil0p3r ];
platforms = platforms.unix;
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # deps
];
license = with licenses; [ gpl3Only ];
};
}

View File

@ -0,0 +1,27 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "csvlens";
version = "0.5.1";
src = fetchFromGitHub {
owner = "YS-L";
repo = "csvlens";
rev = "refs/tags/v${version}";
hash = "sha256-9zIi49iXFOARSZsz0iqzC7NfoiBngfNt6A7vZuwxItI=";
};
cargoHash = "sha256-DDMsycYSzkBNvf4f9WVpnADpP72GQEkmJIJsfrlfMcI=";
meta = with lib; {
description = "Command line csv viewer";
homepage = "https://github.com/YS-L/csvlens";
changelog = "https://github.com/YS-L/csvlens/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ natsukium ];
mainProgram = "csvlens";
};
}

View File

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "eza"; pname = "eza";
version = "0.17.0"; version = "0.17.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eza-community"; owner = "eza-community";
repo = "eza"; repo = "eza";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-BYzt8PLqMbxlp8CdBJuBXGbTsC9e/dWhB4j1Ak2Fjbo="; hash = "sha256-PItKMPaqDG8L0dYHl8cLoyieljNpP41HLIFfpcLerNg=";
}; };
cargoHash = "sha256-xyIFGPQkXZZLLXY5qwiRvFPvjhAIRc90RD2NpsuwrB4="; cargoHash = "sha256-PrKP9Akv+qionFTHtlrY8bzaX9HaobhBJGVRMvXWfZU=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ] buildInputs = [ zlib ]

View File

@ -2,6 +2,7 @@
, stdenv , stdenv
, fetchurl , fetchurl
, fetchpatch , fetchpatch
, fetchDebianPatch
, copyDesktopItems , copyDesktopItems
, pkg-config , pkg-config
, wrapGAppsHook , wrapGAppsHook
@ -15,16 +16,9 @@
, makeDesktopItem , makeDesktopItem
}: }:
let
wxGTK32' = wxGTK32.overrideAttrs (old: {
configureFlags = old.configureFlags ++ [
"--disable-exceptions"
];
});
in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "freefilesync"; pname = "freefilesync";
version = "13.2"; version = "13.3";
src = fetchurl { src = fetchurl {
url = "https://freefilesync.org/download/FreeFileSync_${finalAttrs.version}_Source.zip"; url = "https://freefilesync.org/download/FreeFileSync_${finalAttrs.version}_Source.zip";
@ -33,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
rm -f $out rm -f $out
tryDownload "$url" tryDownload "$url"
''; '';
hash = "sha256-Hb3DkHdINtg5vNs6IcCHKxgSiN5u/2kY8V8Fnq5yFCM="; hash = "sha256-mpCCecG1teBjIJqCzB3pGAQKT6t8bMKbK8KihMXOn3g=";
}; };
sourceRoot = "."; sourceRoot = ".";
@ -42,20 +36,26 @@ stdenv.mkDerivation (finalAttrs: {
patches = [ patches = [
# Disable loading of the missing Animal.dat # Disable loading of the missing Animal.dat
(fetchpatch { (fetchpatch {
url = "https://sources.debian.org/data/main/f/freefilesync/12.0-2/debian/patches/ffs_devuan.patch"; url = "https://sources.debian.org/data/main/f/freefilesync/13.3-1/debian/patches/ffs_devuan.patch";
postFetch = ''
substituteInPlace $out \
--replace "-std=c++2b" "-std=c++23" \
--replace "imageWidth," "wxsizeToScreen(imageWidth),"
'';
excludes = [ "FreeFileSync/Source/ffs_paths.cpp" ]; excludes = [ "FreeFileSync/Source/ffs_paths.cpp" ];
hash = "sha256-LH549fJWGpJ0p6/0YNda1zZHGs/QRl1CYLC/vYKdkO4="; hash = "sha256-cW0Y9+ByQWGzMU4NFRSkW46KkxQB4jRZotHlCFniv5o=";
}) })
# Fix build with GTK 3 # Fix build with GTK 3
(fetchpatch { (fetchDebianPatch {
url = "https://sources.debian.org/data/main/f/freefilesync/12.0-2/debian/patches/ffs_devuan_gtk3.patch"; pname = "freefilesync";
version = "13.3";
debianRevision = "1";
patch = "ffs_devuan_gtk3.patch";
hash = "sha256-0n58Np4JI3hYK/CRBytkPHl9Jp4xK+IRjgUvoYti/f4="; hash = "sha256-0n58Np4JI3hYK/CRBytkPHl9Jp4xK+IRjgUvoYti/f4=";
}) })
# Fix build with vanilla wxWidgets
(fetchDebianPatch {
pname = "freefilesync";
version = "13.3";
debianRevision = "1";
patch = "Disable_wxWidgets_uncaught_exception_handling.patch";
hash = "sha256-Fem7eDDKSqPFU/t12Jco8OmYC8FM9JgB4/QVy/ouvbI=";
})
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
gtk3 gtk3
libssh2 libssh2
openssl openssl
wxGTK32' wxGTK32
]; ];
env.NIX_CFLAGS_COMPILE = toString [ env.NIX_CFLAGS_COMPILE = toString [

View File

@ -0,0 +1,35 @@
{ lib
, stdenv
, fetchurl
, flex
, bison
}:
stdenv.mkDerivation (finalAttrs: {
pname = "graplang";
version = "1.46";
outputs = [ "out" "man" ];
src = fetchurl {
url = "https://www.lunabase.org/~faber/Vault/software/grap/grap-${finalAttrs.version}.tar.gz";
hash = "sha512-7n+jLANU/x+wGrpjwYAnf45fQ5M91SwraiCbvUKe6XhWtilhGoT2yTlLkPlTihETTkizLyssW5gj5gbwNHaooA==";
};
nativeBuildInputs = [ flex bison ];
meta = with lib; {
description = "Language for typesetting graphs";
longDescription = ''
Grap is an Expressive language for describing graphs and incorporating
them in typeset documents. It is implemented as a preprocessor to
Kernigan's pic language for describing languages, so any system that can
use pic can use grap. For sure, TeX and groff can use it.
'';
homepage = "https://www.lunabase.org/~faber/Vault/software/grap/";
changelog = "https://github.com/snorerot13/grap/blob/master/CHANGES";
license = licenses.bsd2;
maintainers = with maintainers; [ afh ];
mainProgram = "grap";
};
})

View File

@ -15,13 +15,13 @@
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "grimblast"; pname = "grimblast";
version = "unstable-2023-10-03"; version = "unstable-2024-01-11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hyprwm"; owner = "hyprwm";
repo = "contrib"; repo = "contrib";
rev = "2e3f8ac2a3f1334fd2e211b07ed76b4215bb0542"; rev = "89c56351e48785070b60e224ea1717ac50c3befb";
hash = "sha256-rb954Rc+IyUiiXoIuQOJRp0//zH/WeMYZ3yJ5CccODA="; hash = "sha256-EjdQsk5VIQs7INBugbgX1I9Q3kPAOZSwkXXqEjZL0E0=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -0,0 +1,46 @@
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
index cc4681a..f484013 100644
--- a/Tools/CMake/Libraries.cmake
+++ b/Tools/CMake/Libraries.cmake
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
endif()
endif()
-set(Boost_USE_STATIC_LIBS ON)
+add_definitions(-DBOOST_LOG_DYN_LINK)
find_package(
Boost 1.78 REQUIRED
COMPONENTS filesystem
@@ -178,10 +178,10 @@ if(LINUX)
set(LIBREADSTAT_INCLUDE_DIRS /app/include)
set(LIBREADSTAT_LIBRARY_DIRS /app/lib)
else()
- set(LIBREADSTAT_INCLUDE_DIRS /usr/local/include /usr/include)
+ set(LIBREADSTAT_INCLUDE_DIRS @readstat@/include /usr/include)
# The last two library paths handle the two most common multiarch cases.
# Other multiarch-compliant paths may come up but should be rare.
- set(LIBREADSTAT_LIBRARY_DIRS /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
+ set(LIBREADSTAT_LIBRARY_DIRS @readstat@/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
endif()
message(CHECK_START "Looking for libreadstat.so")
diff --git a/Tools/CMake/Programs.cmake b/Tools/CMake/Programs.cmake
index dbd089d..ef6857a 100644
--- a/Tools/CMake/Programs.cmake
+++ b/Tools/CMake/Programs.cmake
@@ -39,6 +39,7 @@ endif()
# ------ Linux Tools/Programs
+#[[
if(LINUX)
message(CHECK_START "Looking for 'gfortran'")
@@ -81,6 +82,7 @@ if(LINUX)
endif()
endif()
+]]#
# ----------------------

View File

@ -0,0 +1,134 @@
{ R
, rPackages
, fetchFromGitHub
, jasp-src
, jasp-version
}:
with rPackages;
let
jaspColumnEncoder-src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jaspColumnEncoder";
rev = "c54987bb25de8963866ae69ad3a6ae5a9a9f1240";
hash = "sha256-aWfRG7DXO1MYFvmMLkX/xtHvGeIhFRcRDrVBrhkvYuI=";
};
jaspGraphs = buildRPackage {
name = "jaspGraphs-${jasp-version}";
version = jasp-version;
src = jasp-src;
sourceRoot = "${jasp-src.name}/Engine/jaspGraphs";
propagatedBuildInputs = [ ggplot2 gridExtra gtable lifecycle jsonlite R6 RColorBrewer rlang scales viridisLite ];
};
jaspBase = buildRPackage {
name = "jaspBase-${jasp-version}";
version = jasp-version;
src = jasp-src;
sourceRoot = "${jasp-src.name}/Engine/jaspBase";
env.INCLUDE_DIR = "../inst/include/jaspColumnEncoder";
postPatch = ''
mkdir -p inst/include
cp -r --no-preserve=all ${jaspColumnEncoder-src} inst/include/jaspColumnEncoder
'';
propagatedBuildInputs = [ cli codetools ggplot2 gridExtra gridGraphics jaspGraphs jsonlite lifecycle modules officer pkgbuild plyr qgraph ragg R6 Rcpp renv remotes rjson rvg svglite systemfonts withr ];
};
stanova = buildRPackage {
name = "stanova";
src = fetchFromGitHub {
owner = "bayesstuff";
repo = "stanova";
rev = "988ad8e07cda1674b881570a85502be7795fbd4e";
hash = "sha256-tAeHqTHao2KVRNFBDWmuF++H31aNN6O1ss1Io500QBY=";
};
propagatedBuildInputs = [ emmeans lme4 coda rstan MASS ];
};
bstats = buildRPackage {
name = "bstats";
src = fetchFromGitHub {
owner = "AlexanderLyNL";
repo = "bstats";
rev = "42d34c18df08d233825bae34fdc0dfa0cd70ce8c";
hash = "sha256-N2KmbTPbyvzsZTWBRE2x7bteccnzokUWDOB4mOWUdJk=";
};
propagatedBuildInputs = [ hypergeo purrr SuppDists ];
};
flexplot = buildRPackage {
name = "flexplot";
src = fetchFromGitHub {
owner = "dustinfife";
repo = "flexplot";
rev = "4223ad5fb56028018b964d6f9f5aa5bac8710821";
hash = "sha256-L+Ed2bIWjq3ZIAGookp8dAjDSeldEbcwynwFVVZ9IcU=";
};
propagatedBuildInputs = [ cowplot MASS tibble withr dplyr magrittr forcats purrr plyr R6 ggplot2 patchwork ggsci lme4 party mgcv rlang ];
};
# conting has been removed from CRAN
conting' = buildRPackage {
name = "conting";
src = fetchFromGitHub {
owner = "vandenman";
repo = "conting";
rev = "03a4eb9a687e015d602022a01d4e638324c110c8";
hash = "sha256-Sp09YZz1WGyefn31Zy1qGufoKjtuEEZHO+wJvoLArf0=";
};
propagatedBuildInputs = [ mvtnorm gtools tseries coda ];
};
buildJaspModule = name: deps: buildRPackage {
name = "${name}-${jasp-version}";
version = jasp-version;
src = jasp-src;
sourceRoot = "${jasp-src.name}/Modules/${name}";
propagatedBuildInputs = deps;
};
in
{
engine = { inherit jaspBase jaspGraphs; };
modules = rec {
jaspAcceptanceSampling = buildJaspModule "jaspAcceptanceSampling" [ abtest BayesFactor conting' ggplot2 jaspBase jaspGraphs plyr stringr vcd vcdExtra AcceptanceSampling ];
jaspAnova = buildJaspModule "jaspAnova" [ afex BayesFactor boot car colorspace emmeans ggplot2 jaspBase jaspDescriptives jaspGraphs jaspTTests KernSmooth matrixStats multcomp onewaytests plyr stringi stringr restriktor ];
jaspAudit = buildJaspModule "jaspAudit" [ bstats extraDistr ggplot2 ggrepel jaspBase jaspGraphs jfa ];
jaspBain = buildJaspModule "jaspBain" [ bain lavaan ggplot2 semPlot stringr jaspBase jaspGraphs jaspSem ];
jaspBsts = buildJaspModule "jaspBsts" [ Boom bsts ggplot2 jaspBase jaspGraphs matrixStats reshape2 ];
jaspCircular = buildJaspModule "jaspCircular" [ jaspBase jaspGraphs circular ggplot2 ];
jaspCochrane = buildJaspModule "jaspCochrane" [ jaspBase jaspGraphs jaspDescriptives jaspMetaAnalysis ];
jaspDescriptives = buildJaspModule "jaspDescriptives" [ ggplot2 ggrepel jaspBase jaspGraphs ];
jaspDistributions = buildJaspModule "jaspDistributions" [ car fitdistrplus ggplot2 goftest gnorm jaspBase jaspGraphs MASS sgt sn ];
jaspEquivalenceTTests = buildJaspModule "jaspEquivalenceTTests" [ BayesFactor ggplot2 jaspBase jaspGraphs metaBMA TOSTER jaspTTests ];
jaspFactor = buildJaspModule "jaspFactor" [ ggplot2 jaspBase jaspGraphs jaspSem lavaan psych qgraph reshape2 semPlot GPArotation Rcsdp semTools ];
jaspFrequencies = buildJaspModule "jaspFrequencies" [ abtest BayesFactor conting' multibridge ggplot2 jaspBase jaspGraphs plyr stringr vcd vcdExtra ];
jaspJags = buildJaspModule "jaspJags" [ coda ggplot2 ggtext hexbin jaspBase jaspGraphs rjags scales stringr ];
jaspLearnBayes = buildJaspModule "jaspLearnBayes" [ extraDistr ggplot2 HDInterval jaspBase jaspGraphs MASS MCMCpack MGLM scales ggalluvial ragg runjags ggdist png posterior ];
jaspLearnStats = buildJaspModule "jaspLearnStats" [ extraDistr ggplot2 jaspBase jaspGraphs jaspDistributions jaspDescriptives jaspTTests ggforce tidyr igraph ];
jaspMachineLearning = buildJaspModule "jaspMachineLearning" [ kknn AUC cluster colorspace DALEX dbscan e1071 fpc gbm Gmedian ggparty ggdendro ggnetwork ggplot2 ggrepel ggridges glmnet jaspBase jaspGraphs MASS mvnormalTest neuralnet network partykit plyr randomForest rpart ROCR Rtsne signal ];
jaspMetaAnalysis = buildJaspModule "jaspMetaAnalysis" [ dplyr ggplot2 jaspBase jaspGraphs MASS metaBMA metafor psych purrr rstan stringr tibble tidyr weightr BayesTools RoBMA metamisc ggmcmc pema ];
jaspMixedModels = buildJaspModule "jaspMixedModels" [ afex emmeans ggplot2 ggpol jaspBase jaspGraphs lme4 loo mgcv rstan rstanarm stanova withr ];
jaspNetwork = buildJaspModule "jaspNetwork" [ bootnet BDgraph corpcor dplyr foreach ggplot2 gtools HDInterval huge IsingSampler jaspBase jaspGraphs mvtnorm qgraph reshape2 snow stringr ];
jaspPower = buildJaspModule "jaspPower" [ pwr jaspBase jaspGraphs ];
jaspPredictiveAnalytics = buildJaspModule "jaspPredictiveAnalytics" [ jaspBase jaspGraphs bsts bssm precrec reshape2 Boom lubridate prophet BART EBMAforecast imputeTS ];
jaspProcess = buildJaspModule "jaspProcess" [ dagitty ggplot2 ggraph jaspBase jaspGraphs ];
jaspProphet = buildJaspModule "jaspProphet" [ rstan ggplot2 jaspBase jaspGraphs prophet scales ];
jaspQualityControl = buildJaspModule "jaspQualityControl" [ car cowplot daewr desirability DoE_base EnvStats FAdist fitdistrplus FrF2 ggplot2 ggrepel goftest ggpp irr jaspBase jaspDescriptives jaspGraphs mle_tools psych qcc rsm Rspc tidyr tibble vipor weibullness ];
jaspRegression = buildJaspModule "jaspRegression" [ BAS boot bstats combinat emmeans ggplot2 ggrepel hmeasure jaspAnova jaspBase jaspDescriptives jaspGraphs jaspTTests lmtest logistf MASS matrixStats mdscore ppcor purrr Rcpp statmod VGAM ];
jaspReliability = buildJaspModule "jaspReliability" [ Bayesrel coda ggplot2 ggridges irr jaspBase jaspGraphs LaplacesDemon lme4 MASS psych ];
jaspRobustTTests = buildJaspModule "jaspRobustTTests" [ RoBTT ggplot2 jaspBase jaspGraphs ];
jaspSem = buildJaspModule "jaspSem" [ forcats ggplot2 jaspBase jaspGraphs lavaan cSEM reshape2 semPlot semTools stringr tibble tidyr ];
jaspSummaryStatistics = buildJaspModule "jaspSummaryStatistics" [ BayesFactor bstats jaspBase jaspFrequencies jaspGraphs jaspRegression jaspTTests jaspAnova jaspDescriptives SuppDists bayesplay ];
jaspSurvival = buildJaspModule "jaspSurvival" [ survival survminer jaspBase jaspGraphs ];
jaspTTests = buildJaspModule "jaspTTests" [ BayesFactor car ggplot2 jaspBase jaspGraphs logspline plotrix plyr ];
jaspTimeSeries = buildJaspModule "jaspTimeSeries" [ jaspBase jaspGraphs forecast ];
jaspVisualModeling = buildJaspModule "jaspVisualModeling" [ flexplot jaspBase jaspGraphs ];
};
}

View File

@ -0,0 +1,121 @@
{ lib
, stdenv
, fetchFromGitHub
, callPackage
, buildEnv
, linkFarm
, substituteAll
, R
, rPackages
, cmake
, ninja
, pkg-config
, boost
, libarchive
, readstat
, qt6
}:
let
version = "0.18.2";
src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jasp-desktop";
rev = "v${version}";
hash = "sha256-W0wYvk5T9srE1cOyGgahfGxEookdOgVcnzqH9SkFyo8=";
fetchSubmodules = true;
};
inherit (callPackage ./modules.nix {
jasp-src = src;
jasp-version = version;
}) engine modules;
# Merges ${R}/lib/R with all used R packages (even propagated ones)
customREnv = buildEnv {
name = "jasp-${version}-env";
paths = [
"${R}/lib/R"
rPackages.RInside
engine.jaspBase # Should already be propagated from modules, but include it again, just in case
] ++ lib.attrValues modules;
};
modulesDir = linkFarm "jasp-${version}-modules"
(lib.mapAttrsToList (name: drv: { name = name; path = "${drv}/library"; }) modules);
in
stdenv.mkDerivation {
pname = "jasp-desktop";
inherit version src;
patches = [
# remove unused cmake deps, ensure boost is dynamically linked, patch readstat path
(substituteAll {
src = ./cmake.patch;
inherit readstat;
})
];
cmakeFlags = [
"-DGITHUB_PAT=dummy"
"-DGITHUB_PAT_DEF=dummy"
"-DINSTALL_R_FRAMEWORK=OFF"
"-DLINUX_LOCAL_BUILD=OFF"
"-DINSTALL_R_MODULES=OFF"
"-DCUSTOM_R_PATH=${customREnv}"
];
nativeBuildInputs = [
cmake
ninja
pkg-config
qt6.wrapQtAppsHook
];
buildInputs = [
customREnv
boost
libarchive
readstat
] ++ (with qt6; [
qtbase
qtdeclarative
qtwebengine
qtsvg
qt5compat
]);
env.NIX_LDFLAGS = "-L${rPackages.RInside}/library/RInside/lib";
postInstall = ''
# Remove unused cache locations
rm -r $out/lib64 $out/Modules
# Remove flatpak proxy script
rm $out/bin/org.jaspstats.JASP
substituteInPlace $out/share/applications/org.jaspstats.JASP.desktop \
--replace "Exec=org.jaspstats.JASP" "Exec=JASP"
# symlink modules from the store
ln -s ${modulesDir} $out/Modules
'';
passthru = {
inherit modules engine;
env = customREnv;
};
meta = {
changelog = "https://jasp-stats.org/release-notes";
description = "A complete statistical package for both Bayesian and Frequentist statistical methods";
homepage = "https://github.com/jasp-stats/jasp-desktop";
license = lib.licenses.agpl3;
mainProgram = "JASP";
maintainers = with lib.maintainers; [ tomasajt ];
# JASP's cmake build steps are really different on Darwin
# Perhaps the Darwin-specific things could be changed to be the same as Linux
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,23 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "klog-time-tracker";
version = "6.2";
src = fetchFromGitHub {
owner = "jotaen";
repo = "klog";
rev = "v${version}";
hash = "sha256-PFYPthrschw6XEf128L7yBygrVR3E3rtATCpxXGFRd4=";
};
vendorHash = "sha256-X5xL/4blWjddJsHwwfLpGjHrfia1sttmmqHjaAIVXVo=";
meta = with lib; {
description = "Command line tool for time tracking in a human-readable, plain-text file format";
homepage = "https://klog.jotaen.net";
license = licenses.mit;
maintainers = [ maintainers.blinry ];
mainProgram = "klog";
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kor"; pname = "kor";
version = "0.3.2"; version = "0.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yonahd"; owner = "yonahd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Ov+aad+6Tp6Mm+fyjR9+xTYVlRu7uv1kD14AgSFmPMA="; hash = "sha256-saCX5SNCY0oMEBIfJCKWb+6xciocU65umK3kfgKnpiY=";
}; };
vendorHash = "sha256-HPcLjeLw3AxqZg2f5v5G4uYX65D7yXaXDZUPUgWnLFA="; vendorHash = "sha256-xX1P59iyAIBxoECty+Bva23Z50jcJ52moAcWpWUSap4=";
preCheck = '' preCheck = ''
HOME=$(mktemp -d) HOME=$(mktemp -d)

View File

@ -6,18 +6,20 @@
, pkg-config , pkg-config
, gtk3 , gtk3
, libxml2 , libxml2
, xkeyboard_config
, wrapGAppsHook , wrapGAppsHook
, unstableGitUpdater
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "labwc-tweaks"; pname = "labwc-tweaks";
version = "unstable-2023-12-08"; version = "unstable-2024-01-04";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "labwc"; owner = "labwc";
repo = finalAttrs.pname; repo = "labwc-tweaks";
rev = "1c79d6a5ee3ac3d1a6140a1a98ae89674ef36635"; rev = "1604f64cc62e4800ee04a6e1c323a48ee8140d83";
hash = "sha256-RD1VCKVoHsoY7SezY7tjZzomikMgA7N6B5vaYkIo9Es="; hash = "sha256-xFvc+Y03HjSvj846o84Wpk5tEXI49z8xkILSX2oas8A=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -35,16 +37,18 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true; strictDeps = true;
postPatch = '' postPatch = ''
substituteInPlace stack-lang.c --replace /usr/share /run/current-system/sw/share substituteInPlace stack-lang.c --replace /usr/share/X11/xkb ${xkeyboard_config}/share/X11/xkb
sed -i '/{ NULL, "\/usr\/share" },/i { NULL, "/run/current-system/sw/share" },' theme.c substituteInPlace theme.c --replace /usr/share /run/current-system/sw/share
''; '';
passthru.updateScript = unstableGitUpdater { };
meta = { meta = {
homepage = "https://github.com/labwc/labwc-tweaks"; homepage = "https://github.com/labwc/labwc-tweaks";
description = "Configuration gui app for labwc"; description = "Configuration gui app for labwc";
mainProgram = "labwc-tweaks"; mainProgram = "labwc-tweaks";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ romildo ]; maintainers = with lib.maintainers; [ AndersonTorres romildo ];
}; };
}) })

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "namespace-cli"; pname = "namespace-cli";
version = "0.0.322"; version = "0.0.328";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "namespacelabs"; owner = "namespacelabs";
repo = "foundation"; repo = "foundation";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-noxzIz3klw6kYW6qe2rmhOVG5N+qu8NlkWeoR4TBne0="; hash = "sha256-M6hX+muUC4v7Nmu2N8cONCLPJc6pVv6UJ1WO/uSDYnM=";
}; };
vendorHash = "sha256-/Q8P1m71pqxejVcfzHY+JC3+BPz0r3kc4PgQnNZM0SQ="; vendorHash = "sha256-AVbRqgk5UldpaqyEmdYDpwzaZEo5r+M3Kwxb3Sh1jLQ=";
subPackages = ["cmd/nsc" "cmd/ns" "cmd/docker-credential-nsc"]; subPackages = ["cmd/nsc" "cmd/ns" "cmd/docker-credential-nsc"];

View File

@ -0,0 +1,48 @@
{ lib
, stdenvNoCC
, fetchgit
, fontforge
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "newcomputermodern";
version = "5.1";
src = fetchgit {
url = "https://git.gnu.org.ua/newcm.git";
rev = finalAttrs.version;
hash = "sha256-a6paSdF754jCp4DePbx2in9316H9EjyrAKOQpyc3hEo=";
};
nativeBuildInputs = [ fontforge ];
dontConfigure = true;
buildPhase = ''
runHook preBuild
for i in sfd/*.sfd; do
fontforge -lang=ff -c \
'Open($1);
Generate($1:r + ".otf");
' $i;
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -m444 -Dt $out/share/fonts/opentype/public sfd/*.otf
runHook postInstall
'';
meta = {
description = "Computer Modern fonts including matching non-latin alphabets";
homepage = "https://ctan.org/pkg/newcomputermodern";
# "The GUST Font License (GFL), which is a free license, legally
# equivalent to the LaTeX Project Public License (LPPL), version 1.3c or
# later." - GUST website
license = lib.licenses.lppl13c;
maintainers = [ lib.maintainers.drupol ];
platforms = lib.platforms.all;
};
})

View File

@ -1,8 +1,9 @@
{ lib { lib
, rustPlatform , rustPlatform
, installShellFiles , installShellFiles
, makeWrapper , makeBinaryWrapper
, fetchFromGitHub , fetchFromGitHub
, nix-update-script
, nvd , nvd
, use-nom ? true , use-nom ? true
, nix-output-monitor ? null , nix-output-monitor ? null
@ -11,7 +12,7 @@
assert use-nom -> nix-output-monitor != null; assert use-nom -> nix-output-monitor != null;
let let
version = "3.4.12"; version = "3.5.1";
runtimeDeps = [ nvd ] ++ lib.optionals use-nom [ nix-output-monitor ]; runtimeDeps = [ nvd ] ++ lib.optionals use-nom [ nix-output-monitor ];
in in
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
@ -22,14 +23,14 @@ rustPlatform.buildRustPackage {
owner = "ViperML"; owner = "ViperML";
repo = "nh"; repo = "nh";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-V5TQ/1loQnegDjfLh61DxBWEQZivYEBq2kQpT0fn2cQ="; hash = "sha256-q13oPB1fl45E+7cbV1P1VQt1GtGBaSbrHPtC0Y7q83c=";
}; };
strictDeps = true; strictDeps = true;
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles
makeWrapper makeBinaryWrapper
]; ];
preFixup = '' preFixup = ''
@ -47,7 +48,9 @@ rustPlatform.buildRustPackage {
${lib.optionalString use-nom "--set-default NH_NOM 1"} ${lib.optionalString use-nom "--set-default NH_NOM 1"}
''; '';
cargoHash = "sha256-Ul4DM8WmKvKG32zBXzpdzHZknpTQAVvrxFcEd/C1buA="; cargoHash = "sha256-Jy873l3ZRBqljzV/GwLbkk1kpO6zNqeGmuMDSKUqyzM=";
passthru.updateScript = nix-update-script { };
meta = { meta = {
description = "Yet another nix cli helper"; description = "Yet another nix cli helper";

View File

@ -6,13 +6,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "oelint-adv"; pname = "oelint-adv";
version = "3.26.6"; version = "3.26.12";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "oelint_adv"; pname = "oelint_adv";
hash = "sha256-RRNuuGpK9c8Cj4FUEHZses3CMDZku/AzY7S9yl5DrSo="; hash = "sha256-pemFy+MTBE9T/dY93rErlvWCru1TLR7X25/1+GNAFdw=";
}; };
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "terrapin-scanner"; pname = "terrapin-scanner";
version = "1.1.0"; version = "1.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RUB-NDS"; owner = "RUB-NDS";
repo = "Terrapin-Scanner"; repo = "Terrapin-Scanner";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-d0aAs9dT74YQkzDQnmeEo+p/RnPHeG2+SgCCF/t1F+w="; hash = "sha256-LBcoD/adIcda6ZxlEog8ArW0thr3g14fvEMFfgxiTsI=";
}; };
vendorHash = "sha256-skYMlL9SbBoC89tFCTIzyRViEJaviXENASEqr6zSvoo="; vendorHash = "sha256-x3fzs/TNGRo+u+RufXzzjDCeQayEZIKlgokdEQJRNaI=";
ldflags = [ ldflags = [
"-s" "-s"

View File

@ -2,7 +2,7 @@
let let
themeName = "Dracula"; themeName = "Dracula";
version = "unstable-2023-12-16"; version = "unstable-2024-01-08";
in in
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "dracula-theme"; pname = "dracula-theme";
@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dracula"; owner = "dracula";
repo = "gtk"; repo = "gtk";
rev = "80d5a3fedf280e9cc7f2df3b100a1082c3bcd1cc"; rev = "f3c876d8c97f9bb504c98592a8d96770e70585bb";
hash = "sha256-BPL0Msva1/sPQKPeRJHgvU+xXU3m8b2E6aDBLmXbkkA="; hash = "sha256-jRq/rUVk/1+LoQaD5sytjai0yZOf+544z0TfxhMUThg=";
}; };
propagatedUserEnvPkgs = [ propagatedUserEnvPkgs = [

View File

@ -1,49 +0,0 @@
{ lib, stdenv, fetchgit, mpfr, m4, binutils, emacs, zlib, which
, texinfo, libX11, xorgproto, libXi, gmp, readline
, libXext, libXt, libXaw, libXmu } :
assert stdenv ? cc ;
assert stdenv.cc.isGNU ;
assert stdenv.cc ? libc ;
assert stdenv.cc.libc != null ;
stdenv.mkDerivation rec {
pname = "gcl";
version = "2.6.13pre124";
src = fetchgit {
sha256 = "sha256-e4cUQlNSfdz+B3urlZ82pf7fTc6aoloUyDDorAUi5kc=";
url = "https://git.savannah.gnu.org/r/gcl.git";
rev = "refs/tags/Version_${builtins.replaceStrings ["."] ["_"] version}";
};
postPatch = ''
sed -e 's/<= obj-date/<= (if (= 0 obj-date) 1 obj-date)/' -i lsp/make.lisp
'';
sourceRoot = "${src.name}/gcl";
# breaks when compiling in parallel
enableParallelBuilding = false;
patches = [];
buildInputs = [
mpfr m4 binutils emacs gmp
libX11 xorgproto libXi
libXext libXt libXaw libXmu
zlib which texinfo readline
];
configureFlags = [
"--enable-ansi"
];
hardeningDisable = [ "pic" "bindnow" ];
meta = {
description = "GNU Common Lisp compiler working via GCC";
maintainers = lib.teams.lisp.members;
platforms = lib.platforms.linux;
};
}

View File

@ -46,11 +46,11 @@ let
in in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "go"; pname = "go";
version = "1.20.12"; version = "1.20.13";
src = fetchurl { src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-xb+TR1HTHDFcHQu1+wIpZUX6bQiSNWb3pa/sgfLtJ9Y="; hash = "sha256-D+dFxTDy8dZxk688XqJSRr4HeYnsUXjfJm6XXzUyRJ4=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }: { lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }:
let let
version = "0.4.3"; version = "0.4.4";
ptraceSubstitution = '' ptraceSubstitution = ''
#include <sys/types.h> #include <sys/types.h>
#include <sys/ptrace.h> #include <sys/ptrace.h>
@ -10,12 +10,12 @@ let
# So we fix its rev to correspond to the V version. # So we fix its rev to correspond to the V version.
vc = stdenv.mkDerivation { vc = stdenv.mkDerivation {
pname = "v.c"; pname = "v.c";
version = "0.4.3"; version = "0.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vlang"; owner = "vlang";
repo = "vc"; repo = "vc";
rev = "5e691a82c01957870b451e06216a9fb3a4e83a18"; rev = "66eb8eae253d31fa5622e35a69580d9ad8efcccb";
hash = "sha256-Ti2b88NDG1pppj34BeK8+UsT2HiG/jcAF2mHgiBBRaI="; hash = "sha256-YGlzr0Qq7+NtrnbaFPBuclzjOZBOnTe3BOhsuwdsQ5c=";
}; };
# patch the ptrace reference for darwin # patch the ptrace reference for darwin
@ -46,7 +46,7 @@ stdenv.mkDerivation {
owner = "vlang"; owner = "vlang";
repo = "v"; repo = "v";
rev = version; rev = version;
hash = "sha256-ZFBQD7SP38VnEMoOnwr/n8zZuLtR7GR3OCYhvfz3apI="; hash = "sha256-Aqecw8K+igHx5R34lQiWtdNfeGn+umcjcS4w0vXgpLM=";
}; };
propagatedBuildInputs = [ glfw freetype openssl ] propagatedBuildInputs = [ glfw freetype openssl ]

View File

@ -72,7 +72,7 @@ attrsets.filterAttrs (attr: _: (builtins.hasAttr attr prev)) {
env.autoPatchelfIgnoreMissingDeps = env.autoPatchelfIgnoreMissingDeps =
prevAttrs.env.autoPatchelfIgnoreMissingDeps + " libnvrm_gpu.so libnvrm_mem.so libnvdla_runtime.so"; prevAttrs.env.autoPatchelfIgnoreMissingDeps + " libnvrm_gpu.so libnvrm_mem.so libnvdla_runtime.so";
# `cuda_compat` only works on aarch64-linux, and only when building for Jetson devices. # `cuda_compat` only works on aarch64-linux, and only when building for Jetson devices.
brokenConditions = prevAttrs.brokenConditions // { badPlatformsConditions = prevAttrs.badPlatformsConditions // {
"Trying to use cuda_compat on aarch64-linux targeting non-Jetson devices" = "Trying to use cuda_compat on aarch64-linux targeting non-Jetson devices" =
!final.flags.isJetsonBuild; !final.flags.isJetsonBuild;
}; };

View File

@ -180,10 +180,17 @@ backendStdenv.mkDerivation rec {
# This dependency is asked for by target-linux-x64/CollectX/RedHat/x86_64/libssl.so.10 # This dependency is asked for by target-linux-x64/CollectX/RedHat/x86_64/libssl.so.10
# - do we even want to use nvidia-shipped libssl? # - do we even want to use nvidia-shipped libssl?
"libcom_err.so.2" "libcom_err.so.2"
] ++ lib.optionals (lib.versionOlder version "10.1") [
# For Cuda 10.0, nVidia also shipped a jre implementation which needed
# two old versions of ffmpeg which are not available in nixpkgs
"libavcodec.so.54"
"libavcodec.so.53"
"libavformat.so.54"
"libavformat.so.53"
]; ];
preFixup = preFixup =
if lib.versionOlder version "11" then if (lib.versionAtLeast version "10.1" && lib.versionOlder version "11") then
'' ''
${lib.getExe' patchelf "patchelf"} $out/targets/*/lib/libnvrtc.so --add-needed libnvrtc-builtins.so ${lib.getExe' patchelf "patchelf"} $out/targets/*/lib/libnvrtc.so --add-needed libnvrtc-builtins.so
'' ''

View File

@ -1,10 +1,18 @@
# Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix # Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix
{package, redistArch}:
{ {
featureRelease.${redistArch}.outputs = { lib,
lib = true; package,
static = true; # redistArch :: String
dev = true; # String is "unsupported" if the given architecture is unsupported.
redistArch,
}:
{
featureRelease = lib.optionalAttrs (redistArch != "unsupported") {
${redistArch}.outputs = {
lib = true;
static = true;
dev = true;
};
}; };
redistribRelease = { redistribRelease = {
name = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; name = "NVIDIA CUDA Deep Neural Network library (cuDNN)";

View File

@ -92,6 +92,7 @@ let
# A release is supported if it has a libPath that matches our CUDA version for our platform. # A release is supported if it has a libPath that matches our CUDA version for our platform.
# LibPath are not constant across the same release -- one platform may support fewer # LibPath are not constant across the same release -- one platform may support fewer
# CUDA versions than another. # CUDA versions than another.
# redistArch :: String
redistArch = flags.getRedistArch hostPlatform.system; redistArch = flags.getRedistArch hostPlatform.system;
# platformIsSupported :: Manifests -> Boolean # platformIsSupported :: Manifests -> Boolean
platformIsSupported = platformIsSupported =

View File

@ -131,39 +131,29 @@ let
# `linux-aarch64` redist (which is for Jetson devices) if we're building any Jetson devices. # `linux-aarch64` redist (which is for Jetson devices) if we're building any Jetson devices.
# Since both are based on aarch64, we can only have one or the other, otherwise there's an # Since both are based on aarch64, we can only have one or the other, otherwise there's an
# ambiguity as to which should be used. # ambiguity as to which should be used.
# NOTE: This function *will* be called by unsupported systems because `cudaPackages` is part of
# `all-packages.nix`, which is evaluated on all systems. As such, we need to handle unsupported
# systems gracefully.
# getRedistArch :: String -> String # getRedistArch :: String -> String
getRedistArch = getRedistArch = nixSystem: attrsets.attrByPath [ nixSystem ] "unsupported" {
nixSystem: aarch64-linux = if jetsonTargets != [] then "linux-aarch64" else "linux-sbsa";
if nixSystem == "aarch64-linux" then x86_64-linux = "linux-x86_64";
if jetsonTargets != [] then "linux-aarch64" else "linux-sbsa" ppc64le-linux = "linux-ppc64le";
else if nixSystem == "x86_64-linux" then x86_64-windows = "windows-x86_64";
"linux-x86_64" };
else if nixSystem == "ppc64le-linux" then
"linux-ppc64le"
else if nixSystem == "x86_64-windows" then
"windows-x86_64"
else
"unsupported";
# Maps NVIDIA redist arch to Nix system. # Maps NVIDIA redist arch to Nix system.
# It is imperative that we include the boolean condition based on jetsonTargets to ensure # NOTE: This function *will* be called by unsupported systems because `cudaPackages` is part of
# we don't advertise availability of packages only available on server-grade ARM # `all-packages.nix`, which is evaluated on all systems. As such, we need to handle unsupported
# as being available for the Jetson, since both `linux-sbsa` and `linux-aarch64` are # systems gracefully.
# mapped to the Nix system `aarch64-linux`. # getNixSystem :: String -> String
getNixSystem = getNixSystem = redistArch: attrsets.attrByPath [ redistArch ] "unsupported-${redistArch}" {
redistArch: linux-sbsa = "aarch64-linux";
if redistArch == "linux-sbsa" && jetsonTargets == [] then linux-aarch64 = "aarch64-linux";
"aarch64-linux" linux-x86_64 = "x86_64-linux";
else if redistArch == "linux-aarch64" && jetsonTargets != [] then linux-ppc64le = "ppc64le-linux";
"aarch64-linux" windows-x86_64 = "x86_64-windows";
else if redistArch == "linux-x86_64" then };
"x86_64-linux"
else if redistArch == "linux-ppc64le" then
"ppc64le-linux"
else if redistArch == "windows-x86_64" then
"x86_64-windows"
else
"unsupported-${redistArch}";
formatCapabilities = formatCapabilities =
{ {

View File

@ -43,6 +43,9 @@ let
# Get the redist architectures for which package provides distributables. # Get the redist architectures for which package provides distributables.
# These are used by meta.platforms. # These are used by meta.platforms.
supportedRedistArchs = builtins.attrNames featureRelease; supportedRedistArchs = builtins.attrNames featureRelease;
# redistArch :: String
# The redistArch is the name of the architecture for which the redistributable is built.
# It is `"unsupported"` if the redistributable is not supported on the target platform.
redistArch = flags.getRedistArch hostPlatform.system; redistArch = flags.getRedistArch hostPlatform.system;
in in
backendStdenv.mkDerivation ( backendStdenv.mkDerivation (
@ -87,8 +90,18 @@ backendStdenv.mkDerivation (
"sample" "sample"
"python" "python"
]; ];
# Filter out outputs that don't exist in the redistributable.
# NOTE: In the case the redistributable isn't supported on the target platform,
# we will have `outputs = [ "out" ] ++ possibleOutputs`. This is of note because platforms which
# aren't supported would otherwise have evaluation errors when trying to access outputs other than `out`.
# The alternative would be to have `outputs = [ "out" ]` when`redistArch = "unsupported"`, but that would
# require adding guards throughout the entirety of the CUDA package set to ensure `cudaSupport` is true --
# recall that OfBorg will evaluate packages marked as broken and that `cudaPackages` will be evaluated with
# `cudaSupport = false`!
additionalOutputs = additionalOutputs =
if redistArch == "unsupported" then possibleOutputs else builtins.filter hasOutput possibleOutputs; if redistArch == "unsupported"
then possibleOutputs
else builtins.filter hasOutput possibleOutputs;
# The out output is special -- it's the default output and we always include it. # The out output is special -- it's the default output and we always include it.
outputs = [ "out" ] ++ additionalOutputs; outputs = [ "out" ] ++ additionalOutputs;
in in
@ -112,21 +125,32 @@ backendStdenv.mkDerivation (
python = ["**/*.whl"]; python = ["**/*.whl"];
}; };
# Useful for introspecting why something went wrong. # Useful for introspecting why something went wrong. Maps descriptions of why the derivation would be marked as
# Maps descriptions of why the derivation would be marked broken to # broken on have badPlatforms include the current platform.
# booleans indicating whether that description is true.
brokenConditions = {};
src = fetchurl { # brokenConditions :: AttrSet Bool
url = # Sets `meta.broken = true` if any of the conditions are true.
if (builtins.hasAttr redistArch redistribRelease) then # Example: Broken on a specific version of CUDA or when a dependency has a specific version.
"https://developer.download.nvidia.com/compute/${redistName}/redist/${ brokenConditions = { };
redistribRelease.${redistArch}.relative_path
}" # badPlatformsConditions :: AttrSet Bool
else # Sets `meta.badPlatforms = meta.platforms` if any of the conditions are true.
"cannot-construct-an-url-for-the-${redistArch}-platform"; # Example: Broken on a specific architecture when some condition is met (like targeting Jetson).
sha256 = redistribRelease.${redistArch}.sha256 or lib.fakeHash; badPlatformsConditions = { };
};
# src :: Optional Derivation
src = trivial.pipe redistArch [
# If redistArch doesn't exist in redistribRelease, return null.
(redistArch: redistribRelease.${redistArch} or null)
# If the release is non-null, fetch the source; otherwise, return null.
(trivial.mapNullable (
{ relative_path, sha256, ... }:
fetchurl {
url = "https://developer.download.nvidia.com/compute/${redistName}/redist/${relative_path}";
inherit sha256;
}
))
];
# Handle the pkg-config files: # Handle the pkg-config files:
# 1. No FHS # 1. No FHS
@ -297,17 +321,18 @@ backendStdenv.mkDerivation (
meta = { meta = {
description = "${redistribRelease.name}. By downloading and using the packages you accept the terms and conditions of the ${finalAttrs.meta.license.shortName}"; description = "${redistribRelease.name}. By downloading and using the packages you accept the terms and conditions of the ${finalAttrs.meta.license.shortName}";
sourceProvenance = [sourceTypes.binaryNativeCode]; sourceProvenance = [sourceTypes.binaryNativeCode];
platforms =
lists.concatMap
(
redistArch:
let
nixSystem = flags.getNixSystem redistArch;
in
lists.optionals (!(strings.hasPrefix "unsupported-" nixSystem)) [ nixSystem ]
)
supportedRedistArchs;
broken = lists.any trivial.id (attrsets.attrValues finalAttrs.brokenConditions); broken = lists.any trivial.id (attrsets.attrValues finalAttrs.brokenConditions);
platforms = trivial.pipe supportedRedistArchs [
# Map each redist arch to the equivalent nix system or null if there is no equivalent.
(builtins.map flags.getNixSystem)
# Filter out unsupported systems
(builtins.filter (nixSystem: !(strings.hasPrefix "unsupported-" nixSystem)))
];
badPlatforms =
let
isBadPlatform = lists.any trivial.id (attrsets.attrValues finalAttrs.badPlatformsConditions);
in
lists.optionals isBadPlatform finalAttrs.meta.platforms;
license = licenses.unfree; license = licenses.unfree;
maintainers = teams.cuda.members; maintainers = teams.cuda.members;
# Force the use of the default, fat output by default (even though `dev` exists, which # Force the use of the default, fat output by default (even though `dev` exists, which

View File

@ -20,7 +20,7 @@
# The featureRelease is used to populate meta.platforms (by way of looking at the attribute names) # The featureRelease is used to populate meta.platforms (by way of looking at the attribute names)
# and to determine the outputs of the package. # and to determine the outputs of the package.
# shimFn :: {package, redistArch} -> AttrSet # shimFn :: {package, redistArch} -> AttrSet
shimsFn ? ({package, redistArch}: throw "shimsFn must be provided"), shimsFn ? (throw "shimsFn must be provided"),
# fixupFn :: Path # fixupFn :: Path
# A path (or nix expression) to be evaluated with callPackage and then # A path (or nix expression) to be evaluated with callPackage and then
# provided to the package's overrideAttrs function. # provided to the package's overrideAttrs function.
@ -29,16 +29,8 @@
# - cudaVersion # - cudaVersion
# - mkVersionedPackageName # - mkVersionedPackageName
# - package # - package
fixupFn ? ( # - ...
{ fixupFn ? (throw "fixupFn must be provided"),
final,
cudaVersion,
mkVersionedPackageName,
package,
...
}:
throw "fixupFn must be provided"
),
}: }:
let let
inherit (lib) inherit (lib)
@ -80,9 +72,11 @@ let
&& strings.versionAtLeast package.maxCudaVersion cudaVersion; && strings.versionAtLeast package.maxCudaVersion cudaVersion;
# Get all of the packages for our given platform. # Get all of the packages for our given platform.
# redistArch :: String
# Value is `"unsupported"` if the platform is not supported.
redistArch = flags.getRedistArch hostPlatform.system; redistArch = flags.getRedistArch hostPlatform.system;
allReleases = builtins.concatMap (xs: xs) (builtins.attrValues releaseSets); allReleases = lists.flatten (builtins.attrValues releaseSets);
# All the supported packages we can build for our platform. # All the supported packages we can build for our platform.
# perSystemReleases :: List Package # perSystemReleases :: List Package

View File

@ -100,6 +100,9 @@ backendStdenv.mkDerivation (
homepage = "https://developer.nvidia.com/nccl"; homepage = "https://developer.nvidia.com/nccl";
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.linux; platforms = platforms.linux;
# NCCL is not supported on Jetson, because it does not use NVLink or PCI-e for inter-GPU communication.
# https://forums.developer.nvidia.com/t/can-jetson-orin-support-nccl/232845/9
badPlatforms = lib.optionals cudaFlags.isJetsonBuild [ "aarch64-linux" ];
maintainers = maintainers =
with maintainers; with maintainers;
[ [

View File

@ -36,7 +36,9 @@ backendStdenv.mkDerivation {
buildInputs = buildInputs =
lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit] lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [ ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
libcublas libcublas.dev
libcublas.lib
libcublas.static
cuda_cudart cuda_cudart
] ]
++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [cuda_cccl]; ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [cuda_cccl];

View File

@ -11,18 +11,17 @@
}: }:
let let
inherit (lib) inherit (lib)
attrsets
maintainers maintainers
meta meta
strings strings
versions versions
; ;
targetArch = # targetArch :: String
if hostPlatform.isx86_64 then targetArch = attrsets.attrByPath [ hostPlatform.system ] "unsupported" {
"x86_64-linux-gnu" x86_64-linux = "x86_64-linux-gnu";
else if hostPlatform.isAarch64 then aarch64-linux = "aarch64-linux-gnu";
"aarch64-linux-gnu" };
else
"unsupported";
in in
finalAttrs: prevAttrs: { finalAttrs: prevAttrs: {
# Useful for inspecting why something went wrong. # Useful for inspecting why something went wrong.
@ -69,7 +68,7 @@ finalAttrs: prevAttrs: {
preInstall = preInstall =
(prevAttrs.preInstall or "") (prevAttrs.preInstall or "")
+ '' + strings.optionalString (targetArch != "unsupported") ''
# Replace symlinks to bin and lib with the actual directories from targets. # Replace symlinks to bin and lib with the actual directories from targets.
for dir in bin lib; do for dir in bin lib; do
rm "$dir" rm "$dir"

View File

@ -1,13 +1,21 @@
# Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix # Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix
{package, redistArch}:
{ {
featureRelease.${redistArch}.outputs = { lib,
bin = true; package,
lib = true; # redistArch :: String
static = true; # String is `"unsupported"` if the given architecture is unsupported.
dev = true; redistArch,
sample = true; }:
python = true; {
featureRelease = lib.optionalAttrs (redistArch != "unsupported") {
${redistArch}.outputs = {
bin = true;
lib = true;
static = true;
dev = true;
sample = true;
python = true;
};
}; };
redistribRelease = { redistribRelease = {
name = "TensorRT: a high-performance deep learning interface"; name = "TensorRT: a high-performance deep learning interface";

View File

@ -23,14 +23,6 @@
}: }:
let let
emilua-http-wrap = fetchFromGitHub {
owner = "BoostGSoC14";
repo = "boost.http";
rev = "93ae527c89ffc517862e1f5f54c8a257278f1195";
name = "emilua-http";
hash = "sha256-MN29YwkTi0TJ2V+vRI9nUIxvJKsG+j3nT3o0yQB3p0o=";
};
trial-protocol-wrap = fetchFromGitHub { trial-protocol-wrap = fetchFromGitHub {
owner = "breese"; owner = "breese";
repo = "trial.protocol"; repo = "trial.protocol";
@ -41,13 +33,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emilua"; pname = "emilua";
version = "0.5.1"; version = "0.6.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "emilua"; owner = "emilua";
repo = "emilua"; repo = "emilua";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-5NzxZHdQGw3qLEzW/mv1sLCuqehn5pjUYkCna4PUzDQ="; hash = "sha256-cW2b+jUQT60hCCirBzxZltzA7KvBihnzWNPkKDID6kU=";
}; };
buildInputs = [ buildInputs = [
@ -84,20 +76,17 @@ stdenv.mkDerivation rec {
}; };
mesonFlags = [ mesonFlags = [
(lib.mesonOption "version_suffix" "-nixpkgs1")
(lib.mesonBool "enable_http" true)
(lib.mesonBool "enable_file_io" true) (lib.mesonBool "enable_file_io" true)
(lib.mesonBool "enable_io_uring" true) (lib.mesonBool "enable_io_uring" true)
(lib.mesonBool "enable_tests" true) (lib.mesonBool "enable_tests" true)
(lib.mesonBool "enable_manpages" true) (lib.mesonBool "enable_manpages" true)
(lib.mesonOption "version_suffix" "-nixpkgs1")
]; ];
postPatch = '' postPatch = ''
pushd subprojects pushd subprojects
cp -r ${emilua-http-wrap} emilua-http
cp -r ${trial-protocol-wrap} trial-protocol cp -r ${trial-protocol-wrap} trial-protocol
chmod +w emilua-http trial-protocol chmod +w trial-protocol
cp "packagefiles/emilua-http/meson.build" "emilua-http/"
cp "packagefiles/trial.protocol/meson.build" "trial-protocol/" cp "packagefiles/trial.protocol/meson.build" "trial-protocol/"
popd popd

View File

@ -0,0 +1,14 @@
{ callPackage, fetchurl, fetchpatch, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.84.0";
src = fetchurl {
urls = [
"mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
"https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
];
# SHA256 from http://www.boost.org/users/history/version_1_84_0.html
sha256 = "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454";
};
})

View File

@ -24,4 +24,5 @@ in {
boost181 = makeBoost ./1.81.nix; boost181 = makeBoost ./1.81.nix;
boost182 = makeBoost ./1.82.nix; boost182 = makeBoost ./1.82.nix;
boost183 = makeBoost ./1.83.nix; boost183 = makeBoost ./1.83.nix;
boost184 = makeBoost ./1.84.nix;
} }

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