Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-09-23 00:16:29 +00:00 committed by GitHub
commit 3abd3dab62
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
245 changed files with 7638 additions and 3017 deletions

3
.github/CODEOWNERS vendored
View file

@ -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

View file

@ -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";

View 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).

View file

@ -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*.

View file

@ -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`.

View file

@ -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; };
}));
};
}

View file

@ -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";
}

View file

@ -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

View file

@ -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;

View file

@ -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")

View file

@ -448,4 +448,5 @@ in
};
meta.maintainers = with lib.maintainers; [ felixsinger ];
}

View file

@ -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" ];
};
};
}

View file

@ -406,4 +406,6 @@ in
}
'';
};
meta.maintainers = with lib.maintainers; [ felixsinger ];
}

View file

@ -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;
'';
};

View 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;
};
}

View file

@ -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.

View file

@ -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 {};

View 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}"
'';
}
)

View file

@ -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

View file

@ -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 = [

View file

@ -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;

View file

@ -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: {};

View file

@ -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

View file

@ -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";

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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";

View file

@ -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 {

View file

@ -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 = {

View file

@ -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

View file

@ -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

View file

@ -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;
};
}

View file

@ -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=";
}

View file

@ -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

View file

@ -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 = [

View file

@ -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 ];
};
}

View file

@ -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;

View file

@ -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 = {

View file

@ -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 \

View file

@ -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";
};
}

View file

@ -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

View file

@ -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 = "Algolias 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 ];
};
}

View file

@ -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 = [

View file

@ -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 = ''

View file

@ -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" ];

View 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
];
};
}

View file

@ -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;

View file

@ -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

View file

@ -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"

View file

@ -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>

View 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>

View 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;
};
}

View file

@ -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;

View file

@ -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 = [

View file

@ -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; [

View file

@ -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;
};
}

View file

@ -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 = [

View file

@ -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 ];
};
}

View file

@ -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 = [

View file

@ -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";

View file

@ -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

View 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 ];
};
}

View 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
'';
}

View file

@ -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 = [

View file

@ -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; };

View file

@ -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; };

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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; };

View file

@ -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 = ''

View file

@ -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 ];
};
}

View 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

View file

@ -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"""

View file

@ -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
};
})

View file

@ -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

View file

@ -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 ];

View file

@ -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"

View file

@ -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 = {

View file

@ -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 = ''

View file

@ -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 = ''

View file

@ -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 = ''

View file

@ -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

View file

@ -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 = [

View file

@ -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 { };

View file

@ -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;

View file

@ -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;
};

View file

@ -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
};
}

View 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";
};
}

View file

@ -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;
};
}

View file

@ -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
];
};
}

View file

@ -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 ];
};

View file

@ -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}" ];

View file

@ -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

View file

@ -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;

View file

@ -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