Merge master into staging-next
This commit is contained in:
commit
056304189c
@ -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
|
||||
|
104
nixos/modules/programs/msmtp.nix
Normal file
104
nixos/modules/programs/msmtp.nix
Normal 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}
|
||||
'';
|
||||
};
|
||||
}
|
@ -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];
|
||||
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
57
pkgs/development/ocaml-modules/arp/default.nix
Normal file
57
pkgs/development/ocaml-modules/arp/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
33
pkgs/development/ocaml-modules/dns/certify.nix
Normal file
33
pkgs/development/ocaml-modules/dns/certify.nix
Normal 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";
|
||||
};
|
||||
}
|
48
pkgs/development/ocaml-modules/dns/cli.nix
Normal file
48
pkgs/development/ocaml-modules/dns/cli.nix
Normal 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";
|
||||
};
|
||||
}
|
18
pkgs/development/ocaml-modules/dns/mirage.nix
Normal file
18
pkgs/development/ocaml-modules/dns/mirage.nix
Normal 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";
|
||||
};
|
||||
}
|
32
pkgs/development/ocaml-modules/dns/resolver.nix
Normal file
32
pkgs/development/ocaml-modules/dns/resolver.nix
Normal 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";
|
||||
};
|
||||
}
|
34
pkgs/development/ocaml-modules/dns/server.nix
Normal file
34
pkgs/development/ocaml-modules/dns/server.nix
Normal 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";
|
||||
};
|
||||
}
|
33
pkgs/development/ocaml-modules/dns/stub.nix
Normal file
33
pkgs/development/ocaml-modules/dns/stub.nix
Normal 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";
|
||||
};
|
||||
}
|
22
pkgs/development/ocaml-modules/dns/tsig.nix
Normal file
22
pkgs/development/ocaml-modules/dns/tsig.nix
Normal 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";
|
||||
};
|
||||
}
|
42
pkgs/development/ocaml-modules/ethernet/default.nix
Normal file
42
pkgs/development/ocaml-modules/ethernet/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
26
pkgs/development/ocaml-modules/lwt-dllist/default.nix
Normal file
26
pkgs/development/ocaml-modules/lwt-dllist/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
17
pkgs/development/ocaml-modules/mirage-console/unix.nix
Normal file
17
pkgs/development/ocaml-modules/mirage-console/unix.nix
Normal 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";
|
||||
};
|
||||
}
|
50
pkgs/development/ocaml-modules/mirage-nat/default.nix
Normal file
50
pkgs/development/ocaml-modules/mirage-nat/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
};
|
||||
}
|
40
pkgs/development/ocaml-modules/mirage-vnetif/default.nix
Normal file
40
pkgs/development/ocaml-modules/mirage-vnetif/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
|
||||
}
|
||||
|
41
pkgs/development/ocaml-modules/pcap-format/default.nix
Normal file
41
pkgs/development/ocaml-modules/pcap-format/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
70
pkgs/development/ocaml-modules/tcpip/default.nix
Normal file
70
pkgs/development/ocaml-modules/tcpip/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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";
|
||||
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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)" ];
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
5251
pkgs/servers/matrix-appservice-discord/node-packages.nix
generated
5251
pkgs/servers/matrix-appservice-discord/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||
}
|
||||
}
|
||||
|
4317
pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
Normal file
4317
pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
254
pkgs/tools/package-management/protontricks/steam-run.patch
Normal file
254
pkgs/tools/package-management/protontricks/steam-run.patch
Normal 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")
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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];
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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 { };
|
||||
|
@ -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 { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user