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; githubId = 918448;
name = "Anthony Lodi"; name = "Anthony Lodi";
}; };
loicreynier = {
email = "loic@loireynier.fr";
github = "loicreynier";
githubId = 88983487;
name = "Loïc Reynier";
};
lopsided98 = { lopsided98 = {
email = "benwolsieffer@gmail.com"; email = "benwolsieffer@gmail.com";
github = "lopsided98"; github = "lopsided98";

View file

@ -306,6 +306,12 @@
with many features. with many features.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<link xlink:href="https://clusterlabs.org/pacemaker/">pacemaker</link>
cluster resource manager
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-22.05-incompatibilities"> <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. - [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. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-22.05-incompatibilities} ## Backward Incompatibilities {#sec-release-22.05-incompatibilities}

View file

@ -302,6 +302,7 @@
./services/backup/znapzend.nix ./services/backup/znapzend.nix
./services/blockchain/ethereum/geth.nix ./services/blockchain/ethereum/geth.nix
./services/backup/zrepl.nix ./services/backup/zrepl.nix
./services/cluster/corosync/default.nix
./services/cluster/hadoop/default.nix ./services/cluster/hadoop/default.nix
./services/cluster/k3s/default.nix ./services/cluster/k3s/default.nix
./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/addons/dns.nix
@ -314,6 +315,7 @@
./services/cluster/kubernetes/pki.nix ./services/cluster/kubernetes/pki.nix
./services/cluster/kubernetes/proxy.nix ./services/cluster/kubernetes/proxy.nix
./services/cluster/kubernetes/scheduler.nix ./services/cluster/kubernetes/scheduler.nix
./services/cluster/pacemaker/default.nix
./services/cluster/spark/default.nix ./services/cluster/spark/default.nix
./services/computing/boinc/client.nix ./services/computing/boinc/client.nix
./services/computing/foldingathome/client.nix ./services/computing/foldingathome/client.nix

View file

@ -40,13 +40,15 @@ in
KDEDIRS = [ "" ]; KDEDIRS = [ "" ];
QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ]; QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ];
QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/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_CONFIG_DIRS = [ "/etc/xdg" ];
XDG_DATA_DIRS = [ "/share" ]; XDG_DATA_DIRS = [ "/share" ];
MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ]; MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ];
LIBEXEC_PATH = [ "/lib/libexec" ]; LIBEXEC_PATH = [ "/lib/libexec" ];
}; };
environment.pathsToLink = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ];
environment.extraInit = environment.extraInit =
'' ''
unset ASPELL_CONF 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" ]; #InaccessiblePaths = [ "-+${runDir}/root" ];
UMask = "0066"; UMask = "0066";
BindPaths = [ stateDir ]; 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"; AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
# ProtectClock= adds DeviceAllow=char-rtc r # ProtectClock= adds DeviceAllow=char-rtc r

View file

@ -384,6 +384,7 @@ in
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
osrm-backend = handleTest ./osrm-backend.nix {}; osrm-backend = handleTest ./osrm-backend.nix {};
overlayfs = handleTest ./overlayfs.nix {}; overlayfs = handleTest ./overlayfs.nix {};
pacemaker = handleTest ./pacemaker.nix {};
packagekit = handleTest ./packagekit.nix {}; packagekit = handleTest ./packagekit.nix {};
pam-file-contents = handleTest ./pam/pam-file-contents.nix {}; pam-file-contents = handleTest ./pam/pam-file-contents.nix {};
pam-oath-login = handleTest ./pam/pam-oath-login.nix {}; pam-oath-login = handleTest ./pam/pam-oath-login.nix {};
@ -433,6 +434,7 @@ in
prometheus = handleTest ./prometheus.nix {}; prometheus = handleTest ./prometheus.nix {};
prometheus-exporters = handleTest ./prometheus-exporters.nix {}; prometheus-exporters = handleTest ./prometheus-exporters.nix {};
prosody = handleTest ./xmpp/prosody.nix {}; prosody = handleTest ./xmpp/prosody.nix {};
prosody-mysql = handleTest ./xmpp/prosody-mysql.nix {};
proxy = handleTest ./proxy.nix {}; proxy = handleTest ./proxy.nix {};
prowlarr = handleTest ./prowlarr.nix {}; prowlarr = handleTest ./prowlarr.nix {};
pt2-clone = handleTest ./pt2-clone.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, ... }: '' testScript = { nodes, ... }: ''
# Check with sqlite storage
server.wait_for_unit("prosody.service") server.wait_for_unit("prosody.service")
server.succeed('prosodyctl status | grep "Prosody is running"') server.succeed('prosodyctl status | grep "Prosody is running"')

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dolphin-emu"; pname = "dolphin-emu";
version = "5.0-15993"; version = "5.0-16101";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dolphin-emu"; owner = "dolphin-emu";
repo = "dolphin"; repo = "dolphin";
rev = "5e595616379a694789fe749e40a27ef069f0090e"; rev = "8ecfa537a242de74d2e372e30d9d79b14584b2fb";
sha256 = "1kid8qjn8r7dxh2yc1y6yal6qkfxij0ymi3zryxsnym3rjh1jds9"; sha256 = "3jLGVzTDzEtHWvIb9DFTbJiA9dE9Pm14vYER998Zln0=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -50,11 +50,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "opera"; pname = "opera";
version = "84.0.4316.21"; version = "84.0.4316.31";
src = fetchurl { src = fetchurl {
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb"; url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
sha256 = "sha256-CEKUd2QlZQJbpBO1t4oKmyd+uhPiCOY+eXtSrZf75e4="; sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY=";
}; };
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";

