Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2023-05-15 18:01:51 +00:00
committed by GitHub
88 changed files with 1885 additions and 480 deletions
+11
View File
@@ -204,6 +204,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";
@@ -230,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";
+6
View File
@@ -4957,6 +4957,12 @@
githubId = 25955146;
name = "eyJhb";
};
f2k1de = {
name = "f2k1de";
email = "hi@f2k1.de";
github = "f2k1de";
githubId = 11199213;
};
f4814n = {
email = "me@f4814n.de";
github = "f4814";
@@ -108,6 +108,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).
- [rshim](https://github.com/Mellanox/rshim-user-space), the user-space rshim driver for the BlueField SoC. Available as [services.rshim](options.html#opt-services.rshim.enable).
@@ -180,6 +182,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.
@@ -195,6 +199,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.<name>` 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.
+1
View File
@@ -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
+24
View File
@@ -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 ];
}
+1 -1
View File
@@ -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" ];
};
+2
View File
@@ -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;
};
};
+16 -2
View File
@@ -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";
};
};
+2 -2
View File
@@ -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.";
};
+2 -2
View File
@@ -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
{
+107 -39
View File
@@ -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);
});
}
+7 -1
View File
@@ -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;
'';
+1
View File
@@ -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 {};
+8 -4
View File
@@ -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 \"<title>pgAdmin 4</title>\" > /dev/null")
machine.wait_until_succeeds("curl -sS localhost:5051")
machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"<title>pgAdmin 4</title>\" > /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 \"<title>pgAdmin 4</title>\" > /dev/null")
machine.wait_until_succeeds("curl -sS localhost:5050")
machine.wait_until_succeeds("curl -sS localhost:5050/browser/ | grep \"<title>pgAdmin 4</title>\" > /dev/null")
machine.succeed("wget -nv --level=1 --spider --recursive localhost:5050/browser")
'';
})
+25
View File
@@ -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"))
'';
};
}
+3 -2
View File
@@ -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)
@@ -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 ];
};
}
@@ -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}
@@ -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 = ''
@@ -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)
+52
View File
@@ -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;
};
}
@@ -167,6 +167,9 @@ let
sphinxHook = null;
sphinx-rtd-theme = null;
}).overridePythonAttrs dropDocOutput;
deprecated = (super.deprecated.override {
sphinxHook = null;
}).overridePythonAttrs dropDocOutput;
};
};
in
@@ -239,5 +242,6 @@ python3'.pkgs.buildPythonPackage rec {
license = licenses.agpl3Plus;
homepage = "http://www.privacyidea.org";
maintainers = with maintainers; [ globin ma27 ];
platforms = platforms.linux;
};
}
@@ -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 = ''
+2 -2
View File
@@ -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 ];
@@ -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;
@@ -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"
}
+94 -29
View File
@@ -1,34 +1,26 @@
{ lib, stdenv, fetchurl, makeWrapper, autoPatchelfHook }:
{ lib
, writeShellScript
, buildFHSEnv
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, nss
, libvorbis
, libdrm
, libGL
, wayland
, libthai
}:
stdenv.mkDerivation rec {
let
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}";
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
postPatch = ''
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable
'';
installPhase = ''
mkdir -p $out/bin
cp -a client $out/client
makeWrapper $out/client/insync-portable $out/bin/insync --set LC_TIME C
'';
meta = {
version = "3.8.5.50499";
meta = with lib; {
platforms = ["x86_64-linux"];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = [ ];
license = licenses.unfree;
maintainers = with maintainers; [ hellwolf ];
homepage = "https://www.insynchq.com";
description = "Google Drive sync and backup with multiple account support";
longDescription = ''
@@ -38,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;
}
@@ -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.
'';
};
}
@@ -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;
};
}
@@ -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 ];
};
};
@@ -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;
};
}
@@ -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;
};
}
@@ -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;
};
}
@@ -8,6 +8,7 @@
, pytestCheckHook
, pythonOlder
, setuptools-scm
, six
, typecode
}:
@@ -40,6 +41,7 @@ buildPythonPackage rec {
patch
extractcode-libarchive
extractcode-7z
six
];
nativeCheckInputs = [
@@ -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
];
@@ -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 = [
@@ -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 = ''
@@ -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 ];
};
}
@@ -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 ];
};
}
+5 -4
View File
@@ -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 = [
@@ -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
+}
@@ -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";
};
}
+6
View File
@@ -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";
+2 -2
View File
@@ -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 ];
@@ -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;
+2 -2
View File
@@ -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 ];
@@ -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;
+42
View File
@@ -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 ];
};
}
@@ -0,0 +1,47 @@
{ 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
markuskowa
];
};
}
@@ -0,0 +1,51 @@
{ 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
markuskowa
];
};
}
@@ -0,0 +1,51 @@
{ 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
markuskowa
];
};
}
@@ -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
];
};
}
+55
View File
@@ -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;
};
}
+51
View File
@@ -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;
};
}
@@ -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;
};
}
+51
View File
@@ -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;
};
}
@@ -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;
};
}
@@ -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;
};
}
+62
View File
@@ -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;
};
}
+51
View File
@@ -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;
};
}
+61
View File
@@ -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;
};
}
+48
View File
@@ -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;
};
}
@@ -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;
};
}
@@ -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;
};
}
+5 -5
View File
@@ -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 ];
+11 -11
View File
@@ -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; {
+2 -2
View File
@@ -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 = [
+19 -23
View File
@@ -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}
+3 -5
View File
@@ -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:
+2 -2
View File
@@ -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 ];
+9
View File
@@ -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;
}
+9
View File
@@ -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;
}
+9
View File
@@ -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;
}
+9
View File
@@ -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;
}
-35
View File
@@ -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;
};
}
+41
View File
@@ -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;
};
}
+3 -3
View File
@@ -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@{
@@ -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 ];
};
+7 -7
View File
@@ -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;
@@ -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";
+3 -3
View File
@@ -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}"
+46 -18
View File
@@ -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
@@ -232,16 +248,29 @@ 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
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 +279,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 +309,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
+21 -14
View File
@@ -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;
@@ -180,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;
@@ -189,9 +189,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
);
@@ -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";
+28 -5
View File
@@ -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,40 @@ $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 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;
/^execute\sAddFormat/i\ hasFormats = true;
# close attrmap
/^$/{
i};
b next-package
}
}
+22 -1
View File
@@ -6349,6 +6349,7 @@
"texlive-en"
"texlive-msg-translations"
"texlive-scripts"
"texlive.infra"
"tlshell"
"unicode-data"
"xdvi"
@@ -13965,9 +13966,11 @@
deps = [
"glyphlist"
];
postactionScript = "tlpkg/tlpostcode/dvipdfmx.pl";
sha512.run = "6dd78f4b5cabb51c3bd9988fa46bf90a5a79b3d3293257a4c563a8a76a5a03eb167ce3ec0d4ce6ed05412a551eb201f2379a50a97ac5355ebe833f7b34cee4b4";
sha512.doc = "00dce9b36eefd1788bbe455b2e5104efd9afc8bd891aeafb2cd9bdee406eeb25ab520e42e614e9d2363eb6a7273232bc3c4805bacd82a22099c5ffc438e852cb";
hasRunfiles = true;
hasTlpkg = true;
};
"dvipng" = {
revision = 62517;
@@ -18804,9 +18807,11 @@
};
"haranoaji" = {
revision = 66119;
postactionScript = "tlpkg/tlpostcode/haranoaji-tlpost.pl";
sha512.run = "96100a78ab4292a4dc656fb70e2973f75ece3964f3a0d85d9f9153b7052ea90c14f074b195d31e46465dc52ea0516541a16981239abf552861dbca16fac3ab1d";
sha512.doc = "bb4161c95b760c9c103f086c134d7f7528dafd92f82623dd95322ea644b86c35e2baef05170c3c67a7f1c4905dc8a5fd40108db1c65074b558eec69f0e3c6910";
hasRunfiles = true;
hasTlpkg = true;
version = "20230223";
};
"haranoaji-extra" = {
@@ -31279,10 +31284,12 @@
};
"ptex-fontmaps" = {
revision = 59711;
postactionScript = "tlpkg/tlpostcode/ptex-fontmaps-tlpost.pl";
sha512.run = "16afa97812d830b2b98f657f67ef690da420afe63ccf6f002131101f3ce9a03ff6e5170db1b316e9db521e4cdf89c7aedf26c57be162bf1c5b48fa4226e5e029";
sha512.doc = "affd6dde30276fa680a0d99d0a51650ee95260535dff717801d61ccb8165c5526047e46ad6478367a439e9a84721500128062b8cb6a1f33a25a65fadae4547f1";
sha512.source = "eb450119b3897f9e8374d29a3a9512819a05263d5829c81d56dc00dd35995133d1a3cfcadc59ce2aea52ac8b5bc195d27446f159356e63b433e235d1098e93b5";
hasRunfiles = true;
hasTlpkg = true;
version = "20210625.0";
};
"ptex-fonts" = {
@@ -31300,9 +31307,11 @@
};
"ptex2pdf" = {
revision = 64072;
postactionScript = "tlpkg/tlpostcode/ptex2pdf-tlpost.pl";
sha512.run = "1893a49eb389914d7a9247dece7f67d9d6af05efca77801130726d6422b1a0150b56f29d3f133f433d70989f6ffcc2b44d209cd044c84ee0833c2f77b87f3e46";
sha512.doc = "f193b44004b487d93f025b34b72a17cbaf4111b1a6e1ceb4ac1b69c6c07aa4dce46cde510cbd01fb71fb08c06f7bbb415a4a8051de5861f1f586b756060f386f";
hasRunfiles = true;
hasTlpkg = true;
version = "20200520.0";
};
"ptext" = {
@@ -32946,6 +32955,7 @@
"hyphen-base"
"kpathsea"
"texlive-scripts"
"texlive.infra"
];
sha512.run = "f3e449bf0b34deb9ae776685f386245c4ca9644f2175ae51e9c62faa00e3cfac30fa2aa07fbd83b15b21d487ca368c09a18742d2434047783350698ced3b20b9";
};
@@ -36160,7 +36170,7 @@
"texlive-msg-translations" = {
revision = 65889;
sha512.run = "03c0445d0cb0bb3722a691fd94b93c7fe9d046dbf5945ecadcce17a2333878ffc542f0b7f263ae09bd0537a68c1a59d6c04b873ce8cdc6c8b57f7ded5b6681f9";
hasRunfiles = true;
hasTlpkg = true;
};
"texlive-pl" = {
revision = 62841;
@@ -36179,6 +36189,7 @@
sha512.run = "3dbb2007ae7b80862265d6196f77a9d796f02f6914871f4dad094f8419040fe7064daf6ecf5dd611b5764dd4148d034a97d82aa22671199e8a3dc79373859c67";
sha512.doc = "6976ba00c8ee50664aaa1f762231f297f01548a94d6a632b386845e7fa43b20b63342d58874e87869a73a9c23bba358f762f5cc3814690f870c6216679471a89";
hasRunfiles = true;
hasTlpkg = true;
};
"texlive-scripts-extra" = {
revision = 62517;
@@ -36198,6 +36209,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 +37411,7 @@
sha512.run = "285fffbc63ac1b87b1ad143d043ace7ed1f52f48c4e03a9fc78c9ff6adeb2062af0ce9b5245b77349528ca18c0fe6ee8ad44b794adb24ae62f00e4a18501d7c7";
sha512.doc = "73962fa94f7ca3a78b6149a44b72c39096fb54263660ccb6c0bcc024023dfef665c5132b9cb78953c92ec8b7d161581294e32b0ab26c9e0e2e9eadc16aa9ff72";
hasRunfiles = true;
hasTlpkg = true;
};
"to-be-determined" = {
revision = 64882;
@@ -39914,9 +39933,11 @@
"xetexconfig"
];
hasFormats = true;
postactionScript = "tlpkg/tlpostcode/xetex.pl";
sha512.run = "e9f0aebda0a7fb36e2cbce4dd49e965335438c4ebf2d41eb8e19eabe29617239dd67e7e3433a8c75fd40f072a2c6753a7d0762afd34fca4130929e51888aaabf";
sha512.doc = "31f03ee1ae00bc7883109ab7b7374feedc384d86b491873e90797658eae12299dd60b95edc1c86f1faa61a0b7a952cca23993e991863b37e49c27afd6c21c034";
hasRunfiles = true;
hasTlpkg = true;
};
"xetex-devanagari" = {
revision = 34296;
+45
View File
@@ -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;
};
}
+2
View File
@@ -641,6 +641,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
@@ -714,6 +715,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
+55 -9
View File
@@ -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 { };
@@ -336,6 +338,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 { };
@@ -4284,6 +4288,8 @@ with pkgs;
oguri = callPackage ../tools/wayland/oguri { };
shikane = callPackage ../tools/wayland/shikane { };
shotman = callPackage ../tools/wayland/shotman { };
slurp = callPackage ../tools/wayland/slurp { };
@@ -7221,7 +7227,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;
@@ -8106,7 +8112,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 { }
);
@@ -21331,6 +21344,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 { };
@@ -22226,13 +22241,13 @@ with pkgs;
libosmium = callPackage ../development/libraries/libosmium { };
libosmocore = callPackage ../applications/misc/libosmocore { };
libosmoabis = callPackage ../servers/osmocom/libosmoabis { };
libosmo-abis = callPackage ../development/libraries/libosmo-abis { };
libosmocore = callPackage ../servers/osmocom/libosmocore { };
libosmo-netif = callPackage ../development/libraries/libosmo-netif { };
libosmo-netif = callPackage ../servers/osmocom/libosmo-netif { };
libosmo-sccp = callPackage ../development/libraries/libosmo-sccp { };
libosmo-sccp = callPackage ../servers/osmocom/libosmo-sccp { };
libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { };
@@ -23295,6 +23310,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 { };
@@ -26034,6 +26051,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 { };
@@ -29245,6 +29263,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 { };
@@ -30766,6 +30786,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;
@@ -33127,6 +33149,30 @@ with pkgs;
osmo = callPackage ../applications/office/osmo { };
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 { };
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 { };
osmo-msc = callPackage ../servers/osmocom/osmo-msc { };
osmo-pcu = callPackage ../servers/osmocom/osmo-pcu { };
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 { };
@@ -33976,8 +34022,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;
};
@@ -39244,7 +39288,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 { };