Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-27 12:05:46 +00:00 committed by GitHub
commit 22165c231d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
49 changed files with 11146 additions and 1048 deletions

View File

@ -108,6 +108,8 @@
- [zeronsd](https://github.com/zerotier/zeronsd), a DNS server for ZeroTier users. Available with [services.zeronsd.servedNetworks](#opt-services.zeronsd.servedNetworks).
- [Collabora Online](https://www.collaboraonline.com/), a collaborative online office suite based on LibreOffice technology. Available as [services.collabora-online](options.html#opt-services.collabora-online.enable).
- [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a web ui for connecting devices. Available at [services.wg-access-server](#opt-services.wg-access-server.enable).
- [Pingvin Share](https://github.com/stonith404/pingvin-share), a self-hosted file sharing platform and an alternative for WeTransfer. Available as [services.pingvin-share](#opt-services.pingvin-share.enable).

View File

@ -1392,6 +1392,7 @@
./services/web-apps/chatgpt-retrieval-plugin.nix
./services/web-apps/cloudlog.nix
./services/web-apps/code-server.nix
./services/web-apps/collabora-online.nix
./services/web-apps/commafeed.nix
./services/web-apps/convos.nix
./services/web-apps/crabfit.nix

View File

@ -438,6 +438,7 @@ in
ZONEINFO = "${pkgs.tzdata}/share/zoneinfo";
};
serviceConfig = {
Type = "exec"; # When credentials are used with systemd before v257 this is necessary to make the service start reliably (see systemd/systemd#33953)
ExecStart = "${cfg.package}/bin/influxd --bolt-path \${STATE_DIRECTORY}/influxd.bolt --engine-path \${STATE_DIRECTORY}/engine";
StateDirectory = "influxdb2";
User = "influxdb2";

View File

@ -148,6 +148,7 @@ in {
spectacle
ffmpegthumbs
krdp
xwaylandvideobridge # exposes Wayland windows to X11 screen capture
] ++ lib.optionals config.services.flatpak.enable [
# Since PackageKit Nix support is not there yet,
# only install discover if flatpak is enabled.

View File

@ -0,0 +1,200 @@
{
config,
lib,
pkgs,
utils,
...
}:
let
cfg = config.services.collabora-online;
freeformType = lib.types.attrsOf ((pkgs.formats.json { }).type) // {
description = ''
`coolwsd.xml` configuration type, used to override values in the default configuration.
Attribute names correspond to XML tags unless prefixed with `@`. Nested attribute sets
correspond to nested XML tags. Attribute prefixed with `@` correspond to XML attributes. E.g.,
`{ storage.wopi."@allow" = true; }` in Nix corresponds to
`<storage><wopi allow="true"/></storage>` in `coolwsd.xml`, or `--o:storage.wopi[@allow]=true`
in the command line.
Arrays correspond to multiple elements with the same tag name. E.g.
`{ host = [ '''127\.0\.0\.1''' "::1" ]; }` in Nix corresponds to
```xml
<net><post_allow>
<host>127\.0\.0\.1</host>
<host>::1</host>
</post_allow></net>
```
in `coolwsd.xml`, or
`--o:net.post_allow.host[0]='127\.0\.0\.1 --o:net.post_allow.host[1]=::1` in the command line.
Null values could be used to remove an element from the default configuration.
'';
};
configFile =
pkgs.runCommandLocal "coolwsd.xml"
{
nativeBuildInputs = [
pkgs.jq
pkgs.yq-go
];
userConfig = builtins.toJSON { config = cfg.settings; };
passAsFile = [ "userConfig" ];
}
# Merge the cfg.settings into the default coolwsd.xml.
# See https://github.com/CollaboraOnline/online/issues/10049.
''
yq --input-format=xml \
--xml-attribute-prefix=@ \
--output-format=json \
${cfg.package}/etc/coolwsd/coolwsd.xml \
> ./default_coolwsd.json
jq '.[0] * .[1] | del(..|nulls)' \
--slurp \
./default_coolwsd.json \
$userConfigPath \
> ./merged.json
yq --output-format=xml \
--xml-attribute-prefix=@ \
./merged.json \
> $out
'';
in
{
options.services.collabora-online = {
enable = lib.mkEnableOption "collabora-online";
package = lib.mkPackageOption pkgs "Collabora Online" { default = "collabora-online"; };
port = lib.mkOption {
type = lib.types.port;
default = 9980;
description = "Listening port";
};
settings = lib.mkOption {
type = freeformType;
default = { };
description = ''
Configuration for Collabora Online WebSocket Daemon, see
<https://sdk.collaboraonline.com/docs/installation/Configuration.html>, or
<https://github.com/CollaboraOnline/online/blob/master/coolwsd.xml.in> for the default
configuration.
'';
};
aliasGroups = lib.mkOption {
type = lib.types.listOf (
lib.types.submodule {
options = {
host = lib.mkOption {
type = lib.types.str;
example = "scheme://hostname:port";
description = "Hostname to allow or deny.";
};
aliases = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
example = [
"scheme://aliasname1:port"
"scheme://aliasname2:port"
];
description = "A list of regex pattern of aliasname.";
};
};
}
);
default = [ ];
description = "Alias groups to use.";
};
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra arguments to pass to the service.";
};
};
config = lib.mkIf cfg.enable {
services.collabora-online.settings = {
child_root_path = lib.mkDefault "/var/lib/cool/child-roots";
sys_template_path = lib.mkDefault "/var/lib/cool/systemplate";
file_server_root_path = lib.mkDefault "${config.services.collabora-online.package}/share/coolwsd";
# Use mount namespaces instead of setcap'd coolmount/coolforkit.
mount_namespaces = lib.mkDefault true;
# By default, use dummy self-signed certificates provided for testing.
ssl.ca_file_path = lib.mkDefault "${config.services.collabora-online.package}/etc/coolwsd/ca-chain.cert.pem";
ssl.cert_file_path = lib.mkDefault "${config.services.collabora-online.package}/etc/coolwsd/cert.pem";
ssl.key_file_path = lib.mkDefault "${config.services.collabora-online.package}/etc/coolwsd/key.pem";
};
users.users.cool = {
isSystemUser = true;
group = "cool";
};
users.groups.cool = { };
systemd.services.coolwsd-systemplate-setup = {
description = "Collabora Online WebSocket Daemon Setup";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = utils.escapeSystemdExecArgs [
"${cfg.package}/bin/coolwsd-systemplate-setup"
"/var/lib/cool/systemplate"
"${cfg.package.libreoffice}/lib/collaboraoffice"
];
RemainAfterExit = true;
StateDirectory = "cool";
Type = "oneshot";
User = "cool";
};
};
systemd.services.coolwsd = {
description = "Collabora Online WebSocket Daemon";
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
"coolwsd-systemplate-setup.service"
];
environment = builtins.listToAttrs (
lib.imap1 (n: ag: {
name = "aliasgroup${toString n}";
value = lib.concatStringsSep "," ([ ag.host ] ++ ag.aliases);
}) cfg.aliasGroups
);
serviceConfig = {
ExecStart = utils.escapeSystemdExecArgs (
[
"${cfg.package}/bin/coolwsd"
"--config-file=${configFile}"
"--port=${toString cfg.port}"
"--use-env-vars"
"--version"
]
++ cfg.extraArgs
);
KillMode = "mixed";
KillSignal = "SIGINT";
LimitNOFILE = "infinity:infinity";
Restart = "always";
StateDirectory = "cool";
TimeoutStopSec = 120;
User = "cool";
};
};
};
meta.maintainers = [ lib.maintainers.xzfc ];
}

View File

@ -159,8 +159,8 @@ let
# containerInit and stage2 have to handle this as well.
exec ${config.systemd.package}/bin/systemd-nspawn \
--keep-unit \
-M "$INSTANCE" -D "$root" "$extraFlags" \
"$EXTRA_NSPAWN_FLAGS" \
-M "$INSTANCE" -D "$root" $extraFlags \
$EXTRA_NSPAWN_FLAGS \
--notify-ready=yes \
--kill-signal=SIGRTMIN+3 \
--bind-ro=/nix/store \

View File

@ -741,6 +741,7 @@ in {
image-contents = handleTest ./image-contents.nix {};
openvscode-server = handleTest ./openvscode-server.nix {};
open-webui = runTest ./open-webui.nix;
openvswitch = runTest ./openvswitch.nix;
orangefs = handleTest ./orangefs.nix {};
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
osquery = handleTestOn ["x86_64-linux"] ./osquery.nix {};

View File

@ -0,0 +1,62 @@
{
name = "openvswitch";
nodes = {
node1 = {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
vswitches.vs0 = {
interfaces = {
eth1 = { };
};
};
};
systemd.network.networks."40-vs0" = {
name = "vs0";
networkConfig.Address = "10.0.0.1/24";
};
};
node2 = {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
vswitches.vs0 = {
interfaces = {
eth1 = { };
};
};
};
systemd.network.networks."40-vs0" = {
name = "vs0";
networkConfig.Address = "10.0.0.2/24";
};
};
};
testScript = # python
''
start_all()
node1.wait_for_unit("ovsdb.service")
node1.wait_for_unit("ovs-vswitchd.service")
node2.wait_for_unit("ovsdb.service")
node2.wait_for_unit("ovs-vswitchd.service")
node1.succeed("ping -c3 10.0.0.2")
node2.succeed("ping -c3 10.0.0.1")
'';
}

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "audacious";
version = "4.4";
version = "4.4.1";
src = fetchFromGitHub {
owner = "audacious-media-player";
repo = "audacious";
rev = "${pname}-${version}";
hash = "sha256-qAJztvNI3uGmQfECJJ7tJ/xLLgMU5OiW0O3ZSJhvt0k=";
hash = "sha256-Bz/OI38+IFTHlBH3p2NTzSj8YD/7Xd4JeWpHgCSpMXw=";
};
nativeBuildInputs = [

View File

@ -46,13 +46,13 @@
stdenv.mkDerivation rec {
pname = "audacious-plugins";
version = "4.4";
version = "4.4.1";
src = fetchFromGitHub {
owner = "audacious-media-player";
repo = "audacious-plugins";
rev = "${pname}-${version}";
hash = "sha256-J9jgBl8J4W9Yvrlg1KlzYgGTmdxUZM9L11rCftKFSlE=";
hash = "sha256-F2kcGc6VCaBsL5Zx7qtZjPvqzaxmR87Q9LTFEU+nqmo=";
};
patches = [ ./0001-Set-plugindir-to-PREFIX-lib-audacious.patch ];

View File

@ -1,71 +0,0 @@
{ stdenv
, lib
, fetchFromGitHub
, pkg-config
, mono
, meson
, ninja
, gtk-sharp-2_0
, gettext
, makeWrapper
, glib
, gtk2-x11
, libxslt
, docbook_xsl
, python3
, itstool
}:
stdenv.mkDerivation rec {
pname = "bless";
version = "0.6.3";
src = fetchFromGitHub {
owner = "afrantzis";
repo = pname;
rev = "v${version}";
hash = "sha256-rS+vJX0y9v1TiPsRfABroHiTuENQKEOxNsyKwagRuHM=";
};
buildInputs = [
gtk-sharp-2_0
mono
# runtime only deps
glib
gtk2-x11
];
nativeBuildInputs = [
pkg-config
meson
ninja
gettext
makeWrapper
libxslt
docbook_xsl
python3
itstool
];
mesonFlags = [
"-Dtests=false" # requires NUnit
];
postPatch = ''
patchShebangs .
'';
preFixup = ''
MPATH="${gtk-sharp-2_0}/lib/mono/gtk-sharp-2.0:${glib.out}/lib:${gtk2-x11}/lib:${gtk-sharp-2_0}/lib"
wrapProgram $out/bin/bless --prefix MONO_PATH : "$MPATH" --prefix LD_LIBRARY_PATH : "$MPATH" --prefix PATH : ${lib.makeBinPath [ mono ]}
'';
meta = with lib; {
homepage = "https://github.com/afrantzis/bless";
description = "Gtk# Hex Editor";
maintainers = [ maintainers.mkg20001 ];
license = licenses.gpl2;
platforms = platforms.linux;
mainProgram = "bless";
};
}

View File

@ -1,44 +0,0 @@
{lib, stdenv, fetchurl, fetchpatch, gtk2, perlPackages, pkg-config } :
let version = "0.4"; in
stdenv.mkDerivation {
pname = "gcolor2";
inherit version;
arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else "386";
src = fetchurl {
url = "mirror://sourceforge/project/gcolor2/gcolor2/${version}/gcolor2-${version}.tar.bz2";
sha256 = "1siv54vwx9dbfcflklvf7pkp5lk6h3nn63flg6jzifz9wp0c84q6";
};
preConfigure = ''
sed -i 's/\[:space:\]/[&]/g' configure
'';
# from https://github.com/PhantomX/slackbuilds/tree/master/gcolor2/patches
patches = (if stdenv.hostPlatform.system == "x86_64-linux" then
[ ./gcolor2-amd64.patch ] else
[ ])
++ [
# Pull patch pending upstream inclusion for -fno-common toolchains:
# https://sourceforge.net/p/gcolor2/patches/8/
(fetchpatch {
name = "fno-common.patch";
url = "https://sourceforge.net/p/gcolor2/patches/8/attachment/0001-gcolor2-fix-build-on-gcc-10-fno-common.patch";
sha256 = "0187zc8as9g3d6mpm3isg87jfpryj0hajb4inwvii8gxrzbi5l5f";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 ]
++ (with perlPackages; [ perl XMLParser ]);
meta = {
description = "Simple GTK 2 color selector";
homepage = "https://gcolor2.sourceforge.net/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ notthemessiah ];
platforms = with lib.platforms; unix;
mainProgram = "gcolor2";
};
}

View File

@ -1,46 +0,0 @@
diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/callbacks.c gcolor2-0.4/src/callbacks.c
--- gcolor2-0.4.orig/src/callbacks.c 2005-07-12 14:06:12.000000000 -0400
+++ gcolor2-0.4/src/callbacks.c 2007-02-17 19:19:38.000000000 -0500
@@ -4,6 +4,9 @@
#include <gtk/gtk.h>
#include <stdio.h>
+#include <string.h>
+#include <glib.h>
+#include <glib/gprintf.h>
#include "callbacks.h"
#include "interface.h"
@@ -172,6 +175,9 @@ void on_copy_color_to_clipboard_activate
gtk_clipboard_set_text (cb, hex, strlen (hex));
}
+void add_rgb_file (gchar *filename, gchar *type);
+gchar* get_system_file (void);
+
void on_show_system_colors_activate (GtkMenuItem *menuitem, gpointer user_data)
{
if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)))
@@ -266,6 +272,8 @@ void on_save_button_clicked (GtkButton *
gtk_widget_destroy (savedialog);
}
+void add_list_color (gchar *spec, gchar *name, gchar *type, gboolean is_new_color);
+
void add_color_to_treeview ()
{
GtkTreeView *treeview;
diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/main.c gcolor2-0.4/src/main.c
--- gcolor2-0.4.orig/src/main.c 2005-07-11 10:55:49.000000000 -0400
+++ gcolor2-0.4/src/main.c 2007-02-17 19:18:23.000000000 -0500
@@ -4,6 +4,10 @@
#include <gtk/gtk.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+#include <glib/gprintf.h>
#include "interface.h"
#include "support.h"

View File

@ -1,31 +0,0 @@
{ lib, stdenv, fetchurl, intltool, pkg-config, gtk2, fetchpatch }:
stdenv.mkDerivation rec {
pname = "gpicview";
version = "0.2.4";
src = fetchurl {
url = "mirror://sourceforge/lxde/gpicview-${version}.tar.gz";
sha256 = "1svcy1c8bgk0pl12yhyv16h2fl52x5vzzcv57z6qdcv5czgvgglr";
};
patches = [
(fetchpatch {
url = "https://raw.githubusercontent.com/nonas/debian-clang/master/buildlogs/gpicview/gpicview-0.2.4/debian/patches/clang_FTBFS_Wreturn-type.patch";
sha256 = "02dm966bplnv10knpdx7rlpjipk884156ggd9ij05zhza0jl8xcs";
})
];
nativeBuildInputs = [ pkg-config intltool ];
buildInputs = [ gtk2 ];
meta = with lib; {
description = "Simple and fast image viewer for X";
homepage = "https://lxde.sourceforge.net/gpicview/";
license = licenses.gpl2;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.unix;
mainProgram = "gpicview";
};
}

View File

@ -1,29 +0,0 @@
{ lib, stdenv, fetchurl, pkg-config, gtk2, libpng }:
stdenv.mkDerivation rec {
pname = "gqview";
version = "2.1.5";
src = fetchurl {
url = "mirror://sourceforge/gqview/gqview-${version}.tar.gz";
sha256 = "0ilm5s7ps9kg4f5hzgjhg0xhn6zg0v9i7jnd67zrx9h7wsaa9zhj";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 libpng ];
hardeningDisable = [ "format" ];
env.NIX_CFLAGS_COMPILE = "-fcommon";
NIX_LDFLAGS = "-lm";
meta = with lib; {
description = "Fast image viewer";
homepage = "https://gqview.sourceforge.net";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ ];
mainProgram = "gqview";
};
}

View File

@ -31,6 +31,12 @@ in
buildFHSEnv {
name = "dropbox";
# The dropbox-cli command `dropbox start` starts the dropbox daemon in a
# separate session, and wants the daemon to outlive the launcher. Enabling
# `--die-with-parent` defeats this and causes the daemon to exit when
# dropbox-cli exits.
dieWithParent = false;
# dropbox-cli (i.e. nautilus-dropbox) needs the PID to confirm dropbox is running.
# Dropbox's internal limit-to-one-instance check also relies on the PID.
unsharePid = false;

View File

@ -20,14 +20,14 @@
let
pname = "qownnotes";
appname = "QOwnNotes";
version = "24.9.6";
version = "24.9.7";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
hash = "sha256-r5X8/BObkDlhB0LkfMSdrYWaU8mwquQhSiPUDJjV1qM=";
hash = "sha256-n5Il8DnEK6emZANv6IMUpaEsHZ/hoPl4jNaXCuo7X5g=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,15 @@
In the nix build, COOLWSD_VERSION_HASH becomes the same as COOLWSD_VERSION, e.g.
`24.04.3.5`. The web server that serves files from
`/browser/$COOLWSD_VERSION_HASH`, doesn't expect the hash to contain dots.
--- a/wsd/FileServer.cpp
+++ b/wsd/FileServer.cpp
@@ -933,7 +933,7 @@ std::string FileServerRequestHandler::getRequestPathname(const HTTPRequest& requ
std::string path(requestUri.getPath());
- Poco::RegularExpression gitHashRe("/([0-9a-f]+)/");
+ Poco::RegularExpression gitHashRe("/([0-9a-f.]+)/");
std::string gitHash;
if (gitHashRe.extract(path, gitHash))
{

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,105 @@
{
autoreconfHook,
cairo,
cppunit,
fetchFromGitHub,
fetchNpmDeps,
lib,
libcap,
libpng,
libreoffice-collabora,
nodejs,
npmHooks,
pam,
pango,
pixman,
pkg-config,
poco,
python3,
rsync,
stdenv,
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "collabora-online";
version = "24.04.6-1";
src = fetchFromGitHub {
owner = "CollaboraOnline";
repo = "online";
rev = "refs/tags/cp-${finalAttrs.version}";
hash = "sha256-0IvymvXAozsjm+GXJK9AGWo79QMaIACrAfkYfX67fBc=";
};
nativeBuildInputs = [
autoreconfHook
nodejs
npmHooks.npmConfigHook
pkg-config
python3
python3.pkgs.lxml
python3.pkgs.polib
rsync
];
buildInputs = [
cairo
cppunit
libcap
libpng
pam
pango
pixman
poco
zstd
];
configureFlags = [
"--disable-setcap"
"--disable-werror"
"--enable-silent-rules"
"--with-lo-path=${libreoffice-collabora}/lib/collaboraoffice"
"--with-lokit-path=${libreoffice-collabora.src}/include"
];
patches = [ ./fix-file-server-regex.patch ];
postPatch = ''
cp ${./package-lock.json} ${finalAttrs.npmRoot}/package-lock.json
patchShebangs browser/util/*.py coolwsd-systemplate-setup scripts/*
substituteInPlace configure.ac --replace-fail '/usr/bin/env python3' python3
substituteInPlace coolwsd-systemplate-setup --replace-fail /bin/pwd pwd
'';
# Copy dummy self-signed certificates provided for testing.
postInstall = ''
cp etc/ca-chain.cert.pem etc/cert.pem etc/key.pem $out/etc/coolwsd
'';
npmDeps = fetchNpmDeps {
unpackPhase = "true";
# TODO: Use upstream `npm-shrinkwrap.json` once it's fixed
# https://github.com/CollaboraOnline/online/issues/9644
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
hash = "sha256-CUh+jwJnKtmzk8w6QwH1Nh92500dFj63ThkI4tN5FyQ=";
};
npmRoot = "browser";
passthru = {
libreoffice = libreoffice-collabora; # Used by NixOS module.
updateScript = ./update.sh;
};
meta = {
description = "Collaborative online office suite based on LibreOffice technology";
license = lib.licenses.mpl20;
maintainers = [ lib.maintainers.xzfc ];
homepage = "https://www.collaboraonline.com";
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,38 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p common-updater-scripts prefetch-npm-deps jq sd
#shellcheck shell=bash
set -xeu -o pipefail
PACKAGE_DIR="$(realpath "$(dirname "$0")")"
cd "$PACKAGE_DIR/.."
while ! test -f default.nix; do cd .. ; done
NIXPKGS_DIR="$PWD"
new_version="$(
list-git-tags --url=https://github.com/CollaboraOnline/online \
| grep --perl-regex --only-matching '^cp-\K[0-9.-]+$' \
| sort --version-sort \
| tail -n1
)"
cd "$NIXPKGS_DIR"
update-source-version collabora-online "$new_version"
TMPDIR="$(mktemp -d)"
trap 'rm -rf "$TMPDIR"' EXIT
cd "$TMPDIR"
src="$(nix-build --no-link "$NIXPKGS_DIR" -A collabora-online.src)"
cp "$src"/browser/package.json .
npm install --package-lock-only
cp ./package-lock.json "$PACKAGE_DIR"
prev_npm_hash="$(nix-instantiate "$NIXPKGS_DIR" \
--eval --json \
-A collabora-online.npmDeps.hash \
| jq -r .
)"
new_npm_hash="$(prefetch-npm-deps ./package-lock.json)"
sd --fixed-strings "$prev_npm_hash" "$new_npm_hash" "$PACKAGE_DIR/package.nix"

View File

@ -0,0 +1,48 @@
{
stdenv,
lib,
fetchFromBitbucket,
jdk,
}:
stdenv.mkDerivation rec {
pname = "factplusplus";
version = "1.6.5";
src = fetchFromBitbucket {
owner = "dtsarkov";
repo = "factplusplus";
rev = "Release-${version}";
sha256 = "wzK1QJsNN0Q73NM+vjaE/vLuGf8J1Zu5ZPAkZNiKnME=";
};
buildInputs = [ jdk ];
configurePhase = ''
runHook preConfigure
sed -i 's/OS = MACOSX/OS = LINUX/g' Makefile.include
printf '%s\n%s\n' '#include <iostream>' "$(cat Kernel/AtomicDecomposer.cpp)" > Kernel/AtomicDecomposer.cpp
runHook postConfigure
'';
installPhase = ''
runHook preInstall
install -Dm755 FaCT++.{C,JNI,KE,Kernel}/obj/*.{so,o} -t $out/lib/
install -Dm755 FaCT++/obj/FaCT++ -t $out/bin
runHook postInstall
'';
meta = with lib; {
description = "Tableaux-based reasoner for expressive Description Logics (DL)";
homepage = "http://owl.cs.manchester.ac.uk/tools/fact/";
maintainers = [ maintainers.mgttlinger ];
license = licenses.gpl2Plus;
platforms = with platforms; linux ++ darwin ++ windows;
broken = !stdenv.hostPlatform.isLinux;
mainProgram = "FaCT++";
};
}

View File

@ -6,13 +6,13 @@
}:
buildGoModule {
pname = "hexxy";
version = "0-unstable-2024-02-23";
version = "0-unstable-2024-09-20";
src = fetchFromGitHub {
owner = "sweetbbak";
repo = "hexxy";
# upstream does not publish releases, i.e., there are no tags
rev = "30e0aa5549bbafeb8204fe34b0d37019f9acc975";
hash = "sha256-KBgxZD95UT7i/eYeKLm0LVLliKgK/KiJYXVY9zzwbvk=";
rev = "96cd37561fe54ba0b87d0d0989297f7eba09ecaa";
hash = "sha256-SkBHLZW0MDMluoLGFPH+QTXbaikcZXaUnSaTq3uoOaA=";
};
vendorHash = "sha256-qkBpSVLWZPRgS9bqOVUWHpyj8z/nheQJON3vJOwPUj4=";

View File

@ -1,38 +1,38 @@
{
"linux-386": {
"sys": "linux-386",
"url": "https://bin.equinox.io/a/bCqkEJHChUv/ngrok-v3-3.14.0-linux-386",
"sha256": "0fc0fcb097ae9caa47b8887e4aca71ce3850bc97343cea93b8cf13d48d5d7c5a",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/2pDJvg1WeN6/ngrok-v3-3.16.0-linux-386",
"sha256": "225ea2210a068f977a608352dd22fd20be619473cf3501df271c39c63905a521",
"version": "3.16.0"
},
"linux-amd64": {
"sys": "linux-amd64",
"url": "https://bin.equinox.io/a/8oZyZn8Sh2k/ngrok-v3-3.14.0-linux-amd64",
"sha256": "80d5ea4de774ad7f579d7381a492b6531c1d83c2a0476d236bd87b1aaaac3c7e",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/kxzmCLDbo6M/ngrok-v3-3.16.0-linux-amd64",
"sha256": "fc1973917b056ac11d74687b0ba513a0fbab41f923e648875b8882d3e6cf07e0",
"version": "3.16.0"
},
"linux-arm": {
"sys": "linux-arm",
"url": "https://bin.equinox.io/a/cMuwPWbrN4a/ngrok-v3-3.14.0-linux-arm",
"sha256": "8baeb05eab0bf3c4adde0a3aba63ec21cdd53f2ade8d1b556dea716597242fb1",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/iE6KPEx6SuX/ngrok-v3-3.16.0-linux-arm",
"sha256": "3cb21e33be918ad4e547db5f0401d0c6fea61876ae46c14daf39f1038f80a1af",
"version": "3.16.0"
},
"linux-arm64": {
"sys": "linux-arm64",
"url": "https://bin.equinox.io/a/3H9YcER9Em2/ngrok-v3-3.14.0-linux-arm64",
"sha256": "021e698af6ccff051184e72bf02de4a5ce45b8e4ace28e000f004e8af841db23",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/3gbE6TuMrs4/ngrok-v3-3.16.0-linux-arm64",
"sha256": "e9cb9a3e65f92fa095101884291f9e5ed0989633cff480353a65877cf710399e",
"version": "3.16.0"
},
"darwin-amd64": {
"sys": "darwin-amd64",
"url": "https://bin.equinox.io/a/25F8KjXtZLM/ngrok-v3-3.14.0-darwin-amd64",
"sha256": "f82d9521e8cb4d8e08b0a2b7d7f6ff4c4db2123c64d9e02ed59de71b8c6f98c5",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/aWAe4Kvgqei/ngrok-v3-3.16.0-darwin-amd64",
"sha256": "5c2fb13ab825876f183bcff82f98b0979f9f5250638a8cb88e5f987f2b109b6c",
"version": "3.16.0"
},
"darwin-arm64": {
"sys": "darwin-arm64",
"url": "https://bin.equinox.io/a/3bTR91HsBHY/ngrok-v3-3.14.0-darwin-arm64",
"sha256": "da5112d50a4b4d27163373effff66a09acaa966a733be4197cc96ca5776432fa",
"version": "3.14.0"
"url": "https://bin.equinox.io/a/4wpGQDJrfrm/ngrok-v3-3.16.0-darwin-arm64",
"sha256": "3fe7cc8f0d6b1978487c502cd6b832a1963287ad0f7c171904ac2c27d81bf9be",
"version": "3.16.0"
}
}

View File

@ -7,6 +7,8 @@
, wl-clipboard
, libnotify
, xorg
, makeDesktopItem
, copyDesktopItems
}:
let
@ -37,12 +39,6 @@ ps.buildPythonApplication rec {
hash = "sha256-iMlW8oEt4OSipJaQ2XzBZeBVqiZP/C1sM0f5LYjv7/A=";
};
postPatch = ''
# disable coverage testing
substituteInPlace pyproject.toml \
--replace-fail "addopts = [" "addopts_ = ["
'';
pythonRemoveDeps = [
"pyside6-essentials"
];
@ -51,9 +47,15 @@ ps.buildPythonApplication rec {
"shiboken6"
];
nativeBuildInputs = [
build-system = [
ps.hatchling
ps.babel
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
ps.toml
];
nativeBuildInputs = [
copyDesktopItems
];
dependencies = [
@ -69,8 +71,15 @@ ps.buildPythonApplication rec {
)
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/share/pixmaps
ln -s $out/${python3.sitePackages}/normcap/resources/icons/normcap.png $out/share/pixmaps/
'';
nativeCheckInputs = wrapperDeps ++ [
ps.pytestCheckHook
ps.pytest-cov-stub
ps.pytest-instafail
ps.pytest-qt
ps.toml
] ++ lib.optionals stdenv.hostPlatform.isLinux [
@ -107,10 +116,15 @@ ps.buildPythonApplication rec {
# flaky
"test_normcap_ocr_testcases"
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# requires display
"test_send_via_qt_tray"
"test_screens"
# requires impure pbcopy
"test_get_copy_func_with_pbcopy"
"test_get_copy_func_without_pbcopy"
"test_perform_pbcopy"
"test_pbcopy"
"test_copy"
# NSXPCSharedListener endpointForReply:withListenerName:replyErrorCode:
# while obtaining endpoint 'ClientCallsAuxiliary': Connection interrupted
# since v5.0.0
@ -132,8 +146,30 @@ ps.buildPythonApplication rec {
# requires a display
"tests/integration/test_normcap.py"
"tests/integration/test_tray_menu.py"
"tests/integration/test_settings_menu.py"
"tests/tests_clipboard/test_handlers/test_qtclipboard.py"
"tests/tests_gui/test_tray.py"
"tests/tests_gui/test_window.py"
"tests/tests_screengrab/"
# failure unknown, crashes in first test with `.show()`
"tests/tests_gui/test_loading_indicator.py"
"tests/tests_gui/test_menu_button.py"
"tests/tests_gui/test_resources.py"
"tests/tests_gui/test_update_check.py"
];
desktopItems = [
(makeDesktopItem {
name = "com.github.dynobo.normcap";
desktopName = "NormCap";
genericName = "OCR powered screen-capture tool";
comment = "Extract text from an image directly into clipboard";
exec = "normcap";
icon = "normcap";
terminal = false;
categories = ["Utility" "Office"];
keywords = ["Text" "Extraction" "OCR"];
})
];
meta = with lib; {
@ -142,6 +178,5 @@ ps.buildPythonApplication rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ cafkafk pbsds ];
mainProgram = "normcap";
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation {
pname = "opencomposite";
version = "0-unstable-2024-07-23";
version = "0-unstable-2024-09-13";
src = fetchFromGitLab {
owner = "znixian";
repo = "OpenOVR";
rev = "632e5cc50b913e93194ca2970e6f13021182579f";
hash = "sha256-KQmNyGRlbUrntTPNn5rzTyyR+Bvh3EfSqBgyNGGDo04=";
rev = "f8db7aa35831753f00215a2d9ba7197a80d7bacd";
hash = "sha256-3fqh7Kth5XFcDsJUMmR2af+r5QPW3/mAsEauGUXaWq8=";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,40 +1,37 @@
{
withDPDK ? false,
lib,
stdenv,
fetchFromGitHub,
autoconf,
automake,
dpdk,
fetchFromGitHub,
installShellFiles,
iproute2,
kernel ? null,
libcap_ng,
libpcap,
libtool,
makeWrapper,
nix-update-script,
nixosTests,
numactl,
openssl,
perl,
pkg-config,
procps,
python3,
tcpdump,
sphinxHook,
tcpdump,
util-linux,
which,
makeWrapper,
withDPDK ? false,
dpdk,
numactl,
libpcap,
}:
let
_kernel = kernel;
in
stdenv.mkDerivation rec {
pname = if withDPDK then "openvswitch-dpdk" else "openvswitch";
version = "3.4.0";
kernel = lib.optional (_kernel != null) _kernel.dev;
src = fetchFromGitHub {
owner = "openvswitch";
repo = "ovs";
@ -84,14 +81,11 @@ stdenv.mkDerivation rec {
preConfigure = "./boot.sh";
configureFlags =
[
"--localstatedir=/var"
"--sharedstatedir=/var"
"--sbindir=$(out)/bin"
]
++ (lib.optionals (_kernel != null) [ "--with-linux" ])
++ (lib.optionals withDPDK [ "--with-dpdk=shared" ]);
configureFlags = [
"--localstatedir=/var"
"--sharedstatedir=/var"
"--sbindir=$(out)/bin"
] ++ (lib.optionals withDPDK [ "--with-dpdk=shared" ]);
# Leave /var out of this!
installFlags = [
@ -131,7 +125,14 @@ stdenv.mkDerivation rec {
setuptools
]);
passthru.updateScript = nix-update-script { };
passthru = {
tests = {
default = nixosTests.openvswitch;
incus = nixosTests.incus-lts.openvswitch;
};
updateScript = nix-update-script { };
};
meta = with lib; {
changelog = "https://www.openvswitch.org/releases/NEWS-${version}.txt";

View File

@ -1,4 +1,4 @@
{ asciidoc
{ asciidoctor
, dbus
, docbook_xml_dtd_45
, docbook_xsl
@ -33,20 +33,20 @@
stdenv.mkDerivation (finalAttrs: {
pname = "picom";
version = "11.2";
version = "12";
src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${finalAttrs.version}";
hash = "sha256-7ohtI890CutwprPEY5njqWou0fD6T9eu51EBSQ2/lWs=";
hash = "sha256-7XpZEYQtjsBAcMMEJXlfSaZ1jdDxDBnzkSAtTbW7Br4=";
fetchSubmodules = true;
};
strictDeps = true;
nativeBuildInputs = [
asciidoc
asciidoctor
docbook_xml_dtd_45
docbook_xsl
makeWrapper

View File

@ -2,16 +2,16 @@
buildGoModule rec {
name = "regal";
version = "0.26.2";
version = "0.27.0";
src = fetchFromGitHub {
owner = "StyraInc";
repo = "regal";
rev = "v${version}";
hash = "sha256-QfxgfwBGAib+mqT2v/8/rhl5Ufjwjf9BouCTYqs6wlw=";
hash = "sha256-IGf7iIL2q3w7qIJ0oxDILxcNjexuEr4bsYK+v24Ae+c=";
};
vendorHash = "sha256-5ImRjMPl+qc2iQEXg9OzKphPpRXhjYvu+1q1ol3M8Yg=";
vendorHash = "sha256-Yl8ZFEiAJRAetc3e2ZdrbTdYhx/Ek9nr3mMQ0H7+aGM=";
meta = with lib; {
description = "Linter and language server for Rego";

View File

@ -0,0 +1,43 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "smbclient-ng";
version = "2.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "p0dalirius";
repo = "smbclient-ng";
rev = "refs/tags/${version}";
hash = "sha256-5ObqmCvMoBuQOPbQATrIVzxnxrJtvB+iUJSS7sqs6hI=";
};
pythonRelaxDeps = [
"impacket"
"pefile"
];
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
charset-normalizer
impacket
pefile
rich
];
pythonImportsCheck = [ "smbclientng" ];
meta = {
description = "Tool to interact with SMB shares";
homepage = "https://github.com/p0dalirius/smbclient-ng";
changelog = "https://github.com/p0dalirius/smbclient-ng/releases/tag/${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "smbclientng";
};
}

View File

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "vunnel";
version = "0.27.0";
version = "0.28.0";
pyproject = true;
src = fetchFromGitHub {
owner = "anchore";
repo = "vunnel";
rev = "refs/tags/v${version}";
hash = "sha256-HRwQ2IDTa3dlxTlToiwBvjxjQgD18rv/F5OIuG7FKG8=";
hash = "sha256-KemiM+dCLSU3a6IIbI9VKtaIeY4SVcHsuE9QwZtzNxU=";
};
pythonRelaxDeps = [

View File

@ -2,11 +2,11 @@
buildGraalvmNativeImage rec {
pname = "yamlscript";
version = "0.1.75";
version = "0.1.76";
src = fetchurl {
url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
hash = "sha256-GdnrEHVdJmwcs6l1Fw3pXJ8hS+spcNpDQ346d6F0OTM=";
hash = "sha256-+3UKOHfiY5GUkvvciNNFXBiAX1QQV4BUIFN+EhbjSEs=";
};
executable = "ys";

View File

@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "audible";
version = "0.9.1";
version = "0.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mkb79";
repo = "Audible";
rev = "refs/tags/v${version}";
hash = "sha256-qLU8FjJBPKFgjpumPqRiiMBwZi+zW46iEmWM8UerMgs=";
hash = "sha256-ILGhjuPIxpRxu/dVDmz531FUgMWosk4P+onPJltuPIs=";
};
nativeBuildInputs = [ poetry-core ];

View File

@ -1,31 +1,42 @@
{
buildPythonPackage,
lib,
fetchPypi,
gitpython,
gensim,
tqdm,
torch,
stringcase,
stanza,
spacy,
scipy,
scikit-learn,
requests,
rapidfuzz,
pyyaml,
nltk,
boltons,
buildPythonPackage,
fetchFromGitHub,
# build-system
poetry-core,
# dependencies
boltons,
gensim,
gitpython,
greek-accentuation,
nltk,
pyyaml,
rapidfuzz,
requests,
scikit-learn,
scipy,
spacy,
stanza,
stringcase,
torch,
tqdm,
# tests
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "cltk";
format = "pyproject";
version = "1.3.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-jAxvToUIo333HSVQDYVyUBY3YP+m1RnlNGelcvktp6s=";
pyproject = true;
src = fetchFromGitHub {
owner = "cltk";
repo = "cltk";
rev = "refs/tags/v${version}";
hash = "sha256-/rdv96lnSGN+aJJmPSIan79zoXxnStokFEAjBtCLKy4=";
};
postPatch = ''
@ -36,13 +47,19 @@ buildPythonPackage rec {
--replace-fail 'boltons = "^21.0.0"' 'boltons = "^24.0.0"'
'';
propagatedBuildInputs = [
gitpython
gensim
build-system = [ poetry-core ];
pythonRelaxDeps = [
"spacy"
];
dependencies = [
boltons
gensim
gitpython
greek-accentuation
pyyaml
nltk
pyyaml
rapidfuzz
requests
scikit-learn
@ -54,12 +71,22 @@ buildPythonPackage rec {
tqdm
];
nativeBuildInputs = [ poetry-core ];
nativeCheckInputs = [
pytestCheckHook
];
meta = with lib; {
preCheck = ''
export HOME=$(mktemp -d)
'';
# Most of tests fail as they require local files to be present and also internet access
doCheck = false;
meta = {
description = "Natural language processing (NLP) framework for pre-modern languages";
homepage = "https://cltk.org";
license = licenses.mit;
maintainers = with maintainers; [ kmein ];
changelog = "https://github.com/cltk/cltk/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kmein ];
};
}

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "reflex-chakra";
version = "0.5.10";
version = "0.6.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "reflex-dev";
repo = "reflex-chakra";
rev = "refs/tags/v${version}";
hash = "sha256-EEU2BdkAJ3jPGMUCfXprUIGTXRbOK+uFtoWmjrBsclY=";
hash = "sha256-5Lins7cbZWQTbJFBwR9qUdgTPHifPxD3BrvaawIKCJE=";
};
pythonRemoveDeps = [

View File

@ -46,16 +46,16 @@
buildPythonPackage rec {
pname = "reflex";
version = "0.5.10";
version = "0.6.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "reflex-dev";
repo = "reflex";
rev = "refs/tags/v${version}";
hash = "sha256-8nwVB5FthDbhQRO663vRTqT8KPtStbdSgEoZ75EnhmE=";
hash = "sha256-6yu9EfyX/1kvvmkmKGJrZnVffRHGWY/iUrn5BIrNx38=";
};
pythonRelaxDeps = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "reolink-aio";
version = "0.9.10";
version = "0.9.11";
pyproject = true;
disabled = pythonOlder "3.10";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "starkillerOG";
repo = "reolink_aio";
rev = "refs/tags/${version}";
hash = "sha256-wN2rWoRuxP5uLl2TkSnxlEwl29z6C8dDo9UkJ7amExo=";
hash = "sha256-xIN6ioX02YgzY3sh3l7rFT6UQCMnzlrX/CJj483G6ig=";
};
build-system = [ setuptools ];

View File

@ -48,6 +48,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/OpenPrinting/cups-filters/commit/93e60d3df358c0ae6f3dba79e1c9684657683d89.patch";
hash = "sha256-KgWTYFr2uShL040azzE+KaNyBPy7Gs/hCnEgQmmPCys=";
})
(fetchpatch {
name = "CVE-2024-47076.patch";
url = "https://github.com/OpenPrinting/libcupsfilters/commit/95576ec3d20c109332d14672a807353cdc551018.patch";
hash = "sha256-MXWllrdWt8n7zqvumQNg34dBgWMwMTwf9lrD+ZZP8Wk=";
})
];
nativeBuildInputs = [ pkg-config makeWrapper ];

View File

@ -22,6 +22,12 @@ let
url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch";
hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg=";
};
# Fixes framebuffer with linux 6.11
fbdev_linux_611_patch = fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/NVIDIA/open-gpu-kernel-modules/pull/692.patch";
hash = "sha256-OYw8TsHDpBE5DBzdZCBT45+AiznzO9SfECz5/uXN5Uc=";
};
in
rec {
mkDriver = generic;
@ -48,6 +54,7 @@ rec {
openSha256 = "sha256-/32Zf0dKrofTmPZ3Ratw4vDM7B+OgpC4p7s+RHUjCrg=";
settingsSha256 = "sha256-kQsvDgnxis9ANFmwIwB7HX5MkIAcpEEAHc8IBOLdXvk=";
persistencedSha256 = "sha256-E2J2wYYyRu7Kc3MMZz/8ZIemcZg68rkzvqEwFAL3fFs=";
patchesOpen = [ fbdev_linux_611_patch ];
});
beta = selectHighestVersion latest (generic {

View File

@ -23,6 +23,7 @@
, postPatch ? null
, patchFlags ? null
, patches ? [ ]
, patchesOpen ? [ ]
, preInstall ? null
, postInstall ? null
, broken ? false
@ -201,6 +202,7 @@ let
(hash: callPackage ./open.nix {
inherit hash;
nvidia_x11 = self;
patches = patchesOpen;
broken = brokenOpen;
})
openSha256;

View File

@ -4,6 +4,7 @@
, kernel
, nvidia_x11
, hash
, patches ? [ ]
, broken ? false
}:
@ -18,6 +19,8 @@ stdenv.mkDerivation ({
inherit hash;
};
inherit patches;
nativeBuildInputs = kernel.moduleBuildDependencies;
makeFlags = kernel.makeFlags ++ [

View File

@ -16,14 +16,14 @@
let
pname = "pgadmin";
version = "8.11";
yarnHash = "sha256-2N1UsGrR9rTIP50kn+gB+iGz9D/Dj0K5Y/10A5wPKTY=";
version = "8.12";
yarnHash = "sha256-C5CI8oP9vEana3OEs1yAsSSTvO2uLEuCU1nHhC7LerY=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-6v7/jFkWooUHztL+x6falD04XyDYa1beoY/yEpfbX4U=";
hash = "sha256-OIFHaU+Ty0xJn42iqYhse8dfFJZpx8AV/10RNxp1Y4o=";
};
# keep the scope, as it is used throughout the derivation and tests

File diff suppressed because it is too large Load Diff

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "nuclei";
version = "3.3.2";
version = "3.3.3";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "nuclei";
rev = "refs/tags/v${version}";
hash = "sha256-CBZeo2k9ZA41NotA6XIhkIQkEDvcbSIBCnPSOYXlLDQ=";
hash = "sha256-Cbw/80WjdoxNzf/XvU4sHNeSnriww8cSGGVVF0pCi8Y=";
};
vendorHash = "sha256-ewjJ89tCeedlTGngB7yU8JbfoTnPUw5Pg2iMwjg1SgU=";
vendorHash = "sha256-jVt7KiUsUHASG7TVWV9G26Qe+H7Qf/kBz/sTwlh5Pc8=";
subPackages = [ "cmd/nuclei/" ];

View File

@ -5,10 +5,14 @@
, extra-cmake-modules
, pkg-config
, qtbase
, qtquickcontrols2
, qtx11extras
, kdelibs4support
, qtdeclarative
, qtx11extras ? null # qt5 only
, kcoreaddons
, ki18n
, knotifications
, kpipewire
, kstatusnotifieritem ? null # qt6 only
, kwindowsystem
, wrapQtAppsHook
}:
@ -30,12 +34,18 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
qtbase
qtquickcontrols2
qtdeclarative
qtx11extras
kdelibs4support
kcoreaddons
ki18n
knotifications
kpipewire
kstatusnotifieritem
kwindowsystem
];
cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"];
meta = {
description = "Utility to allow streaming Wayland windows to X applications";
homepage = "https://invent.kde.org/system/xwaylandvideobridge";

View File

@ -172,6 +172,7 @@ mapAliases {
lib.warn "blender-with-packages is deprecated in favor of blender.withPackages, e.g. `blender.withPackages(ps: [ ps.foobar ])`"
(blender.withPackages (_: args.packages)).overrideAttrs
(lib.optionalAttrs (args ? name) { pname = "blender-" + args.name; }); # Added 2023-10-30
bless = throw "'bless' has been removed due to lack of maintenance upstream and depending on gtk2. Consider using 'imhex' or 'ghex' instead"; # Added 2024-09-15
blockbench-electron = blockbench; # Added 2024-03-16
bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
bmap-tools = bmaptool; # Added 2024-08-05
@ -529,6 +530,7 @@ mapAliases {
gcj = gcj6; # Added 2024-09-13
gcj6 = throw "gcj6 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
gcl_2_6_13_pre = throw "'gcl_2_6_13_pre' has been removed in favor of 'gcl'"; # Added 2024-01-11
gcolor2 = throw "'gcolor2' has been removed due to lack of maintenance upstream and depending on gtk2. Consider using 'gcolor3' or 'eyedropper' instead"; # Added 2024-09-15
geekbench4 = throw "'geekbench4' has been renamed to 'geekbench_4'"; # Added 2023-03-10
geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10
gfortran48 = throw "'gfortran48' has been removed from nixpkgs"; # Added 2024-09-10
@ -635,10 +637,11 @@ mapAliases {
gocode = throw "'gocode' has been removed as the upstream project was archived. 'gopls' is suggested as replacement"; # Added 2023-12-26
govendor = throw "'govendor' has been removed as it is no longer maintained upstream, please use Go modules instead"; # Added 2023-12-26
gometer = throw "gometer has been removed from nixpkgs because goLance stopped offering Linux support"; # Added 2023-02-10
gpicview = throw "'gpicview' has been removed due to lack of maintenance upstream and depending on gtk2. Consider using 'loupe', 'gthumb' or 'image-roll' instead"; # Added 2024-09-15
gprbuild-boot = gnatPackages.gprbuild-boot; # Added 2024-02-25;
gpt4all-chat = throw "gpt4all-chat has been renamed to gpt4all"; # Added 2024-02-27
gqview = throw "'gqview' has been removed due to lack of maintenance upstream and depending on gtk2. Consider using 'gthumb' instead";
graalvm11-ce = throw "graalvm11-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
graalvm17-ce = throw "graalvm17-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
graalvm19-ce = throw "graalvm19-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
@ -1700,6 +1703,7 @@ mapAliases {
xtrt = throw "xtrt has been removed due to being abandoned"; # Added 2023-05-25
xulrunner = firefox-unwrapped; # Added 2023-11-03
xvfb_run = xvfb-run; # Added 2021-05-07
xwaylandvideobridge = libsForQt5.xwaylandvideobridge; # Added 2024-09-27
### Y ###

View File

@ -4133,8 +4133,6 @@ with pkgs;
bfetch = callPackage ../tools/misc/bfetch { };
bless = callPackage ../applications/editors/bless { };
blink = darwin.apple_sdk_11_0.callPackage ../applications/emulators/blink { };
blink1-tool = callPackage ../tools/misc/blink1-tool { };
@ -25544,8 +25542,6 @@ with pkgs;
xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
xwaylandvideobridge = libsForQt5.callPackage ../tools/wayland/xwaylandvideobridge { };
yaws = callPackage ../servers/http/yaws { };
zabbixFor = version: rec {
@ -29549,10 +29545,6 @@ with pkgs;
gpa = callPackage ../applications/misc/gpa { };
gpicview = callPackage ../applications/graphics/gpicview {
gtk2 = gtk2-x11;
};
gpx = callPackage ../applications/misc/gpx { };
gqrx = qt6Packages.callPackage ../applications/radio/gqrx { };
@ -29802,8 +29794,6 @@ with pkgs;
vcal = callPackage ../applications/misc/vcal { };
gcolor2 = callPackage ../applications/graphics/gcolor2 { };
gcolor3 = callPackage ../applications/graphics/gcolor3 { };
get_iplayer = callPackage ../applications/misc/get_iplayer { };
@ -29984,8 +29974,6 @@ with pkgs;
gigedit = callPackage ../applications/audio/gigedit { };
gqview = callPackage ../applications/graphics/gqview { };
gnomecast = callPackage ../applications/video/gnomecast { };
gnome-recipes = callPackage ../applications/misc/gnome-recipes { };

View File

@ -287,6 +287,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { };
xwaylandvideobridge = callPackage ../tools/wayland/xwaylandvideobridge { };
yuview = callPackage ../applications/video/yuview { };
}) // lib.optionalAttrs pkgs.config.allowAliases {
# Remove completely before 24.11

View File

@ -114,6 +114,7 @@ makeScopeWithSplicing' {
wayqt = callPackage ../development/libraries/wayqt { };
xwaylandvideobridge = kdePackages.callPackage ../tools/wayland/xwaylandvideobridge { };
} // lib.optionalAttrs pkgs.config.allowAliases {
# Remove completely before 24.11
overrideScope' = builtins.throw "qt6Packages now uses makeScopeWithSplicing which does not have \"overrideScope'\", use \"overrideScope\".";