Merge remote-tracking branch 'origin/master' into staging-next

Conflicts:
  pkgs/applications/terminal-emulators/alacritty/default.nix
  pkgs/servers/clickhouse/default.nix
This commit is contained in:
Jonathan Ringer 2021-05-20 09:12:42 -07:00
commit 14f3686af1
No known key found for this signature in database
GPG key ID: 5C841D3CFDFEC4E0
120 changed files with 7535 additions and 2303 deletions

View file

@ -11465,6 +11465,16 @@
github = "pulsation"; github = "pulsation";
githubId = 1838397; githubId = 1838397;
}; };
ydlr = {
name = "ydlr";
email = "ydlr@ydlr.io";
github = "ydlr";
githubId = 58453832;
keys = [{
longkeyid = "rsa4096/0x43AB44130A29AD9D";
fingerprint = "FD0A C425 9EF5 4084 F99F 9B47 2ACC 9749 7C68 FAD4";
}];
};
zane = { zane = {
name = "Zane van Iperen"; name = "Zane van Iperen";
email = "zane@zanevaniperen.com"; email = "zane@zanevaniperen.com";

View file

@ -48,6 +48,14 @@ with lib.maintainers; {
scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team."; scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team.";
}; };
chia = {
members = [
atemu
lourkeur
];
scope = "Maintain the Chia blockchain and its dependencies";
};
deshaw = { deshaw = {
# Verify additions to this team with at least one already existing member of the team. # Verify additions to this team with at least one already existing member of the team.
members = [ members = [

View file

@ -36,6 +36,13 @@ rec {
[ ../modules/virtualisation/qemu-vm.nix [ ../modules/virtualisation/qemu-vm.nix
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
{ key = "no-manual"; documentation.nixos.enable = false; } { key = "no-manual"; documentation.nixos.enable = false; }
{ key = "no-revision";
# Make the revision metadata constant, in order to avoid needless retesting.
# The human version (e.g. 21.05-pre) is left as is, because it is useful
# for external modules that test with e.g. nixosTest and rely on that
# version number.
config.system.nixos.revision = "constant-nixos-revision";
}
{ key = "nodes"; _module.args.nodes = nodes; } { key = "nodes"; _module.args.nodes = nodes; }
] ++ optional minimal ../modules/testing/minimal-kernel.nix; ] ++ optional minimal ../modules/testing/minimal-kernel.nix;
}; };

View file

@ -3,6 +3,7 @@ from contextlib import contextmanager, _GeneratorContextManager
from queue import Queue, Empty from queue import Queue, Empty
from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List, Iterable from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List, Iterable
from xml.sax.saxutils import XMLGenerator from xml.sax.saxutils import XMLGenerator
from colorama import Style
import queue import queue
import io import io
import _thread import _thread
@ -151,6 +152,8 @@ class Logger:
self.xml.startDocument() self.xml.startDocument()
self.xml.startElement("logfile", attrs={}) self.xml.startElement("logfile", attrs={})
self._print_serial_logs = True
def close(self) -> None: def close(self) -> None:
self.xml.endElement("logfile") self.xml.endElement("logfile")
self.xml.endDocument() self.xml.endDocument()
@ -174,15 +177,21 @@ class Logger:
self.drain_log_queue() self.drain_log_queue()
self.log_line(message, attributes) self.log_line(message, attributes)
def enqueue(self, message: Dict[str, str]) -> None: def log_serial(self, message: str, machine: str) -> None:
self.queue.put(message) self.enqueue({"msg": message, "machine": machine, "type": "serial"})
if self._print_serial_logs:
eprint(Style.DIM + "{} # {}".format(machine, message) + Style.RESET_ALL)
def enqueue(self, item: Dict[str, str]) -> None:
self.queue.put(item)
def drain_log_queue(self) -> None: def drain_log_queue(self) -> None:
try: try:
while True: while True:
item = self.queue.get_nowait() item = self.queue.get_nowait()
attributes = {"machine": item["machine"], "type": "serial"} msg = self.sanitise(item["msg"])
self.log_line(self.sanitise(item["msg"]), attributes) del item["msg"]
self.log_line(msg, item)
except Empty: except Empty:
pass pass
@ -327,6 +336,9 @@ class Machine:
def log(self, msg: str) -> None: def log(self, msg: str) -> None:
self.logger.log(msg, {"machine": self.name}) self.logger.log(msg, {"machine": self.name})
def log_serial(self, msg: str) -> None:
self.logger.log_serial(msg, self.name)
def nested(self, msg: str, attrs: Dict[str, str] = {}) -> _GeneratorContextManager: def nested(self, msg: str, attrs: Dict[str, str] = {}) -> _GeneratorContextManager:
my_attrs = {"machine": self.name} my_attrs = {"machine": self.name}
my_attrs.update(attrs) my_attrs.update(attrs)
@ -784,8 +796,7 @@ class Machine:
# Ignore undecodable bytes that may occur in boot menus # Ignore undecodable bytes that may occur in boot menus
line = _line.decode(errors="ignore").replace("\r", "").rstrip() line = _line.decode(errors="ignore").replace("\r", "").rstrip()
self.last_lines.put(line) self.last_lines.put(line)
eprint("{} # {}".format(self.name, line)) self.log_serial(line)
self.logger.enqueue({"msg": line, "machine": self.name})
_thread.start_new_thread(process_serial_output, ()) _thread.start_new_thread(process_serial_output, ())
@ -927,6 +938,16 @@ def run_tests() -> None:
machine.execute("sync") machine.execute("sync")
def serial_stdout_on() -> None:
global log
log._print_serial_logs = True
def serial_stdout_off() -> None:
global log
log._print_serial_logs = False
@contextmanager @contextmanager
def subtest(name: str) -> Iterator[None]: def subtest(name: str) -> Iterator[None]:
with log.nested(name): with log.nested(name):

View file

@ -25,7 +25,7 @@ rec {
name = "nixos-test-driver"; name = "nixos-test-driver";
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ (python3.withPackages (p: [ p.ptpython ])) ]; buildInputs = [ (python3.withPackages (p: [ p.ptpython p.colorama ])) ];
checkInputs = with python3Packages; [ pylint black mypy ]; checkInputs = with python3Packages; [ pylint black mypy ];
dontUnpack = true; dontUnpack = true;

View file

@ -62,7 +62,7 @@ in
''; '';
}; };
enable = mkEnableOption "Whether to enable Kubernetes addon manager."; enable = mkEnableOption "Kubernetes addon manager.";
}; };
###### implementation ###### implementation

View file

@ -42,6 +42,7 @@ with lib;
User = "clickhouse"; User = "clickhouse";
Group = "clickhouse"; Group = "clickhouse";
ConfigurationDirectory = "clickhouse-server"; ConfigurationDirectory = "clickhouse-server";
AmbientCapabilities = "CAP_SYS_NICE";
StateDirectory = "clickhouse"; StateDirectory = "clickhouse";
LogsDirectory = "clickhouse"; LogsDirectory = "clickhouse";
ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml"; ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml";

View file

@ -3,43 +3,10 @@
with lib; with lib;
let let
cfg = config.services.netatalk; cfg = config.services.netatalk;
settingsFormat = pkgs.formats.ini { };
extmapFile = pkgs.writeText "extmap.conf" cfg.extmap; afpConfFile = settingsFormat.generate "afp.conf" cfg.settings;
in {
afpToString = x: if builtins.typeOf x == "bool"
then boolToString x
else toString x;
volumeConfig = name:
let vol = getAttr name cfg.volumes; in
"[${name}]\n " + (toString (
map
(key: "${key} = ${afpToString (getAttr key vol)}\n")
(attrNames vol)
));
afpConf = ''[Global]
extmap file = ${extmapFile}
afp port = ${toString cfg.port}
${cfg.extraConfig}
${if cfg.homes.enable then ''[Homes]
${optionalString (cfg.homes.path != "") "path = ${cfg.homes.path}"}
basedir regex = ${cfg.homes.basedirRegex}
${cfg.homes.extraConfig}
'' else ""}
${toString (map volumeConfig (attrNames cfg.volumes))}
'';
afpConfFile = pkgs.writeText "afp.conf" afpConf;
in
{
options = { options = {
services.netatalk = { services.netatalk = {
@ -51,61 +18,24 @@ in
description = "TCP port to be used for AFP."; description = "TCP port to be used for AFP.";
}; };
extraConfig = mkOption { settings = mkOption {
type = types.lines; inherit (settingsFormat) type;
default = "";
example = "uam list = uams_guest.so";
description = ''
Lines of configuration to add to the <literal>[Global]</literal> section.
See <literal>man apf.conf</literal> for more information.
'';
};
homes = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable sharing of the UNIX server user home directories.";
};
path = mkOption {
type = types.str;
default = "";
example = "afp-data";
description = "Share not the whole user home but this subdirectory path.";
};
basedirRegex = mkOption {
example = "/home";
type = types.str;
description = "Regex which matches the parent directory of the user homes.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Lines of configuration to add to the <literal>[Homes]</literal> section.
See <literal>man apf.conf</literal> for more information.
'';
};
};
volumes = mkOption {
default = { }; default = { };
type = types.attrsOf (types.attrsOf types.unspecified); example = {
description = Global = { "uam list" = "uams_guest.so"; };
'' Homes = {
Set of AFP volumes to export. path = "afp-data";
See <literal>man apf.conf</literal> for more information. "basedir regex" = "/home";
''; };
example = literalExample '' example-volume = {
{ srv = path = "/srv/volume";
{ path = "/srv"; "read only" = true;
"read only" = true; };
"hosts allow" = "10.1.0.0/16 10.2.1.100 2001:0db8:1234::/48"; };
}; description = ''
} Configuration for Netatalk. See
<citerefentry><refentrytitle>afp.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.
''; '';
}; };
@ -114,18 +44,33 @@ in
default = ""; default = "";
description = '' description = ''
File name extension mappings. File name extension mappings.
See <literal>man extmap.conf</literal> for more information. See <citerefentry><refentrytitle>extmap.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>. for more information.
''; '';
}; };
}; };
}; };
imports = (map (option:
mkRemovedOptionModule [ "services" "netatalk" option ]
"This option was removed in favor of `services.netatalk.settings`.") [
"extraConfig"
"homes"
"volumes"
]);
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.netatalk.settings.Global = {
"afp port" = toString cfg.port;
"extmap file" = "${pkgs.writeText "extmap.conf" cfg.extmap}";
};
systemd.services.netatalk = { systemd.services.netatalk = {
description = "Netatalk AFP fileserver for Macintosh clients"; description = "Netatalk AFP fileserver for Macintosh clients";
unitConfig.Documentation = "man:afp.conf(5) man:netatalk(8) man:afpd(8) man:cnid_metad(8) man:cnid_dbd(8)"; unitConfig.Documentation =
"man:afp.conf(5) man:netatalk(8) man:afpd(8) man:cnid_metad(8) man:cnid_dbd(8)";
after = [ "network.target" "avahi-daemon.service" ]; after = [ "network.target" "avahi-daemon.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
@ -135,12 +80,12 @@ in
Type = "forking"; Type = "forking";
GuessMainPID = "no"; GuessMainPID = "no";
PIDFile = "/run/lock/netatalk"; PIDFile = "/run/lock/netatalk";
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -m 0755 -p /var/lib/netatalk/CNID"; ExecStart = "${pkgs.netatalk}/sbin/netatalk -F ${afpConfFile}";
ExecStart = "${pkgs.netatalk}/sbin/netatalk -F ${afpConfFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID";
Restart = "always"; Restart = "always";
RestartSec = 1; RestartSec = 1;
StateDirectory = [ "netatalk/CNID" ];
}; };
}; };

View file

