Merge staging-next into staging
This commit is contained in:
commit
949e5b9d89
@ -180,6 +180,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
|
||||
|
||||
- [Bluemap](https://bluemap.bluecolored.de/), a 3D minecraft map renderer. Available as [services.bluemap](#opt-services.bluemap.enable).
|
||||
|
||||
- [fritz-exporter](https://github.com/pdreker/fritz_exporter), a Prometheus exporter for extracting metrics from [FRITZ!](https://avm.de/produkte/) devices. Available as [services.prometheus.exporters.fritz](#opt-services.prometheus.exporters.fritz.enable).
|
||||
|
||||
- [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`.
|
||||
|
@ -1444,6 +1444,7 @@
|
||||
./services/web-apps/zitadel.nix
|
||||
./services/web-servers/agate.nix
|
||||
./services/web-servers/apache-httpd/default.nix
|
||||
./services/web-servers/bluemap.nix
|
||||
./services/web-servers/caddy/default.nix
|
||||
./services/web-servers/darkhttpd.nix
|
||||
./services/web-servers/fcgiwrap.nix
|
||||
|
@ -8,22 +8,6 @@ let
|
||||
agentSettingsFormat = pkgs.formats.keyValue {
|
||||
mkKeyValue = lib.generators.mkKeyValueDefault { } " ";
|
||||
};
|
||||
|
||||
xserverCfg = config.services.xserver;
|
||||
|
||||
defaultPinentryFlavor =
|
||||
if xserverCfg.desktopManager.lxqt.enable
|
||||
|| xserverCfg.desktopManager.plasma5.enable
|
||||
|| xserverCfg.desktopManager.plasma6.enable
|
||||
|| xserverCfg.desktopManager.deepin.enable then
|
||||
"qt"
|
||||
else if xserverCfg.desktopManager.xfce.enable then
|
||||
"gtk2"
|
||||
else if xserverCfg.enable || config.programs.sway.enable then
|
||||
"gnome3"
|
||||
else
|
||||
"curses";
|
||||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
@ -47,6 +47,7 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = {
|
||||
MusicFolder = "/mnt/music";
|
||||
};
|
||||
|
311
nixos/modules/services/web-servers/bluemap.nix
Normal file
311
nixos/modules/services/web-servers/bluemap.nix
Normal file
@ -0,0 +1,311 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.bluemap;
|
||||
format = pkgs.formats.hocon { };
|
||||
|
||||
coreConfig = format.generate "core.conf" cfg.coreSettings;
|
||||
webappConfig = format.generate "webapp.conf" cfg.webappSettings;
|
||||
webserverConfig = format.generate "webserver.conf" cfg.webserverSettings;
|
||||
|
||||
mapsFolder = pkgs.linkFarm "maps"
|
||||
(lib.attrsets.mapAttrs' (name: value:
|
||||
lib.nameValuePair "${name}.conf"
|
||||
(format.generate "${name}.conf" value))
|
||||
cfg.maps);
|
||||
|
||||
storageFolder = pkgs.linkFarm "storage"
|
||||
(lib.attrsets.mapAttrs' (name: value:
|
||||
lib.nameValuePair "${name}.conf"
|
||||
(format.generate "${name}.conf" value))
|
||||
cfg.storage);
|
||||
|
||||
configFolder = pkgs.linkFarm "bluemap-config" {
|
||||
"maps" = mapsFolder;
|
||||
"storages" = storageFolder;
|
||||
"core.conf" = coreConfig;
|
||||
"webapp.conf" = webappConfig;
|
||||
"webserver.conf" = webserverConfig;
|
||||
"resourcepacks" = pkgs.linkFarm "resourcepacks" cfg.resourcepacks;
|
||||
};
|
||||
|
||||
inherit (lib) mkOption;
|
||||
in {
|
||||
options.services.bluemap = {
|
||||
enable = lib.mkEnableOption "bluemap";
|
||||
|
||||
eula = mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
By changing this option to true you confirm that you own a copy of minecraft Java Edition,
|
||||
and that you agree to minecrafts EULA.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
||||
defaultWorld = mkOption {
|
||||
type = lib.types.path;
|
||||
description = ''
|
||||
The world used by the default map ruleset.
|
||||
If you configure your own maps you do not need to set this.
|
||||
'';
|
||||
example = lib.literalExpression "\${config.services.minecraft.dataDir}/world";
|
||||
};
|
||||
|
||||
enableRender = mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "Enable rendering";
|
||||
default = true;
|
||||
};
|
||||
|
||||
webRoot = mkOption {
|
||||
type = lib.types.path;
|
||||
default = "/var/lib/bluemap/web";
|
||||
description = "The directory for saving and serving the webapp and the maps";
|
||||
};
|
||||
|
||||
enableNginx = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Enable configuring a virtualHost for serving the bluemap webapp";
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
type = lib.types.str;
|
||||
default = "bluemap.${config.networking.domain}";
|
||||
defaultText = lib.literalExpression "bluemap.\${config.networking.domain}";
|
||||
description = "Domain to configure nginx for";
|
||||
};
|
||||
|
||||
onCalendar = mkOption {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
How often to trigger rendering the map,
|
||||
in the format of a systemd timer onCalendar configuration.
|
||||
See {manpage}`systemd.timer(5)`.
|
||||
'';
|
||||
default = "*-*-* 03:10:00";
|
||||
};
|
||||
|
||||
coreSettings = mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
data = mkOption {
|
||||
type = lib.types.path;
|
||||
description = "Folder for where bluemap stores its data";
|
||||
default = "/var/lib/bluemap";
|
||||
};
|
||||
metrics = lib.mkEnableOption "Sending usage metrics containing the version of bluemap in use";
|
||||
};
|
||||
};
|
||||
description = "Settings for the core.conf file, [see upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/core.conf).";
|
||||
};
|
||||
|
||||
webappSettings = mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
};
|
||||
default = {
|
||||
enabled = true;
|
||||
webroot = cfg.webRoot;
|
||||
};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
enabled = true;
|
||||
webroot = config.services.bluemap.webRoot;
|
||||
}
|
||||
'';
|
||||
description = "Settings for the webapp.conf file, see [upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webapp.conf).";
|
||||
};
|
||||
|
||||
webserverSettings = mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
enabled = mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable bluemap's built-in webserver.
|
||||
Disabled by default in nixos for use of nginx directly.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Settings for the webserver.conf file, usually not required.
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webserver.conf).
|
||||
'';
|
||||
};
|
||||
|
||||
maps = mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
world = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = "Path to world folder containing the dimension to render";
|
||||
};
|
||||
};
|
||||
});
|
||||
default = {
|
||||
"overworld" = {
|
||||
world = "${cfg.defaultWorld}";
|
||||
ambient-light = 0.1;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
|
||||
"nether" = {
|
||||
world = "${cfg.defaultWorld}/DIM-1";
|
||||
sorting = 100;
|
||||
sky-color = "#290000";
|
||||
void-color = "#150000";
|
||||
ambient-light = 0.6;
|
||||
world-sky-light = 0;
|
||||
remove-caves-below-y = -10000;
|
||||
cave-detection-ocean-floor = -5;
|
||||
cave-detection-uses-block-light = true;
|
||||
max-y = 90;
|
||||
};
|
||||
|
||||
"end" = {
|
||||
world = "${cfg.defaultWorld}/DIM1";
|
||||
sorting = 200;
|
||||
sky-color = "#080010";
|
||||
void-color = "#080010";
|
||||
ambient-light = 0.6;
|
||||
world-sky-light = 0;
|
||||
remove-caves-below-y = -10000;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
"overworld" = {
|
||||
world = "''${cfg.defaultWorld}";
|
||||
ambient-light = 0.1;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
|
||||
"nether" = {
|
||||
world = "''${cfg.defaultWorld}/DIM-1";
|
||||
sorting = 100;
|
||||
sky-color = "#290000";
|
||||
void-color = "#150000";
|
||||
ambient-light = 0.6;
|
||||
world-sky-light = 0;
|
||||
remove-caves-below-y = -10000;
|
||||
cave-detection-ocean-floor = -5;
|
||||
cave-detection-uses-block-light = true;
|
||||
max-y = 90;
|
||||
};
|
||||
|
||||
"end" = {
|
||||
world = "''${cfg.defaultWorld}/DIM1";
|
||||
sorting = 200;
|
||||
sky-color = "#080010";
|
||||
void-color = "#080010";
|
||||
ambient-light = 0.6;
|
||||
world-sky-light = 0;
|
||||
remove-caves-below-y = -10000;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Settings for files in `maps/`.
|
||||
If you define anything here you must define everything yourself.
|
||||
See the default for an example with good options for the different world types.
|
||||
For valid values [consult upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/maps/map.conf).
|
||||
'';
|
||||
};
|
||||
|
||||
storage = mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
storage-type = mkOption {
|
||||
type = lib.types.enum [ "FILE" "SQL" ];
|
||||
description = "Type of storage config";
|
||||
default = "FILE";
|
||||
};
|
||||
};
|
||||
});
|
||||
description = ''
|
||||
Where the rendered map will be stored.
|
||||
Unless you are doing something advanced you should probably leave this alone and configure webRoot instead.
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/tree/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/storages)
|
||||
'';
|
||||
default = {
|
||||
"file" = {
|
||||
root = "${cfg.webRoot}/maps";
|
||||
};
|
||||
};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
"file" = {
|
||||
root = "''${config.services.bluemap.webRoot}/maps";
|
||||
};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
resourcepacks = mkOption {
|
||||
type = lib.types.attrsOf lib.types.pathInStore;
|
||||
default = { };
|
||||
description = "A set of resourcepacks to use, loaded in alphabetical order";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions =
|
||||
[ { assertion = config.services.bluemap.eula;
|
||||
message = ''
|
||||
You have enabled bluemap but have not accepted minecraft's EULA.
|
||||
You can achieve this through setting `services.bluemap.eula = true`
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
services.bluemap.coreSettings.accept-download = cfg.eula;
|
||||
|
||||
systemd.services."render-bluemap-maps" = lib.mkIf cfg.enableRender {
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Group = "nginx";
|
||||
UMask = "026";
|
||||
};
|
||||
script = ''
|
||||
${lib.getExe pkgs.bluemap} -c ${configFolder} -gs -r
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.timers."render-bluemap-maps" = lib.mkIf cfg.enableRender {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = cfg.onCalendar;
|
||||
Persistent = true;
|
||||
Unit = "render-bluemap-maps.service";
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts = lib.mkIf cfg.enableNginx {
|
||||
"${cfg.host}" = {
|
||||
root = config.services.bluemap.webRoot;
|
||||
locations = {
|
||||
"~* ^/maps/[^/]*/tiles/[^/]*.json$".extraConfig = ''
|
||||
error_page 404 =200 /assets/emptyTile.json;
|
||||
gzip_static always;
|
||||
'';
|
||||
"~* ^/maps/[^/]*/tiles/[^/]*.png$".tryFiles = "$uri =204";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ dandellion h7x4 ];
|
||||
};
|
||||
}
|
@ -1007,7 +1007,7 @@ in {
|
||||
vault-dev = handleTest ./vault-dev.nix {};
|
||||
vault-postgresql = handleTest ./vault-postgresql.nix {};
|
||||
vaultwarden = handleTest ./vaultwarden.nix {};
|
||||
vector = handleTest ./vector.nix {};
|
||||
vector = handleTest ./vector {};
|
||||
vengi-tools = handleTest ./vengi-tools.nix {};
|
||||
victoriametrics = handleTest ./victoriametrics.nix {};
|
||||
vikunja = handleTest ./vikunja.nix {};
|
||||
|
@ -32,6 +32,7 @@ let
|
||||
linux_6_1_hardened
|
||||
linux_6_6_hardened
|
||||
linux_6_8_hardened
|
||||
linux_6_9_hardened
|
||||
linux_rt_5_4
|
||||
linux_rt_5_10
|
||||
linux_rt_5_15
|
||||
|
@ -89,7 +89,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
''
|
||||
catester.start()
|
||||
caserver.wait_for_unit("step-ca.service")
|
||||
caserver.succeed("journalctl -o cat -u step-ca.service | grep '${pkgs.step-ca.version}'")
|
||||
caserver.wait_until_succeeds("journalctl -o cat -u step-ca.service | grep '${pkgs.step-ca.version}'")
|
||||
|
||||
caclient.wait_for_unit("acme-finished-caclient.target")
|
||||
catester.succeed("curl https://caclient/ | grep \"Welcome to nginx!\"")
|
||||
|
@ -38,16 +38,18 @@ makeTest {
|
||||
server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd >&2 &")
|
||||
server.wait_until_succeeds("nc -z localhost 5901", timeout=10)
|
||||
server.succeed("DISPLAY=:1 xwininfo -root | grep 720x576")
|
||||
server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' >&2 &")
|
||||
server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC' >&2 &")
|
||||
|
||||
client.wait_for_x()
|
||||
client.execute("vncviewer server:1 -PasswordFile vncpasswd >&2 &")
|
||||
client.wait_for_window(r"VNC")
|
||||
client.screenshot("screenshot")
|
||||
text = client.get_screen_text()
|
||||
|
||||
# Displayed text
|
||||
assert 'HELLO VNC WORLD' in text
|
||||
assert 'HELLO VNC' in text
|
||||
# Client window title
|
||||
assert 'TigerVNC' in text
|
||||
# get_screen_text can't get correct string from screenshot
|
||||
# assert 'TigerVNC' in text
|
||||
'';
|
||||
}
|
||||
|
@ -1,53 +0,0 @@
|
||||
{ system ? builtins.currentSystem, config ? { }
|
||||
, pkgs ? import ../.. { inherit system config; } }:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
with pkgs.lib;
|
||||
|
||||
{
|
||||
test1 = makeTest {
|
||||
name = "vector-test1";
|
||||
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
|
||||
|
||||
nodes.machine = { config, pkgs, ... }: {
|
||||
services.vector = {
|
||||
enable = true;
|
||||
journaldAccess = true;
|
||||
settings = {
|
||||
sources = {
|
||||
journald.type = "journald";
|
||||
|
||||
vector_metrics.type = "internal_metrics";
|
||||
|
||||
vector_logs.type = "internal_logs";
|
||||
};
|
||||
|
||||
sinks = {
|
||||
file = {
|
||||
type = "file";
|
||||
inputs = [ "journald" "vector_logs" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
|
||||
prometheus_exporter = {
|
||||
type = "prometheus_exporter";
|
||||
inputs = [ "vector_metrics" ];
|
||||
address = "[::]:9598";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# ensure vector is forwarding the messages appropriately
|
||||
testScript = ''
|
||||
machine.wait_for_unit("vector.service")
|
||||
machine.wait_for_open_port(9598)
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter")
|
||||
machine.wait_for_file("/var/lib/vector/logs.log")
|
||||
'';
|
||||
};
|
||||
}
|
39
nixos/tests/vector/api.nix
Normal file
39
nixos/tests/vector/api.nix
Normal file
@ -0,0 +1,39 @@
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "vector-api";
|
||||
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
|
||||
|
||||
nodes.machineapi = { config, pkgs, ... }: {
|
||||
services.vector = {
|
||||
enable = true;
|
||||
journaldAccess = false;
|
||||
settings = {
|
||||
api.enabled = true;
|
||||
|
||||
sources = {
|
||||
demo_logs = {
|
||||
type = "demo_logs";
|
||||
format = "json";
|
||||
};
|
||||
};
|
||||
|
||||
sinks = {
|
||||
file = {
|
||||
type = "file";
|
||||
inputs = [ "demo_logs" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machineapi.wait_for_unit("vector")
|
||||
machineapi.wait_for_open_port(8686)
|
||||
machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'")
|
||||
machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health")
|
||||
'';
|
||||
})
|
11
nixos/tests/vector/default.nix
Normal file
11
nixos/tests/vector/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
{
|
||||
file-sink = import ./file-sink.nix { inherit system pkgs; };
|
||||
api = import ./api.nix { inherit system pkgs; };
|
||||
dnstap = import ./dnstap.nix { inherit system pkgs; };
|
||||
nginx-clickhouse = import ./nginx-clickhouse.nix { inherit system pkgs; };
|
||||
}
|
118
nixos/tests/vector/dnstap.nix
Normal file
118
nixos/tests/vector/dnstap.nix
Normal file
@ -0,0 +1,118 @@
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
dnstapSocket = "/var/run/vector/dnstap.sock";
|
||||
in
|
||||
{
|
||||
name = "vector-dnstap";
|
||||
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
|
||||
|
||||
nodes = {
|
||||
unbound = { config, pkgs, ... }: {
|
||||
networking.firewall.allowedUDPPorts = [ 53 ];
|
||||
|
||||
services.vector = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
sources = {
|
||||
dnstap = {
|
||||
type = "dnstap";
|
||||
multithreaded = true;
|
||||
mode = "unix";
|
||||
lowercase_hostnames = true;
|
||||
socket_file_mode = 504;
|
||||
socket_path = "${dnstapSocket}";
|
||||
};
|
||||
};
|
||||
|
||||
sinks = {
|
||||
file = {
|
||||
type = "file";
|
||||
inputs = [ "dnstap" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.vector.serviceConfig = {
|
||||
RuntimeDirectory = "vector";
|
||||
RuntimeDirectoryMode = "0770";
|
||||
};
|
||||
|
||||
services.unbound = {
|
||||
enable = true;
|
||||
enableRootTrustAnchor = false;
|
||||
package = pkgs.unbound-full;
|
||||
settings = {
|
||||
server = {
|
||||
interface = [ "0.0.0.0" "::" ];
|
||||
access-control = [ "192.168.1.0/24 allow" ];
|
||||
|
||||
domain-insecure = "local";
|
||||
private-domain = "local";
|
||||
|
||||
local-zone = "local. static";
|
||||
local-data = [
|
||||
''"test.local. 10800 IN A 192.168.123.5"''
|
||||
];
|
||||
};
|
||||
|
||||
dnstap = {
|
||||
dnstap-enable = "yes";
|
||||
dnstap-socket-path = "${dnstapSocket}";
|
||||
dnstap-send-identity = "yes";
|
||||
dnstap-send-version = "yes";
|
||||
dnstap-log-client-query-messages = "yes";
|
||||
dnstap-log-client-response-messages = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.unbound = {
|
||||
after = [ "vector.service" ];
|
||||
wants = [ "vector.service" ];
|
||||
serviceConfig = {
|
||||
# DNSTAP access
|
||||
ReadWritePaths = [ "/var/run/vector" ];
|
||||
SupplementaryGroups = [ "vector" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dnsclient = { config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.dig ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
unbound.wait_for_unit("unbound")
|
||||
unbound.wait_for_unit("vector")
|
||||
|
||||
unbound.wait_until_succeeds(
|
||||
"journalctl -o cat -u vector.service | grep 'Socket permissions updated to 0o770'"
|
||||
)
|
||||
unbound.wait_until_succeeds(
|
||||
"journalctl -o cat -u vector.service | grep 'component_type=dnstap' | grep 'Listening... path=\"${dnstapSocket}\"'"
|
||||
)
|
||||
|
||||
unbound.wait_for_file("${dnstapSocket}")
|
||||
unbound.succeed("test 770 -eq $(stat -c '%a' ${dnstapSocket})")
|
||||
|
||||
dnsclient.wait_for_unit("network-online.target")
|
||||
dnsclient.succeed(
|
||||
"dig @unbound test.local"
|
||||
)
|
||||
|
||||
unbound.wait_for_file("/var/lib/vector/logs.log")
|
||||
|
||||
unbound.wait_until_succeeds(
|
||||
"grep ClientQuery /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rcodeName\":\"NoError\"'"
|
||||
)
|
||||
unbound.wait_until_succeeds(
|
||||
"grep ClientResponse /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rData\":\"192.168.123.5\"'"
|
||||
)
|
||||
'';
|
||||
})
|
49
nixos/tests/vector/file-sink.nix
Normal file
49
nixos/tests/vector/file-sink.nix
Normal file
@ -0,0 +1,49 @@
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "vector-test1";
|
||||
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
|
||||
|
||||
nodes.machine = { config, pkgs, ... }: {
|
||||
services.vector = {
|
||||
enable = true;
|
||||
journaldAccess = true;
|
||||
settings = {
|
||||
sources = {
|
||||
journald.type = "journald";
|
||||
|
||||
vector_metrics.type = "internal_metrics";
|
||||
|
||||
vector_logs.type = "internal_logs";
|
||||
};
|
||||
|
||||
sinks = {
|
||||
file = {
|
||||
type = "file";
|
||||
inputs = [ "journald" "vector_logs" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
|
||||
prometheus_exporter = {
|
||||
type = "prometheus_exporter";
|
||||
inputs = [ "vector_metrics" ];
|
||||
address = "[::]:9598";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# ensure vector is forwarding the messages appropriately
|
||||
testScript = ''
|
||||
machine.wait_for_unit("vector.service")
|
||||
machine.wait_for_open_port(9598)
|
||||
machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'version=\"${pkgs.vector.version}\"'")
|
||||
machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'API is disabled'")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter")
|
||||
machine.wait_for_file("/var/lib/vector/logs.log")
|
||||
'';
|
||||
})
|
168
nixos/tests/vector/nginx-clickhouse.nix
Normal file
168
nixos/tests/vector/nginx-clickhouse.nix
Normal file
@ -0,0 +1,168 @@
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "vector-nginx-clickhouse";
|
||||
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
|
||||
|
||||
nodes = {
|
||||
clickhouse = { config, pkgs, ... }: {
|
||||
virtualisation.memorySize = 4096;
|
||||
|
||||
# Clickhouse module can't listen on a non-loopback IP.
|
||||
networking.firewall.allowedTCPPorts = [ 6000 ];
|
||||
services.clickhouse.enable = true;
|
||||
|
||||
# Exercise Vector sink->source for now.
|
||||
services.vector = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
sources = {
|
||||
vector_source = {
|
||||
type = "vector";
|
||||
address = "[::]:6000";
|
||||
};
|
||||
};
|
||||
|
||||
sinks = {
|
||||
clickhouse = {
|
||||
type = "clickhouse";
|
||||
inputs = [ "vector_source" ];
|
||||
endpoint = "http://localhost:8123";
|
||||
database = "nginxdb";
|
||||
table = "access_logs";
|
||||
skip_unknown_fields = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nginx = { config, pkgs, ... }: {
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts.localhost = {};
|
||||
};
|
||||
|
||||
services.vector = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
sources = {
|
||||
nginx_logs = {
|
||||
type = "file";
|
||||
include = [ "/var/log/nginx/access.log" ];
|
||||
read_from = "end";
|
||||
};
|
||||
};
|
||||
|
||||
sinks = {
|
||||
vector_sink = {
|
||||
type = "vector";
|
||||
inputs = [ "nginx_logs" ];
|
||||
address = "clickhouse:6000";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.vector.serviceConfig = {
|
||||
SupplementaryGroups = [ "nginx" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
# work around quote/substitution complexity by Nix, Perl, bash and SQL.
|
||||
databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS nginxdb";
|
||||
|
||||
tableDDL = pkgs.writeText "table.sql" ''
|
||||
CREATE TABLE IF NOT EXISTS nginxdb.access_logs (
|
||||
message String
|
||||
)
|
||||
ENGINE = MergeTree()
|
||||
ORDER BY tuple()
|
||||
'';
|
||||
|
||||
# Graciously taken from https://clickhouse.com/docs/en/integrations/vector
|
||||
tableView = pkgs.writeText "table-view.sql" ''
|
||||
CREATE MATERIALIZED VIEW nginxdb.access_logs_view
|
||||
(
|
||||
RemoteAddr String,
|
||||
Client String,
|
||||
RemoteUser String,
|
||||
TimeLocal DateTime,
|
||||
RequestMethod String,
|
||||
Request String,
|
||||
HttpVersion String,
|
||||
Status Int32,
|
||||
BytesSent Int64,
|
||||
UserAgent String
|
||||
)
|
||||
ENGINE = MergeTree()
|
||||
ORDER BY RemoteAddr
|
||||
POPULATE AS
|
||||
WITH
|
||||
splitByWhitespace(message) as split,
|
||||
splitByRegexp('\S \d+ "([^"]*)"', message) as referer
|
||||
SELECT
|
||||
split[1] AS RemoteAddr,
|
||||
split[2] AS Client,
|
||||
split[3] AS RemoteUser,
|
||||
parseDateTimeBestEffort(replaceOne(trim(LEADING '[' FROM split[4]), ':', ' ')) AS TimeLocal,
|
||||
trim(LEADING '"' FROM split[6]) AS RequestMethod,
|
||||
split[7] AS Request,
|
||||
trim(TRAILING '"' FROM split[8]) AS HttpVersion,
|
||||
split[9] AS Status,
|
||||
split[10] AS BytesSent,
|
||||
trim(BOTH '"' from referer[2]) AS UserAgent
|
||||
FROM
|
||||
(SELECT message FROM nginxdb.access_logs)
|
||||
'';
|
||||
|
||||
selectQuery = pkgs.writeText "select.sql" "SELECT * from nginxdb.access_logs_view";
|
||||
in
|
||||
''
|
||||
clickhouse.wait_for_unit("clickhouse")
|
||||
clickhouse.wait_for_open_port(8123)
|
||||
|
||||
clickhouse.wait_until_succeeds(
|
||||
"journalctl -o cat -u clickhouse.service | grep 'Started ClickHouse server'"
|
||||
)
|
||||
|
||||
clickhouse.wait_for_unit("vector")
|
||||
clickhouse.wait_for_open_port(6000)
|
||||
|
||||
clickhouse.succeed(
|
||||
"cat ${databaseDDL} | clickhouse-client"
|
||||
)
|
||||
|
||||
clickhouse.succeed(
|
||||
"cat ${tableDDL} | clickhouse-client"
|
||||
)
|
||||
|
||||
clickhouse.succeed(
|
||||
"cat ${tableView} | clickhouse-client"
|
||||
)
|
||||
|
||||
nginx.wait_for_unit("nginx")
|
||||
nginx.wait_for_open_port(80)
|
||||
nginx.wait_for_unit("vector")
|
||||
nginx.wait_until_succeeds(
|
||||
"journalctl -o cat -u vector.service | grep 'Starting file server'"
|
||||
)
|
||||
|
||||
nginx.succeed("curl http://localhost/")
|
||||
nginx.succeed("curl http://localhost/")
|
||||
|
||||
nginx.wait_for_file("/var/log/nginx/access.log")
|
||||
nginx.wait_until_succeeds(
|
||||
"journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/nginx/access.log'"
|
||||
)
|
||||
|
||||
clickhouse.wait_until_succeeds(
|
||||
"cat ${selectQuery} | clickhouse-client | grep 'curl'"
|
||||
)
|
||||
'';
|
||||
})
|
1236
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
1236
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -17,13 +17,13 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "polkadot";
|
||||
version = "1.11.0";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot-sdk";
|
||||
rev = "polkadot-v${version}";
|
||||
hash = "sha256-q8u2L7CUDUPZrU/i8K5jsqG4Ib0Wh5e/LIUc6Z4SFfY=";
|
||||
hash = "sha256-/m7Tg+9JHbnwKwWPY8gWIJkIHktGFlqcrbLLgNWjfwU=";
|
||||
|
||||
# the build process of polkadot requires a .git folder in order to determine
|
||||
# the git commit hash that is being built and add it to the version string.
|
||||
@ -48,9 +48,10 @@ rustPlatform.buildRustPackage rec {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ark-secret-scalar-0.0.2" = "sha256-91sODxaj0psMw0WqigMCGO5a7+NenAsRj5ZmW6C7lvc=";
|
||||
"ckb-merkle-mountain-range-0.6.0" = "sha256-oTe1l406lTpgOefPai664JYwzezLjkIDXpiZTfjbd28=";
|
||||
"common-0.1.0" = "sha256-LHz2dK1p8GwyMimlR7AxHLz1tjTYolPwdjP7pxork1o=";
|
||||
"fflonk-0.1.0" = "sha256-+BvZ03AhYNP0D8Wq9EMsP+lSgPA6BBlnWkoxTffVLwo=";
|
||||
"litep2p-0.3.0" = "sha256-IiJmmSb1+8+HbT/LP/zvhioVBeeGAncf4zo7Czuq6qY=";
|
||||
"litep2p-0.3.0" = "sha256-y0my2vi0+2CWNOtCh/vtsUbIcU1iNSFAJbLiCktEcOc=";
|
||||
"sp-ark-bls12-381-0.4.2" = "sha256-nNr0amKhSvvI9BlsoP+8v6Xppx/s7zkf0l9Lm3DW8w8=";
|
||||
"sp-crypto-ec-utils-0.4.1" = "sha256-/Sw1ZM/JcJBokFE4y2mv/P43ciTL5DEm0PDG0jZvMkI=";
|
||||
};
|
||||
|
@ -10,8 +10,8 @@ let
|
||||
inherit tiling_wm;
|
||||
};
|
||||
stableVersion = {
|
||||
version = "2023.2.1.25"; # "Android Studio Iguana | 2023.2.1 Patch 2"
|
||||
sha256Hash = "sha256-zWPq1GfckqCP9rNpXAHVfoApdvxkrN3NMc1qJCf/obw=";
|
||||
version = "2023.3.1.19"; # "Android Studio Jellyfish | 2023.3.1 Patch 1"
|
||||
sha256Hash = "sha256-FyscJPusmK33UPIexV20GXQ4Z5X8mfNRFPu/2Xeg5ts=";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2023.3.1.17"; # "Android Studio Jellyfish | 2023.3.1.1 RC 2"
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "focuswriter";
|
||||
version = "1.8.7";
|
||||
version = "1.8.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gottcode";
|
||||
repo = "focuswriter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-op76oHVo6yCpXzRFYAYXMCEslCgDA6jXPcgWdTeGJ+E=";
|
||||
hash = "sha256-6DUUY7pqhmalxTq/LnJteQkd5Z001+kyQb/cUtmuZI4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake qttools wrapQtAppsHook ];
|
||||
|
1524
pkgs/applications/emulators/ruffle/Cargo.lock
generated
1524
pkgs/applications/emulators/ruffle/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,33 +1,37 @@
|
||||
{ alsa-lib
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, openssl
|
||||
, pkg-config
|
||||
, python3
|
||||
, rustPlatform
|
||||
, lib
|
||||
, wayland
|
||||
, xorg
|
||||
, vulkan-loader
|
||||
, udev
|
||||
, jre_minimal
|
||||
, cairo
|
||||
, gtk3
|
||||
, wrapGAppsHook3
|
||||
, gsettings-desktop-schemas
|
||||
, glib
|
||||
, libxkbcommon
|
||||
{
|
||||
alsa-lib,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
openssl,
|
||||
pkg-config,
|
||||
python3,
|
||||
rustPlatform,
|
||||
lib,
|
||||
wayland,
|
||||
xorg,
|
||||
vulkan-loader,
|
||||
udev,
|
||||
jre_minimal,
|
||||
cairo,
|
||||
gtk3,
|
||||
wrapGAppsHook3,
|
||||
gsettings-desktop-schemas,
|
||||
glib,
|
||||
libxkbcommon,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
let
|
||||
version = "nightly-2024-05-01";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "ruffle";
|
||||
version = "nightly-2024-03-25";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ruffle-rs";
|
||||
repo = pname;
|
||||
repo = "ruffle";
|
||||
rev = version;
|
||||
hash = "sha256-3G5xSGdMl4ISQmb2BVGdKz1cXU5Mnl+VkVYpJ6P12og=";
|
||||
hash = "sha256-WfoYQku1NFhvWyqeSVKtsMMEyUA97YFD7cvdn4XYIPI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -97,8 +101,14 @@ rustPlatform.buildRustPackage rec {
|
||||
meta = with lib; {
|
||||
description = "An Adobe Flash Player emulator written in the Rust programming language";
|
||||
homepage = "https://ruffle.rs/";
|
||||
license = with licenses; [ mit asl20 ];
|
||||
maintainers = with maintainers; [ govanify jchw ];
|
||||
license = with licenses; [
|
||||
mit
|
||||
asl20
|
||||
];
|
||||
maintainers = with maintainers; [
|
||||
govanify
|
||||
jchw
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "ruffle_desktop";
|
||||
};
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
let
|
||||
pname = "polypane";
|
||||
version = "19.0.0";
|
||||
version = "19.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
sha256 = "sha256-yRJsyJ4dhPAbqVmUmVnFlGGQ5CUJZ0VG19TMnSW0tJ4=";
|
||||
sha256 = "sha256-wy+MzuGQ1+Ayj6SgyItKdy6nldTBy3p24xWlgFwcW+0=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
@ -8,13 +8,13 @@
|
||||
buildGoModule rec {
|
||||
pname = "bosh-cli";
|
||||
|
||||
version = "7.5.6";
|
||||
version = "7.5.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudfoundry";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aw1iS7iAs8Xj7K7gTRp1bvq4po3Aq8zakm7FLKC0DEY=";
|
||||
sha256 = "sha256-Ym4qSjLKT3b494IaxMAgrYHMWklHu7Vlc81nFRxAiOc=";
|
||||
};
|
||||
vendorHash = null;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
(callPackage ./generic.nix { }) {
|
||||
channel = "edge";
|
||||
version = "24.5.2";
|
||||
sha256 = "06harh6dl90jmcwc3myqaak1dzg4wpbfyra6xvgqc8fj7k4f9w94";
|
||||
vendorHash = "sha256-ADxXIkKKhlik70DwDfQG8gNpzkx3zhas34chZ+CLZSQ=";
|
||||
version = "24.5.3";
|
||||
sha256 = "0dwbaqd4k8yx8n2aqvg7l1ydjqbdxv0n0wnm1bsi7cxj7yn5kzp5";
|
||||
vendorHash = "sha256-tXe1dQMKb96SDU4gn9hyVEl2vI1ISaffzCy1gHd1unM=";
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "luigi";
|
||||
version = "3.5.0";
|
||||
version = "3.5.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-0+3gSWZlXBO8T0c/Y5AmjGLoPExFQNeJNsTxJJbk8Sg=";
|
||||
sha256 = "sha256-/HkLJ0dRXdGcZz77uOTJrOX0xc3DH45/k9xmfesuxsg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [ python-dateutil tornado python-daemon boto3 tenacity ];
|
||||
|
@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "2.0.4";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-htDa+4t6H2FWqHbsjrCkB7xpMCl/2zE1HIEoLONlklc=";
|
||||
hash = "sha256-Qur3TzFkHbPICHiJLUSp1i1uGCBIft5sp92voLR8Ics=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WMmL0jjzzaDtNmx+kvHFONqwhz7mjFCM4rT6YoL+XkA=";
|
||||
vendorHash = "sha256-kpW72OnK5YybW5YuW2eTleso0fgyDfgbJRK4QSP8ocQ=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
@ -6,18 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "flood-for-transmission";
|
||||
version = "2024-02-10T19-10-27";
|
||||
version = "2024-05-18T08-04-58";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johman10";
|
||||
repo = pname;
|
||||
repo = "flood-for-transmission";
|
||||
rev = version;
|
||||
hash = "sha256-JhUBtjHWtfFwjOScDu+WtjE42yhWYPA6KD+kJsltbsY=";
|
||||
hash = "sha256-/vD53tFvCBOU9i/EfogjNjCEp6BBkR6eEKWnPhCUdJk=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-VHWM0vxFKucrmoJiwYpjw7QqhBQw9rPPQVIIevp6Wn0=";
|
||||
|
||||
npmInstallFlags = [ "--legacy-peer-deps" ];
|
||||
npmDepsHash = "sha256-BKr4Gm3bTFnxgv4HlPclr8+c6jDVPFFbGXvpk5t8/X4=";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
@ -9,21 +9,21 @@
|
||||
let
|
||||
appName = "LibreOffice.app";
|
||||
scriptName = "soffice";
|
||||
version = "7.6.4";
|
||||
version = "7.6.7";
|
||||
|
||||
dist = {
|
||||
aarch64-darwin = rec {
|
||||
arch = "aarch64";
|
||||
archSuffix = arch;
|
||||
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
|
||||
sha256 = "44d141603010771b720fb047a760cb1c184e767528d7c4933b5456c64ebaddb2";
|
||||
sha256 = "17686aff42734ea4feef08e1189bab3011220000f7784061314c1ae9e5942531";
|
||||
};
|
||||
|
||||
x86_64-darwin = rec {
|
||||
arch = "x86_64";
|
||||
archSuffix = "x86-64";
|
||||
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
|
||||
sha256 = "58ecd09fd4b57805d03207f0daf2d3549ceeb774e54bd4a2f339dc6c7b15dbc9";
|
||||
sha256 = "42d2eeaeee7bcb0e76e9decdcb8f5a4beebf133ad31f7d42a5e96ea770860110";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
@ -1,16 +1,13 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, lib
|
||||
, substituteAll
|
||||
, pam
|
||||
, python3
|
||||
, libxslt
|
||||
, perl
|
||||
, ArchiveZip
|
||||
, perlPackages
|
||||
, box2d
|
||||
, gettext
|
||||
, IOCompress
|
||||
, zlib
|
||||
, libjpeg
|
||||
, liblangtag
|
||||
@ -53,31 +50,31 @@
|
||||
, CoinMP
|
||||
, libwps
|
||||
, libabw
|
||||
, libargon2
|
||||
, libmysqlclient
|
||||
, autoconf
|
||||
, automake
|
||||
, openldap
|
||||
, bash
|
||||
, hunspell
|
||||
, librdf_rasqal
|
||||
, librdf_redland
|
||||
, nss
|
||||
, nspr
|
||||
, libwpg
|
||||
, dbus-glib
|
||||
, clucene_core
|
||||
, clucene_core_2
|
||||
, libcdr
|
||||
, lcms
|
||||
, lcms2
|
||||
, unixODBC
|
||||
, mdds
|
||||
, sane-backends
|
||||
, mythes
|
||||
, libexttextcat
|
||||
, libvisio
|
||||
, fontsConf
|
||||
, pkg-config
|
||||
, bluez5
|
||||
, libtool
|
||||
, carlito
|
||||
, libatomic_ops
|
||||
, graphite2
|
||||
, harfbuzz
|
||||
@ -89,8 +86,6 @@
|
||||
, glm
|
||||
, gst_all_1
|
||||
, gdb
|
||||
, commonsLogging
|
||||
, librdf_rasqal
|
||||
, gnome
|
||||
, glib
|
||||
, ncurses
|
||||
@ -98,10 +93,13 @@
|
||||
, gpgme
|
||||
, libwebp
|
||||
, abseil-cpp
|
||||
, libepubgen
|
||||
, libetonyek
|
||||
, liborcus
|
||||
, libpng
|
||||
, langs ? [ "ar" "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fi" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "tr" "uk" "zh-CN" ]
|
||||
, withHelp ? true
|
||||
, kdeIntegration ? false
|
||||
, wrapQtAppsHook ? null
|
||||
, qtbase ? null
|
||||
, qtx11extras ? null
|
||||
, qtwayland ? null
|
||||
@ -113,6 +111,18 @@
|
||||
, variant ? "fresh"
|
||||
, symlinkJoin
|
||||
, postgresql
|
||||
, makeFontsConf
|
||||
, amiri
|
||||
, caladea
|
||||
, carlito
|
||||
, dejavu_fonts
|
||||
, rubik
|
||||
, liberation-sans-narrow
|
||||
, liberation_ttf_v2
|
||||
, libertine
|
||||
, libertine-g
|
||||
, noto-fonts
|
||||
, noto-fonts-cjk-sans
|
||||
# The rest are used only in passthru, for the wrapper
|
||||
, kauth ? null
|
||||
, kcompletion ? null
|
||||
@ -130,7 +140,7 @@
|
||||
, qttools ? null
|
||||
, solid ? null
|
||||
, sonnet ? null
|
||||
} @ args:
|
||||
}:
|
||||
|
||||
assert builtins.elem variant [ "fresh" "still" ];
|
||||
|
||||
@ -141,6 +151,22 @@ let
|
||||
getDev getLib
|
||||
optionals optionalString;
|
||||
|
||||
fontsConf = makeFontsConf {
|
||||
fontDirectories = [
|
||||
amiri
|
||||
caladea
|
||||
carlito
|
||||
dejavu_fonts
|
||||
rubik
|
||||
liberation-sans-narrow
|
||||
liberation_ttf_v2
|
||||
libertine
|
||||
libertine-g
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
];
|
||||
};
|
||||
|
||||
jre' = jre17_minimal.override {
|
||||
modules = [ "java.base" "java.desktop" "java.logging" "java.sql" ];
|
||||
};
|
||||
@ -175,6 +201,8 @@ let
|
||||
help = fetchurl srcsAttributes.help;
|
||||
};
|
||||
|
||||
qtMajor = lib.versions.major qtbase.version;
|
||||
|
||||
# See `postPatch` for details
|
||||
kdeDeps = symlinkJoin {
|
||||
name = "libreoffice-kde-dependencies-${version}";
|
||||
@ -195,59 +223,41 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
inherit version;
|
||||
src = fetchurl srcsAttributes.main;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString ([
|
||||
"-I${librdf_rasqal}/include/rasqal" # librdf_redland refers to rasqal.h instead of rasqal/rasqal.h
|
||||
"-fno-visibility-inlines-hidden" # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
|
||||
] ++ optionals (stdenv.isLinux && stdenv.isAarch64 && variant == "still") [
|
||||
"-O2" # https://bugs.gentoo.org/727188
|
||||
]);
|
||||
|
||||
postUnpack = ''
|
||||
mkdir -v $sourceRoot/${tarballPath}
|
||||
'' + (flip concatMapStrings srcs.third_party (f: ''
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
|
||||
''))
|
||||
+ ''
|
||||
|
||||
${flip concatMapStrings srcs.third_party (f: ''
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
|
||||
ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
|
||||
'')}
|
||||
|
||||
ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
|
||||
ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
|
||||
|
||||
tar -xf ${srcs.help}
|
||||
tar -xf ${srcs.translations}
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Skip some broken tests:
|
||||
# - tdf160386 does not fall back to a CJK font properly for some reason
|
||||
# - the remaining tests have notes in the patch
|
||||
# FIXME: get rid of this ASAP
|
||||
./skip-broken-tests.patch
|
||||
] ++ lib.optionals (variant == "still") [
|
||||
# Remove build config to reduce the amount of `-dev` outputs in the
|
||||
# runtime closure. This behavior was introduced by upstream in commit
|
||||
# cbfac11330882c7d0a817b6c37a08b2ace2b66f4
|
||||
./0001-Strip-away-BUILDCONFIG.patch
|
||||
|
||||
# Backport fix for tests broken by expired test certificates.
|
||||
(fetchpatch {
|
||||
url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=ececb678b8362e3be8e02768ddd5e4197d87dc2a";
|
||||
hash = "sha256-TUfKlwNxUTOJ95VLqwVD+ez1xhu7bW6xZlgIaCyIiNg=";
|
||||
})
|
||||
|
||||
# Backport libxml 2.12 build fixes
|
||||
# FIXME: remove in next release
|
||||
(fetchpatch {
|
||||
url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb";
|
||||
hash = "sha256-uEgRx1eyS3Wx2ZDWEsUmpIbuKezVrIbO++qSL2QI8Lk=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=cbb17a548b5cc6a99b6ed7735479bb4f2bc40f26";
|
||||
hash = "sha256-ofhif37uvQI+gidaUpyr6XlyBc3gTJUDBRb3ootrzz0=";
|
||||
})
|
||||
# See above
|
||||
./skip-broken-tests-still.patch
|
||||
] ++ lib.optionals (variant == "fresh") [
|
||||
# Revert part of https://github.com/LibreOffice/core/commit/6f60670877208612b5ea320b3677480ef6508abb that broke zlib linking
|
||||
./readd-explicit-zlib-link.patch
|
||||
# See above
|
||||
./skip-broken-tests-fresh.patch
|
||||
];
|
||||
|
||||
# libreoffice tries to reference the BUILDCONFIG (e.g. PKG_CONFIG_PATH)
|
||||
# in the binary causing the closure size to blow up because of many unnecessary
|
||||
# dependencies to dev outputs. This behavior was patched away in nixpkgs
|
||||
# (see above), make sure these don't leak again by accident.
|
||||
disallowedRequisites = lib.optionals (!kdeIntegration)
|
||||
(lib.concatMap
|
||||
(x: lib.optional (x?dev) x.dev)
|
||||
finalAttrs.buildInputs);
|
||||
|
||||
postPatch = ''
|
||||
# configure checks for header 'gpgme++/gpgmepp_version.h',
|
||||
# and if it is found (no matter where) uses a hardcoded path
|
||||
@ -255,265 +265,11 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
# '#include <context.h>' instead of '#include <gpgmepp/context.h>'.
|
||||
#
|
||||
# Fix this path to point to where the headers can actually be found instead.
|
||||
substituteInPlace configure.ac --replace \
|
||||
substituteInPlace configure.ac --replace-fail \
|
||||
'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
|
||||
'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
|
||||
'' + optionalString kdeIntegration ''
|
||||
substituteInPlace shell/source/unix/exec/shellexec.cxx \
|
||||
--replace xdg-open kde-open5
|
||||
# configure.ac assumes that the first directory that contains headers and
|
||||
# libraries during its checks contains *all* the relevant headers/libs which
|
||||
# obviously doesn't work for us, so we have 2 options:
|
||||
#
|
||||
# 1. patch configure.ac in order to specify the direct paths to various Qt/KDE
|
||||
# dependencies which is ugly and brittle, or
|
||||
#
|
||||
# 2. use symlinkJoin to pull in the relevant dependencies and just patch in
|
||||
# that path which is *also* ugly, but far less likely to break
|
||||
#
|
||||
# The 2nd option is not very Nix'y, but I'll take robust over nice any day.
|
||||
# Additionally, it's much easier to fix if LO breaks on the next upgrade (just
|
||||
# add the missing dependencies to it).
|
||||
substituteInPlace configure.ac \
|
||||
--replace '$QT5INC ' '$QT5INC ${kdeDeps}/include ' \
|
||||
--replace '$QT5LIB ' '$QT5LIB ${kdeDeps}/lib ' \
|
||||
--replace '$KF5INC ' '$KF5INC ${kdeDeps}/include ${kdeDeps}/include/KF5 '\
|
||||
--replace '$KF5LIB ' '$KF5LIB ${kdeDeps}/lib '
|
||||
'';
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
dontUseCmakeBuildDir = true;
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray=(
|
||||
"--with-parallelism=$NIX_BUILD_CORES"
|
||||
"--with-lang=${concatStringsSep " " langs}"
|
||||
);
|
||||
|
||||
chmod a+x ./bin/unpack-sources
|
||||
patchShebangs .
|
||||
|
||||
# This is required as some cppunittests require fontconfig configured
|
||||
cp "${fontsConf}" fonts.conf
|
||||
sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
|
||||
export FONTCONFIG_FILE="$PWD/fonts.conf"
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
# fetch_Download_item tries to interpret the name as a variable name, let it do so...
|
||||
sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
|
||||
sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
|
||||
'' /* Test fixups. May need to be revisited/pruned, left alone for now. */ + ''
|
||||
# unit test sd_tiledrendering seems to be fragile
|
||||
# https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
|
||||
echo > ./sd/CppunitTest_sd_tiledrendering.mk
|
||||
sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
|
||||
# Pivot chart tests. Fragile.
|
||||
sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
|
||||
sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
|
||||
# one more fragile test?
|
||||
sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# this I actually hate, this should be a data consistency test!
|
||||
sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# rendering-dependent test
|
||||
# tilde expansion in path processing checks the existence of $HOME
|
||||
sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
|
||||
# fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
|
||||
sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
|
||||
# rendering-dependent: on my computer the test table actually doesn't fit…
|
||||
# interesting fact: test disabled on macOS by upstream
|
||||
sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
|
||||
# Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
|
||||
sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
|
||||
# one more fragile test?
|
||||
sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
# rendering-dependent tests
|
||||
sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
|
||||
sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
|
||||
sed -z -r -e 's/DECLARE_OOXMLIMPORT_TEST[(]testTdf112443,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlimport/ooxmlimport.cxx
|
||||
sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
|
||||
# not sure about this fragile test
|
||||
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
|
||||
# bunch of new Fresh failures. Sigh.
|
||||
sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
|
||||
sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
|
||||
sed -e /CppunitTest_sw_layoutwriter/d -i sw/Module_sw.mk
|
||||
sed -e /CppunitTest_sw_htmlimport/d -i sw/Module_sw.mk
|
||||
sed -e /CppunitTest_sw_core_layout/d -i sw/Module_sw.mk
|
||||
sed -e /CppunitTest_sw_uiwriter6/d -i sw/Module_sw.mk
|
||||
sed -e /CppunitTest_sdext_pdfimport/d -i sdext/Module_sdext.mk
|
||||
sed -e /CppunitTest_vcl_pdfexport/d -i vcl/Module_vcl.mk
|
||||
sed -e /CppunitTest_sc_ucalc_formula/d -i sc/Module_sc.mk
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
|
||||
sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
|
||||
|
||||
sed -e '/CPPUNIT_ASSERT(!bRTL);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(0, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(4, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(11, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(18, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(3, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(9, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(17, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
|
||||
|
||||
# testReqIfTable fails since libxml2: 2.10.3 -> 2.10.4
|
||||
sed -e 's@.*"/html/body/div/table/tr/th".*@//&@' -i sw/qa/extras/htmlexport/htmlexport.cxx
|
||||
'' /* This to avoid using /lib:/usr/lib at linking */ + ''
|
||||
sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
|
||||
|
||||
find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
|
||||
'' + optionalString stdenv.isAarch64 ''
|
||||
sed -e '/CPPUNIT_TEST(testStatisticalFormulasFODS);/d' -i './sc/qa/unit/functions_statistical.cxx'
|
||||
'' + optionalString (variant == "fresh") ''
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pPage3Objs->size());/d' -i './sw/qa/core/text/porrst.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT(pPage4Objs);/d' -i './sw/qa/core/text/porrst.cxx'
|
||||
sed -e '/CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pPage4Objs->size());/d' -i './sw/qa/core/text/porrst.cxx'
|
||||
'';
|
||||
|
||||
makeFlags = [ "SHELL=${bash}/bin/bash" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildTargets = [ "build-nocheck" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# It installs only things to $out/lib/libreoffice
|
||||
postInstall = ''
|
||||
mkdir -p $out/share
|
||||
ln -s $out/lib/libreoffice/share/xdg $out/share/applications
|
||||
|
||||
cp -r sysui/desktop/icons "$out/share"
|
||||
sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
|
||||
'';
|
||||
|
||||
# Wrapping is done in ./wrapper.nix
|
||||
dontWrapQtApps = true;
|
||||
|
||||
configureFlags = [
|
||||
(lib.withFeature withHelp "help")
|
||||
"--with-boost=${getDev boost}"
|
||||
"--with-boost-libdir=${getLib boost}/lib"
|
||||
"--with-beanshell-jar=${bsh}"
|
||||
"--with-vendor=NixOS"
|
||||
"--disable-report-builder"
|
||||
"--disable-online-update"
|
||||
"--enable-python=system"
|
||||
"--enable-dbus"
|
||||
"--enable-release-build"
|
||||
"--enable-epm"
|
||||
"--with-ant-home=${getLib ant}/lib/ant"
|
||||
"--with-system-cairo"
|
||||
"--with-system-libs"
|
||||
"--with-system-headers"
|
||||
"--with-system-openssl"
|
||||
"--with-system-libabw"
|
||||
"--with-system-liblangtag"
|
||||
"--without-system-libcmis"
|
||||
"--with-system-libwps"
|
||||
"--with-system-openldap"
|
||||
"--with-system-coinmp"
|
||||
"--with-system-postgresql"
|
||||
|
||||
# Without these, configure does not finish
|
||||
"--without-junit"
|
||||
|
||||
# Schema files for validation are not included in the source tarball
|
||||
"--without-export-validation"
|
||||
|
||||
# We do tarball prefetching ourselves
|
||||
"--disable-fetch-external"
|
||||
"--enable-build-opensymbol"
|
||||
|
||||
# I imagine this helps. Copied from go-oo.
|
||||
# Modified on every upgrade, though
|
||||
"--disable-odk"
|
||||
"--disable-firebird-sdbc"
|
||||
"--without-fonts"
|
||||
"--without-doxygen"
|
||||
|
||||
# TODO: package these as system libraries
|
||||
"--with-system-beanshell"
|
||||
"--without-system-hsqldb"
|
||||
"--without-system-altlinuxhyph"
|
||||
"--without-system-lpsolve"
|
||||
"--without-system-libetonyek"
|
||||
"--without-system-libfreehand"
|
||||
"--without-system-libmspub"
|
||||
"--without-system-libnumbertext"
|
||||
"--without-system-libpagemaker"
|
||||
"--without-system-libstaroffice"
|
||||
"--without-system-libepubgen"
|
||||
"--without-system-libqxp"
|
||||
"--without-system-dragonbox"
|
||||
"--without-system-libfixmath"
|
||||
# the "still" variant doesn't support Nixpkgs' mdds 2.1, only mdds 2.0
|
||||
] ++ optionals (variant == "still") [
|
||||
"--without-system-mdds"
|
||||
] ++ optionals (variant == "fresh") [
|
||||
"--with-system-mdds"
|
||||
] ++ [
|
||||
# https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
|
||||
"--without-system-orcus"
|
||||
"--without-system-xmlsec"
|
||||
"--without-system-zxing"
|
||||
] ++ optionals kdeIntegration [
|
||||
"--enable-kf5"
|
||||
"--enable-qt5"
|
||||
"--enable-gtk3-kde5"
|
||||
] ++ optionals (variant == "fresh") [
|
||||
"--without-system-dragonbox"
|
||||
"--without-system-libfixmath"
|
||||
# Technically needed only when kdeIntegration is enabled in the "fresh"
|
||||
# variant. Won't hurt to put it here for every "fresh" variant.
|
||||
"--without-system-frozen"
|
||||
];
|
||||
|
||||
checkTarget = concatStringsSep " " [
|
||||
"unitcheck"
|
||||
"slowcheck"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
@ -523,21 +279,24 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
jdk17
|
||||
libtool
|
||||
pkg-config
|
||||
] ++ optionals kdeIntegration [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = with xorg; finalAttrs.passthru.gst_packages ++ [
|
||||
ArchiveZip
|
||||
buildInputs = finalAttrs.passthru.gst_packages ++ [
|
||||
# Make libpng not handle APNG images, so LibreOffice's own handler kicks in
|
||||
# This should be ordered first, so it gets picked up before any other
|
||||
# propagated libpng
|
||||
# See: https://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg334080.html
|
||||
(libpng.override { apngSupport = false; })
|
||||
perlPackages.ArchiveZip
|
||||
CoinMP
|
||||
IOCompress
|
||||
perlPackages.IOCompress
|
||||
abseil-cpp
|
||||
ant
|
||||
bluez5
|
||||
boost
|
||||
box2d
|
||||
cairo
|
||||
clucene_core
|
||||
clucene_core_2
|
||||
cppunit
|
||||
cups
|
||||
curl
|
||||
@ -557,25 +316,28 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
gpgme
|
||||
graphite2
|
||||
gtk3
|
||||
harfbuzz
|
||||
(harfbuzz.override { withIcu = true; })
|
||||
hunspell
|
||||
icu
|
||||
jre'
|
||||
lcms
|
||||
lcms2
|
||||
libGL
|
||||
libGLU
|
||||
libX11
|
||||
libXaw
|
||||
libXdmcp
|
||||
libXext
|
||||
libXi
|
||||
libXinerama
|
||||
libXtst
|
||||
xorg.libX11
|
||||
xorg.libXaw
|
||||
xorg.libXdmcp
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXtst
|
||||
libabw
|
||||
libargon2
|
||||
libatomic_ops
|
||||
libcdr
|
||||
libe-book
|
||||
libepoxy
|
||||
libepubgen
|
||||
libetonyek
|
||||
libexttextcat
|
||||
libjpeg
|
||||
liblangtag
|
||||
@ -583,8 +345,8 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
libmwaw
|
||||
libmysqlclient
|
||||
libodfgen
|
||||
libpthreadstubs
|
||||
librdf_rasqal
|
||||
liborcus
|
||||
xorg.libpthreadstubs
|
||||
librdf_redland
|
||||
librevenge
|
||||
librsvg
|
||||
@ -594,7 +356,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
libwpg
|
||||
libwps
|
||||
libxml2
|
||||
libxshmfence
|
||||
xorg.libxshmfence
|
||||
libxslt
|
||||
libzmf
|
||||
libwebp
|
||||
@ -625,6 +387,169 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
kio
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray=(
|
||||
"--with-parallelism=$NIX_BUILD_CORES"
|
||||
# here because we need to be very specific about spaces
|
||||
"--with-lang=${concatStringsSep " " langs}"
|
||||
);
|
||||
|
||||
patchShebangs .
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
'' + optionalString kdeIntegration ''
|
||||
# configure.ac assumes that the first directory that contains headers and
|
||||
# libraries during its checks contains *all* the relevant headers/libs which
|
||||
# obviously doesn't work for us, so we have 2 options:
|
||||
#
|
||||
# 1. patch configure.ac in order to specify the direct paths to various Qt/KDE
|
||||
# dependencies which is ugly and brittle, or
|
||||
#
|
||||
# 2. use symlinkJoin to pull in the relevant dependencies and just patch in
|
||||
# that path which is *also* ugly, but far less likely to break
|
||||
#
|
||||
# The 2nd option is not very Nix'y, but I'll take robust over nice any day.
|
||||
# Additionally, it's much easier to fix if LO breaks on the next upgrade (just
|
||||
# add the missing dependencies to it).
|
||||
export QT${qtMajor}INC=${kdeDeps}/include
|
||||
export QT${qtMajor}LIB=${kdeDeps}/lib
|
||||
export KF${qtMajor}INC="${kdeDeps}/include ${kdeDeps}/include/KF${qtMajor}"
|
||||
export KF${qtMajor}LIB=${kdeDeps}/lib
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
# Explicitly passing in --host even on non-cross, because
|
||||
# LibreOffice will attempt to detect WSL and cross-compile
|
||||
# itself to Windows automatically, and we don't want it
|
||||
# doing that.
|
||||
"--host=${stdenv.hostPlatform.config}"
|
||||
"--without-buildconfig-recorded"
|
||||
|
||||
(lib.withFeature withHelp "help")
|
||||
"--with-boost=${getDev boost}"
|
||||
"--with-boost-libdir=${getLib boost}/lib"
|
||||
"--with-beanshell-jar=${bsh}"
|
||||
"--with-vendor=NixOS"
|
||||
"--disable-report-builder"
|
||||
"--disable-online-update"
|
||||
"--enable-python=system"
|
||||
"--enable-dbus"
|
||||
"--enable-release-build"
|
||||
"--enable-epm"
|
||||
"--with-ant-home=${getLib ant}/lib/ant"
|
||||
"--with-system-cairo"
|
||||
"--with-system-libs"
|
||||
"--with-system-headers"
|
||||
"--with-system-openssl"
|
||||
"--with-system-libabw"
|
||||
"--with-system-liblangtag"
|
||||
"--without-system-libcmis"
|
||||
"--with-system-libwps"
|
||||
"--with-system-mdds"
|
||||
"--with-system-openldap"
|
||||
"--with-system-coinmp"
|
||||
"--with-system-postgresql"
|
||||
|
||||
# Without these, configure does not finish
|
||||
"--without-junit"
|
||||
|
||||
# Schema files for validation are not included in the source tarball
|
||||
"--without-export-validation"
|
||||
|
||||
# We do tarball prefetching ourselves
|
||||
"--disable-fetch-external"
|
||||
"--enable-build-opensymbol"
|
||||
|
||||
# I imagine this helps. Copied from go-oo.
|
||||
# Modified on every upgrade, though
|
||||
"--disable-odk"
|
||||
"--disable-firebird-sdbc"
|
||||
"--without-fonts"
|
||||
"--without-doxygen"
|
||||
|
||||
# TODO: package these as system libraries
|
||||
"--with-system-beanshell"
|
||||
"--without-system-hsqldb"
|
||||
"--without-system-altlinuxhyph"
|
||||
"--without-system-frozen"
|
||||
"--without-system-lpsolve"
|
||||
"--without-system-libfreehand"
|
||||
"--without-system-libmspub"
|
||||
"--without-system-libnumbertext"
|
||||
"--without-system-libpagemaker"
|
||||
"--without-system-libstaroffice"
|
||||
"--without-system-libqxp"
|
||||
"--without-system-dragonbox"
|
||||
"--without-system-libfixmath"
|
||||
|
||||
# is packaged but headers can't be found because there is no pkg-config file
|
||||
"--without-system-zxcvbn"
|
||||
|
||||
"--with-system-orcus"
|
||||
"--with-system-libepubgen"
|
||||
"--with-system-libetonyek"
|
||||
"--without-system-xmlsec"
|
||||
"--without-system-zxing"
|
||||
] ++ optionals kdeIntegration [
|
||||
"--enable-kf${qtMajor}"
|
||||
"--enable-qt${qtMajor}"
|
||||
] ++ optionals (kdeIntegration && qtMajor == "5") [
|
||||
"--enable-gtk3-kde5"
|
||||
];
|
||||
|
||||
|
||||
env = {
|
||||
# FIXME: this is a hack, because the right cflags are not being picked up
|
||||
# from rasqal's .pc file. Needs more investigation.
|
||||
NIX_CFLAGS_COMPILE = "-I${librdf_rasqal}/include/rasqal";
|
||||
|
||||
# Provide all the fonts used in tests.
|
||||
FONTCONFIG_FILE = fontsConf;
|
||||
};
|
||||
|
||||
makeFlags = [ "SHELL=${bash}/bin/bash" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildTargets = [ "build-nocheck" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(pwd)
|
||||
'';
|
||||
|
||||
checkTarget = concatStringsSep " " [
|
||||
"unitcheck"
|
||||
"slowcheck"
|
||||
"--keep-going" # easier to debug test failures
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/icons
|
||||
|
||||
cp -r sysui/desktop/icons/hicolor $out/share/icons
|
||||
|
||||
# Rename icons for consistency
|
||||
for file in $out/share/icons/hicolor/*/apps/*; do
|
||||
mv $file "$(dirname $file)/libreoffice-$(basename $file)"
|
||||
done
|
||||
|
||||
ln -s $out/lib/libreoffice/share/xdg $out/share/applications
|
||||
|
||||
# Unversionize desktop files
|
||||
. ./bin/get_config_variables PRODUCTVERSION
|
||||
for file in $out/lib/libreoffice/share/xdg/*.desktop; do
|
||||
substituteInPlace $file \
|
||||
--replace-fail "LibreOffice $PRODUCTVERSION" "LibreOffice" \
|
||||
--replace-warn "Icon=libreoffice$PRODUCTVERSION" "Icon=libreoffice" \
|
||||
--replace-fail "Exec=libreoffice$PRODUCTVERSION" "Exec=libreoffice"
|
||||
done
|
||||
'';
|
||||
|
||||
# Wrapping is done in ./wrapper.nix
|
||||
dontWrapQtApps = true;
|
||||
|
||||
passthru = {
|
||||
inherit srcs;
|
||||
jdk = jre';
|
||||
@ -680,9 +605,18 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
};
|
||||
|
||||
# libreoffice tries to reference the BUILDCONFIG (e.g. PKG_CONFIG_PATH)
|
||||
# in the binary causing the closure size to blow up because of many unnecessary
|
||||
# dependencies to dev outputs. This behavior was patched away in nixpkgs
|
||||
# (see above), make sure these don't leak again by accident.
|
||||
# FIXME: disabled for kdeIntegration builds because the weird symlinkJoin setup
|
||||
# leaks all the -dev dependencies :(
|
||||
disallowedRequisites = lib.optionals (!kdeIntegration) (lib.concatMap (x: lib.optional (x?dev) x.dev) finalAttrs.buildInputs);
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://wiki.documentfoundation.org/ReleaseNotes/${lib.versions.majorMinor version}";
|
||||
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
|
||||
homepage = "https://libreoffice.org/";
|
||||
# at least one jar in dependencies
|
||||
|
@ -0,0 +1,36 @@
|
||||
diff --git a/writerperfect/Library_wpftcalc.mk b/writerperfect/Library_wpftcalc.mk
|
||||
index 3f7f82329..b7a11088a 100644
|
||||
--- a/writerperfect/Library_wpftcalc.mk
|
||||
+++ b/writerperfect/Library_wpftcalc.mk
|
||||
@@ -60,6 +60,7 @@ $(eval $(call gb_Library_use_externals,wpftcalc,\
|
||||
icu_headers \
|
||||
icui18n \
|
||||
icuuc \
|
||||
+ zlib \
|
||||
))
|
||||
|
||||
ifneq ($(ENABLE_WASM_STRIP_SCEXPORTS),TRUE)
|
||||
diff --git a/writerperfect/Library_wpftdraw.mk b/writerperfect/Library_wpftdraw.mk
|
||||
index a369a626c..cd2fc2be9 100644
|
||||
--- a/writerperfect/Library_wpftdraw.mk
|
||||
+++ b/writerperfect/Library_wpftdraw.mk
|
||||
@@ -65,6 +65,7 @@ $(eval $(call gb_Library_use_externals,wpftdraw,\
|
||||
icu_headers \
|
||||
icui18n \
|
||||
icuuc \
|
||||
+ zlib \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Library_add_exception_objects,wpftdraw,\
|
||||
diff --git a/writerperfect/Library_wpftimpress.mk b/writerperfect/Library_wpftimpress.mk
|
||||
index 3fa007ae5..9b0e37b4b 100644
|
||||
--- a/writerperfect/Library_wpftimpress.mk
|
||||
+++ b/writerperfect/Library_wpftimpress.mk
|
||||
@@ -50,6 +50,7 @@ $(eval $(call gb_Library_use_externals,wpftimpress,\
|
||||
odfgen \
|
||||
staroffice \
|
||||
revenge \
|
||||
+ zlib \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Library_add_exception_objects,wpftimpress,\
|
@ -0,0 +1,21 @@
|
||||
--- a/svgio/qa/cppunit/data/tdf160386.svg
|
||||
+++ b/svgio/qa/cppunit/data/tdf160386.svg
|
||||
@@ -8,7 +8,6 @@
|
||||
<text systemLanguage="en">Hello!</text>
|
||||
<text systemLanguage="es">Hola!</text>
|
||||
<text systemLanguage="fr">Bonjour!</text>
|
||||
- <text systemLanguage="ja">こんにちは</text>
|
||||
<text systemLanguage="ru">Привет!</text>
|
||||
<text>☺</text>
|
||||
</switch>
|
||||
--- a/sw/qa/core/text/text.cxx
|
||||
+++ b/sw/qa/core/text/text.cxx
|
||||
@@ -1577,6 +1577,8 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testParaUpperMarginFlyIntersect)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testTdf129810)
|
||||
{
|
||||
+ return; // flaky?
|
||||
+
|
||||
// Load the document.
|
||||
// The document embeds a subset of "Source Han Serif SC" so that it works
|
||||
// even when the font is not installed.
|
@ -0,0 +1,11 @@
|
||||
--- a/sw/qa/core/text/text.cxx
|
||||
+++ b/sw/qa/core/text/text.cxx
|
||||
@@ -1369,6 +1369,8 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testParaUpperMarginFlyIntersect)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testTdf129810)
|
||||
{
|
||||
+ return; // flaky?
|
||||
+
|
||||
// Load the document, which embeds a CJK font.
|
||||
createSwDoc("tdf129810.odt");
|
||||
|
108
pkgs/applications/office/libreoffice/skip-broken-tests.patch
Normal file
108
pkgs/applications/office/libreoffice/skip-broken-tests.patch
Normal file
@ -0,0 +1,108 @@
|
||||
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
||||
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
||||
@@ -600,6 +600,8 @@ void DesktopLOKTest::testGetFilterTypes()
|
||||
|
||||
void DesktopLOKTest::testSearchCalc()
|
||||
{
|
||||
+ return; // flaky
|
||||
+
|
||||
LibLibreOffice_Impl aOffice;
|
||||
LibLODocument_Impl* pDocument = loadDoc("search.ods");
|
||||
pDocument->pClass->initializeForRendering(pDocument, nullptr);
|
||||
@@ -630,6 +632,8 @@ void DesktopLOKTest::testSearchCalc()
|
||||
|
||||
void DesktopLOKTest::testSearchAllNotificationsCalc()
|
||||
{
|
||||
+ return; // flaky
|
||||
+
|
||||
LibLibreOffice_Impl aOffice;
|
||||
LibLODocument_Impl* pDocument = loadDoc("search.ods");
|
||||
pDocument->pClass->initializeForRendering(pDocument, nullptr);
|
||||
--- a/sc/qa/extras/vba-macro-test.cxx
|
||||
+++ b/sc/qa/extras/vba-macro-test.cxx
|
||||
@@ -364,7 +364,7 @@ CPPUNIT_TEST_FIXTURE(VBAMacroTest, testVba)
|
||||
// Failed: : Test change event for Range.FillRight:
|
||||
// Tests passed: 4
|
||||
// Tests failed: 4
|
||||
-#if !defined(_WIN32)
|
||||
+#if 0 // flaky, see above
|
||||
{ OUString("Ranges-3.xls"),
|
||||
OUString(
|
||||
"vnd.sun.Star.script:VBAProject.testMacros.test?language=Basic&location=document") },
|
||||
--- a/sc/qa/unit/ucalc_formula.cxx
|
||||
+++ b/sc/qa/unit/ucalc_formula.cxx
|
||||
@@ -1507,6 +1507,8 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaAnnotateTrimOnDoubleRefs)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdate)
|
||||
{
|
||||
+ return; // fails consistently on nixpkgs?
|
||||
+
|
||||
m_pDoc->InsertTab(0, "Formula");
|
||||
|
||||
sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn auto calc on.
|
||||
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
|
||||
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
|
||||
@@ -284,6 +284,8 @@ void checkIssuePosition(std::shared_ptr<sfx::AccessibilityIssue> const& pIssue,
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testOnlineNodeSplitAppend)
|
||||
{
|
||||
+ return; // flaky?
|
||||
+
|
||||
// Checks the a11y checker is setting the a11y issues to the nodes
|
||||
// correctly when splitting and appending nodes (through undo), which
|
||||
// happen on editing all the time.
|
||||
--- a/sw/qa/extras/htmlimport/htmlimport.cxx
|
||||
+++ b/sw/qa/extras/htmlimport/htmlimport.cxx
|
||||
@@ -306,6 +306,8 @@ CPPUNIT_TEST_FIXTURE(HtmlImportTest, testTableBorder1px)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(HtmlImportTest, testOutlineLevel)
|
||||
{
|
||||
+ return; // fails consistently, but only in the sandbox
|
||||
+
|
||||
createSwWebDoc("outline-level.html");
|
||||
// This was 0, HTML imported into Writer lost the outline numbering for
|
||||
// Heading 1 styles.
|
||||
--- a/sw/qa/extras/layout/layout3.cxx
|
||||
+++ b/sw/qa/extras/layout/layout3.cxx
|
||||
@@ -539,6 +539,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf120287c)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf155177)
|
||||
{
|
||||
+ return; // flaky
|
||||
+
|
||||
createSwDoc("tdf155177-1-min.odt");
|
||||
|
||||
uno::Reference<beans::XPropertySet> xStyle(getStyles("ParagraphStyles")->getByName("Body Text"),
|
||||
--- a/sw/qa/extras/odfimport/odfimport.cxx
|
||||
+++ b/sw/qa/extras/odfimport/odfimport.cxx
|
||||
@@ -601,6 +601,8 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo56272)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testIncorrectSum)
|
||||
{
|
||||
+ return; // flaky
|
||||
+
|
||||
createSwDoc("incorrectsum.odt");
|
||||
Scheduler::ProcessEventsToIdle();
|
||||
uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY);
|
||||
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
|
||||
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
|
||||
@@ -2762,6 +2762,8 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testDeleteNodeRedlineCallback)
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testVisCursorInvalidation)
|
||||
{
|
||||
+ return; // flaky on some backends?
|
||||
+
|
||||
SwXTextDocument* pXTextDocument = createDoc("dummy.fodt");
|
||||
ViewCallback aView1;
|
||||
int nView1 = SfxLokHelper::getView();
|
||||
--- a/sw/qa/extras/uiwriter/uiwriter5.cxx
|
||||
+++ b/sw/qa/extras/uiwriter/uiwriter5.cxx
|
||||
@@ -1613,6 +1613,8 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testDateFormFieldCurrentDateHandling)
|
||||
#if !defined(_WIN32)
|
||||
CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testDateFormFieldCurrentDateInvalidation)
|
||||
{
|
||||
+ return; // flaky on KF6
|
||||
+
|
||||
createSwDoc();
|
||||
SwDoc* pDoc = getSwDoc();
|
||||
CPPUNIT_ASSERT(pDoc);
|
342
pkgs/applications/office/libreoffice/src-fresh/deps.nix
generated
342
pkgs/applications/office/libreoffice/src-fresh/deps.nix
generated
@ -6,6 +6,13 @@
|
||||
md5 = "";
|
||||
md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "phc-winner-argon2-20190702.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/phc-winner-argon2-20190702.tar.gz";
|
||||
sha256 = "daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c";
|
||||
md5 = "";
|
||||
md5name = "daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c-phc-winner-argon2-20190702.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "boost_1_82_0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/boost_1_82_0.tar.xz";
|
||||
@ -84,11 +91,11 @@
|
||||
md5name = "d54d19d86153dbc88e2d468f7136269a2cfe71b73227e12fded01d29ac268074-libcmis-0.6.1.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "CoinMP-1.7.6.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
|
||||
sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
|
||||
name = "CoinMP-1.8.4.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/CoinMP-1.8.4.tgz";
|
||||
sha256 = "3459fb0ccbdd39342744684338984ac4cc153fb0434f4cae8cf74bd67490a38d";
|
||||
md5 = "";
|
||||
md5name = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f-CoinMP-1.7.6.tgz";
|
||||
md5name = "3459fb0ccbdd39342744684338984ac4cc153fb0434f4cae8cf74bd67490a38d-CoinMP-1.8.4.tgz";
|
||||
}
|
||||
{
|
||||
name = "cppunit-1.15.1.tar.gz";
|
||||
@ -98,11 +105,11 @@
|
||||
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "curl-8.4.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/curl-8.4.0.tar.xz";
|
||||
sha256 = "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d";
|
||||
name = "curl-8.7.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/curl-8.7.1.tar.xz";
|
||||
sha256 = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd";
|
||||
md5 = "";
|
||||
md5name = "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d-curl-8.4.0.tar.xz";
|
||||
md5name = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd-curl-8.7.1.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libe-book-0.1.3.tar.xz";
|
||||
@ -140,11 +147,11 @@
|
||||
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "expat-2.5.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/expat-2.5.0.tar.xz";
|
||||
sha256 = "ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe";
|
||||
name = "expat-2.6.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/expat-2.6.2.tar.xz";
|
||||
sha256 = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364";
|
||||
md5 = "";
|
||||
md5name = "ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe-expat-2.5.0.tar.xz";
|
||||
md5name = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364-expat-2.6.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
||||
@ -210,11 +217,102 @@
|
||||
md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
|
||||
}
|
||||
{
|
||||
name = "noto-fonts-20171024.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
|
||||
sha256 = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994";
|
||||
name = "NotoKufiArabic-v2.109.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoKufiArabic-v2.109.zip";
|
||||
sha256 = "1b6880e4b8df09c3b9e246d6084bfd94bf32a0ffff60cf2dcffd3622d0e2d79f";
|
||||
md5 = "";
|
||||
md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
|
||||
md5name = "1b6880e4b8df09c3b9e246d6084bfd94bf32a0ffff60cf2dcffd3622d0e2d79f-NotoKufiArabic-v2.109.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSans-v2.012.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSans-v2.012.zip";
|
||||
sha256 = "efef2f66ed2c5e005472cba156bd2afb68063a51bb628c6ee14143edc019d293";
|
||||
md5 = "";
|
||||
md5name = "efef2f66ed2c5e005472cba156bd2afb68063a51bb628c6ee14143edc019d293-NotoSans-v2.012.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSerif-v2.012.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSerif-v2.012.zip";
|
||||
sha256 = "3d4566a0e51e7fc14528f5a1eecc6f12e5ffbbec6484470d3da48b0d8ead345a";
|
||||
md5 = "";
|
||||
md5name = "3d4566a0e51e7fc14528f5a1eecc6f12e5ffbbec6484470d3da48b0d8ead345a-NotoSerif-v2.012.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSerifHebrew-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSerifHebrew-v2.003.zip";
|
||||
sha256 = "e45c149d6c29b38b8981401f875ab4304e73a366312783c41c082eb5366d3921";
|
||||
md5 = "";
|
||||
md5name = "e45c149d6c29b38b8981401f875ab4304e73a366312783c41c082eb5366d3921-NotoSerifHebrew-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansArabic-v2.010.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansArabic-v2.010.zip";
|
||||
sha256 = "a5a34ac1ea01d0d71c083f99440ebfb1f64224474a0d88bb7ef0e2f8d9a996d2";
|
||||
md5 = "";
|
||||
md5name = "a5a34ac1ea01d0d71c083f99440ebfb1f64224474a0d88bb7ef0e2f8d9a996d2-NotoSansArabic-v2.010.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoNaskhArabic-v2.016.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoNaskhArabic-v2.016.zip";
|
||||
sha256 = "2b6a3f30f21d27bc6b75b40a350221e12e64b753604d613bf3ddf71cdbe331ac";
|
||||
md5 = "";
|
||||
md5name = "2b6a3f30f21d27bc6b75b40a350221e12e64b753604d613bf3ddf71cdbe331ac-NotoNaskhArabic-v2.016.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansHebrew-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansHebrew-v2.003.zip";
|
||||
sha256 = "ded809309ff924bc45834bf19afaa5693cadf17580972468f6041f5e599ddb8a";
|
||||
md5 = "";
|
||||
md5name = "ded809309ff924bc45834bf19afaa5693cadf17580972468f6041f5e599ddb8a-NotoSansHebrew-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansArmenian-v2.008.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansArmenian-v2.008.zip";
|
||||
sha256 = "eab89b99e134177ca6a3f9f0412a7cb812aafceb13175d686b4c45cb237f64ac";
|
||||
md5 = "";
|
||||
md5name = "eab89b99e134177ca6a3f9f0412a7cb812aafceb13175d686b4c45cb237f64ac-NotoSansArmenian-v2.008.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSerifArmenian-v2.008.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSerifArmenian-v2.008.zip";
|
||||
sha256 = "b21c198a4c76ae598a304decefb3b5c2a4c2d4c3ae226728eff359185f291c6f";
|
||||
md5 = "";
|
||||
md5name = "b21c198a4c76ae598a304decefb3b5c2a4c2d4c3ae226728eff359185f291c6f-NotoSerifArmenian-v2.008.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansGeorgian-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansGeorgian-v2.003.zip";
|
||||
sha256 = "bd75d1f0b9ef619b5ded0018d6258eeab2f9e976d8f8074bb7890f4e301648bf";
|
||||
md5 = "";
|
||||
md5name = "bd75d1f0b9ef619b5ded0018d6258eeab2f9e976d8f8074bb7890f4e301648bf-NotoSansGeorgian-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSerifGeorgian-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSerifGeorgian-v2.003.zip";
|
||||
sha256 = "cfb41a264b97d463bab6807a5be937ba4a6ddcfa93d519a21b98b0ba73ca27d4";
|
||||
md5 = "";
|
||||
md5name = "cfb41a264b97d463bab6807a5be937ba4a6ddcfa93d519a21b98b0ba73ca27d4-NotoSerifGeorgian-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansLao-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansLao-v2.003.zip";
|
||||
sha256 = "5a87c31b1a40ef8147c1e84437e5f0ceba2d4dbbfc0b56a65821ad29870da8c0";
|
||||
md5 = "";
|
||||
md5name = "5a87c31b1a40ef8147c1e84437e5f0ceba2d4dbbfc0b56a65821ad29870da8c0-NotoSansLao-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSerifLao-v2.003.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSerifLao-v2.003.zip";
|
||||
sha256 = "e96a303d3347790b0ef3db274971a989a736ce766ec9ea1bea0e1458568a80b2";
|
||||
md5 = "";
|
||||
md5name = "e96a303d3347790b0ef3db274971a989a736ce766ec9ea1bea0e1458568a80b2-NotoSerifLao-v2.003.zip";
|
||||
}
|
||||
{
|
||||
name = "NotoSansLisu-v2.102.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/NotoSansLisu-v2.102.zip";
|
||||
sha256 = "b12a1ff762680681b7ce4d98dd29a7f54d90f5bcadd10c955afc640a27b3a268";
|
||||
md5 = "";
|
||||
md5name = "b12a1ff762680681b7ce4d98dd29a7f54d90f5bcadd10c955afc640a27b3a268-NotoSansLisu-v2.102.zip";
|
||||
}
|
||||
{
|
||||
name = "culmus-0.133.tar.gz";
|
||||
@ -287,11 +385,11 @@
|
||||
md5name = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad-glm-0.9.9.8.zip";
|
||||
}
|
||||
{
|
||||
name = "gpgme-1.18.0.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/gpgme-1.18.0.tar.bz2";
|
||||
sha256 = "361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e";
|
||||
name = "gpgme-1.23.2.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/gpgme-1.23.2.tar.bz2";
|
||||
sha256 = "9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224";
|
||||
md5 = "";
|
||||
md5name = "361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e-gpgme-1.18.0.tar.bz2";
|
||||
md5name = "9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224-gpgme-1.23.2.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "graphite2-minimal-1.3.14.tgz";
|
||||
@ -328,6 +426,13 @@
|
||||
md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
|
||||
md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "IAccessible2-1.3+git20231013.3d8c7f0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/IAccessible2-1.3+git20231013.3d8c7f0.tar.gz";
|
||||
sha256 = "0e279003f5199f80031c6dcd08f79d6f65a0505139160e7df0d09b226bff4023";
|
||||
md5 = "";
|
||||
md5name = "0e279003f5199f80031c6dcd08f79d6f65a0505139160e7df0d09b226bff4023-IAccessible2-1.3+git20231013.3d8c7f0.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "icu4c-73_2-src.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/icu4c-73_2-src.tgz";
|
||||
@ -342,6 +447,13 @@
|
||||
md5 = "";
|
||||
md5name = "ca1ee076163b438461e484421a7679fc33a64cd0a54f9d4b401893fa1eb42701-icu4c-73_2-data.zip";
|
||||
}
|
||||
{
|
||||
name = "Java-WebSocket-1.5.4.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/Java-WebSocket-1.5.4.tar.gz";
|
||||
sha256 = "a6828b35d1f938fee2335945f3d3c563cbbfa58ce7eb0bf72778d0fa7a550720";
|
||||
md5 = "";
|
||||
md5name = "a6828b35d1f938fee2335945f3d3c563cbbfa58ce7eb0bf72778d0fa7a550720-Java-WebSocket-1.5.4.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "flow-engine-0.9.4.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
|
||||
@ -434,25 +546,25 @@
|
||||
md5name = "59fdc026b5088e7947e1e6add482d2a40e1f7e25c50f198b456954216462c2eb-language-subtag-registry-2023-08-02.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "lcms2-2.12.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/lcms2-2.12.tar.gz";
|
||||
sha256 = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5";
|
||||
name = "lcms2-2.16.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/lcms2-2.16.tar.gz";
|
||||
sha256 = "d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51";
|
||||
md5 = "";
|
||||
md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz";
|
||||
md5name = "d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51-lcms2-2.16.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libassuan-2.5.6.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.6.tar.bz2";
|
||||
sha256 = "e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426";
|
||||
name = "libassuan-2.5.7.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.7.tar.bz2";
|
||||
sha256 = "0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76";
|
||||
md5 = "";
|
||||
md5name = "e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426-libassuan-2.5.6.tar.bz2";
|
||||
md5name = "0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76-libassuan-2.5.7.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "libatomic_ops-7.6.8.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
|
||||
sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
|
||||
name = "libatomic_ops-7.8.0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.8.0.tar.gz";
|
||||
sha256 = "15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31";
|
||||
md5 = "";
|
||||
md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
|
||||
md5name = "15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31-libatomic_ops-7.8.0.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libeot-0.01.tar.bz2";
|
||||
@ -476,18 +588,18 @@
|
||||
md5name = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676-libffi-3.4.4.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libgpg-error-1.43.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.43.tar.bz2";
|
||||
sha256 = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf";
|
||||
name = "libgpg-error-1.48.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.48.tar.bz2";
|
||||
sha256 = "89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f";
|
||||
md5 = "";
|
||||
md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2";
|
||||
md5name = "89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f-libgpg-error-1.48.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "liblangtag-0.6.3.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2";
|
||||
sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd";
|
||||
name = "liblangtag-0.6.7.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.7.tar.bz2";
|
||||
sha256 = "5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e";
|
||||
md5 = "";
|
||||
md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2";
|
||||
md5name = "5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e-liblangtag-0.6.7.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "libnumbertext-1.0.11.tar.xz";
|
||||
@ -497,11 +609,11 @@
|
||||
md5name = "5dcb4db3b2340f81f601ce86d8d76b69e34d70f84f804192c901e4b7f84d5fb0-libnumbertext-1.0.11.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "ltm-1.2.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/ltm-1.2.1.tar.xz";
|
||||
sha256 = "986025d7b374276fee2e30e99f3649e4ac0db8a02257a37ee10eae72abed0d1f";
|
||||
name = "ltm-1.3.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/ltm-1.3.0.tar.xz";
|
||||
sha256 = "296272d93435991308eb73607600c034b558807a07e829e751142e65ccfa9d08";
|
||||
md5 = "";
|
||||
md5name = "986025d7b374276fee2e30e99f3649e4ac0db8a02257a37ee10eae72abed0d1f-ltm-1.2.1.tar.xz";
|
||||
md5name = "296272d93435991308eb73607600c034b558807a07e829e751142e65ccfa9d08-ltm-1.3.0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libwebp-1.3.2.tar.gz";
|
||||
@ -511,25 +623,25 @@
|
||||
md5name = "2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4-libwebp-1.3.2.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "xmlsec1-1.2.37.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.37.tar.gz";
|
||||
sha256 = "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c";
|
||||
name = "xmlsec1-1.3.2.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.3.2.tar.gz";
|
||||
sha256 = "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf";
|
||||
md5 = "";
|
||||
md5name = "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c-xmlsec1-1.2.37.tar.gz";
|
||||
md5name = "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf-xmlsec1-1.3.2.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libxml2-2.11.4.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxml2-2.11.4.tar.xz";
|
||||
sha256 = "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7";
|
||||
name = "libxml2-2.12.6.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxml2-2.12.6.tar.xz";
|
||||
sha256 = "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb";
|
||||
md5 = "";
|
||||
md5name = "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7-libxml2-2.11.4.tar.xz";
|
||||
md5name = "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb-libxml2-2.12.6.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libxslt-1.1.38.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.38.tar.xz";
|
||||
sha256 = "1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1";
|
||||
name = "libxslt-1.1.39.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.39.tar.xz";
|
||||
sha256 = "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0";
|
||||
md5 = "";
|
||||
md5name = "1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1-libxslt-1.1.38.tar.xz";
|
||||
md5name = "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0-libxslt-1.1.39.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "lp_solve_5.5.tar.gz";
|
||||
@ -539,18 +651,18 @@
|
||||
md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "lxml-4.1.1.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
|
||||
sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
|
||||
name = "lxml-4.9.2.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/lxml-4.9.2.tgz";
|
||||
sha256 = "2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67";
|
||||
md5 = "";
|
||||
md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
|
||||
md5name = "2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67-lxml-4.9.2.tgz";
|
||||
}
|
||||
{
|
||||
name = "mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
sha256 = "975a9a862fed80f84e0206373f7ef05537aada5b65d99b71b36ab892b44240bf";
|
||||
name = "mariadb-connector-c-3.3.8-src.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.8-src.tar.gz";
|
||||
sha256 = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8";
|
||||
md5 = "";
|
||||
md5name = "975a9a862fed80f84e0206373f7ef05537aada5b65d99b71b36ab892b44240bf-mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
md5name = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8-mariadb-connector-c-3.3.8-src.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "mdds-2.1.1.tar.xz";
|
||||
@ -588,11 +700,11 @@
|
||||
md5name = "19279f70707bbe5ffa619f2dc319f888cec0c4a8d339dc0a21330517bd6f521d-mythes-1.2.5.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "nss-3.90-with-nspr-4.35.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/nss-3.90-with-nspr-4.35.tar.gz";
|
||||
sha256 = "f78ab1d911cae8bbc94758fb3bd0f731df4087423a4ff5db271ba65381f6b739";
|
||||
name = "nss-3.99-with-nspr-4.35.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/nss-3.99-with-nspr-4.35.tar.gz";
|
||||
sha256 = "5f29fea64b3234b33a615b6df40469e239a4168ac0909106bd00e6490b274c31";
|
||||
md5 = "";
|
||||
md5name = "f78ab1d911cae8bbc94758fb3bd0f731df4087423a4ff5db271ba65381f6b739-nss-3.90-with-nspr-4.35.tar.gz";
|
||||
md5name = "5f29fea64b3234b33a615b6df40469e239a4168ac0909106bd00e6490b274c31-nss-3.99-with-nspr-4.35.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libodfgen-0.1.8.tar.xz";
|
||||
@ -616,25 +728,32 @@
|
||||
md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
|
||||
}
|
||||
{
|
||||
name = "openldap-2.6.6.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/openldap-2.6.6.tgz";
|
||||
sha256 = "082e998cf542984d43634442dbe11da860759e510907152ea579bdc42fe39ea0";
|
||||
name = "onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2.tar.xz";
|
||||
sha256 = "37206cf981e8409d048b59ac5839621ea107ff49af72beb9d7769a2f41da8d90";
|
||||
md5 = "";
|
||||
md5name = "082e998cf542984d43634442dbe11da860759e510907152ea579bdc42fe39ea0-openldap-2.6.6.tgz";
|
||||
md5name = "37206cf981e8409d048b59ac5839621ea107ff49af72beb9d7769a2f41da8d90-onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "openssl-3.0.11.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.11.tar.gz";
|
||||
sha256 = "b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55";
|
||||
name = "openldap-2.6.7.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/openldap-2.6.7.tgz";
|
||||
sha256 = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930";
|
||||
md5 = "";
|
||||
md5name = "b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55-openssl-3.0.11.tar.gz";
|
||||
md5name = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930-openldap-2.6.7.tgz";
|
||||
}
|
||||
{
|
||||
name = "liborcus-0.18.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/liborcus-0.18.1.tar.xz";
|
||||
sha256 = "6006b9f1576315e313df715a7e72a17f3e0b17d7b6bd119cfa8a0b608ce971eb";
|
||||
name = "openssl-3.0.13.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.13.tar.gz";
|
||||
sha256 = "88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313";
|
||||
md5 = "";
|
||||
md5name = "6006b9f1576315e313df715a7e72a17f3e0b17d7b6bd119cfa8a0b608ce971eb-liborcus-0.18.1.tar.xz";
|
||||
md5name = "88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313-openssl-3.0.13.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "liborcus-0.19.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/liborcus-0.19.2.tar.xz";
|
||||
sha256 = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39";
|
||||
md5 = "";
|
||||
md5name = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39-liborcus-0.19.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libpagemaker-0.0.4.tar.xz";
|
||||
@ -644,11 +763,11 @@
|
||||
md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "pdfium-5778.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/pdfium-5778.tar.bz2";
|
||||
sha256 = "b1052ff24e9ffb11af017c444bb0f6ad508d64c9a0fb88cacb0e8210245dde06";
|
||||
name = "pdfium-6179.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/pdfium-6179.tar.bz2";
|
||||
sha256 = "4d3f08fe0e2fda86246832085426616826dcca0912202874428bfbc24d13d95c";
|
||||
md5 = "";
|
||||
md5name = "b1052ff24e9ffb11af017c444bb0f6ad508d64c9a0fb88cacb0e8210245dde06-pdfium-5778.tar.bz2";
|
||||
md5name = "4d3f08fe0e2fda86246832085426616826dcca0912202874428bfbc24d13d95c-pdfium-6179.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "pixman-0.42.2.tar.gz";
|
||||
@ -658,11 +777,11 @@
|
||||
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libpng-1.6.40.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.40.tar.xz";
|
||||
sha256 = "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1";
|
||||
name = "libpng-1.6.43.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.43.tar.xz";
|
||||
sha256 = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c";
|
||||
md5 = "";
|
||||
md5name = "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1-libpng-1.6.40.tar.xz";
|
||||
md5name = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c-libpng-1.6.43.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "tiff-4.6.0.tar.xz";
|
||||
@ -686,18 +805,18 @@
|
||||
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "postgresql-13.11.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.11.tar.bz2";
|
||||
sha256 = "4992ff647203566b670d4e54dc5317499a26856c93576d0ea951bdf6bee50bfb";
|
||||
name = "postgresql-13.14.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.14.tar.bz2";
|
||||
sha256 = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed";
|
||||
md5 = "";
|
||||
md5name = "4992ff647203566b670d4e54dc5317499a26856c93576d0ea951bdf6bee50bfb-postgresql-13.11.tar.bz2";
|
||||
md5name = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed-postgresql-13.14.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "Python-3.8.18.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/Python-3.8.18.tar.xz";
|
||||
sha256 = "3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f";
|
||||
name = "Python-3.8.19.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/Python-3.8.19.tar.xz";
|
||||
sha256 = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076";
|
||||
md5 = "";
|
||||
md5name = "3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f-Python-3.8.18.tar.xz";
|
||||
md5name = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076-Python-3.8.19.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libqxp-0.0.2.tar.xz";
|
||||
@ -742,11 +861,11 @@
|
||||
md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
|
||||
}
|
||||
{
|
||||
name = "skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
sha256 = "0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9";
|
||||
name = "skia-m116-2ddcf183eb260f63698aa74d1bb380f247ad7ccd.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/skia-m116-2ddcf183eb260f63698aa74d1bb380f247ad7ccd.tar.xz";
|
||||
sha256 = "2223ebce534458a37826e8fe4f24635b0712cde7ed1bd3208f089f6fdd796e01";
|
||||
md5 = "";
|
||||
md5name = "0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9-skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
md5name = "2223ebce534458a37826e8fe4f24635b0712cde7ed1bd3208f089f6fdd796e01-skia-m116-2ddcf183eb260f63698aa74d1bb380f247ad7ccd.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libstaroffice-0.0.7.tar.xz";
|
||||
@ -805,11 +924,11 @@
|
||||
md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
|
||||
}
|
||||
{
|
||||
name = "zlib-1.3.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/zlib-1.3.tar.xz";
|
||||
sha256 = "8a9ba2898e1d0d774eca6ba5b4627a11e5588ba85c8851336eb38de4683050a7";
|
||||
name = "zlib-1.3.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/zlib-1.3.1.tar.xz";
|
||||
sha256 = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32";
|
||||
md5 = "";
|
||||
md5name = "8a9ba2898e1d0d774eca6ba5b4627a11e5588ba85c8851336eb38de4683050a7-zlib-1.3.tar.xz";
|
||||
md5name = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32-zlib-1.3.1.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libzmf-0.0.2.tar.xz";
|
||||
@ -819,10 +938,17 @@
|
||||
md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "zxing-cpp-2.0.0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/zxing-cpp-2.0.0.tar.gz";
|
||||
sha256 = "12b76b7005c30d34265fc20356d340da179b0b4d43d2c1b35bcca86776069f76";
|
||||
name = "zxcvbn-c-2.5.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/zxcvbn-c-2.5.tar.gz";
|
||||
sha256 = "77d6c6ecb35952a8d8ce7f736b7a2bf466275c48210e309b73782d6b7e84dffd";
|
||||
md5 = "";
|
||||
md5name = "12b76b7005c30d34265fc20356d340da179b0b4d43d2c1b35bcca86776069f76-zxing-cpp-2.0.0.tar.gz";
|
||||
md5name = "77d6c6ecb35952a8d8ce7f736b7a2bf466275c48210e309b73782d6b7e84dffd-zxcvbn-c-2.5.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "zxing-cpp-2.1.0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/zxing-cpp-2.1.0.tar.gz";
|
||||
sha256 = "6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe";
|
||||
md5 = "";
|
||||
md5name = "6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe-zxing-cpp-2.1.0.tar.gz";
|
||||
}
|
||||
]
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "0y46gpnrmmpc1sah26w8pvjwnbnr9diblki9hvzygq4n800lqy7d";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.4/libreoffice-help-7.6.4.1.tar.xz";
|
||||
sha256 = "0sxvc6raij7rd8n0rg8pg61ppxlpvsx1i551hs53x972156cz2lf";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.3/libreoffice-help-24.2.3.2.tar.xz";
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "07kam9q1nyzff2y77gk4a2jbx403b6m2i1p0p49n6xscyawagzhk";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.4/libreoffice-7.6.4.1.tar.xz";
|
||||
sha256 = "0r0y92c7i42iiimzg9b1pyldnswh28j8p0lmilz7j1sxv2f0bqpn";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.3/libreoffice-24.2.3.2.tar.xz";
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "0ybn7c569wrj3xj20sx34rym8zkxazv9aj4rv76mbp5b82z0snis";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.4/libreoffice-translations-7.6.4.1.tar.xz";
|
||||
sha256 = "0jibmsghr9719nmq6w2m947g4arc8dl3wrj5yyg0fy8znnim6477";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.3/libreoffice-translations-24.2.3.2.tar.xz";
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
"7.6.4.1"
|
||||
"24.2.3.2"
|
||||
|
230
pkgs/applications/office/libreoffice/src-still/deps.nix
generated
230
pkgs/applications/office/libreoffice/src-still/deps.nix
generated
@ -7,11 +7,11 @@
|
||||
md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "boost_1_80_0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/boost_1_80_0.tar.xz";
|
||||
sha256 = "322e567e98c466c0aa0e380ed8c647552fe4af48998648428f1b5f0c8eff4666";
|
||||
name = "boost_1_82_0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/boost_1_82_0.tar.xz";
|
||||
sha256 = "e48ab6953fbd68ba47234bea5173e62427e9f6a7894e152305142895cfe955de";
|
||||
md5 = "";
|
||||
md5name = "322e567e98c466c0aa0e380ed8c647552fe4af48998648428f1b5f0c8eff4666-boost_1_80_0.tar.xz";
|
||||
md5name = "e48ab6953fbd68ba47234bea5173e62427e9f6a7894e152305142895cfe955de-boost_1_82_0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "box2d-2.4.1.tar.gz";
|
||||
@ -98,11 +98,11 @@
|
||||
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "curl-8.4.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/curl-8.4.0.tar.xz";
|
||||
sha256 = "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d";
|
||||
name = "curl-8.6.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/curl-8.6.0.tar.xz";
|
||||
sha256 = "3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15";
|
||||
md5 = "";
|
||||
md5name = "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d-curl-8.4.0.tar.xz";
|
||||
md5name = "3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15-curl-8.6.0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libe-book-0.1.3.tar.xz";
|
||||
@ -140,11 +140,11 @@
|
||||
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "expat-2.5.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/expat-2.5.0.tar.xz";
|
||||
sha256 = "ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe";
|
||||
name = "expat-2.6.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/expat-2.6.2.tar.xz";
|
||||
sha256 = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364";
|
||||
md5 = "";
|
||||
md5name = "ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe-expat-2.5.0.tar.xz";
|
||||
md5name = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364-expat-2.6.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
||||
@ -154,11 +154,11 @@
|
||||
md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "fontconfig-2.13.94.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.94.tar.xz";
|
||||
sha256 = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c";
|
||||
name = "fontconfig-2.14.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/fontconfig-2.14.2.tar.xz";
|
||||
sha256 = "dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b";
|
||||
md5 = "";
|
||||
md5name = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c-fontconfig-2.13.94.tar.xz";
|
||||
md5name = "dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b-fontconfig-2.14.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "crosextrafonts-20130214.tar.gz";
|
||||
@ -209,13 +209,6 @@
|
||||
md5 = "e7a384790b13c29113e22e596ade9687";
|
||||
md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
|
||||
}
|
||||
{
|
||||
name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
|
||||
sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61";
|
||||
md5 = "edc4d741888bc0d38e32dbaa17149596";
|
||||
md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "noto-fonts-20171024.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
|
||||
@ -279,6 +272,13 @@
|
||||
md5 = "";
|
||||
md5name = "5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c-freetype-2.13.0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "frozen-1.1.1.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/frozen-1.1.1.tar.gz";
|
||||
sha256 = "f7c7075750e8fceeac081e9ef01944f221b36d9725beac8681cbd2838d26be45";
|
||||
md5 = "";
|
||||
md5name = "f7c7075750e8fceeac081e9ef01944f221b36d9725beac8681cbd2838d26be45-frozen-1.1.1.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "glm-0.9.9.8.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/glm-0.9.9.8.zip";
|
||||
@ -301,11 +301,11 @@
|
||||
md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
|
||||
}
|
||||
{
|
||||
name = "harfbuzz-7.1.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/harfbuzz-7.1.0.tar.xz";
|
||||
sha256 = "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b";
|
||||
name = "harfbuzz-8.2.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/harfbuzz-8.2.2.tar.xz";
|
||||
sha256 = "e433ad85fbdf57f680be29479b3f964577379aaf319f557eb76569f0ecbc90f3";
|
||||
md5 = "";
|
||||
md5name = "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b-harfbuzz-7.1.0.tar.xz";
|
||||
md5name = "e433ad85fbdf57f680be29479b3f964577379aaf319f557eb76569f0ecbc90f3-harfbuzz-8.2.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "hsqldb_1_8_0.zip";
|
||||
@ -329,18 +329,18 @@
|
||||
md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "icu4c-72_1-src.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/icu4c-72_1-src.tgz";
|
||||
sha256 = "a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68";
|
||||
name = "icu4c-73_2-src.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/icu4c-73_2-src.tgz";
|
||||
sha256 = "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1";
|
||||
md5 = "";
|
||||
md5name = "a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68-icu4c-72_1-src.tgz";
|
||||
md5name = "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1-icu4c-73_2-src.tgz";
|
||||
}
|
||||
{
|
||||
name = "icu4c-72_1-data.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/icu4c-72_1-data.zip";
|
||||
sha256 = "ee19f876507d6c23d9e0a2b631096f6b0eaa6fa61728c33a89efdb55e3385dea";
|
||||
name = "icu4c-73_2-data.zip";
|
||||
url = "https://dev-www.libreoffice.org/src/icu4c-73_2-data.zip";
|
||||
sha256 = "ca1ee076163b438461e484421a7679fc33a64cd0a54f9d4b401893fa1eb42701";
|
||||
md5 = "";
|
||||
md5name = "ee19f876507d6c23d9e0a2b631096f6b0eaa6fa61728c33a89efdb55e3385dea-icu4c-72_1-data.zip";
|
||||
md5name = "ca1ee076163b438461e484421a7679fc33a64cd0a54f9d4b401893fa1eb42701-icu4c-73_2-data.zip";
|
||||
}
|
||||
{
|
||||
name = "flow-engine-0.9.4.zip";
|
||||
@ -427,11 +427,11 @@
|
||||
md5name = "2fdc3feb6e9deb17adec9bafa3321419aa19f8f4e5dea7bf8486844ca22207bf-libjpeg-turbo-2.1.5.1.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "language-subtag-registry-2023-05-11.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2023-05-11.tar.bz2";
|
||||
sha256 = "9042b64cd473bf36073513b474046f13778107b57c2ac47fb2633104120d69da";
|
||||
name = "language-subtag-registry-2023-08-02.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2023-08-02.tar.bz2";
|
||||
sha256 = "59fdc026b5088e7947e1e6add482d2a40e1f7e25c50f198b456954216462c2eb";
|
||||
md5 = "";
|
||||
md5name = "9042b64cd473bf36073513b474046f13778107b57c2ac47fb2633104120d69da-language-subtag-registry-2023-05-11.tar.bz2";
|
||||
md5name = "59fdc026b5088e7947e1e6add482d2a40e1f7e25c50f198b456954216462c2eb-language-subtag-registry-2023-08-02.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "lcms2-2.12.tar.gz";
|
||||
@ -441,11 +441,11 @@
|
||||
md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libassuan-2.5.5.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.5.tar.bz2";
|
||||
sha256 = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4";
|
||||
name = "libassuan-2.5.6.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/libassuan-2.5.6.tar.bz2";
|
||||
sha256 = "e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426";
|
||||
md5 = "";
|
||||
md5name = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4-libassuan-2.5.5.tar.bz2";
|
||||
md5name = "e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426-libassuan-2.5.6.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "libatomic_ops-7.6.8.tar.gz";
|
||||
@ -469,11 +469,11 @@
|
||||
md5name = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df-libexttextcat-3.4.6.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libffi-3.3.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
|
||||
sha256 = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056";
|
||||
name = "libffi-3.4.4.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/libffi-3.4.4.tar.gz";
|
||||
sha256 = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676";
|
||||
md5 = "";
|
||||
md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
|
||||
md5name = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676-libffi-3.4.4.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libgpg-error-1.43.tar.bz2";
|
||||
@ -483,11 +483,11 @@
|
||||
md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "liblangtag-0.6.3.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2";
|
||||
sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd";
|
||||
name = "liblangtag-0.6.7.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.7.tar.bz2";
|
||||
sha256 = "5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e";
|
||||
md5 = "";
|
||||
md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2";
|
||||
md5name = "5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e-liblangtag-0.6.7.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "libnumbertext-1.0.11.tar.xz";
|
||||
@ -518,18 +518,18 @@
|
||||
md5name = "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c-xmlsec1-1.2.37.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libxml2-2.11.4.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxml2-2.11.4.tar.xz";
|
||||
sha256 = "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7";
|
||||
name = "libxml2-2.12.5.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxml2-2.12.5.tar.xz";
|
||||
sha256 = "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21";
|
||||
md5 = "";
|
||||
md5name = "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7-libxml2-2.11.4.tar.xz";
|
||||
md5name = "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21-libxml2-2.12.5.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libxslt-1.1.35.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
|
||||
sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
|
||||
name = "libxslt-1.1.39.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libxslt-1.1.39.tar.xz";
|
||||
sha256 = "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0";
|
||||
md5 = "";
|
||||
md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
|
||||
md5name = "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0-libxslt-1.1.39.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "lp_solve_5.5.tar.gz";
|
||||
@ -546,18 +546,18 @@
|
||||
md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
|
||||
}
|
||||
{
|
||||
name = "mariadb-connector-c-3.1.8-src.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
|
||||
sha256 = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b";
|
||||
name = "mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
sha256 = "975a9a862fed80f84e0206373f7ef05537aada5b65d99b71b36ab892b44240bf";
|
||||
md5 = "";
|
||||
md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
|
||||
md5name = "975a9a862fed80f84e0206373f7ef05537aada5b65d99b71b36ab892b44240bf-mariadb-connector-c-3.3.7-src.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "mdds-2.0.3.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/mdds-2.0.3.tar.bz2";
|
||||
sha256 = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5";
|
||||
name = "mdds-2.1.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/mdds-2.1.1.tar.xz";
|
||||
sha256 = "1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56";
|
||||
md5 = "";
|
||||
md5name = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5-mdds-2.0.3.tar.bz2";
|
||||
md5name = "1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56-mdds-2.1.1.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "mDNSResponder-878.200.35.tar.gz";
|
||||
@ -588,11 +588,11 @@
|
||||
md5name = "19279f70707bbe5ffa619f2dc319f888cec0c4a8d339dc0a21330517bd6f521d-mythes-1.2.5.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "nss-3.90-with-nspr-4.35.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/nss-3.90-with-nspr-4.35.tar.gz";
|
||||
sha256 = "f78ab1d911cae8bbc94758fb3bd0f731df4087423a4ff5db271ba65381f6b739";
|
||||
name = "nss-3.98-with-nspr-4.35.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/nss-3.98-with-nspr-4.35.tar.gz";
|
||||
sha256 = "59bb55a59b02e4004fc26ad0aa1a13fe8d73c6c90c447dd2f2efb73fb81083ed";
|
||||
md5 = "";
|
||||
md5name = "f78ab1d911cae8bbc94758fb3bd0f731df4087423a4ff5db271ba65381f6b739-nss-3.90-with-nspr-4.35.tar.gz";
|
||||
md5name = "59bb55a59b02e4004fc26ad0aa1a13fe8d73c6c90c447dd2f2efb73fb81083ed-nss-3.98-with-nspr-4.35.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libodfgen-0.1.8.tar.xz";
|
||||
@ -616,25 +616,25 @@
|
||||
md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
|
||||
}
|
||||
{
|
||||
name = "openldap-2.4.59.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/openldap-2.4.59.tgz";
|
||||
sha256 = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34";
|
||||
name = "openldap-2.6.6.tgz";
|
||||
url = "https://dev-www.libreoffice.org/src/openldap-2.6.6.tgz";
|
||||
sha256 = "082e998cf542984d43634442dbe11da860759e510907152ea579bdc42fe39ea0";
|
||||
md5 = "";
|
||||
md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
|
||||
md5name = "082e998cf542984d43634442dbe11da860759e510907152ea579bdc42fe39ea0-openldap-2.6.6.tgz";
|
||||
}
|
||||
{
|
||||
name = "openssl-3.0.10.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.10.tar.gz";
|
||||
sha256 = "1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323";
|
||||
name = "openssl-3.0.13.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.13.tar.gz";
|
||||
sha256 = "88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313";
|
||||
md5 = "";
|
||||
md5name = "1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323-openssl-3.0.10.tar.gz";
|
||||
md5name = "88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313-openssl-3.0.13.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "liborcus-0.17.2.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/liborcus-0.17.2.tar.bz2";
|
||||
sha256 = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143";
|
||||
name = "liborcus-0.19.2.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/liborcus-0.19.2.tar.xz";
|
||||
sha256 = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39";
|
||||
md5 = "";
|
||||
md5name = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143-liborcus-0.17.2.tar.bz2";
|
||||
md5name = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39-liborcus-0.19.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libpagemaker-0.0.4.tar.xz";
|
||||
@ -658,18 +658,18 @@
|
||||
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "libpng-1.6.39.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.39.tar.xz";
|
||||
sha256 = "1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937";
|
||||
name = "libpng-1.6.40.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.40.tar.xz";
|
||||
sha256 = "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1";
|
||||
md5 = "";
|
||||
md5name = "1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937-libpng-1.6.39.tar.xz";
|
||||
md5name = "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1-libpng-1.6.40.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "tiff-4.5.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/tiff-4.5.1.tar.xz";
|
||||
sha256 = "3c080867114c26edab3129644a63b708028a90514b7fe3126e38e11d24f9f88a";
|
||||
name = "tiff-4.6.0.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/tiff-4.6.0.tar.xz";
|
||||
sha256 = "e178649607d1e22b51cf361dd20a3753f244f022eefab1f2f218fc62ebaf87d2";
|
||||
md5 = "";
|
||||
md5name = "3c080867114c26edab3129644a63b708028a90514b7fe3126e38e11d24f9f88a-tiff-4.5.1.tar.xz";
|
||||
md5name = "e178649607d1e22b51cf361dd20a3753f244f022eefab1f2f218fc62ebaf87d2-tiff-4.6.0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "poppler-23.09.0.tar.xz";
|
||||
@ -686,18 +686,18 @@
|
||||
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "postgresql-13.10.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.10.tar.bz2";
|
||||
sha256 = "5bbcf5a56d85c44f3a8b058fb46862ff49cbc91834d07e295d02e6de3c216df2";
|
||||
name = "postgresql-13.14.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.14.tar.bz2";
|
||||
sha256 = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed";
|
||||
md5 = "";
|
||||
md5name = "5bbcf5a56d85c44f3a8b058fb46862ff49cbc91834d07e295d02e6de3c216df2-postgresql-13.10.tar.bz2";
|
||||
md5name = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed-postgresql-13.14.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "Python-3.8.18.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/Python-3.8.18.tar.xz";
|
||||
sha256 = "3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f";
|
||||
name = "Python-3.8.19.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/Python-3.8.19.tar.xz";
|
||||
sha256 = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076";
|
||||
md5 = "";
|
||||
md5name = "3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f-Python-3.8.18.tar.xz";
|
||||
md5name = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076-Python-3.8.19.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libqxp-0.0.2.tar.xz";
|
||||
@ -742,11 +742,11 @@
|
||||
md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
|
||||
}
|
||||
{
|
||||
name = "skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz";
|
||||
sha256 = "c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9";
|
||||
name = "skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
sha256 = "0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9";
|
||||
md5 = "";
|
||||
md5name = "c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9-skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz";
|
||||
md5name = "0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9-skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libstaroffice-0.0.7.tar.xz";
|
||||
@ -791,11 +791,11 @@
|
||||
md5name = "b55fda9440d1e070630eb2487d8b8697cf412c214a27caee9df69cec7c004de3-libwpg-0.3.4.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libwps-0.4.12.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libwps-0.4.12.tar.xz";
|
||||
sha256 = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb";
|
||||
name = "libwps-0.4.14.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libwps-0.4.14.tar.xz";
|
||||
sha256 = "365b968e270e85a8469c6b160aa6af5619a4e6c995dbb04c1ecc1b4dd13e80de";
|
||||
md5 = "";
|
||||
md5name = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb-libwps-0.4.12.tar.xz";
|
||||
md5name = "365b968e270e85a8469c6b160aa6af5619a4e6c995dbb04c1ecc1b4dd13e80de-libwps-0.4.14.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "xsltml_2.1.2.zip";
|
||||
@ -805,11 +805,11 @@
|
||||
md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
|
||||
}
|
||||
{
|
||||
name = "zlib-1.2.13.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/zlib-1.2.13.tar.xz";
|
||||
sha256 = "d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98";
|
||||
name = "zlib-1.3.1.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/zlib-1.3.1.tar.xz";
|
||||
sha256 = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32";
|
||||
md5 = "";
|
||||
md5name = "d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98-zlib-1.2.13.tar.xz";
|
||||
md5name = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32-zlib-1.3.1.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "libzmf-0.0.2.tar.xz";
|
||||
@ -819,10 +819,10 @@
|
||||
md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "zxing-cpp-1.4.0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.4.0.tar.gz";
|
||||
sha256 = "126767bb56f8a1f25ae84d233db2e9b9be50d71f5776092d0e170ca0f0ed1862";
|
||||
name = "zxing-cpp-2.0.0.tar.gz";
|
||||
url = "https://dev-www.libreoffice.org/src/zxing-cpp-2.0.0.tar.gz";
|
||||
sha256 = "12b76b7005c30d34265fc20356d340da179b0b4d43d2c1b35bcca86776069f76";
|
||||
md5 = "";
|
||||
md5name = "126767bb56f8a1f25ae84d233db2e9b9be50d71f5776092d0e170ca0f0ed1862-zxing-cpp-1.4.0.tar.gz";
|
||||
md5name = "12b76b7005c30d34265fc20356d340da179b0b4d43d2c1b35bcca86776069f76-zxing-cpp-2.0.0.tar.gz";
|
||||
}
|
||||
]
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "1x9i5vihsza6gkib14nmfywk0qb4qa76m1z9333z9c3faj6wp4d3";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.5.9/libreoffice-help-7.5.9.2.tar.xz";
|
||||
sha256 = "1l543k603mbr3rnwlnv9j52mblmvkgj9y49w4v7w3xm8b15331rs";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.7/libreoffice-help-7.6.7.2.tar.xz";
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "1ml826nngwnk96v9ghxdlqhab2f3ml1mxszxqj20j3cl3h9plaip";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.5.9/libreoffice-7.5.9.2.tar.xz";
|
||||
sha256 = "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.7/libreoffice-7.6.7.2.tar.xz";
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
sha256 = "1wmg33cijz32mvg8dhzjibbjjpsgh7s257cn9ckr6k9kg80zrfv7";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.5.9/libreoffice-translations-7.5.9.2.tar.xz";
|
||||
sha256 = "1bzmpa04bv8afhl3p68dlicamh0zyckmbdgqb3v72fjmx2h8i64a";
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/7.6.7/libreoffice-translations-7.6.7.2.tar.xz";
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
"7.5.9.2"
|
||||
"7.6.7.2"
|
||||
|
@ -21,14 +21,14 @@
|
||||
let
|
||||
pname = "qownnotes";
|
||||
appname = "QOwnNotes";
|
||||
version = "24.5.2";
|
||||
version = "24.5.4";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||
hash = "sha256-jfkTCLXHLqKub6I+p4WVXiPFojVdZkCOMz02tUQOCos=";
|
||||
hash = "sha256-OxCkIN596Zzjd2ldRn7MRpSupb2fhbZH4Hwr16Mz6Fo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -196,8 +196,10 @@ let
|
||||
x11_args+=(--tmpfs /tmp/.X11-unix)
|
||||
|
||||
# Try to guess X socket path. This doesn't cover _everything_, but it covers some things.
|
||||
if [[ "$DISPLAY" == :* ]]; then
|
||||
display_nr=''${DISPLAY#?}
|
||||
if [[ "$DISPLAY" == *:* ]]; then
|
||||
# recover display number from $DISPLAY formatted [host]:num[.screen]
|
||||
display_nr=''${DISPLAY/#*:} # strip host
|
||||
display_nr=''${display_nr/%.*} # strip screen
|
||||
local_socket=/tmp/.X11-unix/X$display_nr
|
||||
x11_args+=(--ro-bind-try "$local_socket" "$local_socket")
|
||||
fi
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arc-browser";
|
||||
version = "1.43.0-50018";
|
||||
version = "1.43.1-50198";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-naYL4AHmo8L1kxlkuCxqEBFWZZ14Nj+wUxzHGB1vNfw=";
|
||||
hash = "sha256-++C3COEs0ycfj+vV4PdlWloc4M0hGZG5fdJ+rbyBo7w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
@ -1,16 +1,18 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildNpmPackage
|
||||
, fetchFromGitHub
|
||||
, imagemagick
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, electron_28
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
imagemagick,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
electron_28,
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_28;
|
||||
electronDist = "${electron}/${if stdenv.isDarwin then "Applications" else "libexec/electron"}";
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "blockbench";
|
||||
@ -23,40 +25,59 @@ buildNpmPackage rec {
|
||||
hash = "sha256-LuWxjBsOBo6tSlSGaDWrNYcTerIpU+rw3r+zN6gtYb0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
imagemagick # for icon resizing
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
nativeBuildInputs =
|
||||
[ makeWrapper ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [
|
||||
imagemagick # for icon resizing
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-CHZdCiewkmToDHhTTvOqQfWrphOw1oGLgwSRRH3YFWE=";
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
|
||||
# disable code signing on Darwin
|
||||
postConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY=false
|
||||
sed -i "/afterSign/d" package.json
|
||||
'';
|
||||
|
||||
npmBuildScript = "bundle";
|
||||
|
||||
postBuild = ''
|
||||
# electronDist needs to be modifiable on Darwin
|
||||
cp -r ${electronDist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=${electron}/libexec/electron \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/blockbench
|
||||
cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/blockbench
|
||||
${lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r dist/mac*/Blockbench.app $out/Applications
|
||||
makeWrapper $out/Applications/Blockbench.app/Contents/MacOS/Blockbench $out/bin/blockbench
|
||||
''}
|
||||
|
||||
for size in 16 32 48 64 128 256 512; do
|
||||
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
convert -resize "$size"x"$size" icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/blockbench.png
|
||||
done
|
||||
${lib.optionalString (!stdenv.isDarwin) ''
|
||||
mkdir -p $out/share/blockbench
|
||||
cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/blockbench
|
||||
|
||||
makeWrapper ${lib.getExe electron} $out/bin/blockbench \
|
||||
--add-flags $out/share/blockbench/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||
--inherit-argv0
|
||||
for size in 16 32 48 64 128 256 512; do
|
||||
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
convert -resize "$size"x"$size" icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/blockbench.png
|
||||
done
|
||||
|
||||
makeWrapper ${lib.getExe electron} $out/bin/blockbench \
|
||||
--add-flags $out/share/blockbench/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||
--inherit-argv0
|
||||
''}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -81,7 +102,9 @@ buildNpmPackage rec {
|
||||
homepage = "https://blockbench.net/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "blockbench";
|
||||
maintainers = with lib.maintainers; [ ckie tomasajt ];
|
||||
broken = stdenv.isDarwin;
|
||||
maintainers = with lib.maintainers; [
|
||||
ckie
|
||||
tomasajt
|
||||
];
|
||||
};
|
||||
}
|
||||
|
30
pkgs/by-name/bl/bluemap/package.nix
Normal file
30
pkgs/by-name/bl/bluemap/package.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib, stdenvNoCC, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "bluemap";
|
||||
version = "3.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/BlueMap-Minecraft/BlueMap/releases/download/v${version}/BlueMap-${version}-cli.jar";
|
||||
hash = "sha256-YWf69+nsMfqk2x9xGTt+tdnGvaU+6rPsiBLWsP89ngM=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
makeWrapper ${jre}/bin/java $out/bin/bluemap --add-flags "-jar $src"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "3D minecraft map renderer";
|
||||
homepage = "https://bluemap.bluecolored.de/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ dandellion h7x4 ];
|
||||
mainProgram = "bluemap";
|
||||
};
|
||||
}
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bpftrace";
|
||||
version = "0.20.3";
|
||||
version = "0.20.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iovisor";
|
||||
repo = "bpftrace";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-B4BxoZSPSpDWLUgcYgQEmuhVr2mX04hrFCLu04vp1so=";
|
||||
hash = "sha256-GJSUHMOp3vCWj8C+1mBHcnUgxLUWUz8Jd8wpq7u0q3s=";
|
||||
};
|
||||
|
||||
|
||||
|
@ -7,34 +7,50 @@
|
||||
, libewf
|
||||
, libxml2
|
||||
, openssl
|
||||
, tre
|
||||
, zlib
|
||||
, pkg-config
|
||||
, python310
|
||||
, re2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bulk_extractor";
|
||||
version = "2.0.6";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simsong";
|
||||
repo = "bulk_extractor";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-LNdRN4pEA0rVEyKiBKGJgTKA4veVvsuP3ufiolHTk/s=";
|
||||
hash = "sha256-Jj/amXESFBu/ZaiIRlDKmtWTBVQ2TEvOM2jBYP3y1L8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python310
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
exiv2
|
||||
flex
|
||||
libewf
|
||||
libxml2
|
||||
openssl
|
||||
tre
|
||||
zlib
|
||||
re2
|
||||
];
|
||||
|
||||
preAutoreconf = ''
|
||||
python3 etc/makefile_builder.py
|
||||
autoheader -f
|
||||
aclocal -I m4
|
||||
'';
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace src/be20_api/feature_recorder_set.cpp --replace-fail '#warn ' '#warning '
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A digital forensics tool for extracting information from file systems";
|
||||
longDescription = ''
|
||||
|
@ -8,13 +8,13 @@ let
|
||||
|
||||
in buildDotnetModule rec {
|
||||
pname = "dotnet-outdated";
|
||||
version = "4.6.2";
|
||||
version = "4.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotnet-outdated";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wXPcFYnbQbnF1xg3PA9iQsd0BrMD2P+OzZYLd4XwhbQ=";
|
||||
hash = "sha256-Ah5VOCIkSRkeDWk/KYHIc/OELo0T/HuJl0LEUiumlu0=";
|
||||
};
|
||||
|
||||
inherit dotnet-sdk;
|
||||
|
@ -47,13 +47,13 @@ let
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.13.0";
|
||||
version = "2.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-T1M+AwKc7O7Ex6mzBtYBwhOXHkggO5CsjddmZhBpxfQ=";
|
||||
hash = "sha256-AB7GxeKLD+xdnFEA/STD7CFazsybYGtX10Q/Q4MRTrU=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
@ -159,7 +159,7 @@ stdenv'.mkDerivation (finalAttrs: {
|
||||
description = "Like neofetch, but much faster because written in C";
|
||||
homepage = "https://github.com/fastfetch-cli/fastfetch";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ gerg-l khaneliman ];
|
||||
maintainers = with lib.maintainers; [ khaneliman ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "fastfetch";
|
||||
};
|
||||
|
@ -80,10 +80,6 @@ buildGoModule rec {
|
||||
export ldflags+=" -X main.ForgejoVersion=$(GITEA_VERSION=${version} make show-version-api)"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
go run build/merge-forgejo-locales.go
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir $data
|
||||
cp -R ./{templates,options} ${frontend}/public $data
|
||||
@ -93,10 +89,9 @@ buildGoModule rec {
|
||||
--prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]}
|
||||
'';
|
||||
|
||||
# $data is not available in goModules.drv and preBuild isn't needed
|
||||
# $data is not available in goModules.drv
|
||||
overrideModAttrs = (_: {
|
||||
postPatch = null;
|
||||
preBuild = null;
|
||||
});
|
||||
|
||||
passthru = {
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ghciwatch";
|
||||
version = "0.5.11";
|
||||
version = "0.5.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MercuryTechnologies";
|
||||
repo = "ghciwatch";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lWeQ0nBJDUJ9c915WWy/YsIoWwtipz5ns2xvFJSD9LQ=";
|
||||
hash = "sha256-XkwxAhZJFeAuWytCco4RFG1K/FJEiTmGDxOyY6KS/Ds=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-1jcdhTLCdCOh3EHywlFi83KupmWX4hGvB2/LhtzUPRk=";
|
||||
cargoHash = "sha256-ToQes3WWnI7vDKSBQZEzpKFSex5oDdnOKjOC6MONrhg=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.CoreFoundation
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-critic";
|
||||
version = "0.11.3";
|
||||
version = "0.11.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-critic";
|
||||
repo = "go-critic";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GEwUz6iH9y+d2UoKY68VHOKomn4EUkzoUgNHTqluW8I=";
|
||||
hash = "sha256-v/7fc3MRQoMQCKqZQVuZEm5R9ha5wusN+hEzp7aBpNk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rfqX76SQnLQFwheHlS3GZD+jeaVd38qfSnQCH7OH6+I=";
|
||||
vendorHash = "sha256-Qw4t2v/5IZnpZX8sR26DL0SYrjvfuJSzDUpZ4G0u6hU=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/gocritic"
|
||||
|
@ -9,6 +9,9 @@
|
||||
bash,
|
||||
substituteAll,
|
||||
}:
|
||||
let
|
||||
arch = stdenv.hostPlatform.uname.processor;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "haredo";
|
||||
version = "1.0.5";
|
||||
@ -41,12 +44,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelChecking = true;
|
||||
|
||||
doCheck = true;
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
preBuild = ''
|
||||
HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)"
|
||||
HARECACHE="$(mktemp -d)"
|
||||
export HARECACHE
|
||||
export PREFIX=${builtins.placeholder "out"}
|
||||
'';
|
||||
@ -54,7 +57,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
./bootstrap.sh
|
||||
hare build -o bin/haredo -qRa${arch} ./src
|
||||
scdoc <doc/haredo.1.scd >doc/haredo.1
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@ -70,7 +74,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
./bootstrap.sh install
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/man/man1
|
||||
cp ./bin/haredo $out/bin
|
||||
cp ./doc/haredo.1 $out/share/man/man1
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
@ -41,13 +41,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "icewm";
|
||||
version = "3.4.7";
|
||||
version = "3.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ice-wm";
|
||||
repo = "icewm";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-p7qbmR8NcE8mgmlTtkHxVRo4DDUHPMiAUhdF3zm9IEc=";
|
||||
hash = "sha256-n0p8i6v6QreCFiChngHnx+5K4Djj34/+dmIA+bj/0cU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
41
pkgs/by-name/li/libepubgen/package.nix
Normal file
41
pkgs/by-name/li/libepubgen/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchgit
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, boost
|
||||
, cppunit
|
||||
, librevenge
|
||||
, libxml2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libepubgen";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/libepubgen/code";
|
||||
rev = "libepubgen-${version}";
|
||||
hash = "sha256-wPpU8Sfhx9GIgDmT/otT5yV4iQKm9QPZqgSBTfFcbbg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cppunit
|
||||
librevenge
|
||||
libxml2
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An EPUB generator for librevenge";
|
||||
homepage = "https://sourceforge.net/projects/libepubgen/";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
23
pkgs/by-name/li/libertine-g/package.nix
Normal file
23
pkgs/by-name/li/libertine-g/package.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ lib, stdenv, fetchzip }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "linux-libertine-g";
|
||||
version = "2012-01-16";
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://www.numbertext.org/linux/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
|
||||
hash = "sha256-UGTB7jsI6peivCtEt96RCSi5XHCrnjCSs0Ud5bF7uxk=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp -r *.ttf $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Graphite versions of Linux Libertine and Linux Biolinum font families for LibreOffice and OpenOffice.org";
|
||||
homepage = "https://numbertext.org/linux/";
|
||||
maintainers = [];
|
||||
license = lib.licenses.ofl;
|
||||
};
|
||||
}
|
54
pkgs/by-name/li/libetonyek/package.nix
Normal file
54
pkgs/by-name/li/libetonyek/package.nix
Normal file
@ -0,0 +1,54 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
# fails on older Boost due to https://github.com/boostorg/phoenix/issues/111
|
||||
, boost184
|
||||
, cppunit
|
||||
, glm
|
||||
, gperf
|
||||
, liblangtag
|
||||
, librevenge
|
||||
, libxml2
|
||||
, mdds
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libetonyek";
|
||||
version = "0.1.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LibreOffice";
|
||||
repo = "libetonyek";
|
||||
rev = "libetonyek-${version}";
|
||||
hash = "sha256-wgyeQj1sY78sbbZT+NZuq9HEKB+ta7wwipbfN3JkyyU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost184
|
||||
cppunit
|
||||
glm
|
||||
gperf
|
||||
liblangtag
|
||||
librevenge
|
||||
libxml2
|
||||
mdds
|
||||
];
|
||||
|
||||
configureFlags = ["--with-mdds=2.1"];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A library and a set of tools for reading and converting Apple iWork documents (Keynote, Pages and Numbers).";
|
||||
homepage = "https://github.com/LibreOffice/libetonyek";
|
||||
changelog = "https://github.com/LibreOffice/libetonyek/blob/${src.rev}/NEWS";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
41
pkgs/by-name/li/libixion/package.nix
Normal file
41
pkgs/by-name/li/libixion/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, boost
|
||||
, mdds
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libixion";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ixion";
|
||||
repo = "ixion";
|
||||
rev = version;
|
||||
hash = "sha256-BrexWRaxrLTWuoU62kqws3tlSqVOHecSV5MXc4ZezFs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
mdds
|
||||
python3
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A general purpose formula parser, interpreter, formula cell dependency tracker and spreadsheet document model backend all in one package.";
|
||||
homepage = "https://gitlab.com/ixion/ixion";
|
||||
changelog = "https://gitlab.com/ixion/ixion/-/blob/${src.rev}/CHANGELOG";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
45
pkgs/by-name/li/liborcus/package.nix
Normal file
45
pkgs/by-name/li/liborcus/package.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, boost
|
||||
, libixion
|
||||
, mdds
|
||||
, python3
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liborcus";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "orcus";
|
||||
repo = "orcus";
|
||||
rev = version;
|
||||
hash = "sha256-+9C52H99c/kL5DEIoXV+WcLnTftRbicRLQN/FdIXBw8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
libixion
|
||||
mdds
|
||||
python3
|
||||
zlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Collection of parsers and import filters for spreadsheet documents";
|
||||
homepage = "https://gitlab.com/orcus/orcus";
|
||||
changelog = "https://gitlab.com/orcus/orcus/-/blob/${src.rev}/CHANGELOG";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -1,31 +1,31 @@
|
||||
{ lib
|
||||
, fetchPypi
|
||||
, python3Packages
|
||||
, nix-update-script
|
||||
{
|
||||
lib,
|
||||
fetchPypi,
|
||||
python3Packages,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mcuboot-imgtool";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "imgtool";
|
||||
hash = "sha256-elQSVeae7B8Sqjjc4fHU/iDYISZ3xoqbbsY0ypGgZhI=";
|
||||
hash = "sha256-T3+831PETqqmImUEUQzLUvfvAMmXUDz5STSzMMlge2A=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
nativeBuildInputs = with python3Packages; [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
cbor2
|
||||
click
|
||||
cryptography
|
||||
intelhex
|
||||
pyyaml
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -9,16 +9,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mini-calc";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coco33920";
|
||||
repo = "calc";
|
||||
rev = version;
|
||||
hash = "sha256-xLJbucUeH8pSXUESwwChR6onLVRXZ4Rx2d4FlXTbtLQ=";
|
||||
hash = "sha256-vQQ0JKqNhcJ4UhbPzg3OmA2lmZ3HqNB3Ag68OffIXt0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-GNguTQMjzuCCQKei5uA2lyB1Dms0nOfM7zQKxftV5Rk=";
|
||||
cargoHash = "sha256-PfhcQnAWK8/R+HTx/iHibqMvpjPDKUZssDbO9XgkOuk=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
postFixup = ''
|
||||
|
@ -17,16 +17,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "navidrome";
|
||||
version = "0.52.0";
|
||||
version = "0.52.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "navidrome";
|
||||
repo = "navidrome";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AbavYvXMVJTopnfBFNx2TVqITPZCRtVeUFqROpNmtt8=";
|
||||
hash = "sha256-M1BxR4Mmkfbr9Wb2YwWEeVGgKOCtD/8pgFZiv8mTi7s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rwRWyegjlDFqbq1/cI2DhC1UJEySJaZkeoxgeH+u5Rc=";
|
||||
vendorHash = "sha256-puldHJs5GiaXvyvwuzAX00nMLUxoBESpxLOEtBYD7o4=";
|
||||
|
||||
npmRoot = "ui";
|
||||
|
||||
|
@ -26,16 +26,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
|
||||
pname = "neovide";
|
||||
version = "0.13.0";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovide";
|
||||
repo = "neovide";
|
||||
rev = version;
|
||||
sha256 = "sha256-lYahMSaagT6DloFMXT2lLPM1xX/9IEGNIPvbo1MQgSw=";
|
||||
sha256 = "sha256-M19LKNjUmC0WkVGm4t7vjxgMMe0FdMTmB1mLcG33OUg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-g/Ezyz2gC1YaPMdIy/WdoOvezJUH3aB2FA87viahRzc=";
|
||||
cargoHash = "sha256-2fPprZVT7V+Ot8aCpWj6WTdyFylmzlujFdTJCrtE0rk=";
|
||||
|
||||
SKIA_SOURCE_DIR =
|
||||
let
|
||||
@ -43,8 +43,8 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
|
||||
owner = "rust-skia";
|
||||
repo = "skia";
|
||||
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
|
||||
rev = "m124-0.72.3";
|
||||
sha256 = "sha256-zlHUJUXukE4CsXwwmVl3KHf9mnNPT8lC/ETEE15Gb4s=";
|
||||
rev = "m119-0.67.3";
|
||||
sha256 = "sha256-U75NuJnQa5+SNlOrsBmdlvflGdjo3el63EeIsbnE7ms=";
|
||||
};
|
||||
# The externals for skia are taken from skia/DEPS
|
||||
externals = linkFarm "skia-externals" (lib.mapAttrsToList
|
||||
|
@ -16,13 +16,13 @@
|
||||
},
|
||||
"zlib": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/zlib",
|
||||
"rev": "646b7f569718921d7d4b5b8e22572ff6c76f2596",
|
||||
"sha256": "sha256-jNj6SuTZ5/a7crtYhxW3Q/TlfRMNMfYIVxDlr7bYdzQ="
|
||||
"rev": "c876c8f87101c5a75f6014b0f832499afeb65b73",
|
||||
"sha256": "sha256-mwozVo8ymyrYN4tw+/ZnSI+xogSTZQ6PUBba/jQqRkE="
|
||||
},
|
||||
"harfbuzz": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||
"rev": "c053e8f29257814e11ad61493dbbe29f27656de4",
|
||||
"sha256": "sha256-D8DNcZH/oiJqWvfWFHvQ8AwQ3OrMwyZdfGmZ5y30Hvg="
|
||||
"rev": "4cfc6d8e173e800df086d7be078da2e8c5cfca19",
|
||||
"sha256": "sha256-rrstyAz7Eb8ZgFJZKUASY8nU4YFZAptd5VS9B2cs2Yg="
|
||||
},
|
||||
"wuffs": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@ -31,7 +31,7 @@
|
||||
},
|
||||
"libpng": {
|
||||
"url": "https://skia.googlesource.com/third_party/libpng.git",
|
||||
"rev": "144b348e072a78e8130ed0acc452c9f039a67bf2",
|
||||
"sha256": "sha256-eTF7q7hR4S1OqV2oPQKmcHujA5Od4rGMc5879kT0SkE="
|
||||
"rev": "386707c6d19b974ca2e3db7f5c61873813c6fe44",
|
||||
"sha256": "sha256-67kf5MBsnBBi0bOfX/RKL52xpaCWm/ampltAI+EeQ+c="
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs:
|
||||
|
||||
in {
|
||||
pname = "neovim-unwrapped";
|
||||
version = "0.10.0";
|
||||
version = "0.9.5";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@ -74,7 +74,7 @@ in {
|
||||
owner = "neovim";
|
||||
repo = "neovim";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-FCOipXHkAbkuFw9JjEpOIJ8BkyMkjkI0Dp+SzZ4yZlw=";
|
||||
hash = "sha256-CcaBqA0yFCffNPmXOJTo8c9v1jrEBiqAl8CG5Dj5YxE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -86,11 +86,7 @@ in {
|
||||
|
||||
dontFixCmake = true;
|
||||
|
||||
inherit lua;
|
||||
treesitter-parsers = treesitter-parsers //
|
||||
{ markdown = treesitter-parsers.markdown // { location = "tree-sitter-markdown"; }; } //
|
||||
{ markdown-inline = treesitter-parsers.markdown // { language = "markdown_inline"; location = "tree-sitter-markdown-inline"; }; }
|
||||
;
|
||||
inherit lua treesitter-parsers;
|
||||
|
||||
buildInputs = [
|
||||
gperf
|
||||
@ -173,13 +169,11 @@ in {
|
||||
'' + ''
|
||||
mkdir -p $out/lib/nvim/parser
|
||||
'' + lib.concatStrings (lib.mapAttrsToList
|
||||
(language: grammar: ''
|
||||
(language: src: ''
|
||||
ln -s \
|
||||
${tree-sitter.buildGrammar {
|
||||
inherit (grammar) src;
|
||||
inherit language src;
|
||||
version = "neovim-${finalAttrs.version}";
|
||||
language = grammar.language or language;
|
||||
location = grammar.location or null;
|
||||
}}/parser \
|
||||
$out/lib/nvim/parser/${language}.so
|
||||
'')
|
||||
|
@ -1,36 +1,24 @@
|
||||
{ fetchurl }:
|
||||
|
||||
{
|
||||
c.src = fetchurl {
|
||||
url = "https://github.com/tree-sitter/tree-sitter-c/archive/v0.21.0.tar.gz";
|
||||
hash = "sha256:6f0f5d1b71cf8ffd8a37fb638c6022fa1245bd630150b538547d52128ce0ea7e";
|
||||
c = fetchurl {
|
||||
url = "https://github.com/tree-sitter/tree-sitter-c/archive/v0.20.2.tar.gz";
|
||||
hash = "sha256:af66fde03feb0df4faf03750102a0d265b007e5d957057b6b293c13116a70af2";
|
||||
};
|
||||
lua.src = fetchurl {
|
||||
url = "https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.1.0.tar.gz";
|
||||
hash = "sha256:230cfcbfa74ed1f7b8149e9a1f34c2efc4c589a71fe0f5dc8560622f8020d722";
|
||||
lua = fetchurl {
|
||||
url = "https://github.com/MunifTanjim/tree-sitter-lua/archive/v0.0.14.tar.gz";
|
||||
hash = "sha256:930d0370dc15b66389869355c8e14305b9ba7aafd36edbfdb468c8023395016d";
|
||||
};
|
||||
vim.src = fetchurl {
|
||||
url = "https://github.com/neovim/tree-sitter-vim/archive/v0.4.0.tar.gz";
|
||||
hash = "sha256:9f856f8b4a10ab43348550fa2d3cb2846ae3d8e60f45887200549c051c66f9d5";
|
||||
vim = fetchurl {
|
||||
url = "https://github.com/neovim/tree-sitter-vim/archive/v0.3.0.tar.gz";
|
||||
hash = "sha256:403acec3efb7cdb18ff3d68640fc823502a4ffcdfbb71cec3f98aa786c21cbe2";
|
||||
};
|
||||
vimdoc.src = fetchurl {
|
||||
url = "https://github.com/neovim/tree-sitter-vimdoc/archive/v2.5.1.tar.gz";
|
||||
hash = "sha256:063645096504b21603585507c41c6d8718ff3c11b2150c5bfc31e8f3ee9afea3";
|
||||
vimdoc = fetchurl {
|
||||
url = "https://github.com/neovim/tree-sitter-vimdoc/archive/v2.0.0.tar.gz";
|
||||
hash = "sha256:1ff8f4afd3a9599dd4c3ce87c155660b078c1229704d1a254433e33794b8f274";
|
||||
};
|
||||
query.src = fetchurl {
|
||||
url = "https://github.com/tree-sitter-grammars/tree-sitter-query/archive/v0.3.0.tar.gz";
|
||||
hash = "sha256:f878ff37abcb83250e31a6569e997546f3dbab74dcb26683cb2d613f7568cfc0";
|
||||
};
|
||||
python.src = fetchurl {
|
||||
url = "https://github.com/tree-sitter/tree-sitter-python/archive/v0.21.0.tar.gz";
|
||||
hash = "sha256:720304a603271fa89e4430a14d6a81a023d6d7d1171b1533e49c0ab44f1e1c13";
|
||||
};
|
||||
bash.src = fetchurl {
|
||||
url = "https://github.com/tree-sitter/tree-sitter-bash/archive/v0.21.0.tar.gz";
|
||||
hash = "sha256:f0515efda839cfede851adb24ac154227fbc0dfb60c6c11595ecfa9087d43ceb";
|
||||
};
|
||||
markdown.src = fetchurl {
|
||||
url = "https://github.com/MDeiml/tree-sitter-markdown/archive/v0.2.3.tar.gz";
|
||||
hash = "sha256:4909d6023643f1afc3ab219585d4035b7403f3a17849782ab803c5f73c8a31d5";
|
||||
query = fetchurl {
|
||||
url = "https://github.com/nvim-treesitter/tree-sitter-query/archive/v0.1.0.tar.gz";
|
||||
hash = "sha256:e2b806f80e8bf1c4f4e5a96248393fe6622fc1fc6189d6896d269658f67f914c";
|
||||
};
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ from pathlib import Path
|
||||
|
||||
parsers = {}
|
||||
dir = Path(__file__).parent
|
||||
regex = re.compile(r"^TREESITTER_([A-Z_]+)_(URL|SHA256)\s+(.+)$")
|
||||
regex = re.compile(r"^set\(TREESITTER_([A-Z_]+)_(URL|SHA256)\s+([^ \)]+)\s*\)\s*$")
|
||||
|
||||
src = subprocess.check_output(
|
||||
[
|
||||
@ -20,8 +20,8 @@ src = subprocess.check_output(
|
||||
text=True,
|
||||
).strip()
|
||||
|
||||
for line in open(f"{src}/cmake.deps/deps.txt"):
|
||||
m = regex.fullmatch(line.strip())
|
||||
for line in open(f"{src}/cmake.deps/CMakeLists.txt"):
|
||||
m = regex.fullmatch(line)
|
||||
if m is None:
|
||||
continue
|
||||
|
||||
@ -37,7 +37,7 @@ with open(dir / "treesitter-parsers.nix", "w") as f:
|
||||
f.write("{ fetchurl }:\n\n{\n")
|
||||
for lang, src in parsers.items():
|
||||
f.write(
|
||||
f""" {lang}.src = fetchurl {{
|
||||
f""" {lang} = fetchurl {{
|
||||
url = "{src["URL"]}";
|
||||
hash = "sha256:{src["SHA256"]}";
|
||||
}};
|
||||
|
@ -1,22 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
darwin,
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, darwin
|
||||
,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "slumber";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LucasPickering";
|
||||
repo = "slumber";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Qg2Tn0f/5a1tzD7mdPm+d6di1k+o1PKLUjpV7Hv8wpY=";
|
||||
hash = "sha256-BPOBIE/nAupBwjKYnEfrHQQ8EEA3ZbuU/D0fqio4Ir0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-mWKMnE47fl04TvkgB5h3U/Y8TKUcdxDQdIwFiK7kGf4=";
|
||||
cargoHash = "sha256-+GXLCxitYjNK9Eg93Do1q6DglJ5QQi1KSZ6GNmJ1jG8=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tenv";
|
||||
version = "1.11.0";
|
||||
version = "1.11.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tofuutils";
|
||||
repo = "tenv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-LjgcI3E6K6b8fca9HdLyyIJJMHFxRtHdvWQb19jFHpA=";
|
||||
hash = "sha256-HlAnCmkMLtQWv63BW0pUns76AylZ1RcKN3D6qpMRo5w=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-teog4VJGDOYsABuE2/fvOtcWvC8mM36rJQI6KZb3eS8=";
|
||||
|
@ -27,11 +27,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unciv";
|
||||
version = "4.11.12";
|
||||
version = "4.11.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
||||
hash = "sha256-duhcNkK5Ah8KpyzIzwZvSKRjuYuVg1H6luKUPHjHwlc=";
|
||||
hash = "sha256-8XuwG64YUcUOblOdrKI4FxSFzn9xjZPAEz05+7rR1Pk=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -50,11 +50,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ventoy";
|
||||
version = "1.0.97";
|
||||
version = "1.0.98";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ventoy/Ventoy/releases/download/v${finalAttrs.version}/ventoy-${finalAttrs.version}-linux.tar.gz";
|
||||
hash = "sha256-E2ipCCydsllY5UB+9JhDItkNO7AJBTN9S9QWeOBsEVA=";
|
||||
hash = "sha256-JjBB9vG7CNs4Fbp6IIBkIpZg7l9g0e58tjhznc7OsLw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
3768
pkgs/by-name/wi/windmill/Cargo.lock
generated
3768
pkgs/by-name/wi/windmill/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -24,13 +24,13 @@
|
||||
|
||||
let
|
||||
pname = "windmill";
|
||||
version = "1.246.15";
|
||||
version = "1.333.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "windmill-labs";
|
||||
repo = "windmill";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5KDSCag70ww1mYvfKf3rg2RTi80rEWZnMTXB+/6VsNM=";
|
||||
hash = "sha256-QwjmkKe3jxgXQjj/+WlhOdGOXZsrYdRmHtVakoNqYtI=";
|
||||
};
|
||||
|
||||
pythonEnv = python3.withPackages (ps: [ ps.pip-tools ]);
|
||||
@ -42,7 +42,7 @@ let
|
||||
|
||||
sourceRoot = "${src.name}/frontend";
|
||||
|
||||
npmDepsHash = "sha256-PdRNjUQdr1NgTO5UaWfH8rJeiFB/VJ6sJkwhpmPo/1A=";
|
||||
npmDepsHash = "sha256-I9h2MvngsluWYaoOP44ufE82SFW+8yhNI2qQNi6oyZE=";
|
||||
|
||||
# without these you get a
|
||||
# FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
|
||||
@ -78,12 +78,12 @@ rustPlatform.buildRustPackage {
|
||||
};
|
||||
in
|
||||
fetch_librusty_v8 {
|
||||
version = "0.74.3";
|
||||
version = "0.83.2";
|
||||
shas = {
|
||||
x86_64-linux = "sha256-8pa8nqA6rbOSBVnp2Q8/IQqh/rfYQU57hMgwU9+iz4A=";
|
||||
aarch64-linux = "sha256-3kXOV8rlCNbNBdXgOtd3S94qO+JIKyOByA4WGX+XVP0=";
|
||||
x86_64-darwin = "sha256-iBBVKZiSoo08YEQ8J/Rt1/5b7a+2xjtuS6QL/Wod5nQ=";
|
||||
aarch64-darwin = "sha256-Djnuc3l/jQKvBf1aej8LG5Ot2wPT0m5Zo1B24l1UHsM=";
|
||||
x86_64-linux = "sha256-RJNdy5jRZK3dTgrHsWuZZAHUyy1EogyNNuBekZ3Arrk=";
|
||||
aarch64-linux = "sha256-mpOmuqtd7ob6xvrgH4P/6GLa/hXTS/ok0WOYo7+7ZhI=";
|
||||
x86_64-darwin = "sha256-2o8CvJ3r5+4PLNGTySqPPDTqbU0piX4D1UtZMscMdHU=";
|
||||
aarch64-darwin = "sha256-WHeITWSHjZxfQJndxcjsp4yIERKrKXSHFZ0UBc43p8o=";
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -93,7 +93,10 @@ rustPlatform.buildRustPackage {
|
||||
outputHashes = {
|
||||
"archiver-rs-0.5.1" = "sha256-ZIik0mMABmhdx/ullgbOrKH5GAtqcOKq5A6vB7aBSjk=";
|
||||
"pg-embed-0.7.2" = "sha256-R/SrlzNK7aAOyXVTQ/WPkiQb6FyMg9tpsmPTsiossDY=";
|
||||
"php-parser-rs-0.1.3" = "sha256-ZeI3KgUPmtjlRfq6eAYveqt8Ay35gwj6B9iOQRjQa9A=";
|
||||
"progenitor-0.3.0" = "sha256-F6XRZFVIN6/HfcM8yI/PyNke45FL7jbcznIiqj22eIQ=";
|
||||
"rustpython-ast-0.3.1" = "sha256-q9N+z3F6YICQuUMp3a10OS792tCq0GiSSlkcaLxi3Gs=";
|
||||
"tiberius-0.12.2" = "sha256-s/S0K3hE+JNCrNVxoSCSs4myLHvukBYTwk2A5vZ7Ae8=";
|
||||
"tinyvector-0.1.0" = "sha256-NYGhofU4rh+2IAM+zwe04YQdXY8Aa4gTmn2V2HtzRfI=";
|
||||
};
|
||||
};
|
||||
|
@ -2,16 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "man-pages";
|
||||
version = "6.7";
|
||||
version = "6.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-gkA61LwXqtuST2hji3nWkwssvVUVMSSKepaId52077I=";
|
||||
hash = "sha256-ucawpCD4ORSL4EsvwTqFaSMTco1U1HxpyKE4N5Zl0iY=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
# Clobber /usr/bin/env with the one in PATH.
|
||||
"SHELL=env"
|
||||
"prefix=${placeholder "out"}"
|
||||
];
|
||||
|
||||
|
@ -18,12 +18,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "circt";
|
||||
version = "1.74.0";
|
||||
version = "1.75.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "llvm";
|
||||
repo = "circt";
|
||||
rev = "firtool-${version}";
|
||||
hash = "sha256-RFvWUd98OiL2I3aFrP61LQRZr4FSKrrZ5YOblBKRCA4=";
|
||||
hash = "sha256-jacmj383n0crEwkgkr2qN8n0PWfCnDxzaRaMGVuyrMg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
, libucontext ? null
|
||||
, libxcrypt ? null
|
||||
, cloog ? null
|
||||
, darwin ? null
|
||||
, isl ? null
|
||||
, zlib ? null
|
||||
, gnat-bootstrap ? null
|
||||
@ -85,6 +86,7 @@ in
|
||||
++ optionals langJava [ boehmgc zip unzip ]
|
||||
++ optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)
|
||||
++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ]
|
||||
++ optionals (lib.versionAtLeast version "14" && stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk.frameworks.CoreServices ]
|
||||
;
|
||||
|
||||
# threadsCross.package after gcc6 so i assume its okay for 4.8 and 4.9 too
|
||||
|
@ -70,6 +70,7 @@ let
|
||||
version = gccVersions.fromMajorMinor majorMinorVersion;
|
||||
|
||||
majorVersion = versions.major version;
|
||||
atLeast14 = versionAtLeast version "14";
|
||||
atLeast13 = versionAtLeast version "13";
|
||||
atLeast12 = versionAtLeast version "12";
|
||||
atLeast11 = versionAtLeast version "11";
|
||||
@ -79,6 +80,7 @@ let
|
||||
atLeast7 = versionAtLeast version "7";
|
||||
atLeast6 = versionAtLeast version "6";
|
||||
atLeast49 = versionAtLeast version "4.9";
|
||||
is14 = majorVersion == "14";
|
||||
is13 = majorVersion == "13";
|
||||
is12 = majorVersion == "12";
|
||||
is11 = majorVersion == "11";
|
||||
@ -127,6 +129,7 @@ let
|
||||
buildPackages
|
||||
cloog
|
||||
withoutTargetLibc
|
||||
darwin
|
||||
disableBootstrap
|
||||
disableGdbPlugin
|
||||
enableLTO
|
||||
|
@ -0,0 +1,39 @@
|
||||
diff --git a/config/intlmacosx.m4 b/config/intlmacosx.m4
|
||||
index 3141bf8c5..7a31862b9 100644
|
||||
--- a/config/intlmacosx.m4
|
||||
+++ b/config/intlmacosx.m4
|
||||
@@ -63,7 +63,7 @@ AC_DEFUN([gt_INTL_MACOSX],
|
||||
dnl and we have to link it in explicitly, otherwise an exception
|
||||
dnl NSInvalidArgumentException "unrecognized selector sent to instance"
|
||||
dnl occurs.
|
||||
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices"
|
||||
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||
fi
|
||||
AC_SUBST([INTL_MACOSX_LIBS])
|
||||
])
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index 23da7d55d..8bd09364d 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -13932,7 +13932,7 @@ $as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
|
||||
INTL_MACOSX_LIBS=
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
|
||||
|| test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
|
||||
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices"
|
||||
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||
fi
|
||||
|
||||
|
||||
diff --git a/libcpp/configure b/libcpp/configure
|
||||
index 32d6aaa30..592c33881 100755
|
||||
--- a/libcpp/configure
|
||||
+++ b/libcpp/configure
|
||||
@@ -7570,7 +7570,7 @@ $as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
|
||||
INTL_MACOSX_LIBS=
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
|
||||
|| test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
|
||||
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices"
|
||||
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||
fi
|
||||
|
||||
|
@ -0,0 +1,21 @@
|
||||
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
|
||||
index 0666fc00b..0e2d53eb8 100644
|
||||
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||
@@ -793,14 +793,14 @@ gnatlib-shared-darwin:
|
||||
-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
|
||||
$(SO_OPTS) \
|
||||
- -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
-nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \
|
||||
-Wl,-rpath,@loader_path/../../../../ $(MISCLIB)
|
||||
cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -dynamiclib $(PICFLAG_FOR_TARGET) \
|
||||
-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
$(GNATRTL_TASKING_OBJS) \
|
||||
$(SO_OPTS) \
|
||||
- -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||
-nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \
|
||||
-Wl,-rpath,@loader_path/../../../../ \
|
||||
$(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
|
@ -0,0 +1,12 @@
|
||||
diff -u a/libgcc/config.host b/libgcc/config.host
|
||||
--- a/libgcc/config.host 2023-11-05 11:01:55.778638446 -0500
|
||||
+++ b/libgcc/config.host 2023-11-05 11:07:29.405103979 -0500
|
||||
@@ -227,7 +227,7 @@
|
||||
tmake_file="$tmake_file t-slibgcc-darwin"
|
||||
# newer toolsets produce warnings when building for unsupported versions.
|
||||
case ${host} in
|
||||
- *-*-darwin1[89]* | *-*-darwin2* )
|
||||
+ *-*-darwin1[89]* | *-*-darwin2* | *-*-darwin)
|
||||
tmake_file="t-darwin-min-8 $tmake_file"
|
||||
;;
|
||||
*-*-darwin9* | *-*-darwin1[0-7]*)
|
@ -25,6 +25,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
atLeast14 = lib.versionAtLeast version "14";
|
||||
atLeast13 = lib.versionAtLeast version "13";
|
||||
atLeast12 = lib.versionAtLeast version "12";
|
||||
atLeast11 = lib.versionAtLeast version "11";
|
||||
@ -34,6 +35,7 @@ let
|
||||
atLeast7 = lib.versionAtLeast version "7";
|
||||
atLeast6 = lib.versionAtLeast version "6";
|
||||
atLeast49 = lib.versionAtLeast version "4.9";
|
||||
is14 = majorVersion == "14";
|
||||
is13 = majorVersion == "13";
|
||||
is12 = majorVersion == "12";
|
||||
is11 = majorVersion == "11";
|
||||
@ -63,6 +65,7 @@ in
|
||||
++ optionals (noSysDirs) (
|
||||
[(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++
|
||||
({
|
||||
"14" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch ];
|
||||
"13" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch ];
|
||||
"12" = [ ./no-sys-dirs-riscv.patch ./12/mangle-NIX_STORE-in-__FILE__.patch ];
|
||||
"11" = [ ./no-sys-dirs-riscv.patch ];
|
||||
@ -124,11 +127,18 @@ in
|
||||
|
||||
## Darwin
|
||||
|
||||
# Fixes detection of Darwin on x86_64-darwin. Otherwise, GCC uses a deployment target of 10.5, which crashes ld64.
|
||||
++ optional (atLeast14 && stdenv.isDarwin && stdenv.isx86_64) ../patches/14/libgcc-darwin-detection.patch
|
||||
|
||||
# Fix detection of bootstrap compiler Ada support (cctools as) on Nix Darwin
|
||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
||||
|
||||
# Remove CoreServices on Darwin, as it is only needed for macOS SDK 14+
|
||||
++ optional (atLeast14 && stdenv.isDarwin && langAda) ../patches/14/gcc-darwin-remove-coreservices.patch
|
||||
|
||||
# Use absolute path in GNAT dylib install names on Darwin
|
||||
++ optionals (stdenv.isDarwin && langAda) ({
|
||||
"14" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ];
|
||||
"13" = [ ./gnat-darwin-dylib-install-name-13.patch ];
|
||||
"12" = [ ./gnat-darwin-dylib-install-name.patch ];
|
||||
}.${majorVersion} or [])
|
||||
@ -136,6 +146,11 @@ in
|
||||
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
|
||||
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
|
||||
++ optionals (stdenv.isDarwin && stdenv.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({
|
||||
"14" = [ (fetchpatch {
|
||||
name = "gcc-14-darwin-aarch64-support.patch";
|
||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/82b5c1cd38826ab67ac7fc498a8fe74376a40f4a/gcc/gcc-14.1.0.diff";
|
||||
sha256 = "sha256-jCY65l1DGdESNyzEmD8FFC/xMmqeqBIQF+BhT4uTBBU=";
|
||||
}) ];
|
||||
"13" = [ (fetchpatch {
|
||||
name = "gcc-13-darwin-aarch64-support.patch";
|
||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3c5cbc8e9cf444a1967786af48e430588e1eb481/gcc/gcc-13.2.0.diff";
|
||||
|
@ -1,5 +1,6 @@
|
||||
let
|
||||
majorMinorToVersionMap = {
|
||||
"14" = "14.1.0";
|
||||
"13" = "13.2.0";
|
||||
"12" = "12.3.0";
|
||||
"11" = "11.4.0";
|
||||
@ -19,6 +20,7 @@ let
|
||||
srcHashForVersion = version: {
|
||||
# NOTE: there is no need to remove hashes of obsolete minor
|
||||
# versions when adding a new minor version.
|
||||
"14.1.0" = "sha256-4oPGVJh6/j3p2AgLwL15U0tcoNaBpzoR/ytdN2dCaEA=";
|
||||
"13.2.0" = "sha256-4nXnZEKmBnNBon8Exca4PYYTFEAEwEE1KIY9xrXHQ9o=";
|
||||
"12.3.0" = "sha256-lJpdT5nnhkIak7Uysi/6tVeN5zITaZdbka7Jet/ajDs=";
|
||||
"11.4.0" = "sha256-Py2yIrAH6KSiPNW6VnJu8I6LHx6yBV7nLBQCzqc6jdk=";
|
||||
|
@ -1,35 +1,36 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, looseversion
|
||||
, mmtf-python
|
||||
, nose
|
||||
, numpy
|
||||
, pandas
|
||||
, pythonRelaxDepsHook
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
looseversion,
|
||||
mmtf-python,
|
||||
numpy,
|
||||
pandas,
|
||||
pynose,
|
||||
pytestCheckHook,
|
||||
pythonRelaxDepsHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "biopandas";
|
||||
version = "0.4.1";
|
||||
format = "setuptools";
|
||||
version = "0.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BioPandas";
|
||||
repo = "biopandas";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PRdemBo+bB2xJWmF2NylFTfNwEEo67i6XSaeDAFmQ/c=";
|
||||
hash = "sha256-1c78baBBsDyvAWrNx5mZI/Q75wyXv0DAwAdWm3EwX/I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"looseversion"
|
||||
];
|
||||
pythonRelaxDeps = [ "looseversion" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
pandas
|
||||
mmtf-python
|
||||
@ -37,21 +38,21 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
nose
|
||||
pynose
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
nosetests
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"biopandas"
|
||||
disabledTests = [
|
||||
# require network access
|
||||
"test_mmcif_pdb_conversion"
|
||||
"test_fetch_pdb"
|
||||
"test_write_mmtf_bp"
|
||||
"test_write_mmtf"
|
||||
"test_b_factor_shift"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "biopandas" ];
|
||||
|
||||
meta = {
|
||||
description = "Working with molecular structures in pandas DataFrames";
|
||||
homepage = "https://github.com/BioPandas/biopandas";
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "casbin";
|
||||
version = "1.36.0";
|
||||
version = "1.36.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "casbin";
|
||||
repo = "pycasbin";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ebmCcu4OvDI7k4K6Jk5BgmXi5HtLMAV3PMkLd2LC0pY=";
|
||||
hash = "sha256-MeTOxDrk6pvJ1L9ZOKzWhXK8WXo0jWXGKEKR7y0ejbQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,44 +1,53 @@
|
||||
{ lib, buildPythonPackage, fetchPypi
|
||||
, chart-studio
|
||||
, colorlover
|
||||
, ipython
|
||||
, ipywidgets
|
||||
, pytest
|
||||
, nose
|
||||
, numpy
|
||||
, pandas
|
||||
, six
|
||||
, statsmodels
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
colorlover,
|
||||
ipython,
|
||||
ipywidgets,
|
||||
numpy,
|
||||
pandas,
|
||||
plotly,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
six,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cufflinks";
|
||||
version = "0.17.3";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0i56062k54dlg5iz3qyl1ykww62mpkp8jr4n450h0c60dm0b7ha8";
|
||||
hash = "sha256-SMGzQG3AMABBIZZkie68VRjOpw/U4/FjebSRMoUBpkQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
chart-studio
|
||||
# replace duplicated pandas method
|
||||
# https://github.com/santosjorge/cufflinks/pull/249#issuecomment-1759619149
|
||||
postPatch = ''
|
||||
substituteInPlace tests.py \
|
||||
--replace-fail "from nose.tools import assert_equals" "def assert_equals(x, y): assert x == y" \
|
||||
--replace-fail "df.ix" "df.loc"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
colorlover
|
||||
ipython
|
||||
ipywidgets
|
||||
numpy
|
||||
pandas
|
||||
plotly
|
||||
six
|
||||
statsmodels
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytest nose ];
|
||||
pythonImportsCheck = [ "cufflinks" ];
|
||||
|
||||
# ignore tests which are incompatible with pandas>=1.0
|
||||
# https://github.com/santosjorge/cufflinks/issues/236
|
||||
checkPhase = ''
|
||||
pytest tests.py -k 'not bar_row'
|
||||
'';
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pytestFlagsArray = [ "tests.py" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Productivity Tools for Plotly + Pandas";
|
||||
|
@ -3,21 +3,26 @@
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, python
|
||||
, setuptools
|
||||
, dbus, pytest, pytest-cov, pytest-asyncio, pytest-timeout
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dbus-next";
|
||||
version = "0.2.3";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "altdesktop";
|
||||
repo = "python-dbus-next";
|
||||
rev = "v${version}";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-EKEQZFRUe+E65Z6DNCJFL5uCI5kbXrN7Tzd4O0X5Cqo=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus
|
||||
pytest
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fastcore";
|
||||
version = "1.5.35";
|
||||
version = "1.5.38";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "fastai";
|
||||
repo = "fastcore";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-dhYmy7dAHmmRfC2mpn49UsE4+hpqMbB1PHGmrowCTIQ=";
|
||||
hash = "sha256-6b2EufBAWxKMRUGfhKq2ihRN5GRUjCeM0d8cbh7ZD8A=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -1,42 +1,39 @@
|
||||
{ lib
|
||||
, astor
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, funcparserlib
|
||||
, hy
|
||||
, pytestCheckHook
|
||||
, python
|
||||
, pythonOlder
|
||||
, testers
|
||||
{
|
||||
lib,
|
||||
astor,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
funcparserlib,
|
||||
hy,
|
||||
pytestCheckHook,
|
||||
python,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
testers,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hy";
|
||||
version = "0.28.0";
|
||||
format = "setuptools";
|
||||
version = "0.29.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hylang";
|
||||
repo = pname;
|
||||
repo = "hy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-XH8qZ6OsTrFXcv/8ZyrTtN6l50JXIUcHJbfCRXHzSTs=";
|
||||
hash = "sha256-8b2V78mwzSThmVl1SfMGBw8VSpE5rCuucnIyD0nq5To=";
|
||||
};
|
||||
|
||||
# https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10
|
||||
HY_VERSION = version;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
funcparserlib
|
||||
] ++
|
||||
lib.optionals (pythonOlder "3.9") [
|
||||
astor
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
dependencies = [ funcparserlib ] ++ lib.optionals (pythonOlder "3.9") [ astor ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
preCheck = ''
|
||||
# For test_bin_hy
|
||||
@ -53,14 +50,12 @@ buildPythonPackage rec {
|
||||
# For backwards compatibility with removed pkgs/development/interpreters/hy
|
||||
# Example usage:
|
||||
# hy.withPackages (ps: with ps; [ hyrule requests ])
|
||||
withPackages = python-packages:
|
||||
(python.withPackages
|
||||
(ps: (python-packages ps) ++ [ ps.hy ])).overrideAttrs (old: {
|
||||
name = "${hy.name}-env";
|
||||
meta = lib.mergeAttrs (builtins.removeAttrs hy.meta [ "license" ]) {
|
||||
mainProgram = "hy";
|
||||
};
|
||||
});
|
||||
withPackages =
|
||||
python-packages:
|
||||
(python.withPackages (ps: (python-packages ps) ++ [ ps.hy ])).overrideAttrs (old: {
|
||||
name = "${hy.name}-env";
|
||||
meta = lib.mergeAttrs (builtins.removeAttrs hy.meta [ "license" ]) { mainProgram = "hy"; };
|
||||
});
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -68,6 +63,10 @@ buildPythonPackage rec {
|
||||
homepage = "https://hylang.org/";
|
||||
changelog = "https://github.com/hylang/hy/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab mazurel nixy thiagokokada ];
|
||||
maintainers = with maintainers; [
|
||||
mazurel
|
||||
nixy
|
||||
thiagokokada
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, hy
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
hy,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hyrule";
|
||||
version = "0.5.0";
|
||||
format = "setuptools";
|
||||
version = "0.6.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hylang";
|
||||
repo = pname;
|
||||
repo = "hyrule";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-MARpQFEypTJ4KpojVRxcHYvo6e6Gvk4B6tnrViV6QmY=";
|
||||
hash = "sha256-pmJhhOpNxVEUH8YwBUKSywYgYu43oLSmpWJM4HXGMiI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
hy
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
propagatedBuildInputs = [ hy ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
# Some tests depends on hy on PATH
|
||||
preCheck = "PATH=${hy}/bin:$PATH";
|
||||
@ -34,7 +34,7 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "hyrule" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hyrule is a utility library for the Hy programming language";
|
||||
description = "Utility library for the Hy programming language";
|
||||
homepage = "https://github.com/hylang/hyrule";
|
||||
changelog = "https://github.com/hylang/hylure/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
|
@ -1,22 +1,23 @@
|
||||
{ lib
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, defang
|
||||
, dnspython
|
||||
, fetchFromGitHub
|
||||
, playwrightcapture
|
||||
, poetry-core
|
||||
, pythonOlder
|
||||
, redis
|
||||
, requests
|
||||
, pythonRelaxDepsHook
|
||||
, sphinx
|
||||
, ua-parser
|
||||
{
|
||||
lib,
|
||||
async-timeout,
|
||||
buildPythonPackage,
|
||||
defang,
|
||||
dnspython,
|
||||
fetchFromGitHub,
|
||||
playwrightcapture,
|
||||
poetry-core,
|
||||
pythonOlder,
|
||||
redis,
|
||||
requests,
|
||||
pythonRelaxDepsHook,
|
||||
sphinx,
|
||||
ua-parser,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lacuscore";
|
||||
version = "1.9.3";
|
||||
version = "1.9.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -25,19 +26,19 @@ buildPythonPackage rec {
|
||||
owner = "ail-project";
|
||||
repo = "LacusCore";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-jfbDg74vHwOFvbOETPSaApFCpzw9Khu8PgGpsoAwSGc=";
|
||||
hash = "sha256-wjkU9rZvR7fySeNvMizLYL3JwsfhicdtezWeuwMCHgM=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"redis"
|
||||
"requests"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
|
||||
dependencies = [
|
||||
async-timeout
|
||||
defang
|
||||
dnspython
|
||||
@ -51,9 +52,7 @@ buildPythonPackage rec {
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lacuscore"
|
||||
];
|
||||
pythonImportsCheck = [ "lacuscore" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "The modulable part of Lacus";
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "langsmith";
|
||||
version = "0.1.59";
|
||||
version = "0.1.60";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -31,7 +31,7 @@ buildPythonPackage rec {
|
||||
owner = "langchain-ai";
|
||||
repo = "langsmith-sdk";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-k9WsJUiJPCahwUHzsOblBCm58z2dHQZGk3U6GMm7SpQ=";
|
||||
hash = "sha256-YoJ9rdbc4lcQ0ZxE0bYCa+VMKO2kqJRTpxZz4QGPzzM=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/python";
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "litellm";
|
||||
version = "1.37.9";
|
||||
version = "1.37.16";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -42,7 +42,7 @@ buildPythonPackage rec {
|
||||
owner = "BerriAI";
|
||||
repo = "litellm";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-yLJprng/33bwLpfSwBKSIFtk7/KsYWHqm0H5O1w00ZM=";
|
||||
hash = "sha256-WOkblyzncIn1F67qlh8rTosCal6j4zlXsHHrWbwhJOo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,20 +1,32 @@
|
||||
{ buildPythonPackage, fetchPypi, isPy3k, lib }:
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
pythonAtLeast,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lmtpd";
|
||||
version = "6.2.0";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = !isPy3k;
|
||||
# smtpd will be removed in version 3.12
|
||||
disabled = pythonOlder "3.7" || pythonAtLeast "3.12";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "2c6825d2ffa1de099440411a742f58e1b3e8deeb3345adcfd4c2c38d4baf62b3";
|
||||
hash = "sha256-LGgl0v+h3gmUQEEadC9Y4bPo3uszRa3P1MLDjUuvYrM=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "lmtpd" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/moggers87/lmtpd";
|
||||
description = "LMTP counterpart to smtpd in the Python standard library";
|
||||
homepage = "https://github.com/moggers87/lmtpd";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jluttine ];
|
||||
};
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "playwrightcapture";
|
||||
version = "1.24.9";
|
||||
version = "1.24.10";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -32,7 +32,7 @@ buildPythonPackage rec {
|
||||
owner = "Lookyloo";
|
||||
repo = "PlaywrightCapture";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-XWl/vvPMSD7oCl2/qG4y1ERopQdi5O9erFFpTmK8U5k=";
|
||||
hash = "sha256-kjh0ZrFS0jb4CYJfDosLiRffsVzF3/EWPYidBrhStIU=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
231
pkgs/development/python-modules/pybrowserid/darwin_fix.patch
Normal file
231
pkgs/development/python-modules/pybrowserid/darwin_fix.patch
Normal file
@ -0,0 +1,231 @@
|
||||
commit 4e68d9bfd12de51d8e6dc8ac622317f7755f1080
|
||||
Author: Palmer Cox <p@lmercox.com>
|
||||
Date: Tue May 14 23:07:48 2024 -0400
|
||||
|
||||
python312Packages.pybrowserid: Fix on Darwin
|
||||
|
||||
The WorkerPoolVerifier works by spawning one or more child processes in
|
||||
order to run the verification process. This is fine on Linux when using
|
||||
the default "fork" method of the multiprocessing module. However, this
|
||||
breaks when using the "spawn" or "forkserver" method since those methods
|
||||
require that the arguments passed into the Process object be pickleable.
|
||||
Specifically we're passing threading.Lock objects to the child process
|
||||
which are not pickleable.
|
||||
|
||||
Passing a Lock to a child process spawned via fork mostly does nothing -
|
||||
the child process ends up with its own copy of the Lock which its free
|
||||
to lock or unlock as it pleases and it has no effect on the parent
|
||||
process. So, we don't actually need to pass the Lock to the child
|
||||
process since it has never done anything. All we need to do is _not_
|
||||
pass it since it causes errors when its passed because its not
|
||||
pickleable. We don't need to re-create its functionality.
|
||||
|
||||
Anyway, there are two places where we are passing locks to the child
|
||||
process. The first is the WorkerPoolVerifier class. This lock isn't
|
||||
actually being used - its just passed because we're passing the "self"
|
||||
object to the worker thread. So, we can fix this by making the target
|
||||
method to run in the worker thread a free-function and only passing the
|
||||
object we need - thus avoiding passing the unused Lock that triggers the
|
||||
pickle error.
|
||||
|
||||
The other place that a Lock is passed ia via the FIFOCache. We can work
|
||||
around this by making the Lock a global variable instead of an instance
|
||||
variable. This shouldn't cause any significant performance issues
|
||||
because the FIFOCache only holds this lock for brief periods when its
|
||||
updating itself - its not doing any network call or long running
|
||||
operations. Anyway, because its a global variable now, its not passed to
|
||||
the process and we avoid the pickle error.
|
||||
|
||||
The other problem we have to fix are the tests on Darwin. There are two
|
||||
problems - both due to Darwin defaulting to the "spawn" start method
|
||||
for child Processes:
|
||||
|
||||
1. When we spawn a new Python process, it inherits the same __main__
|
||||
module as its parent. When running tests, this __main__ module is the
|
||||
unittest module. And, it start trying to run tests when its loaded.
|
||||
This spawns more processes which also try to run tests, and so on.
|
||||
|
||||
2. The test code tries to mock out the network access. However, when we
|
||||
spawn a new Python process these mocks are lost.
|
||||
|
||||
Anyway, we fix this issues by creating a temporary replacement for the
|
||||
__main__ module which we install before running the WorkerPoolVerifier
|
||||
tests. This module avoids trying to run the unit tests and also applies
|
||||
the necessary mock to avoid network access.
|
||||
|
||||
diff --git a/browserid/supportdoc.py b/browserid/supportdoc.py
|
||||
index d995fed..249b37e 100644
|
||||
--- a/browserid/supportdoc.py
|
||||
+++ b/browserid/supportdoc.py
|
||||
@@ -26,6 +26,9 @@ DEFAULT_TRUSTED_SECONDARIES = ("browserid.org", "diresworb.org",
|
||||
"login.persona.org")
|
||||
|
||||
|
||||
+FIFO_CACHE_LOCK = threading.Lock()
|
||||
+
|
||||
+
|
||||
class SupportDocumentManager(object):
|
||||
"""Manager for mapping hostnames to their BrowserID support documents.
|
||||
|
||||
@@ -131,7 +134,6 @@ class FIFOCache(object):
|
||||
self.max_size = max_size
|
||||
self.items_map = {}
|
||||
self.items_queue = collections.deque()
|
||||
- self._lock = threading.Lock()
|
||||
|
||||
def __getitem__(self, key):
|
||||
"""Lookup the given key in the cache.
|
||||
@@ -147,7 +149,7 @@ class FIFOCache(object):
|
||||
# it hasn't been updated by another thread in the meantime.
|
||||
# This is a little more work during eviction, but it means we
|
||||
# can avoid locking in the common case of non-expired items.
|
||||
- self._lock.acquire()
|
||||
+ FIFO_CACHE_LOCK.acquire()
|
||||
try:
|
||||
if self.items_map[key][0] == timestamp:
|
||||
# Just delete it from items_map. Trying to find
|
||||
@@ -157,7 +159,7 @@ class FIFOCache(object):
|
||||
except KeyError:
|
||||
pass
|
||||
finally:
|
||||
- self._lock.release()
|
||||
+ FIFO_CACHE_LOCK.release()
|
||||
raise KeyError
|
||||
return value
|
||||
|
||||
@@ -168,7 +170,7 @@ class FIFOCache(object):
|
||||
there's enough room in the cache and evicting items if necessary.
|
||||
"""
|
||||
now = time.time()
|
||||
- with self._lock:
|
||||
+ with FIFO_CACHE_LOCK:
|
||||
# First we need to make sure there's enough room.
|
||||
# This is a great opportunity to evict any expired items,
|
||||
# helping to keep memory small for sparse caches.
|
||||
diff --git a/browserid/tests/dummy_main_module_for_unit_test_worker_processes.py b/browserid/tests/dummy_main_module_for_unit_test_worker_processes.py
|
||||
new file mode 100644
|
||||
index 0000000..388f86f
|
||||
--- /dev/null
|
||||
+++ b/browserid/tests/dummy_main_module_for_unit_test_worker_processes.py
|
||||
@@ -0,0 +1,29 @@
|
||||
+"""
|
||||
+This module is necessary as a hack to get tests to pass on Darwin.
|
||||
+
|
||||
+The reason is that the tests attempt to start up a multiprocessing.Process.
|
||||
+Doing that spawns a new Python process with the same __main__ module as the
|
||||
+parent process. The first problem is that the default start mode for Processes
|
||||
+on Darwin with "spawn" as opposed to "fork" as on Linux. This means that a
|
||||
+fully new Python interpretter is started with the same __main__ module. When
|
||||
+running tests, that __main__ module is the standard library unittest module.
|
||||
+Unfortunately, that module unconditionally runs unit tests without checking
|
||||
+that __name__ == "__main__". The end result is that every time a worker process
|
||||
+is spawned it immediately attemps to run the tests which spawn more processes
|
||||
+and so on.
|
||||
+
|
||||
+So, we work around that by replacing the __main__ module with this one before
|
||||
+any processes are spawned. This prevents the infinite spawning of processes
|
||||
+since this module doesn't try to run any unit tests.
|
||||
+
|
||||
+Additionally, this also patches the supportdoc fetching methods - which is
|
||||
+necessary to actually get the tests to pass.
|
||||
+"""
|
||||
+
|
||||
+import multiprocessing
|
||||
+
|
||||
+from browserid.tests.support import patched_supportdoc_fetching
|
||||
+
|
||||
+if multiprocessing.current_process().name != "MainProcess":
|
||||
+ patched_supportdoc_fetching().__enter__()
|
||||
+
|
||||
diff --git a/browserid/tests/test_verifiers.py b/browserid/tests/test_verifiers.py
|
||||
index d95ff8f..e8b867f 100644
|
||||
--- a/browserid/tests/test_verifiers.py
|
||||
+++ b/browserid/tests/test_verifiers.py
|
||||
@@ -454,15 +454,27 @@ class TestDummyVerifier(unittest.TestCase, VerifierTestCases):
|
||||
class TestWorkerPoolVerifier(TestDummyVerifier):
|
||||
|
||||
def setUp(self):
|
||||
+ from browserid.tests import dummy_main_module_for_unit_test_worker_processes
|
||||
+ import sys
|
||||
+
|
||||
super(TestWorkerPoolVerifier, self).setUp()
|
||||
+
|
||||
+ self.__old_main = sys.modules["__main__"]
|
||||
+ sys.modules["__main__"] = dummy_main_module_for_unit_test_worker_processes
|
||||
+
|
||||
self.verifier = WorkerPoolVerifier(
|
||||
verifier=LocalVerifier(["*"])
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
+ import sys
|
||||
+
|
||||
super(TestWorkerPoolVerifier, self).tearDown()
|
||||
+
|
||||
self.verifier.close()
|
||||
|
||||
+ sys.modules["__main__"] = self.__old_main
|
||||
+
|
||||
|
||||
class TestShortcutFunction(unittest.TestCase):
|
||||
|
||||
diff --git a/browserid/verifiers/workerpool.py b/browserid/verifiers/workerpool.py
|
||||
index c669107..d250222 100644
|
||||
--- a/browserid/verifiers/workerpool.py
|
||||
+++ b/browserid/verifiers/workerpool.py
|
||||
@@ -32,7 +32,6 @@ class WorkerPoolVerifier(object):
|
||||
if verifier is None:
|
||||
verifier = LocalVerifier()
|
||||
self.num_procs = num_procs
|
||||
- self.verifier = verifier
|
||||
# Create the various communication channels.
|
||||
# Yes, this duplicates a lot of the logic from multprocessing.Pool.
|
||||
# I don't want to have to constantly pickle the verifier object
|
||||
@@ -53,7 +52,7 @@ class WorkerPoolVerifier(object):
|
||||
self._result_thread.start()
|
||||
self._processes = []
|
||||
for n in range(num_procs):
|
||||
- proc = multiprocessing.Process(target=self._run_worker)
|
||||
+ proc = multiprocessing.Process(target=_run_worker, args=(self._work_queue, verifier, self._result_queue))
|
||||
self._processes.append(proc)
|
||||
proc.start()
|
||||
|
||||
@@ -128,21 +127,21 @@ class WorkerPoolVerifier(object):
|
||||
self._waiting_conds[job_id] = (ok, result)
|
||||
cond.notify()
|
||||
|
||||
- def _run_worker(self):
|
||||
- """Method to run for the background worker processes.
|
||||
+def _run_worker(work_queue, verifier, result_queue):
|
||||
+ """Method to run for the background worker processes.
|
||||
|
||||
- This method loops through jobs from the work queue, executing them
|
||||
- with the verifier object and pushing the result back via the result
|
||||
- queue.
|
||||
- """
|
||||
- while True:
|
||||
- job_id, args, kwds = self._work_queue.get()
|
||||
- if job_id is None:
|
||||
- break
|
||||
- try:
|
||||
- result = self.verifier.verify(*args, **kwds)
|
||||
- ok = True
|
||||
- except Exception as e:
|
||||
- result = e
|
||||
- ok = False
|
||||
- self._result_queue.put((job_id, ok, result))
|
||||
+ This method loops through jobs from the work queue, executing them
|
||||
+ with the verifier object and pushing the result back via the result
|
||||
+ queue.
|
||||
+ """
|
||||
+ while True:
|
||||
+ job_id, args, kwds = work_queue.get()
|
||||
+ if job_id is None:
|
||||
+ break
|
||||
+ try:
|
||||
+ result = verifier.verify(*args, **kwds)
|
||||
+ ok = True
|
||||
+ except Exception as e:
|
||||
+ result = e
|
||||
+ ok = False
|
||||
+ result_queue.put((job_id, ok, result))
|
@ -19,6 +19,10 @@ buildPythonPackage rec {
|
||||
hash = "sha256-bCJ2aeh8wleWrnb2oO9lAlUoyK2C01Jnn6mj5WY6ceM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./darwin_fix.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace browserid/tests/* \
|
||||
--replace-warn 'assertEquals' 'assertEqual'
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyperf";
|
||||
version = "2.6.3";
|
||||
version = "2.7.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-l1L+dJwh5GClZLs/Uvwxm4ksYu5hxROLSpu/lK0nVeY=";
|
||||
hash = "sha256-QgHGYBAy83TpyQDG0lRKL1iRq+3BqW7sDnsjOKYkdYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user