From 43e6f67f753626765a5b0318fcc99c0a7a317724 Mon Sep 17 00:00:00 2001 From: Ryan Hendrickson Date: Sun, 9 Apr 2023 02:28:16 -0400 Subject: [PATCH 01/68] nixos/snapper: support more options --- .../manual/release-notes/rl-2305.section.md | 20 +++ nixos/modules/services/misc/snapper.nix | 146 +++++++++++++----- 2 files changed, 127 insertions(+), 39 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index c2c9f2d1a251..6abbdd0aea0b 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -136,6 +136,26 @@ In addition to numerous new and upgraded packages, this release has the followin - `services.sourcehut.dispatch` and the corresponding package (`sourcehut.dispatchsrht`) have been removed due to [upstream deprecation](https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/). +- The attributes used by `services.snapper.configs.` have changed. Migrate from this: + + ```nix + services.snapper.configs.example = { + subvolume = "/example"; + extraConfig = '' + ALLOW_USERS="alice" + ''; + }; + ``` + + to this: + + ```nix + services.snapper.configs.example = { + SUBVOLUME = "/example"; + ALLOW_USERS = [ "alice" ]; + }; + ``` + - The [services.snapserver.openFirewall](#opt-services.snapserver.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitly set this option to `true`, or configure your firewall. - The [services.tmate-ssh-server.openFirewall](#opt-services.tmate-ssh-server.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitly set this option to `true`, or configure your firewall. diff --git a/nixos/modules/services/misc/snapper.nix b/nixos/modules/services/misc/snapper.nix index 30ed30e7a8fa..569433c3c71d 100644 --- a/nixos/modules/services/misc/snapper.nix +++ b/nixos/modules/services/misc/snapper.nix @@ -4,6 +4,81 @@ with lib; let cfg = config.services.snapper; + + mkValue = v: + if isList v then "\"${concatMapStringsSep " " (escape [ "\\" " " ]) v}\"" + else if v == true then "yes" + else if v == false then "no" + else if isString v then "\"${v}\"" + else builtins.toJSON v; + + mkKeyValue = k: v: "${k}=${mkValue v}"; + + # "it's recommended to always specify the filesystem type" -- man snapper-configs + defaultOf = k: if k == "FSTYPE" then null else configOptions.${k}.default or null; + + safeStr = types.strMatching "[^\n\"]*" // { + description = "string without line breaks or quotes"; + descriptionClass = "conjunction"; + }; + + configOptions = { + SUBVOLUME = mkOption { + type = types.path; + description = lib.mdDoc '' + Path of the subvolume or mount point. + This path is a subvolume and has to contain a subvolume named + .snapshots. + See also man:snapper(8) section PERMISSIONS. + ''; + }; + + FSTYPE = mkOption { + type = types.enum [ "btrfs" ]; + default = "btrfs"; + description = lib.mdDoc '' + Filesystem type. Only btrfs is stable and tested. + ''; + }; + + ALLOW_GROUPS = mkOption { + type = types.listOf safeStr; + default = []; + description = lib.mdDoc '' + List of groups allowed to operate with the config. + + Also see the PERMISSIONS section in man:snapper(8). + ''; + }; + + ALLOW_USERS = mkOption { + type = types.listOf safeStr; + default = []; + example = [ "alice" ]; + description = lib.mdDoc '' + List of users allowed to operate with the config. "root" is always + implicitly included. + + Also see the PERMISSIONS section in man:snapper(8). + ''; + }; + + TIMELINE_CLEANUP = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Defines whether the timeline cleanup algorithm should be run for the config. + ''; + }; + + TIMELINE_CREATE = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Defines whether hourly snapshots should be created. + ''; + }; + }; in { @@ -52,49 +127,23 @@ in example = literalExpression '' { home = { - subvolume = "/home"; - extraConfig = ''' - ALLOW_USERS="alice" - TIMELINE_CREATE=yes - TIMELINE_CLEANUP=yes - '''; + SUBVOLUME = "/home"; + ALLOW_USERS = [ "alice" ]; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; }; } ''; description = lib.mdDoc '' - Subvolume configuration + Subvolume configuration. Any option mentioned in man:snapper-configs(5) + is valid here, even if NixOS doesn't document it. ''; type = types.attrsOf (types.submodule { - options = { - subvolume = mkOption { - type = types.path; - description = lib.mdDoc '' - Path of the subvolume or mount point. - This path is a subvolume and has to contain a subvolume named - .snapshots. - See also man:snapper(8) section PERMISSIONS. - ''; - }; + freeformType = types.attrsOf (types.oneOf [ (types.listOf safeStr) types.bool safeStr types.number ]); - fstype = mkOption { - type = types.enum [ "btrfs" ]; - default = "btrfs"; - description = lib.mdDoc '' - Filesystem type. Only btrfs is stable and tested. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - description = lib.mdDoc '' - Additional configuration next to SUBVOLUME and FSTYPE. - See man:snapper-configs(5). - ''; - }; - }; + options = configOptions; }); }; }; @@ -117,11 +166,7 @@ in } // (mapAttrs' (name: subvolume: nameValuePair "snapper/configs/${name}" ({ - text = '' - ${subvolume.extraConfig} - FSTYPE="${subvolume.fstype}" - SUBVOLUME="${subvolume.subvolume}" - ''; + text = lib.generators.toKeyValue { inherit mkKeyValue; } (filterAttrs (k: v: v != defaultOf k) subvolume); })) cfg.configs) // (lib.optionalAttrs (cfg.filters != null) { "snapper/filters/default.txt".text = cfg.filters; @@ -181,5 +226,28 @@ in unitConfig.ConditionPathExists = "/etc/snapper/configs/root"; }; + assertions = + concatMap + (name: + let + sub = cfg.configs.${name}; + in + [ { assertion = !(sub ? extraConfig); + message = '' + The option definition `services.snapper.configs.${name}.extraConfig' no longer has any effect; please remove it. + The contents of this option should be migrated to attributes on `services.snapper.configs.${name}'. + ''; + } + ] ++ + map + (attr: { + assertion = !(hasAttr attr sub); + message = '' + The option definition `services.snapper.configs.${name}.${attr}' has been renamed to `services.snapper.configs.${name}.${toUpper attr}'. + ''; + }) + [ "fstype" "subvolume" ] + ) + (attrNames cfg.configs); }); } From 4f01c5e97213a6d844f8db4384b6b917cc402f5c Mon Sep 17 00:00:00 2001 From: Janik H Date: Tue, 18 Apr 2023 15:09:36 +0200 Subject: [PATCH 02/68] libosmocore: add janik as maintainer, move to osmocom dir --- .../misc => servers/osmocom}/libosmocore/default.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) rename pkgs/{applications/misc => servers/osmocom}/libosmocore/default.nix (91%) diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/servers/osmocom/libosmocore/default.nix similarity index 91% rename from pkgs/applications/misc/libosmocore/default.nix rename to pkgs/servers/osmocom/libosmocore/default.nix index 5f9ce0a9a647..843f6786464c 100644 --- a/pkgs/applications/misc/libosmocore/default.nix +++ b/pkgs/servers/osmocom/libosmocore/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , autoreconfHook , fetchFromGitHub , gnutls @@ -51,6 +52,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/osmocom/libosmocore"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ mog ]; + maintainers = with maintainers; [ + mog + janik + ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89d0a2fae172..a4e580f0dbb3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22000,7 +22000,7 @@ with pkgs; libosmium = callPackage ../development/libraries/libosmium { }; - libosmocore = callPackage ../applications/misc/libosmocore { }; + libosmocore = callPackage ../servers/osmocom/libosmocore { }; libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { }; From 5bff386ace6ee1f6caeb39fe8c017f96a642cd47 Mon Sep 17 00:00:00 2001 From: Janik H Date: Tue, 18 Apr 2023 15:40:20 +0200 Subject: [PATCH 03/68] libasn1c: init at 0.9.35 --- pkgs/servers/osmocom/libasn1c/default.nix | 42 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/servers/osmocom/libasn1c/default.nix diff --git a/pkgs/servers/osmocom/libasn1c/default.nix b/pkgs/servers/osmocom/libasn1c/default.nix new file mode 100644 index 000000000000..36aae50bd836 --- /dev/null +++ b/pkgs/servers/osmocom/libasn1c/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, autoreconfHook +, fetchFromGitHub +, pkg-config +, talloc +}: + +stdenv.mkDerivation rec { + pname = "libasn1c"; + version = "0.9.35"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "libasn1c"; + rev = version; + hash = "sha256-mi97sWo42U/02xv4QDyUTRh26cyxhcOV5npqCuWsUOc="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + talloc + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Runtime library of Lev Walkin's asn1c split out as separate library"; + homepage = "github.com/osmocom/libasn1c/"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a4e580f0dbb3..93678023cbfb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21109,6 +21109,8 @@ with pkgs; libarchive-qt = libsForQt5.callPackage ../development/libraries/libarchive-qt { }; + libasn1c = callPackage ../servers/osmocom/libasn1c/default.nix { }; + libasr = callPackage ../development/libraries/libasr { }; libass = callPackage ../development/libraries/libass { }; From 7de385c2d2b0d36dda806c8977cd4ea5667c8dfc Mon Sep 17 00:00:00 2001 From: Janik H Date: Tue, 18 Apr 2023 19:10:34 +0200 Subject: [PATCH 04/68] libosmoabis: init at 1.4.0 --- pkgs/servers/osmocom/libosmoabis/default.nix | 48 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/servers/osmocom/libosmoabis/default.nix diff --git a/pkgs/servers/osmocom/libosmoabis/default.nix b/pkgs/servers/osmocom/libosmoabis/default.nix new file mode 100644 index 000000000000..1f55017d1892 --- /dev/null +++ b/pkgs/servers/osmocom/libosmoabis/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, autoreconfHook +, fetchFromGitHub +, pkg-config +, libosmocore +, ortp +, bctoolbox +}: + +stdenv.mkDerivation rec { + pname = "libosmoabis"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "libosmo-abis"; + rev = version; + hash = "sha256-RKJis0Ur3Y0LximNQl+hm6GENg8t2E1S++2c+63D2pQ="; + }; + + configureFlags = [ "enable_dahdi=false" ]; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + ortp + bctoolbox + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Osmocom Abis interface library"; + homepage = "https://github.com/osmocom/libosmo-abis"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93678023cbfb..d1b8db2f46d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22002,6 +22002,8 @@ with pkgs; libosmium = callPackage ../development/libraries/libosmium { }; + libosmoabis = callPackage ../servers/osmocom/libosmoabis { }; + libosmocore = callPackage ../servers/osmocom/libosmocore { }; libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { }; From 84fe5ccedb3793429b65d5f710ac8f086a471d42 Mon Sep 17 00:00:00 2001 From: Janik H Date: Tue, 18 Apr 2023 19:30:08 +0200 Subject: [PATCH 05/68] osmo-hlr: init at 1.6.1 --- pkgs/servers/osmocom/osmo-hlr/default.nix | 51 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-hlr/default.nix diff --git a/pkgs/servers/osmocom/osmo-hlr/default.nix b/pkgs/servers/osmocom/osmo-hlr/default.nix new file mode 100644 index 000000000000..8ecb1ad3780d --- /dev/null +++ b/pkgs/servers/osmocom/osmo-hlr/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, libosmoabis +, sqlite +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-hlr"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-hlr"; + rev = "${version}"; + hash = "sha256-lFIYoDaJbVcC0A0TukRO9KDTVx31WqPPz/Z3wACJBp0="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + libosmoabis + sqlite + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom implementation of 3GPP Home Location Registr (HLR)"; + homepage = "https://osmocom.org/projects/osmo-hlr"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1b8db2f46d3..d3e4069b3c7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32854,6 +32854,8 @@ with pkgs; osmo = callPackage ../applications/office/osmo { }; + osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; + osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; palemoon = callPackage ../applications/networking/browsers/palemoon { }; From 1457d54ab12db2e443b2cc80c15119b09f053f92 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 08:43:01 +0200 Subject: [PATCH 06/68] libosmo-netif: init at 1.3.0 --- .../servers/osmocom/libosmo-netif/default.nix | 44 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/servers/osmocom/libosmo-netif/default.nix diff --git a/pkgs/servers/osmocom/libosmo-netif/default.nix b/pkgs/servers/osmocom/libosmo-netif/default.nix new file mode 100644 index 000000000000..eed212836a36 --- /dev/null +++ b/pkgs/servers/osmocom/libosmo-netif/default.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, autoreconfHook +, fetchFromGitHub +, lksctp-tools +, pkg-config +, libosmocore +}: + +stdenv.mkDerivation rec { + pname = "libosmo-netif"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "libosmo-netif"; + rev = version; + hash = "sha256-PhGi/6JVO8tXxzfGwEKUB/GdrgCJkqROo26TPU+O9Sg="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + lksctp-tools + libosmocore + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Osmocom network / socket interface library"; + homepage = "https://osmocom.org/projects/libosmo-netif/wiki"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3e4069b3c7e..8ca83d7db87b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22006,6 +22006,8 @@ with pkgs; libosmocore = callPackage ../servers/osmocom/libosmocore { }; + libosmo-netif = callPackage ../servers/osmocom/libosmo-netif { }; + libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { }; libotr = callPackage ../development/libraries/libotr { }; From de717798994291d0c11fe67fb73842272aa4fff1 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 08:48:12 +0200 Subject: [PATCH 07/68] libosmo-sccp: init at 1.7.0 --- pkgs/servers/osmocom/libosmo-sccp/default.nix | 48 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/servers/osmocom/libosmo-sccp/default.nix diff --git a/pkgs/servers/osmocom/libosmo-sccp/default.nix b/pkgs/servers/osmocom/libosmo-sccp/default.nix new file mode 100644 index 000000000000..80edf0f368f0 --- /dev/null +++ b/pkgs/servers/osmocom/libosmo-sccp/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, autoreconfHook +, fetchFromGitHub +, lksctp-tools +, pkg-config +, libosmocore +, libosmo-netif +}: + +stdenv.mkDerivation rec { + pname = "libosmo-sccp"; + version = "1.7.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "libosmo-sccp"; + rev = version; + hash = "sha256-ScJZke9iNmFc9XXqtRjb24ZzKfa5EYws5PDNhcZFb7U="; + }; + + configureFlags = [ "--with-systemdsystemunitdir=$out" ]; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + lksctp-tools + libosmocore + libosmo-netif + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "SCCP + SIGTRAN (SUA/M3UA) libraries as well as OsmoSTP"; + homepage = "https://osmocom.org/projects/libosmo-sccp"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ca83d7db87b..3b78a13d34cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22008,6 +22008,8 @@ with pkgs; libosmo-netif = callPackage ../servers/osmocom/libosmo-netif { }; + libosmo-sccp = callPackage ../servers/osmocom/libosmo-sccp { }; + libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { }; libotr = callPackage ../development/libraries/libotr { }; From a2cae9db3c309913f21254521ec2f14907c762d1 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 08:56:33 +0200 Subject: [PATCH 08/68] osmo-mgw: init at 1.11.1 --- pkgs/servers/osmocom/osmo-mgw/default.nix | 51 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-mgw/default.nix diff --git a/pkgs/servers/osmocom/osmo-mgw/default.nix b/pkgs/servers/osmocom/osmo-mgw/default.nix new file mode 100644 index 000000000000..68939011b98c --- /dev/null +++ b/pkgs/servers/osmocom/osmo-mgw/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, libosmo-netif +, libosmoabis +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-mgw"; + version = "1.11.1"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-mgw"; + rev = "${version}"; + hash = "sha256-l7JBAigcqQdb1IIz2iuetK8EKVkevtei7hB98g4a79Y="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + libosmo-netif + libosmoabis + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom Media Gateway (MGW). speaks RTP and E1 as well as MGCP"; + homepage = "https://osmocom.org/projects/osmo-mgw"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b78a13d34cf..c4173fe17952 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32860,6 +32860,8 @@ with pkgs; osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; + osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; + osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; palemoon = callPackage ../applications/networking/browsers/palemoon { }; From fd12f22cdd903ae7f56aaa2970ea3573261ccdbb Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 09:01:22 +0200 Subject: [PATCH 09/68] osmo-msc: init at 1.10.0 --- pkgs/servers/osmocom/osmo-msc/default.nix | 61 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 63 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-msc/default.nix diff --git a/pkgs/servers/osmocom/osmo-msc/default.nix b/pkgs/servers/osmocom/osmo-msc/default.nix new file mode 100644 index 000000000000..fdb6d35bcb79 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-msc/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, sqlite +, libosmoabis +, libosmo-netif +, libosmo-sccp +, osmo-mgw +, osmo-hlr +, lksctp-tools +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-msc"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-msc"; + rev = "${version}"; + hash = "sha256-CVyjSo+QFDLcow6XAcudhQ7LOnbCSHeYVTzTMh7KEwg="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + sqlite + libosmoabis + libosmo-netif + libosmo-sccp + osmo-mgw + osmo-hlr + lksctp-tools + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom implementation of 3GPP Mobile Swtiching Centre (MSC)"; + homepage = "https://osmocom.org/projects/osmomsc/wiki"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4173fe17952..b44804ad2c1c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32862,6 +32862,8 @@ with pkgs; osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; + osmo-msc = callPackage ../servers/osmocom/osmo-msc { }; + osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; palemoon = callPackage ../applications/networking/browsers/palemoon { }; From ffd24c84f28d8c8ff047a2bffee5e3bca020f0dd Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 09:13:43 +0200 Subject: [PATCH 10/68] osmo-bsc: init at 1.9.1 --- pkgs/servers/osmocom/osmo-bsc/default.nix | 55 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-bsc/default.nix diff --git a/pkgs/servers/osmocom/osmo-bsc/default.nix b/pkgs/servers/osmocom/osmo-bsc/default.nix new file mode 100644 index 000000000000..fd10dd5f20d1 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-bsc/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, libosmoabis +, libosmo-netif +, libosmo-sccp +, osmo-mgw +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-bsc"; + version = "1.9.1"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-bsc"; + rev = "${version}"; + hash = "sha256-oCHEWQjHG2JZdoisROukwRbpQq2cNAgC+1yOqsgx+As="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + libosmoabis + libosmo-netif + libosmo-sccp + osmo-mgw + ]; + + enableParallelBuilding = true; + + meta = { + description = "GSM Base Station Controller"; + homepage = "https://projects.osmocom.org/projects/osmobsc"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b44804ad2c1c..26b2b4da2bb4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32858,6 +32858,8 @@ with pkgs; osmo = callPackage ../applications/office/osmo { }; + osmo-bsc = callPackage ../servers/osmocom/osmo-bsc { }; + osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; From 89c5cfec7d24dbcfb8ab9a7c3d8766c86aac9c0a Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 13:21:21 +0200 Subject: [PATCH 11/68] osmo-iuh: init at 1.4.0 --- pkgs/servers/osmocom/osmo-iuh/default.nix | 62 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-iuh/default.nix diff --git a/pkgs/servers/osmocom/osmo-iuh/default.nix b/pkgs/servers/osmocom/osmo-iuh/default.nix new file mode 100644 index 000000000000..8f38383196e6 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-iuh/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, lksctp-tools +, libosmo-netif +, libosmo-sccp +, libasn1c +, python3 +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-iuh"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-iuh"; + rev = "${version}"; + hash = "sha256-AwLLfG+5JgvFSBddzyUQdPDFZOX1uQyDSyr4O/wTlgs="; + }; + + prePatch = '' + substituteInPlace src/../asn1/utils/asn1tostruct.py \ + --replace '#!/usr/bin/env python3' '#!${python3}/bin/python3' + ''; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3 + ]; + + buildInputs = [ + libosmocore + lksctp-tools + libosmo-netif + libosmo-sccp + libasn1c + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom IuH library"; + homepage = "https://osmocom.org/projects/osmohnbgw/wiki"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26b2b4da2bb4..d473d8dbc14e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32862,6 +32862,8 @@ with pkgs; osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; + osmo-iuh = callPackage ../servers/osmocom/osmo-iuh { }; + osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; osmo-msc = callPackage ../servers/osmocom/osmo-msc { }; From f168d4993ee4b0e6838c9d7e6f09dddedbe1317e Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 13:25:42 +0200 Subject: [PATCH 12/68] osmo-hnbgw: init at 1.4.0 --- pkgs/servers/osmocom/osmo-hnbgw/default.nix | 59 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-hnbgw/default.nix diff --git a/pkgs/servers/osmocom/osmo-hnbgw/default.nix b/pkgs/servers/osmocom/osmo-hnbgw/default.nix new file mode 100644 index 000000000000..ecadc543c566 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-hnbgw/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, lksctp-tools +, libosmo-netif +, libasn1c +, libosmo-sccp +, osmo-iuh +, osmo-mgw +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-hnbgw"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-hnbgw"; + rev = "${version}"; + hash = "sha256-OWCAiU4mK57e5gm6QOovwmoFAaCG1d8ZYpkP4isIqvI="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + lksctp-tools + libosmo-netif + libasn1c + libosmo-sccp + osmo-iuh + osmo-mgw + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom Home NodeB Gateway, for attaching femtocells to the 3G CN (OsmoMSC, OsmoSGSN)"; + homepage = "https://osmocom.org/projects/osmohnbgw"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d473d8dbc14e..4d177d9acff9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32862,6 +32862,8 @@ with pkgs; osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; + osmo-hnbgw = callPackage ../servers/osmocom/osmo-hnbgw { }; + osmo-iuh = callPackage ../servers/osmocom/osmo-iuh { }; osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; From 1a4160212a149d7996047de99b8b891d024b6566 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 13:34:07 +0200 Subject: [PATCH 13/68] osmo-ggsn: init at 1.10.1 --- pkgs/servers/osmocom/osmo-ggsn/default.nix | 47 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-ggsn/default.nix diff --git a/pkgs/servers/osmocom/osmo-ggsn/default.nix b/pkgs/servers/osmocom/osmo-ggsn/default.nix new file mode 100644 index 000000000000..d65dad1dbb00 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-ggsn/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-ggsn"; + version = "1.10.1"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-ggsn"; + rev = "${version}"; + hash = "sha256-j7Szh6lDZY9ji9VAdE3D73R/WBPDo85nVB8hr4HzO7M="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom Gateway GPRS Support Node (GGSN), successor of OpenGGSN"; + homepage = "https://osmocom.org/projects/openggsn"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d177d9acff9..77f7854d1017 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32860,6 +32860,8 @@ with pkgs; osmo-bsc = callPackage ../servers/osmocom/osmo-bsc { }; + osmo-ggsn = callPackage ../servers/osmocom/osmo-ggsn { }; + osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; osmo-hnbgw = callPackage ../servers/osmocom/osmo-hnbgw { }; From 5c6abb1c25beed4a3ec26242b08b1f1693316f29 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 13:42:05 +0200 Subject: [PATCH 14/68] osmo-sgsn: init at 1.10.0 --- pkgs/servers/osmocom/osmo-sgsn/default.nix | 57 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-sgsn/default.nix diff --git a/pkgs/servers/osmocom/osmo-sgsn/default.nix b/pkgs/servers/osmocom/osmo-sgsn/default.nix new file mode 100644 index 000000000000..89afa75209b6 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-sgsn/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, libosmoabis +, libosmo-netif +, osmo-hlr +, osmo-ggsn +, c-ares +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-ggsn"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-sgsn"; + rev = "${version}"; + hash = "sha256-tjExV8XigPEZ5gOCEoWfjhtGJVa5Ja3GHnpSovradak="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + libosmoabis + libosmo-netif + osmo-hlr + osmo-ggsn + c-ares + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom implementation of the 3GPP Serving GPRS Support Node (SGSN)"; + homepage = "https://osmocom.org/projects/osmosgsn"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 77f7854d1017..003b14cad2c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32872,6 +32872,8 @@ with pkgs; osmo-msc = callPackage ../servers/osmocom/osmo-msc { }; + osmo-sgsn = callPackage ../servers/osmocom/osmo-sgsn { }; + osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; palemoon = callPackage ../applications/networking/browsers/palemoon { }; From 405fe5f5b2887f4ae5f02d85beb492cbd8e08ffe Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 15:05:47 +0200 Subject: [PATCH 15/68] osmo-bts: init at 1.6.0 --- pkgs/servers/osmocom/osmo-bts/default.nix | 51 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-bts/default.nix diff --git a/pkgs/servers/osmocom/osmo-bts/default.nix b/pkgs/servers/osmocom/osmo-bts/default.nix new file mode 100644 index 000000000000..c4a10f21abab --- /dev/null +++ b/pkgs/servers/osmocom/osmo-bts/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, libosmoabis +, libosmo-netif +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-bts"; + version = "1.6.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-bts"; + rev = "${version}"; + hash = "sha256-RSWXWQn3DAPtThUbthyXrSFSQhHzKaH/m1f6/MCojzM="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + libosmoabis + libosmo-netif + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom GSM Base Transceiver Station (BTS)"; + homepage = "https://osmocom.org/projects/osmobts"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 003b14cad2c4..8b06c9e1a622 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32860,6 +32860,8 @@ with pkgs; osmo-bsc = callPackage ../servers/osmocom/osmo-bsc { }; + osmo-bts = callPackage ../servers/osmocom/osmo-bts { }; + osmo-ggsn = callPackage ../servers/osmocom/osmo-ggsn { }; osmo-hlr = callPackage ../servers/osmocom/osmo-hlr { }; From 0c051ec4f2047c1fdb398fd5d11d7b97a5d0a23c Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 15:26:14 +0200 Subject: [PATCH 16/68] osmo-pcu: init at 1.2.0 --- pkgs/servers/osmocom/osmo-pcu/default.nix | 48 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-pcu/default.nix diff --git a/pkgs/servers/osmocom/osmo-pcu/default.nix b/pkgs/servers/osmocom/osmo-pcu/default.nix new file mode 100644 index 000000000000..99495d0dd1e8 --- /dev/null +++ b/pkgs/servers/osmocom/osmo-pcu/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-pcu"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-pcu"; + rev = "${version}"; + hash = "sha256-wZLTDvqVxP0FXV0VQH5KuigwbgzBipwL5JkTDp5Mzrc="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + ]; + + enableParallelBuilding = true; + + meta = { + description = "Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated"; + homepage = "https://osmocom.org/projects/osmopcu"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b06c9e1a622..c209e43ae7b4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32874,6 +32874,8 @@ with pkgs; osmo-msc = callPackage ../servers/osmocom/osmo-msc { }; + osmo-pcu = callPackage ../servers/osmocom/osmo-pcu { }; + osmo-sgsn = callPackage ../servers/osmocom/osmo-sgsn { }; osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; From 9933b4d78e646a9f53cf45b70b27e4b9498f2279 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 15:41:15 +0200 Subject: [PATCH 17/68] osmo-hnodeb: init at 0.1.1 --- pkgs/servers/osmocom/osmo-hnodeb/default.nix | 59 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-hnodeb/default.nix diff --git a/pkgs/servers/osmocom/osmo-hnodeb/default.nix b/pkgs/servers/osmocom/osmo-hnodeb/default.nix new file mode 100644 index 000000000000..cf5c715ccddf --- /dev/null +++ b/pkgs/servers/osmocom/osmo-hnodeb/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, lksctp-tools +, libasn1c +, libosmoabis +, libosmo-netif +, libosmo-sccp +, osmo-iuh +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-hnodeb"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-hnodeb"; + rev = "${version}"; + hash = "sha256-Izivyw2HqRmrM68ehGqlIkJeuZ986d1WQ0yr6NWWTdA="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + lksctp-tools + libasn1c + libosmoabis + libosmo-netif + libosmo-sccp + osmo-iuh + ]; + + enableParallelBuilding = true; + + meta = { + description = "(upper layers of) HomeNodeB"; + homepage = "https://osmocom.org/projects/osmo-hnodeb"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c209e43ae7b4..51d6ef27d2a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32868,6 +32868,8 @@ with pkgs; osmo-hnbgw = callPackage ../servers/osmocom/osmo-hnbgw { }; + osmo-hnodeb = callPackage ../servers/osmocom/osmo-hnodeb { }; + osmo-iuh = callPackage ../servers/osmocom/osmo-iuh { }; osmo-mgw = callPackage ../servers/osmocom/osmo-mgw { }; From b475406db789413f7063b66c29ca31f3e8e74f4a Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 19 Apr 2023 16:33:58 +0200 Subject: [PATCH 18/68] osmo-sip-connector: init at 1.6.2 --- .../osmocom/osmo-sip-connector/default.nix | 51 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/servers/osmocom/osmo-sip-connector/default.nix diff --git a/pkgs/servers/osmocom/osmo-sip-connector/default.nix b/pkgs/servers/osmocom/osmo-sip-connector/default.nix new file mode 100644 index 000000000000..10546e95328d --- /dev/null +++ b/pkgs/servers/osmocom/osmo-sip-connector/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, libosmocore +, sofia_sip +, glib +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "osmo-sip-connector"; + version = "1.6.2"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "osmo-sip-connector"; + rev = "${version}"; + hash = "sha256-vsPtNeh6Yi5fQb+E90OF4/Hnjl9T5nMf9EMBhzpIA2I="; + }; + + postPatch = '' + echo "${version}" > .tarball-version + ''; + + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + libosmocore + sofia_sip + glib + ]; + + enableParallelBuilding = true; + + meta = { + description = "This implements an interface between the MNCC (Mobile Network Call Control) interface of OsmoMSC (and also previously OsmoNITB) and SIP"; + homepage = "https://osmocom.org/projects/osmo-sip-conector"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ janik ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 51d6ef27d2a6..e7d09d85f9e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32880,6 +32880,8 @@ with pkgs; osmo-sgsn = callPackage ../servers/osmocom/osmo-sgsn { }; + osmo-sip-connector = callPackage ../servers/osmocom/osmo-sip-connector { }; + osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; palemoon = callPackage ../applications/networking/browsers/palemoon { }; From b41c49ee2d28a86e2fd4733d1d03cb010d4ddbcf Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Wed, 26 Apr 2023 23:42:46 +0200 Subject: [PATCH 19/68] elk7: 7.17.4 -> 7.17.9 Fixes CVE-2022-38779. Advisory: https://discuss.elastic.co/t/kibana-7-17-9-and-8-6-2-security-update/325782 Changelogs: https://www.elastic.co/guide/en/welcome-to-elastic/7.17/new.html --- pkgs/development/tools/misc/kibana/7.x.nix | 9 ++++---- .../kibana/disable-nodejs-version-check.patch | 19 ---------------- pkgs/misc/logging/beats/7.x.nix | 4 ++-- pkgs/servers/search/elasticsearch/7.x.nix | 10 ++++----- pkgs/servers/search/elasticsearch/plugins.nix | 22 +++++++++---------- pkgs/tools/misc/logstash/7.x.nix | 14 ++++++------ pkgs/top-level/all-packages.nix | 2 +- 7 files changed, 31 insertions(+), 49 deletions(-) delete mode 100644 pkgs/development/tools/misc/kibana/disable-nodejs-version-check.patch diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix index 69aa71a6f245..e2586f32af3d 100644 --- a/pkgs/development/tools/misc/kibana/7.x.nix +++ b/pkgs/development/tools/misc/kibana/7.x.nix @@ -17,9 +17,10 @@ let plat = elemAt info 1; shas = { - x86_64-linux = "b657d82c8189acc8a8f656ab949e1484aaa98755a16c33f48c318fb17180343f"; - x86_64-darwin = "ac2b5a639ad83431db25e4161f811111d45db052eb845091e18f847016a34a55"; - aarch64-linux = "a1f7ab9e874799bf380b94394e5bb1ce28f38019896293dde8797d74ad273e67"; + x86_64-linux = "f0f9f65b6ba3cc401a519f764314854f6f1f22a9c3b55dfc5a4921455d64fc0d5b8352d267217076da82157553f235ab3d2506497132f23789b126205177e86b"; + x86_64-darwin = "2ba707a0e7a5c34be98ee5e299b8f1d9ace99a626112efd48ca08bfc9640374ec37fc1761c9ef91599e7a5bf5055d2731759b0337952d7767b02d9c46640be71"; + aarch64-linux = "6899c46a06cceb3bfa5db22cdad90db3063b3859c6059a379ac29ce5755073e45b6914491c7c0ec92c48344c1658ea68f7453992d1a39b70782f699315d175de"; + aarch64-darwin = "194b7288f394ff39af3e114099a8f0f847091fd50231ee50c12105189e2b1dfdff8971795c2c22275ff113734e543cfaf51940682d77576c89d2d5bce9b26b92"; }; in stdenv.mkDerivation rec { @@ -28,7 +29,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://artifacts.elastic.co/downloads/kibana/${pname}-${version}-${plat}-${arch}.tar.gz"; - sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); + sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); }; patches = [ diff --git a/pkgs/development/tools/misc/kibana/disable-nodejs-version-check.patch b/pkgs/development/tools/misc/kibana/disable-nodejs-version-check.patch deleted file mode 100644 index 12a81566a72c..000000000000 --- a/pkgs/development/tools/misc/kibana/disable-nodejs-version-check.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur a/src/setup_node_env/node_version_validator.js b/src/setup_node_env/node_version_validator.js ---- a/src/setup_node_env/node_version_validator.js 2018-11-16 03:28:42.000000000 +0100 -+++ b/src/setup_node_env/node_version_validator.js 2018-12-01 12:19:48.238337176 +0100 -@@ -26,7 +26,7 @@ - var currentVersion = process && process.version || null; - var rawRequiredVersion = pkg && pkg.engines && pkg.engines.node || null; - var requiredVersion = rawRequiredVersion ? 'v' + rawRequiredVersion : rawRequiredVersion; --var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion === requiredVersion; -+var isVersionValid = !!currentVersion && !!requiredVersion; - - // Validates current the NodeJS version compatibility when Kibana starts. - if (!isVersionValid) { -@@ -35,4 +35,4 @@ - // Actions to apply when validation fails: error report + exit. - console.error(errorMessage); - process.exit(1); --} -\ No newline at end of file -+} diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix index b5f812d002cc..945b3b3ba585 100644 --- a/pkgs/misc/logging/beats/7.x.nix +++ b/pkgs/misc/logging/beats/7.x.nix @@ -8,10 +8,10 @@ let beat = package: extraArgs: buildGoModule (rec { owner = "elastic"; repo = "beats"; rev = "v${version}"; - sha256 = "sha256-DE7XpzVBu9qL7fMXXYRYLdVXrr0WB0IL0KAG0Zc3TVo="; + hash = "sha256-BGi2fGUz0J7BuLo3JA4c2yUlWXdLpjn+AcMHkDGd3js="; }; - vendorSha256 = "sha256-TQrXUcLv7rFo3PP3bVx0wEC1WbtkJDsCm+/izHAxqBc="; + vendorHash = "sha256-FtFHfxCIZ4G1aFfGUgRfTz+zL4OE4SLPuDzXqL6CDyo="; subPackages = [ package ]; diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix index aad6403cf6ab..cd8ddeded826 100644 --- a/pkgs/servers/search/elasticsearch/7.x.nix +++ b/pkgs/servers/search/elasticsearch/7.x.nix @@ -18,10 +18,10 @@ let plat = elemAt info 1; shas = { - x86_64-linux = "7281b79f2bf7421c2d71ab4eecdfd517b86b6788d1651dad315198c564284ea9"; - x86_64-darwin = "6d2343171a0d384910312220aae3512f45e3d3d900557b736c139b8363a008e4"; - aarch64-linux = "3153820d53a454513b534765fef68ce1f61a2dd92d4dae7428a1220bb3ce8fe5"; - aarch64-darwin = "e62af7486c1041d3f1648646671d5c665e1abffd696cd2a5d96c2a5aaabe38f8"; + x86_64-linux = "f49d8fce010db83e6a89462535c71ba11a1153589038a7db430fc7db44178a55d5538dea80e6d4c690f4f0e838168965297c6a3ae31fbc5020af4d966067a90c"; + x86_64-darwin = "b7d87bfa2e1793354bfb51ea11bbeeb29cfba62633288c3ed4ab9eecc05d05953db9446e7ca46ffe63f5aa646a0534fb8f4aa897a59fa2ae7e200b824576d915"; + aarch64-linux = "aa9624c1777a8530f5eca4f75385de1a95ba8db3d56810cc1e134434438181580c32f5f46ab79094742d077e9b741cfb2549cda549147123dae14109e27a1443"; + aarch64-darwin = "191e04a1e440a5ad679d04f6d852a6ab26cb14870b8af38a2ab6a14251a7b6d1ed7646e33b87f4971bb04a68d767abaecaa8dba07e3ae29211f0a358bb499d61"; }; in stdenv.mkDerivation rec { @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}-${plat}-${arch}.tar.gz"; - sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); + sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); }; patches = [ ./es-home-6.x.patch ]; diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix index 3007eed03378..74aa4282a62e 100644 --- a/pkgs/servers/search/elasticsearch/plugins.nix +++ b/pkgs/servers/search/elasticsearch/plugins.nix @@ -38,7 +38,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip"; sha256 = - if version == "7.17.4" then "a4e881d86694ae70ab6b18f72ea700415971200145d33d438e57c0374d9fc16f" + if version == "7.17.9" then "sha256-70KU7aGUHEZsjykXqHUYspGyX0CCrlS1er9WdUbxxSE=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -54,7 +54,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip"; sha256 = - if version == "7.17.4" then "sha256-O6GCTwuxRrFFht9pQGg8G0O8wrFP2YnSaG02yy7NZ6I=" + if version == "7.17.9" then "sha256-oRTs1eK7jpoKaMvc+6rx9qiA8wg+gYUADM0HuJU0nOY=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -70,7 +70,7 @@ in src = fetchurl { url = "https://github.com/vhyza/elasticsearch-${pluginName}/releases/download/v${version}/elasticsearch-${pluginName}-${version}-plugin.zip"; sha256 = - if version == "7.17.4" then "sha256-5tg4Lts++kL3QEnP+TM7NGR3EQH17H3KmhGHuhIGVqU=" + if version == "7.17.9" then "sha256-iY25apDkS6s0RoR9dVL2o/hFuUo6XhMzLjl8wDSFejk=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -86,7 +86,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip"; sha256 = - if version == "7.17.4" then "1c8175b2dac54277c1f41981fb4a784829e74e6e74268381fe0c27bc6652704b" + if version == "7.17.9" then "sha256-xlEabvNiddEwRfKrHIq1QPFJFMd2gByurIZF9LOxVSs=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -102,7 +102,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip"; sha256 = - if version == "7.17.4" then "702e446997bde5cb38af120a1cb4271d976fdd23444be49e53b6be3801d845a9" + if version == "7.17.9" then "sha256-J1q87fhL4A5tkxPADgHflPbO2RRMGPUk58l7DEpgd94=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -118,7 +118,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip"; sha256 = - if version == "7.17.4" then "7d1574a585a9db0988ee248159d51f62cce5578a8c082096ef3e26efdb24aee7" + if version == "7.17.9" then "sha256-BhJtBdsT5Xapehfn0xaTWpSrvT1W+Hhv/yqliA6dBG8=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -134,7 +134,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip"; sha256 = - if version == "7.17.4" then "cad923a662db705d40ca29698aa118e9e4cc50ae564c426a76d5acb777a4f57c" + if version == "7.17.9" then "sha256-bjVMVwZfj9WyjkwTXwTJdmaqZ1sWuvOZKXh9PFTOwb8=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -150,7 +150,7 @@ in src = fetchurl { url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip"; sha256 = - if version == "7.17.4" then "a50be4cea5c68ad7615f87d672ba160d027fdfde2be0578bb2dabd6384cc8108" + if version == "7.17.9" then "sha256-ZyImIHYOz5bOEA+ARtPB2CznTOSjFKsavzWXXEzfkO8=" else throw "unsupported version ${version} for plugin ${pluginName}"; }; meta = with lib; { @@ -166,13 +166,13 @@ in pluginName = "search-guard"; version = # https://docs.search-guard.com/latest/search-guard-versions - if esVersion == "7.17.4" then "${esVersion}-53.4.0" + if esVersion == "7.17.9" then "${esVersion}-53.6.0" else throw "unsupported version ${esVersion} for plugin ${pluginName}"; src = - if esVersion == "7.17.4" then + if esVersion == "7.17.9" then fetchurl { url = "https://maven.search-guard.com/search-guard-suite-release/com/floragunn/search-guard-suite-plugin/${version}/search-guard-suite-plugin-${version}.zip"; - sha256 = "sha256-PIRzhkxYryAiPjdjAXeV+g+O4YmQ1oV31m2GMC1PXu0="; + sha256 = "sha256-HwxNvWvjqaI3ytSjNnsGcyt3omIZp69bgwxoufL2Nj8="; } else throw "unsupported version ${version} for plugin ${pluginName}"; meta = with lib; { diff --git a/pkgs/tools/misc/logstash/7.x.nix b/pkgs/tools/misc/logstash/7.x.nix index cdf810d2a209..c462a02f22b3 100644 --- a/pkgs/tools/misc/logstash/7.x.nix +++ b/pkgs/tools/misc/logstash/7.x.nix @@ -16,14 +16,14 @@ let shas = if enableUnfree then { - x86_64-linux = "35e50e05fba0240aa5b138bc1c81f67addaf557701f8df41c682b5bc708f7455"; - x86_64-darwin = "698b6000788e123b647c988993f710c6d9bc44eb8c8e6f97d6b18a695a61f0a6"; - aarch64-linux = "69694856fde11836eb1613bf3a2ba31fbdc933f58c8527b6180f6122c8bb528b"; + x86_64-linux = "a43d592e70f023a594f31a3fba365a9cca6611599bd61f998cb1fc38ddd177d459bce23eaf54f811fe0a87a47cdd4bf4b4d4c8008dab1ac03173371f63b91b6c"; + x86_64-darwin = "7f7d89f438400da178b30f345b6ebc80f55f87f38b8925ca8c9dea86f0e2f23f70ccab03fdef5b83c085f1441e77592aab05006d163bc2af1920e1cc0ebdfc17"; + aarch64-linux = "3c74d622c362e3aa72442a477ef34b0eb9131f5b550166d0f7f422bd3678acf07d75c702691d6606e5501f4b40854a352398d1c2813f1fb0a152663d75d5658b"; } else { - x86_64-linux = "3a2da2e63bc08ee1886db29c80103c669d3ed6960290b8b97d771232769f282e"; - x86_64-darwin = "655ab873e16257827f884f67b66d62c4da40a895d06206faa435615ad0a56796"; - aarch64-linux = "235cf57afb619801808d5fe1bff7e01a4a9b29f77723566e5371b5f3b2bf8fad"; + x86_64-linux = "7c3f9867853582e5d06b9f895b4740abf56a9b6ce34dfbfb624cf9a4b956f489145cd13f3194a7fb16efc52410f55e797c269dc2957a35bdebf9e1aaa3547eaa"; + x86_64-darwin = "d81c20317a7c163e42f5aad9e148505a64bba8565ff913650a840918b80e6aadde071596e569b0c8f965810b821779ca3d00f9a7cb24a5c86fff571ca9227c38"; + aarch64-linux = "93d9700fc3dd99bc918be19fe41ef60b9071eadcc6fd57833dbf1fff2e0f2419c62f3493a0454f215b0dfd30cec90f1aca5eeff15c4eb3a583519dc9a69e896a"; }; this = stdenv.mkDerivation rec { version = elk7Version; @@ -32,7 +32,7 @@ let src = fetchurl { url = "https://artifacts.elastic.co/downloads/logstash/${pname}-${version}-${plat}-${arch}.tar.gz"; - sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); + sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); }; dontBuild = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dac8b735a293..88e39fa617e9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7183,7 +7183,7 @@ with pkgs; # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic. # When updating make sure to update all plugins or they will break! - elk7Version = "7.17.4"; + elk7Version = "7.17.9"; elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix { util-linux = util-linuxMinimal; From 5d3e887cb5221b659ad0e24029b7f1bb530631aa Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sun, 7 May 2023 12:32:13 +0200 Subject: [PATCH 20/68] winbox: 3.37 -> 3.38 --- pkgs/tools/admin/winbox/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix index 699e7a0d3561..6c9b9290494d 100644 --- a/pkgs/tools/admin/winbox/default.nix +++ b/pkgs/tools/admin/winbox/default.nix @@ -1,8 +1,6 @@ { lib -, stdenv , fetchurl , makeDesktopItem -, makeWrapper , symlinkJoin , writeShellScriptBin , wine @@ -12,15 +10,15 @@ let inherit (lib) last splitString; pname = "winbox"; - version = "3.37"; + version = "3.38"; name = "${pname}-${version}"; executable = fetchurl (if (wine.meta.mainProgram == "wine64") then { url = "https://download.mikrotik.com/winbox/${version}/winbox64.exe"; - sha256 = "0fbl0i5ga9afg8mklm9xqidcr388sca00slj401npwh9b3j9drmb"; + sha256 = "RV+j8FQigpwPprR2xuMYpDRMDwugSZD+O2ZmyPZDz54="; } else { url = "https://download.mikrotik.com/winbox/${version}/winbox.exe"; - sha256 = "1zla30bc755x5gfv9ff1bgjvpsjmg2d7jsjxnwwy679fry4n4cwl"; + sha256 = "dh3P+otukhnEpVTqTu16MgIHVnJbzp4Voj+wZ3r5Fxg="; }); # This is from the winbox AUR package: From 6ad253649458680e9444524e9c488fed9b449354 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 24 Apr 2023 13:08:48 +0200 Subject: [PATCH 21/68] xp-pen-deco-01-v2-driver: 3.3.9 -> 3.2.4 Update to currently released version of the software. --- .../linux/xp-pen-drivers/deco-01-v2/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix index 46a5bca79031..8ae426269a86 100644 --- a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix +++ b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix @@ -5,6 +5,7 @@ , glibc , libGL , xorg +, makeWrapper , qtx11extras , wrapQtAppsHook , autoPatchelfHook @@ -20,17 +21,18 @@ let in stdenv.mkDerivation rec { pname = "xp-pen-deco-01-v2-driver"; - version = "3.3.9.230222-1"; + version = "3.2.3.230215-1"; src = fetchzip { - url = "https://www.xp-pen.com/download/file/id/1936/pid/440/ext/gz.html#.tar.gz"; + url = "https://download01.xp-pen.com/file/2023/03/XPPen-pentablet-${version}.x86_64.tar.gz"; name = "xp-pen-deco-01-v2-driver-${version}.tar.gz"; - sha256 = "sha256-xrRDxH7e00dISXb+lTtrnui+fNFpX7bLke2o+aTjJNk="; + sha256 = "sha256-CV4ZaGCFFcfy2J0O8leYgcyzFVwJQFQJsShOv9B7jfI="; }; nativeBuildInputs = [ wrapQtAppsHook autoPatchelfHook + makeWrapper ]; dontBuild = true; From 677ef435c397a7e19997525d109648dcbaaf64ce Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 12 May 2023 13:57:48 +0200 Subject: [PATCH 22/68] proxysql: 2.5.1 -> 2.5.2 --- pkgs/servers/sql/proxysql/default.nix | 4 +-- pkgs/servers/sql/proxysql/makefiles.patch | 42 ++++++++++------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix index 3b495b533960..f32f6a9814ce 100644 --- a/pkgs/servers/sql/proxysql/default.nix +++ b/pkgs/servers/sql/proxysql/default.nix @@ -33,13 +33,13 @@ stdenv.mkDerivation rec { pname = "proxysql"; - version = "2.5.1"; + version = "2.5.2"; src = fetchFromGitHub { owner = "sysown"; repo = pname; rev = version; - hash = "sha256-Z85/oSV2TUKEoum09G6OHNw6K/Evt1wMCcleTcc96EY="; + hash = "sha256-KPTvFbEreWQBAs5ofcdVzlVqL0t5pM/mMLv4+E4lJ5M="; }; patches = [ diff --git a/pkgs/servers/sql/proxysql/makefiles.patch b/pkgs/servers/sql/proxysql/makefiles.patch index 63c0b32c8b10..ed16c9d64703 100644 --- a/pkgs/servers/sql/proxysql/makefiles.patch +++ b/pkgs/servers/sql/proxysql/makefiles.patch @@ -1,5 +1,5 @@ diff --git a/Makefile b/Makefile -index e7dae058..09c28859 100644 +index df7ed196..3a3b393d 100644 --- a/Makefile +++ b/Makefile @@ -57,11 +57,7 @@ endif @@ -36,7 +36,7 @@ index e7dae058..09c28859 100644 install -m 0755 etc/init.d/proxysql /etc/init.d ifeq ($(DISTRO),"CentOS Linux") diff --git a/deps/Makefile b/deps/Makefile -index 55a45ba9..8443d439 100644 +index 47c0f3c3..80d33d11 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -66,10 +66,7 @@ endif @@ -56,28 +56,28 @@ index 55a45ba9..8443d439 100644 libssl/openssl/libssl.a: - cd libssl && rm -rf openssl-openssl-*/ openssl-3*/ || true - cd libssl && tar -zxf openssl-*.tar.gz - cd libssl/openssl && patch crypto/ec/curve448/curve448.c < ../curve448.c-multiplication-overflow.patch - cd libssl/openssl && patch crypto/asn1/a_time.c < ../a_time.c-multiplication-overflow.patch + # cd libssl/openssl && patch crypto/ec/curve448/curve448.c < ../curve448.c-multiplication-overflow.patch + # cd libssl/openssl && patch crypto/asn1/a_time.c < ../a_time.c-multiplication-overflow.patch cd libssl/openssl && ./config no-ssl3 no-tests -@@ -95,8 +90,6 @@ libssl: libssl/openssl/libssl.a - +@@ -103,8 +98,6 @@ ifeq ($(MIN_VERSION),$(lastword $(SORTED_VERSIONS))) + endif libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a re2/re2/obj/libre2.a - cd libhttpserver && rm -rf libhttpserver-*/ || true - cd libhttpserver && tar -zxf libhttpserver-*.tar.gz + #ifeq ($(REQUIRE_PATCH), true) cd libhttpserver/libhttpserver && patch -p1 < ../noexcept.patch cd libhttpserver/libhttpserver && patch -p1 < ../re2_regex.patch - cd libhttpserver/libhttpserver && patch -p1 < ../final_val_post_process.patch -@@ -112,8 +105,6 @@ libhttpserver: libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a +@@ -122,8 +115,6 @@ libhttpserver: libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a libev/libev/.libs/libev.a: - cd libev && rm -rf libev-*/ || true - cd libev && tar -zxf libev-*.tar.gz - # cd libev/libev && patch ev.c < ../ev.c-multiplication-overflow.patch + cd libev/libev && patch ev.c < ../ev.c-multiplication-overflow.patch cd libev/libev && ./configure cd libev/libev && CC=${CC} CXX=${CXX} ${MAKE} -@@ -122,8 +113,6 @@ ev: libev/libev/.libs/libev.a +@@ -132,8 +123,6 @@ ev: libev/libev/.libs/libev.a curl/curl/lib/.libs/libcurl.a: libssl/openssl/libssl.a @@ -86,7 +86,7 @@ index 55a45ba9..8443d439 100644 # cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE} # cd curl/curl && patch configure < ../configure.patch cd curl/curl && autoreconf -fi -@@ -133,16 +122,6 @@ curl: curl/curl/lib/.libs/libcurl.a +@@ -143,16 +132,6 @@ curl: curl/curl/lib/.libs/libcurl.a libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a: @@ -103,18 +103,16 @@ index 55a45ba9..8443d439 100644 ifeq ($(UNAME_S),Darwin) cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/mhd_sockets.c < ../mhd_sockets.c-issue-5977.patch endif -@@ -159,10 +138,7 @@ cityhash/cityhash/src/.libs/libcityhash.a: +@@ -171,8 +150,6 @@ cityhash: cityhash/cityhash/src/.libs/libcityhash.a - cityhash: cityhash/cityhash/src/.libs/libcityhash.a -- lz4/lz4/lib/liblz4.a: - cd lz4 && rm -rf lz4-*/ || true - cd lz4 && tar -zxf lz4-*.tar.gz cd lz4/lz4 && CC=${CC} CXX=${CXX} ${MAKE} lz4: lz4/lz4/lib/liblz4.a -@@ -187,8 +163,6 @@ clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-s +@@ -197,8 +174,6 @@ clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-s libdaemon/libdaemon/libdaemon/.libs/libdaemon.a: @@ -123,7 +121,7 @@ index 55a45ba9..8443d439 100644 cd libdaemon/libdaemon && cp ../config.guess . && chmod +x config.guess && cp ../config.sub . && chmod +x config.sub && ./configure --disable-examples cd libdaemon/libdaemon && CC=${CC} CXX=${CXX} ${MAKE} -@@ -265,8 +239,6 @@ sqlite3: sqlite3/sqlite3/sqlite3.o +@@ -282,8 +257,6 @@ sqlite3: sqlite3/sqlite3/sqlite3.o libconfig/libconfig/lib/.libs/libconfig++.a: @@ -132,7 +130,7 @@ index 55a45ba9..8443d439 100644 cd libconfig/libconfig && ./configure --disable-examples cd libconfig/libconfig && CC=${CC} CXX=${CXX} ${MAKE} -@@ -274,9 +246,6 @@ libconfig: libconfig/libconfig/lib/.libs/libconfig++.a +@@ -291,9 +264,6 @@ libconfig: libconfig/libconfig/lib/.libs/libconfig++.a prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a: @@ -142,7 +140,7 @@ index 55a45ba9..8443d439 100644 cd prometheus-cpp/prometheus-cpp && patch -p1 < ../serial_exposer.patch cd prometheus-cpp/prometheus-cpp && patch -p1 < ../registry_counters_reset.patch cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch -@@ -287,11 +256,6 @@ prometheus-cpp: prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a +@@ -304,10 +274,6 @@ prometheus-cpp: prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a re2/re2/obj/libre2.a: @@ -150,17 +148,15 @@ index 55a45ba9..8443d439 100644 - cd re2 && tar -zxf re2-*.tar.gz -# cd re2/re2 && sed -i -e 's/-O3 -g /-O3 -fPIC /' Makefile -# cd re2/re2 && patch util/mutex.h < ../mutex.h.patch --# cd re2/re2 && patch re2/onepass.cc < ../onepass.cc-multiplication-overflow.patch + cd re2/re2 && patch re2/onepass.cc < ../onepass.cc-multiplication-overflow.patch ifeq ($(UNAME_S),Darwin) cd re2/re2 && sed -i '' -e 's/-O3 -g/-O3 -g -std=c++11 -fPIC -DMEMORY_SANITIZER -DRE2_ON_VALGRIND /' Makefile - # cd re2/re2 && sed -i '' -e 's/RE2_CXXFLAGS?=-std=c++11 /RE2_CXXFLAGS?=-std=c++11 -fPIC /' Makefile -@@ -305,9 +269,6 @@ re2: re2/re2/obj/libre2.a +@@ -322,8 +288,6 @@ re2: re2/re2/obj/libre2.a pcre/pcre/.libs/libpcre.a: - cd pcre && rm -rf pcre-*/ || true - cd pcre && tar -zxf pcre-*.tar.gz --# cd pcre/pcre && patch pcretest.c < ../pcretest.c-multiplication-overflow.patch + cd pcre/pcre && patch pcretest.c < ../pcretest.c-multiplication-overflow.patch cd pcre/pcre && ./configure cd pcre/pcre && CC=${CC} CXX=${CXX} ${MAKE} - From efbcbc56117ce738227e54fadc147f349ac8892c Mon Sep 17 00:00:00 2001 From: Isa Date: Mon, 24 Apr 2023 16:34:54 +0200 Subject: [PATCH 23/68] graylog: init at 4.0.8, 4.3.8, 5.0.6 --- .../manual/release-notes/rl-2305.section.md | 2 + pkgs/tools/misc/graylog/3.3.nix | 9 ++++ pkgs/tools/misc/graylog/4.0.nix | 9 ++++ pkgs/tools/misc/graylog/4.3.nix | 9 ++++ pkgs/tools/misc/graylog/5.0.nix | 9 ++++ pkgs/tools/misc/graylog/default.nix | 35 ---------------- pkgs/tools/misc/graylog/graylog.nix | 41 +++++++++++++++++++ pkgs/tools/misc/graylog/plugins.nix | 4 +- pkgs/top-level/all-packages.nix | 9 +++- 9 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 pkgs/tools/misc/graylog/3.3.nix create mode 100644 pkgs/tools/misc/graylog/4.0.nix create mode 100644 pkgs/tools/misc/graylog/4.3.nix create mode 100644 pkgs/tools/misc/graylog/5.0.nix delete mode 100644 pkgs/tools/misc/graylog/default.nix create mode 100644 pkgs/tools/misc/graylog/graylog.nix diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index a89c46152cab..8dce6ba19a45 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -143,6 +143,8 @@ In addition to numerous new and upgraded packages, this release has the followin - `git-bug` has been updated to at least version 0.8.0, which includes backwards incompatible changes. The `git-bug-migration` package can be used to upgrade existing repositories. +- `graylog` has been updated to version 5, which can not be upgraded directly from the previously packaged version 3.3. If you had installed the previously packaged version 3.3, please follow the [upgrade path](https://go2docs.graylog.org/5-0/upgrading_graylog/upgrade_path.htm) from 3.3 to 4.0 to 4.3 to 5.0. + - `nushell` has been updated to at least version 0.77.0, which includes potential breaking changes in aliases. The old aliases are now available as `old-alias` but it is recommended you migrate to the new format. See [Reworked aliases](https://www.nushell.sh/blog/2023-03-14-nushell_0_77.html#reworked-aliases-breaking-changes-kubouch). - `keepassx` and `keepassx2` have been removed, due to upstream [stopping development](https://www.keepassx.org/index.html%3Fp=636.html). Consider [KeePassXC](https://keepassxc.org) as a maintained alternative. diff --git a/pkgs/tools/misc/graylog/3.3.nix b/pkgs/tools/misc/graylog/3.3.nix new file mode 100644 index 000000000000..fc93b9fc5829 --- /dev/null +++ b/pkgs/tools/misc/graylog/3.3.nix @@ -0,0 +1,9 @@ +{ callPackage, lib }: +let + buildGraylog = callPackage ./graylog.nix {}; +in buildGraylog { + version = "3.3.16"; + sha256 = "sha256-P/cnfYKnMSnDD4otEyirKlLaFduyfSO9sao4BY3c3Z4="; + maintainers = [ lib.maintainers.fadenb ]; + license = lib.licenses.gpl3; +} diff --git a/pkgs/tools/misc/graylog/4.0.nix b/pkgs/tools/misc/graylog/4.0.nix new file mode 100644 index 000000000000..cae23dd431d7 --- /dev/null +++ b/pkgs/tools/misc/graylog/4.0.nix @@ -0,0 +1,9 @@ +{ callPackage, lib, ...}: +let + buildGraylog = callPackage ./graylog.nix {}; +in buildGraylog { + version = "4.0.8"; + sha256 = "sha256-1JlJNJSU1wJiztLhYD87YM/7p3YCBXBKerEo/xfumUg="; + maintainers = [ lib.maintainers.f2k1de ]; + license = lib.licenses.sspl; +} diff --git a/pkgs/tools/misc/graylog/4.3.nix b/pkgs/tools/misc/graylog/4.3.nix new file mode 100644 index 000000000000..1bd2ed3ec70d --- /dev/null +++ b/pkgs/tools/misc/graylog/4.3.nix @@ -0,0 +1,9 @@ +{ callPackage, lib, ...}: +let + buildGraylog = callPackage ./graylog.nix {}; +in buildGraylog { + version = "4.3.9"; + sha256 = "sha256-BMw6U47LQQFFVM34rgadMetpYTtj6R3E+uU0dtTcH64="; + maintainers = [ lib.maintainers.f2k1de ]; + license = lib.licenses.sspl; +} diff --git a/pkgs/tools/misc/graylog/5.0.nix b/pkgs/tools/misc/graylog/5.0.nix new file mode 100644 index 000000000000..d13c682d7c75 --- /dev/null +++ b/pkgs/tools/misc/graylog/5.0.nix @@ -0,0 +1,9 @@ +{ callPackage, lib, ...}: +let + buildGraylog = callPackage ./graylog.nix {}; +in buildGraylog { + version = "5.0.6"; + sha256 = "sha256-GOxiGx2BU4x4A9W0k94gqXlhRwoixm0WK0UZN+LXkyQ="; + maintainers = [ lib.maintainers.f2k1de ]; + license = lib.licenses.sspl; +} diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix deleted file mode 100644 index 99f130b3e5df..000000000000 --- a/pkgs/tools/misc/graylog/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchurl, makeWrapper, openjdk11_headless, nixosTests }: - -stdenv.mkDerivation rec { - pname = "graylog"; - version = "3.3.16"; - - src = fetchurl { - url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz"; - sha256 = "sha256-P/cnfYKnMSnDD4otEyirKlLaFduyfSO9sao4BY3c3Z4="; - }; - - dontBuild = true; - dontStrip = true; - - nativeBuildInputs = [ makeWrapper ]; - makeWrapperArgs = [ "--set-default" "JAVA_HOME" "${openjdk11_headless}" ]; - - passthru.tests = { inherit (nixosTests) graylog; }; - - installPhase = '' - mkdir -p $out - cp -r {graylog.jar,lib,bin,plugin} $out - wrapProgram $out/bin/graylogctl $makeWrapperArgs - ''; - - meta = with lib; { - description = "Open source log management solution"; - homepage = "https://www.graylog.org/"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.gpl3; - maintainers = [ maintainers.fadenb ]; - mainProgram = "graylogctl"; - platforms = platforms.unix; - }; -} diff --git a/pkgs/tools/misc/graylog/graylog.nix b/pkgs/tools/misc/graylog/graylog.nix new file mode 100644 index 000000000000..4608d6fa3f57 --- /dev/null +++ b/pkgs/tools/misc/graylog/graylog.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchurl, makeWrapper, openjdk11_headless, openjdk17_headless, systemd, nixosTests}: + +{ version, sha256, maintainers, license }: +stdenv.mkDerivation rec { + pname = "graylog_${lib.versions.majorMinor version}"; + inherit version; + + src = fetchurl { + url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz"; + inherit sha256; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + makeWrapperArgs = [ + "--set-default" "JAVA_HOME" "${if (lib.versionAtLeast version "5.0") then openjdk17_headless else openjdk11_headless}" + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd ]}" + ]; + + passthru.tests = { inherit (nixosTests) graylog; }; + + installPhase = '' + mkdir -p $out + cp -r {graylog.jar,bin,plugin} $out + '' + lib.optionalString (lib.versionOlder version "4.3") '' + cp -r lib $out + '' + '' + wrapProgram $out/bin/graylogctl $makeWrapperArgs + ''; + + meta = with lib; { + description = "Open source log management solution"; + homepage = "https://www.graylog.org/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + inherit license; + inherit maintainers; + mainProgram = "graylogctl"; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/graylog/plugins.nix b/pkgs/tools/misc/graylog/plugins.nix index 756484234d6e..9edf81f63629 100644 --- a/pkgs/tools/misc/graylog/plugins.nix +++ b/pkgs/tools/misc/graylog/plugins.nix @@ -1,6 +1,6 @@ -{ pkgs, lib, stdenv, fetchurl, unzip, graylog }: +{ lib, stdenv, fetchurl, unzip, graylog-5_0 }: -with pkgs.lib; +with lib; let glPlugin = a@{ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 20f1e7b4aaae..b5209bf5bbef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8054,7 +8054,14 @@ with pkgs; grails = callPackage ../development/web/grails { jdk = null; }; - graylog = callPackage ../tools/misc/graylog { }; + graylog-3_3 = callPackage ../tools/misc/graylog/3.3.nix { }; + + graylog-4_0 = callPackage ../tools/misc/graylog/4.0.nix { }; + + graylog-4_3 = callPackage ../tools/misc/graylog/4.3.nix { }; + + graylog-5_0 = callPackage ../tools/misc/graylog/5.0.nix { }; + graylogPlugins = recurseIntoAttrs ( callPackage ../tools/misc/graylog/plugins.nix { } ); From e6776498deb01f7945d57645c8ed04d25dd81bf5 Mon Sep 17 00:00:00 2001 From: Isa Date: Mon, 24 Apr 2023 21:08:20 +0200 Subject: [PATCH 24/68] maintainers: add f2k1de --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ee231ce5ae36..a2b60f700c5f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4910,6 +4910,12 @@ githubId = 25955146; name = "eyJhb"; }; + f2k1de = { + name = "f2k1de"; + email = "hi@f2k1.de"; + github = "f2k1de"; + githubId = 11199213; + }; f4814n = { email = "me@f4814n.de"; github = "f4814"; From 117f6944c73de13bc488cdb98879547f45001d75 Mon Sep 17 00:00:00 2001 From: Isa Date: Mon, 24 Apr 2023 21:20:56 +0200 Subject: [PATCH 25/68] aliases: add graylog --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4f00b0e30c90..1c0330d98158 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -638,6 +638,7 @@ mapAliases ({ grafana-mimir = throw "'grafana-mimir' has been renamed to/replaced by 'mimir'"; # Added 2022-06-07 gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16 grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22 + graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24 gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16 grib-api = throw "grib-api has been replaced by ecCodes => https://confluence.ecmwf.int/display/ECC/GRIB-API+migration"; # Added 2022-01-05 gringo = clingo; # added 2022-11-27 From 20060ea7697893f539965c2323548a8543e49fdc Mon Sep 17 00:00:00 2001 From: Ben Booth Date: Thu, 11 May 2023 16:49:03 -0700 Subject: [PATCH 26/68] JXplorer: init at 3.3.1.2 --- lib/licenses.nix | 5 ++ .../networking/jxplorer/default.nix | 50 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 57 insertions(+) create mode 100644 pkgs/applications/networking/jxplorer/default.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index 52956e52afa6..a54174b0421f 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -190,6 +190,11 @@ in mkLicense lset) ({ free = false; }; + caossl = { + fullName = "Computer Associates Open Source Licence Version 1.0"; + url = "http://jxplorer.org/licence.html"; + }; + cal10 = { fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)"; url = "https://opensource.org/licenses/CAL-1.0"; diff --git a/pkgs/applications/networking/jxplorer/default.nix b/pkgs/applications/networking/jxplorer/default.nix new file mode 100644 index 000000000000..7f1a46b37dab --- /dev/null +++ b/pkgs/applications/networking/jxplorer/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchurl, makeDesktopItem, ant, jdk8, copyDesktopItems, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "jxplorer"; + version = "3.3.1.2"; + + src = fetchurl { + url = "https://github.com/pegacat/jxplorer/releases/download/v${version}/jxplorer-${version}-project.tar.bz2"; + hash = "sha256-/lWkavH51OqNFSLpgT+4WcQcfW3WvnnOkB03jB7bE/s="; + }; + + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; + + desktopItems = [ + (makeDesktopItem { + name = "JXplorer"; + exec = "jxplorer"; + comment = "A Java Ldap Browser"; + desktopName = "JXplorer"; + genericName = "Java Ldap Browser"; + icon = "jxplorer"; + }) + ]; + + installPhase = '' + runHook preInstall + install -d "$out/opt/jxplorer" "$out/bin" "$out/share/pixmaps" + cp -r ./. "$out/opt/jxplorer" + install -Dm644 images/JX128.png "$out/share/pixmaps/jxplorer.png" + runHook postInstall + ''; + + postFixup = '' + chmod +x $out/opt/jxplorer/jxplorer.sh + makeWrapper $out/opt/jxplorer/jxplorer.sh $out/bin/jxplorer \ + --chdir $out/opt/jxplorer \ + --set JAVA_HOME ${jdk8} + ''; + + meta = with lib; { + description = "A Java Ldap Browser"; + homepage = "https://sourceforge.net/projects/jxplorer/"; + license = lib.licenses.caossl; + maintainers = with maintainers; [ benwbooth ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 63344ea39a38..6c09bd66e90b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27800,6 +27800,8 @@ with pkgs; jnetmap = callPackage ../applications/networking/jnetmap {}; + jxplorer = callPackage ../applications/networking/jxplorer {}; + join-desktop = callPackage ../applications/misc/join-desktop { }; json-plot = callPackage ../applications/graphics/json-plot {}; From c7629a78b771521edf3db96bd8fbab0ae72b2604 Mon Sep 17 00:00:00 2001 From: Isa Date: Mon, 24 Apr 2023 21:42:19 +0200 Subject: [PATCH 27/68] graylog: let the user decide which version of graylog to use --- nixos/modules/services/logging/graylog.nix | 4 ++-- pkgs/tools/misc/graylog/plugins.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/logging/graylog.nix b/nixos/modules/services/logging/graylog.nix index 70c3ca50888c..1eb51c50ff79 100644 --- a/nixos/modules/services/logging/graylog.nix +++ b/nixos/modules/services/logging/graylog.nix @@ -37,8 +37,8 @@ in package = mkOption { type = types.package; - default = pkgs.graylog; - defaultText = literalExpression "pkgs.graylog"; + default = if versionOlder config.system.stateVersion "23.05" then pkgs.graylog-3_3 else pkgs.graylog-5_0; + defaultText = literalExpression (if versionOlder config.system.stateVersion "23.05" then "pkgs.graylog-3_3" else "pkgs.graylog-5_0"); description = lib.mdDoc "Graylog package to use."; }; diff --git a/pkgs/tools/misc/graylog/plugins.nix b/pkgs/tools/misc/graylog/plugins.nix index 9edf81f63629..205576584581 100644 --- a/pkgs/tools/misc/graylog/plugins.nix +++ b/pkgs/tools/misc/graylog/plugins.nix @@ -17,7 +17,7 @@ let dontUnpack = true; nativeBuildInputs = [ unzip ]; meta = a.meta // { - platforms = graylog.meta.platforms; + platforms = graylog-5_0.meta.platforms; maintainers = (a.meta.maintainers or []) ++ [ maintainers.fadenb ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; From 217633348b08a5c6e49ced153a06dd8959dc7f96 Mon Sep 17 00:00:00 2001 From: natsukium Date: Mon, 1 May 2023 13:16:52 +0900 Subject: [PATCH 28/68] shikane: init at 0.2.0 --- pkgs/tools/wayland/shikane/default.nix | 45 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/tools/wayland/shikane/default.nix diff --git a/pkgs/tools/wayland/shikane/default.nix b/pkgs/tools/wayland/shikane/default.nix new file mode 100644 index 000000000000..229217d0ac23 --- /dev/null +++ b/pkgs/tools/wayland/shikane/default.nix @@ -0,0 +1,45 @@ +{ lib +, rustPlatform +, fetchFromGitLab +, installShellFiles +, pandoc +}: + +rustPlatform.buildRustPackage rec { + pname = "shikane"; + version = "0.2.0"; + + src = fetchFromGitLab { + owner = "w0lff"; + repo = "shikane"; + rev = "v${version}"; + hash = "sha256-S55elFZQT234fKlISFi21QJtnf2yB0O2u2vSNFhzgBg="; + }; + + cargoHash = "sha256-4wisXVaZa2GBFKywl48beQgg4c+lawL3L/837ZU1Y94="; + + nativeBuildInputs = [ + installShellFiles + pandoc + ]; + + postBuild = '' + bash ./scripts/build-docs.sh man + ''; + + postInstall = '' + installManPage ./build/shikane.* + ''; + + # upstream has no tests + doCheck = false; + + meta = with lib; { + description = "A dynamic output configuration tool that automatically detects and configures connected outputs based on a set of profiles"; + homepage = "https://gitlab.com/w0lff/shikane"; + changelog = "https://gitlab.com/w0lff/shikane/-/tags/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ michaelpachec0 natsukium ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c3fed8944d36..c6720ab36654 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4279,6 +4279,8 @@ with pkgs; oguri = callPackage ../tools/wayland/oguri { }; + shikane = callPackage ../tools/wayland/shikane { }; + shotman = callPackage ../tools/wayland/shotman { }; slurp = callPackage ../tools/wayland/slurp { }; From e6d4b3b10191a42e5dd5ad51079a9d7e45c72a00 Mon Sep 17 00:00:00 2001 From: ngerstle Date: Sat, 6 May 2023 20:36:20 +0200 Subject: [PATCH 29/68] keycloak-metrics-spi: 2.5.3 -> 3.0.0 Version increase: compatible with keycloak 21 changelog: feat: adds support for Keycloak 21 (thanks @ghenadiibatalski ) fix: realm names are now shown again instead of ids (thanks @diversit ) other fixes and improvements (thanks @claudiunicolaa , @douph1 , @uberspot) --- pkgs/servers/keycloak/keycloak-metrics-spi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix index b388e20aa1b1..e8d917fea3bd 100644 --- a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix +++ b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "keycloak-metrics-spi"; - version = "2.5.3"; + version = "3.0.0"; src = fetchurl { url = "https://github.com/aerogear/keycloak-metrics-spi/releases/download/${version}/keycloak-metrics-spi-${version}.jar"; - sha256 = "15lsy8wjw6nlfdfhllc45z9l5474p0lsghrwzzsssvd68bw54gwv"; + sha256 = "1r06xjnvd7wxl64jqpms6jnl4csfwigb9n9lxcjpkgh2jzfs43sp"; }; dontUnpack = true; From 8028e8ae73a9024faa0a00e42924e6e4f9e49484 Mon Sep 17 00:00:00 2001 From: ngerstle Date: Sat, 6 May 2023 20:37:13 +0200 Subject: [PATCH 30/68] keycloak: 20.0.5 -> 21.1.1 Version increase: see https://www.keycloak.org/docs/latest/release_notes/index.html#keycloak-21-0-0 for details and breaking changes. --- pkgs/servers/keycloak/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix index 0f956cf8d78b..714aa674cc9a 100644 --- a/pkgs/servers/keycloak/default.nix +++ b/pkgs/servers/keycloak/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "keycloak"; - version = "20.0.5"; + version = "21.1.1"; src = fetchzip { url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip"; - hash = "sha256-4h3q9J1+KufMaSuzbX9qaBwXPR8zhVpxQAXDBY3uPjM="; + hash = "sha256-ZX5UKjU9BEtO/uA25WhSUmeO6jQ1FpKF1irFx2fwPBU="; }; nativeBuildInputs = [ makeWrapper jre ]; From f3f709af742fa6a78fb6bf76b4ab1614144236cd Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sat, 13 May 2023 17:52:40 +0100 Subject: [PATCH 31/68] nixos/vikunja: add 'port' option --- nixos/modules/services/web-apps/vikunja.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/vikunja.nix b/nixos/modules/services/web-apps/vikunja.nix index c3552200d4e5..8bc8e8c29259 100644 --- a/nixos/modules/services/web-apps/vikunja.nix +++ b/nixos/modules/services/web-apps/vikunja.nix @@ -56,6 +56,11 @@ in { type = types.str; description = lib.mdDoc "The Hostname under which the frontend is running."; }; + port = mkOption { + type = types.port; + default = 3456; + description = lib.mdDoc "The TCP port exposed by the API."; + }; settings = mkOption { type = format.type; @@ -101,6 +106,7 @@ in { inherit (cfg.database) type host user database path; }; service = { + interface = ":${toString cfg.port}"; frontendurl = "${cfg.frontendScheme}://${cfg.frontendHostname}/"; }; files = { @@ -132,7 +138,7 @@ in { tryFiles = "try_files $uri $uri/ /"; }; "~* ^/(api|dav|\\.well-known)/" = { - proxyPass = "http://localhost:3456"; + proxyPass = "http://localhost:${toString cfg.port}"; extraConfig = '' client_max_body_size 20M; ''; From b981ba288c463ea8e0f2d476e3bd8a9525e15d39 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sat, 13 May 2023 17:55:42 +0100 Subject: [PATCH 32/68] nixos/vikunja: test 'port' option --- nixos/tests/vikunja.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/tests/vikunja.nix b/nixos/tests/vikunja.nix index 2f6c4c1f4661..2660aa9767ca 100644 --- a/nixos/tests/vikunja.nix +++ b/nixos/tests/vikunja.nix @@ -26,6 +26,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { }; frontendScheme = "http"; frontendHostname = "localhost"; + port = 9090; }; services.postgresql = { enable = true; @@ -52,8 +53,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { vikunjaSqlite.succeed("curl --fail http://localhost") vikunjaPostgresql.wait_for_unit("vikunja-api.service") - vikunjaPostgresql.wait_for_open_port(3456) - vikunjaPostgresql.succeed("curl --fail http://localhost:3456/api/v1/info") + vikunjaPostgresql.wait_for_open_port(9090) + vikunjaPostgresql.succeed("curl --fail http://localhost:9090/api/v1/info") vikunjaPostgresql.wait_for_unit("nginx.service") vikunjaPostgresql.wait_for_open_port(80) From d0c183ac29e095f63baf5b914795c6f82457b20d Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 13 May 2023 13:03:20 -0400 Subject: [PATCH 33/68] orogene: init at 0.3.25 https://github.com/orogene/orogene --- .../tools/misc/orogene/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/tools/misc/orogene/default.nix diff --git a/pkgs/development/tools/misc/orogene/default.nix b/pkgs/development/tools/misc/orogene/default.nix new file mode 100644 index 000000000000..242e00816b4b --- /dev/null +++ b/pkgs/development/tools/misc/orogene/default.nix @@ -0,0 +1,47 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, openssl +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "orogene"; + version = "0.3.25"; + + src = fetchFromGitHub { + owner = "orogene"; + repo = "orogene"; + rev = "v${version}"; + hash = "sha256-QQhlkTg14nPYQvKYoZf07PjknTZZRUTzBzNFJeovny8="; + fetchSubmodules = true; + }; + + cargoHash = "sha256-uxW196f/PEVxGHmZ7hUyvaIz1OD1XmyVEuwk8Hdvsvs="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + preCheck = '' + export CI=true + export HOME=$(mktemp -d) + ''; + + meta = with lib; { + description = "A package manager for tools that use node_modules"; + homepage = "https://github.com/orogene/orogene"; + changelog = "https://github.com/orogene/orogene/blob/${src.rev}/CHANGELOG.md"; + license = with licenses; [ asl20 isc ]; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "oro"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31f0b43c721f..c3fffa43515b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23222,6 +23222,8 @@ with pkgs; orcania = callPackage ../development/libraries/orcania { }; + orogene = callPackage ../development/tools/misc/orogene { }; + osm-gps-map = callPackage ../development/libraries/osm-gps-map { }; osmid = callPackage ../applications/audio/osmid { }; From 9b9eaf0208516f4f72ad64b2c6d8e672ccf480d1 Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Tue, 9 May 2023 00:54:45 +0300 Subject: [PATCH 34/68] insync: superceded by insync-v3 --- .../networking/insync/default.nix | 75 ++++++++++++++----- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 57 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix index 0c96262fff67..933d2288069a 100644 --- a/pkgs/applications/networking/insync/default.nix +++ b/pkgs/applications/networking/insync/default.nix @@ -1,34 +1,73 @@ -{ lib, stdenv, fetchurl, makeWrapper, autoPatchelfHook }: +{ stdenv +, lib +, fetchurl +, makeWrapper +, dpkg +, libxcb +, libGL +, nss +, libthai +, wayland +, alsa-lib +, qtvirtualkeyboard +, qtwebchannel +, qtwebsockets +, qtlocation +, qtwebengine +, autoPatchelfHook +, wrapQtAppsHook +}: stdenv.mkDerivation rec { pname = "insync"; - version = "1.5.7.37371"; - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2"; - sha256 = "1cm3q6y2crw6pcsvh21sbkmh1hin7xl4fyslc96nbyql8rxsky5n"; - } - else - throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; + version = "3.3.5.40925"; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + src = fetchurl { + url = "http://s.insynchq.com/builds/${pname}_${version}-focal_amd64.deb"; + sha256 = "sha256-lYlG/8d7teX98F5eDxm4EdBfFs7Sz3Td4kKLC6KZqnQ="; + }; postPatch = '' - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable + substituteInPlace usr/bin/insync --replace /usr/lib/insync $out/usr/lib/insync + ''; + + buildInputs = [ + alsa-lib + libGL + libthai + libxcb + nss + qtlocation + qtvirtualkeyboard + qtwebchannel + qtwebengine + qtwebsockets + wayland + ]; + + nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapQtAppsHook ]; + + unpackPhase = '' + dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner ''; installPhase = '' - mkdir -p $out/bin - cp -a client $out/client - makeWrapper $out/client/insync-portable $out/bin/insync --set LC_TIME C + mkdir -p $out/bin $out/lib $out/share + cp -R usr/* $out/ + rm $out/lib/insync/libGLX.so.0 + rm $out/lib/insync/libQt5* + sed -i 's|/usr/lib/insync|/lib/insync|' "$out/bin/insync" + wrapQtApp "$out/lib/insync/insync" ''; - meta = { + dontConfigure = true; + dontBuild = true; + + meta = with lib; { platforms = ["x86_64-linux"]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = lib.licenses.unfree; - maintainers = [ ]; + license = licenses.unfree; + maintainers = with maintainers; [ ]; homepage = "https://www.insynchq.com"; description = "Google Drive sync and backup with multiple account support"; longDescription = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 33dc02ea20ce..abd3cf711ffe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33891,8 +33891,6 @@ with pkgs; insync = callPackage ../applications/networking/insync { }; - insync-v3 = libsForQt5.callPackage ../applications/networking/insync/v3.nix { }; - libstrangle = callPackage ../tools/X11/libstrangle { stdenv = stdenv_32bit; }; From 7a6a78c9700cf0205975ae07e0b04c2e3442fc8c Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Tue, 9 May 2023 00:54:59 +0300 Subject: [PATCH 35/68] insync-v3: remove insync-v3 has been merged into the insync package; use insync instead. --- pkgs/applications/networking/insync/v3.nix | 82 ---------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 82 deletions(-) delete mode 100644 pkgs/applications/networking/insync/v3.nix diff --git a/pkgs/applications/networking/insync/v3.nix b/pkgs/applications/networking/insync/v3.nix deleted file mode 100644 index b121b1c1ec5e..000000000000 --- a/pkgs/applications/networking/insync/v3.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ stdenv -, lib -, fetchurl -, makeWrapper -, dpkg -, libxcb -, libGL -, nss -, libthai -, wayland -, alsa-lib -, qtvirtualkeyboard -, qtwebchannel -, qtwebsockets -, qtlocation -, qtwebengine -, autoPatchelfHook -, wrapQtAppsHook -}: - -stdenv.mkDerivation rec { - pname = "insync"; - version = "3.8.5.50499"; - - src = fetchurl { - url = "https://cdn.insynchq.com/builds/linux/${pname}_${version}-focal_amd64.deb"; - hash = "sha256-CtDwU0Cey12kDjEX+Y9x7pfKNARfKDopWsDVRaA1Zts="; - }; - - postPatch = '' - substituteInPlace usr/bin/insync --replace /usr/lib/insync $out/usr/lib/insync - ''; - - buildInputs = [ - alsa-lib - libGL - libthai - libxcb - nss - qtlocation - qtvirtualkeyboard - qtwebchannel - qtwebengine - qtwebsockets - wayland - ]; - - nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapQtAppsHook ]; - - unpackPhase = '' - dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner - ''; - - installPhase = '' - mkdir -p $out/bin $out/lib $out/share - cp -R usr/* $out/ - rm $out/lib/insync/libGLX.so.0 - rm $out/lib/insync/libQt5* - sed -i 's|/usr/lib/insync|/lib/insync|' "$out/bin/insync" - wrapQtApp "$out/lib/insync/insync" - ''; - - dontConfigure = true; - dontBuild = true; - - meta = with lib; { - platforms = ["x86_64-linux"]; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - maintainers = with maintainers; [ ]; - homepage = "https://www.insynchq.com"; - description = "Google Drive sync and backup with multiple account support"; - longDescription = '' - Insync is a commercial application that syncs your Drive files to your - computer. It has more advanced features than Google's official client - such as multiple account support, Google Doc conversion, symlink support, - and built in sharing. - - There is a 15-day free trial, and it is a paid application after that. - ''; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ad5ee363d675..057b2579835a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -714,6 +714,7 @@ mapAliases ({ imagemagick7_light = imagemagick_light; # Added 2021-02-22 imlib = throw "imlib has been dropped due to the lack of maintenance from upstream since 2004"; # Added 2023-01-04 impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27 + insync-v3 = throw "insync-v3 has been merged into the insync package; use insync instead"; #Added 2023-05-13 i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21 inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped"; index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17 From 11b967964222e17ea69e33bab13d1bba7156d7bc Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Tue, 9 May 2023 00:56:01 +0300 Subject: [PATCH 36/68] insync: 3.3.5.40925 -> 3.8.5.50499 - Simplified packaging process: - Use as much vendor provided binaries as possible. - Only replace glibc with system provided ones (2.36+ required, hence nixos 22.11 is out). - Use buildFHSEnv to create FHS environment to run insync in. Known bug(s): 1) Currently the system try icon does not render correctly. 2) libqtvirtualkeyboardplugin does not have necessary Qt library shipped from vendor. --- .../networking/insync/default.nix | 152 ++++++++++-------- 1 file changed, 89 insertions(+), 63 deletions(-) diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix index 933d2288069a..6269502ba87d 100644 --- a/pkgs/applications/networking/insync/default.nix +++ b/pkgs/applications/networking/insync/default.nix @@ -1,73 +1,26 @@ -{ stdenv -, lib +{ lib +, writeShellScript +, buildFHSEnv +, stdenv , fetchurl -, makeWrapper -, dpkg -, libxcb -, libGL -, nss -, libthai -, wayland -, alsa-lib -, qtvirtualkeyboard -, qtwebchannel -, qtwebsockets -, qtlocation -, qtwebengine , autoPatchelfHook -, wrapQtAppsHook +, dpkg +, nss +, libvorbis +, libdrm +, libGL +, wayland +, libthai }: -stdenv.mkDerivation rec { +let pname = "insync"; - version = "3.3.5.40925"; - - src = fetchurl { - url = "http://s.insynchq.com/builds/${pname}_${version}-focal_amd64.deb"; - sha256 = "sha256-lYlG/8d7teX98F5eDxm4EdBfFs7Sz3Td4kKLC6KZqnQ="; - }; - - postPatch = '' - substituteInPlace usr/bin/insync --replace /usr/lib/insync $out/usr/lib/insync - ''; - - buildInputs = [ - alsa-lib - libGL - libthai - libxcb - nss - qtlocation - qtvirtualkeyboard - qtwebchannel - qtwebengine - qtwebsockets - wayland - ]; - - nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapQtAppsHook ]; - - unpackPhase = '' - dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner - ''; - - installPhase = '' - mkdir -p $out/bin $out/lib $out/share - cp -R usr/* $out/ - rm $out/lib/insync/libGLX.so.0 - rm $out/lib/insync/libQt5* - sed -i 's|/usr/lib/insync|/lib/insync|' "$out/bin/insync" - wrapQtApp "$out/lib/insync/insync" - ''; - - dontConfigure = true; - dontBuild = true; - + version = "3.8.5.50499"; meta = with lib; { platforms = ["x86_64-linux"]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ hellwolf ]; homepage = "https://www.insynchq.com"; description = "Google Drive sync and backup with multiple account support"; longDescription = '' @@ -77,8 +30,81 @@ stdenv.mkDerivation rec { and built in sharing. There is a 15-day free trial, and it is a paid application after that. + + Known bug(s): + + 1) Currently the system try icon does not render correctly. + 2) libqtvirtualkeyboardplugin does not have necessary Qt library shipped from vendor. ''; - # download URL removed - broken = true; }; + insync-pkg = stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + # Find a binary from https://www.insynchq.com/downloads/linux#ubuntu. + url = "https://cdn.insynchq.com/builds/linux/${pname}_${version}-lunar_amd64.deb"; + sha256 = "sha256-mpMJe8LAmO9OrqRIEWuxfVNeh5ANvjZIEHFz8cXYObY="; + }; + + buildInputs = [ + nss + libvorbis + libdrm + libGL + wayland + libthai + ]; + + nativeBuildInputs = [ autoPatchelfHook dpkg ]; + + unpackPhase = '' + dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib $out/share + cp -R usr/* $out/ + + # use system glibc + rm -f $out/lib/insync/{libgcc_s.so.1,libstdc++.so.6} + + # remove badly packaged plugins + rm $out/lib/insync/PySide2/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so + + runHook postInstall + ''; + + dontConfigure = true; + dontBuild = true; + + # NB! This did the trick, otherwise it segfaults! However I don't understand why! + dontStrip = true; + + inherit meta; + }; +in buildFHSEnv { # ref: pkgs/build-support/build-fhsenv-bubblewrap/default.nix + name = "${pname}-${version}"; + inherit meta; + + # for including insync's xdg data dirs + extraOutputsToInstall = [ "share" ]; + + targetPkgs = pkgs: [ + insync-pkg + ]; + + multiPkgs = pkgs: with pkgs; [ + # apparently only package needed for the FHS :) + libudev0-shim + ]; + + runScript = writeShellScript "insync-wrapper.sh" '' + # QT_STYLE_OVERRIDE was used to suppress a QT warning, it should have no actual effect for this binary. + export QT_STYLE_OVERRIDE=Fusion + exec "${insync-pkg.outPath}/lib/insync/insync" "$@" + ''; + # "insync start" command starts a daemon. + dieWithParent = false; } From 17d4034e89f418108837af481e043586a0e44568 Mon Sep 17 00:00:00 2001 From: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com> Date: Sat, 13 May 2023 21:32:09 +0100 Subject: [PATCH 37/68] texlive: unpack and expose useful tlpkg/ content --- .../tools/typesetting/tex/texlive/combine.nix | 53 ++++++++++++------- .../tools/typesetting/tex/texlive/default.nix | 33 +++++++----- .../typesetting/tex/texlive/fixedHashes.nix | 10 ++++ pkgs/tools/typesetting/tex/texlive/tl2nix.sed | 30 +++++++++-- pkgs/tools/typesetting/tex/texlive/tlpdb.nix | 18 ++++++- 5 files changed, 106 insertions(+), 38 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 95c297650483..540ac10cfc52 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -15,13 +15,15 @@ let ]; }; pkgList = rec { - all = lib.filter pkgFilter (combinePkgs (lib.attrValues pkgSet)); + combined = combinePkgs (lib.attrValues pkgSet); + all = lib.filter pkgFilter combined; splitBin = builtins.partition (p: p.tlType == "bin") all; bin = splitBin.right ++ lib.optional (lib.any (p: p.tlType == "run" && p.pname == "pdfcrop") splitBin.wrong) (lib.getBin ghostscript); nonbin = splitBin.wrong; + tlpkg = lib.filter (pkg: pkg.tlType == "tlpkg") combined; # extra interpreters needed for shebangs, based on 2015 schemes "medium" and "tetex" # (omitted tk needed in pname == "epspdf", bin/epspdftk) @@ -35,11 +37,8 @@ let name = "texlive-${extraName}-${bin.texliveYear}${extraVersion}"; - texmfroot = (buildEnv { - name = "${name}-texmfroot"; - - # the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist (e.g. fmtutil, updmap look for perl modules there) - extraPrefix = "/texmf-dist"; + texmfdist = (buildEnv { + name = "${name}-texmfdist"; # remove fake derivations (without 'outPath') to avoid undesired build dependencies paths = lib.catAttrs "outPath" pkgList.nonbin; @@ -48,16 +47,32 @@ let postBuild = # generate ls-R database '' - perl -I "${bin.core.out}/share/texmf-dist/scripts/texlive" \ - -- "$out/texmf-dist/scripts/texlive/mktexlsr.pl" --sort "$out"/texmf-dist + perl "$out/scripts/texlive/mktexlsr.pl" --sort "$out" ''; }).overrideAttrs (_: { allowSubstitutes = true; }); + tlpkg = (buildEnv { + name = "${name}-tlpkg"; + + # remove fake derivations (without 'outPath') to avoid undesired build dependencies + paths = lib.catAttrs "outPath" pkgList.tlpkg; + }).overrideAttrs (_: { allowSubstitutes = true; }); + + # the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist + # and sometimes look into $TEXMFROOT/tlpkg (notably fmtutil, updmap look for perl modules in both) + texmfroot = runCommand "${name}-texmfroot" { + inherit texmfdist tlpkg; + } '' + mkdir -p "$out" + ln -s "$texmfdist" "$out"/texmf-dist + ln -s "$tlpkg" "$out"/tlpkg + ''; + # expose info and man pages in usual /share/{info,man} location doc = buildEnv { name = "${name}-doc"; - paths = [ (texmfroot.outPath + "/texmf-dist/doc") ]; + paths = [ (texmfdist.outPath + "/doc") ]; extraPrefix = "/share"; pathsToLink = [ @@ -76,6 +91,9 @@ in (buildEnv { paths = lib.catAttrs "outPath" pkgList.bin ++ [ doc ]; pathsToLink = [ "/" + "/share/texmf-var/scripts" + "/share/texmf-var/tex/generic/config" + "/share/texmf-var/web2c" "/bin" # ensure these are writeable directories ]; @@ -91,9 +109,8 @@ in (buildEnv { postBuild = '' TEXMFROOT="${texmfroot}" - TEXMFDIST="${texmfroot}/texmf-dist" + TEXMFDIST="${texmfdist}" export PATH="$out/bin:$PATH" - export PERL5LIB="${bin.core.out}/share/texmf-dist/scripts/texlive" # modules otherwise found in tlpkg/ of texlive.infra TEXMFSYSCONFIG="$out/share/texmf-config" TEXMFSYSVAR="$out/share/texmf-var" export TEXMFCNF="$TEXMFSYSVAR/web2c" @@ -199,7 +216,6 @@ in (buildEnv { rm "$link" makeWrapper "$target" "$link" \ --prefix PATH : "${gnused}/bin:${gnugrep}/bin:${coreutils}/bin:$out/bin:${perl}/bin" \ - --prefix PERL5LIB : "$PERL5LIB" \ --set-default TEXMFCNF "$TEXMFCNF" \ --set-default FONTCONFIG_FILE "${ # neccessary for XeTeX to find the fonts distributed with texlive @@ -235,13 +251,15 @@ in (buildEnv { # texlive post-install actions '' ln -sf "$TEXMFDIST"/scripts/texlive/updmap.pl "$out"/bin/updmap + ln -sf "$TEXMFDIST"/scripts/texlive/fmtutil.pl "$out"/bin/fmtutil '' + # now hack to preserve "$0" for mktexfmt '' - cp "$TEXMFDIST"/scripts/texlive/fmtutil.pl "$out/bin/fmtutil" - patchShebangs "$out/bin/fmtutil" - ln -sf fmtutil "$out/bin/mktexfmt" - + cp "$TEXMFDIST"/scripts/texlive/fmtutil.pl "$TEXMFSYSVAR"/scripts/mktexfmt + ln -sf "$TEXMFSYSVAR"/scripts/mktexfmt "$out"/bin/mktexfmt + '' + + # generate formats + '' texlinks "$out/bin" && wrapBin # many formats still ignore SOURCE_DATE_EPOCH even when FORCE_SOURCE_DATE=1 @@ -250,7 +268,7 @@ in (buildEnv { # https://salsa.debian.org/live-team/live-build/-/blob/master/examples/hooks/reproducible/2006-reproducible-texlive-binaries-fmt-files.hook.chroot#L52 # note that calling faketime and fmtutil is fragile (faketime uses LD_PRELOAD, fmtutil calls /bin/sh, causing potential glibc issues on non-NixOS) # so we patch fmtutil to use faketime, rather than calling faketime fmtutil - substitute "$out/bin/fmtutil" fmtutil \ + substitute "$TEXMFDIST"/scripts/texlive/fmtutil.pl fmtutil \ --replace 'my $cmdline = "$eng -ini ' 'my $cmdline = "faketime -f '"'"'\@1980-01-01 00:00:00 x0.001'"'"' $eng -ini ' FORCE_SOURCE_DATE=1 TZ= perl fmtutil --sys --all | grep '^fmtutil' # too verbose #texlinks "$out/bin" && wrapBin # do we need to regenerate format links? @@ -280,7 +298,6 @@ in (buildEnv { # * ./bin/repstopdf needs to be a symlink to be processed by wrapBin '' if [[ -e "$out"/bin/epstopdf ]]; then - mkdir -p "$TEXMFSYSVAR/scripts" cp "$out"/bin/epstopdf "$TEXMFSYSVAR"/scripts/repstopdf ln -s "$TEXMFSYSVAR"/scripts/repstopdf "$out"/bin/repstopdf fi diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index a5cc1eb8e271..ec0c79ab1ab5 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -23,7 +23,7 @@ let # function for creating a working environment from a set of TL packages combine = import ./combine.nix { - inherit bin combinePkgs buildEnv lib makeWrapper writeText + inherit bin combinePkgs buildEnv lib makeWrapper writeText runCommand stdenv python3 ruby perl gnused gnugrep coreutils libfaketime makeFontsConf; ghostscript = ghostscript_headless; }; @@ -39,9 +39,8 @@ let overridden = orig // { # overrides of texlive.tlpdb - texlive-msg-translations = orig.texlive-msg-translations // { - hasRunfiles = false; # only *.po for tlmgr - }; + # only *.po for tlmgr + texlive-msg-translations = builtins.removeAttrs orig.texlive-msg-translations [ "hasTlpkg" ]; xdvi = orig.xdvi // { # it seems to need it to transform fonts deps = (orig.xdvi.deps or []) ++ [ "metafont" ]; @@ -82,8 +81,6 @@ let }; # overrides in lib.mapAttrs mkTLPkg overridden; - # TODO: texlive.infra for web2c config? - # create a TeX package: an attribute set { pkgs = [ ... ]; ... } where pkgs is a list of derivations mkTLPkg = pname: attrs: @@ -91,12 +88,12 @@ let version = attrs.version or (toString attrs.revision); mkPkgV = tlType: let pkg = attrs // { - sha512 = attrs.sha512.${tlType}; + sha512 = attrs.sha512.${if tlType == "tlpkg" then "run" else tlType}; inherit pname tlType version; }; in mkPkg pkg; in { - # TL pkg contains lists of packages: runtime files, docs, sources, binaries + # TL pkg contains lists of packages: runtime files, docs, sources, tlpkg, binaries pkgs = # tarball of a collection/scheme itself only contains a tlobj file [( if (attrs.hasRunfiles or false) then mkPkgV "run" @@ -111,6 +108,7 @@ let )] ++ lib.optional (attrs.sha512 ? doc) (mkPkgV "doc") ++ lib.optional (attrs.sha512 ? source) (mkPkgV "source") + ++ lib.optional (attrs.hasTlpkg or false) (mkPkgV "tlpkg") ++ lib.optional (bin ? ${pname}) ( bin.${pname} // { tlType = "bin"; } ); }; @@ -161,8 +159,8 @@ let mkPkg = { pname, tlType, revision, version, sha512, postUnpack ? "", stripPrefix ? 1, ... }@args: let # the basename used by upstream (without ".tar.xz" suffix) - urlName = pname + lib.optionalString (tlType != "run") ".${tlType}"; - tlName = urlName + "-${version}"; + urlName = pname + lib.optionalString (tlType != "run" && tlType != "tlpkg") ".${tlType}"; + tlName = urlName + lib.optionalString (tlType == "tlpkg") ".tlpkg" + "-${version}"; fixedHash = fixedHashes.${tlName} or null; # be graceful about missing hashes urls = args.urls or (if args ? url then [ args.url ] else @@ -171,7 +169,7 @@ let in runCommand "texlive-${tlName}" ( { src = fetchurl { inherit urls sha512; }; - inherit stripPrefix; + inherit stripPrefix tlType; # metadata for texlive.combine passthru = { inherit pname tlType version; @@ -189,9 +187,16 @@ let ) ( '' mkdir "$out" - tar -xf "$src" \ - --strip-components="$stripPrefix" \ - -C "$out" --anchored --exclude=tlpkg --keep-old-files + if [[ "$tlType" == "tlpkg" ]]; then + tar -xf "$src" \ + --strip-components=1 \ + -C "$out" --anchored --exclude=tlpkg/tlpobj --exclude=tlpkg/installer --exclude=tlpkg/gpg --keep-old-files \ + tlpkg + else + tar -xf "$src" \ + --strip-components="$stripPrefix" \ + -C "$out" --anchored --exclude=tlpkg --keep-old-files + fi '' + postUnpack ); diff --git a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix index 266800a03bb6..2236d169cce8 100644 --- a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix +++ b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix @@ -1,4 +1,7 @@ { +"texlive.infra-63645"="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844"; +"texlive.infra.doc-63645"="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4"; +"texlive.infra.tlpkg-63645"="135cgamyq6dnffa7r8xvyr8krx65gqdgy88v3wwprqwz4dfhvzpi"; "amsfonts-3.04"="0l3ypclhv5qdpcpy29xwda2m3cjfn5l996agas6yhpdr2m58q211"; "amsfonts.doc-3.04"="1v7chx5rvvqmcf7j35qi55wxwxkbfkbv34b15yrgn6bflniziicm"; "amsfonts.source-3.04"="064gndy9lnmsq2srw5hh97sbdk8gk0qv9zzki00ms3c6rzhd9sjl"; @@ -12,6 +15,7 @@ "colorprofiles.doc-20181105"="152vrbm5km4ymj5h41x8cjyypj06g4xq3vyvmgakai9qz270dvyz"; "dvipdfmx-61101"="0i83g2476bp3zfgdvg11kmls969ip36z1d4w592946547ar2akmv"; "dvipdfmx.doc-61101"="04zmlbpiclcd6bsxzq2xcssrbnla9wxvw4fx4p52lkija91qv848"; +"dvipdfmx.tlpkg-61101"="1b9wcx70n7dip0yhp7sh3j4g0rkwg03w6hr2mav07219kp0bw75k"; "glyphlist-54074"="12nmmyh77vr2622lzi11nm1z1k2bxs7jz018yl4rwjlpg0sxg1ja"; "dvips-62387"="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw"; "dvips.doc-62387"="0cf5rdlg25lvyk7vzhyxnwfbgb5ngm8z4kzvj2y0hhq9jz9szpyj"; @@ -65,8 +69,10 @@ "texlive-en.doc-65770"="05i4ggfi558frkjhxrrkjzd3x8ff1zm2qk056a23v736a5hg9y2m"; "texlive-scripts-66570"="0hl1vjr4hr7q7s2pvizicmabb185df5rl84cjsz0ki7vai5mh7pq"; "texlive-scripts.doc-66570"="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj"; +"texlive-scripts.tlpkg-66570"="0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; "tlshell-62795"="06zjawsk91jknic542k9gw74pdfb1lv2iil09rpv9fw2i58lxsg9"; "tlshell.doc-62795"="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz"; +"tlshell.tlpkg-62795"="0zvpmmf9dnjz64adb4dn615qyd1d09hqj2kvm898009697r20lh7"; "aaai-named-52470"="1xs2iki0v1mh0kbqjxnv9r24bcfmgj6myfw7h368h8g0s1n8d5v6"; "aichej-15878"="1pr92pq3yjsrbax6ah01cqg7131fp2rkqqjnxwcrm4119z2ic0gf"; "ajl-34016"="1xkrvy06lw4ngj94zybs14ysal2pg7g71h864gq9bjw0zwq2yjzs"; @@ -847,6 +853,7 @@ "stmaryrd.source-22027"="1wmn7bwahn28lwipkpsla74wn3a018808rmh7yvxdkbxfbzcwqcz"; "xetex-62387"="09124rd2k40dihk4c1pidkd44rvhv1b0ain1bfk5ry1032ky7wly"; "xetex.doc-62387"="1zj2mwi7rlibadwy42f1jkgzni6wvz01rwd5d7w48x00sjxhckxj"; +"xetex.tlpkg-62387"="01xia61wywddd2aa8xv703z1fb6sz4n13gvpbk7kync4dmki8v48"; "xetexconfig-45845"="1253njshiwdayzq0xir9cmbi8syhjb3sc4pyrw9p6kzyqvckkcxm"; "context-account-47085"="1j1rvgcznn8c637dayxpdagpwjq6fbn52sjmrb0wn4gd4b4q3nk8"; "context-account.doc-47085"="0lfx6aa235jx7sz27qh0328n68ra3z2bw3dsh5p2wzkg1wxbaa6g"; @@ -2888,6 +2895,7 @@ "gentombow.doc-64333"="0vqfamrsy4r1wqly1196cq2w69wydzzw09y3jg5llvyh95a6dp0i"; "haranoaji-20230223"="1vfk6bh62pkmf961qlj1f0gv4yggp6sadjr141h8905wf5980m46"; "haranoaji.doc-20230223"="1phy7r81z2wykymzsscvgk0211w1lwjjn946mpzdw97vskx1v2f3"; +"haranoaji.tlpkg-20230223"="0l9jczs7kyml3i79idyzxsmla443zaxl5fm2k7dmg5qpc30kzmaw"; "haranoaji-extra-20230223"="0j34fizmxvalvw4vssx9fm8ik2lg0nhv1saq9xbrd1pymjkavnv8"; "haranoaji-extra.doc-20230223"="0izf929g5fwzgyb9piagjjjn87rq4dj6qy3j873q4cflqd9avdns"; "ieejtran-0.19"="07y254kl5wanv7d2jyzhwlf5z6n542217f5n7gdyrm4jryzhb0ly"; @@ -2935,9 +2943,11 @@ "ptex-fontmaps-20210625.0"="0f6cijbr26jjnba7g5ffyh8pb0aihdfv094yyxhrp2wlf93ca4jg"; "ptex-fontmaps.doc-20210625.0"="00lx6cv5sb039k3wzjsq92q9x6a2q6l96khmj6rc0l06xva4j6am"; "ptex-fontmaps.source-20210625.0"="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n"; +"ptex-fontmaps.tlpkg-20210625.0"="0znid3c8bpw7acfi4hj14gabs44ywfmcz88x8vya1vzs9mzsiqbj"; "ptex-manual.doc-62915"="0zwmig2h7ma853lqnl845mxw6512x663y16q9vdd93ci5k94dlf1"; "ptex2pdf-20200520.0"="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl"; "ptex2pdf.doc-20200520.0"="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4"; +"ptex2pdf.tlpkg-20200520.0"="0413ifnbmmp6awmpbfa6vm31lfqzxhli49dfd5gnw8r8ny5k1jhy"; "pxbase-1.4"="0nlnlzpbd2dd397lxxg97pgaagfyb00ygrd6dz0v3gkmpwllnkvf"; "pxbase.doc-1.4"="1kjkqsbrsiwzz6szjm2irz6ijy9q5xnjimdhhv52xk0j46hyiphf"; "pxchfon-1.9a"="1g1xxx5imyhpblbvwpb86fw3as6mfcxq7ay2vjjn8ydixmx30pnz"; diff --git a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed index 31194565cfef..c4317a7aea93 100644 --- a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed +++ b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed @@ -15,10 +15,10 @@ $a} # form an attrmap per package # ignore packages whose name contains "." (such as binaries) -/^name ([^.]+)$/,/^$/{ +:next-package +/^name ([^.]+|texlive\.infra)$/,/^$/{ # quote package names, as some start with a number :-/ s/^name (.*)$/"\1" = {/p - /^$/,1i}; # extract revision s/^revision ([0-9]*)$/ revision = \1;/p @@ -27,7 +27,6 @@ $a} s/^containerchecksum (.*)/ sha512.run = "\1";/p s/^doccontainerchecksum (.*)/ sha512.doc = "\1";/p s/^srccontainerchecksum (.*)/ sha512.source = "\1";/p - /^runfiles /i\ hasRunfiles = true; # number of path components to strip, defaulting to 1 ("texmf-dist/") /^relocated 1/i\ stripPrefix = 0; @@ -44,16 +43,37 @@ $a} # loop through following depend lines :next h ; N # save & read next line - s/\ndepend (.+)\.(.+)$// - s/\ndepend (.+)$/\n "\1"/ + s/\ndepend ([^.]+|texlive\.infra)$/\n "\1"/ + s/\ndepend (.+)$// t next # loop if the previous lines matched x; s/$/\n ];/p ; x # print saved deps s/^.*\n// # remove deps, resume processing } + # detect presence of notable files + /^runfiles /{ + s/^runfiles .*$// # ignore the first line + :next-file + h ; N # save to hold space & read next line + s!\n (.+)$! \1! # save file name + t next-file # loop if the previous lines matched + + x # work on saved lines in hold space + / (RELOC|texmf-dist)\//i\ hasRunfiles = true; + / tlpkg\//i\ hasTlpkg = true; + x # restore pattern space + s/^.*\n// # remove saved lines, resume processing + } + # extract hyphenation patterns and formats # (this may create duplicate lines, use uniq to remove them) /^execute\sAddHyphen/i\ hasHyphens = true; /^execute\sAddFormat/i\ hasFormats = true; + + # close attrmap + /^$/{ + i}; + b next-package + } } diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix index f5e78a3704a6..fc11112cf682 100644 --- a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix +++ b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix @@ -6349,6 +6349,7 @@ "texlive-en" "texlive-msg-translations" "texlive-scripts" + "texlive.infra" "tlshell" "unicode-data" "xdvi" @@ -13968,6 +13969,7 @@ sha512.run = "6dd78f4b5cabb51c3bd9988fa46bf90a5a79b3d3293257a4c563a8a76a5a03eb167ce3ec0d4ce6ed05412a551eb201f2379a50a97ac5355ebe833f7b34cee4b4"; sha512.doc = "00dce9b36eefd1788bbe455b2e5104efd9afc8bd891aeafb2cd9bdee406eeb25ab520e42e614e9d2363eb6a7273232bc3c4805bacd82a22099c5ffc438e852cb"; hasRunfiles = true; + hasTlpkg = true; }; "dvipng" = { revision = 62517; @@ -18807,6 +18809,7 @@ sha512.run = "96100a78ab4292a4dc656fb70e2973f75ece3964f3a0d85d9f9153b7052ea90c14f074b195d31e46465dc52ea0516541a16981239abf552861dbca16fac3ab1d"; sha512.doc = "bb4161c95b760c9c103f086c134d7f7528dafd92f82623dd95322ea644b86c35e2baef05170c3c67a7f1c4905dc8a5fd40108db1c65074b558eec69f0e3c6910"; hasRunfiles = true; + hasTlpkg = true; version = "20230223"; }; "haranoaji-extra" = { @@ -31283,6 +31286,7 @@ sha512.doc = "affd6dde30276fa680a0d99d0a51650ee95260535dff717801d61ccb8165c5526047e46ad6478367a439e9a84721500128062b8cb6a1f33a25a65fadae4547f1"; sha512.source = "eb450119b3897f9e8374d29a3a9512819a05263d5829c81d56dc00dd35995133d1a3cfcadc59ce2aea52ac8b5bc195d27446f159356e63b433e235d1098e93b5"; hasRunfiles = true; + hasTlpkg = true; version = "20210625.0"; }; "ptex-fonts" = { @@ -31303,6 +31307,7 @@ sha512.run = "1893a49eb389914d7a9247dece7f67d9d6af05efca77801130726d6422b1a0150b56f29d3f133f433d70989f6ffcc2b44d209cd044c84ee0833c2f77b87f3e46"; sha512.doc = "f193b44004b487d93f025b34b72a17cbaf4111b1a6e1ceb4ac1b69c6c07aa4dce46cde510cbd01fb71fb08c06f7bbb415a4a8051de5861f1f586b756060f386f"; hasRunfiles = true; + hasTlpkg = true; version = "20200520.0"; }; "ptext" = { @@ -32946,6 +32951,7 @@ "hyphen-base" "kpathsea" "texlive-scripts" + "texlive.infra" ]; sha512.run = "f3e449bf0b34deb9ae776685f386245c4ca9644f2175ae51e9c62faa00e3cfac30fa2aa07fbd83b15b21d487ca368c09a18742d2434047783350698ced3b20b9"; }; @@ -36160,7 +36166,7 @@ "texlive-msg-translations" = { revision = 65889; sha512.run = "03c0445d0cb0bb3722a691fd94b93c7fe9d046dbf5945ecadcce17a2333878ffc542f0b7f263ae09bd0537a68c1a59d6c04b873ce8cdc6c8b57f7ded5b6681f9"; - hasRunfiles = true; + hasTlpkg = true; }; "texlive-pl" = { revision = 62841; @@ -36179,6 +36185,7 @@ sha512.run = "3dbb2007ae7b80862265d6196f77a9d796f02f6914871f4dad094f8419040fe7064daf6ecf5dd611b5764dd4148d034a97d82aa22671199e8a3dc79373859c67"; sha512.doc = "6976ba00c8ee50664aaa1f762231f297f01548a94d6a632b386845e7fa43b20b63342d58874e87869a73a9c23bba358f762f5cc3814690f870c6216679471a89"; hasRunfiles = true; + hasTlpkg = true; }; "texlive-scripts-extra" = { revision = 62517; @@ -36198,6 +36205,13 @@ sha512.run = "1a7e43528c2dac5c623943b1b268b99f0db6a4876f50c5386a8ea160b8b5e066604d34c0a53cee25cc3f839eb7f4be177e3d98ed51c83c77df6293c77a02e0ab"; sha512.doc = "534c505455c5f9c73803c140a340df2882a97516e15f52c5b65695b7c626404336a0e4f6190155b5bda1b9a86d7f4d44ac294bccec791ec6701e56d13c00d71d"; }; +"texlive.infra" = { + revision = 63645; + sha512.run = "cbc7e70f3b4d451a51f06ed640b37ce28b8ea32f0dad75b32e54856e1051934d32125f2428b074a69503fb24c943c5eded58d77168d606891ea8209bbf852c65"; + sha512.doc = "37f37bfd17988a8897312581efcf05aff76af6fd2c30867c65e0a4445ddc1f7fb90bb86984999d5fc942159bccf5c2a188e5b552702405405c902c97ae4828ff"; + hasRunfiles = true; + hasTlpkg = true; +}; "texliveonfly" = { revision = 55777; sha512.run = "63353a768b700ea11982e9552046dfd1dc3d844883f03099833cabe2af5ccddecebd7ef737fbcd256c90304174165a4d283d4912f8311508e61c723d751619a7"; @@ -37393,6 +37407,7 @@ sha512.run = "285fffbc63ac1b87b1ad143d043ace7ed1f52f48c4e03a9fc78c9ff6adeb2062af0ce9b5245b77349528ca18c0fe6ee8ad44b794adb24ae62f00e4a18501d7c7"; sha512.doc = "73962fa94f7ca3a78b6149a44b72c39096fb54263660ccb6c0bcc024023dfef665c5132b9cb78953c92ec8b7d161581294e32b0ab26c9e0e2e9eadc16aa9ff72"; hasRunfiles = true; + hasTlpkg = true; }; "to-be-determined" = { revision = 64882; @@ -39917,6 +39932,7 @@ sha512.run = "e9f0aebda0a7fb36e2cbce4dd49e965335438c4ebf2d41eb8e19eabe29617239dd67e7e3433a8c75fd40f072a2c6753a7d0762afd34fca4130929e51888aaabf"; sha512.doc = "31f03ee1ae00bc7883109ab7b7374feedc384d86b491873e90797658eae12299dd60b95edc1c86f1faa61a0b7a952cca23993e991863b37e49c27afd6c21c034"; hasRunfiles = true; + hasTlpkg = true; }; "xetex-devanagari" = { revision = 34296; From 1623309ee2df85e952f79ea7ed7c75137b48f48b Mon Sep 17 00:00:00 2001 From: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com> Date: Sat, 13 May 2023 21:32:09 +0100 Subject: [PATCH 38/68] texlive: execute postaction scripts --- pkgs/tools/typesetting/tex/texlive/combine.nix | 11 +++++++++++ pkgs/tools/typesetting/tex/texlive/default.nix | 2 ++ pkgs/tools/typesetting/tex/texlive/tl2nix.sed | 3 +++ pkgs/tools/typesetting/tex/texlive/tlpdb.nix | 5 +++++ 4 files changed, 21 insertions(+) diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 540ac10cfc52..76f4f9ba841b 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -248,6 +248,17 @@ in (buildEnv { done } '' + + # texlive postactions (see TeXLive::TLUtils::_do_postaction_script) + (lib.concatMapStrings (pkg: '' + postaction='${pkg.postactionScript}' + case "$postaction" in + *.pl) postInterp=perl ;; + *.texlua) postInterp=texlua ;; + *) postInterp= ;; + esac + echo "postaction install script for ${pkg.pname}: ''${postInterp:+$postInterp }$postaction install $TEXMFROOT" + $postInterp "$TEXMFROOT/$postaction" install "$TEXMFROOT" + '') (lib.filter (pkg: pkg ? postactionScript) pkgList.tlpkg)) + # texlive post-install actions '' ln -sf "$TEXMFDIST"/scripts/texlive/updmap.pl "$out"/bin/updmap diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index ec0c79ab1ab5..972462c1d5db 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -178,6 +178,8 @@ let } // lib.optionalAttrs (tlType == "run") { hasFormats = args.hasFormats or false; hasHyphens = args.hasHyphens or false; + } // lib.optionalAttrs (tlType == "tlpkg" && args ? postactionScript) { + postactionScript = args.postactionScript; }; } // lib.optionalAttrs (fixedHash != null) { outputHash = fixedHash; diff --git a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed index c4317a7aea93..94b10ba6f776 100644 --- a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed +++ b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed @@ -66,6 +66,9 @@ $a} s/^.*\n// # remove saved lines, resume processing } + # extract postaction scripts (right now, at most one per package, so a string suffices) + s/^postaction script file=(.*)$/ postactionScript = "\1";/p + # extract hyphenation patterns and formats # (this may create duplicate lines, use uniq to remove them) /^execute\sAddHyphen/i\ hasHyphens = true; diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix index fc11112cf682..2d932c76d1b2 100644 --- a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix +++ b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix @@ -13966,6 +13966,7 @@ deps = [ "glyphlist" ]; + postactionScript = "tlpkg/tlpostcode/dvipdfmx.pl"; sha512.run = "6dd78f4b5cabb51c3bd9988fa46bf90a5a79b3d3293257a4c563a8a76a5a03eb167ce3ec0d4ce6ed05412a551eb201f2379a50a97ac5355ebe833f7b34cee4b4"; sha512.doc = "00dce9b36eefd1788bbe455b2e5104efd9afc8bd891aeafb2cd9bdee406eeb25ab520e42e614e9d2363eb6a7273232bc3c4805bacd82a22099c5ffc438e852cb"; hasRunfiles = true; @@ -18806,6 +18807,7 @@ }; "haranoaji" = { revision = 66119; + postactionScript = "tlpkg/tlpostcode/haranoaji-tlpost.pl"; sha512.run = "96100a78ab4292a4dc656fb70e2973f75ece3964f3a0d85d9f9153b7052ea90c14f074b195d31e46465dc52ea0516541a16981239abf552861dbca16fac3ab1d"; sha512.doc = "bb4161c95b760c9c103f086c134d7f7528dafd92f82623dd95322ea644b86c35e2baef05170c3c67a7f1c4905dc8a5fd40108db1c65074b558eec69f0e3c6910"; hasRunfiles = true; @@ -31282,6 +31284,7 @@ }; "ptex-fontmaps" = { revision = 59711; + postactionScript = "tlpkg/tlpostcode/ptex-fontmaps-tlpost.pl"; sha512.run = "16afa97812d830b2b98f657f67ef690da420afe63ccf6f002131101f3ce9a03ff6e5170db1b316e9db521e4cdf89c7aedf26c57be162bf1c5b48fa4226e5e029"; sha512.doc = "affd6dde30276fa680a0d99d0a51650ee95260535dff717801d61ccb8165c5526047e46ad6478367a439e9a84721500128062b8cb6a1f33a25a65fadae4547f1"; sha512.source = "eb450119b3897f9e8374d29a3a9512819a05263d5829c81d56dc00dd35995133d1a3cfcadc59ce2aea52ac8b5bc195d27446f159356e63b433e235d1098e93b5"; @@ -31304,6 +31307,7 @@ }; "ptex2pdf" = { revision = 64072; + postactionScript = "tlpkg/tlpostcode/ptex2pdf-tlpost.pl"; sha512.run = "1893a49eb389914d7a9247dece7f67d9d6af05efca77801130726d6422b1a0150b56f29d3f133f433d70989f6ffcc2b44d209cd044c84ee0833c2f77b87f3e46"; sha512.doc = "f193b44004b487d93f025b34b72a17cbaf4111b1a6e1ceb4ac1b69c6c07aa4dce46cde510cbd01fb71fb08c06f7bbb415a4a8051de5861f1f586b756060f386f"; hasRunfiles = true; @@ -39929,6 +39933,7 @@ "xetexconfig" ]; hasFormats = true; + postactionScript = "tlpkg/tlpostcode/xetex.pl"; sha512.run = "e9f0aebda0a7fb36e2cbce4dd49e965335438c4ebf2d41eb8e19eabe29617239dd67e7e3433a8c75fd40f072a2c6753a7d0762afd34fca4130929e51888aaabf"; sha512.doc = "31f03ee1ae00bc7883109ab7b7374feedc384d86b491873e90797658eae12299dd60b95edc1c86f1faa61a0b7a952cca23993e991863b37e49c27afd6c21c034"; hasRunfiles = true; From 3aa6580f465ad97bf69a04213899e59350e70ef4 Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 13 May 2023 13:24:04 -0400 Subject: [PATCH 39/68] nixos/trippy: init --- .../manual/release-notes/rl-2305.section.md | 2 ++ nixos/modules/module-list.nix | 1 + nixos/modules/programs/trippy.nix | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 nixos/modules/programs/trippy.nix diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index e53c99f1dc6f..6f1e88e61b00 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -104,6 +104,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [vault-agent](https://developer.hashicorp.com/vault/docs/agent), a template rendering and API auth proxy for HashiCorp Vault, similar to `consul-template`. Available as [services.vault-agent](#opt-services.vault-agent.instances). +- [trippy](https://github.com/fujiapple852/trippy), a network diagnostic tool. Available as [programs.trippy](#opt-programs.trippy.enable). + - [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable). - [wstunnel](https://github.com/erebe/wstunnel), a proxy tunnelling arbitrary TCP or UDP traffic through a WebSocket connection. Instances may be configured via [services.wstunnel](options.html#opt-services.wstunnel.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9ca58fdc0875..31c10b85c565 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -249,6 +249,7 @@ ./programs/thunar.nix ./programs/tmux.nix ./programs/traceroute.nix + ./programs/trippy.nix ./programs/tsm-client.nix ./programs/turbovnc.nix ./programs/udevil.nix diff --git a/nixos/modules/programs/trippy.nix b/nixos/modules/programs/trippy.nix new file mode 100644 index 000000000000..6e31aea43e75 --- /dev/null +++ b/nixos/modules/programs/trippy.nix @@ -0,0 +1,24 @@ +{ lib, config, pkgs, ... }: + +let + cfg = config.programs.trippy; +in + +{ + options = { + programs.trippy = { + enable = lib.mkEnableOption (lib.mdDoc "trippy"); + }; + }; + + config = lib.mkIf cfg.enable { + security.wrappers.trip = { + owner = "root"; + group = "root"; + capabilities = "cap_net_raw+p"; + source = lib.getExe pkgs.trippy; + }; + }; + + meta.maintainers = with lib.maintainers; [ figsoda ]; +} From 33b15fdce01f528cba388d1e023f04491c0879b3 Mon Sep 17 00:00:00 2001 From: Mac Chaffee Date: Sun, 14 May 2023 20:27:52 -0400 Subject: [PATCH 40/68] security/acme: Fix listenHTTP bug with IPv6 addresses --- nixos/modules/security/acme/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix index ea94b54312cf..8aee71c864d0 100644 --- a/nixos/modules/security/acme/default.nix +++ b/nixos/modules/security/acme/default.nix @@ -323,7 +323,7 @@ let } fi ''); - } // optionalAttrs (data.listenHTTP != null && toInt (elemAt (splitString ":" data.listenHTTP) 1) < 1024) { + } // optionalAttrs (data.listenHTTP != null && toInt (last (splitString ":" data.listenHTTP)) < 1024) { CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; }; From ac3d1b53371a928e2123d2689e4163a4192f8df1 Mon Sep 17 00:00:00 2001 From: Janik H Date: Sun, 14 May 2023 05:06:56 +0200 Subject: [PATCH 41/68] restic-integrity: init at 1.2.1 --- .../backup/restic-integrity/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/backup/restic-integrity/default.nix diff --git a/pkgs/applications/backup/restic-integrity/default.nix b/pkgs/applications/backup/restic-integrity/default.nix new file mode 100644 index 000000000000..6c571527248d --- /dev/null +++ b/pkgs/applications/backup/restic-integrity/default.nix @@ -0,0 +1,25 @@ +{ lib +, rustPlatform +, fetchFromGitLab +}: + +rustPlatform.buildRustPackage rec { + pname = "restic-integrity"; + version = "1.2.1"; + src = fetchFromGitLab { + domain = "gitlab.upi.li"; + owner = "networkException"; + repo = "restic-integrity"; + rev = version; + hash = "sha256-/n8muqW9ol0AY9RM3N4nqLDw0U1h0308M1uRCMS2kOM="; + }; + + cargoHash = "sha256-TYDPzjWxTK9hQhzSknkCao9lq9UjZN3yQX3wtkMmP6E="; + + meta = with lib; { + description = "A CLI tool to check the integrity of a restic repository without unlocking it"; + homepage = "https://gitlab.upi.li/networkException/restic-integrity"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 65f67d57e2c5..4dd23b89cd4f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26010,6 +26010,7 @@ with pkgs; restic = callPackage ../tools/backup/restic { }; + restic-integrity = callPackage ../applications/backup/restic-integrity { }; restic-rest-server = callPackage ../tools/backup/restic/rest-server.nix { }; restya-board = callPackage ../servers/web-apps/restya-board { }; From 211f15a271fe2e300aef7daa688d5060ac41ea46 Mon Sep 17 00:00:00 2001 From: fbewivpjsbsby <132867585+fbewivpjsbsby@users.noreply.github.com> Date: Mon, 8 May 2023 13:35:03 +0800 Subject: [PATCH 42/68] phantomsocks: fix build tag Co-Authored-By: Sandro --- pkgs/tools/networking/phantomsocks/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/tools/networking/phantomsocks/default.nix b/pkgs/tools/networking/phantomsocks/default.nix index fc8fef3a14b8..6f3c3ad9a336 100644 --- a/pkgs/tools/networking/phantomsocks/default.nix +++ b/pkgs/tools/networking/phantomsocks/default.nix @@ -1,6 +1,11 @@ { lib , buildGoModule , fetchFromGitHub +, stdenv +, libpcap +# Cann't be build with both pcap and rawsocket tags +, withPcap ? (!stdenv.isLinux && !withRawsocket) +, withRawsocket ? (stdenv.isLinux && !withPcap) }: buildGoModule rec { @@ -16,6 +21,13 @@ buildGoModule rec { vendorHash = "sha256-c0NQfZuMMWz1ASwFBcpMNjxZwXLo++gMYBiNgvT8ZLQ="; + ldflags = [ + "-s" "-w" + ]; + buildInputs = lib.optional withPcap libpcap; + tags = lib.optional withPcap "pcap" + ++ lib.optional withRawsocket "rawsocket"; + meta = with lib;{ homepage = "https://github.com/macronut/phantomsocks"; description = "A cross-platform proxy client/server for Linux/Windows/macOS"; From ec83b05fef2b49282e7213776b053da246e3965a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 May 2023 04:08:52 +0000 Subject: [PATCH 43/68] tanka: 0.24.0 -> 0.25.0 --- pkgs/applications/networking/cluster/tanka/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/tanka/default.nix b/pkgs/applications/networking/cluster/tanka/default.nix index 29727e0a697d..470a4bdf7ef3 100644 --- a/pkgs/applications/networking/cluster/tanka/default.nix +++ b/pkgs/applications/networking/cluster/tanka/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tanka"; - version = "0.24.0"; + version = "0.25.0"; src = fetchFromGitHub { owner = "grafana"; repo = pname; rev = "v${version}"; - sha256 = "sha256-RZLmbf9ginMbFAaUKL5mK5HIYQslP8Vu8zdh1OJ1P1Y="; + sha256 = "sha256-LAOcDgosSGE7sLiQYSimz//oZ3FHcx3PTjtG0WdDNmg="; }; - vendorHash = "sha256-g9e0NesI7WdaTHZ57XRlo8as3IWAFlFW4nkyf6+kd40="; + vendorHash = "sha256-//uxNK8u7zIVeIUN401DXtkJsX/1iVfDcoFwcs8Y3cg="; doCheck = false; From bac8c263a7a7a8d637aed93238cb3da2bc127a6d Mon Sep 17 00:00:00 2001 From: Jocelyn Thode Date: Mon, 15 May 2023 07:28:00 +0200 Subject: [PATCH 44/68] rofi-power-menu: 3.0.2 -> 3.1.0 --- pkgs/applications/misc/rofi-power-menu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/rofi-power-menu/default.nix b/pkgs/applications/misc/rofi-power-menu/default.nix index e02b7062f4bc..99004eaa270b 100644 --- a/pkgs/applications/misc/rofi-power-menu/default.nix +++ b/pkgs/applications/misc/rofi-power-menu/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rofi-power-menu"; - version = "3.0.2"; + version = "3.1.0"; src = fetchFromGitHub { owner = "jluttine"; repo = "rofi-power-menu"; rev = version; - sha256 = "sha256-Bkc87BXSnAR517wCkyOAfoACYx/5xprDGJQhLWGUNns="; + sha256 = "sha256-VPCfmCTr6ADNT7MW4jiqLI/lvTjlAu1QrCAugiD0toU="; }; installPhase = '' From 3be4449adcf8a14a30e459549904b0c4615da7cd Mon Sep 17 00:00:00 2001 From: Abin Simon Date: Mon, 15 May 2023 11:49:19 +0530 Subject: [PATCH 45/68] bodyclose: init at 2023-04-21 --- pkgs/development/tools/bodyclose/default.nix | 27 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/tools/bodyclose/default.nix diff --git a/pkgs/development/tools/bodyclose/default.nix b/pkgs/development/tools/bodyclose/default.nix new file mode 100644 index 000000000000..e252223b883f --- /dev/null +++ b/pkgs/development/tools/bodyclose/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "bodyclose"; + version = "2023-04-21"; + + src = fetchFromGitHub { + owner = "timakin"; + repo = "bodyclose"; + rev = "574207250966ef48b7c65325648b17ff2c3a900a"; + hash = "sha256-qUt8uOk1vgj2rtzTevGh9c4McxbFKgEw83pq7IAlRdg="; + }; + + vendorHash = "sha256-TSYaY7Rg0ZoXdIN1sTNmgjC4PcVcgwSTuE43FYbzlAs="; + + ldflags = [ "-s" "-w" ]; + + meta = with lib; { + description = "Golang linter to check whether HTTP response body is closed and a re-use of TCP connection is not blocked"; + homepage = "https://github.com/timakin/bodyclose"; + license = licenses.mit; + maintainers = with maintainers; [ meain ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 38c1dd12f3df..b72fd4208870 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -336,6 +336,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreServices; }; + bodyclose = callPackage ../development/tools/bodyclose { }; + bootstrap-studio = callPackage ../development/web/bootstrap-studio { }; breakpad = callPackage ../development/misc/breakpad { }; From b2cc7fb23db7a104f223649932fdb128278159eb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 15 May 2023 09:57:09 +0200 Subject: [PATCH 46/68] python311Packages.py-zabbix: add patch to remove getargspec --- .../python-modules/py-zabbix/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/py-zabbix/default.nix b/pkgs/development/python-modules/py-zabbix/default.nix index e706da6064ca..b39a706c6538 100644 --- a/pkgs/development/python-modules/py-zabbix/default.nix +++ b/pkgs/development/python-modules/py-zabbix/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , pytestCheckHook , pythonOlder }: @@ -15,10 +16,19 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "adubkov"; repo = "py-zabbix"; - rev = version; - sha256 = "aPQc188pszfDQvNtsGYlRLHS5CG5VyqptSoe4/GJVvE="; + rev = "refs/tags/${version}"; + hash = "sha256-aPQc188pszfDQvNtsGYlRLHS5CG5VyqptSoe4/GJVvE="; }; + patches = [ + # Remove Python2 comp, https://github.com/adubkov/py-zabbix/pull/154 + (fetchpatch { + name = "no-more-py2.patch"; + url = "https://github.com/adubkov/py-zabbix/commit/8deedb860f52870fbeacc54a40341520702341e2.patch"; + hash = "sha256-Af7pnCZIObC0ZQLaamBK1pTAVAFs/Mh7+og5jAKqk4s="; + }) + ]; + nativeCheckInputs = [ pytestCheckHook ]; From e232bbd926aa692cbbc1ddfeb4635714a0a7549d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 15 May 2023 12:03:45 +0200 Subject: [PATCH 47/68] python311Packages.extractcode: add missing input six --- pkgs/development/python-modules/extractcode/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix index c2193539814a..612ee8b84375 100644 --- a/pkgs/development/python-modules/extractcode/default.nix +++ b/pkgs/development/python-modules/extractcode/default.nix @@ -8,6 +8,7 @@ , pytestCheckHook , pythonOlder , setuptools-scm +, six , typecode }: @@ -40,6 +41,7 @@ buildPythonPackage rec { patch extractcode-libarchive extractcode-7z + six ]; nativeCheckInputs = [ From 18fa9fc63fa79e98e7d0875ccf5b93ee1a06c356 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 May 2023 10:47:51 +0000 Subject: [PATCH 48/68] slweb: 0.5.4 -> 0.5.5 --- pkgs/applications/misc/slweb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/slweb/default.nix b/pkgs/applications/misc/slweb/default.nix index f73f02989398..edf0b9b05ffe 100644 --- a/pkgs/applications/misc/slweb/default.nix +++ b/pkgs/applications/misc/slweb/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "slweb"; - version = "0.5.4"; + version = "0.5.5"; src = fetchFromSourcehut { owner = "~strahinja"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Wj9ZCs8nRBpIkX5jzTqBdo83zUBMamykk1vbBCIWyoQ="; + sha256 = "sha256-Hk3L++J8JiCRXitNHi9uWb7aYN8lMG3GjfpmNyIpoKU="; }; nativeBuildInputs = [ redo-apenwarr ]; From 80c0a5deb91480495f839ba1845931f38a01c417 Mon Sep 17 00:00:00 2001 From: Konstantin Alekseev Date: Mon, 15 May 2023 07:08:31 +0300 Subject: [PATCH 49/68] python3Packages.ruff-lsp: 0.0.24 -> 0.0.27 --- pkgs/development/python-modules/ruff-lsp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ruff-lsp/default.nix b/pkgs/development/python-modules/ruff-lsp/default.nix index 7ef48b86fa0b..39deed3b0161 100644 --- a/pkgs/development/python-modules/ruff-lsp/default.nix +++ b/pkgs/development/python-modules/ruff-lsp/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "ruff-lsp"; - version = "0.0.24"; + version = "0.0.27"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit version; pname = "ruff_lsp"; - sha256 = "sha256-1he/GYk8O9LqPXH3mu7eGWuRygiDG1OnJ+JNT2Pynzo="; + hash = "sha256-Mp5PX87UFUADl/INxZptTsHUBxNpaSRqdsPgRNnLCaQ="; }; postPatch = '' From 847b66d0551456737741733fbd2bdec64c1b4326 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 15 May 2023 13:09:00 +0200 Subject: [PATCH 50/68] privacyidea: fix build ZHF #230712 Failing Hydra build: https://hydra.nixos.org/build/219779719 Another package leaked in a sphinx that's incompatible with the dependency fixes in here. Removing that solves the issue. --- pkgs/applications/misc/privacyidea/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix index 858eb6d2c21e..08497915ad92 100644 --- a/pkgs/applications/misc/privacyidea/default.nix +++ b/pkgs/applications/misc/privacyidea/default.nix @@ -167,6 +167,9 @@ let sphinxHook = null; sphinx-rtd-theme = null; }).overridePythonAttrs dropDocOutput; + deprecated = (super.deprecated.override { + sphinxHook = null; + }).overridePythonAttrs dropDocOutput; }; }; in From 49eee7c7aa6bafa76d3dd822b9a07981c6175bb5 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 15 May 2023 13:09:57 +0200 Subject: [PATCH 51/68] privacyidea: build on linux only I'm not even aware of darwin support, but since it appears to break[1], I'd say it's skip it. ZHF #230712 [1] https://hydra.nixos.org/build/219600077 --- pkgs/applications/misc/privacyidea/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix index 08497915ad92..3adfe13bd93e 100644 --- a/pkgs/applications/misc/privacyidea/default.nix +++ b/pkgs/applications/misc/privacyidea/default.nix @@ -242,5 +242,6 @@ python3'.pkgs.buildPythonPackage rec { license = licenses.agpl3Plus; homepage = "http://www.privacyidea.org"; maintainers = with maintainers; [ globin ma27 ]; + platforms = platforms.linux; }; } From 4e8b848f13657af4ebd44a0a0fb525c39d195f12 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 May 2023 11:14:48 +0000 Subject: [PATCH 52/68] bdf2psf: 1.218 -> 1.220 --- pkgs/tools/misc/bdf2psf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix index c389d9158d0f..223fa567d1d0 100644 --- a/pkgs/tools/misc/bdf2psf/default.nix +++ b/pkgs/tools/misc/bdf2psf/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "bdf2psf"; - version = "1.218"; + version = "1.220"; src = fetchurl { url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb"; - sha256 = "sha256-pHL3Q/qOLq8AAmMuNoGRzz+c1xQxJk/6+t6u3EdWqMY="; + sha256 = "sha256-cDpHYuWe3tAh7QSfeYEV4XsUBccdTs3b+0xYYrPKmR4="; }; nativeBuildInputs = [ dpkg ]; From bf65f7c29192d629e772afce7b3ff7eb90c72c69 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 15 May 2023 13:15:31 +0200 Subject: [PATCH 53/68] python310Packages.pymc: 5.0.2 -> 5.3.1 Diff: https://github.com/pymc-devs/pymc/compare/refs/tags/v5.0.2...v5.3.1 Changelog: https://github.com/pymc-devs/pymc/releases/tag/v5.3.1 --- pkgs/development/python-modules/pymc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix index 1f528d9ab715..14df8ba37147 100644 --- a/pkgs/development/python-modules/pymc/default.nix +++ b/pkgs/development/python-modules/pymc/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pymc"; - version = "5.0.2"; + version = "5.3.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "pymc-devs"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-ffNWSSzoRLFmYzN9sm5Z1j6WtEoFzGkCQxpBC0NlpRc="; + hash = "sha256-TtRIYgsPlire4li4/9Ls7Rh1SIkDGi5uCSN7huSrelA="; }; propagatedBuildInputs = [ From 3c63d74009b1ba84b9f3633bb48d7373a8a0cb4c Mon Sep 17 00:00:00 2001 From: Konstantin Alekseev Date: Mon, 15 May 2023 14:16:12 +0300 Subject: [PATCH 54/68] ruff: add ruff-lsp to passthru.tests --- pkgs/development/tools/ruff/default.nix | 6 ++++++ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index b1d4e87a4bfd..fa2384b18c7a 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -5,6 +5,8 @@ , installShellFiles , stdenv , darwin + # tests +, ruff-lsp }: rustPlatform.buildRustPackage rec { @@ -64,6 +66,10 @@ rustPlatform.buildRustPackage rec { --zsh <($out/bin/ruff generate-shell-completion zsh) ''; + passthru.tests = { + inherit ruff-lsp; + }; + meta = with lib; { description = "An extremely fast Python linter"; homepage = "https://github.com/charliermarsh/ruff"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 38c1dd12f3df..832ad0944dd8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39236,7 +39236,9 @@ with pkgs; rucksack = callPackage ../development/tools/rucksack { }; - ruff = callPackage ../development/tools/ruff { }; + ruff = callPackage ../development/tools/ruff { + inherit (python3.pkgs) ruff-lsp; + }; sam-ba = callPackage ../tools/misc/sam-ba { }; From 6852dc2359784c34941270d3f9532b0d7cfcd225 Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 15 May 2023 14:06:26 +0200 Subject: [PATCH 55/68] nixos/rshim: fix shell escape Using escapeShellArg does not make sense here because (a) it turned the list into a string, so the entire service failed and (b) because systemd does not use the same escaping mechanism as bash. --- nixos/modules/services/misc/rshim.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/rshim.nix b/nixos/modules/services/misc/rshim.nix index 169f1fa5793b..0fef2cc228c9 100644 --- a/nixos/modules/services/misc/rshim.nix +++ b/nixos/modules/services/misc/rshim.nix @@ -3,11 +3,11 @@ let cfg = config.services.rshim; - rshimCommand = lib.escapeShellArgs ([ "${cfg.package}/bin/rshim" ] + rshimCommand = [ "${cfg.package}/bin/rshim" ] ++ lib.optionals (cfg.backend != null) [ "--backend ${cfg.backend}" ] ++ lib.optionals (cfg.device != null) [ "--device ${cfg.device}" ] ++ lib.optionals (cfg.index != null) [ "--index ${builtins.toString cfg.index}" ] - ++ [ "--log-level ${builtins.toString cfg.log-level}" ]) + ++ [ "--log-level ${builtins.toString cfg.log-level}" ] ; in { From 46dfed6010a624a7aec49bbc63752847ae3ff15a Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 15 May 2023 14:09:28 +0200 Subject: [PATCH 56/68] nixos/tests/rshim: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/rshim.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 nixos/tests/rshim.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 008dfbe39377..81c5e8dd9f3a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -644,6 +644,7 @@ in { retroarch = handleTest ./retroarch.nix {}; robustirc-bridge = handleTest ./robustirc-bridge.nix {}; roundcube = handleTest ./roundcube.nix {}; + rshim = handleTest ./rshim.nix {}; rspamd = handleTest ./rspamd.nix {}; rss2email = handleTest ./rss2email.nix {}; rstudio-server = handleTest ./rstudio-server.nix {}; diff --git a/nixos/tests/rshim.nix b/nixos/tests/rshim.nix new file mode 100644 index 000000000000..bb5cce028ae7 --- /dev/null +++ b/nixos/tests/rshim.nix @@ -0,0 +1,25 @@ +{ system ? builtins.currentSystem +, config ? { } +, pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; +with pkgs.lib; + +{ + basic = makeTest { + name = "rshim"; + meta.maintainers = with maintainers; [ nikstur ]; + + nodes.machine = { config, pkgs, ... }: { + services.rshim.enable = true; + }; + + testScript = { nodes, ... }: '' + machine.start() + machine.wait_for_unit("multi-user.target") + + print(machine.succeed("systemctl status rshim.service")) + ''; + }; +} From 969c48ead61b86c445baf14f608522eeadac55f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 May 2023 12:37:29 +0000 Subject: [PATCH 57/68] ov: 0.15.0 -> 0.22.0 --- pkgs/tools/text/ov/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix index ab8db6fbea45..bbe9dea8b7b3 100644 --- a/pkgs/tools/text/ov/default.nix +++ b/pkgs/tools/text/ov/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "ov"; - version = "0.15.0"; + version = "0.22.0"; src = fetchFromGitHub { owner = "noborus"; repo = "ov"; rev = "refs/tags/v${version}"; - hash = "sha256-gL2Gz7ziy6YfAiGuvyg7P9wUBST/Hy6/vmpQN9tdv3g="; + hash = "sha256-+yxWvh9UjbGdMl8jyEi/ZqsnDWuIci/ZZ+RNFS/yxoo="; }; - vendorHash = "sha256-BM9XnjAiX3qAukqwbl3Aij1scKU2+txx4SHC8aHaS/Q="; + vendorHash = "sha256-bQREazHu0SQrMKyNPtUvzeKR/zb0FJOLpHBwHml43Hs="; ldflags = [ "-X main.Version=v${version}" From 26e68112909a3bb6fca067122e81b3c4fe1c167c Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 15 May 2023 15:02:27 +0200 Subject: [PATCH 58/68] Revert "Merge pull request #229369 from markuskowa/add-libsomo-s" This reverts commit caa013bd886f00717b8be6417ba221f6202ccbac, reversing changes made to 42aaea3606d15132f158ea5058d1d3d9841a7773. --- .../libraries/libosmo-abis/default.nix | 39 ------------------- .../libraries/libosmo-netif/default.nix | 37 ------------------ .../libraries/libosmo-sccp/default.nix | 38 ------------------ pkgs/top-level/all-packages.nix | 6 --- 4 files changed, 120 deletions(-) delete mode 100644 pkgs/development/libraries/libosmo-abis/default.nix delete mode 100644 pkgs/development/libraries/libosmo-netif/default.nix delete mode 100644 pkgs/development/libraries/libosmo-sccp/default.nix diff --git a/pkgs/development/libraries/libosmo-abis/default.nix b/pkgs/development/libraries/libosmo-abis/default.nix deleted file mode 100644 index ee8b3c926614..000000000000 --- a/pkgs/development/libraries/libosmo-abis/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config -, libosmocore, ortp, bctoolbox -}: - -stdenv.mkDerivation rec { - pname = "libosmo-abis"; - version = "1.4.0"; - - src = fetchgit { - url = "https://gitea.osmocom.org/osmocom/libosmo-abis"; - rev = version; - sha256 = "sha256-RKJis0Ur3Y0LximNQl+hm6GENg8t2E1S++2c+63D2pQ="; - }; - - postPatch = '' - echo "${version}" > .tarball-version - ''; - - configureFlags = [ "--disable-dahdi" ]; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - ]; - - buildInputs = [ - libosmocore - ortp - bctoolbox - ]; - - meta = with lib; { - description = "GSM A-bis interface library"; - homepage = "https://osmocom.org/projects/libosmo-abis"; - maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; - license = licenses.agpl3Only; - }; -} diff --git a/pkgs/development/libraries/libosmo-netif/default.nix b/pkgs/development/libraries/libosmo-netif/default.nix deleted file mode 100644 index 8b1fd40d8dad..000000000000 --- a/pkgs/development/libraries/libosmo-netif/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config -, libosmocore, lksctp-tools -}: - - -stdenv.mkDerivation rec { - pname = "libosmo-netif"; - version = "1.3.0"; - - src = fetchgit { - url = "https://gitea.osmocom.org/osmocom/libosmo-netif"; - rev = version; - sha256 = "sha256-PhGi/6JVO8tXxzfGwEKUB/GdrgCJkqROo26TPU+O9Sg="; - }; - - postPatch = '' - echo "${version}" > .tarball-version - ''; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - ]; - - buildInputs = [ - libosmocore - lksctp-tools - ]; - - meta = with lib; { - description = "Higher-layer GSM cellular communications protocol implementation"; - homepage = "https://gitea.osmocom.org/osmocom/libosmo-netif"; - maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; - license = licenses.agpl3Only; - }; -} diff --git a/pkgs/development/libraries/libosmo-sccp/default.nix b/pkgs/development/libraries/libosmo-sccp/default.nix deleted file mode 100644 index 0c3878101066..000000000000 --- a/pkgs/development/libraries/libosmo-sccp/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config -, libosmocore, libosmo-netif, lksctp-tools -}: - - -stdenv.mkDerivation rec { - pname = "libosmo-sccp"; - version = "1.7.0"; - - src = fetchgit { - url = "https://gitea.osmocom.org/osmocom/libosmo-sccp"; - rev = version; - sha256 = "sha256-ScJZke9iNmFc9XXqtRjb24ZzKfa5EYws5PDNhcZFb7U="; - }; - - postPatch = '' - echo "${version}" > .tarball-version - ''; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - ]; - - buildInputs = [ - libosmocore - libosmo-netif - lksctp-tools - ]; - - meta = with lib; { - description = "Implementation of telecom signaling protocols and OsmoSTP"; - homepage = "https://osmocom.org/projects/osmo-stp/wiki"; - maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; - license = licenses.agpl3Only; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70d90c1358d5..f274ef641b31 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22236,12 +22236,6 @@ with pkgs; libosmo-sccp = callPackage ../servers/osmocom/libosmo-sccp { }; - libosmo-abis = callPackage ../development/libraries/libosmo-abis { }; - - libosmo-netif = callPackage ../development/libraries/libosmo-netif { }; - - libosmo-sccp = callPackage ../development/libraries/libosmo-sccp { }; - libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { }; libotr = callPackage ../development/libraries/libotr { }; From 292ac0da99fc47a38f4ed27f50d2364aea023ff1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 15 May 2023 15:07:20 +0200 Subject: [PATCH 59/68] libosmoabis, libosmo-{netif,sccp}: add markuskowa to maintainers --- pkgs/servers/osmocom/libosmo-netif/default.nix | 5 ++++- pkgs/servers/osmocom/libosmo-sccp/default.nix | 5 ++++- pkgs/servers/osmocom/libosmoabis/default.nix | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/osmocom/libosmo-netif/default.nix b/pkgs/servers/osmocom/libosmo-netif/default.nix index eed212836a36..746e353fe7d2 100644 --- a/pkgs/servers/osmocom/libosmo-netif/default.nix +++ b/pkgs/servers/osmocom/libosmo-netif/default.nix @@ -39,6 +39,9 @@ stdenv.mkDerivation rec { homepage = "https://osmocom.org/projects/libosmo-netif/wiki"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ janik ]; + maintainers = with maintainers; [ + janik + markuskowa + ]; }; } diff --git a/pkgs/servers/osmocom/libosmo-sccp/default.nix b/pkgs/servers/osmocom/libosmo-sccp/default.nix index 80edf0f368f0..64dded983e7c 100644 --- a/pkgs/servers/osmocom/libosmo-sccp/default.nix +++ b/pkgs/servers/osmocom/libosmo-sccp/default.nix @@ -43,6 +43,9 @@ stdenv.mkDerivation rec { homepage = "https://osmocom.org/projects/libosmo-sccp"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ janik ]; + maintainers = with maintainers; [ + janik + markuskowa + ]; }; } diff --git a/pkgs/servers/osmocom/libosmoabis/default.nix b/pkgs/servers/osmocom/libosmoabis/default.nix index 1f55017d1892..dc3d3b3955e5 100644 --- a/pkgs/servers/osmocom/libosmoabis/default.nix +++ b/pkgs/servers/osmocom/libosmoabis/default.nix @@ -43,6 +43,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/osmocom/libosmo-abis"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ janik ]; + maintainers = with maintainers; [ + janik + markuskowa + ]; }; } From 95e1099d2a042ed6d4c23ae3bd46317e0d28c5c5 Mon Sep 17 00:00:00 2001 From: Janik H Date: Mon, 15 May 2023 10:32:14 +0200 Subject: [PATCH 60/68] restic: add persistent default for timer unit --- nixos/modules/services/backup/restic.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix index 8cc0c084d659..3a951f7cbc83 100644 --- a/nixos/modules/services/backup/restic.nix +++ b/nixos/modules/services/backup/restic.nix @@ -145,6 +145,7 @@ in type = types.attrsOf unitOption; default = { OnCalendar = "daily"; + Persistent = true; }; description = lib.mdDoc '' When to run the backup. See {manpage}`systemd.timer(5)` for details. @@ -152,6 +153,7 @@ in example = { OnCalendar = "00:05"; RandomizedDelaySec = "5h"; + Persistent = true; }; }; From 2ee66a3000fd65bc76e83a62e57337a9dccdb7c2 Mon Sep 17 00:00:00 2001 From: woojiq Date: Mon, 15 May 2023 14:45:21 +0300 Subject: [PATCH 61/68] keyd: run systemd service as root user --- nixos/modules/services/hardware/keyd.nix | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/hardware/keyd.nix b/nixos/modules/services/hardware/keyd.nix index 64c769405fab..d17b0e4303ef 100644 --- a/nixos/modules/services/hardware/keyd.nix +++ b/nixos/modules/services/hardware/keyd.nix @@ -76,7 +76,9 @@ in ExecStart = "${pkgs.keyd}/bin/keyd"; Restart = "always"; - DynamicUser = true; + # TODO investigate why it doesn't work propeprly with DynamicUser + # See issue: https://github.com/NixOS/nixpkgs/issues/226346 + # DynamicUser = true; SupplementaryGroups = [ config.users.groups.input.name config.users.groups.uinput.name @@ -96,6 +98,7 @@ in ProtectHostname = true; PrivateUsers = true; PrivateMounts = true; + PrivateTmp = true; RestrictNamespaces = true; ProtectKernelLogs = true; ProtectKernelModules = true; @@ -104,7 +107,18 @@ in MemoryDenyWriteExecute = true; RestrictRealtime = true; LockPersonality = true; - ProtectProc = "noaccess"; + ProtectProc = "invisible"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + RestrictAddressFamilies = [ "AF_UNIX" ]; + RestrictSUIDSGID = true; + IPAddressDeny = [ "any" ]; + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProcSubset = "pid"; UMask = "0077"; }; }; From 25f85bdcc2c6e73456568f7fc8107e6cb76febef Mon Sep 17 00:00:00 2001 From: Yaya Date: Mon, 15 May 2023 16:22:53 +0200 Subject: [PATCH 62/68] schildichat: 1.11.22-sc.1 -> 1.11.30-sc.2 (#231938) https://github.com/SchildiChat/schildichat-desktop/releases/tag/v1.11.30-sc.2 --- .../instant-messengers/schildichat/pin.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json index a0e94dc0f1d6..fbae80954e8b 100644 --- a/pkgs/applications/networking/instant-messengers/schildichat/pin.json +++ b/pkgs/applications/networking/instant-messengers/schildichat/pin.json @@ -1,9 +1,9 @@ { - "version": "1.11.22-sc.1", - "rev": "v1.11.22-sc.1", - "srcHash": "0di80hjd0d8bsbgbnddbmdjllc7cssgaxy27kd50j4dmw8qll1hv", - "webYarnHash": "182fh1ayh1y98kbg4mn8fxqvljs19b02j4ivvjszm55dcpwfp1df", - "jsSdkYarnHash": "0a8c7y34wh8bk1v35sa1s3s4piqkzvhjrzzapack4kzl1pfn0vix", - "reactSdkYarnHash": "0nhw9vk0yk2v738b2w6jjq5pfib5j66m5maxczhm40zync8b1wmp", - "desktopYarnHash": "0bq24rjf63rkq3jphv7raqaz2fnibmj41z905k5f3l4ln835ndfv" + "version": "1.11.30-sc.2", + "rev": "v1.11.30-sc.2", + "srcHash": "1qb1fcr52gyzxndz3j77vn3ddwjpxwvicnh16c72zpzpfbbky7a5", + "webYarnHash": "0bg5vc7q8afqfpsaqqkczf9whbzici5d2bxj5cadhrlmlb27f8nx", + "jsSdkYarnHash": "0p1whh3pmqz170l542fiq3zgljl5daa9b96i59p3wvggnx7kny7j", + "reactSdkYarnHash": "02ysshiyjj3w00b628is9bd7i8qc3vc8kr1zam2dpj26lb9k5pdd", + "desktopYarnHash": "16pzmlwzf3z8mky3wb4azaiggigyfnpxmbq3irjp30ic6yhl50yw" } From 725bb2a78be8696e21b16b1abb714a6c9f427304 Mon Sep 17 00:00:00 2001 From: Chris Montgomery Date: Fri, 12 May 2023 19:23:33 -0400 Subject: [PATCH 63/68] ast-grep: init at 0.5.2 --- .../tools/misc/ast-grep/default.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/tools/misc/ast-grep/default.nix diff --git a/pkgs/development/tools/misc/ast-grep/default.nix b/pkgs/development/tools/misc/ast-grep/default.nix new file mode 100644 index 000000000000..2cad8d017d7a --- /dev/null +++ b/pkgs/development/tools/misc/ast-grep/default.nix @@ -0,0 +1,26 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: +rustPlatform.buildRustPackage rec { + pname = "ast-grep"; + version = "0.5.2"; + + src = fetchFromGitHub { + owner = "ast-grep"; + repo = "ast-grep"; + rev = "v${version}"; + hash = "sha256-4bslw+BADUQO9cUCEYZ1U4eRdr/2652Shty+NVY0ZYI="; + }; + + cargoHash = "sha256-ed6hc7MIo/Hu1JY7yy6dYHbaTZ9S+T0dh/2H3sTT52Y="; + + meta = with lib; { + mainProgram = "sg"; + description = "A fast and polyglot tool for code searching, linting, rewriting at large scale"; + homepage = "https://ast-grep.github.io/"; + changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ montchr ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8dd8e3e055e..8b9daccebe70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -264,6 +264,8 @@ with pkgs; asnmap = callPackage ../tools/security/asnmap { }; + ast-grep = callPackage ../development/tools/misc/ast-grep { }; + astrolog = callPackage ../applications/science/astronomy/astrolog { }; atkinson-hyperlegible = callPackage ../data/fonts/atkinson-hyperlegible { }; From 391b059c1d93889e597797841fa20148f7e6dd4c Mon Sep 17 00:00:00 2001 From: Florian Date: Mon, 15 May 2023 17:04:22 +0200 Subject: [PATCH 64/68] nixosTests.pgadmin4: increase test coverage (#229632) Co-authored-by: Sandro --- nixos/tests/pgadmin4.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix index 6a9ce6ceae29..cb8de87c9ee3 100644 --- a/nixos/tests/pgadmin4.nix +++ b/nixos/tests/pgadmin4.nix @@ -9,6 +9,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: imports = [ ./common/user-account.nix ]; environment.systemPackages = with pkgs; [ + wget curl pgadmin4-desktopmode ]; @@ -40,8 +41,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: with subtest("Check pgadmin module"): machine.wait_for_unit("postgresql") machine.wait_for_unit("pgadmin") - machine.wait_until_succeeds("curl -s localhost:5051") - machine.wait_until_succeeds("curl -s localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") + machine.wait_until_succeeds("curl -sS localhost:5051") + machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") + # check for missing support files (css, js etc). Should catch not-generated files during build. See e.g. https://github.com/NixOS/nixpkgs/pull/229184 + machine.succeed("wget -nv --level=1 --spider --recursive localhost:5051/login") # pgadmin4 module saves the configuration to /etc/pgadmin/config_system.py # pgadmin4-desktopmode tries to read that as well. This normally fails with a PermissionError, as the config file @@ -51,7 +54,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: # because of the wrong config for desktopmode. with subtest("Check pgadmin standalone desktop mode"): machine.execute("sudo -u alice pgadmin4 >&2 &", timeout=60) - machine.wait_until_succeeds("curl -s localhost:5050") - machine.wait_until_succeeds("curl -s localhost:5050/browser/ | grep \"pgAdmin 4\" > /dev/null") + machine.wait_until_succeeds("curl -sS localhost:5050") + machine.wait_until_succeeds("curl -sS localhost:5050/browser/ | grep \"pgAdmin 4\" > /dev/null") + machine.succeed("wget -nv --level=1 --spider --recursive localhost:5050/browser") ''; }) From 97fab1a38c9e973b424a7750eafec2b88c1fa8cf Mon Sep 17 00:00:00 2001 From: Jayesh Bhoot Date: Mon, 15 May 2023 20:34:46 +0530 Subject: [PATCH 65/68] chenglou92.rescript-vscode: 1.8.1 -> 1.16.0 (#231648) Co-authored-by: Jayesh Bhoot --- .../extensions/chenglou92.rescript-vscode/default.nix | 4 ++-- .../chenglou92.rescript-vscode/rescript-editor-analysis.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix index 76af53164faa..8bb4a5f5ce1a 100644 --- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, vscode-utils, callPackage }: let - version = "1.8.1"; + version = "1.16.0"; rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; }; arch = if stdenv.isLinux then "linux" @@ -13,7 +13,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec { name = "rescript-vscode"; publisher = "chenglou92"; inherit version; - sha256 = "sha256-XZG0PRzc3wyAVq9tQeGDlaUZg5YAgkPxJ3NsrdUHoOk="; + sha256 = "sha256-JoC9+NkbLAZXkOKDDMB0Xgzmn+w90pHcokerMrdACi4="; }; postPatch = '' rm -r ${analysisDir} diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix index 11d9b8a6fe0b..125dfa0041bb 100644 --- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix +++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, bash, ocaml, dune_3, version }: +{ lib, stdenv, fetchFromGitHub, bash, ocaml, ocamlPackages, dune_3, version }: stdenv.mkDerivation { pname = "rescript-editor-analysis"; @@ -8,10 +8,10 @@ stdenv.mkDerivation { owner = "rescript-lang"; repo = "rescript-vscode"; rev = version; - sha256 = "sha256-a8otK0BxZbl0nOp4QWQRkjb5fM85JA4nVkLuKAz71xU="; + sha256 = "sha256-+Ht8qWwxtFWHFMiV/aoZIs2S3SxkOWgdwSKN+akp/LU="; }; - nativeBuildInputs = [ ocaml dune_3 ]; + nativeBuildInputs = [ ocaml dune_3 ocamlPackages.cppo ]; # Skip testing phases because they need to download and install node modules postPatch = '' From 532b383f4387304cc0109226475c73e48396d3df Mon Sep 17 00:00:00 2001 From: Daniel Poelzleithner Date: Wed, 3 May 2023 15:36:42 +0200 Subject: [PATCH 66/68] kemai: init at 0.9.2 Co-authored-by: Anderson Torres --- .../misc/kemai/000-cmake-disable-conan.diff | 38 ++++++++++++++ pkgs/applications/misc/kemai/default.nix | 52 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 92 insertions(+) create mode 100644 pkgs/applications/misc/kemai/000-cmake-disable-conan.diff create mode 100644 pkgs/applications/misc/kemai/default.nix diff --git a/pkgs/applications/misc/kemai/000-cmake-disable-conan.diff b/pkgs/applications/misc/kemai/000-cmake-disable-conan.diff new file mode 100644 index 000000000000..3a438e2519a1 --- /dev/null +++ b/pkgs/applications/misc/kemai/000-cmake-disable-conan.diff @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce78a9d..3cd51e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,18 +8,21 @@ list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}) + # Common configuration + set(CMAKE_CXX_STANDARD 20) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +- +-# Setup Conan +-if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") +- message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") +- file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/0.18.1/conan.cmake" +- "${CMAKE_BINARY_DIR}/conan.cmake" +- TLS_VERIFY ON) +-endif() +-include(${CMAKE_BINARY_DIR}/conan.cmake) +- +-conan_cmake_autodetect(settings) +-conan_cmake_install(PATH_OR_REFERENCE ${CMAKE_SOURCE_DIR} BUILD missing SETTINGS ${settings}) ++set(USE_CONAN ON CACHE BOOL "Use conan for dependency managment") ++ ++if(USE_CONAN) ++ # Setup Conan ++ if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") ++ message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") ++ file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/0.18.1/conan.cmake" ++ "${CMAKE_BINARY_DIR}/conan.cmake" ++ TLS_VERIFY ON) ++ endif() ++ include(${CMAKE_BINARY_DIR}/conan.cmake) ++ ++ conan_cmake_autodetect(settings) ++ conan_cmake_install(PATH_OR_REFERENCE ${CMAKE_SOURCE_DIR} BUILD missing SETTINGS ${settings}) ++endif () + + # Setup Qt + set(CMAKE_AUTOMOC ON) diff --git a/pkgs/applications/misc/kemai/default.nix b/pkgs/applications/misc/kemai/default.nix new file mode 100644 index 000000000000..1e358299f5fd --- /dev/null +++ b/pkgs/applications/misc/kemai/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, magic-enum +, spdlog +, qtbase +, qtconnectivity +, qttools +, qtlanguageserver +, wrapQtAppsHook +, libXScrnSaver +, nix-update-script +}: + +stdenv.mkDerivation rec { + pname = "kemai"; + version = "0.9.2"; + + src = fetchFromGitHub { + owner = "AlexandrePTJ"; + repo = "kemai"; + rev = version; + hash = "sha256-PDjNO2iMPK0J3TSHVZ/DW3W0GkdB8yNZYoTGEd2snac="; + }; + + buildInputs = [ + qtbase + qtconnectivity + qttools + qtlanguageserver + libXScrnSaver + magic-enum + spdlog + ]; + cmakeFlags = [ "-DUSE_CONAN=OFF" ]; + patches = [ ./000-cmake-disable-conan.diff ]; + + nativeBuildInputs = [ cmake wrapQtAppsHook ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "Kimai desktop client written in QT6"; + homepage = "https://github.com/AlexandrePTJ/kemai"; + license = licenses.mit; + maintainers = with maintainers; [ poelzi ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04265e8e1a07..b186a403ab7c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30779,6 +30779,8 @@ with pkgs; inherit (qt6) wrapQtAppsHook qtbase qtcharts; }; + kemai = qt6Packages.callPackage ../applications/misc/kemai { }; + jetbrains = (recurseIntoAttrs (callPackages ../applications/editors/jetbrains { vmopts = config.jetbrains.vmopts or null; jdk = jetbrains.jdk; From d925734d3bb7f12924e6016cd33222684b5435f5 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 15 May 2023 17:28:15 +0100 Subject: [PATCH 67/68] Nim: add meta.mainProgram --- pkgs/development/compilers/nim/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 9d099f5c7082..1cbdd84ba639 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -148,6 +148,7 @@ in { description = "Statically typed, imperative programming language"; homepage = "https://nim-lang.org/"; license = licenses.mit; + mainProgram = "nim"; maintainers = with maintainers; [ ehmry ]; }; }; From 10092e14180fdff037aea3a14ad3faeaf6950ac1 Mon Sep 17 00:00:00 2001 From: COLAMAroro Date: Fri, 14 Apr 2023 10:47:46 +0200 Subject: [PATCH 68/68] licenses: add CC-BY-NC-ND-4.0 --- lib/licenses.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/licenses.nix b/lib/licenses.nix index cea0b410f39e..b3ea106e954a 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -235,6 +235,12 @@ in mkLicense lset) ({ free = false; }; + cc-by-nc-nd-40 = { + spdxId = "CC-BY-NC-ND-4.0"; + fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International"; + free = false; + }; + cc-by-nc-sa-20 = { spdxId = "CC-BY-NC-SA-2.0"; fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0";