@ -20,6 +20,15 @@ let
mkZoneFileName = name: if name == "." then "root" else name; mkZoneFileName = name: if name == "." then "root" else name;
# replaces include: directives for keys with fake keys for nsd-checkconf
injectFakeKeys = keys: concatStrings
(mapAttrsToList
(keyName: keyOptions: ''
fakeKey="$(${pkgs.bind}/bin/tsig-keygen -a ${escapeShellArgs [ keyOptions.algorithm keyName ]} | grep -oP "\s*secret \"\K.*(?=\";)")"
sed "s@^\s*include:\s*\"${stateDir}/private/${keyName}\"\$@secret: $fakeKey@" -i $out/nsd.conf
'')
keys);
nsdEnv = pkgs.buildEnv { nsdEnv = pkgs.buildEnv {
name = "nsd-env"; name = "nsd-env";
@ -34,9 +43,9 @@ let
echo "|- checking zone '$out/zones/$zoneFile'" echo "|- checking zone '$out/zones/$zoneFile'"
${nsdPkg}/sbin/nsd-checkzone "$zoneFile" "$zoneFile" || { ${nsdPkg}/sbin/nsd-checkzone "$zoneFile" "$zoneFile" || {
if grep -q \\\\\\$ "$zoneFile"; then if grep -q \\\\\\$ "$zoneFile"; then
echo zone "$zoneFile" contains escaped dollar signes \\\$ echo zone "$zoneFile" contains escaped dollar signs \\\$
echo Escaping them is not needed any more. Please make shure \ echo Escaping them is not needed any more. Please make sure \
to unescape them where they prefix a variable name to unescape them where they prefix a variable name.
fi fi
exit 1 exit 1
@ -44,7 +53,14 @@ let
done done
echo "checking configuration file" echo "checking configuration file"
# Save original config file including key references...
cp $out/nsd.conf{,.orig}
# ...inject mock keys into config
${injectFakeKeys cfg.keys}
# ...do the checkconf
${nsdPkg}/sbin/nsd-checkconf $out/nsd.conf ${nsdPkg}/sbin/nsd-checkconf $out/nsd.conf
# ... and restore original config file.
mv $out/nsd.conf{.orig,}
''; '';
}; };

View file

@ -303,6 +303,7 @@ in
openarena = handleTest ./openarena.nix {}; openarena = handleTest ./openarena.nix {};
openldap = handleTest ./openldap.nix {}; openldap = handleTest ./openldap.nix {};
opensmtpd = handleTest ./opensmtpd.nix {}; opensmtpd = handleTest ./opensmtpd.nix {};
opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix {};
openssh = handleTest ./openssh.nix {}; openssh = handleTest ./openssh.nix {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};

View file

@ -4,6 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
machine = { machine = {
services.clickhouse.enable = true; services.clickhouse.enable = true;
virtualisation.memorySize = 4096;
}; };
testScript = testScript =

View file

@ -43,6 +43,10 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
services.nsd.enable = true; services.nsd.enable = true;
services.nsd.rootServer = true; services.nsd.rootServer = true;
services.nsd.interfaces = lib.mkForce []; services.nsd.interfaces = lib.mkForce [];
services.nsd.keys."tsig.example.com." = {
algorithm = "hmac-sha256";
keyFile = pkgs.writeTextFile { name = "tsig.example.com."; text = "aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc="; };
};
services.nsd.zones."example.com.".data = '' services.nsd.zones."example.com.".data = ''
@ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
ipv4 A 1.2.3.4 ipv4 A 1.2.3.4
@ -51,6 +55,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
ns A 192.168.0.1 ns A 192.168.0.1
ns AAAA dead:beef::1 ns AAAA dead:beef::1
''; '';
services.nsd.zones."example.com.".provideXFR = [ "0.0.0.0 tsig.example.com." ];
services.nsd.zones."deleg.example.com.".data = '' services.nsd.zones."deleg.example.com.".data = ''
@ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
@ A 9.8.7.6 @ A 9.8.7.6
@ -71,6 +76,10 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
clientv6.wait_for_unit("network.target") clientv6.wait_for_unit("network.target")
server.wait_for_unit("nsd.service") server.wait_for_unit("nsd.service")
with subtest("server tsig.example.com."):
expected_tsig = " secret: \"aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc=\"\n"
tsig=server.succeed("cat /var/lib/nsd/private/tsig.example.com.")
assert expected_tsig == tsig, f"Expected /var/lib/nsd/private/tsig.example.com. to contain '{expected_tsig}', but found '{tsig}'"
def assert_host(type, rr, query, expected): def assert_host(type, rr, query, expected):
self = clientv4 if type == 4 else clientv6 self = clientv4 if type == 4 else clientv6

View file

@ -0,0 +1,142 @@
import ./make-test-python.nix {
name = "opensmtpd-rspamd";
nodes = {
smtp1 = { pkgs, ... }: {
imports = [ common/user-account.nix ];
networking = {
firewall.allowedTCPPorts = [ 25 143 ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.1"; prefixLength = 24; }
];
};
environment.systemPackages = [ pkgs.opensmtpd ];
services.opensmtpd = {
enable = true;
extraServerArgs = [ "-v" ];
serverConfiguration = ''
listen on 0.0.0.0
action dovecot_deliver mda \
"${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}"
match from any for local action dovecot_deliver
action do_relay relay
# DO NOT DO THIS IN PRODUCTION!
# Setting up authentication requires a certificate which is painful in
# a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A
# WELL-CONTROLLED ENVIRONMENT!
match from any for any action do_relay
'';
};
services.dovecot2 = {
enable = true;
enableImap = true;
mailLocation = "maildir:~/mail";
protocols = [ "imap" ];
};
};
smtp2 = { pkgs, ... }: {
imports = [ common/user-account.nix ];
virtualisation.memorySize = 512;
networking = {
firewall.allowedTCPPorts = [ 25 143 ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.2"; prefixLength = 24; }
];
};
environment.systemPackages = [ pkgs.opensmtpd ];
services.rspamd = {
enable = true;
locals."worker-normal.inc".text = ''
bind_socket = "127.0.0.1:11333";
'';
};
services.opensmtpd = {
enable = true;
extraServerArgs = [ "-v" ];
serverConfiguration = ''
filter rspamd proc-exec "${pkgs.opensmtpd-filter-rspamd}/bin/filter-rspamd"
listen on 0.0.0.0 filter rspamd
action dovecot_deliver mda \
"${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}"
match from any for local action dovecot_deliver
'';
};
services.dovecot2 = {
enable = true;
enableImap = true;
mailLocation = "maildir:~/mail";
protocols = [ "imap" ];
};
};
client = { pkgs, ... }: {
networking = {
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.3"; prefixLength = 24; }
];
};
environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-a-test-mail" ''
#!${pkgs.python3.interpreter}
import smtplib, sys
with smtplib.SMTP('192.168.1.1') as smtp:
smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """
From: alice@smtp1
To: bob@smtp2
Subject: Test
Hello World
Here goes the spam test
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
""")
'';
checkMailBounced = pkgs.writeScriptBin "check-mail-bounced" ''
#!${pkgs.python3.interpreter}
import imaplib
with imaplib.IMAP4('192.168.1.1', 143) as imap:
imap.login('alice', 'foobar')
imap.select()
status, refs = imap.search(None, 'ALL')
assert status == 'OK'
assert len(refs) == 1
status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
assert status == 'OK'
content = msg[0][1]
print("===> content:", content)
assert b"An error has occurred while attempting to deliver a message" in content
'';
in [ sendTestMail checkMailBounced ];
};
};
testScript = ''
start_all()
client.wait_for_unit("network-online.target")
smtp1.wait_for_unit("opensmtpd")
smtp2.wait_for_unit("opensmtpd")
smtp2.wait_for_unit("rspamd")
smtp2.wait_for_unit("dovecot2")
# To prevent sporadic failures during daemon startup, make sure
# services are listening on their ports before sending requests
smtp1.wait_for_open_port(25)
smtp2.wait_for_open_port(25)
smtp2.wait_for_open_port(143)
smtp2.wait_for_open_port(11333)
client.succeed("send-a-test-mail")
smtp1.wait_until_fails("smtpctl show queue | egrep .")
client.succeed("check-mail-bounced >&2")
'';
meta.timeout = 1800;
}

View file

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cava"; pname = "cava";
version = "0.7.3"; version = "0.7.4";
buildInputs = [ buildInputs = [
alsaLib alsaLib
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
owner = "karlstav"; owner = "karlstav";
repo = "cava"; repo = "cava";
rev = version; rev = version;
sha256 = "04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai"; sha256 = "sha256-BlHGst34aUgQcXcuQG43VnKUTclCxfQmWRa6iCud8dc=";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View file

@ -0,0 +1,69 @@
{ lib, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "chia";
version = "1.1.5";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "chia-blockchain";
rev = version;
sha256 = "ZUxWOlJGQpeQCtWt0PSdcbMackHdeuNFkxHvYDPcU8Y=";
};
patches = [
# tweak version requirements to what's available in Nixpkgs
./dependencies.patch
];
nativeBuildInputs = [
python3Packages.setuptools-scm
];
# give a hint to setuptools_scm on package version
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
propagatedBuildInputs = with python3Packages; [
aiohttp
aiosqlite
bitstring
blspy
chiapos
chiavdf
chiabip158
click
clvm
clvm-rs
clvm-tools
colorlog
concurrent-log-handler
cryptography
keyrings-cryptfile
pyyaml
setproctitle
setuptools # needs pkg_resources at runtime
sortedcontainers
websockets
];
checkInputs = [
python3Packages.pytestCheckHook
];
disabledTests = [
"test_spend_through_n"
"test_spend_zero_coin"
];
preCheck = ''
export HOME=`mktemp -d`
'';
meta = with lib; {
homepage = "https://www.chia.net/";
description = "Chia is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure.";
license = with licenses; [ asl20 ];
maintainers = teams.chia.members;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,13 @@
diff --git a/setup.py b/setup.py
index c5cf95db..b783a9e6 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ dependencies = [
"clvm==0.9.6",
"clvm_rs==0.1.7",
"clvm_tools==0.4.3",
- "aiohttp==3.7.4", # HTTP server for full node rpc
+ "aiohttp==3.7.4.post0", # HTTP server for full node rpc
"aiosqlite==0.17.0", # asyncio wrapper for sqlite, to store blocks
"bitstring==3.1.7", # Binary data management library
"colorlog==5.0.1", # Adds color to logs

View file

@ -11,13 +11,13 @@ assert x11Support -> xorg != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bemenu"; pname = "bemenu";
version = "0.5.0"; version = "0.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cloudef"; owner = "Cloudef";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1ifq5bk7782b9m6bl111x33fn38rpppdrww7hfavqia9a9gi2sl5"; sha256 = "sha256-yhUc1r7HulOUQvH7fLXaoJa0mKxJwyC3y59pnJcHUpk=";
}; };
nativeBuildInputs = [ pkg-config pcre ]; nativeBuildInputs = [ pkg-config pcre ];

View file

@ -6,7 +6,9 @@
, cryptopp , cryptopp
, curl , curl
, fetchFromGitHub , fetchFromGitHub
, ffmpeg_3 # build fails with latest ffmpeg, see https://github.com/meganz/MEGAcmd/issues/523 # build fails with latest ffmpeg, see https://github.com/meganz/MEGAcmd/issues/523.
# to be re-enabled when patch available
# , ffmpeg
, freeimage , freeimage
, gcc-unwrapped , gcc-unwrapped
, libmediainfo , libmediainfo
@ -44,7 +46,7 @@ stdenv.mkDerivation rec {
c-ares c-ares
cryptopp cryptopp
curl curl
ffmpeg_3 # ffmpeg
freeimage freeimage
gcc-unwrapped gcc-unwrapped
libmediainfo libmediainfo
@ -67,7 +69,7 @@ stdenv.mkDerivation rec {
"--with-cares" "--with-cares"
"--with-cryptopp" "--with-cryptopp"
"--with-curl" "--with-curl"
"--with-ffmpeg" # "--with-ffmpeg"
"--with-freeimage" "--with-freeimage"
"--with-libmediainfo" "--with-libmediainfo"
"--with-libuv" "--with-libuv"

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "rmapi"; pname = "rmapi";
version = "0.0.13"; version = "0.0.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "juruen"; owner = "juruen";
repo = "rmapi"; repo = "rmapi";
rev = "v${version}"; rev = "v${version}";
sha256 = "0qq8x37p7yxhcp5d5xss3pv5186xgg0hd6lbkqivhy5yjsd54c7b"; sha256 = "sha256-ju54JSd3Zyye5YGLPEOkhY93ONh0b7eDSnvJlIawizE=";
}; };
vendorSha256 = "1pa75rjns1kknl2gmfprdzc3f2z8dk44jkz6dmf8f3prj0z7x88c"; vendorSha256 = "sha256-SE/0a8QUJsWoGwkSiZqYx1eXuOIL3avJujyg8iSdcBU=";
doCheck = false; doCheck = false;
@ -19,7 +19,7 @@ buildGoModule rec {
description = "A Go app that allows access to the ReMarkable Cloud API programmatically"; description = "A Go app that allows access to the ReMarkable Cloud API programmatically";
homepage = "https://github.com/juruen/rmapi"; homepage = "https://github.com/juruen/rmapi";
changelog = "https://github.com/juruen/rmapi/blob/v${version}/CHANGELOG.md"; changelog = "https://github.com/juruen/rmapi/blob/v${version}/CHANGELOG.md";
license = licenses.agpl3; license = licenses.agpl3Only;
maintainers = [ maintainers.nickhu ]; maintainers = [ maintainers.nickhu ];
}; };
} }

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "helmfile"; pname = "helmfile";
version = "0.139.3"; version = "0.139.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "roboll"; owner = "roboll";
repo = "helmfile"; repo = "helmfile";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Cg4FFTowrWMDfpaMJwrOSs3ykZxH378OMR+1+vJt5e8="; sha256 = "sha256-pAo8MmQqqSICB4rguhkGHJqyB9fBBzpp7NEaa59rVb4=";
}; };
vendorSha256 = "sha256-Hs09CT/KSwYL2AKLseOjWB5Xvvr5TvbzwDywsGQ9kMw="; vendorSha256 = "sha256-Hs09CT/KSwYL2AKLseOjWB5Xvvr5TvbzwDywsGQ9kMw=";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "helmsman"; pname = "helmsman";
version = "3.6.10"; version = "3.6.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Praqma"; owner = "Praqma";
repo = "helmsman"; repo = "helmsman";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-0Epff1NYfZXza27/5RBuICIj2455K31BGFr6PMLkNVE="; sha256 = "sha256-9G/A6eADt9jP0CZC6MTZnQOmGOItJFI0zTfmC7HXSaI=";
}; };
vendorSha256 = "sha256-icX8mOc8g+DhfAjD1pzneLWTXY17lXyAjdPOWAxkHwI="; vendorSha256 = "sha256-icX8mOc8g+DhfAjD1pzneLWTXY17lXyAjdPOWAxkHwI=";

