Merge master into staging-next
This commit is contained in:
commit
78f855f796
|
@ -7241,6 +7241,12 @@
|
|||
githubId = 918448;
|
||||
name = "Anthony Lodi";
|
||||
};
|
||||
loicreynier = {
|
||||
email = "loic@loireynier.fr";
|
||||
github = "loicreynier";
|
||||
githubId = 88983487;
|
||||
name = "Loïc Reynier";
|
||||
};
|
||||
lopsided98 = {
|
||||
email = "benwolsieffer@gmail.com";
|
||||
github = "lopsided98";
|
||||
|
|
|
@ -306,6 +306,12 @@
|
|||
with many features.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://clusterlabs.org/pacemaker/">pacemaker</link>
|
||||
cluster resource manager
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-incompatibilities">
|
||||
|
|
|
@ -87,6 +87,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [blocky](https://0xerr0r.github.io/blocky/), fast and lightweight DNS proxy as ad-blocker for local network with many features.
|
||||
|
||||
- [pacemaker](https://clusterlabs.org/pacemaker/) cluster resource manager
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
|
||||
|
|
|
@ -302,6 +302,7 @@
|
|||
./services/backup/znapzend.nix
|
||||
./services/blockchain/ethereum/geth.nix
|
||||
./services/backup/zrepl.nix
|
||||
./services/cluster/corosync/default.nix
|
||||
./services/cluster/hadoop/default.nix
|
||||
./services/cluster/k3s/default.nix
|
||||
./services/cluster/kubernetes/addons/dns.nix
|
||||
|
@ -314,6 +315,7 @@
|
|||
./services/cluster/kubernetes/pki.nix
|
||||
./services/cluster/kubernetes/proxy.nix
|
||||
./services/cluster/kubernetes/scheduler.nix
|
||||
./services/cluster/pacemaker/default.nix
|
||||
./services/cluster/spark/default.nix
|
||||
./services/computing/boinc/client.nix
|
||||
./services/computing/foldingathome/client.nix
|
||||
|
|
|
@ -40,13 +40,15 @@ in
|
|||
KDEDIRS = [ "" ];
|
||||
QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ];
|
||||
QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ];
|
||||
GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ];
|
||||
GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ];
|
||||
XDG_CONFIG_DIRS = [ "/etc/xdg" ];
|
||||
XDG_DATA_DIRS = [ "/share" ];
|
||||
MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ];
|
||||
LIBEXEC_PATH = [ "/lib/libexec" ];
|
||||
};
|
||||
|
||||
environment.pathsToLink = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ];
|
||||
|
||||
environment.extraInit =
|
||||
''
|
||||
unset ASPELL_CONF
|
||||
|
|
112
nixos/modules/services/cluster/corosync/default.nix
Normal file
112
nixos/modules/services/cluster/corosync/default.nix
Normal file
|
@ -0,0 +1,112 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.corosync;
|
||||
in
|
||||
{
|
||||
# interface
|
||||
options.services.corosync = {
|
||||
enable = mkEnableOption "corosync";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.corosync;
|
||||
defaultText = literalExpression "pkgs.corosync";
|
||||
description = "Package that should be used for corosync.";
|
||||
};
|
||||
|
||||
clusterName = mkOption {
|
||||
type = types.str;
|
||||
default = "nixcluster";
|
||||
description = "Name of the corosync cluster.";
|
||||
};
|
||||
|
||||
extraOptions = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [];
|
||||
description = "Additional options with which to start corosync.";
|
||||
};
|
||||
|
||||
nodelist = mkOption {
|
||||
description = "Corosync nodelist: all cluster members.";
|
||||
default = [];
|
||||
type = with types; listOf (submodule {
|
||||
options = {
|
||||
nodeid = mkOption {
|
||||
type = int;
|
||||
description = "Node ID number";
|
||||
};
|
||||
name = mkOption {
|
||||
type = str;
|
||||
description = "Node name";
|
||||
};
|
||||
ring_addrs = mkOption {
|
||||
type = listOf str;
|
||||
description = "List of addresses, one for each ring.";
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
# implementation
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
environment.etc."corosync/corosync.conf".text = ''
|
||||
totem {
|
||||
version: 2
|
||||
secauth: on
|
||||
cluster_name: ${cfg.clusterName}
|
||||
transport: knet
|
||||
}
|
||||
|
||||
nodelist {
|
||||
${concatMapStrings ({ nodeid, name, ring_addrs }: ''
|
||||
node {
|
||||
nodeid: ${toString nodeid}
|
||||
name: ${name}
|
||||
${concatStrings (imap0 (i: addr: ''
|
||||
ring${toString i}_addr: ${addr}
|
||||
'') ring_addrs)}
|
||||
}
|
||||
'') cfg.nodelist}
|
||||
}
|
||||
|
||||
quorum {
|
||||
# only corosync_votequorum is supported
|
||||
provider: corosync_votequorum
|
||||
wait_for_all: 0
|
||||
${optionalString (builtins.length cfg.nodelist < 3) ''
|
||||
two_node: 1
|
||||
''}
|
||||
}
|
||||
|
||||
logging {
|
||||
to_syslog: yes
|
||||
}
|
||||
'';
|
||||
|
||||
environment.etc."corosync/uidgid.d/root".text = ''
|
||||
# allow pacemaker connection by root
|
||||
uidgid {
|
||||
uid: 0
|
||||
gid: 0
|
||||
}
|
||||
'';
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.corosync = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
StateDirectory = "corosync";
|
||||
StateDirectoryMode = "0700";
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc."sysconfig/corosync".text = lib.optionalString (cfg.extraOptions != []) ''
|
||||
COROSYNC_OPTIONS="${lib.escapeShellArgs cfg.extraOptions}"
|
||||
'';
|
||||
};
|
||||
}
|
52
nixos/modules/services/cluster/pacemaker/default.nix
Normal file
52
nixos/modules/services/cluster/pacemaker/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.pacemaker;
|
||||
in
|
||||
{
|
||||
# interface
|
||||
options.services.pacemaker = {
|
||||
enable = mkEnableOption "pacemaker";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.pacemaker;
|
||||
defaultText = literalExpression "pkgs.pacemaker";
|
||||
description = "Package that should be used for pacemaker.";
|
||||
};
|
||||
};
|
||||
|
||||
# implementation
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [ {
|
||||
assertion = config.services.corosync.enable;
|
||||
message = ''
|
||||
Enabling services.pacemaker requires a services.corosync configuration.
|
||||
'';
|
||||
} ];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
# required by pacemaker
|
||||
users.users.hacluster = {
|
||||
isSystemUser = true;
|
||||
group = "pacemaker";
|
||||
home = "/var/lib/pacemaker";
|
||||
};
|
||||
users.groups.pacemaker = {};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/log/pacemaker 0700 hacluster pacemaker -"
|
||||
];
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.pacemaker = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
StateDirectory = "pacemaker";
|
||||
StateDirectoryMode = "0700";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1008,7 +1008,11 @@ in
|
|||
#InaccessiblePaths = [ "-+${runDir}/root" ];
|
||||
UMask = "0066";
|
||||
BindPaths = [ stateDir ];
|
||||
BindReadOnlyPaths = [ storeDir "/etc" ];
|
||||
BindReadOnlyPaths = [ storeDir "/etc" ] ++
|
||||
optionals config.services.resolved.enable [
|
||||
"/run/systemd/resolve/stub-resolv.conf"
|
||||
"/run/systemd/resolve/resolv.conf"
|
||||
];
|
||||
AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
|
||||
CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
|
||||
# ProtectClock= adds DeviceAllow=char-rtc r
|
||||
|
|
|
@ -384,6 +384,7 @@ in
|
|||
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
|
||||
osrm-backend = handleTest ./osrm-backend.nix {};
|
||||
overlayfs = handleTest ./overlayfs.nix {};
|
||||
pacemaker = handleTest ./pacemaker.nix {};
|
||||
packagekit = handleTest ./packagekit.nix {};
|
||||
pam-file-contents = handleTest ./pam/pam-file-contents.nix {};
|
||||
pam-oath-login = handleTest ./pam/pam-oath-login.nix {};
|
||||
|
@ -433,6 +434,7 @@ in
|
|||
prometheus = handleTest ./prometheus.nix {};
|
||||
prometheus-exporters = handleTest ./prometheus-exporters.nix {};
|
||||
prosody = handleTest ./xmpp/prosody.nix {};
|
||||
prosody-mysql = handleTest ./xmpp/prosody-mysql.nix {};
|
||||
proxy = handleTest ./proxy.nix {};
|
||||
prowlarr = handleTest ./prowlarr.nix {};
|
||||
pt2-clone = handleTest ./pt2-clone.nix {};
|
||||
|
|
110
nixos/tests/pacemaker.nix
Normal file
110
nixos/tests/pacemaker.nix
Normal file
|
@ -0,0 +1,110 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: rec {
|
||||
name = "pacemaker";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ astro ];
|
||||
};
|
||||
|
||||
nodes =
|
||||
let
|
||||
node = i: {
|
||||
networking.interfaces.eth1.ipv4.addresses = [ {
|
||||
address = "192.168.0.${toString i}";
|
||||
prefixLength = 24;
|
||||
} ];
|
||||
|
||||
services.corosync = {
|
||||
enable = true;
|
||||
clusterName = "zentralwerk-network";
|
||||
nodelist = lib.imap (i: name: {
|
||||
nodeid = i;
|
||||
inherit name;
|
||||
ring_addrs = [
|
||||
(builtins.head nodes.${name}.networking.interfaces.eth1.ipv4.addresses).address
|
||||
];
|
||||
}) (builtins.attrNames nodes);
|
||||
};
|
||||
environment.etc."corosync/authkey" = {
|
||||
source = builtins.toFile "authkey"
|
||||
# minimum length: 128 bytes
|
||||
"testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest";
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
services.pacemaker.enable = true;
|
||||
|
||||
# used for pacemaker resource
|
||||
systemd.services.ha-cat = {
|
||||
description = "Highly available netcat";
|
||||
serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l discard";
|
||||
};
|
||||
};
|
||||
in {
|
||||
node1 = node 1;
|
||||
node2 = node 2;
|
||||
node3 = node 3;
|
||||
};
|
||||
|
||||
# sets up pacemaker with resources configuration, then crashes a
|
||||
# node and waits for service restart on another node
|
||||
testScript =
|
||||
let
|
||||
resources = builtins.toFile "cib-resources.xml" ''
|
||||
<resources>
|
||||
<primitive id="cat" class="systemd" type="ha-cat">
|
||||
<operations>
|
||||
<op id="stop-cat" name="start" interval="0" timeout="1s"/>
|
||||
<op id="start-cat" name="start" interval="0" timeout="1s"/>
|
||||
<op id="monitor-cat" name="monitor" interval="1s" timeout="1s"/>
|
||||
</operations>
|
||||
</primitive>
|
||||
</resources>
|
||||
'';
|
||||
in ''
|
||||
import re
|
||||
import time
|
||||
|
||||
start_all()
|
||||
|
||||
${lib.concatMapStrings (node: ''
|
||||
${node}.wait_until_succeeds("corosync-quorumtool")
|
||||
${node}.wait_for_unit("pacemaker.service")
|
||||
'') (builtins.attrNames nodes)}
|
||||
|
||||
# No STONITH device
|
||||
node1.succeed("crm_attribute -t crm_config -n stonith-enabled -v false")
|
||||
# Configure the cat resource
|
||||
node1.succeed("cibadmin --replace --scope resources --xml-file ${resources}")
|
||||
|
||||
# wait until the service is started
|
||||
while True:
|
||||
output = node1.succeed("crm_resource -r cat --locate")
|
||||
match = re.search("is running on: (.+)", output)
|
||||
if match:
|
||||
for machine in machines:
|
||||
if machine.name == match.group(1):
|
||||
current_node = machine
|
||||
break
|
||||
time.sleep(1)
|
||||
|
||||
current_node.log("Service running here!")
|
||||
current_node.crash()
|
||||
|
||||
# pick another node that's still up
|
||||
for machine in machines:
|
||||
if machine.booted:
|
||||
check_node = machine
|
||||
# find where the service has been started next
|
||||
while True:
|
||||
output = check_node.succeed("crm_resource -r cat --locate")
|
||||
match = re.search("is running on: (.+)", output)
|
||||
# output will remain the old current_node until the crash is detected by pacemaker
|
||||
if match and match.group(1) != current_node.name:
|
||||
for machine in machines:
|
||||
if machine.name == match.group(1):
|
||||
next_node = machine
|
||||
break
|
||||
time.sleep(1)
|
||||
|
||||
next_node.log("Service migrated here!")
|
||||
'';
|
||||
})
|
124
nixos/tests/xmpp/prosody-mysql.nix
Normal file
124
nixos/tests/xmpp/prosody-mysql.nix
Normal file
|
@ -0,0 +1,124 @@
|
|||
let
|
||||
cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500
|
||||
mkdir -p $out
|
||||
cp key.pem cert.pem $out
|
||||
'';
|
||||
createUsers = pkgs: pkgs.writeScriptBin "create-prosody-users" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
set -e
|
||||
|
||||
# Creates and set password for the 2 xmpp test users.
|
||||
#
|
||||
# Doing that in a bash script instead of doing that in the test
|
||||
# script allow us to easily provision the users when running that
|
||||
# test interactively.
|
||||
|
||||
prosodyctl register cthon98 example.com nothunter2
|
||||
prosodyctl register azurediamond example.com hunter2
|
||||
'';
|
||||
delUsers = pkgs: pkgs.writeScriptBin "delete-prosody-users" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
set -e
|
||||
|
||||
# Deletes the test users.
|
||||
#
|
||||
# Doing that in a bash script instead of doing that in the test
|
||||
# script allow us to easily provision the users when running that
|
||||
# test interactively.
|
||||
|
||||
prosodyctl deluser cthon98@example.com
|
||||
prosodyctl deluser azurediamond@example.com
|
||||
'';
|
||||
in import ../make-test-python.nix {
|
||||
name = "prosody-mysql";
|
||||
nodes = {
|
||||
client = { nodes, pkgs, config, ... }: {
|
||||
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
console.keyMap = "fr-bepo";
|
||||
networking.extraHosts = ''
|
||||
${nodes.server.config.networking.primaryIPAddress} example.com
|
||||
${nodes.server.config.networking.primaryIPAddress} conference.example.com
|
||||
${nodes.server.config.networking.primaryIPAddress} uploads.example.com
|
||||
'';
|
||||
environment.systemPackages = [
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
|
||||
];
|
||||
};
|
||||
server = { config, pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
prosody = super.prosody.override {
|
||||
withExtraLuaPackages = p: [ p.luadbi-mysql ];
|
||||
};
|
||||
})
|
||||
];
|
||||
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
console.keyMap = "fr-bepo";
|
||||
networking.extraHosts = ''
|
||||
${config.networking.primaryIPAddress} example.com
|
||||
${config.networking.primaryIPAddress} conference.example.com
|
||||
${config.networking.primaryIPAddress} uploads.example.com
|
||||
'';
|
||||
networking.firewall.enable = false;
|
||||
environment.systemPackages = [
|
||||
(createUsers pkgs)
|
||||
(delUsers pkgs)
|
||||
];
|
||||
services.prosody = {
|
||||
enable = true;
|
||||
ssl.cert = "${cert pkgs}/cert.pem";
|
||||
ssl.key = "${cert pkgs}/key.pem";
|
||||
virtualHosts.example = {
|
||||
domain = "example.com";
|
||||
enabled = true;
|
||||
ssl.cert = "${cert pkgs}/cert.pem";
|
||||
ssl.key = "${cert pkgs}/key.pem";
|
||||
};
|
||||
muc = [
|
||||
{
|
||||
domain = "conference.example.com";
|
||||
}
|
||||
];
|
||||
uploadHttp = {
|
||||
domain = "uploads.example.com";
|
||||
};
|
||||
extraConfig = ''
|
||||
storage = "sql"
|
||||
sql = {
|
||||
driver = "MySQL";
|
||||
database = "prosody";
|
||||
host = "mysql";
|
||||
port = 3306;
|
||||
username = "prosody";
|
||||
password = "password123";
|
||||
};
|
||||
'';
|
||||
};
|
||||
};
|
||||
mysql = { config, pkgs, ... }: {
|
||||
networking.firewall.enable = false;
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
initialScript = pkgs.writeText "mysql_init.sql" ''
|
||||
CREATE DATABASE prosody;
|
||||
CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123';
|
||||
GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server';
|
||||
FLUSH PRIVILEGES;
|
||||
'';
|
||||
package = pkgs.mariadb;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
# Check with mysql storage
|
||||
mysql.wait_for_unit("mysql.service")
|
||||
server.wait_for_unit("prosody.service")
|
||||
server.succeed('prosodyctl status | grep "Prosody is running"')
|
||||
|
||||
server.succeed("create-prosody-users")
|
||||
client.succeed("send-message")
|
||||
server.succeed("delete-prosody-users")
|
||||
'';
|
||||
}
|
|
@ -81,6 +81,7 @@ in import ../make-test-python.nix {
|
|||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
# Check with sqlite storage
|
||||
server.wait_for_unit("prosody.service")
|
||||
server.succeed('prosodyctl status | grep "Prosody is running"')
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dolphin-emu";
|
||||
version = "5.0-15993";
|
||||
version = "5.0-16101";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dolphin-emu";
|
||||
repo = "dolphin";
|
||||
rev = "5e595616379a694789fe749e40a27ef069f0090e";
|
||||
sha256 = "1kid8qjn8r7dxh2yc1y6yal6qkfxij0ymi3zryxsnym3rjh1jds9";
|
||||
rev = "8ecfa537a242de74d2e372e30d9d79b14584b2fb";
|
||||
sha256 = "3jLGVzTDzEtHWvIb9DFTbJiA9dE9Pm14vYER998Zln0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -50,11 +50,11 @@ let
|
|||
in stdenv.mkDerivation rec {
|
||||
|
||||
pname = "opera";
|
||||
version = "84.0.4316.21";
|
||||
version = "84.0.4316.31";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
|
||||
sha256 = "sha256-CEKUd2QlZQJbpBO1t4oKmyd+uhPiCOY+eXtSrZf75e4=";
|
||||
sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY=";
|
||||
};
|
||||
|
||||
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
|
||||
|
|
|
@ -19,16 +19,16 @@ let
|
|||
in
|
||||
buildGoModule rec {
|
||||
pname = "argo";
|
||||
version = "3.2.9";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lZ6FjWXhVc51BlioDSryeYe5aZeUhMMEde+kk2SwV20=";
|
||||
sha256 = "sha256-BDHbbb3WqQvRJB1A4NInfvujjB3r/AMmVvos8i/CnyU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8=";
|
||||
vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "tfswitch";
|
||||
version = "0.13.1201";
|
||||
version = "0.13.1218";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "terraform-switcher";
|
||||
rev = version;
|
||||
sha256 = "sha256-gJa8oVdgerDi0GdTSNus5rHLsFuzg8ZqVeKTMuPXu0o=";
|
||||
sha256 = "sha256-RJdbNXO+6TqFLapWiZ1UeXGS5522ykQvhhNDEHPr8xE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-z3UDrwlMHFFH56U3oylSWE3wqWOCA4RI2smafHHwYkQ=";
|
||||
vendorSha256 = "sha256-Xqgki072Iy+snRriPVJ9oaDNJ/LiKL+AuU+eVw0zlDU=";
|
||||
|
||||
# Disable tests since it requires network access and relies on the
|
||||
# presence of release.hashicorp.com
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ buildGoPackage, lib, fetchFromGitHub }:
|
||||
buildGoPackage rec {
|
||||
pname = "tgswitch";
|
||||
version = "0.5.382";
|
||||
version = "0.5.389";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "tgswitch";
|
||||
rev = version;
|
||||
sha256 = "sha256-DbPf1o1XlXLpuYSrNMRwHRqi/urQhSfzPW5BPIvZC/Y=";
|
||||
sha256 = "sha256-6hErfI7LEJFgOoJR8IF9jTSBwqbQYeGiwdeJShqxVQ0=";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/warrensbox/tgswitch";
|
||||
|
|
|
@ -11,15 +11,15 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "1.2.73";
|
||||
version = "1.2.74";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-E16p40Pmr9o2946XlO3TUE/xUueG0NBWux23MgAVLlI=";
|
||||
sha256 = "sha256-Mfgvl6ljmYn9Vu/tWS0JAuH1pzQZ4zoD5+5ejUJF/Lg=";
|
||||
};
|
||||
vendorSha256 = "sha256-NHeUj1JWRqElY2BpQ+7ANqwlOYQ5H2R00LGqktcsoF4=";
|
||||
vendorSha256 = "sha256-MsIbuwsb0sKEh3Z7ArtG/8SWFPaXLu+TGNruhsHhtb4=";
|
||||
proxyVendor = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alfaview";
|
||||
version = "8.37.0";
|
||||
version = "8.40.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
|
||||
sha256 = "sha256-hU4tqDu95ej8ChiWJq3ZPhEwxBcmTQkA/n///pPVa5U=";
|
||||
sha256 = "sha256-meiIDIG7OXxF2aclHA/8FN8aSz5KWJliDbm2p/flD4k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20220303";
|
||||
version = "20220314";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-3fT9cHosg/A/JowIARQ46OxmsQWFOBb7tIiRWVNfUo4=";
|
||||
sha256 = "sha256-E3gH4Ym2tmH9qmbfKWybgO6qUW2rpJQyhBh6LPpfFHE=";
|
||||
};
|
||||
|
||||
# Remove when Apple SDK is >= 10.13
|
||||
|
|
|
@ -70,7 +70,7 @@ let
|
|||
in
|
||||
env.mkDerivation rec {
|
||||
pname = "telegram-desktop";
|
||||
version = "3.5.2";
|
||||
version = "3.6.0";
|
||||
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
|
||||
|
||||
# Telegram-Desktop with submodules
|
||||
|
@ -79,7 +79,7 @@ env.mkDerivation rec {
|
|||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "05324xvb00yz2jfigyy7izk8wnq8phm3sidw62kf7xqyh63qnrzh";
|
||||
sha256 = "0zcjm08nfdlxrsv0fi6dqg3lk52bcvsxnsf6jm5fv6gf5v9ia3hq";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation {
|
||||
pname = "tg_owt";
|
||||
version = "unstable-2022-02-09";
|
||||
version = "unstable-2022-02-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "desktop-app";
|
||||
repo = "tg_owt";
|
||||
rev = "4cba1acdd718b700bb33945c0258283689d4eac7";
|
||||
sha256 = "0j201x9k38mvcyhf1wlyghyvdpv1l75xwgj9rl2l7r55afrpw4ca";
|
||||
rev = "a264028ec71d9096e0aa629113c49c25db89d260";
|
||||
sha256 = "10p3x8z3ps8s1ivi9y8px2gsg4pvsvz6g9wbgh5w8hilikxqq7r5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -15,13 +15,13 @@ with lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "remmina";
|
||||
version = "1.4.24";
|
||||
version = "1.4.25";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "Remmina";
|
||||
repo = "Remmina";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0=";
|
||||
sha256 = "sha256-1val/KCClEtw1prVWuXJe8DmmQ7e7oqwAfAnT9G9iHI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "phd2";
|
||||
version = "2.6.10";
|
||||
version = "2.6.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenPHDGuiding";
|
||||
repo = "phd2";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU=";
|
||||
sha256 = "sha256-iautgHOVzdLWYGOVu3wHBDt30uCbaP58mDz/l7buB1k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "siril";
|
||||
version = "0.99.10.1";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "free-astro";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-gqV+pJNaU+GnYiUo/imofgNdeM+AtDg/pSH7aoqhkYA=";
|
||||
sha256 = "sha256-yqWFEa1fnSwl0ecN9hMI13QCfj0f69CFqTJlEAhTpJI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
25
pkgs/applications/science/logic/nuXmv/default.nix
Normal file
25
pkgs/applications/science/logic/nuXmv/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nuXmv";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-linux64.tar.gz";
|
||||
sha256 = "0nndrw994clf8lnlcfzdf1mf00vif3fvd4xsiwcjpbyk12091zqr";
|
||||
};
|
||||
|
||||
installPhase= ''
|
||||
runHook preInstall
|
||||
install -Dm755 -t $out/bin ./bin/nuXmv
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Symbolic model checker for analysis of finite and infinite state systems";
|
||||
homepage = "https://nuxmv.fbk.eu/pmwiki.php";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ siraben ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -4,14 +4,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xterm";
|
||||
version = "371";
|
||||
version = "372";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
|
||||
"https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
|
||||
];
|
||||
sha256 = "MviIJ3sZ4o68CjESv/AAYHwHvtBnnKoL7rs2+crUhPU=";
|
||||
sha256 = "xtCBJ8skCcOgS8rlWbcCUZbtdwu3vyZjCry0XZX2CrE=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gh";
|
||||
version = "2.5.2";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cli";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-60XEc0V8stbl+JozTqu8yO37K1NXX/X2xFkcO9p/QNY=";
|
||||
sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-aMD4a+jwCINcHV/z5UyTF+o3BzN9wviz+kLwDys9/BI=";
|
||||
vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "f1viewer";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoMuchForSubtlety";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-cTXueIOD+OXx4WikhdNv3v/F2/f5aDicyPP7FgTU6AM=";
|
||||
sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-47uLx4t0N1T3zqZ9o/su/onJEUdGXpq+iVSUaRnwW3I=";
|
||||
vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4=";
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
|
|
35
pkgs/applications/video/mpv/scripts/vr-reversal.nix
Normal file
35
pkgs/applications/video/mpv/scripts/vr-reversal.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenvNoCC, fetchFromGitHub, ffmpeg }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "vr-reversal";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dfaker";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1wn2ngcvn7wcsl3kmj782x5q9130qw951lj6ilrkafp6q6zscpqr";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# reset_rot is only available in ffmpeg 5.0, see 5bcc61ce87922ecccaaa0bd303a7e195929859a8
|
||||
postPatch = lib.optionalString (lib.versionOlder ffmpeg.version "5.0") ''
|
||||
substituteInPlace 360plugin.lua --replace ":reset_rot=1:" ":"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/mpv/scripts
|
||||
cp -r 360plugin.lua $out/share/mpv/scripts/
|
||||
'';
|
||||
|
||||
passthru.scriptName = "360plugin.lua";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Script for mpv to play VR video with optional saving of head tracking data.";
|
||||
homepage = "https://github.com/dfaker/VR-reversal";
|
||||
license = licenses.unlicense;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ schnusch ];
|
||||
};
|
||||
}
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "lima";
|
||||
version = "0.9.0";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lima-vm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jbWz4HVYR3OEze2fFgG6Tg4p50IL0NStmaa8+GUPkNw=";
|
||||
sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-RX8HfeDVvLUX4Ez2ma04gTl+8+lM7WGNSpmFNnf+5Xs=";
|
||||
vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
|
|
|
@ -15,16 +15,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "i3status-rust";
|
||||
version = "0.21.6";
|
||||
version = "0.21.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "greshake";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2PBGw5LHIOOPXBZ+12wL2ZGH+gfbkXNIItpE6SLT8so=";
|
||||
sha256 = "sha256-2fh1/7/or++AzvkJfwXD07UiyX8U8CIEe+qXc5S82mM=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-wtxfdQw5zKCxYu7N2BpcLVTlitQmwY7s8oO4dpK8MjE=";
|
||||
cargoSha256 = "sha256-ERBxY0PBQOvAVeWCRcB7rApTLjtHxa0KMV4qGlU/j/Q=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
|
||||
|
|
|
@ -54,9 +54,9 @@ fetchurl ({
|
|||
"$tmpfile" > "$out"
|
||||
|
||||
if [ ! -s "$out" ]; then
|
||||
echo "error: Filtered patch '$out$' is empty (while the original patch file was not)!" 1>&2
|
||||
echo "error: Filtered patch '$out' is empty (while the original patch file was not)!" 1>&2
|
||||
echo "Check your includes and excludes." 1>&2
|
||||
echo "Normalizd patch file was:" 1>&2
|
||||
echo "Normalized patch file was:" 1>&2
|
||||
cat "$tmpfile" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
12
pkgs/development/compilers/4th/001-install-manual-fixup.diff
Normal file
12
pkgs/development/compilers/4th/001-install-manual-fixup.diff
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -Naur 4th-3.64.0-old/sources/Makefile 4th-3.64.0-new/sources/Makefile
|
||||
--- 4th-3.64.0-old/sources/Makefile 2022-03-15 12:37:45.925122854 -0300
|
||||
+++ 4th-3.64.0-new/sources/Makefile 2022-03-15 12:38:50.987870211 -0300
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
install: mostlyinstall
|
||||
install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1
|
||||
- install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/
|
||||
+ install -Dm644 ../documentation/4tHmanual.pdf $(DOCDIR)/4th/
|
||||
|
||||
uninstall:
|
||||
-rm -f $(LIBRARIES)/lib4th.{a,so*}
|
|
@ -2,13 +2,18 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "4th";
|
||||
version = "3.62.5";
|
||||
version = "3.64.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://sourceforge.net/projects/forth-4th/files/${pname}-${version}/${pname}-${version}-unix.tar.gz";
|
||||
sha256 = "sha256-+CL33Yz7CxdEpi1lPG7+kzV4rheJ7GCgiFCaOLyktPw=";
|
||||
hash = "sha256-wJBekjFsFRIkhY/P/yHBQ8he+k+fGyrePGTP2Yjgpqg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix install manual; report this patch to upstream
|
||||
./001-install-manual-fixup.diff
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makeFlags = [
|
||||
|
@ -31,9 +36,11 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A portable Forth compiler";
|
||||
homepage = "https://thebeez.home.xs4all.nl/4tH/index.html";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.all;
|
||||
description = "A portable Forth compiler";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
# TODO: set Makefile according to platform
|
||||
|
|
|
@ -61,8 +61,6 @@ stdenv.mkDerivation rec {
|
|||
gtk2 glib fontconfig freetype unixODBC alsa-lib
|
||||
];
|
||||
|
||||
rpath = "${lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
|
||||
|
||||
unpackPhase = ''
|
||||
sh $src --keep --noexec
|
||||
|
||||
|
@ -119,6 +117,12 @@ stdenv.mkDerivation rec {
|
|||
fi
|
||||
done
|
||||
mv pkg/builds/cuda_nvcc/nvvm $out/nvvm
|
||||
|
||||
mv pkg/builds/cuda_sanitizer_api $out/cuda_sanitizer_api
|
||||
ln -s $out/cuda_sanitizer_api/compute-sanitizer/compute-sanitizer $out/bin/compute-sanitizer
|
||||
|
||||
mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64
|
||||
mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64
|
||||
''}
|
||||
|
||||
rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
|
||||
|
@ -184,22 +188,35 @@ stdenv.mkDerivation rec {
|
|||
done
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
while IFS= read -r -d ''$'\0' i; do
|
||||
if ! isELF "$i"; then continue; fi
|
||||
echo "patching $i..."
|
||||
if [[ ! $i =~ \.so ]]; then
|
||||
patchelf \
|
||||
--set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
|
||||
fi
|
||||
if [[ $i =~ libcudart ]]; then
|
||||
patchelf --remove-rpath $i
|
||||
else
|
||||
rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
|
||||
patchelf --set-rpath "$rpath2" --force-rpath $i
|
||||
fi
|
||||
done < <(find $out $lib $doc -type f -print0)
|
||||
'';
|
||||
preFixup =
|
||||
let rpath = lib.concatStringsSep ":" [
|
||||
(lib.makeLibraryPath (runtimeDependencies ++ [ "$lib" "$out" "$out/nvvm" ]))
|
||||
"${stdenv.cc.cc.lib}/lib64"
|
||||
"$out/jre/lib/amd64/jli"
|
||||
"$out/lib64"
|
||||
"$out/nvvm/lib64"
|
||||
];
|
||||
in
|
||||
''
|
||||
while IFS= read -r -d $'\0' i; do
|
||||
if ! isELF "$i"; then continue; fi
|
||||
echo "patching $i..."
|
||||
if [[ ! $i =~ \.so ]]; then
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $i
|
||||
fi
|
||||
if [[ $i =~ libcudart ]]; then
|
||||
patchelf --remove-rpath $i
|
||||
else
|
||||
patchelf --set-rpath "${rpath}" --force-rpath $i
|
||||
fi
|
||||
done < <(find $out $lib $doc -type f -print0)
|
||||
'' + lib.optionalString (lib.versionAtLeast version "11") ''
|
||||
for file in $out/target-linux-x64/*.so; do
|
||||
echo "patching $file..."
|
||||
patchelf --set-rpath "${rpath}:\$ORIGIN" $file
|
||||
done
|
||||
'';
|
||||
|
||||
# Set RPATH so that libcuda and other libraries in
|
||||
# /run/opengl-driver(-32)/lib can be found. See the explanation in
|
||||
|
@ -208,6 +225,10 @@ stdenv.mkDerivation rec {
|
|||
# --force-rpath prevents changing RPATH (set above) to RUNPATH.
|
||||
postFixup = ''
|
||||
addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
|
||||
'' + lib.optionalString (lib.versionAtLeast version "11") ''
|
||||
addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/*
|
||||
addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/x86/*
|
||||
addOpenGLRunpath $out/target-linux-x64/*
|
||||
'';
|
||||
|
||||
# cuda-gdb doesn't run correctly when not using sandboxing, so
|
||||
|
|
|
@ -54,11 +54,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.18rc1";
|
||||
version = "1.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
||||
sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g=";
|
||||
sha256 = "sha256-OPQj20zINIg/K1I0QoL6ejn7uTZQ3GKhH98L5kCb2tY=";
|
||||
};
|
||||
|
||||
# perl is used for testing go vet
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qbe";
|
||||
version = "unstable-2021-12-05";
|
||||
version = "unstable-2022-03-11";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://c9x.me/qbe.git";
|
||||
rev = "367c8215d99054892740ad74c690b106c45ebf60";
|
||||
sha256 = "sha256-xhTEiFR1RXMHtxmXlRof3O8monXEjstyWP3GClZmMuU=";
|
||||
rev = "c7842d84da65bcaf2d3c82aa69fb3ec930c7369f";
|
||||
sha256 = "sha256-fbxeoMJcVltrIGRLdJtxWykGIop8DVzpfrBatXniDPk=";
|
||||
};
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgbinder";
|
||||
version = "1.1.16";
|
||||
version = "1.1.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mer-hybris";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ=";
|
||||
sha256 = "sha256-HTmNoTGyFtOXRy7Y/ZnEgTa2GW6/+TeZxZo7c7ksNtc=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "stellarsolver";
|
||||
version = "1.9";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rlancaste";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw=";
|
||||
sha256 = "sha256-pqTSsey1CgOHiEm/C+7sTl9uGe3RVpL7Rdm04KgY+Z8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -12,17 +12,20 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "apycula";
|
||||
version = "0.2a2";
|
||||
version = "0.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Apycula";
|
||||
hash = "sha256-pcVoYGBhp9jyuWBJ/Rpi8cjwDgPjhJ1PrPblj5DQTpk=";
|
||||
hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
|
@ -35,7 +38,9 @@ buildPythonPackage rec {
|
|||
# tests require a physical FPGA
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "apycula" ];
|
||||
pythonImportsCheck = [
|
||||
"apycula"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open Source tools for Gowin FPGAs";
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-secret-manager";
|
||||
version = "2.9.1";
|
||||
version = "2.9.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-apn1ex/2VX18GHgN5+JYurzTKMqzPTNqTNOAI+DEBLw=";
|
||||
sha256 = "sha256-W93SDJR8bUPQX9KzoZ6YvV9kU+Twd9huH09Smap481g=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-storage";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0a5e7ab1a38d2c24be8e566e50b8b0daa8af8fd49d4ab312b1fda5c147429893";
|
||||
sha256 = "sha256-01mWgBE11R20m7j3p+Kc7cwlqotDXu0MTA7y+e5W0dk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyterlab";
|
||||
version = "3.3.1";
|
||||
version = "3.3.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-zkgnmTeccKqH5jtZ4sU3l3nOGGWLkkYM0gu0QVSGWXM=";
|
||||
sha256 = "sha256-PHFr9VkssoxcVcYVxuW9PvxxiY9pV9E3GbVkeLu7WHo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
60
pkgs/development/python-modules/pyinfra/default.nix
Normal file
60
pkgs/development/python-modules/pyinfra/default.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, gevent
|
||||
, click
|
||||
, colorama
|
||||
, configparser
|
||||
, distro
|
||||
, jinja2
|
||||
, paramiko
|
||||
, python-dateutil
|
||||
, pywinrm
|
||||
, setuptools
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyinfra";
|
||||
version = "1.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-r+7ka3WKE6uHP//p1N71hgTGit7Eo3x9INpbKPYbFMI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click
|
||||
colorama
|
||||
configparser
|
||||
distro
|
||||
gevent
|
||||
jinja2
|
||||
paramiko
|
||||
python-dateutil
|
||||
pywinrm
|
||||
setuptools
|
||||
six
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyinfra"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python-based infrastructure automation";
|
||||
longDescription = ''
|
||||
pyinfra automates/provisions/manages/deploys infrastructure. It can be used for
|
||||
ad-hoc command execution, service deployment, configuration management and more.
|
||||
'';
|
||||
homepage = "https://github.com/Fizzadar/pyinfra";
|
||||
maintainers = with maintainers; [ totoroot ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
|
@ -30,14 +30,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "thinc";
|
||||
version = "8.0.13";
|
||||
version = "8.0.14";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo=";
|
||||
sha256 = "sha256-3MC8ao6BTiDyaCXj/X+DNCTpMYcTWVJFSl0X+sCc5J0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
}:
|
||||
buildGoModule rec {
|
||||
pname = "litestream";
|
||||
version = "0.3.7";
|
||||
version = "0.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "benbjohnson";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-IEdTLf+fEp19FhwL3IaGT9HGKQoa6HwFox2gf0lvFu4=";
|
||||
sha256 = "sha256-0Yyx8kbpu3T868hI9tJkBIjplAoQDA4XzhraHhOp61Q=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
@ -19,7 +19,7 @@ buildGoModule rec {
|
|||
"-X main.Version=${version}"
|
||||
];
|
||||
|
||||
vendorSha256 = "sha256-ScG8cukUuChOvN9r0HvVJsYnu1X9DSO7aD32iu55jIM=";
|
||||
vendorSha256 = "sha256-zCz9dki87dpZCo+/KuFzwtv/0TlBcvQDTxTuLN2FiHY=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Streaming replication for SQLite";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "esbuild";
|
||||
version = "0.14.25";
|
||||
version = "0.14.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evanw";
|
||||
repo = "esbuild";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-95xVQU1AWIDvMlWJpB54RxGoOtZtaUlyfmfdcKERe6Y=";
|
||||
sha256 = "sha256-h5PodIFzqD0hJb89eGxMJN6uvrF2exOHJYk+Wmwvso8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kustomize-sops";
|
||||
version = "3.0.1";
|
||||
version = "3.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "viaduct-ai";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ZCEgv+2WC1XLDFdRtigkiWu81zLMHvmB8vvIBWN2UYY=";
|
||||
sha256 = "sha256-6mLfMbYbdsjWHpfUHP3Q5nsqdMXo/82+A9PV8xWZBM0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-LFa0s2FBkw97P0CV+9JBmUAjaKVO+RzCX+iWGPUD9iA=";
|
||||
vendorSha256 = "sha256-aRS+MwME72qIMyhnnIRqmrx5hcQ1V0pLIBJqSoR+Fkk=";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "shellharden";
|
||||
version = "4.1.3";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anordal";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "04pgmkaqjb1lmlwjjipcrqh9qcyjjkr39vi3h5fl9sr71c8g7dnd";
|
||||
sha256 = "081b51h88hhyzn9vb9pcszz1wfdj73xwsyfn2ygz708kabzqpvdl";
|
||||
};
|
||||
|
||||
cargoSha256 = "0bjqgw49msl288yfa7bl31bfa9kdy4zh1q3j0lyw4vvkv2r14pf5";
|
||||
cargoSha256 = "1gwlmds417szwvywvm19wv60a83inp52sf46sd05x5vahb8gv8hg";
|
||||
|
||||
postPatch = "patchShebangs moduletests/run";
|
||||
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "symfony-cli";
|
||||
version = "5.4.1";
|
||||
version = "5.4.2";
|
||||
vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "symfony-cli";
|
||||
repo = "symfony-cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-92Pth+IrILWkcP4mm3IcSN4+zs7TNg4CPGT2liop7/I=";
|
||||
sha256 = "sha256-Ci523YoocpCexbXMg3PjQ/x8z/STWt+nro64l+ckKzM=";
|
||||
};
|
||||
|
||||
# Tests requires network access
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tokio-console";
|
||||
version = "0.1.0";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tokio-rs";
|
||||
repo = "console";
|
||||
rev = "tokio-console-v${version}";
|
||||
sha256 = "sha256-1wxRTdDmgTlGJ3W1txDA/3Rnccs3KBw55vprrGaVnkg=";
|
||||
sha256 = "sha256-v9BxfBLRJug/1AgvDV7P5AOXwZfCu1mNgJjhbipoZNg=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-RScu5V55OowwWHi3MLjW8DPlTMA/IEBYFt4VUDUHPKo=";
|
||||
cargoSha256 = "sha256-584EC9x7tJE3pHqgQVh6LWKuCgLXuBBEnaPvo1A8RIs=";
|
||||
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "vendir";
|
||||
version = "0.24.0";
|
||||
version = "0.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vmware-tanzu";
|
||||
repo = "carvel-vendir";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-3l0ezObZK/QEmpBlqSm3R3e4pFM7KUnsxDrzvEYExnk=";
|
||||
sha256 = "sha256-a/fftMJuN6YnjPP0Gk6bMckoCouwgtxhf23OuyLR5Tk=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
102
pkgs/misc/logging/pacemaker/default.nix
Normal file
102
pkgs/misc/logging/pacemaker/default.nix
Normal file
|
@ -0,0 +1,102 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, autoconf
|
||||
, automake
|
||||
, bash
|
||||
, bzip2
|
||||
, corosync
|
||||
, dbus
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, gnutls
|
||||
, libqb
|
||||
, libtool
|
||||
, libuuid
|
||||
, libxml2
|
||||
, libxslt
|
||||
, pam
|
||||
, pkg-config
|
||||
, python3
|
||||
, nixosTests
|
||||
|
||||
# Pacemaker is compiled twice, once with forOCF = true to extract its
|
||||
# OCF definitions for use in the ocf-resource-agents derivation, then
|
||||
# again with forOCF = false, where the ocf-resource-agents is provided
|
||||
# as the OCF_ROOT.
|
||||
, forOCF ? false
|
||||
, ocf-resource-agents
|
||||
} :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pacemaker";
|
||||
version = "2.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ClusterLabs";
|
||||
repo = pname;
|
||||
rev = "Pacemaker-${version}";
|
||||
sha256 = "1w7vq3lmgcz38pfww9vccm142vjsjqz3qc9nnk09ynkx4agqhxdg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash
|
||||
bzip2
|
||||
corosync
|
||||
dbus.dev
|
||||
glib
|
||||
gnutls
|
||||
libqb
|
||||
libuuid
|
||||
libxml2.dev
|
||||
libxslt.dev
|
||||
pam
|
||||
python3
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh --prefix="$out"
|
||||
'';
|
||||
configureFlags = [
|
||||
"--exec-prefix=${placeholder "out"}"
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--with-initdir=/etc/systemd/system"
|
||||
"--with-systemdsystemunitdir=/etc/systemd/system"
|
||||
"--with-corosync"
|
||||
# allows Type=notify in the systemd service
|
||||
"--enable-systemd"
|
||||
] ++ lib.optional (!forOCF) "--with-ocfdir=${ocf-resource-agents}/usr/lib/ocf";
|
||||
|
||||
installFlags = [ "DESTDIR=${placeholder "out"}" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
|
||||
"-Wno-error=strict-prototypes"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
# pacemaker's install linking requires a weirdly nested hierarchy
|
||||
mv $out$out/* $out
|
||||
rm -r $out/nix
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) pacemaker;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://clusterlabs.org/pacemaker/";
|
||||
description = "Pacemaker is an open source, high availability resource manager suitable for both small and large clusters.";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ryantm astro ];
|
||||
};
|
||||
}
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xlockmore";
|
||||
version = "5.68";
|
||||
version = "5.69";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
|
||||
sha256 = "sha256-MHMf3LID8W61wcQ8BdQuRSrQ60VVyXxVVmpuyxh3zW4=";
|
||||
sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k=";
|
||||
curlOpts = "--user-agent 'Mozilla/5.0'";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# This combines together OCF definitions from other derivations.
|
||||
# https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc
|
||||
{ stdenv
|
||||
, lib
|
||||
, runCommand
|
||||
|
@ -8,12 +10,16 @@
|
|||
, python3
|
||||
, glib
|
||||
, drbd
|
||||
, pacemaker
|
||||
}:
|
||||
|
||||
let
|
||||
drbdForOCF = drbd.override {
|
||||
forOCF = true;
|
||||
};
|
||||
pacemakerForOCF = pacemaker.override {
|
||||
forOCF = true;
|
||||
};
|
||||
|
||||
resource-agentsForOCF = stdenv.mkDerivation rec {
|
||||
pname = "resource-agents";
|
||||
|
@ -53,4 +59,5 @@ runCommand "ocf-resource-agents" {} ''
|
|||
mkdir -p $out/usr/lib/ocf
|
||||
${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf
|
||||
${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf
|
||||
${lndir}/bin/lndir -silent "${pacemakerForOCF}/usr/lib/ocf/" $out/usr/lib/ocf
|
||||
''
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, pkg-config, kronosnet, nss, nspr, libqb
|
||||
, dbus, rdma-core, libstatgrab, net-snmp
|
||||
, systemd, dbus, rdma-core, libstatgrab, net-snmp
|
||||
, enableDbus ? false
|
||||
, enableInfiniBandRdma ? false
|
||||
, enableMonitoring ? false
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ makeWrapper pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
kronosnet nss nspr libqb
|
||||
kronosnet nss nspr libqb systemd.dev
|
||||
] ++ optional enableDbus dbus
|
||||
++ optional enableInfiniBandRdma rdma-core
|
||||
++ optional enableMonitoring libstatgrab
|
||||
|
@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
|
|||
"--with-logdir=/var/log/corosync"
|
||||
"--enable-watchdog"
|
||||
"--enable-qdevices"
|
||||
# allows Type=notify in the systemd service
|
||||
"--enable-systemd"
|
||||
] ++ optional enableDbus "--enable-dbus"
|
||||
++ optional enableInfiniBandRdma "--enable-rdma"
|
||||
++ optional enableMonitoring "--enable-monitoring"
|
||||
|
@ -63,6 +65,10 @@ stdenv.mkDerivation rec {
|
|||
--prefix PATH ":" "$out/sbin:${libqb}/sbin"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) pacemaker;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "http://corosync.org/";
|
||||
description = "A Group Communication System with features for implementing high availability within applications";
|
||||
|
|
|
@ -24,14 +24,14 @@ let
|
|||
]);
|
||||
path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "3.5.1";
|
||||
version = "3.5.2";
|
||||
pname = "sabnzbd";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-/HakjY0/oGq3lt0kM5p9n3sZ4g/UDtUNyXNpl9zTFl8=";
|
||||
sha256 = "sha256-dGmZxnrxuUj6HwFI5QkSy9FnGYQpsNPFbUKXoJWpDfM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
with lib;
|
||||
|
||||
|
||||
let
|
||||
luaEnv = lua.withPackages(p: with p; [
|
||||
luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3
|
||||
|
@ -22,7 +21,7 @@ let
|
|||
);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.11.12"; # also update communityModules
|
||||
version = "0.11.13"; # also update communityModules
|
||||
pname = "prosody";
|
||||
# The following community modules are necessary for the nixos module
|
||||
# prosody module to comply with XEP-0423 and provide a working
|
||||
|
@ -36,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
src = fetchurl {
|
||||
url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
|
||||
sha256 = "03an206bl3h2lqcgv1wfvc2bqjq6m9vjb2idw0vyvczm43c55kan";
|
||||
sha256 = "sha256-OcYbNGoJtRJbYEy5aeFCBsu8uGyBFW/8a6LWJSfPBDI=";
|
||||
};
|
||||
|
||||
# A note to all those merging automated updates: Please also update this
|
||||
|
@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
|
|||
# version.
|
||||
communityModules = fetchhg {
|
||||
url = "https://hg.prosody.im/prosody-modules";
|
||||
rev = "bd0a1f917d98";
|
||||
sha256 = "0figx0b0y5zfk5anf16h20y4crjmpb6bkg30vl7p0m594qnyqjcx";
|
||||
rev = "54fa2116bbf3";
|
||||
sha256 = "sha256-OKZ7tD75q8/GMXruUQ+r9l0BxzdbPHNf41fZ3fHVQVw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
|
|||
]
|
||||
++ withExtraLibs;
|
||||
|
||||
|
||||
configureFlags = [
|
||||
"--ostype=linux"
|
||||
"--with-lua-include=${luaEnv}/include"
|
||||
|
@ -89,9 +87,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
passthru = {
|
||||
communityModules = withCommunityModules;
|
||||
tests = {
|
||||
main = nixosTests.prosody;
|
||||
};
|
||||
tests = { inherit (nixosTests) prosody prosody-mysql; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "hilbish";
|
||||
version = "1.0.2";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rosettea";
|
||||
repo = "Hilbish";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-BsN2v6OEWOtk8ENKr5G+lSmNIUA89VfpO+QQoBizx9g=";
|
||||
sha256 = "sha256-JVAyE6iSfRres2YalQF3CWK5Jtn5HoW6p6RHVbwzoVQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
pname = "exoscale-cli";
|
||||
version = "1.51.1";
|
||||
version = "1.51.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exoscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NU4xJTW0KCi8PZAY4cRJijGHCZEn5Z41xNF7+iH01oo=";
|
||||
sha256 = "sha256-Nx9lASZOEetkADVEs2JxPRi9SCrb4SLnEpLpzcpp/Is=";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/exoscale/cli";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "syft";
|
||||
version = "0.41.1";
|
||||
version = "0.41.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anchore";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6ltEC9LCuE4Rj4TlBwsDI45L92XMuCbEuMDkOk8OkZo=";
|
||||
sha256 = "sha256-QRT5wvud9VMtXQ8QPC7joIMq7kYYlfVUSgzqMFW5LIE=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -22,7 +22,7 @@ buildGoModule rec {
|
|||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||
'';
|
||||
};
|
||||
vendorSha256 = "sha256-13PcAQlHPaQ1n7OiRSEW5H3rDXgUAmKAQGqQM31iyR8=";
|
||||
vendorSha256 = "sha256-9/Mtjqny68HN4FItT2+yoknzdHBAS1aQL0VkTdm6624=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib, stdenv
|
||||
, substituteAll
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, gettext
|
||||
|
@ -9,12 +10,14 @@
|
|||
, vala
|
||||
, wrapGAppsHook
|
||||
, dbus
|
||||
, systemd
|
||||
, dconf ? null
|
||||
, glib
|
||||
, gdk-pixbuf
|
||||
, gobject-introspection
|
||||
, gtk2
|
||||
, gtk3
|
||||
, gtk4
|
||||
, gtk-doc
|
||||
, runCommand
|
||||
, isocodes
|
||||
|
@ -60,16 +63,22 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ibus";
|
||||
version = "1.5.24";
|
||||
version = "1.5.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ibus";
|
||||
repo = "ibus";
|
||||
rev = version;
|
||||
sha256 = "sha256-1qx06MlEUjSS067FdQG1Bdi4ZAh3hPcNjUX5PIiC3Sk=";
|
||||
sha256 = "7Vuj4Gyd+dLUoCkR4SPkfGPwVQPRo2pHk0pRAsmtjxc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fixes systemd unit installation path https://github.com/ibus/ibus/pull/2388
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ibus/ibus/commit/33b4b3932bfea476a841f8df99e20049b83f4b0e.patch";
|
||||
sha256 = "kh8SBR+cqsov/B0A2YXLJVq1F171qoSRUKbBPHjPRHI=";
|
||||
})
|
||||
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
pythonInterpreter = python3Runtime.interpreter;
|
||||
|
@ -94,6 +103,7 @@ stdenv.mkDerivation rec {
|
|||
(enableFeature enablePython2Library "python-library")
|
||||
(enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
|
||||
(enableFeature enableUI "ui")
|
||||
"--enable-gtk4"
|
||||
"--enable-install-tests"
|
||||
"--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
|
||||
"--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
|
||||
|
@ -123,12 +133,14 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
dbus
|
||||
systemd
|
||||
dconf
|
||||
gdk-pixbuf
|
||||
gobject-introspection
|
||||
python3.pkgs.pygobject3 # for pygobject overrides
|
||||
gtk2
|
||||
gtk3
|
||||
gtk4
|
||||
isocodes
|
||||
json-glib
|
||||
libnotify
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index a3cdb2da..cade9466 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -429,11 +429,11 @@
|
||||
@@ -469,11 +469,11 @@ PKG_CHECK_EXISTS([pygobject-3.0 >= $PYGOBJECT_REQUIRED],
|
||||
if test "x$enable_pygobject" = "xyes"; then
|
||||
PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED])
|
||||
|
||||
|
@ -14,7 +16,7 @@
|
|||
AC_SUBST(py2overridesdir)
|
||||
fi
|
||||
fi
|
||||
@@ -462,7 +462,7 @@
|
||||
@@ -502,7 +502,7 @@ if test x"$enable_python_library" = x"yes"; then
|
||||
PYTHON2_VERSION=`$PYTHON2 -c "import sys; sys.stdout.write(sys.version[[:3]])"`
|
||||
PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION"
|
||||
python2dir="$PYTHON2_LIBDIR/site-packages"
|
||||
|
@ -23,9 +25,11 @@
|
|||
AC_SUBST(pkgpython2dir)
|
||||
else
|
||||
enable_python_library="no (disabled, use --enable-python-library to enable)"
|
||||
diff --git a/data/dconf/Makefile.am b/data/dconf/Makefile.am
|
||||
index 5360f033..6d5e726f 100644
|
||||
--- a/data/dconf/Makefile.am
|
||||
+++ b/data/dconf/Makefile.am
|
||||
@@ -50,7 +50,7 @@
|
||||
@@ -50,7 +50,7 @@ man_5dir = $(mandir)/man5
|
||||
|
||||
install-data-hook:
|
||||
if test -z "$(DESTDIR)"; then \
|
||||
|
@ -34,12 +38,14 @@
|
|||
fi
|
||||
|
||||
EXTRA_DIST = \
|
||||
diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in
|
||||
index 474ce8a8..ee30808e 100644
|
||||
--- a/setup/ibus-setup.in
|
||||
+++ b/setup/ibus-setup.in
|
||||
@@ -27,5 +27,5 @@
|
||||
@@ -27,5 +27,5 @@ export IBUS_PREFIX=@prefix@
|
||||
export IBUS_DATAROOTDIR=@datarootdir@
|
||||
export IBUS_LOCALEDIR=@localedir@
|
||||
export IBUS_LIBEXECDIR=${libexecdir}
|
||||
-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
|
||||
+exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@
|
||||
-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py "$@"
|
||||
+exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py "$@"
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "goreleaser";
|
||||
version = "1.6.1";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goreleaser";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MnsIm8E6CR5tEB6Oq35fJKQiPJfqP86/hp0t6lqJ0JE=";
|
||||
sha256 = "sha256-ZNE+DfQdIlxA6sXMI8DAIQ3x+kcgXoGApUuoPncRfpc=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Kwa2hzsuw3BNLubcqd7Vmpg49P78Yjt3LboLotoGWYM=";
|
||||
|
|
20
pkgs/tools/misc/license-generator/default.nix
Normal file
20
pkgs/tools/misc/license-generator/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ lib, fetchCrate, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "license-generator";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-ZVhsbaJJ9WBcQPx2yikIAQJeBXwC6ZAJkfCRmokNV3I=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Yh9q/aYHXUF2eIFpJ7ccgeyIO5mQMgRDCNr+ZyS166Y=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line tool for generating license files";
|
||||
homepage = "https://github.com/azu/license-generator";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ loicreynier ];
|
||||
};
|
||||
}
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "steampipe";
|
||||
version = "0.12.2";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "turbot";
|
||||
repo = "steampipe";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xLw3y9DYkei0MoErsMpSDhEK73lK9b13st+DqHvvhys=";
|
||||
sha256 = "sha256-+QtZmrPE3R98UVSwrC8xoehNKwd0Exg+AZ2BJxBIrfY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-hqjjwYBVnuw7Bt2901tPIkfvYLy955IdeMbeSWTjtL0=";
|
||||
vendorSha256 = "sha256-rRp8pR2cpW88o0KPwuvgSkE263S5oGK/4df4CQSOlRo=";
|
||||
proxyVendor = true;
|
||||
|
||||
# tests are failing for no obvious reasons
|
||||
|
|
|
@ -70,13 +70,13 @@ buildPythonPackage rec {
|
|||
homepage = "https://ytdl-org.github.io/youtube-dl/";
|
||||
description = "Command-line tool to download videos from YouTube.com and other sites";
|
||||
longDescription = ''
|
||||
youtube-dl is a small, Python-based command-line program
|
||||
to download videos from YouTube.com and a few more sites.
|
||||
youtube-dl is released to the public domain, which means
|
||||
you can modify it, redistribute it or use it however you like.
|
||||
youtube-dl is a small, Python-based command-line program to download
|
||||
videos from YouTube.com and a few more sites. youtube-dl is released to
|
||||
the public domain, which means you can modify it, redistribute it or use
|
||||
it however you like.
|
||||
'';
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ bluescreen303 fpletz ma27 ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
maintainers = with maintainers; [ bluescreen303 AndersonTorres fpletz ma27 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ globin ];
|
||||
platforms = platforms.unix;
|
||||
badPlatforms = platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "disnixos";
|
||||
version = "0.9.2";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/svanderburg/disnixos/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0zcghb9nm911bfwpzcgj4ga2cndxbzp5pmrxff711qydrwgy7sg7";
|
||||
sha256 = "0nm7g184xh6xzjz4a40a7kgfnpmq043x6v0cynpffa6wd9jv89s9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, stdenv, fetchurl, netcat
|
||||
|
||||
# Optional packages
|
||||
, systemd ? null, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null
|
||||
, systemd ? null, ejabberd ? null, mariadb ? null, postgresql ? null, subversion ? null
|
||||
, mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null
|
||||
, nginx ? null, s6-rc ? null, xinetd ? null
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
, getopt
|
||||
}:
|
||||
|
||||
assert enableMySQLDatabase -> mysql != null;
|
||||
assert enableMySQLDatabase -> mariadb != null;
|
||||
assert enablePostgreSQLDatabase -> postgresql != null;
|
||||
assert enableSubversionRepository -> subversion != null;
|
||||
assert enableEjabberdDump -> ejabberd != null;
|
||||
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [ getopt netcat ]
|
||||
++ lib.optional stdenv.isLinux systemd
|
||||
++ lib.optional enableEjabberdDump ejabberd
|
||||
++ lib.optional enableMySQLDatabase mysql.out
|
||||
++ lib.optional enableMySQLDatabase mariadb.out
|
||||
++ lib.optional enablePostgreSQLDatabase postgresql
|
||||
++ lib.optional enableSubversionRepository subversion
|
||||
++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ]
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
rustPlatform.buildRustPackage rec {
|
||||
# Renaming it to amber-secret because another package named amber exists
|
||||
pname = "amber-secret";
|
||||
version = "0.1.2";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fpco";
|
||||
repo = "amber";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+vipQl/HWoYnOPkQLjeIedpnnqPVYaUWhks9eCgMOxQ=";
|
||||
sha256 = "sha256-kPDNTwsfI+8nOgsLv2aONrLGSRZhw5YzNntJ2tbE0oI=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xWEQvCyd8auE0q9rBt9iDgU8Dscf4pq/gsAINH2eQY4=";
|
||||
cargoSha256 = "sha256-fTdTgbeOQXEpLHq9tHiPLkttvaxS/WJ86h3jRdrfbJM=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libtpms";
|
||||
version = "0.9.2";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stefanberger";
|
||||
repo = "libtpms";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-sfAmyx9MgzCVA1Da7hl6/sKxhS9ptaNLeSB8wmJIKDs=";
|
||||
sha256 = "sha256-ih154MtLWBUdo7+ugu6tg5O/XSjlgFC00wgWC71VeaE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "difftastic";
|
||||
version = "0.19.0";
|
||||
version = "0.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wilfred";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-pZyQnPIdyS8XkzP9KwGKRjF21YWGgCVNeQSie9g5NcE=";
|
||||
sha256 = "sha256-VV4nCR+BGly+EdCkyI4KeS0Zmn6NkfRsMs//0Sj3E20=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-VXbCrhoGF6bCzQ02Y1LQkbEVrmIfDIKFWF9vx43tt94=";
|
||||
cargoSha256 = "sha256-MyCi5PuUs9MJArDFaBgjjBInYJAS/SAPe1iNTs9feLY=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A syntax-aware diff";
|
||||
|
|
|
@ -1089,6 +1089,8 @@ with pkgs;
|
|||
|
||||
ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
|
||||
|
||||
license-generator = callPackage ../tools/misc/license-generator { };
|
||||
|
||||
linux-router = callPackage ../tools/networking/linux-router { };
|
||||
|
||||
linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };
|
||||
|
@ -9194,6 +9196,8 @@ with pkgs;
|
|||
|
||||
pydf = callPackage ../applications/misc/pydf { };
|
||||
|
||||
pyinfra = with python3Packages; toPythonApplication pyinfra;
|
||||
|
||||
pympress = callPackage ../applications/office/pympress { };
|
||||
|
||||
pyspread = libsForQt5.callPackage ../applications/office/pyspread { };
|
||||
|
@ -19564,6 +19568,8 @@ with pkgs;
|
|||
osinfo-db = callPackage ../data/misc/osinfo-db { };
|
||||
osinfo-db-tools = callPackage ../tools/misc/osinfo-db-tools { };
|
||||
|
||||
pacemaker = callPackage ../misc/logging/pacemaker { };
|
||||
|
||||
p11-kit = callPackage ../development/libraries/p11-kit { };
|
||||
|
||||
paperkey = callPackage ../tools/security/paperkey { };
|
||||
|
@ -27698,6 +27704,7 @@ with pkgs;
|
|||
simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {};
|
||||
sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {};
|
||||
thumbnail = callPackage ../applications/video/mpv/scripts/thumbnail.nix { };
|
||||
vr-reversal = callPackage ../applications/video/mpv/scripts/vr-reversal.nix {};
|
||||
youtube-quality = callPackage ../applications/video/mpv/scripts/youtube-quality.nix { };
|
||||
cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { };
|
||||
};
|
||||
|
@ -32620,6 +32627,8 @@ with pkgs;
|
|||
|
||||
monosat = callPackage ../applications/science/logic/monosat {};
|
||||
|
||||
nuXmv = callPackage ../applications/science/logic/nuXmv {};
|
||||
|
||||
opensmt = callPackage ../applications/science/logic/opensmt { };
|
||||
|
||||
ott = callPackage ../applications/science/logic/ott { };
|
||||
|
@ -33729,7 +33738,9 @@ with pkgs;
|
|||
|
||||
disnixos = callPackage ../tools/package-management/disnix/disnixos { };
|
||||
|
||||
DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { };
|
||||
DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService {
|
||||
jdk = jdk8;
|
||||
};
|
||||
|
||||
i3a = callPackage ../misc/i3a { };
|
||||
|
||||
|
|
|
@ -8279,6 +8279,8 @@ in {
|
|||
|
||||
pyeverlights = callPackage ../development/python-modules/pyeverlights { };
|
||||
|
||||
pyinfra = callPackage ../development/python-modules/pyinfra { };
|
||||
|
||||
pytibber = callPackage ../development/python-modules/pytibber { };
|
||||
|
||||
pytile = callPackage ../development/python-modules/pytile { };
|
||||
|
|
Loading…
Reference in a new issue