Merge staging-next into staging
This commit is contained in:
commit
8a62479e06
@ -5177,6 +5177,11 @@
|
||||
githubId = 1583484;
|
||||
name = "Andrey Golovizin";
|
||||
};
|
||||
errnoh = {
|
||||
github = "errnoh";
|
||||
githubId = 373946;
|
||||
name = "Erno Hopearuoho";
|
||||
};
|
||||
ersin = {
|
||||
email = "me@ersinakinci.com";
|
||||
github = "ersinakinci";
|
||||
@ -11102,6 +11107,12 @@
|
||||
github = "michaelCTS";
|
||||
githubId = 132582212;
|
||||
};
|
||||
michaeldonovan = {
|
||||
email = "michael@mdonovan.dev";
|
||||
name = "Michael Donovan";
|
||||
github = "michaeldonovan";
|
||||
githubId = 14077230;
|
||||
};
|
||||
michaelgrahamevans = {
|
||||
email = "michaelgrahamevans@gmail.com";
|
||||
name = "Michael Evans";
|
||||
|
@ -30,6 +30,8 @@
|
||||
|
||||
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
|
||||
|
||||
- [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable).
|
||||
|
||||
- [Apache Guacamole](https://guacamole.apache.org/), a cross-platform, clientless remote desktop gateway. Available as [services.guacamole-server](#opt-services.guacamole-server.enable) and [services.guacamole-client](#opt-services.guacamole-client.enable) services.
|
||||
|
||||
- [pgBouncer](https://www.pgbouncer.org), a PostgreSQL connection pooler. Available as [services.pgbouncer](#opt-services.pgbouncer.enable).
|
||||
|
@ -319,6 +319,7 @@
|
||||
./services/audio/botamusique.nix
|
||||
./services/audio/gmediarender.nix
|
||||
./services/audio/gonic.nix
|
||||
./services/audio/goxlr-utility.nix
|
||||
./services/audio/hqplayerd.nix
|
||||
./services/audio/icecast.nix
|
||||
./services/audio/jack.nix
|
||||
@ -928,6 +929,7 @@
|
||||
./services/networking/jibri/default.nix
|
||||
./services/networking/jicofo.nix
|
||||
./services/networking/jitsi-videobridge.nix
|
||||
./services/networking/jool.nix
|
||||
./services/networking/kea.nix
|
||||
./services/networking/keepalived/default.nix
|
||||
./services/networking/keybase.nix
|
||||
|
@ -9,7 +9,8 @@ let
|
||||
fmt = value:
|
||||
if isList value then concatStringsSep " " (map fmt value) else
|
||||
if isString value then value else
|
||||
if isBool value || isInt value then toString value else
|
||||
if isBool value then if value then "1" else "0" else
|
||||
if isInt value then toString value else
|
||||
throw "Unrecognized type ${typeOf value} in htop settings";
|
||||
|
||||
in
|
||||
|
48
nixos/modules/services/audio/goxlr-utility.nix
Normal file
48
nixos/modules/services/audio/goxlr-utility.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.goxlr-utility;
|
||||
in
|
||||
|
||||
with lib;
|
||||
{
|
||||
|
||||
options = {
|
||||
services.goxlr-utility = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable goxlr-utility for controlling your TC-Helicon GoXLR or GoXLR Mini
|
||||
'';
|
||||
};
|
||||
package = mkPackageOptionMD pkgs "goxlr-utility" { };
|
||||
autoStart.xdg = mkOption {
|
||||
default = true;
|
||||
type = with types; bool;
|
||||
description = lib.mdDoc ''
|
||||
Start the daemon automatically using XDG autostart.
|
||||
Sets `xdg.autostart.enable = true` if not already enabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf config.services.goxlr-utility.enable
|
||||
{
|
||||
services.udev.packages = [ cfg.package ];
|
||||
|
||||
xdg.autostart.enable = mkIf cfg.autoStart.xdg true;
|
||||
environment.systemPackages = mkIf cfg.autoStart.xdg
|
||||
[
|
||||
cfg.package
|
||||
(pkgs.makeAutostartItem
|
||||
{
|
||||
name = "goxlr-utility";
|
||||
package = cfg.package;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ errnoh ];
|
||||
}
|
222
nixos/modules/services/networking/jool.nix
Normal file
222
nixos/modules/services/networking/jool.nix
Normal file
@ -0,0 +1,222 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.networking.jool;
|
||||
|
||||
jool = config.boot.kernelPackages.jool;
|
||||
jool-cli = pkgs.jool-cli;
|
||||
|
||||
hardening = {
|
||||
# Run as unprivileged user
|
||||
User = "jool";
|
||||
Group = "jool";
|
||||
DynamicUser = true;
|
||||
|
||||
# Restrict filesystem to only read the jool module
|
||||
TemporaryFileSystem = [ "/" ];
|
||||
BindReadOnlyPaths = [
|
||||
builtins.storeDir
|
||||
"/run/current-system/kernel-modules"
|
||||
];
|
||||
|
||||
# Give capabilities to load the module and configure it
|
||||
AmbientCapabilities = [ "CAP_SYS_MODULE" "CAP_NET_ADMIN" ];
|
||||
RestrictAddressFamilies = [ "AF_NETLINK" ];
|
||||
|
||||
# Other restrictions
|
||||
RestrictNamespaces = [ "net" ];
|
||||
SystemCallFilter = [ "@system-service" "@module" ];
|
||||
CapabilityBoundingSet = [ "CAP_SYS_MODULE" "CAP_NET_ADMIN" ];
|
||||
};
|
||||
|
||||
configFormat = pkgs.formats.json {};
|
||||
|
||||
mkDefaultAttrs = lib.mapAttrs (n: v: lib.mkDefault v);
|
||||
|
||||
defaultNat64 = {
|
||||
instance = "default";
|
||||
framework = "netfilter";
|
||||
global.pool6 = "64:ff9b::/96";
|
||||
};
|
||||
defaultSiit = {
|
||||
instance = "default";
|
||||
framework = "netfilter";
|
||||
};
|
||||
|
||||
nat64Conf = configFormat.generate "jool-nat64.conf" cfg.nat64.config;
|
||||
siitConf = configFormat.generate "jool-siit.conf" cfg.siit.config;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
networking.jool.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
relatedPackages = [ "linuxPackages.jool" "jool-cli" ];
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable Jool, an Open Source implementation of IPv4/IPv6
|
||||
translation on Linux.
|
||||
|
||||
Jool can perform stateless IP/ICMP translation (SIIT) or stateful
|
||||
NAT64, analogous to the IPv4 NAPT. Refer to the upstream
|
||||
[documentation](https://nicmx.github.io/Jool/en/intro-xlat.html) for
|
||||
the supported modes of translation and how to configure them.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.jool.nat64.enable = lib.mkEnableOption (lib.mdDoc "a NAT64 instance of Jool.");
|
||||
networking.jool.nat64.config = lib.mkOption {
|
||||
type = configFormat.type;
|
||||
default = defaultNat64;
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# custom NAT64 prefix
|
||||
global.pool6 = "2001:db8:64::/96";
|
||||
|
||||
# Port forwarding
|
||||
bib = [
|
||||
{ # SSH 192.0.2.16 → 2001:db8:a::1
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#22";
|
||||
"ipv6 address" = "2001:db8:a::1#22";
|
||||
}
|
||||
{ # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
{ # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "UDP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
];
|
||||
|
||||
pool4 = [
|
||||
# Ports for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "22"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "53"; }
|
||||
];
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
The configuration of a stateful NAT64 instance of Jool managed through
|
||||
NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
|
||||
available options.
|
||||
|
||||
::: {.note}
|
||||
Existing or more instances created manually will not interfere with the
|
||||
NixOS instance, provided the respective `pool4` addresses and port
|
||||
ranges are not overlapping.
|
||||
:::
|
||||
|
||||
::: {.warning}
|
||||
Changes to the NixOS instance performed via `jool instance nixos-nat64`
|
||||
are applied correctly but will be lost after restarting
|
||||
`jool-nat64.service`.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
networking.jool.siit.enable = lib.mkEnableOption (lib.mdDoc "a SIIT instance of Jool.");
|
||||
networking.jool.siit.config = lib.mkOption {
|
||||
type = configFormat.type;
|
||||
default = defaultSiit;
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
|
||||
pool6 = "2001:db8::/96";
|
||||
|
||||
# Explicit address mappings
|
||||
eamt = [
|
||||
# 2001:db8:1:: ←→ 192.0.2.0
|
||||
{ "ipv6 prefix": "2001:db8:1::/128", "ipv4 prefix": "192.0.2.0" }
|
||||
# 2001:db8:1::x ←→ 198.51.100.x
|
||||
{ "ipv6 prefix": "2001:db8:2::/120", "ipv4 prefix": "198.51.100.0/24" }
|
||||
]
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
The configuration of a SIIT instance of Jool managed through
|
||||
NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
|
||||
available options.
|
||||
|
||||
::: {.note}
|
||||
Existing or more instances created manually will not interfere with the
|
||||
NixOS instance, provided the respective `EAMT` address mappings are not
|
||||
overlapping.
|
||||
:::
|
||||
|
||||
::: {.warning}
|
||||
Changes to the NixOS instance performed via `jool instance nixos-siit`
|
||||
are applied correctly but will be lost after restarting
|
||||
`jool-siit.service`.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ jool-cli ];
|
||||
boot.extraModulePackages = [ jool ];
|
||||
|
||||
systemd.services.jool-nat64 = lib.mkIf cfg.nat64.enable {
|
||||
description = "Jool, NAT64 setup";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool";
|
||||
ExecStart = "${jool-cli}/bin/jool file handle ${nat64Conf}";
|
||||
ExecStop = "${jool-cli}/bin/jool -f ${nat64Conf} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
|
||||
systemd.services.jool-siit = lib.mkIf cfg.siit.enable {
|
||||
description = "Jool, SIIT setup";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit";
|
||||
ExecStart = "${jool-cli}/bin/jool_siit file handle ${siitConf}";
|
||||
ExecStop = "${jool-cli}/bin/jool_siit -f ${siitConf} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
|
||||
system.checks = lib.singleton (pkgs.runCommand "jool-validated" {
|
||||
nativeBuildInputs = [ pkgs.buildPackages.jool-cli ];
|
||||
preferLocalBuild = true;
|
||||
} ''
|
||||
printf 'Validating Jool configuration... '
|
||||
${lib.optionalString cfg.siit.enable "jool_siit file check ${siitConf}"}
|
||||
${lib.optionalString cfg.nat64.enable "jool file check ${nat64Conf}"}
|
||||
printf 'ok\n'
|
||||
touch "$out"
|
||||
'');
|
||||
|
||||
networking.jool.nat64.config = mkDefaultAttrs defaultNat64;
|
||||
networking.jool.siit.config = mkDefaultAttrs defaultSiit;
|
||||
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
}
|
@ -391,6 +391,7 @@ in {
|
||||
jibri = handleTest ./jibri.nix {};
|
||||
jirafeau = handleTest ./jirafeau.nix {};
|
||||
jitsi-meet = handleTest ./jitsi-meet.nix {};
|
||||
jool = handleTest ./jool.nix {};
|
||||
k3s = handleTest ./k3s {};
|
||||
kafka = handleTest ./kafka.nix {};
|
||||
kanidm = handleTest ./kanidm.nix {};
|
||||
|
250
nixos/tests/jool.nix
Normal file
250
nixos/tests/jool.nix
Normal file
@ -0,0 +1,250 @@
|
||||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
ipv6Only = {
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth1.ipv4.addresses = lib.mkVMOverride [ ];
|
||||
};
|
||||
|
||||
ipv4Only = {
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth1.ipv6.addresses = lib.mkVMOverride [ ];
|
||||
};
|
||||
|
||||
webserver = ip: msg: {
|
||||
systemd.services.webserver = {
|
||||
description = "Mock webserver";
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Restart = "always";
|
||||
script = ''
|
||||
while true; do
|
||||
{
|
||||
printf 'HTTP/1.0 200 OK\n'
|
||||
printf 'Content-Length: ${toString (1 + builtins.stringLength msg)}\n'
|
||||
printf '\n${msg}\n\n'
|
||||
} | ${pkgs.libressl.nc}/bin/nc -${toString ip}nvl 80
|
||||
done
|
||||
'';
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
siit = makeTest {
|
||||
# This test simulates the setup described in [1] with two IPv6 and
|
||||
# IPv4-only devices on different subnets communicating through a border
|
||||
# relay running Jool in SIIT mode.
|
||||
# [1]: https://nicmx.github.io/Jool/en/run-vanilla.html
|
||||
name = "jool-siit";
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
# Border relay
|
||||
nodes.relay = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
# Enable packet routing
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv6.conf.all.forwarding" = 1;
|
||||
"net.ipv4.conf.all.forwarding" = 1;
|
||||
};
|
||||
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces = lib.mkVMOverride {
|
||||
eth1.ipv6.addresses = [ { address = "fd::198.51.100.1"; prefixLength = 120; } ];
|
||||
eth2.ipv4.addresses = [ { address = "192.0.2.1"; prefixLength = 24; } ];
|
||||
};
|
||||
|
||||
networking.jool = {
|
||||
enable = true;
|
||||
siit.enable = true;
|
||||
siit.config.global.pool6 = "fd::/96";
|
||||
};
|
||||
};
|
||||
|
||||
# IPv6 only node
|
||||
nodes.alice = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv6Only
|
||||
(webserver 6 "Hello, Bob!")
|
||||
];
|
||||
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
addresses = [ { address = "fd::198.51.100.8"; prefixLength = 120; } ];
|
||||
routes = [ { address = "fd::192.0.2.0"; prefixLength = 120;
|
||||
via = "fd::198.51.100.1"; } ];
|
||||
};
|
||||
};
|
||||
|
||||
# IPv4 only node
|
||||
nodes.bob = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv4Only
|
||||
(webserver 4 "Hello, Alice!")
|
||||
];
|
||||
|
||||
virtualisation.vlans = [ 2 ];
|
||||
networking.interfaces.eth1.ipv4 = {
|
||||
addresses = [ { address = "192.0.2.16"; prefixLength = 24; } ];
|
||||
routes = [ { address = "198.51.100.0"; prefixLength = 24;
|
||||
via = "192.0.2.1"; } ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
relay.wait_for_unit("jool-siit.service")
|
||||
alice.wait_for_unit("network-addresses-eth1.service")
|
||||
bob.wait_for_unit("network-addresses-eth1.service")
|
||||
|
||||
with subtest("Alice and Bob can't ping each other"):
|
||||
relay.systemctl("stop jool-siit.service")
|
||||
alice.fail("ping -c1 fd::192.0.2.16")
|
||||
bob.fail("ping -c1 198.51.100.8")
|
||||
|
||||
with subtest("Alice and Bob can ping using the relay"):
|
||||
relay.systemctl("start jool-siit.service")
|
||||
alice.wait_until_succeeds("ping -c1 fd::192.0.2.16")
|
||||
bob.wait_until_succeeds("ping -c1 198.51.100.8")
|
||||
|
||||
with subtest("Alice can connect to Bob's webserver"):
|
||||
bob.wait_for_open_port(80)
|
||||
alice.succeed("curl -vvv http://[fd::192.0.2.16] >&2")
|
||||
alice.succeed("curl --fail -s http://[fd::192.0.2.16] | grep -q Alice")
|
||||
|
||||
with subtest("Bob can connect to Alices's webserver"):
|
||||
alice.wait_for_open_port(80)
|
||||
bob.succeed("curl --fail -s http://198.51.100.8 | grep -q Bob")
|
||||
'';
|
||||
};
|
||||
|
||||
nat64 = makeTest {
|
||||
# This test simulates the setup described in [1] with two IPv6-only nodes
|
||||
# (a client and a homeserver) on the LAN subnet and an IPv4 node on the WAN.
|
||||
# The router runs Jool in stateful NAT64 mode, masquarading the LAN and
|
||||
# forwarding ports using static BIB entries.
|
||||
# [1]: https://nicmx.github.io/Jool/en/run-nat64.html
|
||||
name = "jool-nat64";
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
# Router
|
||||
nodes.router = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
# Enable packet routing
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv6.conf.all.forwarding" = 1;
|
||||
"net.ipv4.conf.all.forwarding" = 1;
|
||||
};
|
||||
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces = lib.mkVMOverride {
|
||||
eth1.ipv6.addresses = [ { address = "2001:db8::1"; prefixLength = 96; } ];
|
||||
eth2.ipv4.addresses = [ { address = "203.0.113.1"; prefixLength = 24; } ];
|
||||
};
|
||||
|
||||
networking.jool = {
|
||||
enable = true;
|
||||
nat64.enable = true;
|
||||
nat64.config = {
|
||||
bib = [
|
||||
{ # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver)
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "203.0.113.1#80";
|
||||
"ipv6 address" = "2001:db8::9#80";
|
||||
}
|
||||
];
|
||||
pool4 = [
|
||||
# Ports for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "80"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# LAN client (IPv6 only)
|
||||
nodes.client = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ipv6Only ];
|
||||
virtualisation.vlans = [ 1 ];
|
||||
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
addresses = [ { address = "2001:db8::8"; prefixLength = 96; } ];
|
||||
routes = [ { address = "64:ff9b::"; prefixLength = 96;
|
||||
via = "2001:db8::1"; } ];
|
||||
};
|
||||
};
|
||||
|
||||
# LAN server (IPv6 only)
|
||||
nodes.homeserver = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv6Only
|
||||
(webserver 6 "Hello from IPv6!")
|
||||
];
|
||||
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
addresses = [ { address = "2001:db8::9"; prefixLength = 96; } ];
|
||||
routes = [ { address = "64:ff9b::"; prefixLength = 96;
|
||||
via = "2001:db8::1"; } ];
|
||||
};
|
||||
};
|
||||
|
||||
# WAN server (IPv4 only)
|
||||
nodes.server = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv4Only
|
||||
(webserver 4 "Hello from IPv4!")
|
||||
];
|
||||
|
||||
virtualisation.vlans = [ 2 ];
|
||||
networking.interfaces.eth1.ipv4.addresses =
|
||||
[ { address = "203.0.113.16"; prefixLength = 24; } ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
for node in [client, homeserver, server]:
|
||||
node.wait_for_unit("network-addresses-eth1.service")
|
||||
|
||||
with subtest("Client can ping the WAN server"):
|
||||
router.wait_for_unit("jool-nat64.service")
|
||||
client.succeed("ping -c1 64:ff9b::203.0.113.16")
|
||||
|
||||
with subtest("Client can connect to the WAN webserver"):
|
||||
server.wait_for_open_port(80)
|
||||
client.succeed("curl --fail -s http://[64:ff9b::203.0.113.16] | grep -q IPv4!")
|
||||
|
||||
with subtest("Router BIB entries are correctly populated"):
|
||||
router.succeed("jool bib display | grep -q 'Dynamic TCP.*2001:db8::8'")
|
||||
router.succeed("jool bib display | grep -q 'Static TCP.*2001:db8::9'")
|
||||
|
||||
with subtest("WAN server can reach the LAN server"):
|
||||
homeserver.wait_for_open_port(80)
|
||||
server.succeed("curl --fail -s http://203.0.113.1 | grep -q IPv6!")
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, ant, jre, jdk, swt, acl, attr }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "areca";
|
||||
version = "7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/areca/areca-stable/areca-${version}/areca-${version}-src.tar.gz";
|
||||
sha256 = "1q4ha9s96c1syplxm04bh1v1gvjq16l4pa8w25w95d2ywwvyq1xb";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
buildInputs = [ jdk ant acl attr ];
|
||||
|
||||
patches = [ ./fix-javah-bug.diff ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.xml --replace "/usr/lib/java/swt.jar" "${swt}/jars/swt.jar"
|
||||
substituteInPlace build.xml --replace "gcc" "${stdenv.cc}/bin/gcc"
|
||||
substituteInPlace areca.sh --replace "bin/" ""
|
||||
substituteInPlace bin/areca_run.sh --replace "/usr/java" "${jre}/lib/openjdk"
|
||||
substituteInPlace bin/areca_run.sh --replace "/usr/lib/java/swt.jar" "${swt}/jars/swt.jar"
|
||||
|
||||
# Fix for NixOS/nixpkgs/issues/53716
|
||||
sed -i -e 's;^;#include <attr/attributes.h>;' jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c
|
||||
substituteInPlace jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c --replace attr/xattr.h sys/xattr.h
|
||||
|
||||
sed -i "s#^PROGRAM_DIR.*#PROGRAM_DIR=$out#g" bin/areca_run.sh
|
||||
sed -i "s#^LIBRARY_PATH.*#LIBRARY_PATH=$out/lib:${lib.makeLibraryPath [ swt acl ]}#g" bin/areca_run.sh
|
||||
|
||||
# https://sourceforge.net/p/areca/bugs/563/
|
||||
substituteInPlace bin/areca_run.sh --replace '[ "$JAVA_IMPL" = "java" ]' \
|
||||
'[[ "$JAVA_IMPL" = "java" || "$JAVA_IMPL" = "openjdk" ]]'
|
||||
'';
|
||||
|
||||
buildPhase = "ant";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib $out/translations
|
||||
cp areca.sh $out/bin/areca
|
||||
cp -r bin $out
|
||||
cp -r lib $out
|
||||
cp -r translations $out
|
||||
cp COPYING $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.areca-backup.org/";
|
||||
description = "An Open Source personal backup solution";
|
||||
# Builds fine but fails to launch.
|
||||
broken = true;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
{ lib, stdenv, fetchgit, dconf, gtksourceview3, at-spi2-core, gtksourceviewmm,
|
||||
boost, libepoxy, cmake, aspell, llvmPackages, libgit2, pkg-config, pcre,
|
||||
libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3,
|
||||
coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "juicipp";
|
||||
version = "1.2.3";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cppit/jucipp";
|
||||
description = "A lightweight, platform independent C++-IDE with support for C++11, C++14, and experimental C++17 features depending on libclang version";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ xnwdd ];
|
||||
# error: token ""1.1"" is not valid in preprocessor expression
|
||||
# TODO: fix pname being different from the attribute name
|
||||
broken = true;
|
||||
};
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/cppit/jucipp.git";
|
||||
rev = "refs/tags/v${version}";
|
||||
deepClone = true;
|
||||
sha256 = "0xp6ijnrggskjrvscp204bmdpz48l5a8nxr9abp17wni6akb5wiq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook cmake ];
|
||||
buildInputs = [
|
||||
dbus
|
||||
openssl
|
||||
libxml2
|
||||
gtksourceview3
|
||||
at-spi2-core
|
||||
pcre
|
||||
libepoxy
|
||||
boost
|
||||
libXdmcp
|
||||
aspell
|
||||
libgit2
|
||||
libxkbcommon
|
||||
gtkmm3
|
||||
libpthreadstubs
|
||||
gtksourceviewmm
|
||||
llvmPackages.clang.cc
|
||||
llvmPackages.lldb
|
||||
dconf
|
||||
];
|
||||
|
||||
|
||||
lintIncludes = let
|
||||
p = "arguments.emplace_back(\"-I";
|
||||
e = "\");";
|
||||
v = lib.getVersion llvmPackages.clang;
|
||||
in
|
||||
p+llvmPackages.libcxx.dev+"/include/c++/v1"+e
|
||||
+p+llvmPackages.clang-unwrapped.lib+"/lib/clang/"+v+"/include/"+e
|
||||
+p+glibc.dev+"/include"+e;
|
||||
|
||||
preConfigure = ''
|
||||
sed -i 's|liblldb LIBLLDB_LIBRARIES|liblldb LIBNOTHING|g' CMakeLists.txt
|
||||
sed -i 's|> arguments;|> arguments; ${lintIncludes}|g' src/source_clang.cc
|
||||
'';
|
||||
cmakeFlags = [ "-DLIBLLDB_LIBRARIES=${lib.makeLibraryPath [ llvmPackages.lldb ]}/liblldb.so" ];
|
||||
postInstall = ''
|
||||
mv $out/bin/juci $out/bin/.juci
|
||||
makeWrapper "$out/bin/.juci" "$out/bin/juci" \
|
||||
--set PATH "${lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake llvmPackages.clang.bintools llvmPackages.clang ]}" \
|
||||
--set NO_AT_BRIDGE 1 \
|
||||
--set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
|
||||
'';
|
||||
|
||||
}
|
@ -19,6 +19,10 @@
|
||||
"date": "2022-10-20",
|
||||
"new": "neodev-nvim"
|
||||
},
|
||||
"nvchad-extensions": {
|
||||
"date": "2023-08-19",
|
||||
"new": "nvchad-ui"
|
||||
},
|
||||
"nvim-bufferline-lua": {
|
||||
"date": "2021-08-22",
|
||||
"new": "bufferline-nvim"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -27,12 +27,12 @@
|
||||
};
|
||||
arduino = buildGrammar {
|
||||
language = "arduino";
|
||||
version = "0.0.0+rev=d988e6a";
|
||||
version = "0.0.0+rev=a2aa2b3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-arduino";
|
||||
rev = "d988e6a803203cc2bbfd2a8a84edffc73d2922b4";
|
||||
hash = "sha256-Q8LmoBIKqU/DCf387ew/LgvYbyT8KsxvmD+WFMXOMGI=";
|
||||
rev = "a2aa2b38301960822c5384cd10a07c2026e9d44e";
|
||||
hash = "sha256-VtY+SaWIkLHv48jewmU0k1AtPwqpthWbNkpTHtCS98Y=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
|
||||
};
|
||||
@ -60,12 +60,12 @@
|
||||
};
|
||||
bash = buildGrammar {
|
||||
language = "bash";
|
||||
version = "0.0.0+rev=1b0321e";
|
||||
version = "0.0.0+rev=8077be4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-bash";
|
||||
rev = "1b0321ee85701d5036c334a6f04761cdc672e64c";
|
||||
hash = "sha256-ueZjazaqjbxqCM7mO8h9m0fJ6RUCaX4MuJx7StnPqyc=";
|
||||
rev = "8077be4c5504f2618f1280295bc4ae20a75988c1";
|
||||
hash = "sha256-i31QbosmsI1CUGAHOqeNGVeqoct13+i24CUtaGwdT7o=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
|
||||
};
|
||||
@ -113,6 +113,17 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-bicep";
|
||||
};
|
||||
bitbake = buildGrammar {
|
||||
language = "bitbake";
|
||||
version = "0.0.0+rev=ed92abd";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-bitbake";
|
||||
rev = "ed92abd7b67ab66a6fa3a747a0157f01d2e467d8";
|
||||
hash = "sha256-HfWUDYiBCmtlu5fFX287BSDHyCiD7gqIVFDTxH5APAE=";
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-bitbake";
|
||||
};
|
||||
blueprint = buildGrammar {
|
||||
language = "blueprint";
|
||||
version = "0.0.0+rev=7f1a5df";
|
||||
@ -126,12 +137,12 @@
|
||||
};
|
||||
c = buildGrammar {
|
||||
language = "c";
|
||||
version = "0.0.0+rev=93ef178";
|
||||
version = "0.0.0+rev=a2b7bac";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-c";
|
||||
rev = "93ef1785bbf854cf964e6e53d6e1e6885a4d8ebc";
|
||||
hash = "sha256-5n9ZnslpUWyusWTo+AqJiPGB64NB0rTbc2rtfByPUC8=";
|
||||
rev = "a2b7bac3b313efbaa683d9a276ff63cdc544d960";
|
||||
hash = "sha256-39i06oXMQemfq3Y4TTXai6HFXvURVOif1v2i9LP4sAI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
|
||||
};
|
||||
@ -192,12 +203,12 @@
|
||||
};
|
||||
cmake = buildGrammar {
|
||||
language = "cmake";
|
||||
version = "0.0.0+rev=3dfc596";
|
||||
version = "0.0.0+rev=73ab4b8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "uyha";
|
||||
repo = "tree-sitter-cmake";
|
||||
rev = "3dfc596025431b21e839d392c171f6f97c2a4258";
|
||||
hash = "sha256-SrNsKtZ/BYa6wWkuseHuwwvcC37IKFuGtS5oNefWG0U=";
|
||||
rev = "73ab4b8e9522f014a67f87f585e820d36fa47408";
|
||||
hash = "sha256-5X4ho6tqPZFQWqoQ6WBsfuA+RbxTX5XzX7xzyFSTifw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
|
||||
};
|
||||
@ -258,12 +269,12 @@
|
||||
};
|
||||
cpp = buildGrammar {
|
||||
language = "cpp";
|
||||
version = "0.0.0+rev=77cecd8";
|
||||
version = "0.0.0+rev=a90f170";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-cpp";
|
||||
rev = "77cecd88d28032bf4f54fd4ee68efb53a6c8c9a5";
|
||||
hash = "sha256-/w77s0qcJcLH6MX3BVuM37UQ1Xm/6t2oJ2KTq+hnIJI=";
|
||||
rev = "a90f170f92d5d70e7c2d4183c146e61ba5f3a457";
|
||||
hash = "sha256-e9Mz84lssaPR80hlogyjXx+jA8gD8YVp4T06qC6gRVI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
|
||||
};
|
||||
@ -278,14 +289,26 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
|
||||
};
|
||||
csv = buildGrammar {
|
||||
language = "csv";
|
||||
version = "0.0.0+rev=f1d35df";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-csv";
|
||||
rev = "f1d35df780976721d3cd38f0b16538dd31f87a23";
|
||||
hash = "sha256-t4uzc1VwJzS4qj0D1wolUvUNuc5OzC4L4RnLpYh+TXo=";
|
||||
};
|
||||
location = "csv";
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-csv";
|
||||
};
|
||||
cuda = buildGrammar {
|
||||
language = "cuda";
|
||||
version = "0.0.0+rev=d4285d0";
|
||||
version = "0.0.0+rev=f00c914";
|
||||
src = fetchFromGitHub {
|
||||
owner = "theHamsta";
|
||||
repo = "tree-sitter-cuda";
|
||||
rev = "d4285d0396a409c91bcd5a7fd362cf13cc6f8600";
|
||||
hash = "sha256-M4jx6pEj6kb0XIaWq7dzEvd+p6qadlowEyMYzJoeiRU=";
|
||||
rev = "f00c91430124797e798cbf28e09075d7d192938a";
|
||||
hash = "sha256-9Jx6O4yfIrbCLTEPgpoZZ+3yxhi2r0MwrbiHCUexa60=";
|
||||
};
|
||||
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
|
||||
};
|
||||
@ -378,6 +401,18 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/rydesun/tree-sitter-dot";
|
||||
};
|
||||
dtd = buildGrammar {
|
||||
language = "dtd";
|
||||
version = "0.0.0+rev=9deacbf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-xml";
|
||||
rev = "9deacbfb79cb3527a0396255beb17e1bba3f2052";
|
||||
hash = "sha256-3ryZXRgsBaNKBBHUhJ8ANHYunOUMzthMI7gw+6lnooQ=";
|
||||
};
|
||||
location = "tree-sitter-dtd";
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
|
||||
};
|
||||
ebnf = buildGrammar {
|
||||
language = "ebnf";
|
||||
version = "0.0.0+rev=8e635b0";
|
||||
@ -645,12 +680,12 @@
|
||||
};
|
||||
glsl = buildGrammar {
|
||||
language = "glsl";
|
||||
version = "0.0.0+rev=00ffe20";
|
||||
version = "0.0.0+rev=4780c2b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "theHamsta";
|
||||
repo = "tree-sitter-glsl";
|
||||
rev = "00ffe2099374613d2f313ace4a9dda44370b458b";
|
||||
hash = "sha256-K0JSRytbV5qMP6X3rT/cmEjxdTPgT63hQpahFrUjTOU=";
|
||||
rev = "4780c2b689a5a5bd0ccfd78403510e9cf4a0f2fc";
|
||||
hash = "sha256-lbdQSqLtjM1AtdmlAebCH0CewYPENIQHb7oyXNuUM6U=";
|
||||
};
|
||||
meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
|
||||
};
|
||||
@ -709,6 +744,17 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/omertuc/tree-sitter-go-work";
|
||||
};
|
||||
gpg = buildGrammar {
|
||||
language = "gpg";
|
||||
version = "0.0.0+rev=c44ce76";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-gpg-config";
|
||||
rev = "c44ce76960114352dd00728b835ceef02e0506b8";
|
||||
hash = "sha256-EDkmwHzRwf3x5LMsnOnhj+AbYLKF3dy/t4sGxuIWnYg=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config";
|
||||
};
|
||||
graphql = buildGrammar {
|
||||
language = "graphql";
|
||||
version = "0.0.0+rev=5e66e96";
|
||||
@ -810,12 +856,12 @@
|
||||
};
|
||||
hlsl = buildGrammar {
|
||||
language = "hlsl";
|
||||
version = "0.0.0+rev=95361dd";
|
||||
version = "0.0.0+rev=45e60a6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "theHamsta";
|
||||
repo = "tree-sitter-hlsl";
|
||||
rev = "95361dde7ad4025fbec5dc4e5cdde0ea8ed64172";
|
||||
hash = "sha256-zOWkB0ii0awy/P2nHd3vGEoiLpo/fswhHVvYJOwfgzg=";
|
||||
rev = "45e60a69b4dac922d81474b5d6fa88b4e5387b21";
|
||||
hash = "sha256-qQqgiFJAX3hT1ecvKJ6fssWvtkT8i3IdRVBt6L0coI4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
|
||||
};
|
||||
@ -898,12 +944,12 @@
|
||||
};
|
||||
ispc = buildGrammar {
|
||||
language = "ispc";
|
||||
version = "0.0.0+rev=cc57a93";
|
||||
version = "0.0.0+rev=9b2f9ae";
|
||||
src = fetchFromGitHub {
|
||||
owner = "fab4100";
|
||||
repo = "tree-sitter-ispc";
|
||||
rev = "cc57a931eb782474324910e19ca253aa0d5fe38a";
|
||||
hash = "sha256-fWBKSLzegpf5duDEqIbz5hvEFlOZFjQdLpVxLhimSAY=";
|
||||
rev = "9b2f9aec2106b94b4e099fe75e73ebd8ae707c04";
|
||||
hash = "sha256-vxe+g7o0gXgB4GjhjkxqLqcLL2+8wqMB3tm1xQFSitI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/fab4100/tree-sitter-ispc";
|
||||
};
|
||||
@ -920,23 +966,23 @@
|
||||
};
|
||||
java = buildGrammar {
|
||||
language = "java";
|
||||
version = "0.0.0+rev=e8d1bc4";
|
||||
version = "0.0.0+rev=0b3f9cf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-java";
|
||||
rev = "e8d1bc4043c1d2326f7ce3aa7b8833c7b18d0560";
|
||||
hash = "sha256-UXTEUb5OyGYRDae52fuSBOiu/6LXIk3s8mt0vl7z2Bw=";
|
||||
rev = "0b3f9cfe10a973df0530533313fdbef6c2c92bfa";
|
||||
hash = "sha256-dSRXjHfJOCrwm6HXlEz+prlKH7k+5B99S8vWyH49KzQ=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
|
||||
};
|
||||
javascript = buildGrammar {
|
||||
language = "javascript";
|
||||
version = "0.0.0+rev=f772967";
|
||||
version = "0.0.0+rev=c69aaba";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-javascript";
|
||||
rev = "f772967f7b7bc7c28f845be2420a38472b16a8ee";
|
||||
hash = "sha256-rfOAn5S8E2RunlRyY1aTs7j0r6UGKH+732xdpk/5524=";
|
||||
rev = "c69aabab53609d00e8e198ab902e4fde4b8e449f";
|
||||
hash = "sha256-6cyKT4yASueb+nNj8EqZbF7LZYZasMOYvq5ki2a0zQk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
|
||||
};
|
||||
@ -997,12 +1043,12 @@
|
||||
};
|
||||
jsonnet = buildGrammar {
|
||||
language = "jsonnet";
|
||||
version = "0.0.0+rev=26d9699";
|
||||
version = "0.0.0+rev=d34615f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sourcegraph";
|
||||
repo = "tree-sitter-jsonnet";
|
||||
rev = "26d9699842a429731844c93cbcb485519bb2c526";
|
||||
hash = "sha256-e5K2k1DNPU/NuWN2uGwk+k3c5plNk5RN0Or6ahxD/lQ=";
|
||||
rev = "d34615fa12cc1d1cfc1f1f1a80acc9db80ee4596";
|
||||
hash = "sha256-jjDjntNm0YAsG6Ec2n0eB8BjpgEQEAjV8LAZ3GGYhG8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
|
||||
};
|
||||
@ -1085,12 +1131,12 @@
|
||||
};
|
||||
lua = buildGrammar {
|
||||
language = "lua";
|
||||
version = "0.0.0+rev=7268c1c";
|
||||
version = "0.0.0+rev=88e4464";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MunifTanjim";
|
||||
repo = "tree-sitter-lua";
|
||||
rev = "7268c1cea5df56ac0c779cd37d6631d4e6f41d4f";
|
||||
hash = "sha256-GrRHbNVKijYNeICeopVW6OtHquqKhKtDDa7dK5sEMNQ=";
|
||||
rev = "88e446476a1e97a8724dff7a23e2d709855077f2";
|
||||
hash = "sha256-w+WVQHPiS/xyRz0obdJoUHZ7QzIDAvgtSzmE98yDORY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
|
||||
};
|
||||
@ -1275,12 +1321,12 @@
|
||||
};
|
||||
objc = buildGrammar {
|
||||
language = "objc";
|
||||
version = "0.0.0+rev=97e022e";
|
||||
version = "0.0.0+rev=62e61b6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-objc";
|
||||
rev = "97e022ec4a908108283bad23d42eee39ad204db6";
|
||||
hash = "sha256-3sp93zxliIrjp6Z1SUlFdp2rkcsFLba4SEIVdaQ4H+4=";
|
||||
rev = "62e61b6f5c0289c376d61a8c91faf6435cde9012";
|
||||
hash = "sha256-Q1qAUgoYfpxmhn5XpnCwLBdu2BL2YF2We9bjumR8dNk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-objc";
|
||||
};
|
||||
@ -1388,12 +1434,12 @@
|
||||
};
|
||||
php = buildGrammar {
|
||||
language = "php";
|
||||
version = "0.0.0+rev=d76de26";
|
||||
version = "0.0.0+rev=ce2c73a";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "d76de26b8218df208949f46b31e0c422020eda3a";
|
||||
hash = "sha256-s5oms776eOTkT/tD61ElHCY+pIg7LhnJ3VIyhdHoZWs=";
|
||||
rev = "ce2c73a8d84b5648e8792698dc9fd955e5f6a906";
|
||||
hash = "sha256-HZOIz9KiZ13aqeQtCeQln56RRRPUSgT7ulPJs54fzJc=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
};
|
||||
@ -1465,12 +1511,12 @@
|
||||
};
|
||||
promql = buildGrammar {
|
||||
language = "promql";
|
||||
version = "0.0.0+rev=ed9a12f";
|
||||
version = "0.0.0+rev=77625d7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaHoffmann";
|
||||
repo = "tree-sitter-promql";
|
||||
rev = "ed9a12f6ae4e75d4622adef8fb1b1e4d0ac0a759";
|
||||
hash = "sha256-pE0cPBB6zuQ2MdjT+kPOqhbTvcOBk5M+JK3leaT7ITE=";
|
||||
rev = "77625d78eebc3ffc44d114a07b2f348dff3061b0";
|
||||
hash = "sha256-IJbnC03pDfcSAF//Ux+LqqfjtagGSD5Nu46yUo0vT5Q=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-promql";
|
||||
};
|
||||
@ -1496,6 +1542,18 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/PRQL/tree-sitter-prql";
|
||||
};
|
||||
psv = buildGrammar {
|
||||
language = "psv";
|
||||
version = "0.0.0+rev=f1d35df";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-csv";
|
||||
rev = "f1d35df780976721d3cd38f0b16538dd31f87a23";
|
||||
hash = "sha256-t4uzc1VwJzS4qj0D1wolUvUNuc5OzC4L4RnLpYh+TXo=";
|
||||
};
|
||||
location = "psv";
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-csv";
|
||||
};
|
||||
pug = buildGrammar {
|
||||
language = "pug";
|
||||
version = "0.0.0+rev=a7ff31a";
|
||||
@ -1518,14 +1576,25 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-puppet";
|
||||
};
|
||||
pymanifest = buildGrammar {
|
||||
language = "pymanifest";
|
||||
version = "0.0.0+rev=8953f91";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-pymanifest";
|
||||
rev = "8953f91d733dd92c1ac43b3d58a7a2f43fa62dae";
|
||||
hash = "sha256-1kG09tYE9FAxsE4MqLadi4dtqtJOFOZGOOVgnqvWc44=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pymanifest";
|
||||
};
|
||||
python = buildGrammar {
|
||||
language = "python";
|
||||
version = "0.0.0+rev=5af00f6";
|
||||
version = "0.0.0+rev=c01fb4e";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-python";
|
||||
rev = "5af00f64af6bbf822f208243cce5cf75396fb6f5";
|
||||
hash = "sha256-2btd/NRE6NuGNlx4cq535OrwtWXihiP3VMCJjPCiDOk=";
|
||||
rev = "c01fb4e38587e959b9058b8cd34b9e6a3068c827";
|
||||
hash = "sha256-cV/QwvEQkIQcgo0Pm+3pUH2LhpYOPsuWMgjXMa8dv+s=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
|
||||
};
|
||||
@ -1652,12 +1721,12 @@
|
||||
};
|
||||
robot = buildGrammar {
|
||||
language = "robot";
|
||||
version = "0.0.0+rev=5e50f25";
|
||||
version = "0.0.0+rev=322e4cc";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Hubro";
|
||||
repo = "tree-sitter-robot";
|
||||
rev = "5e50f2517580290cd1b9689664815e3b09d986b8";
|
||||
hash = "sha256-5mWRCd9JcTGTuODltbuz7htW/fYjlBTS9HzxrFRj12w=";
|
||||
rev = "322e4cc65754d2b3fdef4f2f8a71e0762e3d13af";
|
||||
hash = "sha256-VxWZWFPYkD3odM3TpEgLKsFnN8wB6xoIiXUYqBbpDqw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Hubro/tree-sitter-robot";
|
||||
};
|
||||
@ -1707,12 +1776,12 @@
|
||||
};
|
||||
scala = buildGrammar {
|
||||
language = "scala";
|
||||
version = "0.0.0+rev=f14629b";
|
||||
version = "0.0.0+rev=3a67773";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-scala";
|
||||
rev = "f14629b4d53f72356ce8f6d4ac8c54d21b4e74dd";
|
||||
hash = "sha256-SRj4iF1qS2jEFaIkRfXzAmzG7jKeSzKv5/GdXKbKRjU=";
|
||||
rev = "3a67773e205eb43c993cc5d43f633ddb79eb1653";
|
||||
hash = "sha256-S5vXtvdpQMh8Beacpm07zRaHoJCa+ZiH2j5IB6idOng=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
|
||||
};
|
||||
@ -1829,12 +1898,12 @@
|
||||
};
|
||||
starlark = buildGrammar {
|
||||
language = "starlark";
|
||||
version = "0.0.0+rev=504ddd7";
|
||||
version = "0.0.0+rev=c45ce2b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-starlark";
|
||||
rev = "504ddd75ecc78fbbce22aa6facd70375d3f8854a";
|
||||
hash = "sha256-ourTH45q4X0CxDAVGhwK5XgeWNhS4SRtc4qyUF+H+RQ=";
|
||||
rev = "c45ce2b39062bbd12ea1c210bd200db250efb24a";
|
||||
hash = "sha256-rEOvGrXRguIXQNvXdm+s80xRQ+8iCCdafA2Wl+dsHJo=";
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-starlark";
|
||||
};
|
||||
@ -2006,6 +2075,18 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/ikatyang/tree-sitter-toml";
|
||||
};
|
||||
tsv = buildGrammar {
|
||||
language = "tsv";
|
||||
version = "0.0.0+rev=f1d35df";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-csv";
|
||||
rev = "f1d35df780976721d3cd38f0b16538dd31f87a23";
|
||||
hash = "sha256-t4uzc1VwJzS4qj0D1wolUvUNuc5OzC4L4RnLpYh+TXo=";
|
||||
};
|
||||
location = "tsv";
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-csv";
|
||||
};
|
||||
tsx = buildGrammar {
|
||||
language = "tsx";
|
||||
version = "0.0.0+rev=b1bf482";
|
||||
@ -2187,17 +2268,29 @@
|
||||
};
|
||||
wing = buildGrammar {
|
||||
language = "wing";
|
||||
version = "0.0.0+rev=9399564";
|
||||
version = "0.0.0+rev=f30b02c";
|
||||
src = fetchFromGitHub {
|
||||
owner = "winglang";
|
||||
repo = "wing";
|
||||
rev = "9399564d1e32864c6af2d49c0dcd1f76d54443f2";
|
||||
hash = "sha256-Me+AhVl0a38w54vWa4yvxOPHMwVnJw1wewrn0bBC9AM=";
|
||||
rev = "f30b02c4bf363b797de39ae63375a4f357718ae9";
|
||||
hash = "sha256-562MgzH/hGvCBctNj34jXrsmwHXJt4Hxb2lsZ/IeN74=";
|
||||
};
|
||||
location = "libs/tree-sitter-wing";
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/winglang/wing";
|
||||
};
|
||||
xml = buildGrammar {
|
||||
language = "xml";
|
||||
version = "0.0.0+rev=9deacbf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-xml";
|
||||
rev = "9deacbfb79cb3527a0396255beb17e1bba3f2052";
|
||||
hash = "sha256-3ryZXRgsBaNKBBHUhJ8ANHYunOUMzthMI7gw+6lnooQ=";
|
||||
};
|
||||
location = "tree-sitter-xml";
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
|
||||
};
|
||||
yaml = buildGrammar {
|
||||
language = "yaml";
|
||||
version = "0.0.0+rev=0e36bed";
|
||||
|
@ -966,7 +966,7 @@ self: super: {
|
||||
pname = "sg-nvim-rust";
|
||||
inherit (old) version src;
|
||||
|
||||
cargoHash = "sha256-cMMNur6QKp87Q28JyCH2IMLE3xDVd7Irg9HvJ2AsnZc=";
|
||||
cargoHash = "sha256-f14cGAGZFs4DG8FBKYDz1NY38TOuENW9Co2fywGc74E=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -257,6 +257,7 @@ https://github.com/edgedb/edgedb-vim/,,
|
||||
https://github.com/folke/edgy.nvim/,HEAD,
|
||||
https://github.com/editorconfig/editorconfig-vim/,,
|
||||
https://github.com/gpanders/editorconfig.nvim/,,
|
||||
https://github.com/creativenull/efmls-configs-nvim/,,
|
||||
https://github.com/elixir-tools/elixir-tools.nvim/,HEAD,
|
||||
https://github.com/elmcast/elm-vim/,,
|
||||
https://github.com/dmix/elvish.vim/,,
|
||||
@ -265,7 +266,6 @@ https://github.com/vim-scripts/emodeline/,,
|
||||
https://github.com/vim-scripts/errormarker.vim/,,
|
||||
https://github.com/sainnhe/everforest/,,
|
||||
https://github.com/google/executor.nvim/,HEAD,
|
||||
https://github.com/nvchad/extensions/,HEAD,nvchad-extensions
|
||||
https://github.com/jinh0/eyeliner.nvim/,HEAD,
|
||||
https://github.com/fenetikm/falcon/,,
|
||||
https://github.com/brooth/far.vim/,,
|
||||
|
@ -111,9 +111,6 @@ let
|
||||
# The credentials should be stored in a secure keychain already, so the benefit of this is questionable
|
||||
# in the first place.
|
||||
rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt
|
||||
|
||||
# Unbundle libglvnd as VSCode doesn't include libGLESv2.so.2 which is necessary for GPU acceleration
|
||||
rm -rf $out/lib/vscode/libGLESv2.so
|
||||
'') + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -122,7 +119,6 @@ let
|
||||
gappsWrapperArgs+=(
|
||||
# Add gio to PATH so that moving files to the trash works when not using a desktop environment
|
||||
--prefix PATH : ${glib.bin}/bin
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]}
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
)
|
||||
@ -157,6 +153,10 @@ let
|
||||
chmod +x ${vscodeRipgrep}
|
||||
'');
|
||||
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
patchelf --add-needed ${libglvnd}/lib/libGLESv2.so.2 $out/lib/vscode/${executableName}
|
||||
'';
|
||||
|
||||
inherit meta;
|
||||
};
|
||||
|
||||
|
@ -28,11 +28,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "blender";
|
||||
version = "3.6.0";
|
||||
version = "3.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-SzdWyzdGhsaesv1VX5ZUfUnLHvRvW8buJTlOVxz6yOk=";
|
||||
hash = "sha256-olEmcOM3VKo/IWOhQp/qOkdJvwzM7bCkf8i8Bzh07Eg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -32,11 +32,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "calibre";
|
||||
version = "6.24.0";
|
||||
version = "6.25.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-SG6st8RRN2hGFQa1XB93fbklTNta5uJXGSeY+F7CSPY=";
|
||||
hash = "sha256-4ghB2RUImh8AsMGsBCsVeKXgyV+llCLNy24/2LNJwv0=";
|
||||
};
|
||||
|
||||
# https://sources.debian.org/patches/calibre/${finalAttrs.version}+dfsg-1
|
||||
|
@ -1,79 +0,0 @@
|
||||
{ stdenv
|
||||
, autoPatchelfHook
|
||||
, curl
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, gcc
|
||||
, lib
|
||||
, libGLU
|
||||
, libcork
|
||||
, makeDesktopItem
|
||||
, qt5
|
||||
, quazip
|
||||
, zlib
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ideamaker";
|
||||
version = "4.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
# N.B. Unfortunately ideamaker adds a number after the patch number in
|
||||
# their release scheme which is not referenced anywhere other than in
|
||||
# the download URL. Because of this, I have chosen to not use ${version}
|
||||
# and just handwrite the correct values in the following URL, hopefully
|
||||
# avoiding surprises for the next person that comes to update this
|
||||
# package.
|
||||
url = "https://download.raise3d.com/ideamaker/release/4.0.1/ideaMaker_4.0.1.4802-ubuntu_amd64.deb";
|
||||
sha256 = "0a1jcakdglcr4kz0kyq692dbjk6aq2yqcp3i6gzni91k791h49hp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg qt5.wrapQtAppsHook ];
|
||||
buildInputs = [
|
||||
curl
|
||||
gcc.cc.lib
|
||||
libGLU
|
||||
libcork
|
||||
qt5.qtbase
|
||||
qt5.qtserialport
|
||||
quazip
|
||||
zlib
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
dpkg-deb -x $src .
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,share/pixmaps}
|
||||
|
||||
cp usr/lib/x86_64-linux-gnu/ideamaker/ideamaker $out/bin
|
||||
ln -s "${desktopItem}/share/applications" $out/share/
|
||||
cp usr/share/ideamaker/icons/ideamaker-icon.png $out/share/pixmaps/${pname}.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
desktopName = "Ideamaker";
|
||||
genericName = meta.description;
|
||||
categories = [ "Utility" "Viewer" "Engineering" ];
|
||||
mimeTypes = [ "application/sla" ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.raise3d.com/ideamaker/";
|
||||
description = "Raise3D's 3D slicer software";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ lovesegfault ];
|
||||
broken = true; # Segfaults on startup.
|
||||
};
|
||||
}
|
@ -1,7 +1,23 @@
|
||||
{ lib, mkDerivation, fetchFromGitHub, pkg-config
|
||||
, qmake, qttools, kirigami2, qtquickcontrols2, qtlocation
|
||||
, libosmscout, valhalla, libpostal, osrm-backend, protobuf
|
||||
, libmicrohttpd, sqlite, marisa, kyotocabinet, boost
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, qmake
|
||||
, qttools
|
||||
, boost
|
||||
, kirigami2
|
||||
, kyotocabinet
|
||||
, libmicrohttpd
|
||||
, libosmscout
|
||||
, libpostal
|
||||
, marisa
|
||||
, osrm-backend
|
||||
, protobuf
|
||||
, qtquickcontrols2
|
||||
, qtlocation
|
||||
, sqlite
|
||||
, valhalla
|
||||
}:
|
||||
|
||||
let
|
||||
@ -31,6 +47,19 @@ mkDerivation rec {
|
||||
libpostal sqlite marisa kyotocabinet boost protobuf date
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Valhalla 3.2.1 support. Only required for next patch to apply cleanly
|
||||
(fetchpatch {
|
||||
url = "https://github.com/rinigus/osmscout-server/commit/1df9d383e61dd14cbe9e5b52412a2e951cee2ee4.patch";
|
||||
hash = "sha256-h+YTyHr4RYgwH5bfVgyujSekbL2LfV8vJgVkjXT0I10=";
|
||||
})
|
||||
# Valhalla 3.4.0 support
|
||||
(fetchpatch {
|
||||
url = "https://github.com/rinigus/osmscout-server/commit/fe6562a4c3ba5da2735232ea8fdc7f71d7e7e714.patch";
|
||||
hash = "sha256-wibLTFk3cFS5mcC71TgMA9ZAAHS3mbjboFHqax6nCxs=";
|
||||
})
|
||||
];
|
||||
|
||||
qmakeFlags = [
|
||||
"SCOUT_FLAVOR=kirigami" # Choose to build the kirigami UI variant
|
||||
"CONFIG+=disable_mapnik" # Disable the optional mapnik backend
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -30,11 +30,11 @@
|
||||
|
||||
firefox-beta = buildMozillaMach rec {
|
||||
pname = "firefox-beta";
|
||||
version = "117.0b5";
|
||||
version = "117.0b9";
|
||||
applicationName = "Mozilla Firefox Beta";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "8cb7a96a996b5d3b4e119b4b6317eb7015f9e3d96a3c6a301effe4e5cdaf1c8295a68e57cd919b42a1bef8717ae6764edcbedd4399ca89e14e5f212b144125c1";
|
||||
sha512 = "95e215f4280e177c3f763c6a8ab7ff56d6e0ca4aca2ac5eec8a3be7a461257e3aba236f3d122200e031d8e75ae2486779fb89d398defeefdb52589cb98a131b4";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -58,12 +58,12 @@
|
||||
|
||||
firefox-devedition = (buildMozillaMach rec {
|
||||
pname = "firefox-devedition";
|
||||
version = "117.0b5";
|
||||
version = "117.0b9";
|
||||
applicationName = "Mozilla Firefox Developer Edition";
|
||||
branding = "browser/branding/aurora";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "16f2fc0ac5d3cd76659b33b319a39367d5e37d7c2f5246f2f76a57b1455ab16af83872ec4fb74a30e127b744a06d8dc5c99a531d3bf2ff4c6465d1d5e2fcd126";
|
||||
sha512 = "ab034e31467a7c9a57f5c32d486fb69a250d4293513babeeea8ff2042b0eac858be2c46c69469c700a7271f46a0c297ecdaa5ff651434adc8f9c157f80a97e43";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "calc";
|
||||
version = "2.14.1.6";
|
||||
version = "2.14.3.5";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://github.com/lcn2/calc/releases/download/v${finalAttrs.version}/calc-${finalAttrs.version}.tar.bz2"
|
||||
"http://www.isthe.com/chongo/src/calc/calc-${finalAttrs.version}.tar.bz2"
|
||||
];
|
||||
hash = "sha256-zlmzCCltGB3ipgWBF9vu2szmAZguPDiR2K3xdTnWf0A=";
|
||||
hash = "sha256-4eXs6NDfsJO5Vr9Mo2jC16hTRAyt++1s+Z/JrWDKwUk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,27 +0,0 @@
|
||||
{ mkDerivation, cmake, fetchFromGitHub, libvncserver, qemu, qtbase, lib
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "aqemu";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tobimensch";
|
||||
repo = "aqemu";
|
||||
rev = "v${version}";
|
||||
sha256 = "1h1mcw8x0jir5p39bs8ka0lcisiyi4jq61fsccgb9hsvl1i8fvk5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ libvncserver qtbase qemu ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A virtual machine manager GUI for qemu";
|
||||
homepage = "https://github.com/tobimensch/aqemu";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ hrdinka ];
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
@ -197,7 +197,7 @@ stdenv.mkDerivation {
|
||||
# Binutils, and Apple's "cctools"; "bintools" as an attempt to find an
|
||||
# unused middle-ground name that evokes both.
|
||||
inherit bintools;
|
||||
inherit cc libc nativeTools nativeLibc nativePrefix isGNU isClang;
|
||||
inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang;
|
||||
|
||||
emacsBufferSetup = pkgs: ''
|
||||
; We should handle propagation here too
|
||||
|
@ -11,7 +11,7 @@ let
|
||||
(builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "${name}-bin";
|
||||
version = "26.0.2";
|
||||
version = "26.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
|
||||
|
@ -1,95 +1,95 @@
|
||||
# This file was autogenerated. DO NOT EDIT!
|
||||
{
|
||||
iosevka = "1mlicv98ih9kjd0rnr7kzxzyy96d2vgajlgk4gh3hyn390wkcz78";
|
||||
iosevka-aile = "0qy84wiqkazja6bs9r763zk3xp12183ijz9gqf0v0xj74qymrwax";
|
||||
iosevka-curly = "1lrh0666vr10n7n924w36qa5bh0w7rqrf3irx0fmwzgsk24zn8d1";
|
||||
iosevka-curly-slab = "15zz7czs5rf5y6c5mr7i5ds69f9kqdwyzsivy5i3qi4iz1jakf29";
|
||||
iosevka-etoile = "16kpki6xvdhjlz7v2gdfyjvv4apby68b66913igd5d8zjd85k47n";
|
||||
iosevka-slab = "0gcv3198802h1kzy2m90hb3kj3p4y50bld7j1gprif3d8mp6an9r";
|
||||
iosevka-ss01 = "09if5d5g4kwlfn5s9hyyrpd1g9fjm2wxj6kbq1s9x28wq7n6xgz8";
|
||||
iosevka-ss02 = "1a4978p6j1fp68qfh0baykg47gssz68bcjkhwn1sb2i99fr37qng";
|
||||
iosevka-ss03 = "0gfg97jf1s2zkc0grlg15bzzxn1z9l8g0x7pg58igr1i2d4x2gvb";
|
||||
iosevka-ss04 = "0clhiydpqs146zv8flqa185b0rgfrj2ifls5fzlvpnba2q223wz3";
|
||||
iosevka-ss05 = "0gxvb19awcj6f41196r1q3ghgm87y0y9j9sfi533f5ny7088mliz";
|
||||
iosevka-ss06 = "14v4962qqbxy5r5kyzq372ckqhzx6l0kmc3xpqxf9fpvfjk89a2y";
|
||||
iosevka-ss07 = "0n2ykrjrfixyildpmi4i1hpj9bsckskgkk3zd3acm2fmpxljvc9n";
|
||||
iosevka-ss08 = "0p9wm3ydvqi0hvayg3mh7841k8rjl2j59qf5m3q4vz8bpbyn80g4";
|
||||
iosevka-ss09 = "1z43l6dlxhh0qrnwd1l93dm5xdvw2jfdsp7fi754r9jc1c3pyamz";
|
||||
iosevka-ss10 = "19nrvx6j9kxxvql6c88rnq6vnnacd0k6lgxg70306zdd7j6g2g1f";
|
||||
iosevka-ss11 = "0jp65j6wqinwmkb412bzjxpb4py6z0kvmm68psgdcl0962w1j806";
|
||||
iosevka-ss12 = "01azishdfz1k202ss1vdz1vl88qn0vsfh9kx53mzin83nqfnqym0";
|
||||
iosevka-ss13 = "1w7syx42y6i6xkxhylc4ybr95ffs9dqhllziyv7dv8p9k1sq9b5v";
|
||||
iosevka-ss14 = "1mplavdlqqclsyjbsh91c8bmbhm0cli6y10f3p6rxjjy16536y24";
|
||||
iosevka-ss15 = "1j6f566l0ppynqvfiq68rb5facmapwj1wbp37xpnswhbh5jilc2h";
|
||||
iosevka-ss16 = "1xxg98mx7m9slm4a1zyrl8lp6n12gbgz79vwd21lanq6bw3l0ki3";
|
||||
iosevka-ss17 = "05bvcw7zpisfpagy54fy2985kscp4466q1fvxn28wb1sw0m6gnvy";
|
||||
iosevka-ss18 = "19lg2xlz3pjcprmni8mc57z9kh28qxap4d94102qzpqb4krfhj07";
|
||||
sgr-iosevka = "0gj6cq0adj0ph85ml205n8wqjimkaqm4yqxgfg02ddk2h3ss97g3";
|
||||
sgr-iosevka-aile = "1vsxdqrxy5qgqry3zskbqpimb3l9950j9yws9zb0jga3v77blwy1";
|
||||
sgr-iosevka-curly = "0dwl6s0pnr4xhl3pgphh3jddz80b9gwcais8fn56hc7x0dkni585";
|
||||
sgr-iosevka-curly-slab = "1fxr7d7rhpm07db5r3qc5bmks05dr9pa2yzk4h3i4zvkpw7gzwd7";
|
||||
sgr-iosevka-etoile = "0dwjywirg5b4ia93kg6cdbyjhk5n171yjb0x2sq6npfq0ywzn8fk";
|
||||
sgr-iosevka-fixed = "0fa9s91p64w3z2pkypy7p5a7srha75c0vi4n4cy8qm2lbx7pgvkh";
|
||||
sgr-iosevka-fixed-curly = "0sdxnsbhsr7kl6f8sb701hcadg1dlq2adkmd9ljg9x8kf8qyjbk4";
|
||||
sgr-iosevka-fixed-curly-slab = "0xc7qxbcxdwnr0nl48mxxmjm7i66rksp7pka522i764yagv2gaf7";
|
||||
sgr-iosevka-fixed-slab = "1fxv28gi3bdihckznsqna5r5d3yzkfqgnidcngb4v9wmvvzxdbjv";
|
||||
sgr-iosevka-fixed-ss01 = "0gynmpnrsj757r9kcznx41lsfpji30xc0c8y3gd8i2zbjps0akrz";
|
||||
sgr-iosevka-fixed-ss02 = "10kplc1xwg5r11j526ax2vjkyqfabxhfa2azzj1hy4cmqqzjxqzg";
|
||||
sgr-iosevka-fixed-ss03 = "0hg1wcnaxcf6xd21xsf6bhm6w0ksj7fl3k6q7nj3j348pfzxw4xj";
|
||||
sgr-iosevka-fixed-ss04 = "0j7lcrda9n865r1vyrx9qc89wnxc6lf3xly28bk856cjf6z84q5d";
|
||||
sgr-iosevka-fixed-ss05 = "0w0cfl8bqcbgw8q6rf0vwngcx7x6z2shk4cysk70nkkmhc584r4r";
|
||||
sgr-iosevka-fixed-ss06 = "0kkhc8w52dgp0skb4sbr5z3i9s0rdhmmx88qs27j3wdlwryk8m08";
|
||||
sgr-iosevka-fixed-ss07 = "1pf70s6cg4ppah985sn0rl7ri5y0xs9y1svcf5a57bp84wc0h8dl";
|
||||
sgr-iosevka-fixed-ss08 = "13iannimij20igm71725l22wqfaq5w6c1m2vjz5hmcxrh7nmfsn5";
|
||||
sgr-iosevka-fixed-ss09 = "1nb8xgn95x07jxxxfy39rwlkpb8w20qxnaz15l4kzxfjlwwwgcwl";
|
||||
sgr-iosevka-fixed-ss10 = "0dbbchg8lmkpjqw8yn052qpmk00vb1bwcar7nwlhr93vy4z8y72h";
|
||||
sgr-iosevka-fixed-ss11 = "1ljkr3ld4zv7f33xy5xx5wzrypzxzkpwv01cmc5w349dwbza9fpc";
|
||||
sgr-iosevka-fixed-ss12 = "11wvz3g45l589nnljawp9avz80jbv64df6i0mhgb3ln8n7mx7y7g";
|
||||
sgr-iosevka-fixed-ss13 = "1qb9xspdcadsmvb5ghi555bkj1x8iv0dw00yvxs4mzw7rgq47rrb";
|
||||
sgr-iosevka-fixed-ss14 = "17xig4lm02xg8r19pfn5lc45qbc7j4h1q79lcp5w4ym83wmfcsq6";
|
||||
sgr-iosevka-fixed-ss15 = "0ivy6d8xmm3yl0n2zy58z9jbkbwv5wagdnk70vszp1ln9vsgbnfn";
|
||||
sgr-iosevka-fixed-ss16 = "1jbr1cf0wmqg164z0i16rgn0qjpll9qyw5ch5p225a25pfkk4sbv";
|
||||
sgr-iosevka-fixed-ss17 = "1zz3drhw9k3ckn2x460v4m033j7shjy082d3hhwkadfwgpy7cbny";
|
||||
sgr-iosevka-fixed-ss18 = "0qvm24y2c248rwhcyy7fv1930dnsbs1sa23q5w94g7xw94pigq4z";
|
||||
sgr-iosevka-slab = "1ln6kx0cn2f9lz0jiz2qq3bb3vkxzpcw2jn52wxpq3pa55fmh9xw";
|
||||
sgr-iosevka-ss01 = "1vimfq19c0hf3vysi6agyplnshzbkg3hprslrlrcqv6pafhc0j4m";
|
||||
sgr-iosevka-ss02 = "1l4wfi2s47pxsdhlif7h9rgdqmj8dxswbpmrwghad1vpi09s9q33";
|
||||
sgr-iosevka-ss03 = "078vckd5hsmvnpyh54yzab7pbxlsqrr0h4phyhnpzsmqgg483kwm";
|
||||
sgr-iosevka-ss04 = "01z2f6qddl6d5k8k9v6xpry6wihr9w8b7chy1n8zvli52p5mbww7";
|
||||
sgr-iosevka-ss05 = "0bvjr0nh1j8wb2xs91z32vxxzwhkjwbpkpz8l8mwf1a0hlaqpbar";
|
||||
sgr-iosevka-ss06 = "1lpnvjdw6qzs5l473fwx4vk2xxwxkbfw4rfkvml3i60rs655nmy6";
|
||||
sgr-iosevka-ss07 = "01jbma445cyr6acic4qafjkxfl9q7bbn0ngvx7s5bxmc6xv3hnaf";
|
||||
sgr-iosevka-ss08 = "1vxlc5m4pwydy9zcam47494vx52c7h0nfp6f7z4iqpfshv0nnyp6";
|
||||
sgr-iosevka-ss09 = "0w5qfwpxagls74s0b98grd9in4m947fmrw6nn215zhp0zj2mfwi6";
|
||||
sgr-iosevka-ss10 = "1fwbyis93kdjc62vp701rr6vpfw2an1xznpnm0aifafnz6rl5zfg";
|
||||
sgr-iosevka-ss11 = "081gj3b1b669vc38l6gpwagk7afd7338d04jqprx5savz9a9nfs7";
|
||||
sgr-iosevka-ss12 = "09hc5vnvkymlrirjy3rszxb64n55c7a359vs5lfgcsmrf08z35xw";
|
||||
sgr-iosevka-ss13 = "0qzzs4rgny8habxxrjqqnfigh6pcx15hcgi9z29crs5sskmcsp2s";
|
||||
sgr-iosevka-ss14 = "004rcv0g0916c7vrkb796zck9sywhsdrd5z1kx1v8v9gyxlgv46z";
|
||||
sgr-iosevka-ss15 = "1yn6alx6ppgrgfzhmgsiwmw7rrvj7ad7yss5yqwbas6k9n70j5ki";
|
||||
sgr-iosevka-ss16 = "06h59vvl0vcrb5r24y22cwhdmcpi0wn92daz3ak739x52qnc9dll";
|
||||
sgr-iosevka-ss17 = "0c8s66lb7mp0zya12mcxdfy05jhwwi78fwm35lnk1xkarbzrdwq8";
|
||||
sgr-iosevka-ss18 = "00k036viav27far3jbmh7zpawccnmg9qh93v5d6wz6b7l2h7mwam";
|
||||
sgr-iosevka-term = "16bwjvamhaq7bcl2dkvv79asn68bdzqkii7q1h5sc3jvzhd0v6sz";
|
||||
sgr-iosevka-term-curly = "0scrz4yfs7v26vyjcd35p2jgbqj4phasr6yswc0xlc7l19x9z91v";
|
||||
sgr-iosevka-term-curly-slab = "0551npqdascnn4crd9drkfx8mw4gfjqrvn2112diqn5q4rlpgyrn";
|
||||
sgr-iosevka-term-slab = "0gjr5lw1aj4vskv5kkbgahfhn7aqh4qdlnv9560c2laaxfs62zdh";
|
||||
sgr-iosevka-term-ss01 = "08gh7rsyj1pl444g5crfm2rjnxk9kqqd6svvzqalaq5j3pgdk7mb";
|
||||
sgr-iosevka-term-ss02 = "1x4swlfrjazkxbryb1rswjg9wiqjypdyzwvab1875g0ian6zl293";
|
||||
sgr-iosevka-term-ss03 = "1cp2z0spb0q9n7xi370hvz2lw7rrwly6cicww0k8x6mzd67n7jyr";
|
||||
sgr-iosevka-term-ss04 = "1z7njiz4j98liqg9d4mp6f9zlw7r1kqwl41lhh1r9vb8nx8b64xi";
|
||||
sgr-iosevka-term-ss05 = "0nwfhrm22wl402j3nzff7zb9v7w9fgg5njivhm3r23lllh368ga9";
|
||||
sgr-iosevka-term-ss06 = "1j56gpp7680f2kq0d28nz9nfcz6hq08vq613f0d3c8vln6pmk082";
|
||||
sgr-iosevka-term-ss07 = "1wsi14f6lkkvvvf4cwzdc6six821r2izdgwa7yd96fdk4l3jc357";
|
||||
sgr-iosevka-term-ss08 = "0w4hb53dyr9mwrxghr62gc36s8sqbrfhw4088zar9jz5w8clsrr6";
|
||||
sgr-iosevka-term-ss09 = "0ym37rrfi23rbshnv8hi9acx7gf4zs70m6pr2gy556w8bb95dw66";
|
||||
sgr-iosevka-term-ss10 = "093ca1i94dk16zvbxnw41g80krfmi946gwvzbfw8a9nmx5krcvx6";
|
||||
sgr-iosevka-term-ss11 = "03s2wiwlx6k676jqidgc78rpxm1c4dc194k2lk5704jxvysv5i3x";
|
||||
sgr-iosevka-term-ss12 = "1wq4i66zxwgc7n2zqwc2x05fmxpg6yqm9f0ll9balih1al0qvwb6";
|
||||
sgr-iosevka-term-ss13 = "169fwn82lippqs9rnil0mibn25mzkmxm6rgnhs61lp4z7srqd5h9";
|
||||
sgr-iosevka-term-ss14 = "05mw5hav1xin4xycbfdjpw4j62ixckkd6bw0nl5dnq3ji33v0skg";
|
||||
sgr-iosevka-term-ss15 = "1mpmkvsk8y1a8i4c2dwqglxm46rgkqmd2y68wyik0asa8vrfflv6";
|
||||
sgr-iosevka-term-ss16 = "051hxw063d29m59971zbcsfj26ch0sk1cxv503xm86ilblmj54dj";
|
||||
sgr-iosevka-term-ss17 = "0mlp1kbn298w0mwfyfbmzkfwbf7cibchb3f0l8mk833lvxjxxiaz";
|
||||
sgr-iosevka-term-ss18 = "0v5j17y5hpg56h2kdz1469k56358k7g0wqxl4nd1ib3j0y7jndsc";
|
||||
iosevka = "0698fzf03nss7wkaa0i3kp8f5f1gjbsknz18px616g7c3bgss582";
|
||||
iosevka-aile = "1vaiznxyil5a4gc2hy1k1164fn15rk3814lwf5av830323rc7and";
|
||||
iosevka-curly = "1rnyxbz62v34hbnaj3r74pl1ahk539b7bh0x175lv9j0fwrm73is";
|
||||
iosevka-curly-slab = "1gcmzsh35ayb3bmrkcdpxii3l8r7qg0yvxjy37y2hp544f2drnkp";
|
||||
iosevka-etoile = "0v3y8cr0w2q1xa4nmwmrh5rcxcfjj38rq6gwqsbvs2rlxls50yi4";
|
||||
iosevka-slab = "179fydcaf72z01i9d54m7biq6i472rl84nsxghbmgrzghyblxck6";
|
||||
iosevka-ss01 = "18b9cd95q2rnbm762mcfqqcqkffmw895khmsxqsd1dmkb9gj509w";
|
||||
iosevka-ss02 = "1gg06d76yl2lv6lpcd9vszqf2yb3rz2w032ih9rjid1wcxccnn62";
|
||||
iosevka-ss03 = "0hqwrqzvikb2xkgmn4zff8jw1czvm6zawf37hz2hnwnx0ffgzhz0";
|
||||
iosevka-ss04 = "1gq79pfhwrag686r8symivn54pwcnnp5rxwyfswfyq72x6xxq0ri";
|
||||
iosevka-ss05 = "1di9v2ka7v8l7gglv29zfrp3p7aznqnkwkzdn6pqz91p7y0kd1ck";
|
||||
iosevka-ss06 = "0m7gazz4cq544qyv37mg08j0b1jv7vf1af17snxypzg6gi3l9l79";
|
||||
iosevka-ss07 = "1nlxbraigk6wz46jr47zs3drsv87f4rviscfi6pa2x70fqfvxcvd";
|
||||
iosevka-ss08 = "1ch3c27nzhnnn87jsl5rpl8cpnqdn8zsh2hfch0nkh8y8s6hc6jk";
|
||||
iosevka-ss09 = "0gk0lm2212whr73ydjj0wdmjrvzp5mcawg7c035cyzfj4r35mh7l";
|
||||
iosevka-ss10 = "0d7988z1zsqavd5j2vphkcyy98cfc7bam2bbh62qr99k7321y9dh";
|
||||
iosevka-ss11 = "0a89wmn5f1a97rvl2fa7slqw95mx1a95i5jjrbdslwifycrbv0j8";
|
||||
iosevka-ss12 = "065l9bnhjcracyz73y57mv9bxhxlakvgy2xjwmrayg9a8mnqdl40";
|
||||
iosevka-ss13 = "15miz16fsrl21y2c63gvkngbm7v99s5w9wzcb6x2pl3whfwdm5hh";
|
||||
iosevka-ss14 = "1sbm3m61m4k1wz588axm1w94869fxh0y06gldwivnz460cads42j";
|
||||
iosevka-ss15 = "0w8xm6vv8k95rw5q81d2nw34hllbjlixfqwvrjyj0gpxxw8kkcgy";
|
||||
iosevka-ss16 = "1y64daxpbjwjsakkya9j1x9inn7kq1dpy0y1mldig2dd7i5f49rd";
|
||||
iosevka-ss17 = "1pads0rraq6dxgbra6ss5ilxil988ypcwgfiild9pzb8y5ljgvqr";
|
||||
iosevka-ss18 = "0vf7nvawm9yaip2nvsxc56br1v5q7dqk39i9c813ff5bakwkskiw";
|
||||
sgr-iosevka = "08wrm2ynkw95n7762ay2iak15bj15j0v60pw6p29s5q2fli3cdlj";
|
||||
sgr-iosevka-aile = "117fz5a2p9q1mw6221b04xq4x16lnp6p54vm53jz01pd5s0yg7zn";
|
||||
sgr-iosevka-curly = "1lmp69ppzc7vzi11zlk2y2wg74m19w0jwq482ax024bgm939fxvr";
|
||||
sgr-iosevka-curly-slab = "00gi8i7rq14s1yaz37x2vnxrg78rj1mxfxcii1q1bdmzpnxzvlsh";
|
||||
sgr-iosevka-etoile = "1hw7xfhb666k5n3ay17b33lg09cvsq9wibbgy2x1mmxv1dwxswi8";
|
||||
sgr-iosevka-fixed = "069j0q2g8qdg7akycxsclgxknifg26xd392wcfvm9hwj4j3yscw0";
|
||||
sgr-iosevka-fixed-curly = "1f3gfvkpng044s40pvhw8xmrbdayphav7jnbif3y87ipb2vkah02";
|
||||
sgr-iosevka-fixed-curly-slab = "1zpwqmhck2ym4nh2d4rixqyg7n1jq7xnrqndnjs24nkzk41kg793";
|
||||
sgr-iosevka-fixed-slab = "0bvnp6szadwwyn2l8hms6wfv2pvncb67y4gw9xnwz3xzfwin53bn";
|
||||
sgr-iosevka-fixed-ss01 = "1v8xnyfvq9gjk7xxk465iam2mjb13rj1yibiacp26cn7pz29rdqi";
|
||||
sgr-iosevka-fixed-ss02 = "0ygy6124896cacpqgnpckxw5h9qj8z61drmkcrwk55qjs2gnzgky";
|
||||
sgr-iosevka-fixed-ss03 = "07z7wqg9hgf47aqlb2rqbww9nvr8yhvsaibjmab4xp0c9spibgc9";
|
||||
sgr-iosevka-fixed-ss04 = "1chfswa79zbw1p47dqlh176aq7vrvyziflzm4w30ribk86p6z17d";
|
||||
sgr-iosevka-fixed-ss05 = "0nqqffadk65six8xa6gy3as7ir84lb2gs3bii75iwzy84xiw4ky3";
|
||||
sgr-iosevka-fixed-ss06 = "1996bmsvjs4x35wx98qb7qp998gj1w718kp7rpalls7460796lb8";
|
||||
sgr-iosevka-fixed-ss07 = "0bmrfw0kwdar7ah7pwdf5i7lzgrxfqjwzw8962n801znngccy90d";
|
||||
sgr-iosevka-fixed-ss08 = "03l0gzrivsy8jrdyvyhl5cv6ndk85p9lxfpzkjbhf29dxbd2wg5q";
|
||||
sgr-iosevka-fixed-ss09 = "0dmg5nr23kx3b8cqiha8a8hhq7dysk4s8zwg8c2xwymm39sh77bg";
|
||||
sgr-iosevka-fixed-ss10 = "0kg4bbn9r500fwirr9glwyd26hwyzlplhxmjbzbkqwa39zwl6h1a";
|
||||
sgr-iosevka-fixed-ss11 = "1my2kf7hvara3xv1x5qq8vvr6ywq7w17b0phy63mbn6qc4k179xl";
|
||||
sgr-iosevka-fixed-ss12 = "0g9xkp0l2wadxni5ax0ir2qh7cp4924xa57k33lk25i8pgc4bban";
|
||||
sgr-iosevka-fixed-ss13 = "0jhvfffh6i8g817z594dg7igawxfbwn3dv11xhh2rac9njxyiz3m";
|
||||
sgr-iosevka-fixed-ss14 = "1c1sxyzdipr025zkabxsy5m2aplnpj1sv62bp54w86xaddj3386i";
|
||||
sgr-iosevka-fixed-ss15 = "14a89q4gys44bng51nbnl6z5dhzddx8pnwl4l3l2qkjlqja1f4jr";
|
||||
sgr-iosevka-fixed-ss16 = "04r4aljb9ikd3i4pxniyrlybx29l6v52q80kcg59ymaa20gaqadr";
|
||||
sgr-iosevka-fixed-ss17 = "1ia45a47n5gxrfin48xyfgz0r7nkj66hz27vl4lkzvscv75igqmp";
|
||||
sgr-iosevka-fixed-ss18 = "0mbz6d8w9ija55nh7vdp24hi6i5fs0d5bfm3580yx1a2iphrkwbr";
|
||||
sgr-iosevka-slab = "1xnz4jhxap7lmvxqrngsvsmafdi026v3rzrmya28f3iwq37d6kf8";
|
||||
sgr-iosevka-ss01 = "1vwm199q642d90l52k3jvaz9acqq7i6wk8bpnfq94xl1d8z2jl4g";
|
||||
sgr-iosevka-ss02 = "0l6igwh9g0y9x8lwyvdn6x6qakv8gvlswi3148ghwp0d8hxwy79v";
|
||||
sgr-iosevka-ss03 = "1a8vfdzcq2dikv48ccl3smn0kw2w88ddgwi3hr68x8jp84rpjg6c";
|
||||
sgr-iosevka-ss04 = "19gj3wpqzhhnnmrmyz4jpnz0db397bx433agy0hmyjnk50vdbw5w";
|
||||
sgr-iosevka-ss05 = "0wg2fr10bwmmm1bhjrwadfrvzvbwcayjfg49791x9gzkdvxmc1y9";
|
||||
sgr-iosevka-ss06 = "1jkcl6ngkdkr9v2x6lsslxfqbn9kn9zmw504ihfl4dii84rk8l83";
|
||||
sgr-iosevka-ss07 = "093bhgh1lvabf3xmh8flsy1daabmq1hq4j1czhbqcairzjlk30i2";
|
||||
sgr-iosevka-ss08 = "1a9l4jlndsf6bdy7cy0c1x23cdms3aw0gq43k9nv2k19fn5mklmc";
|
||||
sgr-iosevka-ss09 = "0bcr8mrb958470ilbla9xpmlgf03g0x4rfzz72lr2aln8rja5sdi";
|
||||
sgr-iosevka-ss10 = "0lnj2v6hng13wmbf55kar8yzj6c11adkh2x1j6s3nfz18gbaa4yg";
|
||||
sgr-iosevka-ss11 = "111nbmwrvxd4yzjnbv0vp7hlgbif4zycbiw4ll8zqnibqf3zynb6";
|
||||
sgr-iosevka-ss12 = "1n8jy9haqd9xg14szl0k2fbxxydkkb2z5lighsh569qjcjh17vyw";
|
||||
sgr-iosevka-ss13 = "1kdq1xwwvcf8gi3122sg211dgijk0q72zxbpxk1cj3f2cimbi87h";
|
||||
sgr-iosevka-ss14 = "1i4f6k7gpzzxkia81qfkhx9rwzpg29n9k3i3lbqf0y9fj01kwgax";
|
||||
sgr-iosevka-ss15 = "0agzapx40qv0pixxijfa5m94w5p90adjyfh0qp4kx37hvidzcplq";
|
||||
sgr-iosevka-ss16 = "0lc4bs89g2840m0mkcxagc694mx5ydh2zvcrvh1316snz6gqmqbv";
|
||||
sgr-iosevka-ss17 = "0wsd2jck9pgrivr93d64krkdkqdwm21mgz52pijwr51bwci41xy3";
|
||||
sgr-iosevka-ss18 = "00ml8w11n9dc5ykraz3hcacwvhsjx1z100risi3aw81vfwq0z1xg";
|
||||
sgr-iosevka-term = "0zvpj73ddk36g9ggw2bngmhzpdixpnnjhvzzyw7ff4xbgaxlkrrs";
|
||||
sgr-iosevka-term-curly = "0b0a2ipjwj1mf2042658z6rsnn5jiva32aw9wrq7rs56p7drf33c";
|
||||
sgr-iosevka-term-curly-slab = "0dvh9kykb80p6g689wxcfsxya9n959j3l7a9q9bz92nddyny45wp";
|
||||
sgr-iosevka-term-slab = "06mbfcjcghd5dc3k2y1bf39xhdni7dvsasm3rgj0cjzylg7c9rkv";
|
||||
sgr-iosevka-term-ss01 = "0bpqbnp2njn8q1vqpy3iaqxzwm4zb50spyk1drdnk5v4j8rnxr86";
|
||||
sgr-iosevka-term-ss02 = "0g3kdwlaii8vja3p5y91pmawzj7hn59y35gixvgkqpnrkpp3y6bm";
|
||||
sgr-iosevka-term-ss03 = "139psybgajsyszpz811kxvgfi08ia54dk011dx359kk6gj72wmnz";
|
||||
sgr-iosevka-term-ss04 = "0aix3x98id9zc86qmbmbqh60a9s6928y26lcz1sms88p2nnnliqp";
|
||||
sgr-iosevka-term-ss05 = "10gbkay5fff1k91r1jhibh3gialif6m7fyqlw5sphjxn75qpkxm4";
|
||||
sgr-iosevka-term-ss06 = "0bxachp1qsnzgavap30nsbqpa75hd5pzk2gfj8l1b6q3cpmvnlyf";
|
||||
sgr-iosevka-term-ss07 = "028fkmz1yb1g30idszz0bdjhsn1iq845pxkf0iwq409y2qs8xh8s";
|
||||
sgr-iosevka-term-ss08 = "11yvq67lql3q249k1b9gdc3g1q48q6sihj62kgk7l9qh4cv3wmnh";
|
||||
sgr-iosevka-term-ss09 = "1r87wznw3nbry0ddl20k7gqxbmiz0pnmf5qb01jfdnhsnq9fdr4a";
|
||||
sgr-iosevka-term-ss10 = "0xivpfm736jp4326bwbcnc7gq2sik3f3r46sqka1r33vvlwmcq0m";
|
||||
sgr-iosevka-term-ss11 = "1j03vhbqgff59qi4sw11y49gkmzamv94vlwicg8idbnqbkxkhr8r";
|
||||
sgr-iosevka-term-ss12 = "0mcixkpb5680f9jrbk4hrzvf7nlh2hppb8ar1w8a1lvx7qyr3wxc";
|
||||
sgr-iosevka-term-ss13 = "19nzxs9r2br3n3ibi15b7acarlgd2mriyzi318dmis0dxfdqd27l";
|
||||
sgr-iosevka-term-ss14 = "18gqq1ysjw8fx9insy06wi7wbfzsha5vcq72j89iac67jlr3qdp0";
|
||||
sgr-iosevka-term-ss15 = "0l5hhq3kcrg7jhzlpsakx150gsn9l9018vydv5ln84lxfg16hc0m";
|
||||
sgr-iosevka-term-ss16 = "0lhq56r8anw2dqny3wgmw0jb8fcsk4idsb7li09m87rkikfd2igr";
|
||||
sgr-iosevka-term-ss17 = "0ylgk2bzxb65cb9rma0a17bz8n1w0r9pk16nlm01bglp79cin9a0";
|
||||
sgr-iosevka-term-ss18 = "0ld3f3a06r4kjbdppx5yml855af3cz2kia124jjzx6x5j5ybn87y";
|
||||
}
|
||||
|
35
pkgs/development/embedded/teensy-cmake-macros/default.nix
Normal file
35
pkgs/development/embedded/teensy-cmake-macros/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "teensy-cmake-macros";
|
||||
version = "unstable-2023-04-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "newdigate";
|
||||
repo = "teensy-cmake-macros";
|
||||
rev = "dc401ed23e6e13a9db3cd2a65f611a4738df3b0e";
|
||||
hash = "sha256-E+BOlsCJtOScr3B5GSv1WM6rFv6cFYvm/iJ893fsmXM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
passthru = {
|
||||
hook = callPackage ./hook.nix {
|
||||
teensy-cmake-macros = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "CMake macros for building teensy projects";
|
||||
platforms = platforms.all;
|
||||
homepage = "https://github.com/newdigate/teensy-cmake-macros";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.michaeldonovan ];
|
||||
};
|
||||
})
|
17
pkgs/development/embedded/teensy-cmake-macros/hook.nix
Normal file
17
pkgs/development/embedded/teensy-cmake-macros/hook.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ lib
|
||||
, makeSetupHook
|
||||
, teensy-cmake-macros
|
||||
}:
|
||||
|
||||
makeSetupHook {
|
||||
name = "teensy-cmake-macros-hook";
|
||||
|
||||
propagatedBuildInputs = [ teensy-cmake-macros ];
|
||||
|
||||
passthru = { inherit teensy-cmake-macros; };
|
||||
|
||||
meta = {
|
||||
description = "A setup hook for teensy-cmake-macros";
|
||||
inherit (teensy-cmake-macros.meta) maintainers platforms broken;
|
||||
};
|
||||
} ./setup-hook.sh
|
@ -0,0 +1,5 @@
|
||||
teensyCMakeMacrosEnvHook() {
|
||||
cmakeFlagsArray+=(-DCMAKE_MODULE_PATH=@out@/lib/cmake)
|
||||
}
|
||||
|
||||
addEnvHooks "$targetOffset" teensyCMakeMacrosEnvHook
|
@ -1,20 +1,39 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, python3
|
||||
, libffi
|
||||
, git
|
||||
, cmake
|
||||
, zlib
|
||||
, fetchgit
|
||||
{ cmake
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, runCommand
|
||||
, fetchgit
|
||||
, git
|
||||
, lib
|
||||
, libffi
|
||||
, llvmPackages_9
|
||||
, glibc
|
||||
, makeWrapper
|
||||
, ncurses
|
||||
, python3
|
||||
, runCommand
|
||||
, zlib
|
||||
|
||||
# *NOT* from LLVM 9!
|
||||
# The compiler used to compile Cling may affect the runtime include and lib
|
||||
# directories it expects to be run with. Cling builds against (a fork of) Clang,
|
||||
# so we prefer to use Clang as the compiler as well for consistency.
|
||||
# It would be cleanest to use LLVM 9's clang, but it errors. So, we use a later
|
||||
# version of Clang to compile, but we check out the Cling fork of Clang 9 to
|
||||
# build Cling against.
|
||||
, clangStdenv
|
||||
|
||||
# For runtime C++ standard library
|
||||
, gcc-unwrapped
|
||||
|
||||
# Build with debug symbols
|
||||
, debug ? false
|
||||
|
||||
# Build with libc++ (LLVM) rather than stdlibc++ (GCC).
|
||||
# This is experimental and not all features work.
|
||||
, useLLVMLibcxx ? false
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv = clangStdenv;
|
||||
|
||||
# The LLVM 9 headers have a couple bugs we need to patch
|
||||
fixedLlvmDev = runCommand "llvm-dev-${llvmPackages_9.llvm.version}" { buildInputs = [git]; } ''
|
||||
mkdir $out
|
||||
@ -58,7 +77,7 @@ let
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ python3 git cmake ];
|
||||
buildInputs = [ libffi zlib ncurses ];
|
||||
buildInputs = [ libffi ncurses zlib ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@ -69,6 +88,7 @@ let
|
||||
"-DLLVM_MAIN_INCLUDE_DIR=${fixedLlvmDev}/include"
|
||||
"-DLLVM_TABLEGEN_EXE=${llvmPackages_9.llvm.out}/bin/llvm-tblgen"
|
||||
"-DLLVM_TOOLS_BINARY_DIR=${llvmPackages_9.llvm.out}/bin"
|
||||
"-DLLVM_BUILD_TOOLS=Off"
|
||||
"-DLLVM_TOOL_CLING_BUILD=ON"
|
||||
|
||||
"-DLLVM_TARGETS_TO_BUILD=host;NVPTX"
|
||||
@ -78,14 +98,22 @@ let
|
||||
# see cling/tools/CMakeLists.txt
|
||||
"-DCLING_INCLUDE_TESTS=ON"
|
||||
"-DCLANG-TOOLS=OFF"
|
||||
# "--trace-expand"
|
||||
] ++ lib.optionals debug [
|
||||
"-DCMAKE_BUILD_TYPE=Debug"
|
||||
] ++ lib.optionals useLLVMLibcxx [
|
||||
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||
"-DLLVM_ENABLE_LIBCXXABI=ON"
|
||||
];
|
||||
|
||||
CPPFLAGS = if useLLVMLibcxx then [ "-stdlib=libc++" ] else [];
|
||||
|
||||
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
||||
mkdir -p $out/share/Jupyter
|
||||
cp -r /build/clang/tools/cling/tools/Jupyter/kernel $out/share/Jupyter
|
||||
'';
|
||||
|
||||
dontStrip = debug;
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Interactive C++ Interpreter";
|
||||
homepage = "https://root.cern/cling/";
|
||||
@ -95,44 +123,49 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
# Runtime flags for the C++ standard library
|
||||
cxxFlags = if useLLVMLibcxx then [
|
||||
"-I" "${lib.getDev llvmPackages_9.libcxx}/include/c++/v1"
|
||||
"-L" "${llvmPackages_9.libcxx}/lib"
|
||||
"-l" "${llvmPackages_9.libcxx}/lib/libc++.so"
|
||||
] else [
|
||||
"-I" "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}"
|
||||
"-I" "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}/x86_64-unknown-linux-gnu"
|
||||
];
|
||||
|
||||
# The flags passed to the wrapped cling should
|
||||
# a) prevent it from searching for system include files and libs, and
|
||||
# b) provide it with the include files and libs it needs (C and C++ standard library)
|
||||
# b) provide it with the include files and libs it needs (C and C++ standard library plus
|
||||
# its own stuff)
|
||||
|
||||
# These are also exposed as cling.flags/cling.compilerIncludeFlags because it's handy to be
|
||||
# able to pass them to tools that wrap Cling, particularly Jupyter kernels such as xeus-cling
|
||||
# and the built-in jupyter-cling-kernel. Both of these use Cling as a library by linking against
|
||||
# libclingJupyter.so, so the makeWrapper approach to wrapping the binary doesn't work.
|
||||
# These are also exposed as cling.flags because it's handy to be able to pass them to tools
|
||||
# that wrap Cling, particularly Jupyter kernels such as xeus-cling and the built-in
|
||||
# jupyter-cling-kernel, which use Cling as a library.
|
||||
# Thus, if you're packaging a Jupyter kernel, you either need to pass these flags as extra
|
||||
# args to xcpp (for xeus-cling) or put them in the environment variable CLING_OPTS
|
||||
# (for jupyter-cling-kernel)
|
||||
# (for jupyter-cling-kernel).
|
||||
flags = [
|
||||
"-nostdinc"
|
||||
"-nostdinc++"
|
||||
"-isystem" "${lib.getDev stdenv.cc.libc}/include"
|
||||
"-I" "${lib.getDev unwrapped}/include"
|
||||
"-I" "${lib.getLib unwrapped}/lib/clang/9.0.1/include"
|
||||
];
|
||||
|
||||
# Autodetect the include paths for the compiler used to build Cling, in the same way Cling does at
|
||||
# https://github.com/root-project/cling/blob/v0.7/lib/Interpreter/CIFactory.cpp#L107:L111
|
||||
# Note: it would be nice to just put the compiler in Cling's PATH and let it do this by itself, but
|
||||
# unfortunately passing -nostdinc/-nostdinc++ disables Cling's autodetection logic.
|
||||
compilerIncludeFlags = runCommand "compiler-include-flags.txt" {} ''
|
||||
export LC_ALL=C
|
||||
${stdenv.cc}/bin/c++ -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,''${' -e '/^ \/.*++/p' -e '}' > tmp
|
||||
sed -e 's/^/-isystem /' -i tmp
|
||||
tr '\n' ' ' < tmp > $out
|
||||
'';
|
||||
"-isystem" "${lib.getLib unwrapped}/lib/clang/9.0.1/include"
|
||||
]
|
||||
++ cxxFlags
|
||||
++ [
|
||||
# System libc
|
||||
"-isystem" "${lib.getDev stdenv.cc.libc}/include"
|
||||
|
||||
# cling includes
|
||||
"-isystem" "${lib.getDev unwrapped}/include"
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
runCommand "cling-${unwrapped.version}" {
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
inherit unwrapped flags compilerIncludeFlags;
|
||||
inherit unwrapped flags;
|
||||
inherit (unwrapped) meta;
|
||||
} ''
|
||||
makeWrapper $unwrapped/bin/cling $out/bin/cling \
|
||||
--add-flags "$(cat "$compilerIncludeFlags")" \
|
||||
--add-flags "$flags"
|
||||
''
|
||||
|
@ -1,28 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nvidia-video-sdk";
|
||||
version = "6.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://developer.nvidia.com/video-sdk-601";
|
||||
name = "nvidia_video_sdk_${version}.zip";
|
||||
sha256 = "08h1vnqsv22js9v3pyim5yb80z87baxb7s2g5gsvvjax07j7w8h5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
# We only need the header files. The library files are
|
||||
# in the nvidia_x11 driver.
|
||||
installPhase = ''
|
||||
mkdir -p $out/include
|
||||
cp -R Samples/common/inc/* $out/include
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The NVIDIA Video Codec SDK";
|
||||
homepage = "https://developer.nvidia.com/nvidia-video-codec-sdk";
|
||||
license = licenses.unfree;
|
||||
};
|
||||
}
|
||||
|
@ -1,32 +1,42 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
|
||||
, zlib, curl, protobuf, prime-server, boost, sqlite, libspatialite
|
||||
, luajit, geos39, python3, zeromq }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, boost
|
||||
, curl
|
||||
, geos
|
||||
, libspatialite
|
||||
, luajit
|
||||
, prime-server
|
||||
, protobuf
|
||||
, python3
|
||||
, sqlite
|
||||
, zeromq
|
||||
, zlib
|
||||
, testers
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "valhalla";
|
||||
version = "3.1.0";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "valhalla";
|
||||
repo = "valhalla";
|
||||
rev = version;
|
||||
sha256 = "04vxvzy6hnhdvb9lh1p5vqzzi2drv0g4l2gnbdp44glipbzgd4dr";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-1X9vsWsgnzmXn7bCMhN2PNwtfV0RRdzRFZIrQN2PLfA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# https://github.com/valhalla/valhalla/issues/2119
|
||||
postPatch = ''
|
||||
for f in valhalla/mjolnir/transitpbf.h \
|
||||
src/mjolnir/valhalla_query_transit.cc; do
|
||||
substituteInPlace $f --replace 'SetTotalBytesLimit(limit, limit)' \
|
||||
'SetTotalBytesLimit(limit)'
|
||||
done
|
||||
substituteInPlace src/bindings/python/CMakeLists.txt \
|
||||
--replace "\''${Python_SITEARCH}" "${placeholder "out"}/${python3.sitePackages}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [
|
||||
zlib curl protobuf prime-server boost sqlite libspatialite
|
||||
luajit geos39 python3 zeromq
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@ -34,17 +44,36 @@ stdenv.mkDerivation rec {
|
||||
"-DENABLE_BENCHMARKS=OFF"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
curl
|
||||
geos
|
||||
libspatialite
|
||||
luajit
|
||||
prime-server
|
||||
protobuf
|
||||
python3
|
||||
sqlite
|
||||
zeromq
|
||||
zlib
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace "$out"/lib/pkgconfig/libvalhalla.pc \
|
||||
--replace '=''${prefix}//' '=/' \
|
||||
--replace '=''${exec_prefix}//' '=/'
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/valhalla/valhalla/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
description = "Open Source Routing Engine for OpenStreetMap";
|
||||
homepage = "https://valhalla.readthedocs.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.Thra11 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -1,10 +1,11 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pymysql
|
||||
, pythonOlder
|
||||
, setuptools-scm
|
||||
, setuptools-scm-git-archive
|
||||
, wheel
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -21,9 +22,19 @@ buildPythonPackage rec {
|
||||
hash = "sha256-m/EgoBU3e+s3soXyYtACMDSjJfMLBOk/00qPtgawwQ8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/aio-libs/aiomysql/pull/955
|
||||
(fetchpatch {
|
||||
name = "remove-setuptools-scm-git-archive-dependency.patch";
|
||||
url = "https://github.com/aio-libs/aiomysql/commit/fee997d2e848b634a84ce0c4e9025e3b3e761640.patch";
|
||||
hash = "sha256-qKcOfdDaA9DLS2fdHOEUW37aCCdtZjN0zsFV9dK/umQ=";
|
||||
includes = [ "pyproject.toml" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
setuptools-scm-git-archive
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mkdocs-mermaid2-plugin";
|
||||
version = "1.0.1";
|
||||
version = "1.0.8";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "fralau";
|
||||
repo = "mkdocs-mermaid2-plugin";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-8/5lltOT78VSMxunIfCeGSBQ7VIRVnk3cHIzd7S+c00=";
|
||||
hash = "sha256-0h/EMfp6D14ZJcQe3U2r/RQ/VNejOK9bLP6AMNiB0Rc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -14,14 +14,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "oauthenticator";
|
||||
version = "16.0.5";
|
||||
version = "16.0.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ddCqr6qIIyU3EQ6p2i+U6F359j3hcZ7E2X8qbeUz2e8=";
|
||||
hash = "sha256-82I+ZmWRUUV+kxveHNDXTsbOeZcT0QJo/SJP3paxRcY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -106,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
exec = "openarena";
|
||||
icon = "openarena";
|
||||
comment = "A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena";
|
||||
desktopName = "openarena";
|
||||
desktopName = "OpenArena";
|
||||
categories = [ "Game" "ActionGame" ];
|
||||
})
|
||||
];
|
||||
|
@ -78,7 +78,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
homepage = "https://ioquake3.org/";
|
||||
description = "A fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena";
|
||||
license = lib.licenses.gpl2Only;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
mainProgram = "ioquake3";
|
||||
maintainers = with lib.maintainers; [ abbradar drupol eelco rvolosatovs ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
@ -1,4 +1,6 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libnl, iptables }:
|
||||
{ lib, stdenv, fetchFromGitHub, nixosTests
|
||||
, autoreconfHook, pkg-config, libnl, iptables
|
||||
}:
|
||||
|
||||
let
|
||||
sourceAttrs = (import ./source.nix) { inherit fetchFromGitHub; };
|
||||
@ -10,6 +12,10 @@ stdenv.mkDerivation {
|
||||
|
||||
src = sourceAttrs.src;
|
||||
|
||||
patches = [
|
||||
./validate-config.patch
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
@ -24,6 +30,8 @@ stdenv.mkDerivation {
|
||||
sed -e 's%^XTABLES_SO_DIR = .*%XTABLES_SO_DIR = '"$out"'/lib/xtables%g' -i src/usr/iptables/Makefile
|
||||
'';
|
||||
|
||||
passthru.tests = { inherit (nixosTests) jool; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.jool.mx/";
|
||||
description = "Fairly compliant SIIT and Stateful NAT64 for Linux - CLI tools";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel }:
|
||||
{ lib, stdenv, fetchFromGitHub, kernel, nixosTests }:
|
||||
|
||||
let
|
||||
sourceAttrs = (import ./source.nix) { inherit fetchFromGitHub; };
|
||||
@ -23,6 +23,8 @@ stdenv.mkDerivation {
|
||||
|
||||
installTargets = "modules_install";
|
||||
|
||||
passthru.tests = { inherit (nixosTests) jool; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.jool.mx/";
|
||||
description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules";
|
||||
|
193
pkgs/os-specific/linux/jool/validate-config.patch
Normal file
193
pkgs/os-specific/linux/jool/validate-config.patch
Normal file
@ -0,0 +1,193 @@
|
||||
From df0a1cf61188b5b7bb98675d746cb63d9300f148 Mon Sep 17 00:00:00 2001
|
||||
From: rnhmjoj <rnhmjoj@inventati.org>
|
||||
Date: Sat, 1 Jul 2023 18:47:05 +0200
|
||||
Subject: [PATCH] Add mode to validate the atomic configuration
|
||||
|
||||
---
|
||||
src/usr/argp/main.c | 6 ++++++
|
||||
src/usr/argp/wargp/file.c | 26 +++++++++++++++++++++++++-
|
||||
src/usr/argp/wargp/file.h | 1 +
|
||||
src/usr/nl/file.c | 32 ++++++++++++++++++++++----------
|
||||
src/usr/nl/file.h | 3 ++-
|
||||
5 files changed, 56 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/usr/argp/main.c b/src/usr/argp/main.c
|
||||
index 744a6df0..d04917da 100644
|
||||
--- a/src/usr/argp/main.c
|
||||
+++ b/src/usr/argp/main.c
|
||||
@@ -238,6 +238,12 @@ static struct cmd_option file_ops[] = {
|
||||
.handler = handle_file_update,
|
||||
.handle_autocomplete = autocomplete_file_update,
|
||||
},
|
||||
+ {
|
||||
+ .label = "check",
|
||||
+ .xt = XT_ANY,
|
||||
+ .handler = handle_file_check,
|
||||
+ .handle_autocomplete = autocomplete_file_update,
|
||||
+ },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
diff --git a/src/usr/argp/wargp/file.c b/src/usr/argp/wargp/file.c
|
||||
index 0951b544..27ee3e64 100644
|
||||
--- a/src/usr/argp/wargp/file.c
|
||||
+++ b/src/usr/argp/wargp/file.c
|
||||
@@ -26,6 +26,30 @@ static struct wargp_option update_opts[] = {
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
+int handle_file_check(char *iname, int argc, char **argv, void const *arg)
|
||||
+{
|
||||
+ struct update_args uargs = { 0 };
|
||||
+ struct joolnl_socket sk = { 0 };
|
||||
+ struct jool_result result;
|
||||
+
|
||||
+ result.error = wargp_parse(update_opts, argc, argv, &uargs);
|
||||
+ if (result.error)
|
||||
+ return result.error;
|
||||
+
|
||||
+ if (!uargs.file_name.value) {
|
||||
+ struct requirement reqs[] = {
|
||||
+ { false, "a file name" },
|
||||
+ { 0 }
|
||||
+ };
|
||||
+ return requirement_print(reqs);
|
||||
+ }
|
||||
+
|
||||
+ result = joolnl_file_parse(&sk, xt_get(), iname, uargs.file_name.value,
|
||||
+ uargs.force.value, true);
|
||||
+
|
||||
+ return pr_result(&result);
|
||||
+}
|
||||
+
|
||||
int handle_file_update(char *iname, int argc, char **argv, void const *arg)
|
||||
{
|
||||
struct update_args uargs = { 0 };
|
||||
@@ -49,7 +73,7 @@ int handle_file_update(char *iname, int argc, char **argv, void const *arg)
|
||||
return pr_result(&result);
|
||||
|
||||
result = joolnl_file_parse(&sk, xt_get(), iname, uargs.file_name.value,
|
||||
- uargs.force.value);
|
||||
+ uargs.force.value, false);
|
||||
|
||||
joolnl_teardown(&sk);
|
||||
return pr_result(&result);
|
||||
diff --git a/src/usr/argp/wargp/file.h b/src/usr/argp/wargp/file.h
|
||||
index ce5de508..8ea4a4d2 100644
|
||||
--- a/src/usr/argp/wargp/file.h
|
||||
+++ b/src/usr/argp/wargp/file.h
|
||||
@@ -2,6 +2,7 @@
|
||||
#define SRC_USR_ARGP_WARGP_FILE_H_
|
||||
|
||||
int handle_file_update(char *iname, int argc, char **argv, void const *arg);
|
||||
+int handle_file_check(char *iname, int argc, char **argv, void const *arg);
|
||||
void autocomplete_file_update(void const *args);
|
||||
|
||||
#endif /* SRC_USR_ARGP_WARGP_FILE_H_ */
|
||||
diff --git a/src/usr/nl/file.c b/src/usr/nl/file.c
|
||||
index f9413236..51a668bd 100644
|
||||
--- a/src/usr/nl/file.c
|
||||
+++ b/src/usr/nl/file.c
|
||||
@@ -29,6 +29,7 @@ static struct joolnl_socket sk;
|
||||
static char const *iname;
|
||||
static xlator_flags flags;
|
||||
static __u8 force;
|
||||
+static bool check;
|
||||
|
||||
struct json_meta {
|
||||
char const *name; /* This being NULL signals the end of the array. */
|
||||
@@ -163,9 +164,11 @@ static struct jool_result handle_array(cJSON *json, int attrtype, char *name,
|
||||
goto too_small;
|
||||
|
||||
nla_nest_end(msg, root);
|
||||
- result = joolnl_request(&sk, msg, NULL, NULL);
|
||||
- if (result.error)
|
||||
- return result;
|
||||
+ if (!check) {
|
||||
+ result = joolnl_request(&sk, msg, NULL, NULL);
|
||||
+ if (result.error)
|
||||
+ return result;
|
||||
+ }
|
||||
|
||||
msg = NULL;
|
||||
json = json->prev;
|
||||
@@ -179,6 +182,8 @@ static struct jool_result handle_array(cJSON *json, int attrtype, char *name,
|
||||
return result_success();
|
||||
|
||||
nla_nest_end(msg, root);
|
||||
+ if (check)
|
||||
+ return result_success();
|
||||
return joolnl_request(&sk, msg, NULL, NULL);
|
||||
|
||||
too_small:
|
||||
@@ -244,6 +249,8 @@ static struct jool_result handle_global(cJSON *json)
|
||||
|
||||
nla_nest_end(msg, root);
|
||||
free(meta);
|
||||
+ if (check)
|
||||
+ return result_success();
|
||||
return joolnl_request(&sk, msg, NULL, NULL);
|
||||
|
||||
revert_meta:
|
||||
@@ -654,9 +661,11 @@ static struct jool_result send_ctrl_msg(bool init)
|
||||
else
|
||||
NLA_PUT(msg, JNLAR_ATOMIC_END, 0, NULL);
|
||||
|
||||
- result = joolnl_request(&sk, msg, NULL, NULL);
|
||||
- if (result.error)
|
||||
- return result;
|
||||
+ if (!check) {
|
||||
+ result = joolnl_request(&sk, msg, NULL, NULL);
|
||||
+ if (result.error)
|
||||
+ return result;
|
||||
+ }
|
||||
|
||||
return result_success();
|
||||
|
||||
@@ -683,9 +692,11 @@ static struct jool_result do_parsing(char const *iname, char *buffer)
|
||||
if (result.error)
|
||||
goto fail;
|
||||
|
||||
- result = send_ctrl_msg(true);
|
||||
- if (result.error)
|
||||
- goto fail;
|
||||
+ if (!check) {
|
||||
+ result = send_ctrl_msg(true);
|
||||
+ if (result.error)
|
||||
+ goto fail;
|
||||
+ }
|
||||
|
||||
switch (xlator_flags2xt(flags)) {
|
||||
case XT_SIIT:
|
||||
@@ -718,12 +729,13 @@ fail:
|
||||
}
|
||||
|
||||
struct jool_result joolnl_file_parse(struct joolnl_socket *_sk, xlator_type xt,
|
||||
- char const *iname, char const *file_name, bool _force)
|
||||
+ char const *iname, char const *file_name, bool _force, bool _check)
|
||||
{
|
||||
char *buffer;
|
||||
struct jool_result result;
|
||||
|
||||
sk = *_sk;
|
||||
+ check = _check;
|
||||
flags = xt;
|
||||
force = _force ? JOOLNLHDR_FLAGS_FORCE : 0;
|
||||
|
||||
diff --git a/src/usr/nl/file.h b/src/usr/nl/file.h
|
||||
index 51802aaf..8b4a66dd 100644
|
||||
--- a/src/usr/nl/file.h
|
||||
+++ b/src/usr/nl/file.h
|
||||
@@ -9,7 +9,8 @@ struct jool_result joolnl_file_parse(
|
||||
xlator_type xt,
|
||||
char const *iname,
|
||||
char const *file_name,
|
||||
- bool force
|
||||
+ bool force,
|
||||
+ bool check
|
||||
);
|
||||
|
||||
struct jool_result joolnl_file_get_iname(
|
||||
--
|
||||
2.40.1
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "coredns";
|
||||
version = "1.10.1";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coredns";
|
||||
repo = "coredns";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/+D/jATZhHSxLPB8RkPLUYAZ3O+/9l8XIhgokXz2SUQ=";
|
||||
sha256 = "sha256-Mn8hOsODTlnl6PJaevMcyIKkIx/1Lk2HGA7fSSizR20=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aWmwzIHScIMb3DPzr4eto2yETMgKd/hUy18X8KxQGos=";
|
||||
vendorHash = "sha256-9LFwrG6RxZaCLxrNabdnq++U5Aw+d2w90Zqt/wszNTY=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ callPackage, ... }@args:
|
||||
|
||||
callPackage ./generic.nix args {
|
||||
version = "1.25.1";
|
||||
hash = "sha256-8JBxrEbg6jrcAAjvC6yiKfxrS+RTO675u7+6feKahgI=";
|
||||
version = "1.25.2";
|
||||
hash = "sha256-Bd1tk1bWanTmEDXypCFi+MdUyXzxumTnqAG6FY1sBxE=";
|
||||
}
|
||||
|
@ -234,9 +234,6 @@
|
||||
|
||||
# 'Error initialising QuantumRenderer: no suitable pipeline found'
|
||||
"tlcockpit"
|
||||
|
||||
# 'tlmgr: config.guess script does not exist, goodbye'
|
||||
"tlshell"
|
||||
] ++ lib.optional stdenv.isDarwin "epspdftk"; # wish shebang is a script, not a binary!
|
||||
|
||||
# (1) binaries requiring -v
|
||||
@ -271,7 +268,7 @@
|
||||
"dt2dv" "dv2dt" "dvi2tty" "dvidvi" "dvispc" "otp2ocp" "outocp" "pmxab"
|
||||
|
||||
# GUI scripts that accept no argument or crash without a graphics server; please test manualy
|
||||
"epspdftk" "texdoctk" "xasy"
|
||||
"epspdftk" "texdoctk" "tlshell" "xasy"
|
||||
|
||||
# requires Cinderella, not open source and not distributed via Nixpkgs
|
||||
"ketcindy"
|
||||
|
65
pkgs/tools/audio/goxlr-utility/default.nix
Normal file
65
pkgs/tools/audio/goxlr-utility/default.nix
Normal file
@ -0,0 +1,65 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, installShellFiles
|
||||
, pkg-config
|
||||
, libpulseaudio
|
||||
, dbus
|
||||
, speechd
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "goxlr-utility";
|
||||
version = "0.12.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoXLR-on-Linux";
|
||||
repo = "goxlr-utility";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vvaKCsqncRhag8IrS0AIfNqNHGU2WIvFaYISEVfUB2Y=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Z57H5YeVYqlOaLRLaizVw8xTLstdjyXutnN7OgaUYOE=";
|
||||
|
||||
buildInputs = [
|
||||
libpulseaudio
|
||||
dbus
|
||||
speechd
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
installShellFiles
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
buildFeatures = [ "tts" ];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 "50-goxlr.rules" "$out/etc/udev/rules.d/50-goxlr.rules"
|
||||
|
||||
install -Dm644 "daemon/resources/goxlr-utility.png" "$out/share/icons/hicolor/48x48/apps/goxlr-utility.png"
|
||||
install -Dm644 "daemon/resources/goxlr-utility.svg" "$out/share/icons/hicolor/scalable/apps/goxlr-utility.svg"
|
||||
install -Dm644 "daemon/resources/goxlr-utility-large.png" "$out/share/pixmaps/goxlr-utility.png"
|
||||
install -Dm644 "daemon/resources/goxlr-utility.desktop" "$out/share/applications/goxlr-utility.desktop"
|
||||
substituteInPlace $out/share/applications/goxlr-utility.desktop \
|
||||
--replace /usr/bin $out/bin \
|
||||
--replace goxlr-launcher goxlr-daemon
|
||||
|
||||
completions_dir=$(dirname $(find target -name 'goxlr-client.bash' | head -n 1))
|
||||
installShellCompletion --bash $completions_dir/goxlr-client.bash
|
||||
installShellCompletion --fish $completions_dir/goxlr-client.fish
|
||||
installShellCompletion --zsh $completions_dir/_goxlr-client
|
||||
completions_dir=$(dirname $(find target -name 'goxlr-daemon.bash' | head -n 1))
|
||||
installShellCompletion --bash $completions_dir/goxlr-daemon.bash
|
||||
installShellCompletion --fish $completions_dir/goxlr-daemon.fish
|
||||
installShellCompletion --zsh $completions_dir/_goxlr-daemon
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An unofficial GoXLR App replacement for Linux, Windows and MacOS";
|
||||
homepage = "https://github.com/GoXLR-on-Linux/goxlr-utility";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ errnoh ];
|
||||
};
|
||||
}
|
@ -15,6 +15,19 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "CPPFLAGS=" "CFLAGS=-O3" "LDFLAGS=" ];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
(
|
||||
cd tests
|
||||
patchShebangs runtests pretend-editor
|
||||
./runtests
|
||||
)
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p \
|
||||
$out/bin \
|
||||
|
@ -16,14 +16,14 @@ let
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "esphome";
|
||||
version = "2023.7.1";
|
||||
version = "2023.8.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-warrNm07YXD0TEb91JQPr9ouDh7lC+YCQYOM3fed3Es=";
|
||||
hash = "sha256-a85nNUVaa7CbYdI/xM30fp7i1gMRz18Ior4mwseFZqU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
37
pkgs/tools/security/cmospwd/default.nix
Normal file
37
pkgs/tools/security/cmospwd/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, fetchurl
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cmospwd";
|
||||
version = "5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.cgsecurity.org/cmospwd-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-8pbSl5eUsKa3JrgK/JLk0FnGXcJhKksJN3wWiDPYYvQ=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
cd src
|
||||
|
||||
# It already contains compiled executable (that doesn't work), so make
|
||||
# will refuse to build if it's still there
|
||||
rm cmospwd
|
||||
'';
|
||||
|
||||
# There is no install make target
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm0755 cmospwd -t "$out/bin"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decrypt password stored in cmos used to access BIOS SETUP";
|
||||
homepage = "https://www.cgsecurity.org/wiki/CmosPwd";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ t4ccer ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
36
pkgs/tools/security/joincap/default.nix
Normal file
36
pkgs/tools/security/joincap/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, libpcap
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "joincap";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "assafmo";
|
||||
repo = "joincap";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Xli9G/VkDWKkc+7mldmLfvigvPPcdcToc4e15uoadDQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-YsLIbt3uiA1d08yIEhSRdep1+52AxRvbIzDHlhc5s7Y=";
|
||||
|
||||
buildInputs = [
|
||||
libpcap
|
||||
];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Merge multiple pcap files together, gracefully";
|
||||
homepage = "https://github.com/assafmo/joincap";
|
||||
changelog = "https://github.com/assafmo/joincap/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
34
pkgs/tools/text/cringify/default.nix
Normal file
34
pkgs/tools/text/cringify/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cringify";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sansyrox";
|
||||
repo = "cringify";
|
||||
rev = "dd753818f8dd4b343be9370d2c29a6be070ad791";
|
||||
hash = "sha256-6hSgOk9DzDfGtZX1vt6AQsKSLdPdqy2Mz3UtK6d2AuA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-w6lqPyUCaXZBQ1EmMyj0sVnEHugMD6JugIIK0rEa19Y=";
|
||||
|
||||
postPatch = ''
|
||||
# Upstream forgot to update the version value
|
||||
substituteInPlace src/main.rs --replace '0.1.0' ${version}
|
||||
'';
|
||||
|
||||
# No tests are present in the repository
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Annoy your friends with the cringified text";
|
||||
homepage = "https://github.com/sansyrox/cringify";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "cringify";
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
};
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
{ lib, nimPackages, fetchurl, gentium, makeDesktopItem }:
|
||||
|
||||
nimPackages.buildNimPackage rec {
|
||||
pname = "hottext";
|
||||
version = "1.4";
|
||||
|
||||
nimBinOnly = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.sr.ht/~ehmry/hottext/archive/v${version}.tar.gz";
|
||||
sha256 = "sha256-hIUofi81zowSMbt1lUsxCnVzfJGN3FEiTtN8CEFpwzY=";
|
||||
};
|
||||
|
||||
buildInputs = with nimPackages; [
|
||||
pixie
|
||||
sdl2
|
||||
];
|
||||
|
||||
HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-Regular.ttf";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
categories = [ "Utility" ];
|
||||
comment = meta.description;
|
||||
desktopName = pname;
|
||||
exec = pname;
|
||||
name = pname;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
cp -r $desktopItem/* $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = true; # Needs to be updated to latest Pixie API.
|
||||
description = "Simple RSVP speed-reading utility";
|
||||
license = licenses.unlicense;
|
||||
homepage = "https://git.sr.ht/~ehmry/hottext";
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
55
pkgs/tools/typesetting/biber-ms/default.nix
Normal file
55
pkgs/tools/typesetting/biber-ms/default.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchurl, perlPackages, shortenPerlShebang, texlive }:
|
||||
|
||||
let
|
||||
biberSource = lib.head (builtins.filter (p: p.tlType == "source") texlive.biber-ms.pkgs);
|
||||
# missing test file
|
||||
multiscriptBltxml = (fetchFromGitHub {
|
||||
owner = "plk";
|
||||
repo = "biber";
|
||||
rev = "e8d056433063add7800f24589de76f89c4b64c20";
|
||||
hash = "sha256-QnN6Iyw6iOjfTX7DLVptsfAO/QNn9vOIk5IZlI15EvQ=";
|
||||
}) + "/t/tdata/multiscript.bltxml";
|
||||
in
|
||||
|
||||
perlPackages.buildPerlModule {
|
||||
pname = "biber-ms";
|
||||
inherit (biberSource) version;
|
||||
|
||||
src = "${biberSource}/source/bibtex/biber-ms/biblatex-biber-ms.tar.gz";
|
||||
|
||||
# from META.json
|
||||
# (aliases in /* */ are replaced by the actual dependencies to prevent
|
||||
# evaluation errors with config.allowAliases = false)
|
||||
buildInputs = with perlPackages; [
|
||||
# build deps
|
||||
ConfigAutoConf ExtUtilsLibBuilder FileWhich TestDifferences
|
||||
/*TestMore=TestSimple=null*/
|
||||
# runtime deps
|
||||
BusinessISBN BusinessISMN BusinessISSN ClassAccessor DataCompare DataDump
|
||||
DataUniqid DateTimeCalendarJulian DateTimeFormatBuilder EncodeEUCJPASCII
|
||||
EncodeHanExtra EncodeJIS2K EncodeLocale FileSlurper IOString IPCRun3
|
||||
LWPProtocolHttps LWP/*LWPUserAgent*/ libwwwperl LinguaTranslit ListAllUtils
|
||||
ListMoreUtils ListMoreUtilsXS LogLog4perl MozillaCA ParseRecDescent
|
||||
PerlIOutf8_strict RegexpCommon SortKey TextBalanced TextBibTeX TextCSV
|
||||
TextCSV_XS TextRoman URI UnicodeLineBreak XMLLibXML XMLLibXMLSimple
|
||||
XMLLibXSLT XMLWriter autovivification
|
||||
];
|
||||
nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
|
||||
|
||||
preConfigure = ''
|
||||
cp '${multiscriptBltxml}' t/tdata/multiscript.bltxml
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv "$out"/bin/biber{,-ms}
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
shortenPerlShebang "$out"/bin/biber-ms
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Backend for BibLaTeX (multiscript version)";
|
||||
license = biberSource.meta.license;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.xworld21 ];
|
||||
};
|
||||
}
|
@ -2,20 +2,6 @@
|
||||
|
||||
let
|
||||
biberSource = lib.head (builtins.filter (p: p.tlType == "source") texlive.biber.pkgs);
|
||||
|
||||
# perl 5.32.0 ships with U:C 1.27
|
||||
UnicodeCollate_1_29 = perlPackages.buildPerlPackage rec {
|
||||
pname = "Unicode-Collate";
|
||||
version = "1.29";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/S/SA/SADAHIRO/${pname}-${version}.tar.gz";
|
||||
sha256 = "0dr4k10fgbsczh4sz7w8d0nnba38r6jrg87cm3gw4xxgn55fzj7l";
|
||||
};
|
||||
meta = {
|
||||
description = "Unicode Collation Algorithm";
|
||||
license = perlPackages.perl.meta.license;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
perlPackages.buildPerlModule {
|
||||
@ -30,7 +16,7 @@ perlPackages.buildPerlModule {
|
||||
DateTime DateTimeFormatBuilder DateTimeCalendarJulian
|
||||
ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
|
||||
ListMoreUtils MozillaCA ParseRecDescent IOString ReadonlyXS RegexpCommon TextBibTeX
|
||||
UnicodeCollate_1_29 UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
|
||||
UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
|
||||
ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey
|
||||
TestDifferences
|
||||
PerlIOutf8_strict
|
||||
@ -43,7 +29,7 @@ perlPackages.buildPerlModule {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Backend for BibLaTeX";
|
||||
license = with licenses; [ artistic1 gpl1Plus ];
|
||||
license = biberSource.meta.license;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.ttuegel ];
|
||||
};
|
||||
|
@ -6,6 +6,7 @@
|
||||
, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
|
||||
, brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash
|
||||
, makeWrapper, shortenPerlShebang, useFixedHashes, asymptote
|
||||
, biber-ms
|
||||
}:
|
||||
|
||||
# Useful resource covering build options:
|
||||
@ -427,6 +428,7 @@ pygmentex = python3Packages.buildPythonApplication rec {
|
||||
inherit asymptote;
|
||||
|
||||
inherit biber;
|
||||
inherit biber-ms;
|
||||
bibtexu = bibtex8;
|
||||
bibtex8 = stdenv.mkDerivation {
|
||||
pname = "texlive-bibtex-x.bin";
|
||||
|
@ -30,11 +30,12 @@ let
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths = lib.catAttrs "outPath" pkgList.nonbin;
|
||||
|
||||
nativeBuildInputs = [ (lib.last tl.texlive-scripts.pkgs) ];
|
||||
# mktexlsr
|
||||
nativeBuildInputs = [ (lib.last tl."texlive.infra".pkgs) ];
|
||||
|
||||
postBuild = # generate ls-R database
|
||||
''
|
||||
mktexlsr --sort "$out"
|
||||
mktexlsr "$out"
|
||||
'';
|
||||
}).overrideAttrs (_: { allowSubstitutes = true; });
|
||||
|
||||
@ -88,7 +89,8 @@ in (buildEnv {
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
libfaketime
|
||||
(lib.last tl.texlive-scripts.pkgs) # fmtutil, mktexlsr, updmap
|
||||
(lib.last tl."texlive.infra".pkgs) # mktexlsr
|
||||
(lib.last tl.texlive-scripts.pkgs) # fmtutil, updmap
|
||||
(lib.last tl.texlive-scripts-extra.pkgs) # texlinks
|
||||
perl
|
||||
];
|
||||
@ -222,8 +224,8 @@ in (buildEnv {
|
||||
"$TEXMFDIST"/tex/generic/config/language.dat.lua > "$TEXMFSYSVAR"/tex/generic/config/language.dat.lua
|
||||
[[ -e "$TEXMFDIST"/web2c/fmtutil.cnf ]] && sed -E -f '${fmtutilSed}' "$TEXMFDIST"/web2c/fmtutil.cnf > "$TEXMFCNF"/fmtutil.cnf
|
||||
|
||||
# make new files visible to kpathsea
|
||||
mktexlsr --sort "$TEXMFSYSVAR"
|
||||
# create $TEXMFSYSCONFIG database, make new $TEXMFSYSVAR files visible to kpathsea
|
||||
mktexlsr "$TEXMFSYSCONFIG" "$TEXMFSYSVAR"
|
||||
'') +
|
||||
# generate format links (reads fmtutil.cnf to know which ones) *after* the wrappers have been generated
|
||||
''
|
||||
@ -260,7 +262,7 @@ in (buildEnv {
|
||||
# sort entries to improve reproducibility
|
||||
[[ -f "$TEXMFSYSCONFIG"/web2c/updmap.cfg ]] && sort -o "$TEXMFSYSCONFIG"/web2c/updmap.cfg "$TEXMFSYSCONFIG"/web2c/updmap.cfg
|
||||
|
||||
mktexlsr --sort "$TEXMFSYSCONFIG" "$TEXMFSYSVAR" # to make sure (of what?)
|
||||
mktexlsr "$TEXMFSYSCONFIG" "$TEXMFSYSVAR" # to make sure (of what?)
|
||||
'' +
|
||||
# remove *-sys scripts since /nix/store is readonly
|
||||
''
|
||||
|
@ -6,8 +6,8 @@
|
||||
, callPackage, ghostscript_headless, harfbuzz
|
||||
, makeWrapper
|
||||
, python3, ruby, perl, tk, jdk, bash, snobol4
|
||||
, coreutils, findutils, gawk, getopt, gnugrep, gnumake, gnused, gzip, ncurses, zip
|
||||
, libfaketime, asymptote, makeFontsConf
|
||||
, coreutils, findutils, gawk, getopt, gnugrep, gnumake, gnupg, gnused, gzip, ncurses, zip
|
||||
, libfaketime, asymptote, biber-ms, makeFontsConf
|
||||
, useFixedHashes ? true
|
||||
, recurseIntoAttrs
|
||||
}:
|
||||
@ -54,7 +54,6 @@ let
|
||||
fontinst.scriptsFolder = "texlive-extra";
|
||||
mptopdf.scriptsFolder = "context/perl";
|
||||
pdftex.scriptsFolder = "simpdftex";
|
||||
"texlive.infra".scriptsFolder = "texlive";
|
||||
texlive-scripts.scriptsFolder = "texlive";
|
||||
texlive-scripts-extra.scriptsFolder = "texlive-extra";
|
||||
xetex.scriptsFolder = "texlive-extra";
|
||||
@ -125,19 +124,14 @@ let
|
||||
# TODO patch the scripts from bin.* directly in bin.* instead of here
|
||||
|
||||
# TODO we do not build binaries for the following packages (yet!)
|
||||
biber-ms.binfiles = [];
|
||||
xpdfopen.binfiles = [];
|
||||
|
||||
# mptopdf is a format link, but not generated by texlinks
|
||||
# so we add it back to binfiles to generate it from mkPkgBin
|
||||
mptopdf.binfiles = (orig.mptopdf.binfiles or []) ++ [ "mptopdf" ];
|
||||
|
||||
# mktexlsr distributed by texlive.infra has implicit dependencies (e.g. kpsestat)
|
||||
# the perl one hidden in texlive-scripts is better behaved
|
||||
"texlive.infra".binfiles = lib.remove "mktexlsr" orig."texlive.infra".binfiles;
|
||||
|
||||
# remove man, add mktexlsr
|
||||
texlive-scripts.binfiles = (lib.remove "man" orig.texlive-scripts.binfiles) ++ [ "mktexlsr" ];
|
||||
# remove man
|
||||
texlive-scripts.binfiles = lib.remove "man" orig.texlive-scripts.binfiles;
|
||||
|
||||
# upmendex is "TODO" in bin.nix
|
||||
uptex.binfiles = lib.remove "upmendex" orig.uptex.binfiles;
|
||||
@ -172,7 +166,7 @@ let
|
||||
|
||||
texlive-scripts.binlinks = {
|
||||
mktexfmt = "fmtutil";
|
||||
texhash = "mktexlsr";
|
||||
texhash = (lib.last tl."texlive.infra".pkgs) + "/bin/mktexlsr";
|
||||
};
|
||||
|
||||
texlive-scripts-extra.binlinks = {
|
||||
@ -341,12 +335,6 @@ let
|
||||
substituteInPlace "$out"/bin/latexindent --replace 'use FindBin;' "BEGIN { \$0 = '$scriptsFolder' . '/latexindent.pl'; }; use FindBin;"
|
||||
'';
|
||||
|
||||
# make tlmgr believe it can use kpsewhich to evaluate TEXMFROOT
|
||||
"texlive.infra".postFixup = ''
|
||||
substituteInPlace "$out"/bin/tlmgr \
|
||||
--replace 'if (-r "$bindir/$kpsewhichname")' 'if (1)'
|
||||
'';
|
||||
|
||||
# Patch texlinks.sh back to 2015 version;
|
||||
# otherwise some bin/ links break, e.g. xe(la)tex.
|
||||
# add runtime dependencies to PATH
|
||||
@ -364,6 +352,12 @@ let
|
||||
substituteInPlace "$out"/bin/* --replace java "$interpJava"
|
||||
'';
|
||||
|
||||
# hardcode revision numbers (since texlive.infra, tlshell are not in either system or user texlive.tlpdb)
|
||||
tlshell.postFixup = ''
|
||||
substituteInPlace "$out"/bin/tlshell \
|
||||
--replace '[dict get $::pkgs texlive.infra localrev]' '${toString overridden."texlive.infra".revision}' \
|
||||
--replace '[dict get $::pkgs tlshell localrev]' '${toString overridden.tlshell.revision}'
|
||||
'';
|
||||
#### dependency changes
|
||||
|
||||
# it seems to need it to transform fonts
|
||||
@ -406,6 +400,32 @@ let
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
"texlive.infra" = {
|
||||
extraRevision = ".tlpdb${toString tlpdbVersion.revision}";
|
||||
extraVersion = "-tlpdb-${toString tlpdbVersion.revision}";
|
||||
|
||||
# add license of tlmgr and TeXLive::* perl packages and of bin.core
|
||||
license = [ "gpl2Plus" ] ++ lib.toList bin.core.meta.license.shortName ++ orig."texlive.infra".license or [ ];
|
||||
|
||||
scriptsFolder = "texlive";
|
||||
extraBuildInputs = [ coreutils gnused gnupg (lib.last tl.kpathsea.pkgs) (perl.withPackages (ps: with ps; [ Tk ])) ];
|
||||
|
||||
# make tlmgr believe it can use kpsewhich to evaluate TEXMFROOT
|
||||
postFixup = ''
|
||||
substituteInPlace "$out"/bin/tlmgr \
|
||||
--replace 'if (-r "$bindir/$kpsewhichname")' 'if (1)'
|
||||
sed -i '2i$ENV{PATH}='"'"'${lib.makeBinPath [ gnupg ]}'"'"' . ($ENV{PATH} ? ":$ENV{PATH}" : '"'''"');' "$out"/bin/tlmgr
|
||||
sed -i '2iPATH="${lib.makeBinPath [ coreutils gnused (lib.last tl.kpathsea.pkgs) ]}''${PATH:+:$PATH}"' "$out"/bin/mktexlsr
|
||||
'';
|
||||
|
||||
# add minimal texlive.tlpdb
|
||||
postUnpack = ''
|
||||
if [[ "$tlType" == "tlpkg" ]] ; then
|
||||
xzcat "${tlpdbxz}" | sed -n -e '/^name \(00texlive.config\|00texlive.installation\)$/,/^$/p' > "$out"/texlive.tlpdb
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}; # overrides
|
||||
|
||||
in lib.mapAttrs mkTLPkg overridden;
|
||||
@ -573,7 +593,7 @@ let
|
||||
if [[ "$tlType" == "tlpkg" ]]; then
|
||||
tar -xf "$src" \
|
||||
--strip-components=1 \
|
||||
-C "$out" --anchored --exclude=tlpkg/tlpobj --exclude=tlpkg/installer --exclude=tlpkg/gpg --keep-old-files \
|
||||
-C "$out" --anchored --exclude=tlpkg/tlpobj --keep-old-files \
|
||||
tlpkg
|
||||
else
|
||||
tar -xf "$src" \
|
||||
@ -632,12 +652,12 @@ in
|
||||
scheme-basic = [ free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
|
||||
scheme-context = [ bsd2 bsd3 cc-by-sa-40 free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21
|
||||
lppl1 lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-full = [ artistic1 artistic1-cl8 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-40 cc-by-sa-10 cc-by-sa-20
|
||||
cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl1Plus gpl2 gpl2Plus gpl3 gpl3Plus isc knuth
|
||||
scheme-full = [ artistic1-cl8 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-40 cc-by-sa-10 cc-by-sa-20
|
||||
cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth
|
||||
lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2
|
||||
gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-infraonly = [ gpl2 lgpl21 ];
|
||||
scheme-infraonly = [ gpl2 gpl2Plus lgpl21 ];
|
||||
scheme-medium = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only
|
||||
free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl
|
||||
publicDomain x11 ];
|
||||
|
@ -8636,12 +8636,12 @@
|
||||
"texlive-scripts-extra.r62517"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
|
||||
"texlive-scripts-extra.doc.r62517"="1izzy295pmxrg0sf2szxxahxm6s8bfi960mbs9z6vy7m5j1szxwl";
|
||||
"texlive-scripts.doc.r66570"="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj";
|
||||
"texlive-scripts.tlpkg.r66570"="0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
|
||||
"texlive-scripts.tlpkg.r66570"="07b68n9i587v247hpqnhwi052iczwg15z0npc1s5g1yxriy5k1lf";
|
||||
"texlive-sr.doc.r54594"="0icavs9jkcr5b5cx5kv202k95j0ydgby9lqrw8wm9h936mbn9bkj";
|
||||
"texlive-zh-cn.doc.r54490"="1r8n9k1cy7798g1rg1hyj6g945j9649c5hhqf8hm7a7abzx7w6ll";
|
||||
"texlive.infra.r63645"="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844";
|
||||
"texlive.infra.doc.r63645"="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4";
|
||||
"texlive.infra.tlpkg.r63645"="135cgamyq6dnffa7r8xvyr8krx65gqdgy88v3wwprqwz4dfhvzpi";
|
||||
"texlive.infra.r63645.tlpdb66590"="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844";
|
||||
"texlive.infra.doc.r63645.tlpdb66590"="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4";
|
||||
"texlive.infra.tlpkg.r63645.tlpdb66590"="0msr7i7vp5wf63fkjmmx0c2h13ky17j5qlrq7rbnym732ryzlx7r";
|
||||
"texliveonfly.r55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
|
||||
"texliveonfly.doc.r55777"="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";
|
||||
"texloganalyser.r54526"="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";
|
||||
|
@ -5569,8 +5569,6 @@ with pkgs;
|
||||
|
||||
hostsblock = callPackage ../tools/misc/hostsblock { };
|
||||
|
||||
hottext = callPackage ../tools/text/hottext { };
|
||||
|
||||
hopper = qt5.callPackage ../development/tools/analysis/hopper { };
|
||||
|
||||
hr = callPackage ../applications/misc/hr { };
|
||||
@ -6533,6 +6531,8 @@ with pkgs;
|
||||
|
||||
biber = callPackage ../tools/typesetting/biber { };
|
||||
|
||||
biber-ms = callPackage ../tools/typesetting/biber-ms { };
|
||||
|
||||
biblatex-check = callPackage ../tools/typesetting/biblatex-check { };
|
||||
|
||||
binlore = callPackage ../development/tools/analysis/binlore { };
|
||||
@ -6741,6 +6741,8 @@ with pkgs;
|
||||
|
||||
cmigemo = callPackage ../tools/text/cmigemo { };
|
||||
|
||||
cmospwd = callPackage ../tools/security/cmospwd { };
|
||||
|
||||
cmst = libsForQt5.callPackage ../tools/networking/cmst { };
|
||||
|
||||
cmt = callPackage ../applications/audio/cmt { };
|
||||
@ -7106,6 +7108,8 @@ with pkgs;
|
||||
|
||||
createrepo_c = callPackage ../tools/package-management/createrepo_c { };
|
||||
|
||||
cringify = callPackage ../tools/text/cringify { };
|
||||
|
||||
cromfs = callPackage ../tools/archivers/cromfs {
|
||||
stdenv = gcc10StdenvCompat;
|
||||
};
|
||||
@ -9534,8 +9538,6 @@ with pkgs;
|
||||
|
||||
jove = callPackage ../applications/editors/jove { };
|
||||
|
||||
jucipp = callPackage ../applications/editors/jucipp { };
|
||||
|
||||
jugglinglab = callPackage ../tools/misc/jugglinglab { };
|
||||
|
||||
jupp = callPackage ../applications/editors/jupp { };
|
||||
@ -16206,6 +16208,8 @@ with pkgs;
|
||||
|
||||
gox = callPackage ../development/tools/gox { };
|
||||
|
||||
goxlr-utility = callPackage ../tools/audio/goxlr-utility {};
|
||||
|
||||
gprolog = callPackage ../development/compilers/gprolog { };
|
||||
|
||||
gwe = callPackage ../tools/misc/gwe {
|
||||
@ -20190,6 +20194,8 @@ with pkgs;
|
||||
|
||||
tcptrack = callPackage ../development/tools/misc/tcptrack { };
|
||||
|
||||
teensy-cmake-macros = callPackage ../development/embedded/teensy-cmake-macros { };
|
||||
|
||||
teensyduino = arduino-core.override { withGui = true; withTeensyduino = true; };
|
||||
|
||||
teensy-loader-cli = callPackage ../development/embedded/teensy-loader-cli { };
|
||||
@ -24159,8 +24165,6 @@ with pkgs;
|
||||
|
||||
nvidia-vaapi-driver = lib.hiPrio (callPackage ../development/libraries/nvidia-vaapi-driver { });
|
||||
|
||||
nvidia-video-sdk = callPackage ../development/libraries/nvidia-video-sdk { };
|
||||
|
||||
nvidia-optical-flow-sdk = callPackage ../development/libraries/nvidia-optical-flow-sdk { };
|
||||
|
||||
nvidia-system-monitor-qt = libsForQt5.callPackage ../tools/system/nvidia-system-monitor-qt { };
|
||||
@ -30374,8 +30378,6 @@ with pkgs;
|
||||
texlive = texlive.combined.scheme-medium;
|
||||
};
|
||||
|
||||
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
|
||||
|
||||
ardour_6 = callPackage ../applications/audio/ardour/6.nix { };
|
||||
ardour = callPackage ../applications/audio/ardour { };
|
||||
|
||||
@ -30505,6 +30507,8 @@ with pkgs;
|
||||
|
||||
join-desktop = callPackage ../applications/misc/join-desktop { };
|
||||
|
||||
joincap = callPackage ../tools/security/joincap { };
|
||||
|
||||
json-plot = callPackage ../applications/graphics/json-plot { };
|
||||
|
||||
libbitcoin = callPackage ../tools/misc/libbitcoin/libbitcoin.nix {
|
||||
@ -32723,8 +32727,6 @@ with pkgs;
|
||||
|
||||
id3v2 = callPackage ../applications/audio/id3v2 { };
|
||||
|
||||
ideamaker = libsForQt5.callPackage ../applications/misc/ideamaker { };
|
||||
|
||||
identity = callPackage ../applications/graphics/identity { };
|
||||
|
||||
ifenslave = callPackage ../os-specific/linux/ifenslave { };
|
||||
@ -40018,12 +40020,6 @@ with pkgs;
|
||||
|
||||
fn-cli = callPackage ../applications/networking/cluster/fn-cli { };
|
||||
|
||||
areca = callPackage ../applications/backup/areca {
|
||||
jdk = jdk8;
|
||||
jre = jre8;
|
||||
swt = swt_jdk8;
|
||||
};
|
||||
|
||||
argononed = callPackage ../misc/drivers/argononed { };
|
||||
|
||||
autotiling = python3Packages.callPackage ../misc/autotiling { };
|
||||
|
Loading…
Reference in New Issue
Block a user