Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-03-16 00:02:06 +00:00 committed by GitHub
commit 78f855f796
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
76 changed files with 915 additions and 166 deletions

View file

@ -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";

View file

@ -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">

View file

@ -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}

View file

@ -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

View file

@ -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

View 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}"
'';
};
}

View 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";
};
};
};
}

View file

@ -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

View file

@ -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
View 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!")
'';
})

View 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")
'';
}

View file

@ -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"')

View file

@ -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;
};

View file

@ -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 .";

View file

@ -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;

View file

@ -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

View file

@ -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";

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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

View file

@ -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 = ''

View file

@ -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;
};

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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 = [

View 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" ];
};
}

View file

@ -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;

View file

@ -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 ];

View file

@ -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 =

View 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 ];
};
}

View file

@ -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 ];

View file

@ -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 ];

View file

@ -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

View 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*}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)" ];

View file

@ -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" ];

View file

@ -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 ];

View file

@ -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";

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 = [

View 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;
};
}

View file

@ -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 = ''

View file

@ -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";

View file

@ -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=";

View file

@ -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/

View file

@ -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";

View file

@ -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

View file

@ -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 ];

View file

@ -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;

View 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 ];
};
}

View file

@ -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'";
};

View file

@ -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
''

View file

@ -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";

View file

@ -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 ];

View file

@ -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 = {

View file

@ -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;
};

View file

@ -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";

View file

@ -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 ];

View file

@ -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

View file

@ -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 "$@"

View file

@ -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=";

View 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 ];
};
}

View file

@ -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

View file

@ -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 ];
};
}

View file

@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
maintainers = with maintainers; [ globin ];
platforms = platforms.unix;
badPlatforms = platforms.darwin;
};
}

View file

@ -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 ];

View file

@ -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 ]

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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";

View file

@ -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 { };

View file

@ -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 { };