Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-05-20 18:36:04 +00:00 committed by GitHub
commit 0a0c0a9fb9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
138 changed files with 7734 additions and 2349 deletions

View file

@ -3357,6 +3357,12 @@
githubId = 10799507;
name = "Karl Fischer";
};
fitzgibbon = {
name = "Niall FitzGibbon";
email = "fitzgibbon.niall@gmail.com";
github = "fitzgibbon";
githubId = 617048;
};
Flakebi = {
email = "flakebi@t-online.de";
github = "Flakebi";
@ -11465,6 +11471,16 @@
github = "pulsation";
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 = {
name = "Zane van Iperen";
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.";
};
chia = {
members = [
atemu
lourkeur
];
scope = "Maintain the Chia blockchain and its dependencies";
};
deshaw = {
# Verify additions to this team with at least one already existing member of the team.
members = [

View file

@ -36,6 +36,13 @@ rec {
[ ../modules/virtualisation/qemu-vm.nix
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
{ 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; }
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
};

View file

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

View file

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

View file

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

View file

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

View file

@ -3,43 +3,10 @@
with lib;
let
cfg = config.services.netatalk;
extmapFile = pkgs.writeText "extmap.conf" cfg.extmap;
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
{
settingsFormat = pkgs.formats.ini { };
afpConfFile = settingsFormat.generate "afp.conf" cfg.settings;
in {
options = {
services.netatalk = {
@ -51,61 +18,24 @@ in
description = "TCP port to be used for AFP.";
};
extraConfig = mkOption {
type = types.lines;
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 {
settings = mkOption {
inherit (settingsFormat) type;
default = { };
type = types.attrsOf (types.attrsOf types.unspecified);
description =
''
Set of AFP volumes to export.
See <literal>man apf.conf</literal> for more information.
'';
example = literalExample ''
{ srv =
{ path = "/srv";
"read only" = true;
"hosts allow" = "10.1.0.0/16 10.2.1.100 2001:0db8:1234::/48";
};
}
example = {
Global = { "uam list" = "uams_guest.so"; };
Homes = {
path = "afp-data";
"basedir regex" = "/home";
};
example-volume = {
path = "/srv/volume";
"read only" = true;
};
};
description = ''
Configuration for Netatalk. See
<citerefentry><refentrytitle>afp.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.
'';
};
@ -114,18 +44,33 @@ in
default = "";
description = ''
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 {
services.netatalk.settings.Global = {
"afp port" = toString cfg.port;
"extmap file" = "${pkgs.writeText "extmap.conf" cfg.extmap}";
};
systemd.services.netatalk = {
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" ];
wantedBy = [ "multi-user.target" ];
@ -135,12 +80,12 @@ in
Type = "forking";
GuessMainPID = "no";
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";
ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID";
Restart = "always";
RestartSec = 1;
StateDirectory = [ "netatalk/CNID" ];
};
};

View file

@ -20,6 +20,15 @@ let
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 {
name = "nsd-env";
@ -34,9 +43,9 @@ let
echo "|- checking zone '$out/zones/$zoneFile'"
${nsdPkg}/sbin/nsd-checkzone "$zoneFile" "$zoneFile" || {
if grep -q \\\\\\$ "$zoneFile"; then
echo zone "$zoneFile" contains escaped dollar signes \\\$
echo Escaping them is not needed any more. Please make shure \
to unescape them where they prefix a variable name
echo zone "$zoneFile" contains escaped dollar signs \\\$
echo Escaping them is not needed any more. Please make sure \
to unescape them where they prefix a variable name.
fi
exit 1
@ -44,7 +53,14 @@ let
done
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
# ... and restore original config file.
mv $out/nsd.conf{.orig,}
'';
};

View file

@ -303,6 +303,7 @@ in
openarena = handleTest ./openarena.nix {};
openldap = handleTest ./openldap.nix {};
opensmtpd = handleTest ./opensmtpd.nix {};
opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix {};
openssh = handleTest ./openssh.nix {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata 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 = {
services.clickhouse.enable = true;
virtualisation.memorySize = 4096;
};
testScript =

View file

@ -43,6 +43,10 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
services.nsd.enable = true;
services.nsd.rootServer = true;
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 = ''
@ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
ipv4 A 1.2.3.4
@ -51,6 +55,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
ns A 192.168.0.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 = ''
@ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
@ A 9.8.7.6
@ -71,6 +76,10 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
clientv6.wait_for_unit("network.target")
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):
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 {
pname = "cava";
version = "0.7.3";
version = "0.7.4";
buildInputs = [
alsaLib
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
owner = "karlstav";
repo = "cava";
rev = version;
sha256 = "04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai";
sha256 = "sha256-BlHGst34aUgQcXcuQG43VnKUTclCxfQmWRa6iCud8dc=";
};
nativeBuildInputs = [ autoreconfHook ];

View file

@ -7,13 +7,13 @@ with lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
version = "1.9.0.1";
version = "1.9.1.1";
src = fetchFromGitHub {
owner = "bitcoinunlimited";
repo = "bitcoinunlimited";
rev = "BCHunlimited${version}";
sha256 = "018a22zbvjqky0whizmgxzscmna0sh2xqgyw02yjk8qj4yi0zp8c";
sha256 = "sha256-K15SI1F/xI4SkX4a41QHLn89YaHCgrlv+wcbkpwGKhI=";
};
nativeBuildInputs = [ pkg-config autoreconfHook python3 ]

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

@ -0,0 +1,117 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, python3, perl, bison
, texinfo, desktop-file-utils, wrapGAppsHook, docbook2x, docbook-xsl-nons
, inform7, gettext, libossp_uuid, gtk3, gobject-introspection, vala, gtk-doc
, webkitgtk, gtksourceview3, gspell, libxml2, goocanvas2, libplist, glib
, gst_all_1 }:
# Neither gnome-inform7 nor its dependencies ratify and chimara have tagged releases in the GTK3 branch yet.
let
ratify = (stdenv.mkDerivation {
pname = "ratify";
version = "unstable-2021-02-21";
src = fetchFromGitHub {
owner = "ptomato";
repo = "ratify";
rev = "f4d2d60ec73d5588e953650b3879e69a727f30ca";
sha256 = "eRh/9pYvdfbdbdJQ7pYMLq5p91I+rtyb/AqEGfakjKs=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
docbook2x
docbook-xsl-nons
];
buildInputs = [
gtk3
gobject-introspection
vala gtk-doc
wrapGAppsHook
];
});
chimara = (stdenv.mkDerivation {
pname = "chimara";
version = "unstable-2021-04-06";
src = fetchFromGitHub {
owner = "chimara";
repo = "Chimara";
rev = "9934b142af508c75c0f1eed597990f39495b1af4";
sha256 = "aRz1XX8XaSLTBIrMIIMS3QNMm6Msi+slrZ6+KYlyRMo=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
perl
bison
texinfo
python3
glib
wrapGAppsHook
];
buildInputs = [
gtk3
gobject-introspection
vala
gtk-doc
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
glib
];
preConfigure = ''
patchShebangs build-aux/meson_post_install.py
'';
});
in stdenv.mkDerivation {
pname = "gnome-inform7";
version = "unstable-2021-04-06";
src = fetchFromGitHub {
owner = "ptomato";
repo = "gnome-inform7";
# build from revision in the GTK3 branch as mainline requires webkit-1.0
rev = "c37e045c159692aae2e4e79b917e5f96cfefa66a";
sha256 = "Q4xoITs3AYXhvpWaABRAvJaUWTtUl8lYQ1k9zX7FrNw=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
inform7
python3
desktop-file-utils
wrapGAppsHook
];
buildInputs = [
gettext
libossp_uuid
gtk3
gtksourceview3
gspell
webkitgtk
libxml2
goocanvas2
libplist
ratify
chimara
];
preConfigure = ''
cp ${inform7}/libexec/ni ./src/ni
patchShebangs build-aux/* src/generate-resource-xml.{py,sh}
'';
meta = with lib; {
description = "Inform 7 for the Gnome platform";
longDescription = ''
This version of Inform 7 for the Gnome platform was created by Philip Chimento, based on a design by Graham Nelson and Andrew Hunter.
'';
homepage = "https://github.com/ptomato/gnome-inform7";
license = licenses.gpl3Only;
maintainers = [ maintainers.fitzgibbon ];
platforms = platforms.linux;
};
}

View file

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

View file

@ -6,7 +6,9 @@
, cryptopp
, curl
, 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
, gcc-unwrapped
, libmediainfo
@ -44,7 +46,7 @@ stdenv.mkDerivation rec {
c-ares
cryptopp
curl
ffmpeg_3
# ffmpeg
freeimage
gcc-unwrapped
libmediainfo
@ -67,7 +69,7 @@ stdenv.mkDerivation rec {
"--with-cares"
"--with-cryptopp"
"--with-curl"
"--with-ffmpeg"
# "--with-ffmpeg"
"--with-freeimage"
"--with-libmediainfo"
"--with-libuv"

View file

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

View file

@ -18,9 +18,9 @@
}
},
"beta": {
"version": "91.0.4472.57",
"sha256": "1kbd5zyi5ndbln5pibdg3yhv65m84arfwfv4v00js3cbr13pyjzv",
"sha256bin64": "1bk30b9kn5bxp4yywdiy3dqd6km5q3rrf2z82kd1qyr9cc45hz8s",
"version": "91.0.4472.69",
"sha256": "0yqc7py5x48wqg5x90j57vp07qfc20w1j0f30rmyxbgl6v346s0z",
"sha256bin64": "1z82i6pq4wbx44d6ij32dkappywdpaxlfp23kl3p7x4x9hv1c0yq",
"deps": {
"gn": {
"version": "2021-04-06",

View file

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

View file

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

View file

@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
x86_64-linux = "Linux-64bit";
aarch64-linux = "Linux-arm64";
x86_64-darwin = "macOS-64bit";
aarch64-darwin = "macOS-arm64";
}.${system} or (throw "Unsupported system: ${system}");
fetchsrc = version: sha256: fetchzip {
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=";
aarch64-linux = "sha256-RfdMfimmoHG4ixBtUVJ/V+mDhQ9aD+yeohkeUMUP8Zg=";
x86_64-darwin = "sha256-2Qgl3RdA4mMRTqR7o3Q86Zip5wtgvFp1vZn689FUtSI=";
aarch64-darwin = "sha256-+eZVg+B5YYf+XnDhNd6OU4+yFM9GtyiavcAr/EXh7XE=";
};
dontConfigure = true;
@ -59,6 +61,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.asl20;
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 {
version = "0.15.3";
sha256 = "12dny8f89ry75ljarhdqlwgzv6py75s1wcmb62n5fp9nk03bjf2p";
vendorSha256 = "13ap1arn81lcxry08j42ck6lgvdcvdxgah6d40pmpkzkw9jcf55b";
version = "0.15.4";
sha256 = "14pxnmxy0c7idn8vgns70fxm2835gbz5vd1hmwzvhm394vr62frp";
vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; };
});

View file

@ -1,6 +1,6 @@
diff -Naur terraform.old/command/init.go terraform.new/command/init.go
--- 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/internal/command/init.go
+++ terraform.new/internal/command/init.go
@@ -3,6 +3,7 @@
import (
"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 {
pname = "onedrive";
version = "2.4.10";
version = "2.4.11";
src = fetchFromGitHub {
owner = "abraunegg";
repo = pname;
rev = "v${version}";
sha256 = "sha256:0dvxjkni66g82j9wr6yy07sn7d7yr7bbc0py89pxybvsbid88l65";
sha256 = "sha256-ioOrkhVeHHqIjoEXcYo8ATJW+2+nZOehf3XbAJUEXpY=";
};
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];

View file

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

View file

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

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gh";
version = "1.10.1";
version = "1.10.2";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-ESwgG1sMkR44KpO7k5HNR3gPBgOqIADpS6fSOqqNn2Q=";
sha256 = "sha256-hI4kV7Xj0oMEfD6SzZ+KWHmMp9yGtr18HPPwkOpr5JA=";
};
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 }:
let
@ -30,11 +30,11 @@ in buildPythonApplication rec {
];
buildInputs = [
ffmpeg_3
ffmpeg
];
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 = ''

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, ffmpeg_3, imagemagick, dzen2, xorg }:
{ lib, stdenv, fetchFromGitHub, makeWrapper, ffmpeg, imagemagick, dzen2, xorg }:
stdenv.mkDerivation {
pname = "xscast-unstable";
@ -21,7 +21,7 @@ stdenv.mkDerivation {
patchShebangs $out/bin
wrapProgram "$out/bin/xscast" \
--prefix PATH : ${lib.makeBinPath [ ffmpeg_3 dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]}
--prefix PATH : ${lib.makeBinPath [ ffmpeg dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]}
runHook postInstall
'';

View file

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

View file

@ -139,6 +139,7 @@ let
plasma-integration = callPackage ./plasma-integration {};
plasma-nm = callPackage ./plasma-nm {};
plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
plasma-sdk = callPackage ./plasma-sdk.nix {};
plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
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

@ -3,7 +3,7 @@
let
useLLVM = stdenv.hostPlatform.useLLVM or false;
isDarwin = stdenv.hostPlatform.isDarwin;
isNewDarwinBootstrap = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
haveLibc = stdenv.cc.libc != null;
inherit (stdenv.hostPlatform) isMusl;
@ -25,19 +25,19 @@ stdenv.mkDerivation {
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
] ++ lib.optionals (useLLVM || isDarwin || bareMetal || isMusl) [
] ++ lib.optionals (useLLVM || bareMetal || isMusl || isNewDarwinBootstrap) [
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
"-DCOMPILER_RT_BUILD_XRAY=OFF"
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
] ++ lib.optionals ((useLLVM || isDarwin || bareMetal) && !haveLibc) [
] ++ lib.optionals (!haveLibc || bareMetal) [
"-DCMAKE_C_COMPILER_WORKS=ON"
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals ((useLLVM || isDarwin) && !haveLibc) [
] ++ lib.optionals (!haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM || isDarwin) [
] ++ lib.optionals (useLLVM || isNewDarwinBootstrap) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
@ -62,7 +62,7 @@ stdenv.mkDerivation {
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
preConfigure = lib.optionalString isDarwin ''
preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
cmakeFlagsArray+=("-DCMAKE_LIPO=$(command -v ${stdenv.cc.targetPrefix}lipo)")
'';

View file

@ -213,14 +213,14 @@ let
compiler-rt-libc = callPackage ./compiler-rt {
inherit llvm_meta;
stdenv = if (stdenv.hostPlatform.useLLVM or false) || stdenv.hostPlatform.isDarwin
stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
else stdenv;
};
compiler-rt-no-libc = callPackage ./compiler-rt {
inherit llvm_meta;
stdenv = if (stdenv.hostPlatform.useLLVM or false) || stdenv.hostPlatform.isDarwin
stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
else stdenv;
};
@ -236,21 +236,21 @@ let
libcxx = callPackage ./libcxx {
inherit llvm_meta;
stdenv = if (stdenv.hostPlatform.useLLVM or false) || stdenv.hostPlatform.isDarwin
stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
then overrideCC stdenv buildLlvmTools.clangNoLibcxx
else stdenv;
};
libcxxabi = callPackage ./libcxxabi {
inherit llvm_meta;
stdenv = if (stdenv.hostPlatform.useLLVM or false) || stdenv.hostPlatform.isDarwin
stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
then overrideCC stdenv buildLlvmTools.clangNoLibcxx
else stdenv;
};
libunwind = callPackage ./libunwind {
inherit llvm_meta;
stdenv = if (stdenv.hostPlatform.useLLVM or false) || stdenv.hostPlatform.isDarwin
stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
then overrideCC stdenv buildLlvmTools.clangNoLibcxx
else stdenv;
};

View file

@ -1,5 +1,5 @@
{ 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 }:
let
@ -19,7 +19,7 @@ let
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 ];
dontUseCmakeConfigure = true;

View file

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

View file

@ -1,5 +1,5 @@
{ 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
}:
@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
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 ];
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 = ''

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "coordgenlibs";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitHub {
owner = "schrodinger";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BcDqrOotqRPMnzvfjzbeCf8gT3yQzKihywKrpah1D7w=";
sha256 = "sha256-uperQnJ1Q+s15pAlg/f4XR5VJI484ygZ0F6pMvcVDv8=";
};
nativeBuildInputs = [ cmake ];

View file

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

View file

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

@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
sha256 = "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp";
};
preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
MACOSX_DEPLOYMENT_TARGET=10.16
'' else null;
# do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isx86_64 "-mno-fma";

View file

@ -61,6 +61,10 @@ stdenv.mkDerivation rec {
++ optionals cupsSupport [ cups ]
++ optionals stdenv.isDarwin [ AppKit Cocoa ];
preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
MACOSX_DEPLOYMENT_TARGET=10.16
'' else null;
configureFlags = [
"--with-gdktarget=${gdktarget}"
"--with-xinput=yes"

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 {
pname = "libAfterImage";
@ -13,7 +15,56 @@ stdenv.mkDerivation {
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; {
homepage = "http://www.afterstep.org/afterimage/";

View file

@ -1,4 +1,4 @@
{ fetchurl, lib, stdenv, libiconv, libunistring, help2man, buildPackages }:
{ fetchurl, lib, stdenv, libiconv, libunistring, help2man, texinfo, buildPackages }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
patches = optional stdenv.isDarwin ./fix-error-darwin.patch;
nativeBuildInputs = optional stdenv.isDarwin help2man;
# The above patch causes the documentation to be regenerated, so the
# documentation tools are required.
nativeBuildInputs = optionals stdenv.isDarwin [ help2man texinfo ];
buildInputs = [ libunistring ] ++ optional stdenv.isDarwin libiconv;
depsBuildBuild = [ buildPackages.stdenv.cc ];

View file

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

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "libofx";
version = "0.10.1";
version = "0.10.2";
src = fetchFromGitHub {
owner = "LibOFX";
repo = pname;
rev = version;
sha256 = "sha256-QIasZKwSD9YCidHCxT/HOThxE5HEQWD0I2/loDP6mlU=";
sha256 = "sha256-V9FyOVH9CB6UtTxDvXRyX6mWaXq2Y2K3t9lotjigK0M=";
};
preConfigure = "./autogen.sh";

View file

@ -76,6 +76,13 @@ let
./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 ];
buildInputs = [ libclang llvm spirv-llvm-translator ];

View file

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

View file

@ -117,6 +117,8 @@ stdenv.mkDerivation rec {
license = licenses.mit; # Expat version
platforms = if withLibraries then platforms.linux else platforms.unix;
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;

View file

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "aioshelly";
version = "0.6.2";
version = "0.6.3";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
rev = version;
sha256 = "sha256-vlIon+VAHeJiaSIVMEKEpwQC4gXA52vxfEkiQMC9yiw=";
sha256 = "sha256-c4EFR7rcYdrCdM0AfmX/d7cP4woh6P1iAjeSQV9ieKM=";
};
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
, pythonOlder
, fetchFromGitHub
, google-api-core
, matplotlib
, networkx
, numpy
, pandas
, protobuf
, requests
, scipy
, sortedcontainers
, sympy
, tqdm
, typing-extensions
, cirq-core
, cirq-google
# test inputs
, freezegun
, pytestCheckHook
, pytest-asyncio
, pytest-benchmark
, ply
, pydot
, pyyaml
, pygraphviz
}:
buildPythonPackage rec {
pname = "cirq";
version = "0.10.0";
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"
'';
inherit (cirq-core) version src meta;
propagatedBuildInputs = [
google-api-core
matplotlib
networkx
numpy
pandas
protobuf
requests
scipy
sortedcontainers
sympy
tqdm
typing-extensions
cirq-core
cirq-google
];
# pythonImportsCheck = [ "cirq" "cirq.Circuit" ]; # cirq's importlib hook doesn't work here
checkInputs = [
pytestCheckHook
freezegun
pytest-asyncio
pytest-benchmark
ply
pydot
pyyaml
pygraphviz
checkInputs = [ pytestCheckHook ];
# Don't run submodule or development tool tests
disabledTestPaths = [
"cirq-google"
"cirq-core"
"dev_tools"
];
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

@ -15,6 +15,7 @@
, pytest
, pytest-subtests
, pretend
, libiconv
, iso8601
, pytz
, hypothesis
@ -48,7 +49,7 @@ buildPythonPackage rec {
] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
buildInputs = [ openssl ]
++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security libiconv ];
propagatedBuildInputs = [
packaging
six

View file

@ -1,4 +1,4 @@
{ lib, fetchPypi, buildPythonPackage, python, pkg-config, dbus, dbus-glib, isPyPy
{ lib, stdenv, fetchPypi, buildPythonPackage, python, pkg-config, dbus, dbus-glib, isPyPy
, ncurses, pygobject3, isPy3k }:
buildPythonPackage rec {
@ -19,6 +19,10 @@ buildPythonPackage rec {
disabled = isPyPy;
preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
MACOSX_DEPLOYMENT_TARGET=10.16
'' else null;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dbus dbus-glib ]
# My guess why it's sometimes trying to -lncurses.

View file

@ -35,6 +35,12 @@ buildPythonPackage rec {
rm __init__.py
'';
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; {
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 {
pname = "karton-autoit-ripper";
version = "1.0.0";
version = "1.0.1";
src = fetchFromGitHub {
owner = "CERT-Polska";
repo = pname;
rev = "v${version}";
sha256 = "0vdsxkbjcr0inpcfjh45gl72ipzklkhgs06fdpkyy9y0cfx3zq7z";
sha256 = "1bsqpf9w6d9fjysmnafaglg2w41gsafs2xz4dzcgc7n92shpcs8w";
};
propagatedBuildInputs = [
@ -28,7 +28,6 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace requirements.txt \
--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 "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

@ -25,7 +25,7 @@ buildPythonPackage rec {
buildInputs = [ subunit testrepository testtools six ];
propagatedBuildInputs = [ pbr fixtures ];
# Disabling as several tests depdencies are missing:
# Disabling as several tests dependencies are missing:
# https://opendev.org/openstack/mox3/src/branch/master/test-requirements.txt
doCheck = false;

View file

@ -90,7 +90,7 @@ buildPythonPackage rec {
${opensslLegacyStatic.out}/lib/libcrypto.a \
deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
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}/
cp ${opensslStatic.out}/lib/libssl.a \

View file

@ -65,6 +65,6 @@ buildPythonApplication rec {
homepage = "https://github.com/bootphon/phonemizer";
description = "Simple text to phones converter for multiple languages";
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";
homepage = "https://github.com/cldf/segments";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
maintainers = with maintainers; [ ];
};
}

View file

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

View file

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

View file

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

View file

@ -14,21 +14,17 @@
buildGoModule rec {
pname = "buildah";
version = "1.20.1";
version = "1.21.0";
src = fetchFromGitHub {
owner = "containers";
repo = "buildah";
rev = "v${version}";
sha256 = "sha256-nlZblUPS0678dR0hyp+V9uH/nHL9YH81+O1Zzq8T8Pw=";
sha256 = "sha256-uNb5HCEft1vXASli+2zdKWzFzsAlI9/ILBWa7OQZBwE=";
};
outputs = [ "out" "man" ];
patches = [
../../../applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
];
vendorSha256 = null;
doCheck = false;

View file

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

View file

@ -26,7 +26,8 @@ let
homepage = "https://github.com/electron/electron";
license = licenses.mit;
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";
};
@ -46,6 +47,7 @@ let
armv7l-linux = "linux-armv7l";
aarch64-linux = "linux-arm64";
x86_64-darwin = "darwin-x64";
aarch64-darwin = "darwin-arm64";
};
get = as: platform: as.${platform.system} or

View file

@ -17,6 +17,7 @@ SYSTEMS=(
[armv7l-linux]=linux-armv7l
[aarch64-linux]=linux-arm64
[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)"
@ -27,8 +28,10 @@ headers="$(nix-prefetch-url "https://atom.io/download/electron/v${VERSION}/node-
echo " electron_${VERSION%%.*} = mkElectron \"${VERSION}\" {"
for S in "${!SYSTEMS[@]}"; do
hash="$(grep " *electron-v${VERSION}-${SYSTEMS[$S]}.zip$" "$hashfile"|cut -f1 -d' ')"
echo " $S = \"$hash\";"
hash="$(grep " *electron-v${VERSION}-${SYSTEMS[$S]}.zip$" "$hashfile"|cut -f1 -d' ' || :)"
if [[ -n $hash ]]; then
echo " $S = \"$hash\";"
fi
done
echo " headers = \"$headers\";"

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "metals";
version = "0.10.2";
version = "0.10.3";
deps = stdenv.mkDerivation {
name = "${pname}-deps-${version}";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "1yck935pcj9cg3qxzrmvgd16afsckz8wgmzf2rlmii2c1glrbq9c";
outputHash = "1psmsiwd3xlbrvkdvr2zgs2b66kw8w2jvvqa399g7jhixh2fpbx4";
};
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 {
pname = "skopeo";
version = "1.2.3";
version = "1.3.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "containers";
repo = "skopeo";
sha256 = "sha256-GhLw8wt5eDixKNGtxGA0Fjw3auQ3AsjKa+0M4mLTQlg=";
sha256 = "sha256-ZHEujkl+GUk5WjgDWdbJwOIKuOqJnIpGnvD1SsrHuhI=";
};
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
.replace('https://registry.yarnpkg.com/', '') // prevents having long directory names
.replace(/[@/:-]/g, '_') // replace @ and : and - characters with underscore
.replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
.replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
}
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
buildNodejs {
inherit enableNpm;
version = "14.16.1";
sha256 = "1hxsk83g2plv6vv3ir1ngca0rwqdy3lq70r504d2qv3msszdnjp4";
version = "14.17.0";
sha256 = "1vf989canwcx0wdpngvkbz2x232yccp7fzs1vcbr60rijgzmpq2n";
patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
}

View file

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

View file

@ -1,5 +1,18 @@
{ lib, stdenv, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg_3
, boost, cmake, SDL2, unshield, openal, libXt, pkg-config }:
{ lib
, mkDerivation
, fetchFromGitHub
, cmake
, pkg-config
, openscenegraph
, mygui
, bullet
, ffmpeg
, boost
, SDL2
, unshield
, openal
, libXt
}:
let
openscenegraph_ = openscenegraph.overrideDerivation (self: {
@ -11,9 +24,9 @@ let
sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
};
});
in
stdenv.mkDerivation rec {
in
mkDerivation rec {
version = "0.46.0";
pname = "openmw";
@ -25,10 +38,23 @@ stdenv.mkDerivation rec {
};
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 = [
"-DDESIRED_QT_VERSION:INT=5"
# as of 0.46, openmw is broken with GLVND
"-DOpenGL_GL_PREFERENCE=LEGACY"
];
dontWrapQtApps = true;
@ -37,7 +63,7 @@ stdenv.mkDerivation rec {
description = "An unofficial open source engine reimplementation of the game Morrowind";
homepage = "http://openmw.org";
license = licenses.gpl3Plus;
platforms = platforms.linux;
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
let
# TES3MP_STABLE_VERSION_FILE
compatHash = "292536439eeda58becdb7e441fe2e61ebb74529e";
rakNet = fetchFromGitHub {
owner = "TES3MP";
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";
# raknet could also be split into dev and lib outputs
raknet = stdenv.mkDerivation {
pname = "raknet";
version = "unstable-2018-07-14";
src = fetchFromGitHub {
owner = "MyGUI";
repo = "mygui";
rev = "MyGUI${version}";
sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw";
owner = "TES3MP";
repo = "CrabNet";
# usually fixed:
# 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 {
owner = "TES3MP";
repo = "openmw-tes3mp";
# usually latest in stable branch (e.g. 0.7.0)
rev = "ad9ee80641a3e22d0780daca051df7f4e90f3615";
sha256 = "03a1vldiv5lk7yq6lhicx3qz8hjfxhind2dj0w9lg5839ljyk6jv";
cfgFile = (formats.ini { }).generate "tes3mp-server.cfg" {
Plugins.home = "${coreScripts}/share/openmw-tes3mp/CoreScripts";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
buildInputs = [ luajit mygui_ ] ++ oldAttrs.buildInputs;
in
symlinkJoin rec {
name = "openmw-tes3mp-${unwrapped.version}";
inherit (unwrapped) version meta;
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
"-DRakNet_INCLUDES=${rakNet}/include"
"-DRakNet_LIBRARY_RELEASE=${rakNetLibrary}/lib/libRakNetLibStatic.a"
"-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
];
nativeBuildInputs = [ makeWrapper ];
dontWrapQtApps = true;
paths = [ unwrapped ];
# https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [
./tes3mp.patch
];
NIX_CFLAGS_COMPILE = "-fpermissive";
# crudini --merge will create the file if it doesn't exist
postBuild = ''
mkdir -p $out/bin
preConfigure = ''
substituteInPlace files/version.in \
--subst-var-by OPENMW_VERSION_COMMITHASH ${compatHash}
'';
dir=\''${XDG_CONFIG_HOME:-\$HOME/.config}/openmw
postInstall = ''
# components/process/processinvoker.cpp: path.prepend(QLatin1String("./"))
wrapProgram $out/bin/tes3mp-browser \
makeWrapper ${unwrapped}/libexec/tes3mp-browser $out/bin/tes3mp-browser \
--run "cd $out/bin"
wrapProgram $out/bin/tes3mp-server \
--run "mkdir -p ~/.config/openmw" \
--run "cd ~/.config/openmw" \
--run "[ -d CoreScripts ] || cp --no-preserve=mode -r ${coreScripts} CoreScripts" \
--run "[ -f tes3mp-server.cfg ] || echo \"[Plugins] home = \$HOME/.config/openmw/CoreScripts\" > tes3mp-server.cfg" \
makeWrapper ${unwrapped}/libexec/tes3mp-server $out/bin/tes3mp-server \
--run "mkdir -p $dir" \
--run "${crudini}/bin/crudini --merge $dir/${cfgFile.name} < ${cfgFile}" \
--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; [ ];
};
})
}

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