View file

@ -19,16 +19,16 @@ let
in in
buildGoModule rec { buildGoModule rec {
pname = "argo"; pname = "argo";
version = "3.2.9"; version = "3.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "argoproj"; owner = "argoproj";
repo = "argo"; repo = "argo";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-lZ6FjWXhVc51BlioDSryeYe5aZeUhMMEde+kk2SwV20="; sha256 = "sha256-BDHbbb3WqQvRJB1A4NInfvujjB3r/AMmVvos8i/CnyU=";
}; };
vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8="; vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0=";
doCheck = false; doCheck = false;

View file

@ -1,16 +1,16 @@
{ buildGoModule, lib, fetchFromGitHub }: { buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec { buildGoModule rec {
pname = "tfswitch"; pname = "tfswitch";
version = "0.13.1201"; version = "0.13.1218";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "warrensbox"; owner = "warrensbox";
repo = "terraform-switcher"; repo = "terraform-switcher";
rev = version; 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 # Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com # presence of release.hashicorp.com

View file

@ -1,13 +1,13 @@
{ buildGoPackage, lib, fetchFromGitHub }: { buildGoPackage, lib, fetchFromGitHub }:
buildGoPackage rec { buildGoPackage rec {
pname = "tgswitch"; pname = "tgswitch";
version = "0.5.382"; version = "0.5.389";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "warrensbox"; owner = "warrensbox";
repo = "tgswitch"; repo = "tgswitch";
rev = version; rev = version;
sha256 = "sha256-DbPf1o1XlXLpuYSrNMRwHRqi/urQhSfzPW5BPIvZC/Y="; sha256 = "sha256-6hErfI7LEJFgOoJR8IF9jTSBwqbQYeGiwdeJShqxVQ0=";
}; };
goPackagePath = "github.com/warrensbox/tgswitch"; goPackagePath = "github.com/warrensbox/tgswitch";

View file

@ -11,15 +11,15 @@
buildGoModule rec { buildGoModule rec {
pname = "werf"; pname = "werf";
version = "1.2.73"; version = "1.2.74";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "werf"; owner = "werf";
repo = "werf"; repo = "werf";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-E16p40Pmr9o2946XlO3TUE/xUueG0NBWux23MgAVLlI="; sha256 = "sha256-Mfgvl6ljmYn9Vu/tWS0JAuH1pzQZ4zoD5+5ejUJF/Lg=";
}; };
vendorSha256 = "sha256-NHeUj1JWRqElY2BpQ+7ANqwlOYQ5H2R00LGqktcsoF4="; vendorSha256 = "sha256-MsIbuwsb0sKEh3Z7ArtG/8SWFPaXLu+TGNruhsHhtb4=";
proxyVendor = true; proxyVendor = true;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "alfaview"; pname = "alfaview";
version = "8.37.0"; version = "8.40.0";
src = fetchurl { src = fetchurl {
url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb"; url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
sha256 = "sha256-hU4tqDu95ej8ChiWJq3ZPhEwxBcmTQkA/n///pPVa5U="; sha256 = "sha256-meiIDIG7OXxF2aclHA/8FN8aSz5KWJliDbm2p/flD4k=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signalbackup-tools"; pname = "signalbackup-tools";
version = "20220303"; version = "20220314";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bepaald"; owner = "bepaald";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-3fT9cHosg/A/JowIARQ46OxmsQWFOBb7tIiRWVNfUo4="; sha256 = "sha256-E3gH4Ym2tmH9qmbfKWybgO6qUW2rpJQyhBh6LPpfFHE=";
}; };
# Remove when Apple SDK is >= 10.13 # Remove when Apple SDK is >= 10.13

View file

@ -70,7 +70,7 @@ let
in in
env.mkDerivation rec { env.mkDerivation rec {
pname = "telegram-desktop"; pname = "telegram-desktop";
version = "3.5.2"; version = "3.6.0";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
# Telegram-Desktop with submodules # Telegram-Desktop with submodules
@ -79,7 +79,7 @@ env.mkDerivation rec {
repo = "tdesktop"; repo = "tdesktop";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "05324xvb00yz2jfigyy7izk8wnq8phm3sidw62kf7xqyh63qnrzh"; sha256 = "0zcjm08nfdlxrsv0fi6dqg3lk52bcvsxnsf6jm5fv6gf5v9ia3hq";
}; };
postPatch = '' postPatch = ''

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "tg_owt"; pname = "tg_owt";
version = "unstable-2022-02-09"; version = "unstable-2022-02-25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "desktop-app"; owner = "desktop-app";
repo = "tg_owt"; repo = "tg_owt";
rev = "4cba1acdd718b700bb33945c0258283689d4eac7"; rev = "a264028ec71d9096e0aa629113c49c25db89d260";
sha256 = "0j201x9k38mvcyhf1wlyghyvdpv1l75xwgj9rl2l7r55afrpw4ca"; sha256 = "10p3x8z3ps8s1ivi9y8px2gsg4pvsvz6g9wbgh5w8hilikxqq7r5";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "remmina"; pname = "remmina";
version = "1.4.24"; version = "1.4.25";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "Remmina"; owner = "Remmina";
repo = "Remmina"; repo = "Remmina";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0="; sha256 = "sha256-1val/KCClEtw1prVWuXJe8DmmQ7e7oqwAfAnT9G9iHI=";
}; };
nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ]; nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "phd2"; pname = "phd2";
version = "2.6.10"; version = "2.6.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OpenPHDGuiding"; owner = "OpenPHDGuiding";
repo = "phd2"; repo = "phd2";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU="; sha256 = "sha256-iautgHOVzdLWYGOVu3wHBDt30uCbaP58mDz/l7buB1k=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "siril"; pname = "siril";
version = "0.99.10.1"; version = "1.0.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "free-astro"; owner = "free-astro";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-gqV+pJNaU+GnYiUo/imofgNdeM+AtDg/pSH7aoqhkYA="; sha256 = "sha256-yqWFEa1fnSwl0ecN9hMI13QCfj0f69CFqTJlEAhTpJI=";
}; };
nativeBuildInputs = [ 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 { stdenv.mkDerivation rec {
pname = "xterm"; pname = "xterm";
version = "371"; version = "372";
src = fetchurl { src = fetchurl {
urls = [ urls = [
"ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
"https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
]; ];
sha256 = "MviIJ3sZ4o68CjESv/AAYHwHvtBnnKoL7rs2+crUhPU="; sha256 = "xtCBJ8skCcOgS8rlWbcCUZbtdwu3vyZjCry0XZX2CrE=";
}; };
strictDeps = true; strictDeps = true;

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "2.5.2"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; 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 ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "f1viewer"; pname = "f1viewer";
version = "2.5.0"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SoMuchForSubtlety"; owner = "SoMuchForSubtlety";
repo = pname; repo = pname;
rev = "v${version}"; 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; { meta = with lib; {
description = 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 { buildGoModule rec {
pname = "lima"; pname = "lima";
version = "0.9.0"; version = "0.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lima-vm"; owner = "lima-vm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-jbWz4HVYR3OEze2fFgG6Tg4p50IL0NStmaa8+GUPkNw="; sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE=";
}; };
vendorSha256 = "sha256-RX8HfeDVvLUX4Ez2ma04gTl+8+lM7WGNSpmFNnf+5Xs="; vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM=";
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -15,16 +15,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "i3status-rust"; pname = "i3status-rust";
version = "0.21.6"; version = "0.21.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "greshake"; owner = "greshake";
repo = pname; repo = pname;
rev = "v${version}"; 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 ]; nativeBuildInputs = [ pkg-config makeWrapper ];

View file

@ -54,9 +54,9 @@ fetchurl ({
"$tmpfile" > "$out" "$tmpfile" > "$out"
if [ ! -s "$out" ]; then 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 "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 cat "$tmpfile" 1>&2
exit 1 exit 1
fi 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 { stdenv.mkDerivation rec {
pname = "4th"; pname = "4th";
version = "3.62.5"; version = "3.64.0";
src = fetchurl { src = fetchurl {
url = "https://sourceforge.net/projects/forth-4th/files/${pname}-${version}/${pname}-${version}-unix.tar.gz"; 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; dontConfigure = true;
makeFlags = [ makeFlags = [
@ -31,9 +36,11 @@ stdenv.mkDerivation rec {
]; ];
meta = with lib; { meta = with lib; {
description = "A portable Forth compiler";
homepage = "https://thebeez.home.xs4all.nl/4tH/index.html"; homepage = "https://thebeez.home.xs4all.nl/4tH/index.html";
license = licenses.lgpl3; description = "A portable Forth compiler";
platforms = platforms.all; 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 gtk2 glib fontconfig freetype unixODBC alsa-lib
]; ];
rpath = "${lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
unpackPhase = '' unpackPhase = ''
sh $src --keep --noexec sh $src --keep --noexec
@ -119,6 +117,12 @@ stdenv.mkDerivation rec {
fi fi
done done
mv pkg/builds/cuda_nvcc/nvvm $out/nvvm 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? rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
@ -184,22 +188,35 @@ stdenv.mkDerivation rec {
done done
''; '';
preFixup = '' preFixup =
while IFS= read -r -d ''$'\0' i; do let rpath = lib.concatStringsSep ":" [
if ! isELF "$i"; then continue; fi (lib.makeLibraryPath (runtimeDependencies ++ [ "$lib" "$out" "$out/nvvm" ]))
echo "patching $i..." "${stdenv.cc.cc.lib}/lib64"
if [[ ! $i =~ \.so ]]; then "$out/jre/lib/amd64/jli"
patchelf \ "$out/lib64"
--set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i "$out/nvvm/lib64"
fi ];
if [[ $i =~ libcudart ]]; then in
patchelf --remove-rpath $i ''
else while IFS= read -r -d $'\0' i; do
rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64 if ! isELF "$i"; then continue; fi
patchelf --set-rpath "$rpath2" --force-rpath $i echo "patching $i..."
fi if [[ ! $i =~ \.so ]]; then
done < <(find $out $lib $doc -type f -print0) 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 # Set RPATH so that libcuda and other libraries in
# /run/opengl-driver(-32)/lib can be found. See the explanation 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. # --force-rpath prevents changing RPATH (set above) to RUNPATH.
postFixup = '' postFixup = ''
addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so 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 # cuda-gdb doesn't run correctly when not using sandboxing, so

View file

@ -54,11 +54,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.18rc1"; version = "1.18";
src = fetchurl { src = fetchurl {
url = "https://go.dev/dl/go${version}.src.tar.gz"; url = "https://go.dev/dl/go${version}.src.tar.gz";
sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g="; sha256 = "sha256-OPQj20zINIg/K1I0QoL6ejn7uTZQ3GKhH98L5kCb2tY=";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View file

@ -6,12 +6,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qbe"; pname = "qbe";
version = "unstable-2021-12-05"; version = "unstable-2022-03-11";
src = fetchgit { src = fetchgit {
url = "git://c9x.me/qbe.git"; url = "git://c9x.me/qbe.git";
rev = "367c8215d99054892740ad74c690b106c45ebf60"; rev = "c7842d84da65bcaf2d3c82aa69fb3ec930c7369f";
sha256 = "sha256-xhTEiFR1RXMHtxmXlRof3O8monXEjstyWP3GClZmMuU="; sha256 = "sha256-fbxeoMJcVltrIGRLdJtxWykGIop8DVzpfrBatXniDPk=";
}; };
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libgbinder"; pname = "libgbinder";
version = "1.1.16"; version = "1.1.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mer-hybris"; owner = "mer-hybris";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ="; sha256 = "sha256-HTmNoTGyFtOXRy7Y/ZnEgTa2GW6/+TeZxZo7c7ksNtc=";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View file

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "stellarsolver"; pname = "stellarsolver";
version = "1.9"; version = "2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rlancaste"; owner = "rlancaste";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw="; sha256 = "sha256-pqTSsey1CgOHiEm/C+7sTl9uGe3RVpL7Rdm04KgY+Z8=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -12,17 +12,20 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "apycula"; pname = "apycula";
version = "0.2a2"; version = "0.2";
format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "Apycula"; pname = "Apycula";
hash = "sha256-pcVoYGBhp9jyuWBJ/Rpi8cjwDgPjhJ1PrPblj5DQTpk="; hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA=";
}; };
nativeBuildInputs = [ setuptools-scm ]; nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [ propagatedBuildInputs = [
numpy numpy
@ -35,7 +38,9 @@ buildPythonPackage rec {
# tests require a physical FPGA # tests require a physical FPGA
doCheck = false; doCheck = false;
pythonImportsCheck = [ "apycula" ]; pythonImportsCheck = [
"apycula"
];
meta = with lib; { meta = with lib; {
description = "Open Source tools for Gowin FPGAs"; description = "Open Source tools for Gowin FPGAs";

View file

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-secret-manager"; pname = "google-cloud-secret-manager";
version = "2.9.1"; version = "2.9.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-apn1ex/2VX18GHgN5+JYurzTKMqzPTNqTNOAI+DEBLw="; sha256 = "sha256-W93SDJR8bUPQX9KzoZ6YvV9kU+Twd9huH09Smap481g=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-storage"; pname = "google-cloud-storage";
version = "2.1.0"; version = "2.2.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0a5e7ab1a38d2c24be8e566e50b8b0daa8af8fd49d4ab312b1fda5c147429893"; sha256 = "sha256-01mWgBE11R20m7j3p+Kc7cwlqotDXu0MTA7y+e5W0dk=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyterlab"; pname = "jupyterlab";
version = "3.3.1"; version = "3.3.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-zkgnmTeccKqH5jtZ4sU3l3nOGGWLkkYM0gu0QVSGWXM="; sha256 = "sha256-PHFr9VkssoxcVcYVxuW9PvxxiY9pV9E3GbVkeLu7WHo=";
}; };
nativeBuildInputs = [ 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 { buildPythonPackage rec {
pname = "thinc"; pname = "thinc";
version = "8.0.13"; version = "8.0.14";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo="; sha256 = "sha256-3MC8ao6BTiDyaCXj/X+DNCTpMYcTWVJFSl0X+sCc5J0=";
}; };
postPatch = '' postPatch = ''

View file

@ -4,13 +4,13 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "litestream"; pname = "litestream";
version = "0.3.7"; version = "0.3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "benbjohnson"; owner = "benbjohnson";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-IEdTLf+fEp19FhwL3IaGT9HGKQoa6HwFox2gf0lvFu4="; sha256 = "sha256-0Yyx8kbpu3T868hI9tJkBIjplAoQDA4XzhraHhOp61Q=";
}; };
ldflags = [ ldflags = [
@ -19,7 +19,7 @@ buildGoModule rec {
"-X main.Version=${version}" "-X main.Version=${version}"
]; ];
vendorSha256 = "sha256-ScG8cukUuChOvN9r0HvVJsYnu1X9DSO7aD32iu55jIM="; vendorSha256 = "sha256-zCz9dki87dpZCo+/KuFzwtv/0TlBcvQDTxTuLN2FiHY=";
meta = with lib; { meta = with lib; {
description = "Streaming replication for SQLite"; description = "Streaming replication for SQLite";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "esbuild"; pname = "esbuild";
version = "0.14.25"; version = "0.14.27";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "evanw"; owner = "evanw";
repo = "esbuild"; repo = "esbuild";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-95xVQU1AWIDvMlWJpB54RxGoOtZtaUlyfmfdcKERe6Y="; sha256 = "sha256-h5PodIFzqD0hJb89eGxMJN6uvrF2exOHJYk+Wmwvso8=";
}; };
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs="; vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kustomize-sops"; pname = "kustomize-sops";
version = "3.0.1"; version = "3.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "viaduct-ai"; owner = "viaduct-ai";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ZCEgv+2WC1XLDFdRtigkiWu81zLMHvmB8vvIBWN2UYY="; sha256 = "sha256-6mLfMbYbdsjWHpfUHP3Q5nsqdMXo/82+A9PV8xWZBM0=";
}; };
vendorSha256 = "sha256-LFa0s2FBkw97P0CV+9JBmUAjaKVO+RzCX+iWGPUD9iA="; vendorSha256 = "sha256-aRS+MwME72qIMyhnnIRqmrx5hcQ1V0pLIBJqSoR+Fkk=";
installPhase = '' installPhase = ''
mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/ mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "shellharden"; pname = "shellharden";
version = "4.1.3"; version = "4.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anordal"; owner = "anordal";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "04pgmkaqjb1lmlwjjipcrqh9qcyjjkr39vi3h5fl9sr71c8g7dnd"; sha256 = "081b51h88hhyzn9vb9pcszz1wfdj73xwsyfn2ygz708kabzqpvdl";
}; };
cargoSha256 = "0bjqgw49msl288yfa7bl31bfa9kdy4zh1q3j0lyw4vvkv2r14pf5"; cargoSha256 = "1gwlmds417szwvywvm19wv60a83inp52sf46sd05x5vahb8gv8hg";
postPatch = "patchShebangs moduletests/run"; postPatch = "patchShebangs moduletests/run";

View file

@ -2,14 +2,14 @@
buildGoModule rec { buildGoModule rec {
pname = "symfony-cli"; pname = "symfony-cli";
version = "5.4.1"; version = "5.4.2";
vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8="; vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8=";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "symfony-cli"; owner = "symfony-cli";
repo = "symfony-cli"; repo = "symfony-cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-92Pth+IrILWkcP4mm3IcSN4+zs7TNg4CPGT2liop7/I="; sha256 = "sha256-Ci523YoocpCexbXMg3PjQ/x8z/STWt+nro64l+ckKzM=";
}; };
# Tests requires network access # Tests requires network access

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "tokio-console"; pname = "tokio-console";
version = "0.1.0"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tokio-rs"; owner = "tokio-rs";
repo = "console"; repo = "console";
rev = "tokio-console-v${version}"; rev = "tokio-console-v${version}";
sha256 = "sha256-1wxRTdDmgTlGJ3W1txDA/3Rnccs3KBw55vprrGaVnkg="; sha256 = "sha256-v9BxfBLRJug/1AgvDV7P5AOXwZfCu1mNgJjhbipoZNg=";
}; };
cargoSha256 = "sha256-RScu5V55OowwWHi3MLjW8DPlTMA/IEBYFt4VUDUHPKo="; cargoSha256 = "sha256-584EC9x7tJE3pHqgQVh6LWKuCgLXuBBEnaPvo1A8RIs=";
nativeBuildInputs = [ protobuf ]; nativeBuildInputs = [ protobuf ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "vendir"; pname = "vendir";
version = "0.24.0"; version = "0.26.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vmware-tanzu"; owner = "vmware-tanzu";
repo = "carvel-vendir"; repo = "carvel-vendir";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3l0ezObZK/QEmpBlqSm3R3e4pFM7KUnsxDrzvEYExnk="; sha256 = "sha256-a/fftMJuN6YnjPP0Gk6bMckoCouwgtxhf23OuyLR5Tk=";
}; };
vendorSha256 = null; 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 { stdenv.mkDerivation rec {
pname = "xlockmore"; pname = "xlockmore";
version = "5.68"; version = "5.69";
src = fetchurl { src = fetchurl {
url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz"; url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
sha256 = "sha256-MHMf3LID8W61wcQ8BdQuRSrQ60VVyXxVVmpuyxh3zW4="; sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k=";
curlOpts = "--user-agent 'Mozilla/5.0'"; 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 { stdenv
, lib , lib
, runCommand , runCommand
@ -8,12 +10,16 @@
, python3 , python3
, glib , glib
, drbd , drbd
, pacemaker
}: }:
let let
drbdForOCF = drbd.override { drbdForOCF = drbd.override {
forOCF = true; forOCF = true;
}; };
pacemakerForOCF = pacemaker.override {
forOCF = true;
};
resource-agentsForOCF = stdenv.mkDerivation rec { resource-agentsForOCF = stdenv.mkDerivation rec {
pname = "resource-agents"; pname = "resource-agents";
@ -53,4 +59,5 @@ runCommand "ocf-resource-agents" {} ''
mkdir -p $out/usr/lib/ocf mkdir -p $out/usr/lib/ocf
${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $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 "${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 { 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 , enableDbus ? false
, enableInfiniBandRdma ? false , enableInfiniBandRdma ? false
, enableMonitoring ? false , enableMonitoring ? false
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper pkg-config ]; nativeBuildInputs = [ makeWrapper pkg-config ];
buildInputs = [ buildInputs = [
kronosnet nss nspr libqb kronosnet nss nspr libqb systemd.dev
] ++ optional enableDbus dbus ] ++ optional enableDbus dbus
++ optional enableInfiniBandRdma rdma-core ++ optional enableInfiniBandRdma rdma-core
++ optional enableMonitoring libstatgrab ++ optional enableMonitoring libstatgrab
@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
"--with-logdir=/var/log/corosync" "--with-logdir=/var/log/corosync"
"--enable-watchdog" "--enable-watchdog"
"--enable-qdevices" "--enable-qdevices"
# allows Type=notify in the systemd service
"--enable-systemd"
] ++ optional enableDbus "--enable-dbus" ] ++ optional enableDbus "--enable-dbus"
++ optional enableInfiniBandRdma "--enable-rdma" ++ optional enableInfiniBandRdma "--enable-rdma"
++ optional enableMonitoring "--enable-monitoring" ++ optional enableMonitoring "--enable-monitoring"
@ -63,6 +65,10 @@ stdenv.mkDerivation rec {
--prefix PATH ":" "$out/sbin:${libqb}/sbin" --prefix PATH ":" "$out/sbin:${libqb}/sbin"
''; '';
passthru.tests = {
inherit (nixosTests) pacemaker;
};
meta = { meta = {
homepage = "http://corosync.org/"; homepage = "http://corosync.org/";
description = "A Group Communication System with features for implementing high availability within applications"; 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 ]; path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "3.5.1"; version = "3.5.2";
pname = "sabnzbd"; pname = "sabnzbd";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-/HakjY0/oGq3lt0kM5p9n3sZ4g/UDtUNyXNpl9zTFl8="; sha256 = "sha256-dGmZxnrxuUj6HwFI5QkSy9FnGYQpsNPFbUKXoJWpDfM=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -11,7 +11,6 @@
with lib; with lib;
let let
luaEnv = lua.withPackages(p: with p; [ luaEnv = lua.withPackages(p: with p; [
luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3 luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3
@ -22,7 +21,7 @@ let
); );
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.11.12"; # also update communityModules version = "0.11.13"; # also update communityModules
pname = "prosody"; pname = "prosody";
# The following community modules are necessary for the nixos module # The following community modules are necessary for the nixos module
# prosody module to comply with XEP-0423 and provide a working # prosody module to comply with XEP-0423 and provide a working
@ -36,7 +35,7 @@ stdenv.mkDerivation rec {
]; ];
src = fetchurl { src = fetchurl {
url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz"; 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 # A note to all those merging automated updates: Please also update this
@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
# version. # version.
communityModules = fetchhg { communityModules = fetchhg {
url = "https://hg.prosody.im/prosody-modules"; url = "https://hg.prosody.im/prosody-modules";
rev = "bd0a1f917d98"; rev = "54fa2116bbf3";
sha256 = "0figx0b0y5zfk5anf16h20y4crjmpb6bkg30vl7p0m594qnyqjcx"; sha256 = "sha256-OKZ7tD75q8/GMXruUQ+r9l0BxzdbPHNf41fZ3fHVQVw=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
] ]
++ withExtraLibs; ++ withExtraLibs;
configureFlags = [ configureFlags = [
"--ostype=linux" "--ostype=linux"
"--with-lua-include=${luaEnv}/include" "--with-lua-include=${luaEnv}/include"
@ -89,9 +87,7 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
communityModules = withCommunityModules; communityModules = withCommunityModules;
tests = { tests = { inherit (nixosTests) prosody prosody-mysql; };
main = nixosTests.prosody;
};
}; };
meta = { meta = {

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "hilbish"; pname = "hilbish";
version = "1.0.2"; version = "1.0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Rosettea"; owner = "Rosettea";
repo = "Hilbish"; repo = "Hilbish";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-BsN2v6OEWOtk8ENKr5G+lSmNIUA89VfpO+QQoBizx9g="; sha256 = "sha256-JVAyE6iSfRres2YalQF3CWK5Jtn5HoW6p6RHVbwzoVQ=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "exoscale-cli"; pname = "exoscale-cli";
version = "1.51.1"; version = "1.51.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "exoscale"; owner = "exoscale";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-NU4xJTW0KCi8PZAY4cRJijGHCZEn5Z41xNF7+iH01oo="; sha256 = "sha256-Nx9lASZOEetkADVEs2JxPRi9SCrb4SLnEpLpzcpp/Is=";
}; };
goPackagePath = "github.com/exoscale/cli"; goPackagePath = "github.com/exoscale/cli";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "syft"; pname = "syft";
version = "0.41.1"; version = "0.41.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anchore"; owner = "anchore";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-6ltEC9LCuE4Rj4TlBwsDI45L92XMuCbEuMDkOk8OkZo="; sha256 = "sha256-QRT5wvud9VMtXQ8QPC7joIMq7kYYlfVUSgzqMFW5LIE=";
# populate values that require us to use git. By doing this in postFetch we # 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. # can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true; leaveDotGit = true;
@ -22,7 +22,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf find "$out" -name .git -print0 | xargs -0 rm -rf
''; '';
}; };
vendorSha256 = "sha256-13PcAQlHPaQ1n7OiRSEW5H3rDXgUAmKAQGqQM31iyR8="; vendorSha256 = "sha256-9/Mtjqny68HN4FItT2+yoknzdHBAS1aQL0VkTdm6624=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -1,6 +1,7 @@
{ lib, stdenv { lib, stdenv
, substituteAll , substituteAll
, fetchurl , fetchurl
, fetchpatch
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
, gettext , gettext
@ -9,12 +10,14 @@
, vala , vala
, wrapGAppsHook , wrapGAppsHook
, dbus , dbus
, systemd
, dconf ? null , dconf ? null
, glib , glib
, gdk-pixbuf , gdk-pixbuf
, gobject-introspection , gobject-introspection
, gtk2 , gtk2
, gtk3 , gtk3
, gtk4
, gtk-doc , gtk-doc
, runCommand , runCommand
, isocodes , isocodes
@ -60,16 +63,22 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ibus"; pname = "ibus";
version = "1.5.24"; version = "1.5.26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ibus"; owner = "ibus";
repo = "ibus"; repo = "ibus";
rev = version; rev = version;
sha256 = "sha256-1qx06MlEUjSS067FdQG1Bdi4ZAh3hPcNjUX5PIiC3Sk="; sha256 = "7Vuj4Gyd+dLUoCkR4SPkfGPwVQPRo2pHk0pRAsmtjxc=";
}; };
patches = [ 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 { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
pythonInterpreter = python3Runtime.interpreter; pythonInterpreter = python3Runtime.interpreter;
@ -94,6 +103,7 @@ stdenv.mkDerivation rec {
(enableFeature enablePython2Library "python-library") (enableFeature enablePython2Library "python-library")
(enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
(enableFeature enableUI "ui") (enableFeature enableUI "ui")
"--enable-gtk4"
"--enable-install-tests" "--enable-install-tests"
"--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji" "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
"--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations" "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
@ -123,12 +133,14 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
dbus dbus
systemd
dconf dconf
gdk-pixbuf gdk-pixbuf
gobject-introspection gobject-introspection
python3.pkgs.pygobject3 # for pygobject overrides python3.pkgs.pygobject3 # for pygobject overrides
gtk2 gtk2
gtk3 gtk3
gtk4
isocodes isocodes
json-glib json-glib
libnotify libnotify

View file

@ -1,6 +1,8 @@
diff --git a/configure.ac b/configure.ac
index a3cdb2da..cade9466 100644
--- a/configure.ac --- a/configure.ac
+++ b/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 if test "x$enable_pygobject" = "xyes"; then
PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED]) PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED])
@ -14,7 +16,7 @@
AC_SUBST(py2overridesdir) AC_SUBST(py2overridesdir)
fi fi
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_VERSION=`$PYTHON2 -c "import sys; sys.stdout.write(sys.version[[:3]])"`
PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION" PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION"
python2dir="$PYTHON2_LIBDIR/site-packages" python2dir="$PYTHON2_LIBDIR/site-packages"
@ -23,9 +25,11 @@
AC_SUBST(pkgpython2dir) AC_SUBST(pkgpython2dir)
else else
enable_python_library="no (disabled, use --enable-python-library to enable)" 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 --- a/data/dconf/Makefile.am
+++ b/data/dconf/Makefile.am +++ b/data/dconf/Makefile.am
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@ man_5dir = $(mandir)/man5
install-data-hook: install-data-hook:
if test -z "$(DESTDIR)"; then \ if test -z "$(DESTDIR)"; then \
@ -34,12 +38,14 @@
fi fi
EXTRA_DIST = \ EXTRA_DIST = \
diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in
index 474ce8a8..ee30808e 100644
--- a/setup/ibus-setup.in --- a/setup/ibus-setup.in
+++ b/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_DATAROOTDIR=@datarootdir@
export IBUS_LOCALEDIR=@localedir@ export IBUS_LOCALEDIR=@localedir@
export IBUS_LIBEXECDIR=${libexecdir} export IBUS_LIBEXECDIR=${libexecdir}
-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@ -exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py "$@"
+exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@ +exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py "$@"

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "goreleaser"; pname = "goreleaser";
version = "1.6.1"; version = "1.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "goreleaser"; owner = "goreleaser";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MnsIm8E6CR5tEB6Oq35fJKQiPJfqP86/hp0t6lqJ0JE="; sha256 = "sha256-ZNE+DfQdIlxA6sXMI8DAIQ3x+kcgXoGApUuoPncRfpc=";
}; };
vendorSha256 = "sha256-Kwa2hzsuw3BNLubcqd7Vmpg49P78Yjt3LboLotoGWYM="; 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 { buildGoModule rec {
pname = "steampipe"; pname = "steampipe";
version = "0.12.2"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "turbot"; owner = "turbot";
repo = "steampipe"; repo = "steampipe";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xLw3y9DYkei0MoErsMpSDhEK73lK9b13st+DqHvvhys="; sha256 = "sha256-+QtZmrPE3R98UVSwrC8xoehNKwd0Exg+AZ2BJxBIrfY=";
}; };
vendorSha256 = "sha256-hqjjwYBVnuw7Bt2901tPIkfvYLy955IdeMbeSWTjtL0="; vendorSha256 = "sha256-rRp8pR2cpW88o0KPwuvgSkE263S5oGK/4df4CQSOlRo=";
proxyVendor = true; proxyVendor = true;
# tests are failing for no obvious reasons # tests are failing for no obvious reasons

View file

@ -70,13 +70,13 @@ buildPythonPackage rec {
homepage = "https://ytdl-org.github.io/youtube-dl/"; homepage = "https://ytdl-org.github.io/youtube-dl/";
description = "Command-line tool to download videos from YouTube.com and other sites"; description = "Command-line tool to download videos from YouTube.com and other sites";
longDescription = '' longDescription = ''
youtube-dl is a small, Python-based command-line program youtube-dl is a small, Python-based command-line program to download
to download videos from YouTube.com and a few more sites. videos from YouTube.com and a few more sites. youtube-dl is released to
youtube-dl is released to the public domain, which means the public domain, which means you can modify it, redistribute it or use
you can modify it, redistribute it or use it however you like. it however you like.
''; '';
license = licenses.publicDomain; license = licenses.publicDomain;
maintainers = with maintainers; [ bluescreen303 fpletz ma27 ];
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ bluescreen303 AndersonTorres fpletz ma27 ];
}; };
} }

View file

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

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "disnixos"; pname = "disnixos";
version = "0.9.2"; version = "0.9.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/svanderburg/disnixos/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; url = "https://github.com/svanderburg/disnixos/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "0zcghb9nm911bfwpzcgj4ga2cndxbzp5pmrxff711qydrwgy7sg7"; sha256 = "0nm7g184xh6xzjz4a40a7kgfnpmq043x6v0cynpffa6wd9jv89s9";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, netcat { lib, stdenv, fetchurl, netcat
# Optional packages # 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 , mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null
, nginx ? null, s6-rc ? null, xinetd ? null , nginx ? null, s6-rc ? null, xinetd ? null
@ -26,7 +26,7 @@
, getopt , getopt
}: }:
assert enableMySQLDatabase -> mysql != null; assert enableMySQLDatabase -> mariadb != null;
assert enablePostgreSQLDatabase -> postgresql != null; assert enablePostgreSQLDatabase -> postgresql != null;
assert enableSubversionRepository -> subversion != null; assert enableSubversionRepository -> subversion != null;
assert enableEjabberdDump -> ejabberd != null; assert enableEjabberdDump -> ejabberd != null;
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
buildInputs = [ getopt netcat ] buildInputs = [ getopt netcat ]
++ lib.optional stdenv.isLinux systemd ++ lib.optional stdenv.isLinux systemd
++ lib.optional enableEjabberdDump ejabberd ++ lib.optional enableEjabberdDump ejabberd
++ lib.optional enableMySQLDatabase mysql.out ++ lib.optional enableMySQLDatabase mariadb.out
++ lib.optional enablePostgreSQLDatabase postgresql ++ lib.optional enablePostgreSQLDatabase postgresql
++ lib.optional enableSubversionRepository subversion ++ lib.optional enableSubversionRepository subversion
++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ] ++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ]

View file

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
# Renaming it to amber-secret because another package named amber exists # Renaming it to amber-secret because another package named amber exists
pname = "amber-secret"; pname = "amber-secret";
version = "0.1.2"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fpco"; owner = "fpco";
repo = "amber"; repo = "amber";
rev = "v${version}"; 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 ]; buildInputs = lib.optionals stdenv.isDarwin [ Security ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libtpms"; pname = "libtpms";
version = "0.9.2"; version = "0.9.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stefanberger"; owner = "stefanberger";
repo = "libtpms"; repo = "libtpms";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-sfAmyx9MgzCVA1Da7hl6/sKxhS9ptaNLeSB8wmJIKDs="; sha256 = "sha256-ih154MtLWBUdo7+ugu6tg5O/XSjlgFC00wgWC71VeaE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "difftastic"; pname = "difftastic";
version = "0.19.0"; version = "0.22.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wilfred"; owner = "wilfred";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-pZyQnPIdyS8XkzP9KwGKRjF21YWGgCVNeQSie9g5NcE="; sha256 = "sha256-VV4nCR+BGly+EdCkyI4KeS0Zmn6NkfRsMs//0Sj3E20=";
}; };
cargoSha256 = "sha256-VXbCrhoGF6bCzQ02Y1LQkbEVrmIfDIKFWF9vx43tt94="; cargoSha256 = "sha256-MyCi5PuUs9MJArDFaBgjjBInYJAS/SAPe1iNTs9feLY=";
meta = with lib; { meta = with lib; {
description = "A syntax-aware diff"; description = "A syntax-aware diff";

View file

@ -1089,6 +1089,8 @@ with pkgs;
ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
license-generator = callPackage ../tools/misc/license-generator { };
linux-router = callPackage ../tools/networking/linux-router { }; linux-router = callPackage ../tools/networking/linux-router { };
linux-router-without-wifi = linux-router.override { useWifiDependencies = false; }; linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };
@ -9194,6 +9196,8 @@ with pkgs;
pydf = callPackage ../applications/misc/pydf { }; pydf = callPackage ../applications/misc/pydf { };
pyinfra = with python3Packages; toPythonApplication pyinfra;
pympress = callPackage ../applications/office/pympress { }; pympress = callPackage ../applications/office/pympress { };
pyspread = libsForQt5.callPackage ../applications/office/pyspread { }; pyspread = libsForQt5.callPackage ../applications/office/pyspread { };
@ -19564,6 +19568,8 @@ with pkgs;
osinfo-db = callPackage ../data/misc/osinfo-db { }; osinfo-db = callPackage ../data/misc/osinfo-db { };
osinfo-db-tools = callPackage ../tools/misc/osinfo-db-tools { }; osinfo-db-tools = callPackage ../tools/misc/osinfo-db-tools { };
pacemaker = callPackage ../misc/logging/pacemaker { };
p11-kit = callPackage ../development/libraries/p11-kit { }; p11-kit = callPackage ../development/libraries/p11-kit { };
paperkey = callPackage ../tools/security/paperkey { }; paperkey = callPackage ../tools/security/paperkey { };
@ -27698,6 +27704,7 @@ with pkgs;
simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {}; simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {};
sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {}; sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {};
thumbnail = callPackage ../applications/video/mpv/scripts/thumbnail.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 { }; youtube-quality = callPackage ../applications/video/mpv/scripts/youtube-quality.nix { };
cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { }; cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { };
}; };
@ -32620,6 +32627,8 @@ with pkgs;
monosat = callPackage ../applications/science/logic/monosat {}; monosat = callPackage ../applications/science/logic/monosat {};
nuXmv = callPackage ../applications/science/logic/nuXmv {};
opensmt = callPackage ../applications/science/logic/opensmt { }; opensmt = callPackage ../applications/science/logic/opensmt { };
ott = callPackage ../applications/science/logic/ott { }; ott = callPackage ../applications/science/logic/ott { };
@ -33729,7 +33738,9 @@ with pkgs;
disnixos = callPackage ../tools/package-management/disnix/disnixos { }; 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 { }; i3a = callPackage ../misc/i3a { };

View file

@ -8279,6 +8279,8 @@ in {
pyeverlights = callPackage ../development/python-modules/pyeverlights { }; pyeverlights = callPackage ../development/python-modules/pyeverlights { };
pyinfra = callPackage ../development/python-modules/pyinfra { };
pytibber = callPackage ../development/python-modules/pytibber { }; pytibber = callPackage ../development/python-modules/pytibber { };
pytile = callPackage ../development/python-modules/pytile { }; pytile = callPackage ../development/python-modules/pytile { };