View file

@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
x86_64-linux = "Linux-64bit"; x86_64-linux = "Linux-64bit";
aarch64-linux = "Linux-arm64"; aarch64-linux = "Linux-arm64";
x86_64-darwin = "macOS-64bit"; x86_64-darwin = "macOS-64bit";
aarch64-darwin = "macOS-arm64";
}.${system} or (throw "Unsupported system: ${system}"); }.${system} or (throw "Unsupported system: ${system}");
fetchsrc = version: sha256: fetchzip { fetchsrc = version: sha256: fetchzip {
url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/octant_${version}_${suffix}.tar.gz"; url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/octant_${version}_${suffix}.tar.gz";
@ -21,6 +22,7 @@ stdenv.mkDerivation rec {
x86_64-linux = "sha256-VFlZP5d6/YhzVIhveqMc4HfapBt0K/XjtqjCQNc514A="; x86_64-linux = "sha256-VFlZP5d6/YhzVIhveqMc4HfapBt0K/XjtqjCQNc514A=";
aarch64-linux = "sha256-RfdMfimmoHG4ixBtUVJ/V+mDhQ9aD+yeohkeUMUP8Zg="; aarch64-linux = "sha256-RfdMfimmoHG4ixBtUVJ/V+mDhQ9aD+yeohkeUMUP8Zg=";
x86_64-darwin = "sha256-2Qgl3RdA4mMRTqR7o3Q86Zip5wtgvFp1vZn689FUtSI="; x86_64-darwin = "sha256-2Qgl3RdA4mMRTqR7o3Q86Zip5wtgvFp1vZn689FUtSI=";
aarch64-darwin = "sha256-+eZVg+B5YYf+XnDhNd6OU4+yFM9GtyiavcAr/EXh7XE=";
}; };
dontConfigure = true; dontConfigure = true;
@ -59,6 +61,6 @@ stdenv.mkDerivation rec {
''; '';
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ jk ]; maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
}; };
} }

View file

@ -164,9 +164,9 @@ in rec {
}); });
terraform_0_15 = pluggable (generic { terraform_0_15 = pluggable (generic {
version = "0.15.3"; version = "0.15.4";
sha256 = "12dny8f89ry75ljarhdqlwgzv6py75s1wcmb62n5fp9nk03bjf2p"; sha256 = "14pxnmxy0c7idn8vgns70fxm2835gbz5vd1hmwzvhm394vr62frp";
vendorSha256 = "13ap1arn81lcxry08j42ck6lgvdcvdxgah6d40pmpkzkw9jcf55b"; vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
patches = [ ./provider-path-0_15.patch ]; patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; }; passthru = { inherit plugins; };
}); });

View file

@ -1,6 +1,6 @@
diff -Naur terraform.old/command/init.go terraform.new/command/init.go diff -Naur terraform.old/internal/command/init.go terraform.new/internal/command/init.go
--- terraform.old/command/init.go --- terraform.old/internal/command/init.go
+++ terraform.new/command/init.go +++ terraform.new/internal/command/init.go
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
import ( import (
"context" "context"

View file

@ -1,59 +0,0 @@
{ lib, stdenv, fetchFromGitHub, libupnp, gpgme, gnome, glib, libssh, pkg-config, protobuf, bzip2
, libXScrnSaver, speex, curl, libxml2, libxslt, sqlcipher, libmicrohttpd, opencv, qmake, ffmpeg_3
, qtmultimedia, qtx11extras, qttools }:
stdenv.mkDerivation rec {
pname = "retroshare";
version = "0.6.2";
src = fetchFromGitHub {
owner = "RetroShare";
repo = "RetroShare";
rev = "v${version}";
sha256 = "0hly2x87wdvqzzwf3wjzi7092bj8fk4xs6302rkm8gp9bkkmiiw8";
};
# NIX_CFLAGS_COMPILE = [ "-I${glib.dev}/include/glib-2.0" "-I${glib.dev}/lib/glib-2.0/include" "-I${libxml2.dev}/include/libxml2" "-I${sqlcipher}/include/sqlcipher" ];
patchPhase = ''
# Fix build error
sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \
libretroshare/src/upnp/UPnPBase.cpp
'';
nativeBuildInputs = [ pkg-config qmake ];
buildInputs = [
speex libupnp gpgme gnome.libgnome-keyring glib libssh qtmultimedia qtx11extras qttools
protobuf bzip2 libXScrnSaver curl libxml2 libxslt sqlcipher libmicrohttpd opencv ffmpeg_3
];
preConfigure = ''
qmakeFlags="$qmakeFlags DESTDIR=$out"
'';
# gui/settings/PluginsPage.h:25:28: fatal error: ui_PluginsPage.h: No such file or directory
enableParallelBuilding = false;
postInstall = ''
mkdir -p $out/bin
mv $out/RetroShare06-nogui $out/bin/RetroShare-nogui
mv $out/RetroShare06 $out/bin/Retroshare
ln -s $out/bin/RetroShare-nogui $out/bin/retroshare-nogui
# plugins
mkdir -p $out/share/retroshare
mv $out/lib* $out/share/retroshare
# BT DHT bootstrap
cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
'';
meta = with lib; {
description = "";
homepage = "http://retroshare.sourceforge.net/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
broken = true; # broken by libupnp: 1.6.21 -> 1.8.3 (#41684)
};
}

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "onedrive"; pname = "onedrive";
version = "2.4.10"; version = "2.4.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "abraunegg"; owner = "abraunegg";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256:0dvxjkni66g82j9wr6yy07sn7d7yr7bbc0py89pxybvsbid88l65"; sha256 = "sha256-ioOrkhVeHHqIjoEXcYo8ATJW+2+nZOehf3XbAJUEXpY=";
}; };
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ]; nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];

View file

@ -1,12 +1,13 @@
{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl
, openblas, hdf5-cpp, python3, texlive , openblas, hdf5-cpp, python3, texlive
, armadillo, mpi, globalarrays, openssh , armadillo, mpi, globalarrays, openssh
, makeWrapper, fetchpatch , makeWrapper
} : } :
let let
version = "20.10"; version = "21.02";
gitLabRev = "v${version}"; # The tag keeps moving, fix a hash instead
gitLabRev = "41cee871945ac712e86ee971425a49a8fc60a936";
python = python3.withPackages (ps : with ps; [ six pyparsing ]); python = python3.withPackages (ps : with ps; [ six pyparsing ]);
@ -18,13 +19,13 @@ in stdenv.mkDerivation {
owner = "Molcas"; owner = "Molcas";
repo = "OpenMolcas"; repo = "OpenMolcas";
rev = gitLabRev; rev = gitLabRev;
sha256 = "0xr9plgb0cfmxxqmd3wrhvl0hv2jqqfqzxwzs1jysq2m9cxl314v"; sha256 = "0cap53gy1wds2qaxbijw09fqhvfxphfkr93nhp9xdq84yxh4wzv6";
}; };
patches = [ patches = [
# Required to handle openblas multiple outputs # Required to handle openblas multiple outputs
./openblasPath.patch ./openblasPath.patch
]; ];
nativeBuildInputs = [ perl cmake texlive.combined.scheme-minimal makeWrapper ]; nativeBuildInputs = [ perl cmake texlive.combined.scheme-minimal makeWrapper ];
buildInputs = [ buildInputs = [
@ -57,6 +58,10 @@ in stdenv.mkDerivation {
export PATH=$PATH:$out/bin export PATH=$PATH:$out/bin
''; '';
postInstall = ''
mv $out/pymolcas $out/bin
'';
postFixup = '' postFixup = ''
# Wrong store path in shebang (no Python pkgs), force re-patching # Wrong store path in shebang (no Python pkgs), force re-patching
sed -i "1s:/.*:/usr/bin/env python:" $out/bin/pymolcas sed -i "1s:/.*:/usr/bin/env python:" $out/bin/pymolcas

View file

@ -52,16 +52,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "alacritty"; pname = "alacritty";
version = "0.7.2"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alacritty"; owner = "alacritty";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-VXV6w4OnhJBmvMKl7CynbhI9LclTKaSr+5DhHXMwSsc="; sha256 = "sha256-9pQqnsLMkzhKTs7WGhf6lac/LGot6EmJQxgFBTrHA4E=";
}; };
cargoSha256 = "sha256-AYpT6ij0mtRxs4llywDNfZEqxYG6o2yFE9bmhH7fB8s="; cargoSha256 = "sha256-NtDeXS2g+5RzKHJdDrbzL5oReS42SzuEubkfZ4gbkFc=";
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -86,7 +86,7 @@ rustPlatform.buildRustPackage rec {
outputs = [ "out" "terminfo" ]; outputs = [ "out" "terminfo" ];
postPatch = '' postPatch = ''
substituteInPlace alacritty/src/config/mouse.rs \ substituteInPlace alacritty/src/config/ui_config.rs \
--replace xdg-open ${xdg-utils}/bin/xdg-open --replace xdg-open ${xdg-utils}/bin/xdg-open
''; '';

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "1.10.1"; version = "1.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ESwgG1sMkR44KpO7k5HNR3gPBgOqIADpS6fSOqqNn2Q="; sha256 = "sha256-hI4kV7Xj0oMEfD6SzZ+KWHmMp9yGtr18HPPwkOpr5JA=";
}; };
vendorSha256 = "sha256-A7Bo0HQ5Z2SXY32jWCYgwvvInD3xYLSXvipzeaQTDiM="; vendorSha256 = "sha256-A7Bo0HQ5Z2SXY32jWCYgwvvInD3xYLSXvipzeaQTDiM=";

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitLab, python3Packages, ffmpeg_3, mplayer, vcdimager, cdrkit, dvdauthor { lib, fetchFromGitLab, python3Packages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor
, gtk3, gettext, wrapGAppsHook, gdk-pixbuf, gobject-introspection }: , gtk3, gettext, wrapGAppsHook, gdk-pixbuf, gobject-introspection }:
let let
@ -30,11 +30,11 @@ in buildPythonApplication rec {
]; ];
buildInputs = [ buildInputs = [
ffmpeg_3 ffmpeg
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg_3 mplayer dvdauthor vcdimager cdrkit urllib3 setuptools gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit urllib3 setuptools
]; ];
postPatch = '' postPatch = ''

View file

@ -19,7 +19,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "elementary-calculator"; pname = "elementary-calculator";
version = "1.6.0"; version = "1.6.1";
repoName = "calculator"; repoName = "calculator";
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
owner = "elementary"; owner = "elementary";
repo = repoName; repo = repoName;
rev = version; rev = version;
sha256 = "sha256-kDqUwTi3XnFGUwAjnWcaKqDylUFqpus9WurLoqbV1xk="; sha256 = "sha256-LGY111wPldxuSfqhZ2E2TeJjexcGbfS25RjLw+Wi99c=";
}; };
passthru = { passthru = {

View file

@ -139,6 +139,7 @@ let
plasma-integration = callPackage ./plasma-integration {}; plasma-integration = callPackage ./plasma-integration {};
plasma-nm = callPackage ./plasma-nm {}; plasma-nm = callPackage ./plasma-nm {};
plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; }; plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
plasma-sdk = callPackage ./plasma-sdk.nix {};
plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { }; plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { }; plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
plasma-vault = callPackage ./plasma-vault {}; plasma-vault = callPackage ./plasma-vault {};

View file

@ -0,0 +1,41 @@
{ mkDerivation
, lib
, extra-cmake-modules
, karchive
, kcompletion
, kconfig
, kconfigwidgets
, kcoreaddons
, kdbusaddons
, kdeclarative
, ki18n
, kiconthemes
, kio
, plasma-framework
, kservice
, ktexteditor
, kwidgetsaddons
, kdoctools
, qtbase
}:
mkDerivation {
name = "plasma-sdk";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
karchive
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kdbusaddons
kdeclarative
ki18n
kiconthemes
kio
plasma-framework
kservice
ktexteditor
kwidgetsaddons
];
}

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchurl, writeText, gradleGen, pkg-config, perl, cmake { stdenv, lib, fetchurl, writeText, gradleGen, pkg-config, perl, cmake
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsaLib, ffmpeg_3, python, ruby , gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsaLib, ffmpeg, python, ruby
, openjdk11-bootstrap }: , openjdk11-bootstrap }:
let let
@ -19,7 +19,7 @@ let
sha256 = "1h7qsylr7rnwnbimqjyn3whszp9kv4h3gpicsrb3mradxc9yv194"; sha256 = "1h7qsylr7rnwnbimqjyn3whszp9kv4h3gpicsrb3mradxc9yv194";
}; };
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg_3 ]; buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg ];
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python ruby ]; nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python ruby ];
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;

View file

@ -7,7 +7,7 @@
, python3 , python3
, z3Support ? true , z3Support ? true
, z3 ? null , z3 ? null
, cvc4Support ? true , cvc4Support ? gccStdenv.isLinux
, cvc4 ? null , cvc4 ? null
, cln ? null , cln ? null
, gmp ? null , gmp ? null
@ -98,7 +98,6 @@ let
description = "Compiler for Ethereum smart contract language Solidity"; description = "Compiler for Ethereum smart contract language Solidity";
homepage = "https://github.com/ethereum/solidity"; homepage = "https://github.com/ethereum/solidity";
license = licenses.gpl3; license = licenses.gpl3;
platforms = with platforms; linux; # darwin is currently broken
maintainers = with maintainers; [ dbrock akru lionello sifmelcara ]; maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
inherit version; inherit version;
}; };

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, python2Packages, pkg-config, SDL2 { lib, stdenv, fetchurl, python2Packages, pkg-config, SDL2
, libpng, ffmpeg_3, freetype, glew, libGL, libGLU, fribidi, zlib , libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
, glib , glib
}: }:
@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs = [
python cython wrapPython tkinter python cython wrapPython tkinter
SDL2 libpng ffmpeg_3 freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
]; ];
pythonPath = [ pygame_sdl2 tkinter ]; pythonPath = [ pygame_sdl2 tkinter ];
RENPY_DEPS_INSTALL = lib.concatStringsSep "::" (map (path: path) [ RENPY_DEPS_INSTALL = lib.concatStringsSep "::" (map (path: path) [
SDL2 SDL2.dev libpng ffmpeg_3 ffmpeg_3.out freetype glew.dev glew.out libGLU libGL fribidi zlib SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
]); ]);
buildPhase = '' buildPhase = ''

View file

@ -9,4 +9,7 @@ callPackage ./generic.nix (rec {
branch = "3.4.8"; branch = "3.4.8";
sha256 = "1d0r4yja2dkkyhdwx1migq46gsrcbajiv66263a5sq5bfr9dqkch"; sha256 = "1d0r4yja2dkkyhdwx1migq46gsrcbajiv66263a5sq5bfr9dqkch";
darwinFrameworks = [ Cocoa CoreMedia ]; darwinFrameworks = [ Cocoa CoreMedia ];
knownVulnerabilities = [
"CVE-2021-30123"
];
} // args) } // args)

View file

@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "freetds"; pname = "freetds";
version = "1.2.18"; version = "1.2.21";
src = fetchurl { src = fetchurl {
url = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2"; url = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
sha256 = "sha256-ENR+YJhs/FH4Fw+p6rpDEU7r3eC6bmscSBPYbwIaqt0="; sha256 = "sha256-pea79tbz3AgWsZy9CDCNJ6CEsEkmqqBaxn+AjqB9PY0=";
}; };
buildInputs = [ buildInputs = [

View file

@ -0,0 +1,22 @@
{ stdenv, lib, cmake, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "filesystem";
version = "1.5.4";
src = fetchFromGitHub {
owner = "gulrak";
repo = "filesystem";
rev = "v${version}";
hash = "sha256-SvNUzKoNiSIM0no+A0NUT6hmeUH9SzgLQLrC5XOC0Ho=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "header-only single-file C++ std::filesystem compatible helper library";
homepage = "https://github.com/gulrak/filesystem";
license = licenses.mit;
maintainers = with maintainers; [ lourkeur ];
};
}

View file

@ -1,4 +1,6 @@
{ lib, stdenv, fetchurl, zlib }: { lib, stdenv, fetchurl, fetchpatch, autoreconfHook, giflib, libjpeg, libpng, libX11, zlib
, static ? stdenv.hostPlatform.isStatic
, withX ? !stdenv.isDarwin }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "libAfterImage"; pname = "libAfterImage";
@ -13,7 +15,56 @@ stdenv.mkDerivation {
sha256 = "0n74rxidwig3yhr6fzxsk7y19n1nq1f296lzrvgj5pfiyi9k48vf"; sha256 = "0n74rxidwig3yhr6fzxsk7y19n1nq1f296lzrvgj5pfiyi9k48vf";
}; };
buildInputs = [ zlib ]; patches = [
# add back --with-gif option
(fetchpatch {
name = "libafterimage-gif.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-gif.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
sha256 = "16pa94wlqpd7h6mzs4f0qm794yk1xczrwsgf93kdd3g0zbjq3rnr";
})
# fix build with newer giflib
(fetchpatch {
name = "libafterimage-giflib5-v2.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-giflib5-v2.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
sha256 = "0qwydqy9bm73cg5n3vm97aj4jfi70p7fxqmfbi54vi78z593brln";
stripLen = 1;
})
# fix build with newer libpng
(fetchpatch {
name = "libafterimage-libpng15.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-libpng15.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
sha256 = "1qyvf7786hayasfnnilfbri3p99cfz5wjpbli3gdqj2cvk6mpydv";
})
# fix an ldconfig problem
(fetchpatch {
name = "libafterimage-makefile.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-makefile.in.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
sha256 = "1n6fniz6dldms615046yhc4mlg9gb53y4yfia8wfz6szgq5zicj4";
})
];
patchFlags = [ "-p0" ];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ giflib libjpeg libpng zlib ] ++ lib.optional withX libX11;
preConfigure = ''
rm -rf {libjpeg,libpng,libungif,zlib}/
substituteInPlace Makefile.in \
--replace "include .depend" ""
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile.in \
--replace "-soname," "-install_name,$out/lib/"
'';
configureFlags = [
"--with-gif"
"--disable-mmx-optimization"
"--${if static then "enable" else "disable"}-staticlibs"
"--${if !static then "enable" else "disable"}-sharedlibs"
] ++ lib.optional withX "--with-x";
meta = with lib; { meta = with lib; {
homepage = "http://www.afterstep.org/afterimage/"; homepage = "http://www.afterstep.org/afterimage/";

View file

@ -46,7 +46,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "liblinphone"; pname = "liblinphone";
version = "4.5.1"; version = "4.5.15";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.linphone.org"; domain = "gitlab.linphone.org";
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
group = "BC"; group = "BC";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "05ybbxq2yqzy3f3vzq8c3szs3qr0zl64la53icpqnmfakwnps5gs"; sha256 = "sha256-lDj2OkWuodPHpvoJ5W2GivzVIeMnprb42kAnJKfKtdg=";
}; };
# Do not build static libraries # Do not build static libraries

View file

@ -76,6 +76,13 @@ let
./opencl-headers-dir.patch ./opencl-headers-dir.patch
]; ];
# Uses linker flags that are not supported on Darwin.
postPatch = lib.optionalString stdenv.isDarwin ''
sed -i -e '/SET_LINUX_EXPORTS_FILE/d' CMakeLists.txt
substituteInPlace CMakeLists.txt \
--replace '-Wl,--no-undefined' ""
'';
nativeBuildInputs = [ cmake git llvm.dev ]; nativeBuildInputs = [ cmake git llvm.dev ];
buildInputs = [ libclang llvm spirv-llvm-translator ]; buildInputs = [ libclang llvm spirv-llvm-translator ];

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ucx"; pname = "ucx";
version = "1.10.0"; version = "1.10.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openucx"; owner = "openucx";
repo = "ucx"; repo = "ucx";
rev = "v${version}"; rev = "v${version}";
sha256 = "1j2gfw4anixb5ajgiyn7bcca8pgjvsaf0y0b2xz88s9hdx0h6gs9"; sha256 = "1jl7wrmcpf6lakpi1gvjcs18cy0mmwgsv5wdd80zyl41cpd8gm8d";
}; };
nativeBuildInputs = [ autoreconfHook doxygen ]; nativeBuildInputs = [ autoreconfHook doxygen ];

View file

@ -117,6 +117,8 @@ stdenv.mkDerivation rec {
license = licenses.mit; # Expat version license = licenses.mit; # Expat version
platforms = if withLibraries then platforms.linux else platforms.unix; platforms = if withLibraries then platforms.linux else platforms.unix;
maintainers = with maintainers; [ primeos codyopel qyliss ]; maintainers = with maintainers; [ primeos codyopel qyliss ];
# big sur doesn't support gcc stdenv and wayland doesn't build with clang
broken = stdenv.isDarwin;
}; };
passthru.version = version; passthru.version = version;

View file

@ -7,13 +7,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioshelly"; pname = "aioshelly";
version = "0.6.2"; version = "0.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-vlIon+VAHeJiaSIVMEKEpwQC4gXA52vxfEkiQMC9yiw="; sha256 = "sha256-c4EFR7rcYdrCdM0AfmX/d7cP4woh6P1iAjeSQV9ieKM=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -0,0 +1,58 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, setuptools-scm
, substituteAll
, cmake
, boost
, gmp
, pybind11
, pythonOlder
}:
buildPythonPackage rec {
pname = "blspy";
version = "1.0.2";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-N1mk83uZrzSty2DyXfKiVp85z/jmztiUSRXKfNBRJV4=";
};
patches = [
# prevent CMake from trying to get libraries on the Internet
(substituteAll {
src = ./dont_fetch_dependencies.patch;
pybind11_src = pybind11.src;
relic_src = fetchFromGitHub {
owner = "relic-toolkit";
repo = "relic";
rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy
hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
};
})
];
nativeBuildInputs = [ cmake setuptools-scm ];
buildInputs = [ boost gmp.static pybind11 ];
pythonImportsCheck = [
"blspy"
];
# Note: upstream testsuite is just a single test.py script outside of any framework
doCheck = false;
# CMake needs to be run by setuptools rather than by its hook
dontConfigure = true;
meta = with lib; {
description = "BLS signatures with aggregation";
homepage = "https://github.com/Chia-Network/bls-signatures/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,38 @@
diff --git a/python-bindings/CMakeLists.txt b/python-bindings/CMakeLists.txt
index 255e3bb..5f99c3a 100644
--- a/python-bindings/CMakeLists.txt
+++ b/python-bindings/CMakeLists.txt
@@ -6,8 +6,7 @@ include(FetchContent)
FetchContent_Declare(
pybind11
- GIT_REPOSITORY https://github.com/pybind/pybind11.git
- GIT_TAG v2.6.2
+ SOURCE_DIR @pybind11_src@
)
FetchContent_MakeAvailable(pybind11 relic)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index faecc61..3272116 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,18 +4,9 @@ set (CMAKE_CXX_STANDARD 17)
# CMake 3.14+
include(FetchContent)
-if (DEFINED ENV{RELIC_MAIN})
- set(RELIC_GIT_TAG "origin/main")
-else ()
- set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c")
-endif ()
-
-message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
-
FetchContent_Declare(
relic
- GIT_REPOSITORY https://github.com/relic-toolkit/relic.git
- GIT_TAG ${RELIC_GIT_TAG}
+ SOURCE_DIR @relic_src@
)
FetchContent_MakeAvailable(relic)

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchPypi
, cmake
, pybind11
, pythonOlder
, pytestCheckHook
, setuptools-scm
}:
buildPythonPackage rec {
pname = "chiabip158";
version = "1.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-dG6A4n30uPswQWY/Wmi75HK4ZMCDNr9Lt05FRWEPYV8=";
};
nativeBuildInputs = [ cmake setuptools-scm ];
buildInputs = [ pybind11 ];
checkInputs = [
pytestCheckHook
];
# CMake needs to be run by setuptools rather than by its hook
dontConfigure = true;
meta = with lib; {
description = "Chia's implementation of BIP 158";
homepage = "https://www.chia.net/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,48 @@
{ lib
, substituteAll
, buildPythonPackage
, fetchPypi
, cmake
, cxxopts
, ghc_filesystem
, pybind11
, pythonOlder
, psutil
, setuptools-scm
}:
buildPythonPackage rec {
pname = "chiapos";
version = "1.0.1";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-kJx57EtwPBrGMpjnSzeYYhWqc/g1N1Bg8slW5oZKjg8=";
};
patches = [
# prevent CMake from trying to get libraries on the Internet
(substituteAll {
src = ./dont_fetch_dependencies.patch;
inherit cxxopts ghc_filesystem;
pybind11_src = pybind11.src;
})
];
nativeBuildInputs = [ cmake setuptools-scm ];
buildInputs = [ pybind11 ];
checkInputs = [ psutil ];
# CMake needs to be run by setuptools rather than by its hook
dontConfigure = true;
meta = with lib; {
description = "Chia proof of space library";
homepage = "https://www.chia.net/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,31 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b4a2f5..86f849c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,22 +18,19 @@ include(FetchContent)
FetchContent_Declare(
pybind11-src
- GIT_REPOSITORY https://github.com/pybind/pybind11.git
- GIT_TAG v2.6.2
+ SOURCE_DIR @pybind11_src@
)
FetchContent_MakeAvailable(pybind11-src)
FetchContent_Declare(
cxxopts
- GIT_REPOSITORY https://github.com/jarro2783/cxxopts.git
- GIT_TAG v2.2.1
+ SOURCE_DIR @cxxopts@
)
FetchContent_MakeAvailable(cxxopts)
FetchContent_Declare(
gulrak
- GIT_REPOSITORY https://github.com/gulrak/filesystem.git
- GIT_TAG v1.5.4
+ SOURCE_DIR @ghc_filesystem@
)
FetchContent_MakeAvailable(gulrak)

View file

@ -0,0 +1,53 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, setuptools-scm
, substituteAll
, cmake
, boost
, gmp
, pybind11
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "chiavdf";
version = "1.0.1";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-z0od/VrH580+9641lKNI7jbVMlJZKCWnoT+GljnFxmU=";
};
patches = [
# prevent CMake from trying to get libraries on the Internet
(substituteAll {
src = ./dont_fetch_dependencies.patch;
pybind11_src = pybind11.src;
})
];
# x86 instructions are needed for this component
BUILD_VDF_CLIENT = lib.optionalString (!stdenv.isx86_64) "N";
nativeBuildInputs = [ cmake setuptools-scm ];
buildInputs = [ boost gmp pybind11 ];
checkInputs = [
pytestCheckHook
];
# CMake needs to be run by setuptools rather than by its hook
dontConfigure = true;
meta = with lib; {
description = "Chia verifiable delay function utilities";
homepage = "https://www.chia.net/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,14 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c975128..a9f6910 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,8 +31,7 @@ include(FetchContent)
FetchContent_Declare(
pybind11-src
- GIT_REPOSITORY https://github.com/pybind/pybind11.git
- GIT_TAG v2.6.2
+ SOURCE_DIR @pybind11_src@
)
FetchContent_MakeAvailable(pybind11-src)

View file

@ -0,0 +1,98 @@
{ stdenv
, lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, matplotlib
, networkx
, numpy
, pandas
, requests
, scipy
, sortedcontainers
, sympy
, tqdm
, typing-extensions
# Contrib requirements
, withContribRequires ? false
, autoray ? null
, opt-einsum
, ply
, pylatex ? null
, pyquil ? null
, quimb ? null
# test inputs
, pytestCheckHook
, freezegun
, pytest-asyncio
}:
buildPythonPackage rec {
pname = "cirq-core";
version = "0.11.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "quantumlib";
repo = "cirq";
rev = "v${version}";
hash = "sha256-JaKTGnkYhzIFb35SGaho8DRupoT0JFYKA5+rJEq4oXw=";
};
sourceRoot = "source/${pname}";
postPatch = ''
substituteInPlace requirements.txt \
--replace "matplotlib~=3.0" "matplotlib" \
--replace "networkx~=2.4" "networkx" \
--replace "numpy~=1.16" "numpy" \
--replace "requests~=2.18" "requests"
'';
propagatedBuildInputs = [
matplotlib
networkx
numpy
pandas
requests
scipy
sortedcontainers
sympy
tqdm
typing-extensions
] ++ lib.optionals withContribRequires [
autoray
opt-einsum
ply
pylatex
pyquil
quimb
];
checkInputs = [
pytestCheckHook
pytest-asyncio
freezegun
];
pytestFlagsArray = lib.optionals (!withContribRequires) [
# requires external (unpackaged) libraries, so untested.
"--ignore=cirq/contrib/"
];
disabledTests = [
"test_metadata_search_path" # tries to import flynt, which isn't in Nixpkgs
"test_benchmark_2q_xeb_fidelities" # fails due pandas MultiIndex. Maybe issue with pandas version in nix?
] ++ lib.optionals stdenv.hostPlatform.isAarch64 [
# Seem to fail due to math issues on aarch64?
"expectation_from_wavefunction"
"test_single_qubit_op_to_framed_phase_form_output_on_example_case"
];
meta = with lib; {
description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.";
homepage = "https://github.com/quantumlib/cirq";
changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ drewrisinger ];
};
}

View file

@ -0,0 +1,29 @@
{ lib
, buildPythonPackage
, pythonOlder
, cirq-core
, google-api-core
, protobuf
# test inputs
, pytestCheckHook
, freezegun
}:
buildPythonPackage rec {
pname = "cirq-google";
inherit (cirq-core) version src meta;
sourceRoot = "source/${pname}";
postPatch = ''
substituteInPlace requirements.txt --replace "protobuf~=3.13.0" "protobuf"
'';
propagatedBuildInputs = [
cirq-core
google-api-core
protobuf
];
checkInputs = [ pytestCheckHook freezegun ];
}

View file

@ -1,114 +1,28 @@
{ stdenv { lib
, lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , cirq-core
, fetchFromGitHub , cirq-google
, google-api-core
, matplotlib
, networkx
, numpy
, pandas
, protobuf
, requests
, scipy
, sortedcontainers
, sympy
, tqdm
, typing-extensions
# test inputs # test inputs
, freezegun
, pytestCheckHook , pytestCheckHook
, pytest-asyncio
, pytest-benchmark
, ply
, pydot
, pyyaml
, pygraphviz
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "cirq"; pname = "cirq";
version = "0.10.0"; inherit (cirq-core) version src meta;
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "quantumlib";
repo = "cirq";
rev = "v${version}";
sha256 = "0xinml44n2lfl0q2lb2apmn69gsszlwim83082f66vyk0gpwd4lr";
};
postPatch = ''
substituteInPlace requirements.txt \
--replace "matplotlib~=3.0" "matplotlib" \
--replace "networkx~=2.4" "networkx" \
--replace "numpy~=1.16" "numpy" \
--replace "protobuf~=3.13.0" "protobuf"
'';
propagatedBuildInputs = [ propagatedBuildInputs = [
google-api-core cirq-core
matplotlib cirq-google
networkx
numpy
pandas
protobuf
requests
scipy
sortedcontainers
sympy
tqdm
typing-extensions
]; ];
# pythonImportsCheck = [ "cirq" "cirq.Circuit" ]; # cirq's importlib hook doesn't work here # pythonImportsCheck = [ "cirq" "cirq.Circuit" ]; # cirq's importlib hook doesn't work here
checkInputs = [ checkInputs = [ pytestCheckHook ];
pytestCheckHook
freezegun # Don't run submodule or development tool tests
pytest-asyncio disabledTestPaths = [
pytest-benchmark "cirq-google"
ply "cirq-core"
pydot "dev_tools"
pyyaml
pygraphviz
]; ];
pytestFlagsArray = [
"--ignore=dev_tools" # Only needed when developing new code, which is out-of-scope
"--ignore=cirq/contrib/" # requires external (unpackaged) python packages, so untested.
"--benchmark-disable" # Don't need to run benchmarks when packaging.
];
disabledTests = lib.optionals stdenv.isAarch64 [
# Seem to fail due to math issues on aarch64?
"expectation_from_wavefunction"
"test_single_qubit_op_to_framed_phase_form_output_on_example_case"
] ++ [
# slow tests, for quicker building
"test_anneal_search_method_calls"
"test_density_matrix_from_state_tomography_is_correct"
"test_example_runs_qubit_characterizations"
"test_example_runs_hello_line_perf"
"test_example_runs_bc_mean_field_perf"
"test_main_loop"
"test_clifford_circuit_2"
"test_decompose_specific_matrices"
"test_two_qubit_randomized_benchmarking"
"test_kak_decomposition_perf"
"test_example_runs_simon"
"test_decompose_random_unitary"
"test_decompose_size_special_unitary"
"test_api_retry_5xx_errors"
"test_xeb_fidelity"
"test_example_runs_phase_estimator_perf"
"test_cross_entropy_benchmarking"
];
meta = with lib; {
description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.";
homepage = "https://github.com/quantumlib/cirq";
changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ drewrisinger ];
};
} }

View file

@ -0,0 +1,47 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, rustPlatform
, pythonOlder
, openssl
, perl
}:
buildPythonPackage rec {
pname = "clvm_rs";
version = "0.1.7";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "clvm_rs";
rev = version;
sha256 = "sha256-ves23q1uQ3lexwK9l1xGRss05jYObJDi/aY9Yvp4aPU=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-3kPzM2EX61ZvU6VKXY1OG/ic+9FU3Et4RuKp+3QYzSo=";
};
format = "pyproject";
nativeBuildInputs = [
perl # used by openssl-sys to configure
] ++ (with rustPlatform; [
cargoSetupHook
maturinBuildHook
]);
buildInputs = [ openssl ];
pythonImportsCheck = [ "clvm_rs" ];
meta = with lib; {
homepage = "https://chialisp.com/";
description = "Rust implementation of clvm";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,51 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, clvm
, setuptools-scm
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "clvm_tools";
version = "0.4.3";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "clvm_tools";
rev = version;
sha256 = "sha256-bWz3YCrakob/kROq+LOA+yD1wtIbInVrmDqtg4/cV4g=";
};
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
clvm
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"clvm_tools"
];
disabledTests = [
"test_cmd_unknown-1_txt"
];
# give a hint to setuptools_scm on package version
SETUPTOOLS_SCM_PRETEND_VERSION="v${version}";
meta = with lib; {
description = "Tools for clvm development";
homepage = "https://www.chialisp.com/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,52 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, blspy
, setuptools-scm
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "clvm";
version = "0.9.6";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "clvm";
rev = version;
sha256 = "sha256-XBQEilDFhx0kT9bEMD4jX+SDk3cAC1BUCWhbtpgrLcA=";
};
nativeBuildInputs = [
setuptools-scm
];
# give a hint to setuptools_scm on package version
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
propagatedBuildInputs = [
blspy
];
checkInputs = [
pytestCheckHook
];
disabledTestPaths = [
# all tests in this file have a circular dependency on clvm-tools
"tests/cmds_test.py"
];
pythonImportsCheck = [
"clvm"
];
meta = with lib; {
description = "Chia Lisp virtual machine";
homepage = "https://www.chia.net/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, portalocker
}:
buildPythonPackage rec {
pname = "concurrent-log-handler";
version = "0.9.19";
src = fetchPypi {
inherit pname version;
hash = "sha256-sS95q+0/lBIcJc6cJM21fYiSguxv9h9VNasgaNw31Ak=";
};
propagatedBuildInputs = [
portalocker
];
pythonImportsCheck = [
"concurrent_log_handler"
];
doCheck = false; # upstream has no tests
meta = with lib; {
description = "Python logging handler that allows multiple processes to safely write to the same log file concurrently";
homepage = "https://www.chia.net/";
license = licenses.asl20;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "coqpit";
version = "0.0.6.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "coqui-ai";
repo = pname;
rev = "v${version}";
sha256 = "0wb5wf84i5h4ycm732kn4316v7schhm91s2rrklfw9sny5dqmdnh";
};
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"coqpit"
"coqpit.coqpit"
];
meta = with lib; {
description = "Simple but maybe too simple config management through python data classes";
longDescription = ''
Simple, light-weight and no dependency config handling through python data classes with to/from JSON serialization/deserialization.
'';
homepage = "https://github.com/coqui-ai/coqpit";
license = licenses.mit;
maintainers = with maintainers; [ hexa mic92 ];
};
}

View file

@ -35,6 +35,12 @@ buildPythonPackage rec {
rm __init__.py rm __init__.py
''; '';
checkInputs = [ pytestCheckHook ]; checkInputs = [ pytestCheckHook ];
disabledTests = [
# known flaky tests: https://github.com/scikit-learn-contrib/hdbscan/issues/420
"test_mem_vec_diff_clusters"
"test_all_points_mem_vec_diff_clusters"
"test_approx_predict_diff_clusters"
];
meta = with lib; { meta = with lib; {
description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API"; description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API";

View file

@ -9,13 +9,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "karton-autoit-ripper"; pname = "karton-autoit-ripper";
version = "1.0.0"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CERT-Polska"; owner = "CERT-Polska";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0vdsxkbjcr0inpcfjh45gl72ipzklkhgs06fdpkyy9y0cfx3zq7z"; sha256 = "1bsqpf9w6d9fjysmnafaglg2w41gsafs2xz4dzcgc7n92shpcs8w";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -28,7 +28,6 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace requirements.txt \ substituteInPlace requirements.txt \
--replace "autoit-ripper==1.0.0" "autoit-ripper" \ --replace "autoit-ripper==1.0.0" "autoit-ripper" \
--replace "karton.core==4.0.4" "karton-core" \
--replace "malduck==3.1.0" "malduck>=3.1.0" \ --replace "malduck==3.1.0" "malduck>=3.1.0" \
--replace "regex==2020.2.20" "regex>=2020.2.20" --replace "regex==2020.2.20" "regex>=2020.2.20"
''; '';

View file

@ -0,0 +1,59 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchpatch
, argon2_cffi
, keyring
, pycryptodome
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "keyrings.cryptfile";
# NOTE: newer releases are bugged/incompatible
# https://github.com/frispete/keyrings.cryptfile/issues/15
version = "1.3.4";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-jW+cKMm+xef8C+fl0CGe+6SEkYBHDjFX2/kLCZ62j6c=";
};
patches = [
# upstream setup.cfg has an option that is not supported
./fix-testsuite.patch
# change of API in keyrings.testing
(fetchpatch {
url = "https://github.com/frispete/keyrings.cryptfile/commit/6fb9e45f559b8b69f7a0a519c0bece6324471d79.patch";
sha256 = "sha256-1878pMO9Ed1zs1pl+7gMjwx77HbDHdE1CryN8TPfPdU=";
})
];
propagatedBuildInputs = [
argon2_cffi
keyring
pycryptodome
];
pythonImportsCheck = [
"keyrings.cryptfile"
];
checkInputs = [
pytestCheckHook
];
disabledTests = [
"test_set_properties"
"UncryptedFileKeyringTestCase"
];
meta = with lib; {
description = "Encrypted file keyring backend";
homepage = "https://github.com/frispete/keyrings.cryptfile";
license = licenses.mit;
maintainers = teams.chia.members;
};
}

View file

@ -0,0 +1,14 @@
diff --git a/setup.cfg b/setup.cfg
index ec7eb30..7ffd831 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -5,9 +5,6 @@ dists = clean --all sdist bdist_wheel
[wheel]
universal = 1
-[tool:pytest]
-addopts = -s --cov=keyrings/cryptfile
-
[egg_info]
tag_build =
tag_date = 0

View file

@ -90,7 +90,7 @@ buildPythonPackage rec {
${opensslLegacyStatic.out}/lib/libcrypto.a \ ${opensslLegacyStatic.out}/lib/libcrypto.a \
deps/openssl-OpenSSL_${legacyOpenSSLVersion}/ deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
ln -s ${opensslLegacyStatic.bin} deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/ mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
cp ${opensslStatic.out}/lib/libssl.a \ cp ${opensslStatic.out}/lib/libssl.a \

View file

@ -65,6 +65,6 @@ buildPythonApplication rec {
homepage = "https://github.com/bootphon/phonemizer"; homepage = "https://github.com/bootphon/phonemizer";
description = "Simple text to phones converter for multiple languages"; description = "Simple text to phones converter for multiple languages";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ hexa ]; maintainers = with maintainers; [ ];
}; };
} }

View file

@ -42,6 +42,6 @@ buildPythonPackage rec {
description = "Unicode Standard tokenization routines and orthography profile segmentation"; description = "Unicode Standard tokenization routines and orthography profile segmentation";
homepage = "https://github.com/cldf/segments"; homepage = "https://github.com/cldf/segments";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ hexa ]; maintainers = with maintainers; [ ];
}; };
} }

View file

@ -1,6 +1,7 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, fetchpatch
, isPy27 , isPy27
, click , click
, click-log , click-log
@ -45,6 +46,14 @@ buildPythonPackage rec {
pytest-subtesthack pytest-subtesthack
]; ];
patches = [
(fetchpatch {
name = "update-usage-deprecated-method.patch";
url = "https://github.com/pimutils/vdirsyncer/commit/7577fa21177442aacc2d86640ef28cebf1c4aaef.patch";
sha256 = "0inkr1wfal20kssij8l5myhpjivxg8wlvhppqc3lvml9d1i75qbh";
})
];
postPatch = '' postPatch = ''
substituteInPlace setup.py --replace "click>=5.0,<6.0" "click" substituteInPlace setup.py --replace "click>=5.0,<6.0" "click"
''; '';

View file

@ -7,13 +7,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ytmusicapi"; pname = "ytmusicapi";
version = "0.16.0"; version = "0.17.1";
disabled = isPy27; disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-/94/taeBI6xZ3uN/wfMnk/NPmk+j0+aaH8CAZBEsK10="; sha256 = "sha256-b5+AGf9qFqQbx4Rq4RovK2NllYsB+sXVMFU4AvbDkzI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -1,4 +1,4 @@
{ lib, rustPlatform, fetchFromGitHub }: { lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "bacon"; pname = "bacon";
@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1pii5ajl3xgylrm20pkwbd1lk7gv0pshl1cxjfna0l63q56v7f21"; cargoSha256 = "1pii5ajl3xgylrm20pkwbd1lk7gv0pshl1cxjfna0l63q56v7f21";
buildInputs = lib.optional stdenv.isDarwin CoreServices;
meta = with lib; { meta = with lib; {
description = "Background rust code checker"; description = "Background rust code checker";
homepage = "https://github.com/Canop/bacon"; homepage = "https://github.com/Canop/bacon";

View file

@ -101,6 +101,7 @@ rec {
i686-linux = "b76e69ad4b654384b4f1647f0cb362e78c1d99be7b814d7d32abc22294639ace"; i686-linux = "b76e69ad4b654384b4f1647f0cb362e78c1d99be7b814d7d32abc22294639ace";
armv7l-linux = "cc4be8e0c348bc8db5002cf6c63c1d02fcb594f1f8bfc358168738c930098857"; armv7l-linux = "cc4be8e0c348bc8db5002cf6c63c1d02fcb594f1f8bfc358168738c930098857";
aarch64-linux = "75665dd5b2b9938bb4572344d459db65f46c5f7c637a32946c5a822cc23a77dc"; aarch64-linux = "75665dd5b2b9938bb4572344d459db65f46c5f7c637a32946c5a822cc23a77dc";
aarch64-darwin = "0c782b1d4eb848bae780f4e3a236caa1671486264c1f8e72fde98f1256d8f9e5";
headers = "0ip1wxgflifs86vk4xpz1555xa7yjy64ygqgd5a2g723148m52rk"; headers = "0ip1wxgflifs86vk4xpz1555xa7yjy64ygqgd5a2g723148m52rk";
}; };
@ -110,6 +111,7 @@ rec {
i686-linux = "16023d86b88c7fccafd491c020d064caa2138d6a3493664739714555f72e5b06"; i686-linux = "16023d86b88c7fccafd491c020d064caa2138d6a3493664739714555f72e5b06";
armv7l-linux = "53cc1250ff62f2353d8dd37552cbd7bdcaaa756106faee8b809303bed00e040a"; armv7l-linux = "53cc1250ff62f2353d8dd37552cbd7bdcaaa756106faee8b809303bed00e040a";
aarch64-linux = "3eddc0c507a43cce4e714bfe509d99218b5ab99f4660dd173aac2a895576dc71"; aarch64-linux = "3eddc0c507a43cce4e714bfe509d99218b5ab99f4660dd173aac2a895576dc71";
aarch64-darwin = "2bc8f37af68e220f93fb9abc62d1c56d8b64baaf0ef9ef974f24ddcbe4f8b488";
headers = "1ji9aj7qr4b27m5kprsgsrl21rjphz5bbnmn6q0n2x84l429nyfb"; headers = "1ji9aj7qr4b27m5kprsgsrl21rjphz5bbnmn6q0n2x84l429nyfb";
}; };
} }

View file

@ -26,7 +26,8 @@ let
homepage = "https://github.com/electron/electron"; homepage = "https://github.com/electron/electron";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ travisbhartwell manveru prusnak ]; maintainers = with maintainers; [ travisbhartwell manveru prusnak ];
platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ]; platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ]
++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ];
knownVulnerabilities = optional (versionOlder version "6.0.0") "Electron version ${version} is EOL"; knownVulnerabilities = optional (versionOlder version "6.0.0") "Electron version ${version} is EOL";
}; };
@ -46,6 +47,7 @@ let
armv7l-linux = "linux-armv7l"; armv7l-linux = "linux-armv7l";
aarch64-linux = "linux-arm64"; aarch64-linux = "linux-arm64";
x86_64-darwin = "darwin-x64"; x86_64-darwin = "darwin-x64";
aarch64-darwin = "darwin-arm64";
}; };
get = as: platform: as.${platform.system} or get = as: platform: as.${platform.system} or

View file

@ -17,6 +17,7 @@ SYSTEMS=(
[armv7l-linux]=linux-armv7l [armv7l-linux]=linux-armv7l
[aarch64-linux]=linux-arm64 [aarch64-linux]=linux-arm64
[x86_64-darwin]=darwin-x64 [x86_64-darwin]=darwin-x64
[aarch64-darwin]=darwin-arm64
) )
hashfile="$(nix-prefetch-url --print-path "https://github.com/electron/electron/releases/download/v${VERSION}/SHASUMS256.txt" 2>/dev/null | tail -n1)" hashfile="$(nix-prefetch-url --print-path "https://github.com/electron/electron/releases/download/v${VERSION}/SHASUMS256.txt" 2>/dev/null | tail -n1)"
@ -27,8 +28,10 @@ headers="$(nix-prefetch-url "https://atom.io/download/electron/v${VERSION}/node-
echo " electron_${VERSION%%.*} = mkElectron \"${VERSION}\" {" echo " electron_${VERSION%%.*} = mkElectron \"${VERSION}\" {"
for S in "${!SYSTEMS[@]}"; do for S in "${!SYSTEMS[@]}"; do
hash="$(grep " *electron-v${VERSION}-${SYSTEMS[$S]}.zip$" "$hashfile"|cut -f1 -d' ')" hash="$(grep " *electron-v${VERSION}-${SYSTEMS[$S]}.zip$" "$hashfile"|cut -f1 -d' ' || :)"
echo " $S = \"$hash\";" if [[ -n $hash ]]; then
echo " $S = \"$hash\";"
fi
done done
echo " headers = \"$headers\";" echo " headers = \"$headers\";"

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "metals"; pname = "metals";
version = "0.10.2"; version = "0.10.3";
deps = stdenv.mkDerivation { deps = stdenv.mkDerivation {
name = "${pname}-deps-${version}"; name = "${pname}-deps-${version}";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
''; '';
outputHashMode = "recursive"; outputHashMode = "recursive";
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";
outputHash = "1yck935pcj9cg3qxzrmvgd16afsckz8wgmzf2rlmii2c1glrbq9c"; outputHash = "1psmsiwd3xlbrvkdvr2zgs2b66kw8w2jvvqa399g7jhixh2fpbx4";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,25 @@
{ stdenv, lib, fetchFromGitHub, elixir, erlang }:
stdenv.mkDerivation rec {
pname = "mix2nix";
version = "0.1.3";
src = fetchFromGitHub {
owner = "ydlr";
repo = "mix2nix";
rev = version;
sha256 = "11qn80im5zfbx25ibxqrgi90mglf8pnsmrqsami633mcf2gvj2hy";
};
nativeBuildInputs = [ elixir ];
buildInputs = [ erlang ];
buildPhase = "mix escript.build";
installPhase = "install -Dt $out/bin mix2nix";
meta = with lib; {
description = "Generate nix expressions from mix.lock file.";
license = licenses.mit;
maintainers = with maintainers; [ ydlr ] ++ teams.beam.members;
};
}

View file

@ -14,13 +14,13 @@
buildGoModule rec { buildGoModule rec {
pname = "skopeo"; pname = "skopeo";
version = "1.2.3"; version = "1.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "containers"; owner = "containers";
repo = "skopeo"; repo = "skopeo";
sha256 = "sha256-GhLw8wt5eDixKNGtxGA0Fjw3auQ3AsjKa+0M4mLTQlg="; sha256 = "sha256-ZHEujkl+GUk5WjgDWdbJwOIKuOqJnIpGnvD1SsrHuhI=";
}; };
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];

View file

@ -1,10 +0,0 @@
{ pkgs ? (import ../../../../. {})
, fetchFromGitHub ? pkgs.fetchFromGitHub
}:
fetchFromGitHub {
owner = "moretea";
repo = "yarn2nix";
rev = "9e7279edde2a4e0f5ec04c53f5cd64440a27a1ae";
sha256 = "0zz2lrwn3y3rb8gzaiwxgz02dvy3s552zc70zvfqc0zh5dhydgn7";
}

View file

@ -1,40 +0,0 @@
#!/usr/bin/env bash
###
### This script runs 'nix-build' with ./fetch-source.nix and copies a subset
### of the resulting store path into the current working directory.
###
### To disable running chmod, you may set the environment
### variable "FIX_RIGHTS" to "no".
###
set -euo pipefail
# 'nix-build' command
NIX_BUILD_BIN="${NIX_BUILD_BIN:-"/usr/bin/env nix-build"}"
# where to place the yarn2nix source
TARGET_DIR="${TARGET_DIR:-"./yarn2nix"}"
# whether to run 'chmod -R u=rwX,g=rX,o-rwx' on copied files in $TARGET_DIR
FIX_RIGHTS="${FIX_RIGHTS:-"yes"}"
fetch_git_source() {
[[ -f ./fetch-source.nix ]] && ret="$($NIX_BUILD_BIN --no-out-link ./fetch-source.nix)" && ec="$?" || ec="$?"
if [[ "$ec" == "0" ]]; then
echo "$ret"
else
printf "error: failed at 'fetch_git_source()' with '%s'" "$ret"
fi
}
result="$(fetch_git_source)"
if [[ "$result" == "/nix/store"* ]]; then
mkdir -p "$TARGET_DIR"
cp -Rv \
"${result}/"{bin,internal,lib,nix,default.nix,package.json,yarn.nix,yarn.lock,LICENSE.txt} \
"$TARGET_DIR"
[[ "$FIX_RIGHTS" = "yes" ]] \
&& chmod -v "u=rwX,g=rX,o-rwx" -R \
"$TARGET_DIR/"{bin,internal,lib,nix,default.nix,package.json,yarn.nix,yarn.lock,LICENSE.txt}
fi

View file

@ -22,8 +22,8 @@ function urlToName(url) {
} }
return url return url
.replace('https://registry.yarnpkg.com/', '') // prevents having long directory names .replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
.replace(/[@/:-]/g, '_') // replace @ and : and - characters with underscore .replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
} }
module.exports = urlToName module.exports = urlToName

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ let
in in
buildNodejs { buildNodejs {
inherit enableNpm; inherit enableNpm;
version = "14.16.1"; version = "14.17.0";
sha256 = "1hxsk83g2plv6vv3ir1ngca0rwqdy3lq70r504d2qv3msszdnjp4"; sha256 = "1vf989canwcx0wdpngvkbz2x232yccp7fzs1vcbr60rijgzmpq2n";
patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff; patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
} }

View file

@ -8,6 +8,6 @@ let
in in
buildNodejs { buildNodejs {
inherit enableNpm; inherit enableNpm;
version = "16.1.0"; version = "16.2.0";
sha256 = "0z0808mw674mshgbmhgngqfkrdix3b61f77xcdz7bwf1j87j7ad0"; sha256 = "1krm3cnpbnqg4mfl3cpp8x2i1rr6hba9qbl60wyg5f5g8ac3pyfh";
} }

View file

@ -1,5 +1,18 @@
{ lib, stdenv, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg_3 { lib
, boost, cmake, SDL2, unshield, openal, libXt, pkg-config }: , mkDerivation
, fetchFromGitHub
, cmake
, pkg-config
, openscenegraph
, mygui
, bullet
, ffmpeg
, boost
, SDL2
, unshield
, openal
, libXt
}:
let let
openscenegraph_ = openscenegraph.overrideDerivation (self: { openscenegraph_ = openscenegraph.overrideDerivation (self: {
@ -11,9 +24,9 @@ let
sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd"; sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
}; };
}); });
in
stdenv.mkDerivation rec { in
mkDerivation rec {
version = "0.46.0"; version = "0.46.0";
pname = "openmw"; pname = "openmw";
@ -25,10 +38,23 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ boost ffmpeg_3 bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
buildInputs = [
SDL2
boost
bullet
ffmpeg
libXt
mygui
openal
openscenegraph_
unshield
];
cmakeFlags = [ cmakeFlags = [
"-DDESIRED_QT_VERSION:INT=5" "-DDESIRED_QT_VERSION:INT=5"
# as of 0.46, openmw is broken with GLVND
"-DOpenGL_GL_PREFERENCE=LEGACY"
]; ];
dontWrapQtApps = true; dontWrapQtApps = true;
@ -37,7 +63,7 @@ stdenv.mkDerivation rec {
description = "An unofficial open source engine reimplementation of the game Morrowind"; description = "An unofficial open source engine reimplementation of the game Morrowind";
homepage = "http://openmw.org"; homepage = "http://openmw.org";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
platforms = platforms.linux;
}; };
} }

View file

@ -1,96 +1,134 @@
{ lib, stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper, mygui }: { lib
, stdenv
, cmake
, openmw
, fetchFromGitHub
, formats
, luajit
, makeWrapper
, symlinkJoin
, mygui
, crudini
}:
# revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy # revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
let let
# TES3MP_STABLE_VERSION_FILE # raknet could also be split into dev and lib outputs
compatHash = "292536439eeda58becdb7e441fe2e61ebb74529e"; raknet = stdenv.mkDerivation {
rakNet = fetchFromGitHub { pname = "raknet";
owner = "TES3MP"; version = "unstable-2018-07-14";
repo = "CrabNet";
# usually fixed:
# https://github.com/GrimKriegor/TES3MP-deploy/blob/d2a4a5d3acb64b16d9b8ca85906780aeea8d311b/tes3mp-deploy.sh#L589
rev = "4eeeaad2f6c11aeb82070df35169694b4fb7b04b";
sha256 = "0p0li9l1i5lcliswm5w9jql0zff9i6fwhiq0bl130m4i7vpr4cr3";
};
rakNetLibrary = stdenv.mkDerivation {
name = "RakNetLibrary";
src = rakNet;
nativeBuildInputs = [ cmake ];
installPhase = ''
install -Dm755 lib/libRakNetLibStatic.a $out/lib/libRakNetLibStatic.a
'';
};
coreScripts = fetchFromGitHub {
owner = "TES3MP";
repo = "CoreScripts";
# usually latest in stable branch (e.g. 0.7.0)
rev = "24aae91d9ddad38cdb3b0e0a13af59f142803e94";
sha256 = "1rfmxxr9ircfagdpbdrzl26msdhx1i3g974cblbv69078cradfh3";
};
# https://github.com/TES3MP/openmw-tes3mp/issues/555
mygui_ = mygui.overrideAttrs (oldAttrs: rec {
version = "3.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MyGUI"; owner = "TES3MP";
repo = "mygui"; repo = "CrabNet";
rev = "MyGUI${version}"; # usually fixed:
sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw"; # https://github.com/GrimKriegor/TES3MP-deploy/blob/d2a4a5d3acb64b16d9b8ca85906780aeea8d311b/tes3mp-deploy.sh#L589
rev = "4eeeaad2f6c11aeb82070df35169694b4fb7b04b";
sha256 = "0p0li9l1i5lcliswm5w9jql0zff9i6fwhiq0bl130m4i7vpr4cr3";
};
nativeBuildInputs = [ cmake ];
installPhase = ''
install -Dm555 lib/libRakNetLibStatic.a $out/lib/libRakNetLibStatic.a
'';
};
coreScripts = stdenv.mkDerivation {
pname = "corescripts";
version = "unstable-2020-07-27";
src = fetchFromGitHub {
owner = "TES3MP";
repo = "CoreScripts";
# usually latest in stable branch (e.g. 0.7.1)
rev = "3c2d31595344db586d8585db0ef1fc0da89898a0";
sha256 = "sha256-m/pt2Et58HOMc1xqllGf4hjPLXNcc14+X0h84ouZDeg=";
};
buildCommand = ''
dir=$out/share/openmw-tes3mp
mkdir -p $dir
cp -r $src $dir/CoreScripts
'';
};
# build an unwrapped version so we don't have to rebuild it all over again in
# case the scripts or wrapper scripts change.
unwrapped = openmw.overrideAttrs (oldAttrs: rec {
pname = "openmw-tes3mp-unwrapped";
version = "unstable-2020-08-07";
src = fetchFromGitHub {
owner = "TES3MP";
repo = "openmw-tes3mp";
# usually latest in stable branch (e.g. 0.7.1)
rev = "ce5df6d18546e37aac9746d99c00d27a7f34b00d";
sha256 = "sha256-xLslShNA6rVFl9kt6BNGDpSYMpO25jBTCteLJoSTXdg=";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
buildInputs = oldAttrs.buildInputs ++ [ luajit ];
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
"-DRakNet_INCLUDES=${raknet.src}/include"
"-DRakNet_LIBRARY_RELEASE=${raknet}/lib/libRakNetLibStatic.a"
"-DRakNet_LIBRARY_DEBUG=${raknet}/lib/libRakNetLibStatic.a"
];
# https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [ ./tes3mp.patch ];
NIX_CFLAGS_COMPILE = "-fpermissive";
preConfigure = ''
substituteInPlace files/version.in \
--subst-var-by OPENMW_VERSION_COMMITHASH ${src.rev}
'';
# move everything that we wrap out of the way
postInstall = ''
mkdir -p $out/libexec
mv $out/bin/tes3mp-* $out/libexec
'';
meta = with lib; {
description = "Multiplayer for TES3:Morrowind based on OpenMW";
homepage = "https://tes3mp.com/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ peterhoeg ];
platforms = [ "x86_64-linux" "i686-linux" ];
}; };
}); });
in openmw.overrideAttrs (oldAttrs: rec {
version = "2019-11-19";
name = "openmw-tes3mp-${version}";
src = fetchFromGitHub { cfgFile = (formats.ini { }).generate "tes3mp-server.cfg" {
owner = "TES3MP"; Plugins.home = "${coreScripts}/share/openmw-tes3mp/CoreScripts";
repo = "openmw-tes3mp";
# usually latest in stable branch (e.g. 0.7.0)
rev = "ad9ee80641a3e22d0780daca051df7f4e90f3615";
sha256 = "03a1vldiv5lk7yq6lhicx3qz8hjfxhind2dj0w9lg5839ljyk6jv";
}; };
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ]; in
buildInputs = [ luajit mygui_ ] ++ oldAttrs.buildInputs; symlinkJoin rec {
name = "openmw-tes3mp-${unwrapped.version}";
inherit (unwrapped) version meta;
cmakeFlags = oldAttrs.cmakeFlags ++ [ nativeBuildInputs = [ makeWrapper ];
"-DBUILD_OPENCS=OFF"
"-DRakNet_INCLUDES=${rakNet}/include"
"-DRakNet_LIBRARY_RELEASE=${rakNetLibrary}/lib/libRakNetLibStatic.a"
"-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
];
dontWrapQtApps = true; paths = [ unwrapped ];
# https://github.com/TES3MP/openmw-tes3mp/issues/552 # crudini --merge will create the file if it doesn't exist
patches = [ postBuild = ''
./tes3mp.patch mkdir -p $out/bin
];
NIX_CFLAGS_COMPILE = "-fpermissive";
preConfigure = '' dir=\''${XDG_CONFIG_HOME:-\$HOME/.config}/openmw
substituteInPlace files/version.in \
--subst-var-by OPENMW_VERSION_COMMITHASH ${compatHash}
'';
postInstall = '' makeWrapper ${unwrapped}/libexec/tes3mp-browser $out/bin/tes3mp-browser \
# components/process/processinvoker.cpp: path.prepend(QLatin1String("./"))
wrapProgram $out/bin/tes3mp-browser \
--run "cd $out/bin" --run "cd $out/bin"
wrapProgram $out/bin/tes3mp-server \
--run "mkdir -p ~/.config/openmw" \ makeWrapper ${unwrapped}/libexec/tes3mp-server $out/bin/tes3mp-server \
--run "cd ~/.config/openmw" \ --run "mkdir -p $dir" \
--run "[ -d CoreScripts ] || cp --no-preserve=mode -r ${coreScripts} CoreScripts" \ --run "${crudini}/bin/crudini --merge $dir/${cfgFile.name} < ${cfgFile}" \
--run "[ -f tes3mp-server.cfg ] || echo \"[Plugins] home = \$HOME/.config/openmw/CoreScripts\" > tes3mp-server.cfg" \
--run "cd $out/bin" --run "cd $out/bin"
''; '';
}
meta = with lib; {
description = "Multiplayer for TES3:Morrowind based on OpenMW";
homepage = "https://tes3mp.com/";
license = licenses.gpl3;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ ];
};
})

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "r2mod_cli"; pname = "r2mod_cli";
version = "1.0.7"; version = "1.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Foldex"; owner = "Foldex";
repo = "r2mod_cli"; repo = "r2mod_cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "13n2y9gsgb8hnr64y083x9c90j3b4awcmdn81mqmwcydpby3q848"; sha256 = "sha256-VNqdVDBR6+eNOeUthPXLfz+0VoaNfSj4f04HLvjg6/0=";
}; };
buildInputs = [ bashInteractive ]; buildInputs = [ bashInteractive ];

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, which, pkg-config, makeWrapper { lib, stdenv, fetchFromGitHub, which, pkg-config, makeWrapper
, ffmpeg_3, libGLU, libGL, freetype, libxml2, python3 , ffmpeg, libGLU, libGL, freetype, libxml2, python3
, libobjc, AppKit, Foundation , libobjc, AppKit, Foundation
, alsaLib ? null , alsaLib ? null
, libdrm ? null , libdrm ? null
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config wayland ] nativeBuildInputs = [ pkg-config wayland ]
++ optional withVulkan makeWrapper; ++ optional withVulkan makeWrapper;
buildInputs = [ ffmpeg_3 freetype libxml2 libGLU libGL python3 SDL2 which ] buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ]
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
++ optional withVulkan vulkan-loader ++ optional withVulkan vulkan-loader
++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]

View file

@ -0,0 +1,38 @@
{ lib, stdenv, fetchFromGitHub, kernel }:
stdenv.mkDerivation rec {
pname = "hid-nintendo";
version = "3.1";
src = fetchFromGitHub {
owner = "nicman23";
repo = "dkms-hid-nintendo";
rev = version;
sha256 = "sha256-IanH3yHfkQhqtKvKD8lh+muc9yX8XJ5bfdy1Or8Vd5g=";
};
setSourceRoot = ''
export sourceRoot=$(pwd)/source/src
'';
nativeBuildInputs = kernel.moduleBuildDependencies;
makeFlags = [
"-C"
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(sourceRoot)"
];
buildFlags = [ "modules" ];
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
installTargets = [ "modules_install" ];
meta = with lib; {
description = "A Nintendo HID kernel module";
homepage = "https://github.com/nicman23/dkms-hid-nintendo";
license = licenses.gpl2;
maintainers = [ maintainers.rencire ];
platforms = platforms.linux;
broken = versionOlder kernel.version "4.14";
};
}

View file

@ -12,15 +12,17 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ bc nukeReferences ]; nativeBuildInputs = [ bc nukeReferences ];
buildInputs = kernel.moduleBuildDependencies; buildInputs = kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" "format" ]; hardeningDisable = [ "pic" "format" ];
prePatch = '' prePatch = ''
substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/" substituteInPlace ./Makefile \
substituteInPlace ./Makefile --replace '$(shell uname -r)' "${kernel.modDirVersion}" --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
substituteInPlace ./Makefile --replace /sbin/depmod \# --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" --replace /sbin/depmod \# \
--replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
''; '';
makeFlags = [ makeFlags = [
@ -45,7 +47,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/gordboy/rtl8812au-5.9.3.2"; homepage = "https://github.com/gordboy/rtl8812au-5.9.3.2";
license = licenses.gpl2Only; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ fortuneteller2k ];
broken = kernel.kernelOlder "4.10" || kernel.isHardened; broken = kernel.kernelOlder "4.10" || kernel.isHardened;
}; };
} }

View file

@ -1,13 +1,14 @@
{ lib, stdenv, fetchFromGitHub, kernel, bc }: { lib, stdenv, fetchFromGitHub, kernel, bc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rtl8821cu-${kernel.version}-${version}"; pname = "rtl8821cu";
version = "unstable-2020-12-21"; version = "${kernel.version}-unstable-2021-05-19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "brektrou"; owner = "morrownr";
repo = "rtl8821cu"; repo = "8821cu";
rev = "428a0820487418ec69c0edb91726d1cf19763b1e"; rev = "2430c354c9b15fa6193a263c99ce57211d50c66f";
sha256 = "1ccl94727yq7gzn37ky91k0736cambgnkaa37r2f2hinpl9qdd8q"; sha256 = "sha256-PkrpwebZYh/hBukqDQf6pxfbkVyA+CpYtte5pmzgLtw=";
}; };
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];
@ -29,8 +30,8 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Realtek rtl8821cu driver"; description = "Realtek rtl8821cu driver";
homepage = "https://github.com/brektrou/rtl8821CU"; homepage = "https://github.com/morrownr/8821cu";
license = licenses.gpl2; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.contrun ]; maintainers = [ maintainers.contrun ];
}; };

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libtool, llvm-bintools, ninja { lib, stdenv, fetchFromGitHub, cmake, libtool, llvm-bintools, ninja
, boost, brotli, capnproto, cctz, clang-unwrapped, double-conversion , boost, brotli, capnproto, cctz, clang-unwrapped, double-conversion
, icu, jemalloc, libcpuid, libxml2, lld, llvm, lz4, libmysqlclient, openssl, perl , icu, jemalloc, libcpuid, libxml2, lld, llvm, lz4, libmysqlclient, openssl, perl
, poco, protobuf, python3, rapidjson, re2, rdkafka, readline, sparsehash, unixODBC , poco, protobuf, python3, rapidjson, re2, rdkafka, readline, sparsehash, unixODBC
@ -7,16 +7,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "clickhouse"; pname = "clickhouse";
version = "20.11.4.13"; version = "21.3.11.5";
broken = stdenv.buildPlatform.is32bit; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685 broken = stdenv.buildPlatform.is32bit; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ClickHouse"; owner = "ClickHouse";
repo = "ClickHouse"; repo = "ClickHouse";
rev = "v${version}-stable"; rev = "v${version}-lts";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "0c87k0xqwj9sc3xy2f3ngfszgjiz4rzd787bdg6fxp94w1adjhny"; sha256 = "sha256-V62Z82p21qtvSOsoXM225/Wkc9F+dvVMz0xpVjhgZVo=";
}; };
nativeBuildInputs = [ cmake libtool llvm-bintools ninja ]; nativeBuildInputs = [ cmake libtool llvm-bintools ninja ];
@ -27,20 +27,9 @@ stdenv.mkDerivation rec {
xxHash zstd xxHash zstd
]; ];
patches = [
# This patch is only required for 20.11.4.13 - it should be included in the
# next stable release from upstream by default
(fetchpatch {
url = "https://github.com/ClickHouse/ClickHouse/commit/e31753b4db7aa0a72a85757dc11fc403962e30db.patch";
sha256 = "12ax02dh9y9k8smkj6v50yfr46iprscbrvd4bb9vfbx8xqgw7grb";
})
];
postPatch = '' postPatch = ''
patchShebangs src/ patchShebangs src/
substituteInPlace contrib/openssl-cmake/CMakeLists.txt \
--replace '/usr/bin/env perl' perl
substituteInPlace src/Storages/System/StorageSystemLicenses.sh \ substituteInPlace src/Storages/System/StorageSystemLicenses.sh \
--replace 'git rev-parse --show-toplevel' '$src' --replace 'git rev-parse --show-toplevel' '$src'
substituteInPlace utils/check-style/check-duplicate-includes.sh \ substituteInPlace utils/check-style/check-duplicate-includes.sh \

View file

@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bind"; pname = "bind";
version = "9.16.15"; version = "9.16.16";
src = fetchurl { src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz"; url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
sha256 = "0fbqisrh84f8wszm94cqp7v8q9r7pql3qyzbay7vz9vqv0rg9dlq"; sha256 = "sha256-bJE5Aq34eOfcXiKc6pT678nUD0R3WjAhPt0Ihg92HXs=";
}; };
outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ]; outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jackett"; pname = "jackett";
version = "0.18.15"; version = "0.18.95";
src = fetchurl { src = fetchurl {
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz"; url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
sha256 = "sha256-z2xmF4FIv+z7ybPE7b8ZeC1+jlFi2H2J7HT09Bqyyhs="; sha256 = "sha256-8TkIixPot4V0h4MBh/+WdrWhjgsqyq9wHQyGyfxqZ6s=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -62,5 +62,6 @@ stdenv.mkDerivation rec {
}; };
passthru.tests = { passthru.tests = {
basic-functionality-and-dovecot-interaction = nixosTests.opensmtpd; basic-functionality-and-dovecot-interaction = nixosTests.opensmtpd;
rspamd-integration = nixosTests.opensmtpd-rspamd;
}; };
} }

View file

@ -0,0 +1,30 @@
{ lib
, buildGoModule
, fetchFromGitHub
, nixosTests
}:
buildGoModule rec {
pname = "opensmtpd-filter-rspamd";
version = "0.1.7";
src = fetchFromGitHub {
owner = "poolpOrg";
repo = "filter-rspamd";
rev = "v${version}";
sha256 = "pcHj4utpf/AIUv8/7mE8BLbE8LYkzNKfc4T4hIHgGeI=";
};
vendorSha256 = "sNF2c+22FMvKoROkA/3KtSnRdJh4YZLaIx35HD896HI=";
passthru.tests = {
opensmtpd-rspamd-integration = nixosTests.opensmtpd-rspamd;
};
meta = with lib; {
homepage = "https://github.com/poolpOrg/filter-rspamd";
description = "OpenSMTPD filter integration for the Rspamd daemon";
license = licenses.isc;
maintainers = with maintainers; [ Flakebi ];
};
}

View file

@ -24,6 +24,8 @@ buildPythonApplication rec {
./homeserver-script.patch ./homeserver-script.patch
]; ];
buildInputs = [ openssl ];
propagatedBuildInputs = [ propagatedBuildInputs = [
setuptools setuptools
bcrypt bcrypt

View file

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "grafana"; pname = "grafana";
version = "7.5.2"; version = "7.5.6";
excludedPackages = [ "release_publisher" ]; excludedPackages = [ "release_publisher" ];
@ -10,17 +10,24 @@ buildGoModule rec {
rev = "v${version}"; rev = "v${version}";
owner = "grafana"; owner = "grafana";
repo = "grafana"; repo = "grafana";
sha256 = "sha256-8Qy5YgJZpvaAjeBAi092Jxg4yAD1fYmMteTRm5b0Q+g="; sha256 = "1683as90p4zkzhaj52vy60bcmpr77zynys87mjzh3s6ks3xfxn2x";
}; };
srcStatic = fetchurl { srcStatic = fetchurl {
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
sha256 = "sha256-yVswMNOLX/AFtv45TXm8WcHEytyYgtjvi7V0dRewDdc="; sha256 = "1mywvm4d116y56rffiywk1hx6wxj1418gf7q0v0hfdlwk1lqi9nz";
}; };
vendorSha256 = "sha256-oh3GB6Iaqy05IS2MU5LJqTXnlr0vtkACZA6wpmW7W2Q="; vendorSha256 = "01a5v292x59fmayjkqnf4c8k8viasxr2s2khs4yrv6p829lx3hq2";
# grafana-aws-sdk is specified with two versions which causes a problem later:
# go: inconsistent vendoring in /build/source:
# github.com/grafana/grafana-aws-sdk@v0.3.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
# Remove the older one here to fix this.
postPatch = '' postPatch = ''
substituteInPlace go.mod \
--replace 'github.com/grafana/grafana-aws-sdk v0.3.0' ""
substituteInPlace pkg/cmd/grafana-server/main.go \ substituteInPlace pkg/cmd/grafana-server/main.go \
--replace 'var version = "5.0.0"' 'var version = "${version}"' --replace 'var version = "5.0.0"' 'var version = "${version}"'
''; '';

View file

@ -3,13 +3,13 @@
}: }:
let let
version = "2.26.0"; version = "2.27.1";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "prometheus"; owner = "prometheus";
repo = "prometheus"; repo = "prometheus";
sha256 = "06zr10zx3f526wcxj77smcl8wk55mhlnikd0b8vbjl9yyb0qc5mz"; sha256 = "0836ygyvld5skjycd7366i6vyf451s6cay5ng6c2fwq0skvp2gj2";
}; };
goPackagePath = "github.com/prometheus/prometheus"; goPackagePath = "github.com/prometheus/prometheus";
@ -31,7 +31,7 @@ in buildGoModule rec {
pname = "prometheus"; pname = "prometheus";
inherit src version; inherit src version;
vendorSha256 = "0h14pmk74lxj7z39jb4xwvx3whwkaxn9686y23sgrpkra5sk6dbm"; vendorSha256 = "0dq3p7hga7m1aq78har5rr136hlb0kp8zhh2wzqlkxrk1f33w54p";
excludedPackages = [ "documentation/prometheus-mixin" ]; excludedPackages = [ "documentation/prometheus-mixin" ];

View file

@ -15,27 +15,18 @@
"@codemirror/search": "^0.18.2", "@codemirror/search": "^0.18.2",
"@codemirror/state": "^0.18.2", "@codemirror/state": "^0.18.2",
"@codemirror/view": "^0.18.3", "@codemirror/view": "^0.18.3",
"@forevolve/bootstrap-dark": "^1.0.0",
"@fortawesome/fontawesome-svg-core": "^1.2.14", "@fortawesome/fontawesome-svg-core": "^1.2.14",
"@fortawesome/free-solid-svg-icons": "^5.7.1", "@fortawesome/free-solid-svg-icons": "^5.7.1",
"@fortawesome/react-fontawesome": "^0.1.4", "@fortawesome/react-fontawesome": "^0.1.4",
"@reach/router": "^1.2.1", "@reach/router": "^1.2.1",
"@types/jest": "^26.0.10", "bootstrap": "^4.6.0",
"@types/jquery": "^3.5.1", "codemirror-promql": "^0.15.0",
"@types/node": "^12.11.1",
"@types/reach__router": "^1.2.6",
"@types/react": "^16.8.2",
"@types/react-copy-to-clipboard": "^5.0.0",
"@types/react-dom": "^16.8.0",
"@types/react-resize-detector": "^5.0.0",
"@types/sanitize-html": "^1.20.2",
"bootstrap": "^4.2.1",
"codemirror-promql": "^0.14.0",
"css.escape": "^1.5.1", "css.escape": "^1.5.1",
"downshift": "^3.4.8", "downshift": "^3.4.8",
"enzyme-to-json": "^3.4.3", "enzyme-to-json": "^3.4.3",
"fuzzy": "^0.1.3", "fuzzy": "^0.1.3",
"i": "^0.3.6", "i": "^0.3.6",
"jest-fetch-mock": "^3.0.3",
"jquery": "^3.5.1", "jquery": "^3.5.1",
"jquery.flot.tooltip": "^0.9.0", "jquery.flot.tooltip": "^0.9.0",
"jsdom": "^16.4.0", "jsdom": "^16.4.0",
@ -48,11 +39,13 @@
"react-resize-detector": "^5.0.7", "react-resize-detector": "^5.0.7",
"react-scripts": "3.4.4", "react-scripts": "3.4.4",
"react-test-renderer": "^16.9.0", "react-test-renderer": "^16.9.0",
"reactstrap": "^8.0.1", "reactstrap": "^8.9.0",
"sanitize-html": "^1.20.1", "sanitize-html": "^2.3.3",
"sass": "1.32.10",
"tempusdominus-bootstrap-4": "^5.1.2", "tempusdominus-bootstrap-4": "^5.1.2",
"tempusdominus-core": "^5.0.3", "tempusdominus-core": "^5.0.3",
"typescript": "^3.3.3" "typescript": "^3.3.3",
"use-media": "^1.4.0"
}, },
"scripts": { "scripts": {
"start": "react-scripts start", "start": "react-scripts start",
@ -79,8 +72,17 @@
"@types/enzyme": "^3.10.3", "@types/enzyme": "^3.10.3",
"@types/enzyme-adapter-react-16": "^1.0.5", "@types/enzyme-adapter-react-16": "^1.0.5",
"@types/flot": "0.0.31", "@types/flot": "0.0.31",
"@types/jest": "^26.0.10",
"@types/jquery": "^3.5.1",
"@types/moment-timezone": "^0.5.10", "@types/moment-timezone": "^0.5.10",
"@types/reactstrap": "^8.0.5", "@types/node": "^12.11.1",
"@types/reach__router": "^1.2.6",
"@types/react": "^16.8.2",
"@types/react-copy-to-clipboard": "^5.0.0",
"@types/react-dom": "^16.8.0",
"@types/react-resize-detector": "^5.0.0",
"@types/reactstrap": "^8.7.2",
"@types/sanitize-html": "^1.20.2",
"@types/sinon": "^9.0.4", "@types/sinon": "^9.0.4",
"@typescript-eslint/eslint-plugin": "2.x", "@typescript-eslint/eslint-plugin": "2.x",
"@typescript-eslint/parser": "2.x", "@typescript-eslint/parser": "2.x",

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more