mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 04:35:41 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
3abd3dab62
245 changed files with 7638 additions and 3017 deletions
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
@ -336,9 +336,6 @@ pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange
|
|||
/pkgs/build-support/node/fetch-npm-deps @winterqt
|
||||
/doc/languages-frameworks/javascript.section.md @winterqt
|
||||
|
||||
# environment.noXlibs option aka NoX
|
||||
/nixos/modules/config/no-x-libs.nix @SuperSandro2000
|
||||
|
||||
# OCaml
|
||||
/pkgs/build-support/ocaml @ulrikstrid
|
||||
/pkgs/development/compilers/ocaml @ulrikstrid
|
||||
|
|
|
@ -2733,6 +2733,13 @@
|
|||
githubId = 19915050;
|
||||
name = "binarycat";
|
||||
};
|
||||
binary-eater = {
|
||||
email = "sergeantsagara@protonmail.com";
|
||||
github = "Binary-Eater";
|
||||
githubId = 10691440;
|
||||
name = "Rahul Rameshbabu";
|
||||
keys = [ { fingerprint = "678A 8DF1 D9F2 B51B 7110 BE53 FF24 7B3E 5411 387B"; } ];
|
||||
};
|
||||
binsky = {
|
||||
email = "timo@binsky.org";
|
||||
github = "binsky08";
|
||||
|
@ -2750,6 +2757,12 @@
|
|||
githubId = 10164833;
|
||||
name = "Birk Bohne";
|
||||
};
|
||||
bjesus = {
|
||||
email = "nixpkgs@yoavmoshe.com";
|
||||
github = "bjesus";
|
||||
githubId = 55081;
|
||||
name = "Yo'av Moshe";
|
||||
};
|
||||
bjornfor = {
|
||||
email = "bjorn.forsman@gmail.com";
|
||||
github = "bjornfor";
|
||||
|
@ -13446,6 +13459,12 @@
|
|||
github = "Mephistophiles";
|
||||
githubId = 4850908;
|
||||
};
|
||||
merrkry = {
|
||||
email = "merrkry@tsubasa.moe";
|
||||
name = "merrkry";
|
||||
github = "merrkry";
|
||||
githubId = 124278440;
|
||||
};
|
||||
mevatron = {
|
||||
email = "mevatron@gmail.com";
|
||||
name = "mevatron";
|
||||
|
|
0
maintainers/scripts/pluginupdate-py/__init__.py
Normal file
0
maintainers/scripts/pluginupdate-py/__init__.py
Normal file
|
@ -1,8 +1,6 @@
|
|||
# Minimal {#sec-profile-minimal}
|
||||
|
||||
This profile defines a small NixOS configuration. It does not contain any
|
||||
graphical stuff. It's a very short file that enables
|
||||
[noXlibs](#opt-environment.noXlibs), sets
|
||||
[](#opt-i18n.supportedLocales) to
|
||||
only support the user-selected locale,
|
||||
and [disables packages' documentation](#opt-documentation.enable).
|
||||
graphical stuff. It's a very short file that sets [](#opt-i18n.supportedLocales)
|
||||
to only support the user-selected locale, and
|
||||
[disables packages' documentation](#opt-documentation.enable).
|
||||
|
|
|
@ -220,6 +220,8 @@ The NixOS installer ships with multiple partitioning tools. The examples
|
|||
below use `parted`, but also provides `fdisk`, `gdisk`, `cfdisk`, and
|
||||
`cgdisk`.
|
||||
|
||||
Use the command 'lsblk' to find the name of your 'disk' device.
|
||||
|
||||
The recommended partition scheme differs depending if the computer uses
|
||||
*Legacy Boot* or *UEFI*.
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
- The [Xen Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable).
|
||||
- This release includes Xen [4.17.5](https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes), [4.18.3](https://wiki.xenproject.org/wiki/Xen_Project_4.18_Release_Notes) and [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes), as well as support for booting the hypervisor on EFI systems.
|
||||
::: {.warning}
|
||||
Booting into Xen through a legacy BIOS bootloader or with the legacy script-based Stage 1 initrd have been **deprecated**. Only EFI booting and the new systemd-based Stage 1 initrd are supported.
|
||||
Booting into Xen through a legacy BIOS bootloader or with the legacy script-based Stage 1 initrd have been **deprecated**. Only EFI booting and the new systemd-based Stage 1 initrd are supported.
|
||||
:::
|
||||
- There are two flavours of Xen available by default: `xen`, which includes all built-in components, and `xen-slim`, which replaces the built-in components with their Nixpkgs equivalents.
|
||||
- The `qemu-xen-traditional` component has been deprecated by upstream Xen, and is no longer available in any of the Xen packages.
|
||||
|
@ -149,6 +149,8 @@
|
|||
|
||||
- [ToDesk](https://www.todesk.com/linux.html), a remote desktop applicaton. Available as [services.todesk.enable](#opt-services.todesk.enable).
|
||||
|
||||
- [Dependency Track](https://dependencytrack.org/), an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain. Available as [services.dependency-track](option.html#opt-services.dependency-track).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
||||
|
||||
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
||||
|
@ -257,6 +259,9 @@
|
|||
|
||||
- `pkgs.nextcloud27` has been removed since it's EOL.
|
||||
|
||||
- The `environment.noXlibs` option has been removed. It was a common source of unexpected rebuilds and breakage that was often hard to diagnose.
|
||||
If you need to disable certain libraries, you're encouraged to add your own overlay to your configuration that targets the packages you care about.
|
||||
|
||||
- `frigate` was updated past 0.14.0. This release includes various breaking changes, so please go read the [release notes](https://github.com/blakeblackshear/frigate/releases/tag/v0.14.0).
|
||||
Most prominently access to the webinterface and API are now protected by authentication. Retrieve the auto-created
|
||||
admin account from the `frigate.service` journal after upgrading.
|
||||
|
@ -472,6 +477,12 @@
|
|||
|
||||
- The `isync` package has been updated to version `1.5.0`, which introduces some breaking changes. See the [compatibility concerns](https://sourceforge.net/projects/isync/files/isync/1.5.0/) for more details.
|
||||
|
||||
- Legacy package `globalprotect-openconnect` 1.x and related module
|
||||
`globalprotect-vpn` were dropped. Two new packages `gpauth` and `gpclient`
|
||||
from the 2.x version of the GlobalProtect-openconnect project are added in its
|
||||
place. The GUI components related to the project are non-free and not
|
||||
packaged.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -511,6 +522,8 @@
|
|||
The derivation now installs "impl" headers selectively instead of by a wildcard.
|
||||
Use `imgui.src` if you just want to access the unpacked sources.
|
||||
|
||||
- Linux 4.19 has been removed because it will reach its end of life within the lifespan of 24.11
|
||||
|
||||
- Unprivileged access to the kernel syslog via `dmesg` is now restricted by default. Users wanting to keep an
|
||||
unrestricted access to it can set `boot.kernel.sysctl."kernel.dmesg_restrict" = false`.
|
||||
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
# This module gets rid of all dependencies on X11 client libraries
|
||||
# (including fontconfig).
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
options = {
|
||||
environment.noXlibs = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Switch off the options in the default configuration that
|
||||
require X11 libraries. This includes client-side font
|
||||
configuration and SSH forwarding of X11 authentication
|
||||
in. Thus, you probably do not want to enable this option if
|
||||
you want to run X11 programs on this machine via SSH.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.environment.noXlibs {
|
||||
programs.ssh.setXAuthLocation = false;
|
||||
security.pam.services.su.forwardXAuth = lib.mkForce false;
|
||||
|
||||
fonts.fontconfig.enable = false;
|
||||
|
||||
nixpkgs.overlays = lib.singleton (lib.const (super: {
|
||||
beam = super.beam_nox;
|
||||
cairo = super.cairo.override { x11Support = false; };
|
||||
dbus = super.dbus.override { x11Support = false; };
|
||||
fastfetch = super.fastfetch.override { vulkanSupport = false; waylandSupport = false; x11Support = false; };
|
||||
ffmpeg = super.ffmpeg.override { ffmpegVariant = "headless"; };
|
||||
ffmpeg_4 = super.ffmpeg_4.override { ffmpegVariant = "headless"; };
|
||||
ffmpeg_6 = super.ffmpeg_6.override { ffmpegVariant = "headless"; };
|
||||
ffmpeg_7 = super.ffmpeg_7.override { ffmpegVariant = "headless"; };
|
||||
# dep of graphviz, libXpm is optional for Xpm support
|
||||
gd = super.gd.override { withXorg = false; };
|
||||
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
|
||||
gjs = (super.gjs.override { installTests = false; }).overrideAttrs { doCheck = false; }; # avoid test dependency on gtk3
|
||||
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
|
||||
gpg-tui = super.gpg-tui.override { x11Support = false; };
|
||||
gpsd = super.gpsd.override { guiSupport = false; };
|
||||
graphviz = super.graphviz-nox;
|
||||
gst_all_1 = super.gst_all_1 // {
|
||||
gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; };
|
||||
gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableGl = false; enableWayland = false; enableX11 = false; };
|
||||
gst-plugins-good = super.gst_all_1.gst-plugins-good.override { enableWayland = false; enableX11 = false; gtkSupport = false; qt5Support = false; qt6Support = false; };
|
||||
gst-plugins-rs = super.gst_all_1.gst-plugins-rs.override { withGtkPlugins = false; };
|
||||
};
|
||||
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
|
||||
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
|
||||
intel-vaapi-driver = super.intel-vaapi-driver.override { enableGui = false; };
|
||||
libdevil = super.libdevil-nox;
|
||||
libextractor = super.libextractor.override { gtkSupport = false; };
|
||||
libplacebo = super.libplacebo.override { vulkanSupport = false; };
|
||||
libva = super.libva-minimal;
|
||||
limesuite = super.limesuite.override { withGui = false; };
|
||||
mc = super.mc.override { x11Support = false; };
|
||||
mpv-unwrapped = super.mpv-unwrapped.override { drmSupport = false; screenSaverSupport = false; sdl2Support = false; vulkanSupport = false; waylandSupport = false; x11Support = false; };
|
||||
msmtp = super.msmtp.override { withKeyring = false; };
|
||||
mupdf = super.mupdf.override { enableGL = false; enableX11 = false; };
|
||||
neofetch = super.neofetch.override { x11Support = false; };
|
||||
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
|
||||
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
|
||||
networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
|
||||
networkmanager-openconnect = super.networkmanager-openconnect.override { withGnome = false; };
|
||||
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
|
||||
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
|
||||
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
|
||||
pango = super.pango.override { x11Support = false; };
|
||||
pinentry-curses = super.pinentry-curses.override { withLibsecret = false; };
|
||||
pinentry-tty = super.pinentry-tty.override { withLibsecret = false; };
|
||||
pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; };
|
||||
pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
|
||||
(python-final: python-prev: {
|
||||
# tk feature requires wayland which fails to compile
|
||||
matplotlib = python-prev.matplotlib.override { enableTk = false; };
|
||||
})
|
||||
];
|
||||
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
|
||||
qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
|
||||
qt5 = super.qt5.overrideScope (lib.const (super': {
|
||||
qtbase = super'.qtbase.override { withGtk3 = false; withQttranslation = false; };
|
||||
}));
|
||||
stoken = super.stoken.override { withGTK3 = false; };
|
||||
# translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
|
||||
util-linux = super.util-linux.override { translateManpages = false; };
|
||||
vim-full = super.vim-full.override { guiSupport = false; };
|
||||
vte = super.vte.override { gtkVersion = null; };
|
||||
zbar = super.zbar.override { enableVideo = false; withXorg = false; };
|
||||
}));
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
x86_64-linux = "/nix/store/f409bhlpp0xkzvdz95qr2yvfjfi8r9jc-nix-2.18.5";
|
||||
i686-linux = "/nix/store/ra39jzrxq3bcpf55aahwv5037akvylf5-nix-2.18.5";
|
||||
aarch64-linux = "/nix/store/xiw8a4jbnw18svgdb04hyqzg5bsjspqf-nix-2.18.5";
|
||||
x86_64-darwin = "/nix/store/k2gzx7i90x3h2c8g6xdi1jkwbl6ic895-nix-2.18.5";
|
||||
aarch64-darwin = "/nix/store/rqwymbndaqxma6p8s5brcl9k32n5xx54-nix-2.18.5";
|
||||
x86_64-linux = "/nix/store/mczjdfprd67mdn90488854bf6b3nkp8j-nix-2.18.7";
|
||||
i686-linux = "/nix/store/qqll8zrx7ibdx34ry1ijanqdpdpnibbc-nix-2.18.7";
|
||||
aarch64-linux = "/nix/store/lwysvjn745fwsz8nv13zzsfq0dhiyxlp-nix-2.18.7";
|
||||
x86_64-darwin = "/nix/store/frzvlvzzj7hwvg8p0y0ivl27430nxhfy-nix-2.18.7";
|
||||
aarch64-darwin = "/nix/store/43dp3pl3k95gszp1hl9sjm22gly65sxi-nix-2.18.7";
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
./config/nix-channel.nix
|
||||
./config/nix-flakes.nix
|
||||
./config/nix-remote-build.nix
|
||||
./config/no-x-libs.nix
|
||||
./config/nsswitch.nix
|
||||
./config/power-management.nix
|
||||
./config/pulseaudio.nix
|
||||
|
@ -1045,7 +1044,6 @@
|
|||
./services/networking/gdomap.nix
|
||||
./services/networking/ghostunnel.nix
|
||||
./services/networking/git-daemon.nix
|
||||
./services/networking/globalprotect-vpn.nix
|
||||
./services/networking/gns3-server.nix
|
||||
./services/networking/gnunet.nix
|
||||
./services/networking/go-autoconfig.nix
|
||||
|
@ -1398,6 +1396,7 @@
|
|||
./services/web-apps/crabfit.nix
|
||||
./services/web-apps/davis.nix
|
||||
./services/web-apps/cryptpad.nix
|
||||
./services/web-apps/dependency-track.nix
|
||||
./services/web-apps/dex.nix
|
||||
./services/web-apps/discourse.nix
|
||||
./services/web-apps/documize.nix
|
||||
|
|
|
@ -19,7 +19,7 @@ with lib;
|
|||
# Perl is a default package.
|
||||
environment.defaultPackages = mkDefault [ ];
|
||||
|
||||
environment.stub-ld.enable = false;
|
||||
environment.stub-ld.enable = mkDefault false;
|
||||
|
||||
# The lessopen package pulls in Perl.
|
||||
programs.less.lessopen = mkDefault null;
|
||||
|
@ -29,6 +29,8 @@ with lib;
|
|||
|
||||
programs.command-not-found.enable = mkDefault false;
|
||||
|
||||
programs.ssh.setXAuthLocation = mkDefault false;
|
||||
|
||||
services.logrotate.enable = mkDefault false;
|
||||
|
||||
services.udisks2.enable = mkDefault false;
|
||||
|
|
|
@ -21,6 +21,10 @@ in
|
|||
|
||||
# Completely removed modules
|
||||
(mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
|
||||
(mkRemovedOptionModule [ "environment" "noXlibs" ] ''
|
||||
The environment.noXlibs option was removed, as it often caused surprising breakages for new users.
|
||||
If you need its functionality, you can apply similar overlays in your own config.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "hardware" "brightnessctl" ] ''
|
||||
The brightnessctl module was removed because newer versions of
|
||||
|
@ -74,6 +78,7 @@ in
|
|||
(mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "globalprotect"] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "homeassistant-satellite"] "The `services.homeassistant-satellite` module has been replaced by `services.wyoming-satellite`.")
|
||||
(mkRemovedOptionModule [ "services" "hydron" ] "The `services.hydron` module has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability.")
|
||||
(mkRemovedOptionModule [ "services" "ihatemoney" ] "The ihatemoney module has been removed for lack of downstream maintainer")
|
||||
|
|
|
@ -448,4 +448,5 @@ in
|
|||
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ felixsinger ];
|
||||
}
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.globalprotect;
|
||||
|
||||
execStart =
|
||||
if cfg.csdWrapper == null then
|
||||
"${pkgs.globalprotect-openconnect}/bin/gpservice"
|
||||
else
|
||||
"${pkgs.globalprotect-openconnect}/bin/gpservice --csd-wrapper=${cfg.csdWrapper}";
|
||||
in
|
||||
|
||||
{
|
||||
options.services.globalprotect = {
|
||||
enable = lib.mkEnableOption "globalprotect";
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = ''
|
||||
GlobalProtect-openconnect configuration. For more information, visit
|
||||
<https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration>.
|
||||
'';
|
||||
default = { };
|
||||
example = {
|
||||
"vpn1.company.com" = {
|
||||
openconnect-args = "--script=/path/to/vpnc-script";
|
||||
};
|
||||
};
|
||||
type = lib.types.attrs;
|
||||
};
|
||||
|
||||
csdWrapper = lib.mkOption {
|
||||
description = ''
|
||||
A script that will produce a Host Integrity Protection (HIP) report,
|
||||
as described at <https://www.infradead.org/openconnect/hip.html>
|
||||
'';
|
||||
default = null;
|
||||
example = lib.literalExpression ''"''${pkgs.openconnect}/libexec/openconnect/hipreport.sh"'';
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.dbus.packages = [ pkgs.globalprotect-openconnect ];
|
||||
|
||||
environment.etc."gpservice/gp.conf".text = lib.generators.toINI { } cfg.settings;
|
||||
|
||||
systemd.services.gpservice = {
|
||||
description = "GlobalProtect openconnect DBus service";
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "com.yuezk.qt.GPService";
|
||||
ExecStart = execStart;
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -406,4 +406,6 @@ in
|
|||
}
|
||||
'';
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ felixsinger ];
|
||||
}
|
||||
|
|
|
@ -493,7 +493,7 @@ in
|
|||
};
|
||||
"~* ^/.well-known/(caldav|carddav)$" = {
|
||||
extraConfig = ''
|
||||
return 302 $http_x_forwarded_proto://$host/dav/;
|
||||
return 302 https://$host/dav/;
|
||||
'';
|
||||
};
|
||||
"~ ^(.+\.php)(.*)$" = {
|
||||
|
@ -505,7 +505,7 @@ in
|
|||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
fastcgi_param X-Forwarded-Proto $http_x_forwarded_proto;
|
||||
fastcgi_param X-Forwarded-Proto https;
|
||||
fastcgi_param X-Forwarded-Port $http_x_forwarded_port;
|
||||
'';
|
||||
};
|
||||
|
|
608
nixos/modules/services/web-apps/dependency-track.nix
Normal file
608
nixos/modules/services/web-apps/dependency-track.nix
Normal file
|
@ -0,0 +1,608 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.dependency-track;
|
||||
|
||||
settingsFormat = pkgs.formats.javaProperties { };
|
||||
|
||||
frontendConfigFormat = pkgs.formats.json { };
|
||||
frontendConfigFile = frontendConfigFormat.generate "config.json" {
|
||||
API_BASE_URL = cfg.frontend.baseUrl;
|
||||
OIDC_ISSUER = cfg.oidc.issuer;
|
||||
OIDC_CLIENT_ID = cfg.oidc.clientId;
|
||||
OIDC_SCOPE = cfg.oidc.scope;
|
||||
OIDC_FLOW = cfg.oidc.flow;
|
||||
OIDC_LOGIN_BUTTON_TEXT = cfg.oidc.loginButtonText;
|
||||
};
|
||||
|
||||
sslEnabled =
|
||||
config.services.nginx.virtualHosts.${cfg.nginx.domain}.addSSL
|
||||
|| config.services.nginx.virtualHosts.${cfg.nginx.domain}.forceSSL
|
||||
|| config.services.nginx.virtualHosts.${cfg.nginx.domain}.onlySSL
|
||||
|| config.services.nginx.virtualHosts.${cfg.nginx.domain}.enableACME;
|
||||
|
||||
assertStringPath =
|
||||
optionName: value:
|
||||
if lib.isPath value then
|
||||
throw ''
|
||||
services.dependency-track.${optionName}:
|
||||
${toString value}
|
||||
is a Nix path, but should be a string, since Nix
|
||||
paths are copied into the world-readable Nix store.
|
||||
''
|
||||
else
|
||||
value;
|
||||
|
||||
filterNull = lib.filterAttrs (_: v: v != null);
|
||||
|
||||
renderSettings =
|
||||
settings:
|
||||
lib.mapAttrs' (
|
||||
n: v:
|
||||
lib.nameValuePair (lib.toUpper (lib.replaceStrings [ "." ] [ "_" ] n)) (
|
||||
if lib.isBool v then lib.boolToString v else v
|
||||
)
|
||||
) (filterNull settings);
|
||||
in
|
||||
{
|
||||
options.services.dependency-track = {
|
||||
enable = lib.mkEnableOption "dependency-track";
|
||||
|
||||
package = lib.mkPackageOption pkgs "dependency-track" { };
|
||||
|
||||
logLevel = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"INFO"
|
||||
"WARN"
|
||||
"ERROR"
|
||||
"DEBUG"
|
||||
"TRACE"
|
||||
];
|
||||
default = "INFO";
|
||||
description = "Log level for dependency-track";
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 8080;
|
||||
description = ''
|
||||
On which port dependency-track should listen for new HTTP connections.
|
||||
'';
|
||||
};
|
||||
|
||||
javaArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ "-Xmx4G" ];
|
||||
description = "Java options passed to JVM";
|
||||
};
|
||||
|
||||
database = {
|
||||
type = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"h2"
|
||||
"postgresql"
|
||||
"manual"
|
||||
];
|
||||
default = "postgresql";
|
||||
description = ''
|
||||
`h2` database is not recommended for a production setup.
|
||||
`postgresql` this settings it recommended for production setups.
|
||||
`manual` the module doesn't handle database settings.
|
||||
'';
|
||||
};
|
||||
|
||||
createLocally = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether a database should be automatically created on the
|
||||
local host. Set this to false if you plan on provisioning a
|
||||
local database yourself.
|
||||
'';
|
||||
};
|
||||
|
||||
databaseName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "dependency-track";
|
||||
description = ''
|
||||
Database name to use when connecting to an external or
|
||||
manually provisioned database; has no effect when a local
|
||||
database is automatically provisioned.
|
||||
|
||||
To use this with a local database, set {option}`services.dependency-track.database.createLocally`
|
||||
to `false` and create the database and user.
|
||||
'';
|
||||
};
|
||||
|
||||
username = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "dependency-track";
|
||||
description = ''
|
||||
Username to use when connecting to an external or manually
|
||||
provisioned database; has no effect when a local database is
|
||||
automatically provisioned.
|
||||
|
||||
To use this with a local database, set {option}`services.dependency-track.database.createLocally`
|
||||
to `false` and create the database and user.
|
||||
'';
|
||||
};
|
||||
|
||||
passwordFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
example = "/run/keys/db_password";
|
||||
apply = assertStringPath "passwordFile";
|
||||
description = ''
|
||||
The path to a file containing the database password.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
ldap.bindPasswordFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
example = "/run/keys/ldap_bind_password";
|
||||
apply = assertStringPath "bindPasswordFile";
|
||||
description = ''
|
||||
The path to a file containing the LDAP bind password.
|
||||
'';
|
||||
};
|
||||
|
||||
frontend = {
|
||||
baseUrl = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = lib.optionalString cfg.nginx.enable "${
|
||||
if sslEnabled then "https" else "http"
|
||||
}://${cfg.nginx.domain}";
|
||||
defaultText = lib.literalExpression ''
|
||||
lib.optionalString config.services.dependency-track.nginx.enable "''${
|
||||
if sslEnabled then "https" else "http"
|
||||
}://''${config.services.dependency-track.nginx.domain}";
|
||||
'';
|
||||
description = ''
|
||||
The base URL of the API server.
|
||||
|
||||
NOTE:
|
||||
* This URL must be reachable by the browsers of your users.
|
||||
* The frontend container itself does NOT communicate with the API server directly, it just serves static files.
|
||||
* When deploying to dedicated servers, please use the external IP or domain of the API server.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
oidc = {
|
||||
enable = lib.mkEnableOption "oidc support";
|
||||
issuer = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Defines the issuer URL to be used for OpenID Connect.
|
||||
See alpine.oidc.issuer property of the API server.
|
||||
'';
|
||||
};
|
||||
clientId = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Defines the client ID for OpenID Connect.
|
||||
'';
|
||||
};
|
||||
scope = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "openid profile email";
|
||||
description = ''
|
||||
Defines the scopes to request for OpenID Connect.
|
||||
See also: https://openid.net/specs/openid-connect-basic-1_0.html#Scopes
|
||||
'';
|
||||
};
|
||||
flow = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"code"
|
||||
"implicit"
|
||||
];
|
||||
default = "code";
|
||||
description = ''
|
||||
Specifies the OpenID Connect flow to use.
|
||||
Values other than "implicit" will result in the Code+PKCE flow to be used.
|
||||
Usage of the implicit flow is strongly discouraged, but may be necessary when
|
||||
the IdP of choice does not support the Code+PKCE flow.
|
||||
See also:
|
||||
- https://oauth.net/2/grant-types/implicit/
|
||||
- https://oauth.net/2/pkce/
|
||||
'';
|
||||
};
|
||||
loginButtonText = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "Login with OpenID Connect";
|
||||
description = ''
|
||||
Defines the scopes to request for OpenID Connect.
|
||||
See also: https://openid.net/specs/openid-connect-basic-1_0.html#Scopes
|
||||
'';
|
||||
};
|
||||
usernameClaim = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "name";
|
||||
example = "preferred_username";
|
||||
description = ''
|
||||
Defines the name of the claim that contains the username in the provider's userinfo endpoint.
|
||||
Common claims are "name", "username", "preferred_username" or "nickname".
|
||||
See also: https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse
|
||||
'';
|
||||
};
|
||||
userProvisioning = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Specifies if mapped OpenID Connect accounts are automatically created upon successful
|
||||
authentication. When a user logs in with a valid access token but an account has
|
||||
not been previously provisioned, an authentication failure will be returned.
|
||||
This allows admins to control specifically which OpenID Connect users can access the
|
||||
system and which users cannot. When this value is set to true, a local OpenID Connect
|
||||
user will be created and mapped to the OpenID Connect account automatically. This
|
||||
automatic provisioning only affects authentication, not authorization.
|
||||
'';
|
||||
};
|
||||
teamSynchronization = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
This option will ensure that team memberships for OpenID Connect users are dynamic and
|
||||
synchronized with membership of OpenID Connect groups or assigned roles. When a team is
|
||||
mapped to an OpenID Connect group, all local OpenID Connect users will automatically be
|
||||
assigned to the team if they are a member of the group the team is mapped to. If the user
|
||||
is later removed from the OpenID Connect group, they will also be removed from the team. This
|
||||
option provides the ability to dynamically control user permissions via the identity provider.
|
||||
Note that team synchronization is only performed during user provisioning and after successful
|
||||
authentication.
|
||||
'';
|
||||
};
|
||||
teams = {
|
||||
claim = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "groups";
|
||||
description = ''
|
||||
Defines the name of the claim that contains group memberships or role assignments in the provider's userinfo endpoint.
|
||||
The claim must be an array of strings. Most public identity providers do not support group or role management.
|
||||
When using a customizable / on-demand hosted identity provider, name, content, and inclusion in the userinfo endpoint
|
||||
will most likely need to be configured.
|
||||
'';
|
||||
};
|
||||
default = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.commas;
|
||||
default = null;
|
||||
description = ''
|
||||
Defines one or more team names that auto-provisioned OIDC users shall be added to.
|
||||
Multiple team names may be provided as comma-separated list.
|
||||
|
||||
Has no effect when {option}`services.dependency-track.oidc.userProvisioning`=false,
|
||||
or {option}`services.dependency-track.oidc.teamSynchronization`=true.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nginx = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
example = false;
|
||||
description = ''
|
||||
Whether to set up an nginx virtual host.
|
||||
'';
|
||||
};
|
||||
|
||||
domain = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "dtrack.example.com";
|
||||
description = ''
|
||||
The domain name under which to set up the virtual host.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
options = {
|
||||
"alpine.data.directory" = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "/var/lib/dependency-track";
|
||||
description = ''
|
||||
Defines the path to the data directory. This directory will hold logs, keys,
|
||||
and any database or index files along with application-specific files or
|
||||
directories.
|
||||
'';
|
||||
};
|
||||
"alpine.database.mode" = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"server"
|
||||
"embedded"
|
||||
"external"
|
||||
];
|
||||
default =
|
||||
if cfg.database.type == "h2" then
|
||||
"embedded"
|
||||
else if cfg.database.type == "postgresql" then
|
||||
"external"
|
||||
else
|
||||
null;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.services.dependency-track.database.type == "h2" then "embedded"
|
||||
else if config.services.dependency-track.database.type == "postgresql" then "external"
|
||||
else null
|
||||
'';
|
||||
description = ''
|
||||
Defines the database mode of operation. Valid choices are:
|
||||
'server', 'embedded', and 'external'.
|
||||
In server mode, the database will listen for connections from remote hosts.
|
||||
In embedded mode, the system will be more secure and slightly faster.
|
||||
External mode should be used when utilizing an external database server
|
||||
(i.e. mysql, postgresql, etc).
|
||||
'';
|
||||
};
|
||||
"alpine.database.url" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default =
|
||||
if cfg.database.type == "h2" then
|
||||
"jdbc:h2:/var/lib/dependency-track/db"
|
||||
else if cfg.database.type == "postgresql" then
|
||||
"jdbc:postgresql:${cfg.database.databaseName}?socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/run/postgresql/.s.PGSQL.5432"
|
||||
else
|
||||
null;
|
||||
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.services.dependency-track.database.type == "h2" then "jdbc:h2:/var/lib/dependency-track/db"
|
||||
else if config.services.dependency-track.database.type == "postgresql" then "jdbc:postgresql:''${config.services.dependency-track.database.name}?socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/run/postgresql/.s.PGSQL.5432"
|
||||
else null
|
||||
'';
|
||||
description = "Specifies the JDBC URL to use when connecting to the database.";
|
||||
};
|
||||
"alpine.database.driver" = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"org.h2.Driver"
|
||||
"org.postgresql.Driver"
|
||||
"com.microsoft.sqlserver.jdbc.SQLServerDriver"
|
||||
"com.mysql.cj.jdbc.Driver"
|
||||
];
|
||||
default =
|
||||
if cfg.database.type == "h2" then
|
||||
"org.h2.Driver"
|
||||
else if cfg.database.type == "postgresql" then
|
||||
"org.postgresql.Driver"
|
||||
else
|
||||
null;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.services.dependency-track.database.type == "h2" then "org.h2.Driver"
|
||||
else if config.services.dependency-track.database.type == "postgresql" then "org.postgresql.Driver"
|
||||
else null;
|
||||
'';
|
||||
description = "Specifies the JDBC driver class to use.";
|
||||
};
|
||||
"alpine.database.username" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = if cfg.database.createLocally then "dependency-track" else cfg.database.username;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.services.dependency-track.database.createLocally then "dependency-track"
|
||||
else config.services.dependency-track.database.username
|
||||
'';
|
||||
description = "Specifies the username to use when authenticating to the database.";
|
||||
};
|
||||
"alpine.ldap.enabled" = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Defines if LDAP will be used for user authentication. If enabled,
|
||||
alpine.ldap.* properties should be set accordingly.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.enabled" = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = cfg.oidc.enable;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.enable";
|
||||
description = ''
|
||||
Defines if OpenID Connect will be used for user authentication.
|
||||
If enabled, alpine.oidc.* properties should be set accordingly.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.client.id" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = cfg.oidc.clientId;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.clientId";
|
||||
description = ''
|
||||
Defines the client ID to be used for OpenID Connect.
|
||||
The client ID should be the same as the one configured for the frontend,
|
||||
and will only be used to validate ID tokens.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.issuer" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = cfg.oidc.issuer;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.issuer";
|
||||
description = ''
|
||||
Defines the issuer URL to be used for OpenID Connect.
|
||||
This issuer MUST support provider configuration via the /.well-known/openid-configuration endpoint.
|
||||
See also:
|
||||
- https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
|
||||
- https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.username.claim" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = cfg.oidc.usernameClaim;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.usernameClaim";
|
||||
description = ''
|
||||
Defines the name of the claim that contains the username in the provider's userinfo endpoint.
|
||||
Common claims are "name", "username", "preferred_username" or "nickname".
|
||||
See also: https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.user.provisioning" = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = cfg.oidc.userProvisioning;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.userProvisioning";
|
||||
description = ''
|
||||
Specifies if mapped OpenID Connect accounts are automatically created upon successful
|
||||
authentication. When a user logs in with a valid access token but an account has
|
||||
not been previously provisioned, an authentication failure will be returned.
|
||||
This allows admins to control specifically which OpenID Connect users can access the
|
||||
system and which users cannot. When this value is set to true, a local OpenID Connect
|
||||
user will be created and mapped to the OpenID Connect account automatically. This
|
||||
automatic provisioning only affects authentication, not authorization.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.team.synchronization" = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = cfg.oidc.teamSynchronization;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.teamSynchronization";
|
||||
description = ''
|
||||
This option will ensure that team memberships for OpenID Connect users are dynamic and
|
||||
synchronized with membership of OpenID Connect groups or assigned roles. When a team is
|
||||
mapped to an OpenID Connect group, all local OpenID Connect users will automatically be
|
||||
assigned to the team if they are a member of the group the team is mapped to. If the user
|
||||
is later removed from the OpenID Connect group, they will also be removed from the team. This
|
||||
option provides the ability to dynamically control user permissions via the identity provider.
|
||||
Note that team synchronization is only performed during user provisioning and after successful
|
||||
authentication.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.teams.claim" = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = cfg.oidc.teams.claim;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.teams.claim";
|
||||
description = ''
|
||||
Defines the name of the claim that contains group memberships or role assignments in the provider's userinfo endpoint.
|
||||
The claim must be an array of strings. Most public identity providers do not support group or role management.
|
||||
When using a customizable / on-demand hosted identity provider, name, content, and inclusion in the userinfo endpoint
|
||||
will most likely need to be configured.
|
||||
'';
|
||||
};
|
||||
"alpine.oidc.teams.default" = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.commas;
|
||||
default = cfg.oidc.teams.default;
|
||||
defaultText = lib.literalExpression "config.services.dependency-track.oidc.teams.default";
|
||||
description = ''
|
||||
Defines one or more team names that auto-provisioned OIDC users shall be added to.
|
||||
Multiple team names may be provided as comma-separated list.
|
||||
|
||||
Has no effect when {option}`services.dependency-track.oidc.userProvisioning`=false,
|
||||
or {option}`services.dependency-track.oidc.teamSynchronization`=true.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "See https://docs.dependencytrack.org/getting-started/configuration/#default-configuration for possible options";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.nginx = lib.mkIf cfg.nginx.enable {
|
||||
enable = true;
|
||||
recommendedGzipSettings = lib.mkDefault true;
|
||||
recommendedOptimisation = lib.mkDefault true;
|
||||
recommendedProxySettings = lib.mkDefault true;
|
||||
recommendedTlsSettings = lib.mkDefault true;
|
||||
upstreams.dependency-track.servers."localhost:${toString cfg.port}" = { };
|
||||
virtualHosts.${cfg.nginx.domain} = {
|
||||
locations = {
|
||||
"/".proxyPass = "http://dependency-track";
|
||||
"= /static/config.json".alias = frontendConfigFile;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.dependency-track-postgresql-init = lib.mkIf cfg.database.createLocally {
|
||||
after = [ "postgresql.service" ];
|
||||
before = [ "dependency-track.service" ];
|
||||
bindsTo = [ "postgresql.service" ];
|
||||
path = [ config.services.postgresql.package ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
User = "postgres";
|
||||
Group = "postgres";
|
||||
LoadCredential = [ "db_password:${cfg.database.passwordFile}" ];
|
||||
PrivateTmp = true;
|
||||
};
|
||||
script = ''
|
||||
set -eou pipefail
|
||||
shopt -s inherit_errexit
|
||||
|
||||
# Read the password from the credentials directory and
|
||||
# escape any single quotes by adding additional single
|
||||
# quotes after them, following the rules laid out here:
|
||||
# https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS
|
||||
db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")"
|
||||
db_password="''${db_password//\'/\'\'}"
|
||||
|
||||
echo "CREATE ROLE \"dependency-track\" WITH LOGIN PASSWORD '$db_password' CREATEDB" > /tmp/create_role.sql
|
||||
psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='dependency-track'" | grep -q 1 || psql -tA --file="/tmp/create_role.sql"
|
||||
psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'dependency-track'" | grep -q 1 || psql -tAc 'CREATE DATABASE "dependency-track" OWNER "dependency-track"'
|
||||
'';
|
||||
};
|
||||
|
||||
services.postgresql.enable = lib.mkIf cfg.database.createLocally (lib.mkDefault true);
|
||||
|
||||
systemd.services."dependency-track" =
|
||||
let
|
||||
databaseServices =
|
||||
if cfg.database.createLocally then
|
||||
[
|
||||
"dependency-track-postgresql-init.service"
|
||||
"postgresql.service"
|
||||
]
|
||||
else
|
||||
[ ];
|
||||
in
|
||||
{
|
||||
description = "Dependency Track";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = databaseServices;
|
||||
after = databaseServices;
|
||||
# provide settings via env vars to allow overriding default settings.
|
||||
environment = {
|
||||
HOME = "%S/dependency-track";
|
||||
} // renderSettings cfg.settings;
|
||||
serviceConfig = {
|
||||
User = "dependency-track";
|
||||
Group = "dependency-track";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "dependency-track";
|
||||
LoadCredential =
|
||||
[ "db_password:${cfg.database.passwordFile}" ]
|
||||
++ lib.optional cfg.settings."alpine.ldap.enabled"
|
||||
"ldap_bind_password:${cfg.ldap.bindPasswordFile}";
|
||||
};
|
||||
script = ''
|
||||
set -eou pipefail
|
||||
shopt -s inherit_errexit
|
||||
|
||||
export ALPINE_DATABASE_PASSWORD_FILE="$CREDENTIALS_DIRECTORY/db_password"
|
||||
${lib.optionalString cfg.settings."alpine.ldap.enabled" ''
|
||||
export ALPINE_LDAP_BIND_PASSWORD="$(<"$CREDENTIALS_DIRECTORY/ldap_bind_password")"
|
||||
''}
|
||||
|
||||
exec ${lib.getExe pkgs.jre_headless} ${
|
||||
lib.escapeShellArgs (
|
||||
cfg.javaArgs
|
||||
++ [
|
||||
"-DdependencyTrack.logging.level=${cfg.logLevel}"
|
||||
"-jar"
|
||||
"${cfg.package}/share/dependency-track/dependency-track.jar"
|
||||
"-port"
|
||||
"${toString cfg.port}"
|
||||
]
|
||||
)
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.cyberus.members;
|
||||
};
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkOption optional;
|
||||
inherit (lib.types) path bool listOf str port;
|
||||
cfg = config.services.darkhttpd;
|
||||
|
||||
args = concatStringsSep " " ([
|
||||
args = lib.concatStringsSep " " ([
|
||||
cfg.rootDir
|
||||
"--port ${toString cfg.port}"
|
||||
"--addr ${cfg.address}"
|
||||
|
@ -14,12 +14,12 @@ let
|
|||
++ optional config.networking.enableIPv6 "--ipv6");
|
||||
|
||||
in {
|
||||
options.services.darkhttpd = with types; {
|
||||
enable = mkEnableOption "DarkHTTPd web server";
|
||||
options.services.darkhttpd = {
|
||||
enable = lib.mkEnableOption "DarkHTTPd web server";
|
||||
|
||||
port = mkOption {
|
||||
default = 80;
|
||||
type = types.port;
|
||||
type = port;
|
||||
description = ''
|
||||
Port to listen on.
|
||||
Pass 0 to let the system choose any free port for you.
|
||||
|
|
|
@ -255,6 +255,7 @@ in {
|
|||
deepin = handleTest ./deepin.nix {};
|
||||
deluge = handleTest ./deluge.nix {};
|
||||
dendrite = handleTest ./matrix/dendrite.nix {};
|
||||
dependency-track = handleTest ./dependency-track.nix {};
|
||||
devpi-server = handleTest ./devpi-server.nix {};
|
||||
dex-oidc = handleTest ./dex-oidc.nix {};
|
||||
dhparams = handleTest ./dhparams.nix {};
|
||||
|
|
65
nixos/tests/dependency-track.nix
Normal file
65
nixos/tests/dependency-track.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
dependencyTrackPort = 8081;
|
||||
in
|
||||
{
|
||||
name = "dependency-track";
|
||||
meta = {
|
||||
maintainers = pkgs.lib.teams.cyberus.members;
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
virtualisation = {
|
||||
cores = 2;
|
||||
diskSize = 4096;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ curl ];
|
||||
systemd.services.dependency-track = {
|
||||
# source: https://github.com/DependencyTrack/dependency-track/blob/37e0ba59e8057c18a87a7a76e247a8f75677a56c/dev/scripts/data-nist-generate-dummy.sh
|
||||
preStart = ''
|
||||
set -euo pipefail
|
||||
|
||||
NIST_DIR="$HOME/.dependency-track/nist"
|
||||
|
||||
rm -rf "$NIST_DIR"
|
||||
mkdir -p "$NIST_DIR"
|
||||
|
||||
for feed in $(seq "2024" "2002"); do
|
||||
touch "$NIST_DIR/nvdcve-1.1-$feed.json.gz"
|
||||
echo "9999999999999" > "$NIST_DIR/nvdcve-1.1-$feed.json.gz.ts"
|
||||
done
|
||||
'';
|
||||
};
|
||||
services.dependency-track = {
|
||||
enable = true;
|
||||
port = dependencyTrackPort;
|
||||
nginx.domain = "localhost";
|
||||
database.passwordFile = "${pkgs.writeText "dbPassword" ''hunter2'THE'''H''''E''}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
start_all()
|
||||
|
||||
server.wait_for_unit("dependency-track.service")
|
||||
server.wait_until_succeeds(
|
||||
"journalctl -o cat -u dependency-track.service | grep 'Dependency-Track is ready'"
|
||||
)
|
||||
server.wait_for_open_port(${toString dependencyTrackPort})
|
||||
|
||||
with subtest("version api returns correct version"):
|
||||
version = json.loads(
|
||||
server.succeed("curl http://localhost/api/version")
|
||||
)
|
||||
assert version["version"] == "${pkgs.dependency-track.version}"
|
||||
'';
|
||||
}
|
||||
)
|
|
@ -25,7 +25,6 @@ let
|
|||
}) args);
|
||||
kernels = pkgs.linuxKernel.vanillaPackages // {
|
||||
inherit (pkgs.linuxKernel.packages)
|
||||
linux_4_19_hardened
|
||||
linux_5_4_hardened
|
||||
linux_5_10_hardened
|
||||
linux_5_15_hardened
|
||||
|
|
|
@ -26,13 +26,13 @@ assert withQt -> wrapQtAppsHook != null;
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "carla";
|
||||
version = "2.5.8";
|
||||
version = "2.5.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "falkTX";
|
||||
repo = "carla";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-H15T/z/IRfgWdqToTzq2eJ7q3n9Kj44IZXsd4uaipuU=";
|
||||
hash = "sha256-FM/6TtNhDml1V9C5VisjLcZ3CzXsuwCZrsoz4yP3kI8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,13 +11,15 @@ in
|
|||
# function to create vim plugin from lua packages that are already packaged in
|
||||
# luaPackages
|
||||
{
|
||||
# the lua attribute name that matches this vim plugin. Both should be equal
|
||||
# in the majority of cases but we make it possible to have different attribute names
|
||||
luaAttr ? (normalizeName attrs.pname)
|
||||
# the lua derivation to convert into a neovim plugin
|
||||
luaAttr ? (lua.pkgs.${normalizeName attrs.pname})
|
||||
, ...
|
||||
}@attrs:
|
||||
let
|
||||
originalLuaDrv = lua.pkgs.${luaAttr};
|
||||
originalLuaDrv = if (lib.typeOf luaAttr == "string") then
|
||||
lib.warn "luaAttr as string is deprecated since September 2024. Pass a lua derivation directly ( e.g., `buildNeovimPlugin { luaAttr = lua.pkgs.plenary-nvim; }`)" lua.pkgs.${normalizeName luaAttr}
|
||||
else luaAttr;
|
||||
|
||||
|
||||
luaDrv = originalLuaDrv.overrideAttrs (oa: {
|
||||
version = attrs.version or oa.version;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# TODO check that no license information gets lost
|
||||
{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages
|
||||
, neovim-unwrapped
|
||||
, neovimUtils
|
||||
, luaPackages
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -27,7 +27,7 @@ let
|
|||
overrides = callPackage ./overrides.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
|
||||
inherit buildVimPlugin;
|
||||
inherit llvmPackages luaPackages;
|
||||
inherit llvmPackages;
|
||||
};
|
||||
|
||||
aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: {};
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
, languagetool
|
||||
, llvmPackages
|
||||
, meson
|
||||
, neovim-unwrapped
|
||||
, nim1
|
||||
, nodePackages
|
||||
, openscad
|
||||
|
@ -129,10 +130,12 @@
|
|||
, # hurl dependencies
|
||||
hurl
|
||||
, # must be lua51Packages
|
||||
luaPackages
|
||||
, luajitPackages
|
||||
luajitPackages
|
||||
,
|
||||
}: self: super:
|
||||
let
|
||||
luaPackages = neovim-unwrapped.lua.pkgs;
|
||||
in
|
||||
{
|
||||
alpha-nvim = super.alpha-nvim.overrideAttrs {
|
||||
dependencies = [
|
||||
|
@ -452,12 +455,12 @@
|
|||
|
||||
codesnap-nvim =
|
||||
let
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistricky";
|
||||
repo = "codesnap.nvim";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3z0poNmS6LOS7/qGTBhvz1Q9WpYC7Wu4rNvHsUXB5ZY=";
|
||||
hash = "sha256-OmSgrTYDtNb2plMyzjVvxGrfXB/lGKDpUQhpRqKfAMA=";
|
||||
};
|
||||
codesnap-lib = rustPlatform.buildRustPackage {
|
||||
pname = "codesnap-lib";
|
||||
|
@ -465,7 +468,7 @@
|
|||
|
||||
sourceRoot = "${src.name}/generator";
|
||||
|
||||
cargoHash = "sha256-u0NvChN50LIxUhmsT4mvWs5xB/TwJkMabggFePA/b1E=";
|
||||
cargoHash = "sha256-6n37n8oHIHrz3S1+40nuD0Ud3l0iNgXig1ZwrgsnYTI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -915,7 +918,7 @@
|
|||
dependencies = with self; [ nvim-treesitter ];
|
||||
};
|
||||
|
||||
haskell-tools-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "haskell-tools-nvim"; };
|
||||
haskell-tools-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.haskell-tools-nvim; };
|
||||
|
||||
hex-nvim = super.hex-nvim.overrideAttrs {
|
||||
postPatch = ''
|
||||
|
@ -1058,7 +1061,7 @@
|
|||
};
|
||||
|
||||
lsp-progress-nvim = neovimUtils.buildNeovimPlugin {
|
||||
luaAttr = "lsp-progress-nvim";
|
||||
luaAttr = luaPackages.lsp-progress-nvim;
|
||||
nvimRequireCheck = "lsp-progress";
|
||||
};
|
||||
|
||||
|
@ -1066,11 +1069,11 @@
|
|||
dependencies = with self; [ luaPackages.jsregexp ];
|
||||
};
|
||||
|
||||
lz-n = neovimUtils.buildNeovimPlugin { luaAttr = "lz-n"; };
|
||||
lz-n = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lz-n; };
|
||||
|
||||
lze = neovimUtils.buildNeovimPlugin { luaAttr = "lze"; };
|
||||
lze = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lze; };
|
||||
|
||||
lzn-auto-require = neovimUtils.buildNeovimPlugin { luaAttr = "lzn-auto-require"; };
|
||||
lzn-auto-require = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lzn-auto-require; };
|
||||
|
||||
magma-nvim-goose = buildVimPlugin {
|
||||
pname = "magma-nvim-goose";
|
||||
|
@ -1146,7 +1149,7 @@
|
|||
};
|
||||
|
||||
middleclass = neovimUtils.buildNeovimPlugin {
|
||||
luaAttr = "middleclass";
|
||||
luaAttr = luaPackages.middleclass;
|
||||
nvimRequireCheck = "middleclass";
|
||||
};
|
||||
|
||||
|
@ -1506,17 +1509,17 @@
|
|||
];
|
||||
};
|
||||
|
||||
rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-nvim"; };
|
||||
rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-nvim; };
|
||||
|
||||
rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-config-nvim"; };
|
||||
rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-config-nvim; };
|
||||
|
||||
roslyn-nvim = super.roslyn-nvim.overrideAttrs {
|
||||
dependencies = with self; [ nvim-lspconfig ];
|
||||
};
|
||||
|
||||
rtp-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rtp-nvim"; };
|
||||
rtp-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rtp-nvim; };
|
||||
|
||||
rustaceanvim = neovimUtils.buildNeovimPlugin { luaAttr = "rustaceanvim"; };
|
||||
rustaceanvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rustaceanvim; };
|
||||
|
||||
sg-nvim = super.sg-nvim.overrideAttrs (old:
|
||||
let
|
||||
|
|
|
@ -33,12 +33,12 @@ buildPythonApplication {
|
|||
|
||||
# wrap python scripts
|
||||
makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [
|
||||
nix nix-prefetch-git neovim-unwrapped nurl ]}" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts}" )
|
||||
nix nix-prefetch-git neovim-unwrapped nurl ]}" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts/pluginupdate-py}" )
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
shellHook = ''
|
||||
export PYTHONPATH=pkgs/applications/editors/vim/plugins:maintainers/scripts:$PYTHONPATH
|
||||
export PYTHONPATH=pkgs/applications/editors/vim/plugins:maintainers/scripts/pluginupdate-py:$PYTHONPATH
|
||||
'';
|
||||
|
||||
meta.mainProgram = "vim-plugins-updater";
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "visualboyadvance-m";
|
||||
version = "2.1.10";
|
||||
version = "2.1.11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "visualboyadvance-m";
|
||||
repo = "visualboyadvance-m";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ca+BKedHuOwHOCXgjLkkpR6Pd+59X2R66dbPWEg2O5A=";
|
||||
sha256 = "sha256-OtJ632H449kPRY1i4Ydlcc1tgG00Mv622KrCyJ80OF4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ];
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geeqie";
|
||||
version = "2.4";
|
||||
version = "2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BestImageViewer";
|
||||
repo = "geeqie";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-MVBKaiKcKknU0rChUYJ+N4oX4tVm145s+NqGQuDHY2g=";
|
||||
hash = "sha256-k2FXj2ZKZzB5XpCcWzEv7Q1ozATfU3221XKcOFdWOGU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -155,7 +155,7 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
farbfeld = pluginDerivation rec {
|
||||
farbfeld = pluginDerivation {
|
||||
pname = "farbfeld";
|
||||
version = "unstable-2019-08-12";
|
||||
|
||||
|
@ -309,7 +309,7 @@ in
|
|||
variant = "gimp";
|
||||
};
|
||||
|
||||
gimplensfun = pluginDerivation rec {
|
||||
gimplensfun = pluginDerivation {
|
||||
version = "unstable-2018-10-21";
|
||||
pname = "gimplensfun";
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, appimageTools, fetchurl }:
|
||||
|
||||
let
|
||||
version = "2.0.4";
|
||||
version = "2.0.9";
|
||||
pname = "lunatask";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://lunatask.app/download/Lunatask-${version}.AppImage";
|
||||
sha256 = "sha256-U+yelFSulAhgsn5xt45mxC7qGpQwmb3m3lt9nEW6MHU=";
|
||||
sha256 = "sha256-tV3giMBF3DN8Aop1B1D7pGp3HYPMQlcZ52JrOhxFrEE=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -35,11 +35,11 @@
|
|||
|
||||
firefox-beta = buildMozillaMach rec {
|
||||
pname = "firefox-beta";
|
||||
version = "131.0b2";
|
||||
version = "131.0b9";
|
||||
applicationName = "Mozilla Firefox Beta";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "1716b4189600d5eea9957c1ad2325a635f1f1178fb6e836bc9fe07d3ee2a71d5186af9511ad3e494403023834b58f7acb0b2716ee2acd5300797e2e8680b7cb8";
|
||||
sha512 = "043f983a295fa27d3641f6db231da2e3a88d43609f9c1f4fbd0d98356ab902e802b20a81ae8bbf3812d8ae6776fd6ea557f19cc083f09aae42b8cd98424430dc";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -64,13 +64,13 @@
|
|||
|
||||
firefox-devedition = buildMozillaMach rec {
|
||||
pname = "firefox-devedition";
|
||||
version = "131.0b2";
|
||||
version = "131.0b9";
|
||||
applicationName = "Mozilla Firefox Developer Edition";
|
||||
requireSigning = false;
|
||||
branding = "browser/branding/aurora";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "704d30f4c5d2a7cddda53f572551cc5fe49bc380388bda5c0eceac121c7d91ee616f586231a33539bb277aa4ea4e963a0d7f4d40f9738d4d30e4a3da75233d97";
|
||||
sha512 = "f1f56bd121ecdf1f659ce85ea77a9b1abe983583081f6cadaaf4c57695148b481eed1ecfa7ac2d3449fbc1a0c8560a8a5665e309722a5fc5455df740cf639989";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubelogin";
|
||||
version = "1.29.0";
|
||||
version = "1.30.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "int128";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fGCllV07YustUIX1XiSvsC42obDOgl2yV5ruQMT2R0c=";
|
||||
sha256 = "sha256-DHg46t0gMypK6Nj428gpOMtPuA+XcW4IJU39CHTVGPw=";
|
||||
};
|
||||
|
||||
subPackages = ["."];
|
||||
|
||||
vendorHash = "sha256-wtxSoRSpmRwuIOdKGmCRR+QLwOvONiiltg6KL6t2cf8=";
|
||||
vendorHash = "sha256-gr+SsC7MiLj/MZ8kca5Hcfge+7Pm4y963TfwyKHEhBY=";
|
||||
|
||||
# Rename the binary instead of symlinking to avoid conflict with the
|
||||
# Azure version of kubelogin
|
||||
|
|
|
@ -19,13 +19,13 @@ let
|
|||
};
|
||||
|
||||
plugins = ps: _super: with ps; rec {
|
||||
nixops-aws = callPackage ./plugins/nixops-aws.nix { };
|
||||
nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
|
||||
nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
|
||||
nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
|
||||
nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
|
||||
nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
|
||||
|
||||
nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs";
|
||||
nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs";
|
||||
nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs";
|
||||
nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs";
|
||||
|
@ -42,7 +42,7 @@ let
|
|||
selectedPlugins = [];
|
||||
|
||||
# selector is a function mapping pythonPackages to a list of plugins
|
||||
# e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-aws ])
|
||||
# e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-digitalocean ])
|
||||
withPlugins = selector:
|
||||
this.extend (this: _old: {
|
||||
selectedPlugins = selector this.availablePlugins;
|
||||
|
@ -109,8 +109,6 @@ in
|
|||
|
||||
# Not recommended; too fragile.
|
||||
nixops_unstable_full = minimal.withPlugins (ps: [
|
||||
# currently broken
|
||||
# ps.nixops-aws
|
||||
ps.nixops-digitalocean
|
||||
ps.nixops-encrypted-links
|
||||
ps.nixops-hercules-ci
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, unstableGitUpdater
|
||||
, poetry-core
|
||||
, boto
|
||||
, boto3
|
||||
, nixops
|
||||
, nixos-modules-contrib
|
||||
, typing-extensions
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
pname = "nixops-aws";
|
||||
version = "1.0.0-unstable-2024-02-29";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "nixops-aws";
|
||||
rev = "d173b2f14ec767d782ceab45fb22b32fe3b5a1f7";
|
||||
hash = "sha256-ocTtc7POt1bugb9Bki2ew2Eh5uc933GftNw1twoOJsc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace poetry.masonry.api poetry.core.masonry.api \
|
||||
--replace "poetry>=" "poetry-core>="
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
nixops
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
boto
|
||||
boto3
|
||||
nixos-modules-contrib
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "nixops_aws" ];
|
||||
|
||||
passthru.updateScript = unstableGitUpdater {
|
||||
tagPrefix = "v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "AWS plugin for NixOps";
|
||||
homepage = "https://github.com/NixOS/nixops-aws";
|
||||
license = licenses.lgpl3Only;
|
||||
broken = true; # fails with `nose-1.3.7 not supported for interpreter python3.12`
|
||||
maintainers = nixops.meta.maintainers;
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
callPackage ./generic.nix { } rec {
|
||||
pname = "signal-desktop";
|
||||
dir = "Signal";
|
||||
version = "7.24.1";
|
||||
version = "7.25.0";
|
||||
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
hash = "sha256-wT8pbUcdDYVEVAOroHeORl4+rwzfWJvZNxC1pnNsnjQ=";
|
||||
hash = "sha256-KcVCQkDSpI+eq2/wvPZxq6ILLQk3xe+wrKfbnJnTQTo=";
|
||||
}
|
||||
|
|
|
@ -16,8 +16,6 @@
|
|||
proton-vpn-killswitch-network-manager,
|
||||
proton-vpn-logger,
|
||||
proton-vpn-network-manager,
|
||||
proton-vpn-network-manager-openvpn,
|
||||
proton-vpn-network-manager-wireguard,
|
||||
proton-vpn-session,
|
||||
pycairo,
|
||||
pygobject3,
|
||||
|
@ -67,8 +65,6 @@ buildPythonApplication rec {
|
|||
proton-vpn-killswitch-network-manager
|
||||
proton-vpn-logger
|
||||
proton-vpn-network-manager
|
||||
proton-vpn-network-manager-openvpn
|
||||
proton-vpn-network-manager-wireguard
|
||||
proton-vpn-session
|
||||
pycairo
|
||||
pygobject3
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nvc";
|
||||
version = "1.13.3";
|
||||
version = "1.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nickg";
|
||||
repo = "nvc";
|
||||
rev = "r${version}";
|
||||
hash = "sha256-u+EmZ+h+TVBHEmrELgU4s1C+Z8Cfp3gN9BnQruwCsYU=";
|
||||
hash = "sha256-xaJt3zMAv+Op7cQAaKJOyI28oEssMw/7zvEnfReS4aw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, rsync
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "toil";
|
||||
version = "5.12.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DataBiosphere";
|
||||
repo = pname;
|
||||
rev = "refs/tags/releases/${version}";
|
||||
hash = "sha256-cTpbQo9tPZifUO59vbnIa3XUinFJ2/5Slfe4yszglFM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
addict
|
||||
dill
|
||||
docker
|
||||
enlighten
|
||||
psutil
|
||||
py-tes
|
||||
pypubsub
|
||||
python-dateutil
|
||||
pytz
|
||||
pyyaml
|
||||
requests
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
rsync
|
||||
] ++ (with python3.pkgs; [
|
||||
boto
|
||||
botocore
|
||||
flask
|
||||
pytestCheckHook
|
||||
stubserver
|
||||
]);
|
||||
|
||||
pytestFlagsArray = [
|
||||
"src/toil/test"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"toil"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests are reaching their timeout
|
||||
"src/toil/test/docs/scriptsTest.py"
|
||||
"src/toil/test/jobStores/jobStoreTest.py"
|
||||
"src/toil/test/provisioners/aws/awsProvisionerTest.py"
|
||||
"src/toil/test/src"
|
||||
"src/toil/test/wdl"
|
||||
"src/toil/test/utils/utilsTest.py"
|
||||
"src/toil/test/cwl/cwlTest.py"
|
||||
"src/toil/test/lib/test_ec2.py"
|
||||
"src/toil/test/lib/aws/test_iam.py"
|
||||
"src/toil/test/lib/aws/test_s3.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Tests fail starting with 5.7.1
|
||||
"testServices"
|
||||
"testConcurrencyWithDisk"
|
||||
"testJobConcurrency"
|
||||
"testNestedResourcesDoNotBlock"
|
||||
"test_omp_threads"
|
||||
"testFileSingle"
|
||||
"testFileSingle10000"
|
||||
"testFileSingleCheckpoints"
|
||||
"testFileSingleNonCaching"
|
||||
"testFetchJobStoreFiles"
|
||||
"testFetchJobStoreFilesWSymlinks"
|
||||
"testJobStoreContents"
|
||||
"test_cwl_on_arm"
|
||||
"test_cwl_toil_kill"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Workflow engine written in pure Python";
|
||||
homepage = "https://toil.ucsc-cgl.org/";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "git-cliff";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orhun";
|
||||
repo = "git-cliff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d6IawXBumA5ZJiigMTx4IZgOFrH5bNrbRsNHfT4Ik3w=";
|
||||
hash = "sha256-GRvZ9jdooduFylTGgUQNjdnD2Aa+jT5faV0/c3GBpqw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-zXcVOE+yTD4SsVNTYhXnKy6et5en9jzYXPKPVnCOixI=";
|
||||
cargoHash = "sha256-vgVTHTEKfjWJzxDQ5w0dwp9qxyN5sgbBseXHN25bx9o=";
|
||||
|
||||
# attempts to run the program on .git in src which is not deterministic
|
||||
doCheck = false;
|
||||
|
|
|
@ -2,15 +2,16 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
wayland-scanner,
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
wrapQtAppsHook,
|
||||
nix-update-script,
|
||||
hyprland,
|
||||
hyprland-protocols,
|
||||
hyprlang,
|
||||
hyprutils,
|
||||
hyprwayland-scanner,
|
||||
libdrm,
|
||||
mesa,
|
||||
pipewire,
|
||||
|
@ -18,58 +19,39 @@
|
|||
qttools,
|
||||
qtwayland,
|
||||
sdbus-cpp,
|
||||
slurp,
|
||||
systemd,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
hyprland,
|
||||
hyprpicker,
|
||||
slurp,
|
||||
wayland-scanner,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xdg-desktop-portal-hyprland";
|
||||
version = "1.3.3";
|
||||
version = "1.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "xdg-desktop-portal-hyprland";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-cyyxu/oj4QEFp3CVx2WeXa9T4OAUyynuBJHGkBZSxJI=";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-xTqnMoJsEojuvqJLuM+U7EZ7q71efaj3pbvjutq4TXc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# CMake formatting, required for the next two commits to cleanly apply
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/commit/5555f467f68ce7cdf1060991c24263073b95e9da.patch";
|
||||
hash = "sha256-yNkg7GCXDPJdsE7M6J98YylnRxQWpcM5N3olix7Oc1A=";
|
||||
})
|
||||
# removes wayland-scanner from deps, as it includes a pkg-config that
|
||||
# defines that it has a non-existent include directory which trips up CMake
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/commit/0dd9af698b9386bcf25d3ea9f5017eca721831c1.patch";
|
||||
hash = "sha256-Y6eWASHoMXVN2rYJ1rs0jy2qP81/qbHsZU+6b7XNBBg=";
|
||||
})
|
||||
# handle finding wayland-scanner more nicely
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/commit/2425e8f541525fa7409d9f26a8ffaf92a3767251.patch";
|
||||
hash = "sha256-6dCg/U/SIjtvo07Z3tn0Hn8Xwx72nwVz6Q2cFnObonU=";
|
||||
})
|
||||
];
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wayland-scanner
|
||||
makeWrapper
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
hyprwayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
hyprland-protocols
|
||||
hyprlang
|
||||
hyprutils
|
||||
libdrm
|
||||
mesa
|
||||
pipewire
|
||||
|
@ -80,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
systemd
|
||||
wayland
|
||||
wayland-protocols
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
@ -95,12 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
}
|
||||
|
||||
wrapProgramShell $out/libexec/xdg-desktop-portal-hyprland \
|
||||
--prefix PATH ":" ${
|
||||
lib.makeBinPath [
|
||||
(placeholder "out")
|
||||
hyprpicker
|
||||
]
|
||||
}
|
||||
--prefix PATH ":" ${lib.makeBinPath [ (placeholder "out") ]}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -60,8 +60,10 @@ composerVendorBuildHook() {
|
|||
echo "Executing composerVendorBuildHook"
|
||||
|
||||
composer \
|
||||
--apcu-autoloader \
|
||||
--apcu-autoloader-prefix="$(jq -r -c 'try ."content-hash"' < composer.lock)" \
|
||||
# The acpu-autoloader is not reproducible and has to be disabled.
|
||||
# Upstream PR: https://github.com/composer/composer/pull/12090
|
||||
# --apcu-autoloader \
|
||||
# --apcu-autoloader-prefix="$(jq -r -c 'try ."content-hash"' < composer.lock)" \
|
||||
--no-interaction \
|
||||
--no-progress \
|
||||
--optimize-autoloader \
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
, python3Packages
|
||||
, ronn
|
||||
, shellcheck
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
makeWrapper,
|
||||
python3Packages,
|
||||
ronn,
|
||||
shellcheck,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "actionlint";
|
||||
let
|
||||
version = "1.7.1";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "actionlint";
|
||||
inherit version;
|
||||
|
||||
subPackages = [ "cmd/actionlint" ];
|
||||
|
||||
|
@ -23,23 +27,36 @@ buildGoModule rec {
|
|||
|
||||
vendorHash = "sha256-ZREtrdHUD1B1Mogidp1y/kFTK+KR4qYJj1c/M+0utPM=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ronn installShellFiles ];
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
ronn
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ronn --roff man/actionlint.1.ronn
|
||||
installManPage man/actionlint.1
|
||||
wrapProgram "$out/bin/actionlint" \
|
||||
--prefix PATH : ${lib.makeBinPath [ python3Packages.pyflakes shellcheck ]}
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
python3Packages.pyflakes
|
||||
shellcheck
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/rhysd/actionlint.version=${version}" ];
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/rhysd/actionlint.version=${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://rhysd.github.io/actionlint/";
|
||||
description = "Static checker for GitHub Actions workflow files";
|
||||
changelog = "https://github.com/rhysd/actionlint/raw/v${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
mainProgram = "actionlint";
|
||||
};
|
||||
}
|
|
@ -12,7 +12,7 @@ let
|
|||
self = python3;
|
||||
packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; };
|
||||
};
|
||||
version = "0.56.0";
|
||||
version = "0.57.0";
|
||||
in
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "aider-chat";
|
||||
|
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication {
|
|||
owner = "paul-gauthier";
|
||||
repo = "aider";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-e0Fqj67vYt41Zbr1FN2fuLp6cHRius8RtacBHLgB9dM=";
|
||||
hash = "sha256-ErDepSju8B4GochHKxL03aUfOLAiNfTaXBAllAZ144M=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
@ -60,6 +60,7 @@ python3.pkgs.buildPythonApplication {
|
|||
pypandoc
|
||||
pyperclip
|
||||
pyyaml
|
||||
psutil
|
||||
rich
|
||||
scipy
|
||||
sounddevice
|
||||
|
|
|
@ -1,8 +1,15 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "algolia-cli";
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
}:
|
||||
let
|
||||
version = "1.6.11";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "algolia-cli";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "algolia";
|
||||
|
@ -17,7 +24,11 @@ buildGoModule rec {
|
|||
|
||||
subPackages = [ "cmd/algolia" ];
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/algolia/cli/pkg/version.Version=${version}" ];
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/algolia/cli/pkg/version.Version=${version}"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd algolia \
|
||||
|
@ -26,11 +37,11 @@ buildGoModule rec {
|
|||
--zsh <($out/bin/algolia completion zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Algolia’s official CLI devtool";
|
||||
mainProgram = "algolia";
|
||||
homepage = "https://algolia.com/doc/tools/cli/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
};
|
||||
}
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "alpaca";
|
||||
version = "1.1.1";
|
||||
version = "2.0.3";
|
||||
pyproject = false; # Built with meson
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jeffser";
|
||||
repo = "Alpaca";
|
||||
rev = version;
|
||||
hash = "sha256-FFMclm+IUEU4cQZ0+uJHDCHytgW8+fygooWw3Nc1jxM=";
|
||||
hash = "sha256-CXrnPhNu/doz145rvonuBXoJQolz7qgMdn5KgVio6J4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "byedpi";
|
||||
version = "0.13.1";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hufrea";
|
||||
repo = "byedpi";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-Sf5Ik8+9nKhum4/faGf44Y/gQggldyRsFUVmd9XPKOA=";
|
||||
hash = "sha256-JdL+3ETNxaEtOLUhgLSABL9C8w/EM4Ay37OXU5jLCFA=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "capslock";
|
||||
version = "0.2.4";
|
||||
version = "0.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "capslock";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xeezGU9bI1MwonSGv+XimSfboMQr/1TPMTduDQ+MP1g=";
|
||||
hash = "sha256-w2dB8DUCjbuzdEfX4nmaGbf9TZH58t+NZtyMoBHVG8I=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z4oj+af8jqqhgHQrTb+lkbIMMa/yOnvkMti/s+wiQsI=";
|
||||
vendorHash = "sha256-ZRDoKB3/oxJhVFNWT71sKu8WbvIUyvXNKY1hD8ljo5U=";
|
||||
|
||||
subPackages = [ "cmd/capslock" ];
|
||||
|
||||
|
|
44
pkgs/by-name/cb/cbeams/package.nix
Normal file
44
pkgs/by-name/cb/cbeams/package.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchPypi,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "cbeams";
|
||||
version = "1.0.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = !python3Packages.isPy3k;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-8Q2sWsAc39Mu34K1wWOKOJERKzBStE4GmtuzOs2T7Kk=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.setuptools ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace cbeams/terminal.py \
|
||||
--replace-fail "blessings" "blessed"
|
||||
'';
|
||||
|
||||
pythonRemoveDeps = [ "blessings" ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
blessed
|
||||
docopt
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/tartley/cbeams";
|
||||
description = "Command-line program to draw animated colored circles in the terminal";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [
|
||||
oxzi
|
||||
sigmanificient
|
||||
];
|
||||
};
|
||||
}
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cdecl";
|
||||
version = "18.3";
|
||||
version = "18.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paul-j-lucas";
|
||||
repo = "cdecl";
|
||||
rev = "refs/tags/cdecl-${finalAttrs.version}";
|
||||
hash = "sha256-w6n/7oAl6D7cBG/YIauhjFjHs+ygF3ugKWv0lgY1G9Q=";
|
||||
hash = "sha256-GtNB55zFIpt6yYE3olC3yQr2RLsS9AMewzJKDcb67GM=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "chirp";
|
||||
version = "0.4.0-unstable-2024-09-05";
|
||||
version = "0.4.0-unstable-2024-09-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kk7ds";
|
||||
repo = "chirp";
|
||||
rev = "f9f5afa33388d3b05af75b40195b6a45a19df9a2";
|
||||
hash = "sha256-wpUtSXSmT9SgwKMYeto7jJGK7ZEFQ/t37wWjUMB86YQ=";
|
||||
rev = "786e37ce269a4bf50bd7a75143479862f52c0eeb";
|
||||
hash = "sha256-+vY4d4z5oqrhPqokSGwCCP/oNz0al3+91akisSESXGk=";
|
||||
};
|
||||
buildInputs = [
|
||||
glib
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "crossplane-cli";
|
||||
version = "1.16.1";
|
||||
version = "1.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crossplane";
|
||||
repo = "crossplane";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wRbQKpWEzos5fzzf1tUF2xQAlk8KIrhXJ/QZ9JKCa2M=";
|
||||
hash = "sha256-zcORVw+6QUucxJkHx/QWOHn50fd4+Jp+ZtiGuwfEQ6I=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XzIDLtEP4wrz23Cewz1QFuS62F/XQr7JNoaPAQfanEs=";
|
||||
vendorHash = "sha256-de9xt3aFmGDddwMO2GgKKKmSfvsfnpit3wUrBme//fI=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
diff --git a/pom.xml b/pom.xml
|
||||
index 9988e765..906917c0 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -660,38 +660,13 @@
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>3.1.0</version>
|
||||
<executions>
|
||||
- <execution>
|
||||
- <id>frontend-download</id>
|
||||
- <phase>prepare-package</phase>
|
||||
- <configuration>
|
||||
- <target>
|
||||
- <get src="https://github.com/DependencyTrack/frontend/releases/download/${frontend.version}/frontend-dist.zip" dest="${project.build.directory}" verbose="true"/>
|
||||
- </target>
|
||||
- </configuration>
|
||||
- <goals>
|
||||
- <goal>run</goal>
|
||||
- </goals>
|
||||
- </execution>
|
||||
- <execution>
|
||||
- <id>frontend-extract</id>
|
||||
- <phase>prepare-package</phase>
|
||||
- <configuration>
|
||||
- <target>
|
||||
- <unzip src="${project.build.directory}/frontend-dist.zip" dest="${project.build.directory}/frontend">
|
||||
- </unzip>
|
||||
- </target>
|
||||
- </configuration>
|
||||
- <goals>
|
||||
- <goal>run</goal>
|
||||
- </goals>
|
||||
- </execution>
|
||||
<execution>
|
||||
<id>frontend-resource-deploy</id>
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="${project.build.directory}/${project.artifactId}">
|
||||
- <fileset dir="${project.build.directory}/frontend/dist">
|
||||
+ <fileset dir="${project.basedir}/frontend/dist">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
17
pkgs/by-name/de/dependency-track/0001-add-junixsocket.patch
Normal file
17
pkgs/by-name/de/dependency-track/0001-add-junixsocket.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
diff --git a/pom.xml b/pom.xml
|
||||
index 9988e765..f69576b4 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -457,6 +457,12 @@
|
||||
<version>${lib.testcontainers.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
+ <dependency>
|
||||
+ <groupId>com.kohlschutter.junixsocket</groupId>
|
||||
+ <artifactId>junixsocket-core</artifactId>
|
||||
+ <version>2.10.0</version>
|
||||
+ <type>pom</type>
|
||||
+ </dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
113
pkgs/by-name/de/dependency-track/package.nix
Normal file
113
pkgs/by-name/de/dependency-track/package.nix
Normal file
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
jre_headless,
|
||||
cyclonedx-cli,
|
||||
makeWrapper,
|
||||
maven,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
}:
|
||||
let
|
||||
version = "4.11.7";
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
pname = "dependency-track-frontend";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DependencyTrack";
|
||||
repo = "frontend";
|
||||
rev = version;
|
||||
hash = "sha256-hgBDzzG90gunnlZeektzdBIdatNjbkDVmNLbxjyxAXE=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-veyt7fn4g/eh/+2CapQxlEssZP8cQXONpI6sSW299tk=";
|
||||
forceGitDeps = true;
|
||||
makeCacheWritable = true;
|
||||
|
||||
# The prepack script runs the build script, which we'd rather do in the build phase.
|
||||
npmPackFlags = [ "--ignore-scripts" ];
|
||||
};
|
||||
in
|
||||
|
||||
maven.buildMavenPackage rec {
|
||||
inherit version;
|
||||
pname = "dependency-track";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DependencyTrack";
|
||||
repo = "dependency-track";
|
||||
rev = version;
|
||||
hash = "sha256-BMkn9WnUGs4RxH5I1QQ2UDrlo32JcbfjfFcOG5YogLI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0000-remove-frontend-download.patch
|
||||
./0001-add-junixsocket.patch
|
||||
];
|
||||
|
||||
mvnJdk = jre_headless;
|
||||
mvnHash = "sha256-c/JwBiKsXuWbCm1dTCrVc+V/1G7Eii1mUW8xDyewyLs=";
|
||||
manualMvnArtifacts = [ "com.coderplus.maven.plugins:copy-rename-maven-plugin:1.0.1" ];
|
||||
buildOffline = true;
|
||||
|
||||
mvnDepsParameters = lib.escapeShellArgs [
|
||||
"-Dmaven.test.skip=true"
|
||||
"-P enhance"
|
||||
"-P embedded-jetty"
|
||||
];
|
||||
|
||||
mvnParameters = lib.escapeShellArgs [
|
||||
"-Dmaven.test.skip=true"
|
||||
"-P enhance"
|
||||
"-P embedded-jetty"
|
||||
"-P bundle-ui"
|
||||
"-Dservices.bom.merge.skip=false"
|
||||
"-Dlogback.configuration.file=${src}/src/main/docker/logback.xml"
|
||||
"-Dcyclonedx-cli.path=${lib.getExe cyclonedx-cli}"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p frontend
|
||||
cp -r ${frontend}/lib/node_modules/@dependencytrack/frontend/dist frontend/
|
||||
'';
|
||||
|
||||
afterDepsSetup = ''
|
||||
mvn cyclonedx:makeBom -Dmaven.repo.local=$mvnDeps/.m2 \
|
||||
org.codehaus.mojo:exec-maven-plugin:exec@merge-services-bom
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm644 target/dependency-track-*.jar $out/share/dependency-track/dependency-track.jar
|
||||
makeWrapper ${jre_headless}/bin/java $out/bin/dependency-track \
|
||||
--add-flags "-jar $out/share/dependency-track/dependency-track.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# passthru for nix-update
|
||||
inherit (frontend) npmDeps;
|
||||
tests = {
|
||||
inherit (nixosTests) dependency-track;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain";
|
||||
homepage = "https://github.com/DependencyTrack/dependency-track";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = lib.teams.cyberus.members;
|
||||
mainProgram = "dependency-track";
|
||||
inherit (jre_headless.meta) platforms;
|
||||
};
|
||||
}
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "dotenvx";
|
||||
version = "1.14.0";
|
||||
version = "1.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotenvx";
|
||||
repo = "dotenvx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-UVev21LZ2y0C8BCSm6I8BTQziSDZUXP3A/ThOpKtsrQ=";
|
||||
hash = "sha256-PdX8picIFqeZZCMP0ABoWpySERSy0leAvp0XyjTW1Rc=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-ehWHIKYkSAkdTLGpBOU7lJoWNa5uv9Zy0+2qwnCv0m8=";
|
||||
npmDepsHash = "sha256-lo+R0YP50FIN+syj6VqCeEBFr7EZ6NSVXAhafG5JsI0=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.17";
|
||||
version = "1.1.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-TKlhPvfnq62XWTo2twKO8hEjBZW0mWkKruXWhwirtR4=";
|
||||
hash = "sha256-1lmDmtvkLMLxvF6ZTOShr5fsYN++Jm6+ngzgFyNjFn4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "dumbpipe";
|
||||
version = "0.16.0";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "n0-computer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gv6V5I9LPNfXyuopo8BaYRELxzTfNhTG1EBWoZ/4cpc=";
|
||||
hash = "sha256-7OHghotSibkGRrcsh7CqZBp94FY6RKZvcn8QW+dTH1I=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-t6w2XrMSm5g6dmYQ5gX+w8M3pPzWDytGY9uSuXYgnDA=";
|
||||
cargoHash = "sha256-rlhfGw/b0HnV1Xl9VWIqEuyM9pq29O6bpaawk2hnG+o=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks; [
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, libelf
|
||||
, libpcap
|
||||
, nix-update-script
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
libelf,
|
||||
libpcap,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -13,30 +14,40 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GNS3";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
repo = "dynamips";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-+h+WsZ/QrDd+dNrR6CJb2uMG+vbUvK8GTxFJZOxknL0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libelf libpcap ];
|
||||
|
||||
cmakeFlags = [ "-DDYNAMIPS_CODE=stable" ];
|
||||
buildInputs = [
|
||||
libelf
|
||||
libpcap
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "DYNAMIPS_CODE" "stable")
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Cisco router emulator";
|
||||
longDescription = ''
|
||||
Dynamips is an emulator computer program that was written to emulate Cisco
|
||||
routers.
|
||||
'';
|
||||
homepage = "https://github.com/GNS3/dynamips";
|
||||
changelog = "https://github.com/GNS3/dynamips/releases/tag/v${version}";
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "dynamips";
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
maintainers = with maintainers; [
|
||||
primeos
|
||||
anthonyroussel
|
||||
];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
|
@ -47,13 +47,13 @@ let
|
|||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.24.0";
|
||||
version = "2.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-MnN+XZTiIjXGVM6rF5J7sDTndLijGCdgsBF8oYzRHqY=";
|
||||
hash = "sha256-I8In6JK9XWM29QdAj3wU2WHn/RsrDJo7s5S7R79HV8g=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
fetchFromGitHub,
|
||||
fetchPypi,
|
||||
lib,
|
||||
stdenv,
|
||||
postgresql,
|
||||
postgresqlTestHook,
|
||||
python3,
|
||||
|
@ -27,14 +28,14 @@ let
|
|||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "fittrackee";
|
||||
version = "0.8.8";
|
||||
version = "0.8.9";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SamR1";
|
||||
repo = "FitTrackee";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-IO6M+HXAR3Gn0/71KwkaQr6sB0eCQzmnqHYgO+mzIZM=";
|
||||
hash = "sha256-raN6Ef/Z/JbdJDMKBIaBL8nmvFwvuZFX4rfC0ZgWgKI=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
@ -47,6 +48,8 @@ python.pkgs.buildPythonApplication rec {
|
|||
"gunicorn"
|
||||
"pyjwt"
|
||||
"pyopenssl"
|
||||
"pytz"
|
||||
"sqlalchemy"
|
||||
];
|
||||
|
||||
dependencies =
|
||||
|
@ -95,8 +98,10 @@ python.pkgs.buildPythonApplication rec {
|
|||
export DATABASE_TEST_URL=postgresql://$PGUSER/$PGDATABASE?host=$PGHOST
|
||||
'';
|
||||
|
||||
doCheck = !stdenv.isDarwin; # tests are a bit flaky on darwin
|
||||
|
||||
preCheck = ''
|
||||
export TMP=$(mktemp -d)
|
||||
export TMP=$TMPDIR
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -104,7 +109,6 @@ python.pkgs.buildPythonApplication rec {
|
|||
homepage = "https://github.com/SamR1/FitTrackee";
|
||||
changelog = "https://github.com/SamR1/FitTrackee/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.agpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ traxys ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
runCommand,
|
||||
appstream,
|
||||
autoreconfHook,
|
||||
|
@ -120,6 +121,22 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
# Try mounting fonts and icons from NixOS locations if FHS locations don't exist.
|
||||
# https://github.com/NixOS/nixpkgs/issues/119433
|
||||
./fix-fonts-icons.patch
|
||||
|
||||
# TODO: Remove when updating to 1.16
|
||||
# Ensure flatpak uses the system's zoneinfo from $TZDIR
|
||||
# https://github.com/NixOS/nixpkgs/issues/238386
|
||||
(fetchpatch {
|
||||
url = "https://github.com/flatpak/flatpak/pull/5850/commits/a8a35bf4d9fc3d76e1a5049a6a591faec04a42fd.patch";
|
||||
hash = "sha256-JqkPbnzgZNZq/mplZqohhHFdjRrvYFjE4C02pI3feBo=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/flatpak/flatpak/pull/5850/commits/5ea13b09612215559081c27b60df4fb720cb08d5.patch";
|
||||
hash = "sha256-BWbyQ2en3RtN4Ec5n62CULAhvywlQLhcl3Fmd4fsR1s=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/flatpak/flatpak/pull/5850/commits/7c8a81f08908019bbf69358de199748a9bcb29e3.patch";
|
||||
hash = "sha256-RiG2jPmG+Igskxv8oQquOUYsG4srgdMXWe34ojMXslo=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,22 +1,26 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchCrate
|
||||
, Security
|
||||
, fetchFromGitHub
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gen-license";
|
||||
version = "0.1.2";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-YZcycLQ436cjr2YTT7TEyMdeLTOl9oEfa5x3lgnnYyo=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nexxeln";
|
||||
repo = "license-generator";
|
||||
rev = "${version}";
|
||||
hash = "sha256-VOmt8JXd2+ykhkhupv/I4RfXz9P0eEesW3JGAoXStUI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-2PT20eoXxBPhGsmHlEEGE2ZDyhyrD7tFdwnn3khjKNo=";
|
||||
cargoHash = "sha256-TEsWACxEs4eJ8rO4RnKJWpwT1KcDoBEGftHSJt4YXVw=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create licenses for your projects right from your terminal";
|
|
@ -164,11 +164,11 @@ let
|
|||
|
||||
linux = stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "128.0.6613.137";
|
||||
version = "129.0.6668.58";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-Ggah8tabckPemWtKehx8So1Y55J0UdhAFf5rPRSwV6Q=";
|
||||
hash = "sha256-lFYGwpdicvp+E4S+sw4+3uFQSwGKvhyFenBZMVgVnMo=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
|
|
50
pkgs/by-name/gp/gpauth/package.nix
Normal file
50
pkgs/by-name/gp/gpauth/package.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
rustPlatform,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
libsoup,
|
||||
openssl,
|
||||
pkg-config,
|
||||
perl,
|
||||
webkitgtk,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gpauth";
|
||||
version = "2.3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yuezk";
|
||||
repo = "GlobalProtect-openconnect";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Zr888II65bUjrbStZfD0AYCXKY6VdKVJHQhbKwaY3is=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "apps/gpauth";
|
||||
cargoHash = "sha256-AuYw8CC0bMJzIJJQXhcQajQ4SACz4aKv6rG4HMq7U18=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
libsoup
|
||||
openssl
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/${src.owner}/${src.repo}/blob/${src.rev}/changelog.md";
|
||||
description = "A CLI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method";
|
||||
longDescription = ''
|
||||
A CLI for GlobalProtect VPN, based on OpenConnect, supports the SSO
|
||||
authentication method. Inspired by gp-saml-gui.
|
||||
|
||||
The CLI version is always free and open source in this repo. It has almost
|
||||
the same features as the GUI version.
|
||||
'';
|
||||
homepage = "https://github.com/${src.owner}/${src.repo}";
|
||||
license = with licenses; [ gpl3Only ];
|
||||
maintainers = with maintainers; [ binary-eater ];
|
||||
};
|
||||
}
|
41
pkgs/by-name/gp/gpclient/package.nix
Normal file
41
pkgs/by-name/gp/gpclient/package.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
rustPlatform,
|
||||
gpauth,
|
||||
openconnect,
|
||||
openssl,
|
||||
perl,
|
||||
vpnc-scripts,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gpclient";
|
||||
|
||||
inherit (gpauth) version src meta;
|
||||
|
||||
buildAndTestSubdir = "apps/gpclient";
|
||||
cargoHash = "sha256-aJYFBvVrj1n2+9WLLBH5WTRRzTle19LsdJ2DielJYik=";
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
buildInputs = [
|
||||
gpauth
|
||||
openconnect
|
||||
openssl
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace crates/gpapi/src/lib.rs \
|
||||
--replace-fail /usr/bin/gpauth ${gpauth}/bin/gpauth
|
||||
substituteInPlace crates/common/src/vpn_utils.rs \
|
||||
--replace-fail /usr/sbin/vpnc-script ${vpnc-scripts}/bin/vpnc-script
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/applications
|
||||
cp packaging/files/usr/share/applications/gpgui.desktop $out/share/applications/gpgui.desktop
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace $out/share/applications/gpgui.desktop \
|
||||
--replace-fail /usr/bin/gpclient $out/bin/gpclient
|
||||
'';
|
||||
}
|
|
@ -7,10 +7,10 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "halo";
|
||||
version = "2.19.2";
|
||||
version = "2.19.3";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/halo-dev/halo/releases/download/v${version}/halo-${version}.jar";
|
||||
hash = "sha256-+mp195Yyj4O5k/WxnAllVHbeTt/ZzR7olPG27xfUrlQ=";
|
||||
hash = "sha256-Re0L+2P/Sxzj+fnuZi5uK2Hk72d8EvQGdjhglVbt41M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -31,12 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion { package = hello; };
|
||||
|
||||
invariant-under-noXlibs =
|
||||
testers.testEqualDerivation
|
||||
"hello must not be rebuilt when environment.noXlibs is set."
|
||||
hello
|
||||
(nixos { environment.noXlibs = true; }).pkgs.hello;
|
||||
};
|
||||
|
||||
passthru.tests.run = callPackage ./test.nix { hello = finalAttrs.finalPackage; };
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
}:
|
||||
let
|
||||
pname = "heptabase";
|
||||
version = "1.37.0";
|
||||
version = "1.39.0";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
|
||||
hash = "sha256-TgVHlUYgvbERXGzntwmBH/xBmJj2EsCd1SWUbQr8nqY=";
|
||||
hash = "sha256-/uRPxmMTBr2ZkkY/Sp0FHI76ttoDDO7pID6fFckvUY8=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "0-unstable-2024-09-09";
|
||||
version = "0-unstable-2024-09-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "10541f19c584fe9633c921903d8c095d5411e041";
|
||||
hash = "sha256-fj2LxTZAncL/s5NrtXe1nLfO0XDvRixtCu3kmV9jDPw=";
|
||||
rev = "14929f7089268481d86b83ed31ffd88713dcd415";
|
||||
hash = "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprutils";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprutils";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=";
|
||||
hash = "sha256-PNnIpwGqpTvMU3N2r0wMQwK1E+t4Bb5fbJwblQvr+80=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprwayland-scanner";
|
||||
version = "0.4.0";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprwayland-scanner";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=";
|
||||
hash = "sha256-HIPEXyRRVZoqD6U+lFS1B0tsIU7p83FaB9m7KT/x6mQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
let
|
||||
pname = "jan";
|
||||
version = "0.5.3";
|
||||
version = "0.5.4";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/janhq/jan/releases/download/v${version}/jan-linux-x86_64-${version}.AppImage";
|
||||
hash = "sha256-lfN5ant3oS7uschxyCxmiKNLJUJiqWVZLaJ8djqNKzQ=";
|
||||
hash = "sha256-BrNfpf9v8yAs4y3vaPlqtOI9SE7IFfZm/CYegcuZT3c=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "jp-zip-code";
|
||||
version = "0-unstable-2024-08-01";
|
||||
version = "0-unstable-2024-09-01";
|
||||
|
||||
# This package uses a mirror as the source because the
|
||||
# original provider uses the same URL for updated content.
|
||||
src = fetchFromGitHub {
|
||||
owner = "musjj";
|
||||
repo = "jp-zip-codes";
|
||||
rev = "94139331b79d8e23cd089fb9ad511ce55079154a";
|
||||
hash = "sha256-e+wsJv2cP2wUwVNimWy0eYr32pr7YUy8pJAYDYbk0zo=";
|
||||
rev = "995d7cce9ae68a31efe4b5882137dd67ac26f7ff";
|
||||
hash = "sha256-VnzczwIbYPUpWpWLMm2TYGqiDxzZaDDKs7xh4F3xA0E=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -4,10 +4,6 @@
|
|||
, lib
|
||||
, nix-prefetch-scripts
|
||||
, luarocks-nix
|
||||
, lua5_1
|
||||
, lua5_2
|
||||
, lua5_3
|
||||
, lua5_4
|
||||
, pluginupdate
|
||||
}:
|
||||
let
|
||||
|
@ -16,52 +12,44 @@ let
|
|||
nix nix-prefetch-scripts luarocks-nix
|
||||
];
|
||||
|
||||
luaversions = [
|
||||
lua5_1
|
||||
lua5_2
|
||||
lua5_3
|
||||
lua5_4
|
||||
];
|
||||
|
||||
attrs = builtins.fromTOML (builtins.readFile ./pyproject.toml);
|
||||
pname = attrs.project.name;
|
||||
inherit (attrs.project) version;
|
||||
in
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "luarocks-packages-updater";
|
||||
version = "0.1";
|
||||
inherit pname version;
|
||||
pyproject = true;
|
||||
|
||||
format = "other";
|
||||
src = lib.cleanSource ./.;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
python3Packages.wrapPython
|
||||
build-system = [
|
||||
python3Packages.setuptools
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
|
||||
dependencies = [
|
||||
python3Packages.gitpython
|
||||
];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin $out/lib
|
||||
cp ${./updater.py} $out/bin/luarocks-packages-updater
|
||||
cp ${pluginupdate} $out/lib/pluginupdate.py
|
||||
|
||||
# wrap python scripts
|
||||
makeWrapperArgs+=( --prefix PATH : "${path}" --prefix PYTHONPATH : "$out/lib" \
|
||||
--set LUA_51 ${lua5_1} \
|
||||
--set LUA_52 ${lua5_2} \
|
||||
--set LUA_53 ${lua5_3} \
|
||||
--set LUA_54 ${lua5_4}
|
||||
)
|
||||
wrapPythonProgramsIn "$out"
|
||||
postFixup = ''
|
||||
echo "pluginupdate folder ${pluginupdate}"
|
||||
wrapProgram $out/bin/luarocks-packages-updater \
|
||||
--prefix PYTHONPATH : "${pluginupdate}" \
|
||||
--prefix PATH : "${path}"
|
||||
'';
|
||||
|
||||
shellHook = ''
|
||||
export PYTHONPATH="maintainers/scripts:$PYTHONPATH"
|
||||
export PYTHONPATH="maintainers/scripts/pluginupdate-py:$PYTHONPATH"
|
||||
export PATH="${path}:$PATH"
|
||||
'';
|
||||
|
||||
meta.mainProgram = "luarocks-packages-updater";
|
||||
meta = {
|
||||
inherit (attrs.project) description;
|
||||
license = lib.licenses.gpl3Only;
|
||||
homepage = attrs.project.urls.Homepage;
|
||||
mainProgram = "luarocks-packages-updater";
|
||||
maintainers = with lib.maintainers; [ teto ];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
19
pkgs/by-name/lu/luarocks-packages-updater/pyproject.toml
Normal file
19
pkgs/by-name/lu/luarocks-packages-updater/pyproject.toml
Normal file
|
@ -0,0 +1,19 @@
|
|||
[build-system]
|
||||
build-backend = "setuptools.build_meta"
|
||||
requires = [ "setuptools" ]
|
||||
|
||||
[project]
|
||||
name = "luarocks-packages-updater"
|
||||
version = "0.0.1"
|
||||
description = """
|
||||
Module to update luarocks-packages"""
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/lu/luarocks-packages-updater"
|
||||
|
||||
[project.scripts]
|
||||
luarocks-packages-updater = "updater:main"
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 120
|
||||
indent-width = 4
|
|
@ -50,7 +50,7 @@ class LuaPlugin:
|
|||
name: str
|
||||
"""Name of the plugin, as seen on luarocks.org"""
|
||||
rockspec: str
|
||||
"""Full path towards the rockspec"""
|
||||
"""Full URI towards the rockspec"""
|
||||
ref: Optional[str]
|
||||
"""git reference (branch name/tag)"""
|
||||
version: Optional[str]
|
||||
|
@ -60,7 +60,7 @@ class LuaPlugin:
|
|||
Its value can be 'http://luarocks.org/dev'
|
||||
"""
|
||||
luaversion: Optional[str]
|
||||
"""Attribue of the lua interpreter if a package is available only for a specific lua version"""
|
||||
"""lua version if a package is available only for a specific lua version"""
|
||||
maintainers: Optional[str]
|
||||
""" Optional string listing maintainers separated by spaces"""
|
||||
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "manifold";
|
||||
version = "2.5.1-unstable-2024-09-06";
|
||||
version = "2.5.1-unstable-2024-09-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elalish";
|
||||
repo = "manifold";
|
||||
rev = "6f009ca13fab71e53f118179742cc2bb40455721";
|
||||
hash = "sha256-McP/Rdxss93YHZcPSSWaRjyGgUiQJ3mZXgzcHWldORU=";
|
||||
rev = "22c66051dfdbcefa2012e30dd12c9b5a20f89a01";
|
||||
hash = "sha256-Fbev5dTgXjXdC7fzWfHnypTBel++DiMns8OzN1bH1OA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -49,5 +49,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
hzeller
|
||||
pca006132
|
||||
];
|
||||
platforms = lib.platforms.linux; # currently issues with Darwin
|
||||
};
|
||||
})
|
||||
|
|
|
@ -93,6 +93,7 @@ stdenv.mkDerivation (builtins.removeAttrs args [ "mvnFetchExtraArgs" ] // {
|
|||
runHook preBuild
|
||||
|
||||
mvnDeps=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)
|
||||
runHook afterDepsSetup
|
||||
mvn package -o -nsu "-Dmaven.repo.local=$mvnDeps/.m2" ${mvnSkipTests} ${mvnParameters}
|
||||
|
||||
runHook postBuild
|
||||
|
|
|
@ -24,13 +24,13 @@ assert lib.assertMsg (dictionaries != [ ]) "merge-ut-dictionaries needs at least
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "merge-ut-dictionaries";
|
||||
version = "0-unstable-2024-08-28";
|
||||
version = "0-unstable-2024-09-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utuhiro78";
|
||||
repo = "merge-ut-dictionaries";
|
||||
rev = "9cacaadfc4a199914726687ad6545bfd7152c001";
|
||||
hash = "sha256-AdcwXl+33pyN8Q95EDNwMps3ObCzys8nicege6yeRk8=";
|
||||
rev = "35dfcca5c8657f2bf78bc000baa349c322ecb771";
|
||||
hash = "sha256-s6m430nXrG5v6iA+Fp2CKDPfFoAZirw/c3WahLrsaL4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 ];
|
||||
|
|
30
pkgs/by-name/mo/motoc/Cargo.lock
generated
30
pkgs/by-name/mo/motoc/Cargo.lock
generated
|
@ -62,9 +62,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.86"
|
||||
version = "1.0.88"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
||||
checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356"
|
||||
|
||||
[[package]]
|
||||
name = "approx"
|
||||
|
@ -132,15 +132,15 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
|||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.17.1"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2"
|
||||
checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.16"
|
||||
version = "1.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b"
|
||||
checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
]
|
||||
|
@ -511,7 +511,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "motoc"
|
||||
version = "0.2.0"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bindgen 0.70.1",
|
||||
|
@ -738,9 +738,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.36"
|
||||
version = "0.38.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36"
|
||||
checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"errno",
|
||||
|
@ -772,18 +772,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.209"
|
||||
version = "1.0.210"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09"
|
||||
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.209"
|
||||
version = "1.0.210"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
|
||||
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -846,9 +846,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
|
|||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
version = "1.0.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-segmentation"
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "motoc";
|
||||
version = "0.2.0";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "galister";
|
||||
repo = "motoc";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7p25F2bRba3LxS8UAkHvhb+GyOsKUMj7bhiK5ZJ0Jkk=";
|
||||
hash = "sha256-119RWsAM5kKjsxA6wGdjhB99G31QaYlZBRaFCg5TtmI=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "mozcdic-ut-jawiki";
|
||||
version = "0-unstable-2024-08-23";
|
||||
version = "0-unstable-2024-09-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utuhiro78";
|
||||
repo = "mozcdic-ut-jawiki";
|
||||
rev = "08814f70cc0cc9b0f4757fa46f40d918dfd7073d";
|
||||
hash = "sha256-Sfw5cNXuno3aSUUPy9c3HODIu9cVSmskTwibD8w8jaM=";
|
||||
rev = "c7bec6a8df7a3f893646bb8c017033499a8350be";
|
||||
hash = "sha256-fjIOGT3SYKLtL31QfZVNT4vKMNuHy1YAKFVjf82BWMQ=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "mozcdic-ut-personal-names";
|
||||
version = "0-unstable-2024-08-06";
|
||||
version = "0-unstable-2024-09-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utuhiro78";
|
||||
repo = "mozcdic-ut-personal-names";
|
||||
rev = "79e1192de922bba74ce45f59fd591f1cd9a061f5";
|
||||
hash = "sha256-5cfoeQS7H4uMRi7CQGFwdwDetihWKNVdFdON+/syvDA=";
|
||||
rev = "b61a5af7992d6fcdc82fa08b67b1c9771bbc4449";
|
||||
hash = "sha256-xcfhfO5GIiOVxLfqX3izLHYuSFZCgOlbQE3N3U+HTW4=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "mozcdic-ut-place-names";
|
||||
version = "0-unstable-2024-08-06";
|
||||
version = "0-unstable-2024-09-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utuhiro78";
|
||||
repo = "mozcdic-ut-place-names";
|
||||
rev = "e606f2336b79bf0fa7fad3a0eb6a1a9baebafcb9";
|
||||
hash = "sha256-IKn5ge8OiAidAmqr5+F7f4b1nUPa0ZT0n+5PfvkJKAs=";
|
||||
rev = "4525819546a26fc994d7ca4a2e883fde14bf908c";
|
||||
hash = "sha256-oiSBR2QhOYyurftdEn2w6hNK1ucddlvLqGTiZk9G/4k=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mpris-notifier";
|
||||
version = "0.1.9";
|
||||
version = "0.1.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "l1na-forever";
|
||||
repo = "mpris-notifier";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-s7/eN2gn8VmNtrI9zEBASs7jzxgfszJjNlXR7IVr3G4=";
|
||||
hash = "sha256-X9d410ijZZcHvf8+f6DgnMl8ETGeY/fN13Gpz6q3BBA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-DTB1Ranz2oeuWVMuFNe+kjuQFnPqBoDeqxuYFU9svSs=";
|
||||
cargoHash = "sha256-f8BCnjgv7OLWQ/2X3dTUuAarCl+u+4CRARSQsO+09zE=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
|
|
|
@ -18,18 +18,18 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "n8n";
|
||||
version = "1.57.0";
|
||||
version = "1.60.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "n8n-io";
|
||||
repo = "n8n";
|
||||
rev = "n8n@${finalAttrs.version}";
|
||||
hash = "sha256-0ShG/9Hj132mbNC06HzduMCosAefufbI1M/KJUYK1TQ=";
|
||||
hash = "sha256-G//+9Mucm/yH8XlA8/OO09lg9mKlo1S+Pyfmsp5MQhk=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-EfK8cmfkVebc/kIYaW+Eje1oPW1EpVpa2/jMs+KE5wg=";
|
||||
hash = "sha256-61xRNwJUFQrj7aw/+SqMABb8W+sJsVZ6aTgU9N7ssDo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "narsil";
|
||||
version = "1.3.0-85-g68f1491ca";
|
||||
version = "1.3.0-187-g96d6b3bbd";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NickMcConnell";
|
||||
repo = "NarSil";
|
||||
rev = version;
|
||||
hash = "sha256-uiueTkfucYcK6BQ0WpXp8Sye7E0D1uxd/InowWznBjY=";
|
||||
hash = "sha256-vrYkA/kYQRXMcULVIZ9EaQOI0L4aQWVVp1M38Net0Fc=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
|
|
@ -12,16 +12,16 @@
|
|||
|
||||
let
|
||||
pname = "nwg-drawer";
|
||||
version = "0.4.9";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-drawer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KhgALKJNS7Y+u5pAfpvTup0W1+Vi6r1uaVFQZRiv4Dk=";
|
||||
hash = "sha256-0ksvat0NDC2P+T0TyDAKh7YNLYhH+znxqLCqQ/5GDj8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-J7r3YyfV5lRZbjKo7ZNHQrOqR1GNbUB7GxRMlXuuw/c=";
|
||||
vendorHash = "sha256-KULOXphc6GWIGP79C9sgfAIRMoqwcjaVp4jVyF6of/E=";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version src vendorHash;
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "openmsx";
|
||||
version = "19.1";
|
||||
version = "20_0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openMSX";
|
||||
repo = "openMSX";
|
||||
rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}";
|
||||
hash = "sha256-5ULljLmEDGFp32rnrXKLfL6P3ad2STJUNngBuWlRCbc=";
|
||||
hash = "sha256-iY+oZ7fHZnnEGunM4kOxOGH2Biqj2PfdLhbT8J4mYrA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
, libsForQt5
|
||||
, libspnav
|
||||
, libzip
|
||||
, manifold
|
||||
, mesa
|
||||
, mpfr
|
||||
, python3
|
||||
|
@ -36,61 +37,23 @@
|
|||
, wayland-protocols
|
||||
, wrapGAppsHook3
|
||||
, xorg
|
||||
, mimalloc
|
||||
, opencsg
|
||||
}:
|
||||
let
|
||||
# get cccl from source to avoid license issues
|
||||
nvidia-cccl = clangStdenv.mkDerivation {
|
||||
pname = "nvidia-cccl";
|
||||
# note, after v2.2.0, manifold dependency fails with some swap() ambiguities
|
||||
version = "2.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVIDIA";
|
||||
repo = "cccl";
|
||||
fetchSubmodules = true;
|
||||
rev = "v2.2.0";
|
||||
hash = "sha256-azHDAuK0rAHrH+XkN3gHDrbwZOclP3zbEMe8VRpMjDQ=";
|
||||
};
|
||||
patches = [ ./thrust-cmake.patch ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ tbb_2021_11 ];
|
||||
cmakeFlags = [
|
||||
# only enable what we need
|
||||
"-DCCCL_ENABLE_CUB=OFF"
|
||||
"-DCCCL_ENABLE_LIBCUDACXX=ON"
|
||||
"-DCCCL_ENABLE_THRUST=ON"
|
||||
"-DCCCL_ENABLE_TESTING=OFF"
|
||||
"-DCCCL_ENABLE_EXAMPLES=OFF"
|
||||
|
||||
"-DTHRUST_DEVICE_SYSTEM=TBB"
|
||||
"-DTHRUST_HOST_SYSTEM=CPP"
|
||||
"-DTHRUST_ENABLE_HEADER_TESTING=OFF"
|
||||
"-DTHRUST_ENABLE_TESTING=OFF"
|
||||
"-DTHRUST_ENABLE_EXAMPLES=OFF"
|
||||
|
||||
"-DLIBCUDACXX_ENABLE_CUDA=OFF"
|
||||
"-DLIBCUDACXX_ENABLE_STATIC_LIBRARY=OFF"
|
||||
"-DLIBCUDACXX_ENABLE_LIBCUDACXX_TESTS=OFF"
|
||||
];
|
||||
meta = with lib; {
|
||||
description = "CUDA C++ Core Libraries";
|
||||
homepage = "https://github.com/NVIDIA/cccl";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
};
|
||||
in
|
||||
# clang consume much less RAM than GCC
|
||||
clangStdenv.mkDerivation rec {
|
||||
pname = "openscad-unstable";
|
||||
version = "2024-08-17";
|
||||
version = "2024-09-22";
|
||||
src = fetchFromGitHub {
|
||||
owner = "openscad";
|
||||
repo = "openscad";
|
||||
rev = "a16ca2a670840cfecb76254967380385d4d573cb";
|
||||
hash = "sha256-YadbrYaxxdVNejasFW0MbcYwjwTHHQbVjqen9PKEsYQ=";
|
||||
fetchSubmodules = true;
|
||||
rev = "1cf4e97ed488d606c823f107dcc361f218aa84ca";
|
||||
hash = "sha256-5WzLAQnjH+4JjJhh9pCgY3j8+lyNPrtY9a104tzkglo=";
|
||||
fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD
|
||||
};
|
||||
|
||||
patches = [ ./test.diff ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
(python3.withPackages (ps: with ps; [ numpy pillow ]))
|
||||
bison
|
||||
|
@ -103,12 +66,10 @@ clangStdenv.mkDerivation rec {
|
|||
pkg-config
|
||||
];
|
||||
buildInputs = with libsForQt5; with qt5; [
|
||||
# manifold dependencies
|
||||
clipper2
|
||||
glm
|
||||
tbb_2021_11
|
||||
nvidia-cccl
|
||||
|
||||
mimalloc
|
||||
boost
|
||||
cairo
|
||||
cgal_5
|
||||
|
@ -119,11 +80,13 @@ clangStdenv.mkDerivation rec {
|
|||
ghostscript
|
||||
glib
|
||||
gmp
|
||||
opencsg
|
||||
harfbuzz
|
||||
hidapi
|
||||
lib3mf
|
||||
libspnav
|
||||
libzip
|
||||
manifold
|
||||
mpfr
|
||||
qscintilla
|
||||
qtbase
|
||||
|
@ -143,7 +106,8 @@ clangStdenv.mkDerivation rec {
|
|||
cmakeFlags = [
|
||||
"-DEXPERIMENTAL=ON" # enable experimental options
|
||||
"-DSNAPSHOT=ON" # nightly icons
|
||||
"-DUSE_BUILTIN_OPENCSG=ON" # bundled latest opencsg
|
||||
"-DUSE_BUILTIN_OPENCSG=OFF"
|
||||
"-DUSE_BUILTIN_MANIFOLD=OFF"
|
||||
"-DOPENSCAD_VERSION=\"${builtins.replaceStrings ["-"] ["."] version}\""
|
||||
"-DCMAKE_UNITY_BUILD=ON" # faster build
|
||||
# IPO
|
||||
|
@ -180,6 +144,5 @@ clangStdenv.mkDerivation rec {
|
|||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ pca006132 raskin ];
|
||||
mainProgram = "openscad";
|
||||
broken = true; # https://github.com/NixOS/nixpkgs/issues/341043
|
||||
};
|
||||
}
|
||||
|
|
36
pkgs/by-name/pi/pipet/package.nix
Normal file
36
pkgs/by-name/pi/pipet/package.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pipet";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjesus";
|
||||
repo = "pipet";
|
||||
rev = version;
|
||||
hash = "sha256-PqOx/aFI5gHt78th1nkSKlTGw/r1eU7Ggz5kvtjMCmI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-jNIjF5jxcpNLAjuWo7OG/Ac4l6NpQNCKzYUgdAoL+C4=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.version=${version}"
|
||||
"-X main.currentSha=${src.rev}"
|
||||
];
|
||||
|
||||
doCheck = false; # Requires network
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/bjesus/pipet";
|
||||
description = "Scraping and extracting data from online assets";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ bjesus ];
|
||||
mainProgram = "pipet";
|
||||
};
|
||||
}
|
|
@ -1,4 +1,13 @@
|
|||
{ lib, stdenv, makeWrapper, fetchzip, runCommand, plantuml, plantuml-c4, jre }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
jre,
|
||||
makeWrapper,
|
||||
plantuml-c4,
|
||||
plantuml,
|
||||
runCommand,
|
||||
}:
|
||||
|
||||
# The C4-PlantUML docs say that it suffices to run plantuml with the
|
||||
# -DRELATIVE_INCLUDE="..." arg to make plantuml find the C4 templates
|
||||
|
@ -12,13 +21,13 @@
|
|||
|
||||
let
|
||||
c4-lib = fetchzip {
|
||||
url = "https://github.com/plantuml-stdlib/C4-PlantUML/archive/refs/tags/v2.8.0.zip";
|
||||
hash = "sha256-pGtTFg7HcAFYPrjd+CAaxS4C6Cqaj94aq45v3NpiAxM=";
|
||||
url = "https://github.com/plantuml-stdlib/C4-PlantUML/archive/refs/tags/v2.10.0.zip";
|
||||
hash = "sha256-p9Njb7VauXVf6yOBDQrO9mS+za9NntFUCK5tig0mH3U=";
|
||||
};
|
||||
|
||||
sprites = fetchzip {
|
||||
url = "https://github.com/tupadr3/plantuml-icon-font-sprites/archive/fa3f885dbd45c9cd0cdf6c0e5e4fb51ec8b76582.zip";
|
||||
hash = "sha256-lt9+NNMIaZSkKNsGyHoqXUCTlKmZFGfNYYGjer6X0Xc=";
|
||||
url = "https://github.com/tupadr3/plantuml-icon-font-sprites/archive/refs/tags/v3.0.0.zip";
|
||||
hash = "sha256-I/cR1VPR7aKyTZF9X/4GkgcxV9+sLgNpTZugvCy0Dvs=";
|
||||
};
|
||||
|
||||
# In order to pre-fix the plantuml.jar parameter with the argument
|
||||
|
@ -26,22 +35,24 @@ let
|
|||
# This way the plantuml derivation can remain unchanged.
|
||||
plantumlWithExtraPath =
|
||||
let
|
||||
plantumlIncludePath = lib.concatStringsSep ":" [ c4-lib sprites ];
|
||||
plantumlIncludePath = lib.concatStringsSep ":" [
|
||||
c4-lib
|
||||
sprites
|
||||
];
|
||||
includeFlag = "-Dplantuml.include.path=${lib.escapeShellArg plantumlIncludePath}";
|
||||
postFixedJre =
|
||||
runCommand "jre-postfixed" { nativeBuildInputs = [ makeWrapper ]; } ''
|
||||
mkdir -p $out/bin
|
||||
postFixedJre = runCommand "jre-postfixed" { nativeBuildInputs = [ makeWrapper ]; } ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/java \
|
||||
--add-flags ${lib.escapeShellArg includeFlag}
|
||||
'';
|
||||
makeWrapper ${jre}/bin/java $out/bin/java \
|
||||
--add-flags ${lib.escapeShellArg includeFlag}
|
||||
'';
|
||||
in
|
||||
plantuml.override { jre = postFixedJre; };
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation {
|
||||
pname = "plantuml-c4";
|
||||
version = "2.8.0";
|
||||
version = "2.10.0";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
@ -55,20 +66,24 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
passthru.tests.example-c4-diagram =
|
||||
runCommand "c4-plantuml-sample.png" { nativeBuildInputs = [ plantuml-c4 ]; } ''
|
||||
sed 's/https:.*\///' "${c4-lib}/samples/C4_Context Diagram Sample - enterprise.puml" > sample.puml
|
||||
plantuml sample.puml -o $out
|
||||
runCommand "c4-plantuml-sample.png" { nativeBuildInputs = [ plantuml-c4 ]; }
|
||||
''
|
||||
sed 's/https:.*\///' "${c4-lib}/samples/C4_Context Diagram Sample - enterprise.puml" > sample.puml
|
||||
plantuml sample.puml -o $out
|
||||
|
||||
sed 's/!include ..\//!include /' ${sprites}/examples/complex-example.puml > sprites.puml
|
||||
plantuml sprites.puml -o $out
|
||||
'';
|
||||
sed 's/!include ..\//!include /' ${sprites}/examples/complex-example.puml > sprites.puml
|
||||
plantuml sprites.puml -o $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "PlantUML bundled with C4-Plantuml and plantuml sprites library";
|
||||
mainProgram = "plantuml";
|
||||
homepage = "https://github.com/plantuml-stdlib/C4-PlantUML";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ tfc ];
|
||||
maintainers = with maintainers; [
|
||||
tfc
|
||||
anthonyroussel
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -1,18 +1,22 @@
|
|||
{ lib, stdenv, fetchurl, nixosTests }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.2024.7";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plantuml-server";
|
||||
inherit version;
|
||||
version = "1.2024.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
|
||||
sha256 = "sha256-9YTclV+FoiNbcpeNtlbbozqjB1BN9EJn03CzyHDbC+8=";
|
||||
hash = "sha256-9YTclV+FoiNbcpeNtlbbozqjB1BN9EJn03CzyHDbC+8=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/webapps"
|
||||
cp "$src" "$out/webapps/plantuml.war"
|
||||
'';
|
||||
|
@ -27,6 +31,9 @@ stdenv.mkDerivation rec {
|
|||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ truh ];
|
||||
maintainers = with maintainers; [
|
||||
truh
|
||||
anthonyroussel
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,18 +1,20 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, makeBinaryWrapper
|
||||
, jre
|
||||
, graphviz
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
graphviz,
|
||||
jre,
|
||||
makeBinaryWrapper,
|
||||
testers,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "plantuml";
|
||||
version = "1.2024.5";
|
||||
version = "1.2024.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/plantuml/plantuml/releases/download/v${finalAttrs.version}/plantuml-pdf-${finalAttrs.version}.jar";
|
||||
hash = "sha256-YayIedHIIpecVF7BZSvBTp66Eb7He+l+1RCir5KuL28=";
|
||||
hash = "sha256-8BlAPc2BeojyTcZVboUA6+sOA5AO5eG871mSIWinm5E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -30,18 +32,28 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
postCheckInstall = ''
|
||||
$out/bin/plantuml -help
|
||||
$out/bin/plantuml -testdot
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "plantuml --version";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Draw UML diagrams using a simple and human readable text description";
|
||||
homepage = "https://plantuml.com/";
|
||||
# "plantuml -license" says GPLv3 or later
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "plantuml";
|
||||
maintainers = with lib.maintainers; [ bjornfor Mogria ];
|
||||
maintainers = with lib.maintainers; [
|
||||
bjornfor
|
||||
Mogria
|
||||
anthonyroussel
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
};
|
|
@ -1,16 +1,16 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "pmtiles";
|
||||
version = "1.21.0";
|
||||
version = "1.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "protomaps";
|
||||
repo = "go-pmtiles";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-scicNAl1Lu8oD/g/63CXLeys+yorpH6Unhk5p4V78eY=";
|
||||
hash = "sha256-r3gp0f771Cfy4JNekilnct+FKu4nOb+8y+B1A+anJ5Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8HShM4YznUAc6rJyDbdL5vv0dOk+d4IRKQpmEhWiNjo=";
|
||||
vendorHash = "sha256-5oKcq1eTrcjQKWySDOsEFFbKkld9g494D5Tg9Bej8JQ=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ];
|
||||
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "raffi";
|
||||
version = "0.4.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chmouel";
|
||||
repo = "raffi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-i4PM82vGb9Z2pwW006114/h9crokVLUpLxNjr7tgAU8=";
|
||||
hash = "sha256-25dH6LprqcZq9Px5nFNrGHk/2Tn23TZMLVZVic0unU8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-DS56H2XjEgdXC9TKLjwyfLpFHB9dUThhr8pNFEJuAZE=";
|
||||
cargoHash = "sha256-bkNjlX8WH8+q4I+VfYZeraf2vyHtDFZQCbXzsdehCZQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
|
|
|
@ -21,13 +21,13 @@ let
|
|||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "renovate";
|
||||
version = "38.73.5";
|
||||
version = "38.93.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "renovatebot";
|
||||
repo = "renovate";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-+kracgelM8VOIgEtDfaXWokNZgiwl+s/k1yx6RxQk0c=";
|
||||
hash = "sha256-4NvFS4WWdV3Csuv28/wq6EvB+in5bo1N4Fn602bi4rE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -44,7 +44,7 @@ stdenv'.mkDerivation (finalAttrs: {
|
|||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-J61fOjANS7WKd3HLaqJZE1m2jFrMTknW6SGdy/yVIKg=";
|
||||
hash = "sha256-cjk7PS4DUAgmg+mLUaWJFTjQv2GcPdr1VchNRjJgqsk=";
|
||||
};
|
||||
|
||||
env.COREPACK_ENABLE_STRICT = 0;
|
||||
|
|
|
@ -1,26 +1,17 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles, testers, rosa, nix-update-script }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, rosa, nix-update-script }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "rosa";
|
||||
version = "1.2.43";
|
||||
version = "1.2.45";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openshift";
|
||||
repo = "rosa";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1/go7mL2uRzzV/iiTXsgZHGNW8EIONwEnb4jcMiKkv4=";
|
||||
hash = "sha256-Yjsk2A5itmTtOYM5UxSzQXNrBV9m1C8eXM0QUDjX2cI=";
|
||||
};
|
||||
vendorHash = null;
|
||||
|
||||
patches = [
|
||||
# https://github.com/openshift/rosa/pull/2326/
|
||||
# TODO: remove on next version bump
|
||||
(fetchpatch {
|
||||
url = "https://github.com/openshift/rosa/commit/9ed236880f91f0e9514ba0a6f3be93ee115d1689.patch";
|
||||
hash = "sha256-KNGqJRFyfzcDs336Lj/KwR1yd5M7zfehu7IO0z/KUtg=";
|
||||
})
|
||||
];
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue