Merge master into staging-next

This commit is contained in:
github-actions[bot] 2020-12-30 06:22:20 +00:00 committed by GitHub
commit 056304189c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 5641 additions and 5449 deletions

View File

@ -141,6 +141,7 @@
./programs/light.nix
./programs/mosh.nix
./programs/mininet.nix
./programs/msmtp.nix
./programs/mtr.nix
./programs/nano.nix
./programs/neovim.nix

View File

@ -0,0 +1,104 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.msmtp;
in {
meta.maintainers = with maintainers; [ pacien ];
options = {
programs.msmtp = {
enable = mkEnableOption "msmtp - an SMTP client";
setSendmail = mkOption {
type = types.bool;
default = true;
description = ''
Whether to set the system sendmail to msmtp's.
'';
};
defaults = mkOption {
type = types.attrs;
default = {};
example = {
aliases = "/etc/aliases";
port = 587;
tls = true;
};
description = ''
Default values applied to all accounts.
See msmtp(1) for the available options.
'';
};
accounts = mkOption {
type = with types; attrsOf attrs;
default = {};
example = {
"default" = {
host = "smtp.example";
auth = true;
user = "someone";
passwordeval = "cat /secrets/password.txt";
};
};
description = ''
Named accounts and their respective configurations.
The special name "default" allows a default account to be defined.
See msmtp(1) for the available options.
Use `programs.msmtp.extraConfig` instead of this attribute set-based
option if ordered account inheritance is needed.
It is advised to use the `passwordeval` setting to read the password
from a secret file to avoid having it written in the world-readable
nix store. The password file must end with a newline (`\n`).
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra lines to add to the msmtp configuration verbatim.
See msmtp(1) for the syntax and available options.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.msmtp ];
services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail {
program = "sendmail";
source = "${pkgs.msmtp}/bin/sendmail";
setuid = false;
setgid = false;
};
environment.etc."msmtprc".text = let
mkValueString = v:
if v == true then "on"
else if v == false then "off"
else generators.mkValueStringDefault {} v;
mkKeyValueString = k: v: "${k} ${mkValueString v}";
mkInnerSectionString =
attrs: concatStringsSep "\n" (mapAttrsToList mkKeyValueString attrs);
mkAccountString = name: attrs: ''
account ${name}
${mkInnerSectionString attrs}
'';
in ''
defaults
${mkInnerSectionString cfg.defaults}
${concatStringsSep "\n" (mapAttrsToList mkAccountString cfg.accounts)}
${cfg.extraConfig}
'';
};
}

View File

@ -162,15 +162,16 @@ in
(mkIf (cfg.authPassFile != null) { AuthPassFile = cfg.authPassFile; })
];
environment.etc."ssmtp/ssmtp.conf".source =
let
toStr = value:
# careful here: ssmtp REQUIRES all config lines to end with a newline char!
environment.etc."ssmtp/ssmtp.conf".text = with generators; toKeyValue {
mkKeyValue = mkKeyValueDefault {
mkValueString = value:
if value == true then "YES"
else if value == false then "NO"
else builtins.toString value
else mkValueStringDefault {} value
;
in
pkgs.writeText "ssmtp.conf" (concatStringsSep "\n" (mapAttrsToList (key: value: "${key}=${toStr value}") cfg.settings));
} "=";
} cfg.settings;
environment.systemPackages = [pkgs.ssmtp];

View File

@ -5,7 +5,7 @@ with lib;
let
dataDir = "/var/lib/matrix-appservice-discord";
registrationFile = "${dataDir}/discord-registration.yaml";
appDir = "${pkgs.matrix-appservice-discord}/lib/node_modules/matrix-appservice-discord";
appDir = "${pkgs.matrix-appservice-discord}/${pkgs.matrix-appservice-discord.passthru.nodeAppDir}";
cfg = config.services.matrix-appservice-discord;
# TODO: switch to configGen.json once RFC42 is implemented
settingsFile = pkgs.writeText "matrix-appservice-discord-settings.json" (builtins.toJSON cfg.settings);
@ -22,12 +22,6 @@ in {
default = {
database = {
filename = "${dataDir}/discord.db";
# TODO: remove those old config keys once the following issues are solved:
# * https://github.com/Half-Shot/matrix-appservice-discord/issues/490
# * https://github.com/Half-Shot/matrix-appservice-discord/issues/498
userStorePath = "${dataDir}/user-store.db";
roomStorePath = "${dataDir}/room-store.db";
};
# empty values necessary for registration file generation

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, ninja, opencascade }:
{ stdenv, fetchFromGitHub, fetchpatch, cmake, ninja, opencascade
, Cocoa }:
stdenv.mkDerivation rec {
pname = "smesh";
@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake ninja ];
buildInputs = [ opencascade ];
buildInputs = [ opencascade ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
meta = with stdenv.lib; {
description = "Extension to OCE providing advanced meshing features";

View File

@ -0,0 +1,57 @@
{ lib, buildDunePackage, fetchurl
, cstruct, ipaddr, macaddr, logs, lwt, duration
, mirage-time, mirage-protocols, mirage-profile
, alcotest, ethernet, fmt, mirage-vnetif, mirage-random
, mirage-random-test, mirage-clock-unix, mirage-time-unix
, bisect_ppx
}:
buildDunePackage rec {
pname = "arp";
version = "2.3.1";
minimumOCamlVersion = "4.06";
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "1nzm3fbkvz702g8f60fs49736lpffwchy64i1l1raxm9b4lmdk3p";
};
nativeBuildInputs = [
bisect_ppx
];
propagatedBuildInputs = [
cstruct
ipaddr
macaddr
logs
mirage-time
mirage-protocols
lwt
duration
mirage-profile
];
doCheck = true;
checkInputs = [
alcotest
mirage-profile
mirage-random
mirage-random-test
mirage-vnetif
mirage-clock-unix
mirage-random
mirage-time-unix
ethernet
];
meta = with lib; {
description = "Address Resolution Protocol purely in OCaml";
license = licenses.isc;
homepage = "https://github.com/mirage/arp";
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -0,0 +1,33 @@
{ buildDunePackage, dns, dns-tsig, dns-mirage, randomconv, x509
, mirage-random, mirage-time, mirage-clock, mirage-stack
, logs, mirage-crypto-pk, mirage-crypto-rng, tls, lwt
}:
buildDunePackage {
pname = "dns-certify";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
dns
dns-tsig
dns-mirage
randomconv
x509
mirage-random
mirage-time
mirage-clock
mirage-stack
logs
mirage-crypto-pk
mirage-crypto-rng
tls
lwt
];
doCheck = true;
meta = dns.meta // {
description = "MirageOS let's encrypt certificate retrieval";
};
}

View File

@ -0,0 +1,48 @@
{ buildDunePackage, dns, dns-tsig, dns-client, dns-server, dns-certify
, rresult, bos, cmdliner, fpath, x509, mirage-crypto, mirage-crypto-pk
, mirage-crypto-rng, hex, ptime, mtime, logs, fmt, ipaddr, lwt
, randomconv, alcotest
}:
buildDunePackage {
pname = "dns-cli";
minimumOCamlVersion = "4.08";
inherit (dns) version src useDune2;
# no need to propagate as this is primarily
# an executable package
buildInputs = [
dns
dns-tsig
dns-client
dns-server
dns-certify
rresult
bos
cmdliner
fpath
x509
mirage-crypto
mirage-crypto-pk
mirage-crypto-rng
hex
ptime
mtime
logs
fmt
ipaddr
lwt
randomconv
];
doCheck = true;
checkInputs = [
alcotest
];
meta = dns.meta // {
description = "Unix command line utilities using uDNS";
};
}

View File

@ -0,0 +1,18 @@
{ buildDunePackage, dns, mirage-stack, ipaddr, lwt }:
buildDunePackage {
pname = "dns-mirage";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
dns
mirage-stack
ipaddr
lwt
];
meta = dns.meta // {
description = "An opinionated Domain Name System (DNS) library";
};
}

View File

@ -0,0 +1,32 @@
{ buildDunePackage, dns, dns-server, dns-mirage, lru, duration
, randomconv, lwt, mirage-time, mirage-clock, mirage-random
, alcotest
}:
buildDunePackage {
pname = "dns-resolver";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
dns
dns-server
dns-mirage
lru
duration
randomconv
lwt
mirage-time
mirage-clock
mirage-random
];
doCheck = true;
checkInputs = [
alcotest
];
meta = dns.meta // {
description = "DNS resolver business logic";
};
}

View File

@ -0,0 +1,34 @@
{ buildDunePackage, dns, dns-mirage, randomconv, duration, lwt
, mirage-time, mirage-clock, mirage-stack, metrics
, alcotest, mirage-crypto-rng, dns-tsig, base64
}:
buildDunePackage {
pname = "dns-server";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
dns
dns-mirage
randomconv
duration
lwt
mirage-time
mirage-clock
mirage-stack
metrics
];
doCheck = true;
checkInputs = [
alcotest
mirage-crypto-rng
dns-tsig
base64
];
meta = dns.meta // {
description = "DNS server, primary and secondary";
};
}

View File

@ -0,0 +1,33 @@
{ buildDunePackage, dns, dns-client, dns-mirage, dns-resolver, dns-tsig
, dns-server, duration, randomconv, lwt, mirage-time, mirage-clock
, mirage-random, mirage-stack, metrics
}:
buildDunePackage {
pname = "dns-stub";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
dns
dns-client
dns-mirage
dns-resolver
dns-tsig
dns-server
duration
randomconv
lwt
mirage-time
mirage-clock
mirage-random
mirage-stack
metrics
];
doCheck = true;
meta = dns.meta // {
description = "DNS stub resolver";
};
}

View File

@ -0,0 +1,22 @@
{ buildDunePackage, dns, mirage-crypto, base64, alcotest }:
buildDunePackage {
pname = "dns-tsig";
inherit (dns) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
mirage-crypto
dns
base64
];
doCheck = true;
checkInputs = [
alcotest
];
meta = dns.meta // {
description = "TSIG support for DNS";
};
}

View File

@ -0,0 +1,42 @@
{ lib, buildDunePackage, fetchurl
, rresult, cstruct, ppx_cstruct, mirage-net, mirage-protocols
, mirage-profile, macaddr, fmt, lwt, logs
}:
buildDunePackage rec {
pname = "ethernet";
version = "2.2.0";
minimumOCamlVersion = "4.06";
# necessary due to cstruct
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "0qzisqibx2gd8rh330n642mk5wz229199rnlrs7x8cr5pnymif7z";
};
nativeBuildInputs = [
ppx_cstruct
];
propagatedBuildInputs = [
rresult
cstruct
mirage-net
mirage-protocols
macaddr
mirage-profile
fmt
lwt
logs
];
meta = with lib; {
description = "OCaml Ethernet (IEEE 802.3) layer, used in MirageOS";
homepage = "https://github.com/mirage/ethernet";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -0,0 +1,26 @@
{ lib, buildDunePackage, fetchurl, lwt }:
buildDunePackage rec {
pname = "lwt-dllist";
version = "1.0.0";
minimumOCamlVersion = "4.03";
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "0g111f8fq9k1hwccpkhylkp83f73mlz4xnxxr3rf9xpi2f8fh7j9";
};
propagatedBuildInputs = [
lwt
];
doCheck = true;
meta = with lib; {
description = "Mutable doubly-linked list with Lwt iterators";
homepage = "https://github.com/mirage/lwt-dllist";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -4,13 +4,15 @@
buildDunePackage rec {
pname = "mirage-console";
version = "3.0.2";
version = "4.0.0";
minimumOCamlVersion = "4.08";
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/mirage-console/releases/download/v${version}/mirage-console-v${version}.tbz";
sha256 = "1fygk7pvlmwx6vd0h4cv9935xxhi64k2dgym41wf6qfkxgpp31lm";
sha256 = "11nwfd4kmmdzkrkhbakdi3cxhk8vi98l17960rgcf85c602gw6vp";
};
propagatedBuildInputs = [ lwt mirage-device mirage-flow ];

View File

@ -0,0 +1,17 @@
{ buildDunePackage, mirage-console, lwt, cstruct, cstruct-lwt }:
buildDunePackage {
pname = "mirage-console-unix";
inherit (mirage-console) version src useDune2 minimumOCamlVersion;
propagatedBuildInputs = [
mirage-console
cstruct
cstruct-lwt
];
meta = mirage-console.meta // {
description = "Implementation of Mirage consoles for Unix";
};
}

View File

@ -0,0 +1,50 @@
{ lib, buildDunePackage, fetchurl
, ipaddr, cstruct, lwt, rresult, logs, lru
, tcpip, ethernet, stdlib-shims
, alcotest, mirage-clock-unix
, ppx_deriving
}:
buildDunePackage rec {
pname = "mirage-nat";
version = "2.2.3";
minimumOCamlVersion = "4.06";
# due to cstruct
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "0cy95j184hi8fm1h6z6x1brjfrmbq3zjy2mqz99m8ys9vwkb63ma";
};
nativeBuildInputs = [
ppx_deriving
];
propagatedBuildInputs = [
ipaddr
cstruct
lwt
rresult
logs
lru
tcpip
ethernet
stdlib-shims
];
doCheck = true;
checkInputs = [
alcotest
mirage-clock-unix
];
meta = with lib; {
description = "Mirage-nat is a library for network address translation to be used with MirageOS";
homepage = "https://github.com/mirage/${pname}";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -0,0 +1,30 @@
{ lib, buildDunePackage, fetchurl
, cstruct, mirage-random
}:
buildDunePackage rec {
pname = "mirage-random-test";
version = "0.1.0";
minimumOCamlVersion = "4.06";
# due to cstruct
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "1jmjyb9a4v7l0xxgdwpr9zshzr8xk3hybra6y2dp51anbwk8kv46";
};
propagatedBuildInputs = [
cstruct
mirage-random
];
meta = with lib; {
description = "Stub random device implementation for testing";
homepage = "https://github.com/mirage/mirage-random";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -0,0 +1,40 @@
{ lib, buildDunePackage, fetchurl
, lwt, mirage-time, mirage-clock, mirage-net
, cstruct, ipaddr, macaddr, mirage-profile
, duration, logs
}:
buildDunePackage rec {
pname = "mirage-vnetif";
version = "0.5.0";
minimumOCamlVersion = "4.06";
# due to cstruct
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "0cpqwf51v2cpz41dfqxabf3bsabwyl6a0h0v2ncrn33q58i60m5q";
};
propagatedBuildInputs = [
lwt
mirage-net
mirage-time
mirage-clock
cstruct
ipaddr
macaddr
mirage-profile
duration
logs
];
meta = with lib; {
description = "Virtual network interface and software switch for Mirage";
homepage = "https://github.com/mirage/${pname}";
license = licenses.isc;
mantainers = [ maintainers.sternenseemann ];
};
}

View File

@ -1,25 +1,34 @@
{ lib, buildDunePackage, ocaml
, functoria, mirage-runtime
{ lib, buildDunePackage, alcotest
, functoria, mirage-runtime, bos
, ipaddr, astring, logs, stdlib-shims
}:
buildDunePackage rec {
pname = "mirage";
inherit (mirage-runtime) version src;
minimumOCamlVersion = "4.08";
useDune2 = true;
outputs = [ "out" "dev" ];
propagatedBuildInputs = [ functoria mirage-runtime ];
propagatedBuildInputs = [
ipaddr
functoria
mirage-runtime
bos
astring
logs
stdlib-shims
];
installPhase = ''
runHook preInstall
dune install --prefix=$out --libdir=$dev/lib/ocaml/${ocaml.version}/site-lib/ ${pname}
runHook postInstall
'';
doCheck = true;
checkInputs = [
alcotest
];
meta = mirage-runtime.meta // {
description = "The MirageOS library operating system";
};
}

View File

@ -0,0 +1,41 @@
{ lib, buildDunePackage, fetchurl
, ppx_cstruct, ppx_tools
, cstruct, ounit, mmap
}:
buildDunePackage rec {
pname = "pcap-format";
version = "0.5.2";
minimumOCamlVersion = "4.03";
# due to cstruct
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/ocaml-pcap/releases/download/${version}/${pname}-${version}.tbz";
sha256 = "14c5rpgglyz41jic0fg0xa22d2w1syb86kva22y9fi7aqj9vm31f";
};
nativeBuildInputs = [
ppx_tools
ppx_cstruct
];
propagatedBuildInputs = [
cstruct
];
doCheck = true;
checkInputs = [
ounit
mmap
];
meta = with lib; {
description = "Decode and encode PCAP (packet capture) files";
homepage = "https://mirage.github.io/ocaml-pcap";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -0,0 +1,70 @@
{ lib, buildDunePackage, fetchurl
, bisect_ppx, ppx_cstruct
, rresult, cstruct, cstruct-lwt, mirage-net, mirage-clock
, mirage-random, mirage-stack, mirage-protocols, mirage-time
, ipaddr, macaddr, macaddr-cstruct, mirage-profile, fmt
, lwt, lwt-dllist, logs, duration, randomconv, ethernet
, alcotest, mirage-flow, mirage-vnetif, pcap-format
, mirage-clock-unix, arp, ipaddr-cstruct, mirage-random-test
, lru
}:
buildDunePackage rec {
pname = "tcpip";
version = "6.0.0";
useDune2 = true;
src = fetchurl {
url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
sha256 = "0wbrs8jz1vw3zdrqmqcwawxh4yhc2gy30rw7gz4w116cblkvnb8s";
};
nativeBuildInputs = [
bisect_ppx
ppx_cstruct
];
propagatedBuildInputs = [
rresult
cstruct
cstruct-lwt
mirage-net
mirage-clock
mirage-random
mirage-random-test
mirage-stack
mirage-protocols
mirage-time
ipaddr
macaddr
macaddr-cstruct
mirage-profile
fmt
lwt
lwt-dllist
logs
duration
randomconv
ethernet
lru
];
doCheck = true;
checkInputs = [
alcotest
mirage-flow
mirage-vnetif
pcap-format
mirage-clock-unix
arp
ipaddr-cstruct
];
meta = with lib; {
description = "OCaml TCP/IP networking stack, used in MirageOS";
homepage = "https://github.com/mirage/mirage-tcpip";
maintainers = [ maintainers.sternenseemann ];
license = licenses.isc;
};
}

View File

@ -1,25 +1,25 @@
{ lib
, buildPythonPackage
, isPy3k
, pythonOlder
, pythonAtLeast
, fetchFromGitHub
, pyparsing
, opencascade
, stdenv
, python
, cmake
, swig
, ninja
, smesh
, freetype
, libGL
, libGLU
, libX11
, six
, pytest
, makeFontsConf
, freefont_ttf
, buildPythonPackage
, isPy3k
, pythonOlder
, pythonAtLeast
, fetchFromGitHub
, pyparsing
, opencascade
, stdenv
, python
, cmake
, swig
, smesh
, freetype
, libGL
, libGLU
, libX11
, six
, pytest
, makeFontsConf
, freefont_ttf
, Cocoa
}:
let
@ -38,7 +38,6 @@ let
nativeBuildInputs = [
cmake
swig
ninja
];
buildInputs = [
@ -49,7 +48,7 @@ let
libGL
libGLU
libX11
];
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
propagatedBuildInputs = [
six

View File

@ -1,5 +1,6 @@
{ stdenv, python, fetchFromGitHub, cmake, swig, ninja,
opencascade, smesh, freetype, libGL, libGLU, libX11 }:
{ stdenv, python, fetchFromGitHub, cmake, swig, ninja
, opencascade, smesh, freetype, libGL, libGLU, libX11
, Cocoa }:
stdenv.mkDerivation rec {
pname = "pythonocc-core";
@ -12,11 +13,17 @@ stdenv.mkDerivation rec {
sha256 = "1jk4y7f75z9lyawffpfkr50qw5452xzi1imcdlw9pdvf4i0y86k3";
};
nativeBuildInputs = [ cmake swig ninja ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "/usr/X11R6/lib/libGL.dylib" "${libGL}/lib/libGL.dylib" \
--replace "/usr/X11R6/lib/libGLU.dylib" "${libGLU}/lib/libGLU.dylib"
'';
nativeBuildInputs = [ cmake swig ];
buildInputs = [
python opencascade smesh
freetype libGL libGLU libX11
];
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
cmakeFlags = [
"-Wno-dev"

View File

@ -1,20 +1,19 @@
{
lib
, buildPythonPackage
, fetchFromGitHub
, cloudpickle
, ipykernel
, wurlitzer
, jupyter_client
, pyzmq
, numpy
, pandas
, scipy
, matplotlib
, xarray
, pytest
, flaky
, isPy3k
{ lib
, buildPythonPackage
, fetchFromGitHub
, cloudpickle
, ipykernel
, wurlitzer
, jupyter_client
, pyzmq
, numpy
, pandas
, scipy
, matplotlib
, xarray
, pytestCheckHook
, flaky
, isPy3k
}:
buildPythonPackage rec {
@ -24,7 +23,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "spyder-ide";
repo = "spyder-kernels";
rev = "v0.5.2";
rev = "v${version}";
sha256 = "1yan589g0470y61bcyjy3wj13i94ndyffckqdyrg97vw2qhfrisb";
};
@ -45,23 +44,23 @@ buildPythonPackage rec {
scipy
matplotlib
xarray
pytest
pytestCheckHook
flaky
];
preCheck = ''
export JUPYTER_RUNTIME_DIR=$(mktemp -d)
'';
# skipped tests:
# turtle requires graphics
# cython test fails, I don't think this can ever access cython?
# umr pathlist test assumes standard directories, not compatible with nix
checkPhase = ''
export JUPYTER_RUNTIME_DIR=$(mktemp -d)
pytest -x -vv -k '\
not test_turtle_launch \
and not test_umr_skip_cython \
and not test_umr_pathlist' \
-W 'ignore::DeprecationWarning' \
spyder_kernels
'';
disabledTests = [
"test_turtle_launc"
"test_umr_skip_cython"
"test_umr_pathlist"
];
meta = with lib; {
description = "Jupyter kernels for Spyder's console";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "flow";
version = "0.139.0";
version = "0.141.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "refs/tags/v${version}";
sha256 = "0ix98dq7g13jdfxgq0d8v2cvfnl2l2gz04j8h05sqzahbpxqv97w";
sha256 = "1hbq55gi834zapmly0gmg3kpqa1zwxcw4gll4g6vgzr0pfa0bwb2";
};
installPhase = ''

View File

@ -1,23 +1,25 @@
{ stdenv, fetchurl, jre }:
{ stdenv, fetchurl, jre, makeWrapper }:
stdenv.mkDerivation rec {
pname = "clojure-lsp";
version = "20201207T142850";
version = "20201228T020543";
src = fetchurl {
url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
sha256 = "0fxplldpxslm7f5xxazkl09gsj0ysppaal72hmlqbdj6rbgxlrnk";
url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/release-${version}/${pname}.jar";
sha256 = "0jkpw7dx7976p63c08bp43fiwk6f2h2nxj9vv1zr103hgywpplri";
};
dontUnpack = true;
installPhase = ''
install -Dm755 $src $out/bin/clojure-lsp
sed -i -e '1 s!java!${jre}/bin/java!' $out/bin/clojure-lsp
'';
buildInputs = [ makeWrapper ];
# verify shebang patch
installCheckPhase = "PATH= clojure-lsp --version";
installPhase = ''
install -Dm644 $src $out/share/java/${pname}.jar
makeWrapper ${jre}/bin/java $out/bin/${pname} \
--add-flags "-jar $out/share/java/${pname}.jar" \
--add-flags "-Xmx2g" \
--add-flags "-server"
'';
meta = with stdenv.lib; {
description = "Language Server Protocol (LSP) for Clojure";
@ -26,5 +28,4 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.ericdallo ];
platforms = jre.meta.platforms;
};
}

View File

@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
# coreutils is for sha1sum
pathAdd = stdenv.lib.concatMapStringsSep ":" (x: x + "/bin")
[ wine perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash ];
(stdenv.lib.filter (x: x != null)
[ wine perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash ]);
makeFlags = [ "PREFIX=$(out)" ];

View File

@ -1,29 +1,80 @@
{ pkgs, nodejs, stdenv }:
{ lib, mkYarnPackage, fetchFromGitHub, runCommand, makeWrapper, python, nodejs }:
assert lib.versionAtLeast nodejs.version "12.0.0";
let
nodePackages = import ./node-composition.nix {
inherit pkgs nodejs;
inherit (stdenv.hostPlatform) system;
nodeSources = runCommand "node-sources" {} ''
tar --no-same-owner --no-same-permissions -xf "${nodejs.src}"
mv node-* $out
'';
in mkYarnPackage rec {
pname = "matrix-appservice-discord";
# when updating, run `./generate.sh <git release tag>`
version = "1.0.0";
src = fetchFromGitHub {
owner = "Half-Shot";
repo = "matrix-appservice-discord";
rev = "v${version}";
sha256 = "0pca4jxxl4b8irvb1bacsrzjg8m7frq9dnx1knnd2n6ia3f3x545";
};
in nodePackages."matrix-appservice-discord-git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2".override {
nativeBuildInputs = [ pkgs.makeWrapper ];
packageJSON = ./package.json;
yarnNix = ./yarn-dependencies.nix;
pkgConfig = {
better-sqlite3 = {
buildInputs = [ python ];
postInstall = ''
# build native sqlite bindings
npm run build-release --offline --nodedir="${nodeSources}"
'';
};
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
# compile TypeScript sources
yarn --offline build
'';
doCheck = true;
checkPhase = ''
yarn --offline test
'';
postInstall = ''
# compile Typescript sources
npm run build
OUT_JS_DIR="$out/${passthru.nodeAppDir}/build"
# server wrapper
makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord" \
--add-flags "$out/lib/node_modules/matrix-appservice-discord/build/src/discordas.js"
makeWrapper '${nodejs}/bin/node' "$out/bin/${pname}" \
--add-flags "$OUT_JS_DIR/src/discordas.js"
# admin tools wrappers
for toolPath in $out/lib/node_modules/matrix-appservice-discord/build/tools/*; do
makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord-$(basename $toolPath .js)" \
for toolPath in $OUT_JS_DIR/tools/*; do
makeWrapper '${nodejs}/bin/node' "$out/bin/${pname}-$(basename $toolPath .js)" \
--add-flags "$toolPath"
done
'';
# other metadata generated and inherited from ./node-package.nix
meta.maintainers = with stdenv.lib.maintainers; [ pacien ];
# don't generate the dist tarball
# (`doDist = false` does not work in mkYarnPackage)
distPhase = ''
true
'';
passthru = {
nodeAppDir = "libexec/${pname}/deps/${pname}";
};
meta = {
description = "A bridge between Matrix and Discord";
homepage = "https://github.com/Half-Shot/matrix-appservice-discord";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pacien ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,10 +1,17 @@
##!/usr/bin/env nix-shell
##! nix-shell -i bash -p nodePackages.node2nix
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../ -i bash -p wget yarn2nix
node2nix \
--nodejs-12 \
--node-env ../../development/node-packages/node-env.nix \
--development \
--input package.json \
--output node-packages.nix \
--composition node-composition.nix
set -euo pipefail
if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates the Yarn dependency lock files for the matrix-appservice-discord package."
echo "Usage: $0 <git release tag>"
exit 1
fi
SRC_REPO="https://raw.githubusercontent.com/Half-Shot/matrix-appservice-discord/$1"
wget "$SRC_REPO/package.json" -O package.json
wget "$SRC_REPO/yarn.lock" -O yarn.lock
yarn2nix --lockfile=yarn.lock > yarn-dependencies.nix
rm yarn.lock

View File

@ -1,17 +0,0 @@
# This file has been generated by node2nix 1.8.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {
inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
inherit nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,77 @@
[
{ "matrix-appservice-discord": "git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2" }
]
{
"name": "matrix-appservice-discord",
"version": "1.0.0",
"description": "A bridge between Matrix and Discord",
"main": "discordas.js",
"scripts": {
"test": "mocha -r ts-node/register test/config.ts test/test_*.ts test/**/test_*.ts",
"lint": "tslint --project ./tsconfig.json -t stylish",
"coverage": "nyc mocha -r ts-node/register test/config.ts test/test_*.ts test/**/test_*.ts",
"build": "tsc",
"postinstall": "npm run build",
"start": "npm run-script build && node ./build/src/discordas.js -c config.yaml",
"debug": "npm run-script build && node --inspect ./build/src/discordas.js -c config.yaml",
"addbot": "node ./build/tools/addbot.js",
"adminme": "node ./build/tools/adminme.js",
"usertool": "node ./build/tools/userClientTools.js",
"directoryfix": "node ./build/tools/addRoomsToDirectory.js",
"ghostfix": "node ./build/tools/ghostfix.js",
"chanfix": "node ./build/tools/chanfix.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Half-Shot/matrix-appservice-discord.git"
},
"keywords": [
"matrix",
"discord",
"bridge",
"application-service",
"as"
],
"author": "Half-Shot",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/Half-Shot/matrix-appservice-discord/issues"
},
"homepage": "https://github.com/Half-Shot/matrix-appservice-discord#readme",
"dependencies": {
"better-discord.js": "git://github.com/Sorunome/better-discord.js.git#b5a28499899fe2d9e6aa1aa3b3c5d693ae672117",
"better-sqlite3": "^7.1.0",
"command-line-args": "^5.1.1",
"command-line-usage": "^6.1.0",
"escape-html": "^1.0.3",
"escape-string-regexp": "^4.0.0",
"js-yaml": "^3.14.0",
"marked": "^1.2.2",
"matrix-bot-sdk": "0.5.4",
"matrix-discord-parser": "0.1.5",
"mime": "^2.4.6",
"node-html-parser": "^1.2.19",
"p-queue": "^6.4.0",
"pg-promise": "^10.5.6",
"prom-client": "^12.0.0",
"winston": "^3.2.1",
"winston-daily-rotate-file": "^4.5.0"
},
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@types/chai": "^4.2.11",
"@types/command-line-args": "^5.0.0",
"@types/js-yaml": "^3.12.4",
"@types/marked": "^1.1.0",
"@types/mime": "^2.0.2",
"@types/mocha": "^7.0.2",
"@types/node": "^12",
"@types/better-sqlite3": "^5.4.1",
"chai": "^4.2.0",
"mocha": "^8.0.1",
"nyc": "^15.1.0",
"proxyquire": "^1.7.11",
"source-map-support": "^0.5.19",
"ts-node": "^8.10.2",
"tslint": "^5.20.1",
"typescript": "^3.9.5",
"why-is-node-running": "^2.2.0"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -11,14 +11,14 @@
rustPlatform.buildRustPackage rec {
pname = "broot";
version = "1.0.8";
version = "1.1.10";
src = fetchCrate {
inherit pname version;
sha256 = "06881c8qnh917y2mn5q5qlf86idz17xi2dapsad3m1zbdr53c25j";
sha256 = "04nidx43w4nnccgbrw30wg9ai8p7hbklxpn1gc6gr2325yhqvwhl";
};
cargoSha256 = "1k5qm4h028172r7i2pz5l8886qviy7ni83qxn10a8d5hsgalarvx";
cargoSha256 = "1bzq0dsdnmxniwnb6989wlhih28c4lyd11sci821whs11lhlfpz0";
nativeBuildInputs = [
makeWrapper

View File

@ -1,24 +1,25 @@
{ stdenv, fetchurl, python }:
{ stdenv, fetchFromGitHub, python3 }:
stdenv.mkDerivation rec {
version = "2012-05-31";
version = "2020-12-17";
pname = "woof";
src = fetchurl {
url = "http://www.home.unix-ag.org/simon/woof-${version}.py";
sha256 = "d84353d07f768321a1921a67193510bf292cf0213295e8c7689176f32e945572";
src = fetchFromGitHub {
owner = "simon-budig";
repo = "woof";
rev = "4aab9bca5b80379522ab0bdc5a07e4d652c375c5";
sha256 = "0ypd2fs8isv6bqmlrdl2djgs5lnk91y1c3rn4ar6sfkpsqp9krjn";
};
buildInputs = [ python ];
propagatedBuildInputs = [ python3 ];
dontUnpack = true;
installPhase =
''
mkdir -p $out/bin
cp $src $out/bin/woof
chmod +x $out/bin/woof
'';
installPhase = ''
mkdir -p $out/bin
cp $src/woof $out/bin/woof
chmod +x $out/bin/woof
'';
meta = with stdenv.lib; {
homepage = "http://www.home.unix-ag.org/simon/woof.html";

View File

@ -1,31 +1,29 @@
{ stdenv
, lib
{ lib
, buildPythonApplication
, fetchFromGitHub
, setuptools_scm
, vdf
, wine
, steam-run
, winetricks
, zenity
, pytest
, pytestCheckHook
}:
buildPythonApplication rec {
pname = "protontricks";
version = "1.4.2";
version = "1.4.3";
src = fetchFromGitHub {
owner = "Matoking";
repo = pname;
rev = version;
sha256 = "0ri4phi1rna9snrxa6gl23walyack09mgax7zpjqfpxivwls3ach";
sha256 = "0a5727igwafwvj8rr5lv0lx8rlfji3qkzmrbp0d15w5dc4fhknp0";
};
# Fix interpreter in mock run.sh for tests
postPatch = ''
substituteInPlace tests/conftest.py \
--replace '#!/bin/bash' '#!${stdenv.shell}' \
'';
patches = [
# Use steam-run to run Proton binaries
./steam-run.patch
];
preBuild = ''
export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
@ -34,22 +32,30 @@ buildPythonApplication rec {
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ vdf ];
# The wine install shipped with Proton must run under steam's
# chrootenv, but winetricks and zenity break when running under
# it. See https://github.com/NixOS/nix/issues/902.
#
# The current workaround is to use wine from nixpkgs
makeWrapperArgs = [
"--set STEAM_RUNTIME 0"
"--set-default WINE ${wine}/bin/wine"
"--set-default WINESERVER ${wine}/bin/wineserver"
"--prefix PATH : ${lib.makeBinPath [ winetricks zenity ]}"
"--prefix PATH : ${lib.makeBinPath [
steam-run
(winetricks.override {
# Remove default build of wine to reduce closure size.
# Falls back to wine in PATH when --no-runtime is passed.
wine = null;
})
zenity
]}"
];
checkInputs = [ pytest ];
checkPhase = "pytest";
checkInputs = [ pytestCheckHook ];
disabledTests = [
# Steam runtime is hard-coded with steam-run.patch and can't be configured
"test_run_steam_runtime_not_found"
"test_unknown_steam_runtime_detected"
meta = with stdenv.lib; {
# Steam runtime 2 currently isn't supported
# See https://github.com/NixOS/nixpkgs/issues/100655
"test_run_winetricks_steam_runtime_v2"
];
meta = with lib; {
description = "A simple wrapper for running Winetricks commands for Proton-enabled games";
homepage = "https://github.com/Matoking/protontricks";
license = licenses.gpl3;

View File

@ -0,0 +1,254 @@
diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py
index 6506dae..2f762c9 100755
--- a/src/protontricks/cli.py
+++ b/src/protontricks/cli.py
@@ -14,7 +14,7 @@ import os
import logging
from . import __version__
-from .steam import (find_proton_app, find_steam_path, find_steam_runtime_path,
+from .steam import (find_proton_app, find_steam_path,
get_steam_apps, get_steam_lib_paths)
from .winetricks import get_winetricks_path
from .gui import select_steam_app_with_gui
@@ -75,8 +75,7 @@ def main(args=None):
"WINE: path to a custom 'wine' executable\n"
"WINESERVER: path to a custom 'wineserver' executable\n"
"STEAM_RUNTIME: 1 = enable Steam Runtime, 0 = disable Steam "
- "Runtime, valid path = custom Steam Runtime path, "
- "empty = enable automatically (default)"
+ "Runtime, empty = enable automatically (default)"
),
formatter_class=argparse.RawTextHelpFormatter
)
@@ -133,14 +132,10 @@ def main(args=None):
sys.exit(-1)
# 2. Find Steam Runtime if enabled
- steam_runtime_path = None
+ steam_runtime = False
if os.environ.get("STEAM_RUNTIME", "") != "0" and not args.no_runtime:
- steam_runtime_path = find_steam_runtime_path(steam_root=steam_root)
-
- if not steam_runtime_path:
- print("Steam Runtime was enabled but couldn't be found!")
- sys.exit(-1)
+ steam_runtime = True
else:
logger.info("Steam Runtime disabled.")
@@ -194,7 +189,7 @@ def main(args=None):
winetricks_path=winetricks_path,
proton_app=proton_app,
steam_app=steam_app,
- steam_runtime_path=steam_runtime_path,
+ steam_runtime=steam_runtime,
command=[winetricks_path, "--gui"]
)
return
@@ -261,7 +256,7 @@ def main(args=None):
winetricks_path=winetricks_path,
proton_app=proton_app,
steam_app=steam_app,
- steam_runtime_path=steam_runtime_path,
+ steam_runtime=steam_runtime,
command=[winetricks_path] + args.winetricks_command)
elif args.command:
run_command(
@@ -269,7 +264,7 @@ def main(args=None):
proton_app=proton_app,
steam_app=steam_app,
command=args.command,
- steam_runtime_path=steam_runtime_path,
+ steam_runtime=steam_runtime,
# Pass the command directly into the shell *without*
# escaping it
cwd=steam_app.install_path,
diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
index 215b31d..aa545b8 100644
--- a/src/protontricks/steam.py
+++ b/src/protontricks/steam.py
@@ -11,7 +11,7 @@ from .util import lower_dict
__all__ = (
"COMMON_STEAM_DIRS", "SteamApp", "find_steam_path",
- "find_steam_proton_app", "find_proton_app", "find_steam_runtime_path",
+ "find_steam_proton_app", "find_proton_app",
"find_appid_proton_prefix", "get_steam_lib_paths", "get_steam_apps",
"get_custom_proton_installations"
)
@@ -245,37 +245,6 @@ def find_steam_path():
return None, None
-def find_steam_runtime_path(steam_root):
- """
- Find the Steam Runtime either using the STEAM_RUNTIME env or
- steam_root
- """
- env_steam_runtime = os.environ.get("STEAM_RUNTIME", "")
-
- if env_steam_runtime == "0":
- # User has disabled Steam Runtime
- logger.info("STEAM_RUNTIME is 0. Disabling Steam Runtime.")
- return None
- elif env_steam_runtime and Path(env_steam_runtime).is_dir():
- # User has a custom Steam Runtime
- logger.info(
- "Using custom Steam Runtime at %s", env_steam_runtime)
- return Path(env_steam_runtime)
- elif env_steam_runtime in ["1", ""]:
- # User has enabled Steam Runtime or doesn't have STEAM_RUNTIME set;
- # default to enabled Steam Runtime in either case
- steam_runtime_path = steam_root / "ubuntu12_32" / "steam-runtime"
-
- logger.info(
- "Using default Steam Runtime at %s", str(steam_runtime_path))
- return steam_runtime_path
-
- logger.error(
- "Path in STEAM_RUNTIME doesn't point to a valid Steam Runtime!")
-
- return None
-
-
APPINFO_STRUCT_HEADER = "<4sL"
APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
diff --git a/src/protontricks/util.py b/src/protontricks/util.py
index a850427..390fc01 100644
--- a/src/protontricks/util.py
+++ b/src/protontricks/util.py
@@ -6,7 +6,7 @@ import stat
from pathlib import Path
from subprocess import check_output, run, PIPE
-__all__ = ("get_runtime_library_paths", "create_wine_bin_dir", "run_command")
+__all__ = ("create_wine_bin_dir", "run_command")
logger = logging.getLogger("protontricks")
@@ -25,70 +25,10 @@ def lower_dict(d):
return {k.lower(): v for k, v in d.items()}
-def get_host_library_paths():
- """
- Get host library paths to use when creating the LD_LIBRARY_PATH environment
- variable for use with newer Steam Runtime installations
- """
- # The traditional Steam Runtime does the following when running the
- # `run.sh --print-steam-runtime-library-paths` command.
- # Since that command is unavailable with newer Steam Runtime releases,
- # do it ourselves here.
- result = run(
- ["/sbin/ldconfig", "-XNv"],
- check=True, stdout=PIPE, stderr=PIPE
- )
- lines = result.stdout.decode("utf-8").split("\n")
- paths = [
- line.split(":")[0] for line in lines
- if line.startswith("/") and ":" in line
- ]
-
- return ":".join(paths)
-
-
-def get_runtime_library_paths(steam_runtime_path, proton_app):
- """
- Get LD_LIBRARY_PATH value to run a command using Steam Runtime
- """
- if proton_app.required_tool_app:
- # bwrap based Steam Runtime is used for Proton installations that
- # use separate Steam runtimes
- # TODO: Try to run the Wine binaries inside an user namespace somehow.
- # Newer Steam Runtime environments may rely on a newer glibc than what
- # is available on the host system, which may cause potential problems
- # otherwise.
- runtime_root = next(
- proton_app.required_tool_app.install_path.glob("*/files/")
- )
- return "".join([
- str(proton_app.install_path / "dist" / "lib"), os.pathsep,
- str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
- get_host_library_paths(), os.pathsep,
- str(runtime_root / "i686-pc-linux-gnu" / "lib"), os.pathsep,
- str(runtime_root / "x86_64-pc-linux-gnu" / "lib")
- ])
-
- # Traditional LD_LIBRARY_PATH based Steam Runtime is used otherwise
- steam_runtime_paths = check_output([
- str(steam_runtime_path / "run.sh"),
- "--print-steam-runtime-library-paths"
- ])
- steam_runtime_paths = str(steam_runtime_paths, "utf-8")
- # Add Proton installation directory first into LD_LIBRARY_PATH
- # so that libwine.so.1 is picked up correctly (see issue #3)
- return "".join([
- str(proton_app.install_path / "dist" / "lib"), os.pathsep,
- str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
- steam_runtime_paths
- ])
-
-
WINE_SCRIPT_TEMPLATE = (
- "#!/bin/bash\n"
+ "#!/bin/sh\n"
"# Helper script created by Protontricks to run Wine binaries using Steam Runtime\n"
- "export LD_LIBRARY_PATH=\"$PROTON_LD_LIBRARY_PATH\"\n"
- "exec \"$PROTON_PATH\"/dist/bin/{name} \"$@\""
+ "exec steam-run \"$PROTON_PATH\"/dist/bin/{name} \"$@\""
)
@@ -149,7 +89,7 @@ def create_wine_bin_dir(proton_app):
def run_command(
winetricks_path, proton_app, steam_app, command,
- steam_runtime_path=None,
+ steam_runtime=False,
**kwargs):
"""Run an arbitrary command with the correct environment variables
for the given Proton app
@@ -157,7 +97,7 @@ def run_command(
The environment variables are set for the duration of the call
and restored afterwards
- If 'steam_runtime_path' is provided, run the command using Steam Runtime
+ If 'steam_runtime' is provided, run the command using Steam Runtime
"""
# Make a copy of the environment variables to restore later
environ_copy = os.environ.copy()
@@ -200,7 +140,7 @@ def run_command(
os.environ.pop("WINEARCH", "")
wine_bin_dir = None
- if steam_runtime_path:
+ if steam_runtime:
if proton_app.required_tool_app:
runtime_name = proton_app.required_tool_app.name
logger.info(
@@ -217,8 +157,6 @@ def run_command(
# that load the underlying Proton Wine executables with Steam Runtime
# and Proton libraries instead of system libraries
wine_bin_dir = create_wine_bin_dir(proton_app=proton_app)
- os.environ["PROTON_LD_LIBRARY_PATH"] = \
- get_runtime_library_paths(steam_runtime_path, proton_app)
os.environ["PATH"] = "".join([
str(wine_bin_dir), os.pathsep, os.environ["PATH"]
])
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 19e1137..2ef56d6 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -114,9 +114,6 @@ class TestCLIRun:
assert str(command.args[0]).endswith(".local/bin/winetricks")
assert command.args[1] == "winecfg"
assert command.env["PATH"].startswith(str(wine_bin_dir))
- assert (
- "fake_steam_runtime/lib64" in command.env["PROTON_LD_LIBRARY_PATH"]
- )
assert command.env["WINE"] == str(wine_bin_dir / "wine")
assert command.env["WINELOADER"] == str(wine_bin_dir / "wine")
assert command.env["WINESERVER"] == str(wine_bin_dir / "wineserver")

View File

@ -1,12 +1,12 @@
{
"amd64": {
"path": "pool/main/e/enpass/enpass_6.0.1.239_amd64.deb",
"sha256": "408a2bb318564307607f13b52fec7667f425c01ac40cbe345ebfa191ab1479ba",
"version": "6.0.1.239"
},
"path": "pool/main/e/enpass/enpass_6.5.1.723_amd64.deb",
"sha256": "d9bb408fa2253ce44ab5396898f7db13291ce23ae58964f4a27ade38bd5067bf",
"version": "6.5.1.723"
},
"i386": {
"path": "pool/main/e/enpass/enpass_5.6.9_i386.deb",
"sha256": "3f699ac3e2ecfd4afee1505d8d364d4f6b6b94c55ba989d0a80bd678ff66cb2c",
"version": "5.6.9"
}
}
}

View File

@ -2,7 +2,7 @@
, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
, gtk3, pango
, makeWrapper , python2Packages, lib
, lsof, curl, libuuid, cups, mesa
, lsof, curl, libuuid, cups, mesa, lzma, libxkbcommon
}:
let
@ -38,6 +38,8 @@ let
curl
libuuid
cups
lzma
libxkbcommon
]);
package = stdenv.mkDerivation {
@ -49,11 +51,12 @@ let
url = "${baseUrl}/${data.path}";
};
meta = {
description = "a well known password manager";
meta = with stdenv.lib; {
description = "A well known password manager";
homepage = "https://www.enpass.io/";
license = lib.licenses.unfree;
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux"];
maintainers = with maintainers; [ ewok ];
};
buildInputs = [makeWrapper dpkg];

View File

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "tectonic";
version = "0.3.3";
version = "0.4.0";
src = fetchFromGitHub {
owner = "tectonic-typesetting";
repo = "tectonic";
rev = "tectonic@${version}";
sha256 = "1ncczcchyphprkrb8spya400gi212a6akx18fm3j4xdhmg9caj3f";
sha256 = "1p93428ln3sfsflc7spjpfcgy81c4z5y0xhwv5mkgzf55g8nrin1";
};
cargoSha256 = "11xvq0l9xrppcplkshd5wxv90s97x4iavhzbdk9px992zl0m6ar6";
cargoSha256 = "0jzngl1iwrq20cx3l0mwdrrddvyw977rwb75nz1k4hkxjnicc1ga";
nativeBuildInputs = [ pkgconfig ];

View File

@ -7437,7 +7437,9 @@ in
smenu = callPackage ../tools/misc/smenu { };
smesh = callPackage ../development/libraries/smesh {};
smesh = callPackage ../development/libraries/smesh {
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
smu = callPackage ../tools/text/smu { };
@ -26375,13 +26377,10 @@ in
steamcmd = steamPackages.steamcmd;
protontricks = callPackage ../tools/package-management/protontricks {
inherit (python3Packages) buildPythonApplication pytest setuptools_scm vdf;
protontricks = python3Packages.callPackage ../tools/package-management/protontricks {
inherit steam-run;
inherit winetricks;
inherit (gnome3) zenity;
wine = wineWowPackages.minimal;
winetricks = winetricks.override {
wine = wineWowPackages.minimal;
};
};
stepmania = callPackage ../games/stepmania {

View File

@ -34,6 +34,8 @@ let
apron = callPackage ../development/ocaml-modules/apron { };
arp = callPackage ../development/ocaml-modules/arp { };
asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
astring = callPackage ../development/ocaml-modules/astring { };
@ -205,8 +207,22 @@ let
dns = callPackage ../development/ocaml-modules/dns { };
dns-certify = callPackage ../development/ocaml-modules/dns/certify.nix { };
dns-cli = callPackage ../development/ocaml-modules/dns/cli.nix { };
dns-client = callPackage ../development/ocaml-modules/dns/client.nix { };
dns-mirage = callPackage ../development/ocaml-modules/dns/mirage.nix { };
dns-resolver = callPackage ../development/ocaml-modules/dns/resolver.nix { };
dns-server = callPackage ../development/ocaml-modules/dns/server.nix { };
dns-stub = callPackage ../development/ocaml-modules/dns/stub.nix { };
dns-tsig = callPackage ../development/ocaml-modules/dns/tsig.nix { };
dolmen = callPackage ../development/ocaml-modules/dolmen { };
dolog = callPackage ../development/ocaml-modules/dolog { };
@ -270,6 +286,8 @@ let
estring = callPackage ../development/ocaml-modules/estring { };
ethernet = callPackage ../development/ocaml-modules/ethernet { };
ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { };
ezxmlm = callPackage ../development/ocaml-modules/ezxmlm { };
@ -501,6 +519,8 @@ let
lwt_camlp4 = callPackage ../development/ocaml-modules/lwt/camlp4.nix { };
lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { };
lwt_log = callPackage ../development/ocaml-modules/lwt_log { };
lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix { };
@ -561,6 +581,8 @@ let
mirage-console = callPackage ../development/ocaml-modules/mirage-console { };
mirage-console-unix = callPackage ../development/ocaml-modules/mirage-console/unix.nix { };
mirage-crypto = callPackage ../development/ocaml-modules/mirage-crypto { };
mirage-crypto-pk = callPackage ../development/ocaml-modules/mirage-crypto/pk.nix { };
@ -583,6 +605,8 @@ let
mirage-logs = callPackage ../development/ocaml-modules/mirage-logs { };
mirage-nat = callPackage ../development/ocaml-modules/mirage-nat { };
mirage-net = callPackage ../development/ocaml-modules/mirage-net { };
mirage-profile = callPackage ../development/ocaml-modules/mirage-profile { };
@ -591,6 +615,8 @@ let
mirage-random = callPackage ../development/ocaml-modules/mirage-random { };
mirage-random-test = callPackage ../development/ocaml-modules/mirage-random-test { };
mirage-runtime = callPackage ../development/ocaml-modules/mirage/runtime.nix { };
mirage-stack = callPackage ../development/ocaml-modules/mirage-stack { };
@ -605,6 +631,8 @@ let
mirage-unix = callPackage ../development/ocaml-modules/mirage-unix { };
mirage-vnetif = callPackage ../development/ocaml-modules/mirage-vnetif { };
mlgmp = callPackage ../development/ocaml-modules/mlgmp { };
mlgmpidl = callPackage ../development/ocaml-modules/mlgmpidl { };
@ -788,6 +816,8 @@ let
parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
@ -826,6 +856,8 @@ let
spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
tcpip = callPackage ../development/ocaml-modules/tcpip { };
tsort = callPackage ../development/ocaml-modules/tsort { };
tuntap = callPackage ../development/ocaml-modules/tuntap { };

View File

@ -1041,7 +1041,9 @@ in {
cachy = callPackage ../development/python-modules/cachy { };
cadquery = callPackage ../development/python-modules/cadquery { };
cadquery = callPackage ../development/python-modules/cadquery {
inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
};
caffe = toPythonModule (pkgs.caffe.override {
pythonSupport = true;
@ -6025,8 +6027,10 @@ in {
python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
pythonocc-core =
toPythonModule (callPackage ../development/python-modules/pythonocc-core { inherit (pkgs.xorg) libX11; });
pythonocc-core = toPythonModule (callPackage ../development/python-modules/pythonocc-core {
inherit (pkgs.xorg) libX11;
inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
});
python-olm = callPackage ../development/python-modules/python-olm { };