Merge staging-next into staging
This commit is contained in:
commit
7455d89599
@ -2885,6 +2885,12 @@
|
||||
githubId = 28980797;
|
||||
name = "David Leslie";
|
||||
};
|
||||
dlip = {
|
||||
email = "dane@lipscombe.com.au";
|
||||
github = "dlip";
|
||||
githubId = 283316;
|
||||
name = "Dane Lipscombe";
|
||||
};
|
||||
dmalikov = {
|
||||
email = "malikov.d.y@gmail.com";
|
||||
github = "dmalikov";
|
||||
|
@ -379,6 +379,14 @@
|
||||
<link linkend="opt-services.multipath.enable">services.multipath</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://www.seafile.com/en/home/">seafile</link>,
|
||||
an open source file syncing & sharing software. Available
|
||||
as
|
||||
<link xlink:href="options.html#opt-services.seafile.enable">services.seafile</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-incompatibilities">
|
||||
|
@ -116,6 +116,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- [multipath](https://github.com/opensvc/multipath-tools), the device mapper multipath (DM-MP) daemon. Available as [services.multipath](#opt-services.multipath.enable).
|
||||
|
||||
- [seafile](https://www.seafile.com/en/home/), an open source file syncing & sharing software. Available as [services.seafile](options.html#opt-services.seafile.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
|
||||
|
||||
- The `services.wakeonlan` option was removed, and replaced with `networking.interfaces.<name>.wakeOnLan`.
|
||||
|
@ -838,6 +838,7 @@
|
||||
./services/networking/rpcbind.nix
|
||||
./services/networking/rxe.nix
|
||||
./services/networking/sabnzbd.nix
|
||||
./services/networking/seafile.nix
|
||||
./services/networking/searx.nix
|
||||
./services/networking/skydns.nix
|
||||
./services/networking/shadowsocks.nix
|
||||
|
290
nixos/modules/services/networking/seafile.nix
Normal file
290
nixos/modules/services/networking/seafile.nix
Normal file
@ -0,0 +1,290 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
python = pkgs.python3Packages.python;
|
||||
cfg = config.services.seafile;
|
||||
settingsFormat = pkgs.formats.ini { };
|
||||
|
||||
ccnetConf = settingsFormat.generate "ccnet.conf" cfg.ccnetSettings;
|
||||
|
||||
seafileConf = settingsFormat.generate "seafile.conf" cfg.seafileSettings;
|
||||
|
||||
seahubSettings = pkgs.writeText "seahub_settings.py" ''
|
||||
FILE_SERVER_ROOT = '${cfg.ccnetSettings.General.SERVICE_URL}/seafhttp'
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': '${seahubDir}/seahub.db',
|
||||
}
|
||||
}
|
||||
MEDIA_ROOT = '${seahubDir}/media/'
|
||||
THUMBNAIL_ROOT = '${seahubDir}/thumbnail/'
|
||||
|
||||
with open('${seafRoot}/.seahubSecret') as f:
|
||||
SECRET_KEY = f.readline().rstrip()
|
||||
|
||||
${cfg.seahubExtraConf}
|
||||
'';
|
||||
|
||||
seafRoot = "/var/lib/seafile"; # hardcode it due to dynamicuser
|
||||
ccnetDir = "${seafRoot}/ccnet";
|
||||
dataDir = "${seafRoot}/data";
|
||||
seahubDir = "${seafRoot}/seahub";
|
||||
|
||||
in {
|
||||
|
||||
###### Interface
|
||||
|
||||
options.services.seafile = {
|
||||
enable = mkEnableOption "Seafile server";
|
||||
|
||||
ccnetSettings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options = {
|
||||
General = {
|
||||
SERVICE_URL = mkOption {
|
||||
type = types.str;
|
||||
example = "https://www.example.com";
|
||||
description = ''
|
||||
Seahub public URL.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration for ccnet, see
|
||||
<link xlink:href="https://manual.seafile.com/config/ccnet-conf/"/>
|
||||
for supported values.
|
||||
'';
|
||||
};
|
||||
|
||||
seafileSettings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options = {
|
||||
fileserver = {
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8082;
|
||||
description = ''
|
||||
The tcp port used by seafile fileserver.
|
||||
'';
|
||||
};
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
example = "0.0.0.0";
|
||||
description = ''
|
||||
The binding address used by seafile fileserver.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration for seafile-server, see
|
||||
<link xlink:href="https://manual.seafile.com/config/seafile-conf/"/>
|
||||
for supported values.
|
||||
'';
|
||||
};
|
||||
|
||||
workers = mkOption {
|
||||
type = types.int;
|
||||
default = 4;
|
||||
example = 10;
|
||||
description = ''
|
||||
The number of gunicorn worker processes for handling requests.
|
||||
'';
|
||||
};
|
||||
|
||||
adminEmail = mkOption {
|
||||
example = "john@example.com";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Seafile Seahub Admin Account Email.
|
||||
'';
|
||||
};
|
||||
|
||||
initialAdminPassword = mkOption {
|
||||
example = "someStrongPass";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Seafile Seahub Admin Account initial password.
|
||||
Should be change via Seahub web front-end.
|
||||
'';
|
||||
};
|
||||
|
||||
seafilePackage = mkOption {
|
||||
type = types.package;
|
||||
description = "Which package to use for the seafile server.";
|
||||
default = pkgs.seafile-server;
|
||||
};
|
||||
|
||||
seahubExtraConf = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Extra config to append to `seahub_settings.py` file.
|
||||
Refer to <link xlink:href="https://manual.seafile.com/config/seahub_settings_py/" />
|
||||
for all available options.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
###### Implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.etc."seafile/ccnet.conf".source = ccnetConf;
|
||||
environment.etc."seafile/seafile.conf".source = seafileConf;
|
||||
environment.etc."seafile/seahub_settings.py".source = seahubSettings;
|
||||
|
||||
systemd.targets.seafile = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Seafile components";
|
||||
};
|
||||
|
||||
systemd.services = let
|
||||
securityOptions = {
|
||||
ProtectHome = true;
|
||||
PrivateUsers = true;
|
||||
PrivateDevices = true;
|
||||
ProtectClock = true;
|
||||
ProtectHostname = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
SystemCallArchitectures = "native";
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
|
||||
};
|
||||
in {
|
||||
seaf-server = {
|
||||
description = "Seafile server";
|
||||
partOf = [ "seafile.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "seafile.target" ];
|
||||
restartTriggers = [ ccnetConf seafileConf ];
|
||||
serviceConfig = securityOptions // {
|
||||
User = "seafile";
|
||||
Group = "seafile";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "seafile";
|
||||
RuntimeDirectory = "seafile";
|
||||
LogsDirectory = "seafile";
|
||||
ConfigurationDirectory = "seafile";
|
||||
ExecStart = ''
|
||||
${cfg.seafilePackage}/bin/seaf-server \
|
||||
--foreground \
|
||||
-F /etc/seafile \
|
||||
-c ${ccnetDir} \
|
||||
-d ${dataDir} \
|
||||
-l /var/log/seafile/server.log \
|
||||
-P /run/seafile/server.pid \
|
||||
-p /run/seafile
|
||||
'';
|
||||
};
|
||||
preStart = ''
|
||||
if [ ! -f "${seafRoot}/server-setup" ]; then
|
||||
mkdir -p ${dataDir}/library-template
|
||||
mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr}
|
||||
${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql"
|
||||
${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql"
|
||||
${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql"
|
||||
${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql"
|
||||
${pkgs.sqlite}/bin/sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql"
|
||||
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
|
||||
fi
|
||||
# checking for upgrades and handling them
|
||||
# WARNING: needs to be extended to actually handle major version migrations
|
||||
installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
|
||||
installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
|
||||
pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
|
||||
pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2)
|
||||
if [ $installedMajor != $pkgMajor ] || [ $installedMinor != $pkgMinor ]; then
|
||||
echo "Unsupported upgrade" >&2
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
seahub = let
|
||||
penv = (pkgs.python3.withPackages (ps: with ps; [ gunicorn seahub ]));
|
||||
in {
|
||||
description = "Seafile Server Web Frontend";
|
||||
wantedBy = [ "seafile.target" ];
|
||||
partOf = [ "seafile.target" ];
|
||||
after = [ "network.target" "seaf-server.service" ];
|
||||
requires = [ "seaf-server.service" ];
|
||||
restartTriggers = [ seahubSettings ];
|
||||
environment = {
|
||||
PYTHONPATH =
|
||||
"${pkgs.python3Packages.seahub}/thirdpart:${pkgs.python3Packages.seahub}:${penv}/${python.sitePackages}";
|
||||
DJANGO_SETTINGS_MODULE = "seahub.settings";
|
||||
CCNET_CONF_DIR = ccnetDir;
|
||||
SEAFILE_CONF_DIR = dataDir;
|
||||
SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
|
||||
SEAFILE_RPC_PIPE_PATH = "/run/seafile";
|
||||
SEAHUB_LOG_DIR = "/var/log/seafile";
|
||||
};
|
||||
serviceConfig = securityOptions // {
|
||||
User = "seafile";
|
||||
Group = "seafile";
|
||||
DynamicUser = true;
|
||||
RuntimeDirectory = "seahub";
|
||||
StateDirectory = "seafile";
|
||||
LogsDirectory = "seafile";
|
||||
ConfigurationDirectory = "seafile";
|
||||
ExecStart = ''
|
||||
${penv}/bin/gunicorn seahub.wsgi:application \
|
||||
--name seahub \
|
||||
--workers ${toString cfg.workers} \
|
||||
--log-level=info \
|
||||
--preload \
|
||||
--timeout=1200 \
|
||||
--limit-request-line=8190 \
|
||||
--bind unix:/run/seahub/gunicorn.sock
|
||||
'';
|
||||
};
|
||||
preStart = ''
|
||||
mkdir -p ${seahubDir}/media
|
||||
# Link all media except avatars
|
||||
for m in `find ${pkgs.python3Packages.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
|
||||
ln -sf $m ${seahubDir}/media/
|
||||
done
|
||||
if [ ! -e "${seafRoot}/.seahubSecret" ]; then
|
||||
${penv}/bin/python ${pkgs.python3Packages.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
|
||||
chmod 400 ${seafRoot}/.seahubSecret
|
||||
fi
|
||||
if [ ! -f "${seafRoot}/seahub-setup" ]; then
|
||||
# avatars directory should be writable
|
||||
install -D -t ${seahubDir}/media/avatars/ ${pkgs.python3Packages.seahub}/media/avatars/default.png
|
||||
install -D -t ${seahubDir}/media/avatars/groups ${pkgs.python3Packages.seahub}/media/avatars/groups/default.png
|
||||
# init database
|
||||
${pkgs.python3Packages.seahub}/manage.py migrate
|
||||
# create admin account
|
||||
${pkgs.expect}/bin/expect -c 'spawn ${pkgs.python3Packages.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
|
||||
echo "${pkgs.python3Packages.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
|
||||
fi
|
||||
if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.python3Packages.seahub.version}" ]; then
|
||||
# update database
|
||||
${pkgs.python3Packages.seahub}/manage.py migrate
|
||||
echo "${pkgs.python3Packages.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
123
nixos/tests/seafile.nix
Normal file
123
nixos/tests/seafile.nix
Normal file
@ -0,0 +1,123 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
let
|
||||
client = { config, pkgs, ... }: {
|
||||
virtualisation.memorySize = 256;
|
||||
environment.systemPackages = [ pkgs.seafile-shared pkgs.curl ];
|
||||
};
|
||||
in {
|
||||
name = "seafile";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ kampfschlaefer schmittlauch ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: {
|
||||
virtualisation.memorySize = 512;
|
||||
services.seafile = {
|
||||
enable = true;
|
||||
ccnetSettings.General.SERVICE_URL = "http://server";
|
||||
adminEmail = "admin@example.com";
|
||||
initialAdminPassword = "seafile_password";
|
||||
};
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts."server" = {
|
||||
locations."/".proxyPass = "http://unix:/run/seahub/gunicorn.sock";
|
||||
locations."/seafhttp" = {
|
||||
proxyPass = "http://127.0.0.1:8082";
|
||||
extraConfig = ''
|
||||
rewrite ^/seafhttp(.*)$ $1 break;
|
||||
client_max_body_size 0;
|
||||
proxy_connect_timeout 36000s;
|
||||
proxy_read_timeout 36000s;
|
||||
proxy_send_timeout 36000s;
|
||||
send_timeout 36000s;
|
||||
proxy_http_version 1.1;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.firewall = { allowedTCPPorts = [ 80 ]; };
|
||||
};
|
||||
client1 = client pkgs;
|
||||
client2 = client pkgs;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("start seaf-server"):
|
||||
server.wait_for_unit("seaf-server.service")
|
||||
server.wait_for_file("/run/seafile/seafile.sock")
|
||||
|
||||
with subtest("start seahub"):
|
||||
server.wait_for_unit("seahub.service")
|
||||
server.wait_for_unit("nginx.service")
|
||||
server.wait_for_file("/run/seahub/gunicorn.sock")
|
||||
|
||||
with subtest("client1 fetch seahub page"):
|
||||
client1.succeed("curl -L http://server | grep 'Log In' >&2")
|
||||
|
||||
with subtest("client1 connect"):
|
||||
client1.wait_for_unit("default.target")
|
||||
client1.succeed("seaf-cli init -d . >&2")
|
||||
client1.succeed("seaf-cli start >&2")
|
||||
client1.succeed(
|
||||
"seaf-cli list-remote -s http://server -u admin\@example.com -p seafile_password >&2"
|
||||
)
|
||||
|
||||
libid = client1.succeed(
|
||||
'seaf-cli create -s http://server -n test01 -u admin\@example.com -p seafile_password -t "first test library"'
|
||||
).strip()
|
||||
|
||||
client1.succeed(
|
||||
"seaf-cli list-remote -s http://server -u admin\@example.com -p seafile_password |grep test01"
|
||||
)
|
||||
client1.fail(
|
||||
"seaf-cli list-remote -s http://server -u admin\@example.com -p seafile_password |grep test02"
|
||||
)
|
||||
|
||||
client1.succeed(
|
||||
f"seaf-cli download -l {libid} -s http://server -u admin\@example.com -p seafile_password -d . >&2"
|
||||
)
|
||||
|
||||
client1.sleep(3)
|
||||
|
||||
client1.succeed("seaf-cli status |grep synchronized >&2")
|
||||
|
||||
client1.succeed("ls -la >&2")
|
||||
client1.succeed("ls -la test01 >&2")
|
||||
|
||||
client1.execute("echo bla > test01/first_file")
|
||||
|
||||
client1.sleep(2)
|
||||
|
||||
client1.succeed("seaf-cli status |grep synchronized >&2")
|
||||
|
||||
with subtest("client2 sync"):
|
||||
client2.wait_for_unit("default.target")
|
||||
|
||||
client2.succeed("seaf-cli init -d . >&2")
|
||||
client2.succeed("seaf-cli start >&2")
|
||||
|
||||
client2.succeed(
|
||||
"seaf-cli list-remote -s http://server -u admin\@example.com -p seafile_password >&2"
|
||||
)
|
||||
|
||||
libid = client2.succeed(
|
||||
"seaf-cli list-remote -s http://server -u admin\@example.com -p seafile_password |grep test01 |cut -d' ' -f 2"
|
||||
).strip()
|
||||
|
||||
client2.succeed(
|
||||
f"seaf-cli download -l {libid} -s http://server -u admin\@example.com -p seafile_password -d . >&2"
|
||||
)
|
||||
|
||||
client2.sleep(3)
|
||||
|
||||
client2.succeed("seaf-cli status |grep synchronized >&2")
|
||||
|
||||
client2.succeed("ls -la test01 >&2")
|
||||
|
||||
client2.succeed('[ `cat test01/first_file` = "bla" ]')
|
||||
'';
|
||||
})
|
@ -17,7 +17,6 @@
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, python3
|
||||
, openssl
|
||||
, withGui
|
||||
, withWallet ? true
|
||||
}:
|
||||
@ -25,11 +24,11 @@
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "elements" else "elementsd";
|
||||
version = "0.18.1.12";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
|
||||
sha256 = "84a51013596b09c62913649ac90373622185f779446ee7e65b4b258a2876609f";
|
||||
sha256 = "0d9mcb0nw9qqhv0jhpddi9i4iry3w7b5jifsl5kpcw82qrkvgfgj";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
@ -38,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
++ optionals stdenv.isDarwin [ hexdump ]
|
||||
++ optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib openssl ]
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
|
||||
++ optionals withWallet [ db48 sqlite ]
|
||||
++ optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
@ -79,8 +78,5 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
# Qt GUI is currently broken in upstream
|
||||
# No rule to make target 'qt/res/rendered_icons/about.png', needed by 'qt/qrc_bitcoin.cpp'.
|
||||
broken = withGui;
|
||||
};
|
||||
}
|
||||
|
48
pkgs/applications/editors/thiefmd/default.nix
Normal file
48
pkgs/applications/editors/thiefmd/default.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ lib, stdenv, fetchFromGitHub, wrapGAppsHook, cmake, desktop-file-utils, glib
|
||||
, meson, ninja, pkg-config, vala, clutter, discount, gtk3, gtksourceview4, gtkspell3
|
||||
, libarchive, libgee, libhandy, libsecret, link-grammar, webkitgtk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "thiefmd";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kmwallio";
|
||||
repo = "ThiefMD";
|
||||
rev = "v${version}-easypdf";
|
||||
sha256 = "sha256-YN17o6GtpulxhXs+XYZLY36g9S8ggR6URNLrjs5PEoI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake desktop-file-utils glib meson wrapGAppsHook
|
||||
ninja pkg-config vala
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
clutter discount gtk3 gtksourceview4 gtkspell3
|
||||
libarchive libgee libhandy libsecret link-grammar
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
postInstall = ''
|
||||
mv $out/share/applications/com.github.kmwallio.thiefmd.desktop \
|
||||
$out/share/applications/thiefmd.desktop
|
||||
substituteInPlace $out/share/applications/thiefmd.desktop \
|
||||
--replace 'Exec=com.github.kmwallio.' Exec=$out/bin/
|
||||
|
||||
makeWrapper $out/bin/com.github.kmwallio.thiefmd \
|
||||
$out/bin/thiefmd \
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Markdown & Fountain editor that helps with organization and management";
|
||||
homepage = "https://thiefmd.com";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
};
|
||||
}
|
58
pkgs/applications/misc/binance/default.nix
Normal file
58
pkgs/applications/misc/binance/default.nix
Normal file
@ -0,0 +1,58 @@
|
||||
{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron_12,
|
||||
alsa-lib, gtk3, libxshmfence, mesa, nss, popt }:
|
||||
|
||||
let
|
||||
electron = electron_12;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "binance";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/binance/desktop/releases/download/v${version}/${pname}-${version}-amd64-linux.deb";
|
||||
sha256 = "sha256-oXXzrRhdaWP8GcWI/Ugl8BrDWomZ+hsy5Om0+ME+zY0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss popt ];
|
||||
|
||||
libPath = lib.makeLibraryPath buildInputs;
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg-deb -x ${src} ./
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mv usr $out
|
||||
mv opt $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace $out/share/applications/binance.desktop --replace '/opt/Binance' $out/bin
|
||||
|
||||
makeWrapper ${electron}/bin/electron \
|
||||
$out/bin/binance \
|
||||
--add-flags $out/opt/Binance/resources/app.asar \
|
||||
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Binance Cryptoexchange Official Desktop Client";
|
||||
homepage = "https://www.binance.com/en/desktop-download";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
@ -31,7 +31,7 @@ mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-9ymHEpTHDUM3NAGoeSETzKRLKgJLRY4eEli6N5lbZug=";
|
||||
sha256 = "058dqqxhc3pl4is1idlnc3pz80k4r681d5aj4a26v9acp8j7zy4f";
|
||||
};
|
||||
|
||||
# https://sources.debian.org/patches/calibre/5.30.0+dfsg-1
|
||||
|
@ -1,19 +1,19 @@
|
||||
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
||||
, pkg-config, which, perl, libXrandr
|
||||
, cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
|
||||
, gtk3, wayland, wayland-protocols
|
||||
, wayland, wayland-protocols
|
||||
, libXinerama, libnotify, pango, xorgproto, librsvg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dunst";
|
||||
version = "1.6.1";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunst-project";
|
||||
repo = "dunst";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lga1kj2vjbj9g9rl93nivngjmk5fkxdxwal8w96x9whwk9jvdga";
|
||||
sha256 = "sha256-BWbvGetXXCXbfPRY+u6gEfzBmX8PLSnI6a5vfCByiC0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];
|
||||
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
cairo dbus gdk-pixbuf glib libX11 libXScrnSaver
|
||||
libXinerama libnotify pango xorgproto librsvg libXrandr
|
||||
gtk3 wayland wayland-protocols
|
||||
wayland wayland-protocols
|
||||
];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
@ -563,10 +563,10 @@
|
||||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
|
||||
"repo": "terraform-provider-kubernetes",
|
||||
"rev": "v2.5.0",
|
||||
"sha256": "1hp3bwhlfiwf1a4l6xfldwdxmyjs4nq3n8g343grjya7ibbhh4sg",
|
||||
"rev": "v2.6.1",
|
||||
"sha256": "164x0ddgqk3bj0za4h9kz69npgr4cw7w5hnl0pmxsgvsb04vwc0g",
|
||||
"vendorSha256": null,
|
||||
"version": "2.5.0"
|
||||
"version": "2.6.1"
|
||||
},
|
||||
"launchdarkly": {
|
||||
"owner": "terraform-providers",
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, qmake
|
||||
, pkg-config
|
||||
, qtbase
|
||||
@ -9,45 +10,49 @@
|
||||
, qtserialport
|
||||
, boost
|
||||
, libgit2
|
||||
, quazip
|
||||
}:
|
||||
|
||||
let
|
||||
# build number corresponding to a release, has no further relation
|
||||
# see https://github.com/fritzing/fritzing-app/releases/tag/CD-498
|
||||
# fritzingBuild = "498";
|
||||
# version 0.9.6 is properly tagged, hope it continues
|
||||
|
||||
# SHA256 of the fritzing-parts HEAD on the master branch,
|
||||
# which contains the latest stable parts definitions
|
||||
partsSha = "6f04697be286768bc9e4d64f8707e8e40cbcafcb";
|
||||
partsSha = "640fa25650211afccd369f960375ade8ec3e8653";
|
||||
|
||||
parts = fetchFromGitHub {
|
||||
owner = "fritzing";
|
||||
repo = "fritzing-parts";
|
||||
rev = partsSha;
|
||||
sha256 = "sha256-4S65eX4LCnXCFQAOxmdvr8d0nAgTWcJooE2SpLYpcXI=";
|
||||
};
|
||||
in
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "fritzing";
|
||||
version = "0.9.6";
|
||||
version = "unstable-2021-09-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "fritzing-app";
|
||||
rev = version;
|
||||
sha256 = "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs";
|
||||
rev = "f0af53a9077f7cdecef31d231b85d8307de415d4";
|
||||
sha256 = "sha256-fF38DrBoeZ0aKwVMNyYMPWa5rFPbIVXRARZT+eRat5Q=";
|
||||
};
|
||||
|
||||
parts = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "fritzing-parts";
|
||||
name = "fritzing-parts";
|
||||
rev = partsSha;
|
||||
sha256 = "1f4w0hz44n4iw1rc5vhcgzvlji54rf4yr8bvzkqv99hn2xf5pjgs";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
|
||||
buildInputs = [ qtbase qtsvg qtserialport boost libgit2 quazip ];
|
||||
nativeBuildInputs = [ qmake pkg-config qttools ];
|
||||
|
||||
patches = [
|
||||
# Add support for QuaZip 1.x
|
||||
(fetchpatch {
|
||||
url = "https://github.com/fritzing/fritzing-app/commit/ef83ebd9113266bb31b3604e3e9d0332bb48c999.patch";
|
||||
sha256 = "sha256-J43E6iBRIVbsuuo82gPk3Q7tyLhNkuuyYwtH8hUfcPU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace phoenix.pro \
|
||||
--replace 'LIBGIT_STATIC = true' 'LIBGIT_STATIC = false'
|
||||
|
||||
#TODO: Do not hardcode SHA.
|
||||
substituteInPlace src/fapplication.cpp \
|
||||
--replace 'PartsChecker::getSha(dir.absolutePath());' '"${partsSha}";'
|
||||
|
||||
@ -55,21 +60,25 @@ mkDerivation rec {
|
||||
cp -a ${parts}/* parts/
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"phoenix.pro"
|
||||
"DEFINES=QUAZIP_INSTALLED"
|
||||
"DEFINES+=QUAZIP_1X"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# generate the parts.db file
|
||||
QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" \
|
||||
-db "$out/share/fritzing/parts/parts.db" \
|
||||
-pp "$out/fritzing/parts" \
|
||||
-pp "$out/share/fritzing/parts" \
|
||||
-folder "$out/share/fritzing"
|
||||
'';
|
||||
|
||||
qmakeFlags = [ "phoenix.pro" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open source prototyping tool for Arduino-based projects";
|
||||
homepage = "https://fritzing.org/";
|
||||
license = with licenses; [ gpl3 cc-by-sa-30 ];
|
||||
maintainers = with maintainers; [ robberer ];
|
||||
maintainers = with maintainers; [ robberer musfay ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "7.4.24";
|
||||
sha256 = "0cigvwp469kmc27r28liq5dwdz5icp61vqqr3w24jhw6i2vk43pm";
|
||||
version = "7.4.25";
|
||||
sha256 = "sha256-J5klcMrz4uUyOrezeFPETBUpsdMeqU2Xdu+pHVp4ExM=";
|
||||
});
|
||||
|
||||
in
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "8.0.11";
|
||||
sha256 = "0fj0yk0h0fvr9ckszp496wdyvf8kdfsvydw95qg0q0g4hm18gvbh";
|
||||
version = "8.0.12";
|
||||
sha256 = "sha256-tIhtsd8yLcj7Eo2LNK5+lPb8aC7LKf9PWlkdTen+rb8=";
|
||||
});
|
||||
|
||||
in
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
let
|
||||
pname = "libint";
|
||||
version = "2.6.0";
|
||||
version = "2.7.1";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions";
|
||||
@ -23,10 +23,22 @@ let
|
||||
owner = "evaleev";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0pbc2j928jyffhdp4x5bkw68mqmx610qqhnb223vdzr0n2yj5y19";
|
||||
sha256 = "5nSeyT1DhFsA76Dt3dqYfhfBYD+iTl34O3lVeH6+OVw=";
|
||||
};
|
||||
|
||||
patches = [ ./fix-paths.patch ];
|
||||
# Replace hardcoded "/bin/rm" with normal "rm"
|
||||
postPatch = ''
|
||||
for f in \
|
||||
bin/ltmain.sh \
|
||||
configure.ac \
|
||||
src/bin/libint/Makefile \
|
||||
src/lib/libint/Makefile.library \
|
||||
tests/eri/Makefile \
|
||||
tests/hartree-fock/Makefile \
|
||||
tests/unit/Makefile; do
|
||||
substituteInPlace $f --replace "/bin/rm" "rm"
|
||||
done
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
@ -56,8 +68,7 @@ let
|
||||
"--with-g12dkh-opt-am=3"
|
||||
"--enable-contracted-ints"
|
||||
"--enable-shared"
|
||||
] ++ lib.optional enableFMA "--enable-fma"
|
||||
++ lib.optional enableFortran "--enable-fortran";
|
||||
] ++ lib.optional enableFMA "--enable-fma";
|
||||
|
||||
makeFlags = [ "export" ];
|
||||
|
||||
|
@ -1,96 +0,0 @@
|
||||
diff --git a/export/fortran/Makefile b/export/fortran/Makefile
|
||||
index 62d8711..a83edc7 100644
|
||||
--- a/export/fortran/Makefile
|
||||
+++ b/export/fortran/Makefile
|
||||
@@ -1,12 +1,14 @@
|
||||
-TOPDIR = ..
|
||||
-SRCDIR = ..
|
||||
+TOPDIR = ../..
|
||||
+SRCDIR = ../..
|
||||
|
||||
--include ../MakeSuffixRules
|
||||
--include ../MakeVars
|
||||
--include ../MakeVars.features
|
||||
+-include ../../lib/MakeSuffixRules
|
||||
+-include ../../src/bin/MakeVars
|
||||
+-include ../../src/lib/libint/MakeVars.features
|
||||
|
||||
-FCFLAGS := -I../include -I../include/libint2 -D__COMPILING_LIBINT2=1 $(FCFLAGS)
|
||||
-COMPUTE_LIB = -L../lib -lint2
|
||||
+FCFLAGS := -I../../include -I../../include/libint2 -D__COMPILING_LIBINT2=1 $(FCFLAGS)
|
||||
+COMPUTE_LIB = -L../../lib -lint2
|
||||
+
|
||||
+CXXCPP = cc -E -I../../include/libint2
|
||||
|
||||
.PHONY: clean distclean default make_test check_test
|
||||
|
||||
@@ -28,7 +30,7 @@ libint2_types_f.h: $(TOPDIR)/include/libint2.h.i
|
||||
|
||||
fortran_example.o: libint_f.o
|
||||
|
||||
-fortran_incldefs.h: $(TOPDIR)/include/libint2_types.h
|
||||
+fortran_incldefs.h: $(TOPDIR)/include/libint2/libint2_types.h
|
||||
grep '^#' $< | grep -v '#include' > $@
|
||||
|
||||
fortran_example: fortran_example.o libint_f.o
|
||||
diff --git a/src/bin/libint/Makefile b/src/bin/libint/Makefile
|
||||
index 406306c..bd8a695 100644
|
||||
--- a/src/bin/libint/Makefile
|
||||
+++ b/src/bin/libint/Makefile
|
||||
@@ -59,7 +59,7 @@ test: $(TESTCXXOBJ) $(LIBTARGET)
|
||||
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $^ $(SYSLIBS)
|
||||
|
||||
$(LIBTARGET): $(LIBOBJ)
|
||||
- /bin/rm -f $@
|
||||
+ rm -f $@
|
||||
$(AR) $(ARFLAGS) $@ $(LIBOBJ)
|
||||
$(RANLIB) $@
|
||||
|
||||
@@ -102,7 +102,7 @@ ifneq ($(CXXDEPENDSUF),none)
|
||||
%.d: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
|
||||
sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
|
||||
- /bin/rm -f $(*F).$(CXXDEPENDSUF)
|
||||
+ rm -f $(*F).$(CXXDEPENDSUF)
|
||||
else
|
||||
%.d: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
|
||||
diff --git a/tests/eri/Makefile b/tests/eri/Makefile
|
||||
index 6223e4f..05909dc 100644
|
||||
--- a/tests/eri/Makefile
|
||||
+++ b/tests/eri/Makefile
|
||||
@@ -62,7 +62,7 @@ ifneq ($(CXXDEPENDSUF),none)
|
||||
%.d: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
|
||||
sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
|
||||
- /bin/rm -f $(*F).$(CXXDEPENDSUF)
|
||||
+ rm -f $(*F).$(CXXDEPENDSUF)
|
||||
else
|
||||
%.d: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
|
||||
diff --git a/tests/hartree-fock/Makefile b/tests/hartree-fock/Makefile
|
||||
index aaebadc..4971472 100644
|
||||
--- a/tests/hartree-fock/Makefile
|
||||
+++ b/tests/hartree-fock/Makefile
|
||||
@@ -95,7 +95,7 @@ ifneq ($(CXXDEPENDSUF),none)
|
||||
%.d:: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
|
||||
sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
|
||||
- /bin/rm -f $(*F).$(CXXDEPENDSUF)
|
||||
+ rm -f $(*F).$(CXXDEPENDSUF)
|
||||
else
|
||||
%.d:: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
|
||||
diff --git a/tests/unit/Makefile b/tests/unit/Makefile
|
||||
index f2d9400..da9d82b 100644
|
||||
--- a/tests/unit/Makefile
|
||||
+++ b/tests/unit/Makefile
|
||||
@@ -93,7 +93,7 @@ ifneq ($(CXXDEPENDSUF),none)
|
||||
%.d:: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXGENFLAGS) $< > /dev/null
|
||||
sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
|
||||
- /bin/rm -f $(*F).$(CXXDEPENDSUF)
|
||||
+ rm -f $(*F).$(CXXDEPENDSUF)
|
||||
else
|
||||
%.d:: %.cc
|
||||
$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXGENFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
|
@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
configureFlags = [ "--enable-posix-api=yes" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/kkos/oniguruma";
|
||||
|
23
pkgs/development/python-modules/django-formtools/default.nix
Normal file
23
pkgs/development/python-modules/django-formtools/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, lib, buildPythonPackage, fetchPypi, django, python }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-formtools";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1chkbl188yj6hvhh1wgjpfgql553k6hrfwxzb8vv4lfdq41jq9y5";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ django ];
|
||||
checkPhase = ''
|
||||
${python.interpreter} -m django test --settings=tests.settings
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A set of high-level abstractions for Django forms";
|
||||
homepage = "https://github.com/jazzband/django-formtools";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
{ stdenv, lib, buildPythonPackage, fetchPypi, django, django_appconf }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-statici18n";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0cqwfirzjbanibq3mfz9lcwqnc8655zpysf9hk9g3lbwj2m478sp";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ django django_appconf ];
|
||||
|
||||
# pypi package does not contains test harness
|
||||
# source tarball requires setting up a config
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Helper for generating Javascript catalog to static files";
|
||||
homepage = "https://github.com/zyegfryed/django-statici18n";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
@ -12,13 +12,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytest-sanic";
|
||||
version = "1.8.1";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yunstanford";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "128qxpqilqjhpjzjzzfzsgi4bc0vxwmz0k3xwry6fwhyzcf2bzl5";
|
||||
sha256 = "sha256-82Xq/jyxTXyZVHqn7G+S9K++InDdORCO9oFqgaIgY7s=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -38,33 +38,14 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/yunstanford/pytest-sanic/issues/55
|
||||
substituteInPlace setup.py \
|
||||
--replace "websockets>=8.1,<9.0" "websockets>=9.1,<10.0"
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
# https://github.com/yunstanford/pytest-sanic/issues/51
|
||||
"test_fixture_sanic_client_get"
|
||||
"test_fixture_sanic_client_post"
|
||||
"test_fixture_sanic_client_put"
|
||||
"test_fixture_sanic_client_delete"
|
||||
"test_fixture_sanic_client_patch"
|
||||
"test_fixture_sanic_client_options"
|
||||
"test_fixture_sanic_client_head"
|
||||
"test_fixture_sanic_client_close"
|
||||
"test_fixture_sanic_client_passing_headers"
|
||||
"test_fixture_sanic_client_context_manager"
|
||||
"test_fixture_test_client_context_manager"
|
||||
pythonImportsCheck = [
|
||||
"pytest_sanic"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pytest_sanic" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A pytest plugin for Sanic";
|
||||
homepage = "https://github.com/yunstanford/pytest-sanic/";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
maintainers = with maintainers; [ costrouc ];
|
||||
};
|
||||
}
|
||||
|
34
pkgs/development/python-modules/pytm/default.nix
Normal file
34
pkgs/development/python-modules/pytm/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, pythonOlder
|
||||
, pydal
|
||||
, graphviz
|
||||
, pandoc
|
||||
, plantuml
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytm";
|
||||
version = "1.2.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "izar";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1bx4s9a5kdyr2xvpw0smmh7zi9w38891yfqzdj1bmnsjl57x6qrg";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pydal graphviz pandoc plantuml ];
|
||||
|
||||
pythonImportsCheck = [ "pytm" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Pythonic framework for threat modeling";
|
||||
homepage = "https://owasp.org/www-project-pytm/";
|
||||
license = with licenses; [ capec mit ];
|
||||
maintainers = with maintainers; [ wamserma ];
|
||||
};
|
||||
}
|
56
pkgs/development/python-modules/seahub/default.nix
Normal file
56
pkgs/development/python-modules/seahub/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ stdenv, lib, fetchFromGitHub, python3Packages, makeWrapper }:
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "seahub";
|
||||
version = "8.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seahub";
|
||||
rev = "4f7bb3f617dd847cf0a6b33c0bfb567b44c06059"; # using a fixed revision because upstream may re-tag releases :/
|
||||
sha256 = "09d05sxly1bljxxzm77limhwsbg8c4b54fzv3kmaih59pjnjyr03";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
doCheck = false; # disabled because it requires a ccnet environment
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
django
|
||||
future
|
||||
django-statici18n
|
||||
django-webpack-loader
|
||||
django-simple-captcha
|
||||
django-picklefield
|
||||
django-formtools
|
||||
mysqlclient
|
||||
pillow
|
||||
python-dateutil
|
||||
django_compressor
|
||||
djangorestframework
|
||||
openpyxl
|
||||
requests
|
||||
requests_oauthlib
|
||||
pyjwt
|
||||
pycryptodome
|
||||
qrcode
|
||||
pysearpc
|
||||
seaserv
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
cp -dr --no-preserve='ownership' . $out/
|
||||
wrapProgram $out/manage.py \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH:$out/thirdpart:" \
|
||||
--prefix PATH : "${python3Packages.python}/bin"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/haiwen/seahub";
|
||||
description = "The web end of seafile server";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
33
pkgs/development/python-modules/simple_di/default.nix
Normal file
33
pkgs/development/python-modules/simple_di/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchPypi
|
||||
, setuptools
|
||||
, typing-extensions
|
||||
, dataclasses
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "0.1.2";
|
||||
pname = "simple_di";
|
||||
disabled = pythonOlder "3.6.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0wqbfbajnwmkzih0jl3mncalr7dslvmwhb5mk11asqvmbp1xhn30";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
setuptools
|
||||
typing-extensions
|
||||
] ++ lib.optional (pythonOlder "3.7") [
|
||||
dataclasses
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Simple dependency injection library";
|
||||
homepage = "https://github.com/bentoml/simple_di";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ sauyon ];
|
||||
};
|
||||
}
|
@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.vcunat ];
|
||||
platforms = platforms.linux;
|
||||
broken = versionOlder kernel.version "4.19"; # 4.14 breaks and 4.19 works
|
||||
};
|
||||
}
|
||||
|
@ -1,17 +1,16 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "conftest";
|
||||
version = "0.28.1";
|
||||
version = "0.28.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-policy-agent";
|
||||
repo = "conftest";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-o2P14Nsu77AXO+UnMBXthhP3Q7kI7nd/lI6GFE2cs3M=";
|
||||
sha256 = "sha256-lmmk6veBDI51UA/wnFB7Q3DTxZ9J/1qp0OoNgmBrR1Y=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-zzckZI/n00BBl166S7uonJFNQ4RJGLCkDyfLRoHZOtA=";
|
||||
vendorSha256 = "sha256-NALyUjFL6OqgCke1QiUxbSNLAoaIMB2zeIWWEfcnCjs=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
@ -19,10 +18,22 @@ buildGoModule rec {
|
||||
"-X github.com/open-policy-agent/conftest/internal/commands.version=${version}"
|
||||
];
|
||||
|
||||
HOME = "$TMPDIR";
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
preCheck = ''
|
||||
export HOME="$TMPDIR"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd conftest \
|
||||
--bash <($out/bin/conftest completion bash) \
|
||||
--fish <($out/bin/conftest completion fish) \
|
||||
--zsh <($out/bin/conftest completion zsh)
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
export HOME="$TMPDIR"
|
||||
$out/bin/conftest --version | grep ${version} > /dev/null
|
||||
'';
|
||||
|
||||
|
@ -1,16 +1,17 @@
|
||||
{ stdenv, lib, fetchgit, cmake, llvmPackages, boost, python
|
||||
, gocode ? null
|
||||
, godef ? null
|
||||
, gotools ? null
|
||||
, nodePackages ? null
|
||||
, fixDarwinDylibNames, Cocoa ? null
|
||||
, withGocode ? true, gocode
|
||||
, withGodef ? true, godef
|
||||
, withGotools? true, gotools
|
||||
, withTypescript ? true, nodePackages
|
||||
, fixDarwinDylibNames, Cocoa
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ycmd";
|
||||
version = "2020-02-22";
|
||||
version = "unstable-2020-02-22";
|
||||
disabled = !python.isPy3k;
|
||||
|
||||
# required for third_party directory creation
|
||||
src = fetchgit {
|
||||
url = "https://github.com/Valloric/ycmd.git";
|
||||
rev = "9a6b86e3a156066335b678c328f226229746bae5";
|
||||
@ -20,7 +21,7 @@ stdenv.mkDerivation {
|
||||
nativeBuildInputs = [ cmake ]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
buildInputs = [ boost llvmPackages.libclang ]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin Cocoa;
|
||||
++ lib.optional stdenv.isDarwin Cocoa;
|
||||
|
||||
buildPhase = ''
|
||||
export EXTRA_CMAKE_ARGS=-DPATH_TO_LLVM_ROOT=${llvmPackages.clang-unwrapped}
|
||||
@ -58,19 +59,19 @@ stdenv.mkDerivation {
|
||||
mkdir -p $out/lib/ycmd/third_party
|
||||
cp -r third_party/* $out/lib/ycmd/third_party/
|
||||
|
||||
'' + lib.optionalString (gocode != null) ''
|
||||
'' + lib.optionalString withGocode ''
|
||||
TARGET=$out/lib/ycmd/third_party/gocode
|
||||
mkdir -p $TARGET
|
||||
ln -sf ${gocode}/bin/gocode $TARGET
|
||||
'' + lib.optionalString (godef != null) ''
|
||||
'' + lib.optionalString withGodef ''
|
||||
TARGET=$out/lib/ycmd/third_party/godef
|
||||
mkdir -p $TARGET
|
||||
ln -sf ${godef}/bin/godef $TARGET
|
||||
'' + lib.optionalString (gotools != null) ''
|
||||
'' + lib.optionalString withGotools ''
|
||||
TARGET=$out/lib/ycmd/third_party/go/src/golang.org/x/tools/cmd/gopls
|
||||
mkdir -p $TARGET
|
||||
ln -sf ${gotools}/bin/gopls $TARGET
|
||||
'' + lib.optionalString (nodePackages != null) ''
|
||||
'' + lib.optionalString withTypescript ''
|
||||
TARGET=$out/lib/ycmd/third_party/tsserver
|
||||
ln -sf ${nodePackages.typescript} $TARGET
|
||||
'';
|
||||
@ -79,10 +80,8 @@ stdenv.mkDerivation {
|
||||
# python won't be thrown off by argv[0]
|
||||
postFixup = ''
|
||||
substituteInPlace $out/lib/ycmd/ycmd/__main__.py \
|
||||
--replace $out/lib/ycmd/ycmd/__main__.py \
|
||||
$out/bin/ycmd \
|
||||
--replace __file__ \
|
||||
"'$out/lib/ycmd/ycmd/__main__.py'"
|
||||
--replace $out/lib/ycmd/ycmd/__main__.py $out/bin/ycmd \
|
||||
--replace __file__ "'$out/lib/ycmd/ycmd/__main__.py'"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-diet";
|
||||
version = "1.2.2";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "the-lean-crate";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1wxwf3i8qhak8b61iscsbndm4z7r5sg6iiarqlpf0y3lzb0yi5ah";
|
||||
sha256 = "sha256-R40cggAdNbd8/+fG87PYHIbmgIsrhEwQ9ocB4p22bL4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "06scamzr1676q5lx75bm05hdr21mdiby84dpm1wf2va5qpq6mjyl";
|
||||
cargoSha256 = "sha256-lgCP5P7X9B4sTND+p8repZB63c64o1QuozJoz6KQXiE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Help computing optimal include directives for your Cargo.toml manifest";
|
||||
|
@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile";
|
||||
rev = "v${version}";
|
||||
sha256 = "QflLh3fj+jOq/8etr9aG8LGrvtIlB/htVkWbdO+GIbM=";
|
||||
rev = "0fdc14d5175979919b7c741f6bb97bfaaacbbfbe";
|
||||
sha256 = "1cr1hvpp96s5arnzh1r5sazapcghhvbazbf7zym37yp3fy3lpya1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -40,12 +40,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [
|
||||
"--disable-server"
|
||||
"--disable-console"
|
||||
"--with-python3"
|
||||
];
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
libsearpc
|
||||
future
|
||||
pysearpc
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
@ -55,8 +55,8 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/haiwen/seafile";
|
||||
description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons";
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
||||
|
@ -316,6 +316,8 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
chenglou92.rescript-vscode = callPackage ./rescript { };
|
||||
|
||||
cmschuetz12.wal = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "wal";
|
||||
|
28
pkgs/misc/vscode-extensions/rescript/default.nix
Normal file
28
pkgs/misc/vscode-extensions/rescript/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib, stdenv, vscode-utils, callPackage }:
|
||||
let
|
||||
rescript-editor-analysis = (callPackage ./rescript-editor-analysis.nix { });
|
||||
arch =
|
||||
if stdenv.isLinux then "linux"
|
||||
else if stdenv.isDarwin then "darwin"
|
||||
else throw "Unsupported platform";
|
||||
analysisDir = "server/analysis_binaries/${arch}";
|
||||
in
|
||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||
mktplcRef = {
|
||||
name = "rescript-vscode";
|
||||
publisher = "chenglou92";
|
||||
version = "1.1.3";
|
||||
sha256 = "1c1ipxgm0f0a3vlnhr0v85jr5l3rwpjzh9w8nv2jn5vgvpas0b2a";
|
||||
};
|
||||
postPatch = ''
|
||||
rm -r ${analysisDir}
|
||||
ln -s ${rescript-editor-analysis}/bin ${analysisDir}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The official VSCode plugin for ReScript";
|
||||
homepage = "https://github.com/rescript-lang/rescript-vscode";
|
||||
maintainers = with maintainers; [ dlip ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
{ lib, stdenv, fetchFromGitHub, bash, ocaml }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "rescript-editor-analysis";
|
||||
version = "1.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rescript-lang";
|
||||
repo = "rescript-vscode";
|
||||
rev = "8d0412a72307b220b7f5774e2612760a2d429059";
|
||||
sha256 = "rHQtfuIiEWlSPuZvNpEafsvlXCj2Uv1YRR1IfvKfC2s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml ];
|
||||
|
||||
postPatch = ''
|
||||
cd analysis
|
||||
substituteInPlace Makefile --replace "/bin/bash" "${bash}/bin/bash"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -D -m0555 rescript-editor-analysis.exe $out/bin/rescript-editor-analysis.exe
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Analysis binary for the ReScript VSCode plugin";
|
||||
homepage = "https://github.com/rescript-lang/rescript-vscode";
|
||||
maintainers = with maintainers; [ dlip ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
@ -1,28 +1,24 @@
|
||||
From 6503848d9e0eb009e5f462116a963beacb208930 Mon Sep 17 00:00:00 2001
|
||||
From 5cfb08effd21d9278e3eb8901c85112a331c3181 Mon Sep 17 00:00:00 2001
|
||||
From: Austin Seipp <aseipp@pobox.com>
|
||||
Date: Thu, 20 Feb 2014 00:11:44 -0600
|
||||
Date: Tue, 26 Oct 2021 09:23:07 +0000
|
||||
Subject: [PATCH] attempt to 'modprobe config' before checking kernel
|
||||
|
||||
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
||||
---
|
||||
checksec.sh | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
checksec | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/checksec b/checksec
|
||||
index dd1f72e..63acc29 100644
|
||||
index 5536250..895073b 100755
|
||||
--- a/checksec
|
||||
+++ b/checksec
|
||||
@@ -676,7 +676,8 @@ kernelcheck() {
|
||||
echo_message " userspace processes, this option lists the status of kernel configuration\n" '' '' ''
|
||||
@@ -1059,6 +1059,7 @@ kernelcheck() {
|
||||
echo_message " options that harden the kernel itself against attack.\n\n" '' '' ''
|
||||
echo_message " Kernel config:\n" '' '' '{ "kernel": '
|
||||
-
|
||||
+
|
||||
+ modprobe configs 2> /dev/null
|
||||
if [[ ! "${1}" == "" ]] ; then
|
||||
kconfig="cat ${1}"
|
||||
echo_message " Warning: The config ${1} on disk may not represent running kernel config!\n\n" "${1}" "<kernel config=\"${1}\"" "{ \"KernelConfig\":\"${1}\","
|
||||
# update the architecture based on the config rather than the system
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
+ modprobe configs 2> /dev/null
|
||||
if [[ ! "${1}" == "" ]]; then
|
||||
kconfig="cat ${1}"
|
||||
echo_message " Warning: The config ${1} on disk may not represent running kernel config!\n\n" "${1}" "<kernel config=\"${1}\"" "{ \"KernelConfig\":\"${1}\""
|
||||
--
|
||||
2.33.0
|
||||
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "checksec";
|
||||
version = "2.4.0";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "slimm609";
|
||||
repo = "checksec.sh";
|
||||
rev = version;
|
||||
sha256 = "1gbbq85d3g3mnm3xvgvi2085aba7qc3cmsbwn76al50ax1518j2q";
|
||||
sha256 = "sha256-GxWXocz+GCEssRrIQP6E9hjVIhVh2EmZrefELxQlV1Q=";
|
||||
};
|
||||
|
||||
patches = [ ./0001-attempt-to-modprobe-config-before-checking-kernel.patch ];
|
||||
|
52
pkgs/servers/seafile-server/default.nix
Normal file
52
pkgs/servers/seafile-server/default.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ stdenv, lib, fetchFromGitHub, pkg-config, python3Packages, autoreconfHook
|
||||
, libuuid, sqlite, glib, libevent, libsearpc, openssl, fuse, libarchive, which
|
||||
, vala, cmake, oniguruma }:
|
||||
|
||||
let
|
||||
# seafile-server relies on a specific version of libevhtp.
|
||||
# It contains non upstreamed patches and is forked off an outdated version.
|
||||
libevhtp = import ./libevhtp.nix {
|
||||
inherit stdenv lib fetchFromGitHub cmake libevent;
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "seafile-server";
|
||||
version = "8.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile-server";
|
||||
rev = "27dac89bb3a81c5acc3f764ce92134eb357ea64b";
|
||||
sha256 = "1h2hxvv0l5m9nbkdyjpznb7ddk8hb8hhwj8b2lx6aqbvp8gll9q7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
libuuid
|
||||
sqlite
|
||||
openssl
|
||||
glib
|
||||
libsearpc
|
||||
libevent
|
||||
python3Packages.python
|
||||
fuse
|
||||
libarchive
|
||||
which
|
||||
vala
|
||||
libevhtp
|
||||
oniguruma
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/seafile/sql
|
||||
cp -r scripts/sql $out/share/seafile
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "File syncing and sharing software with file encryption and group sharing, emphasis on reliability and high performance";
|
||||
homepage = "https://github.com/haiwen/seafile-server";
|
||||
license = licenses.agpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
29
pkgs/servers/seafile-server/libevhtp.nix
Normal file
29
pkgs/servers/seafile-server/libevhtp.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, libevent }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libevhtp";
|
||||
version = "unstable-2021-04-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "libevhtp";
|
||||
rev = "18c649203f009ef1d77d6f8301eba09af3777adf";
|
||||
sha256 = "1rf0jcy2lf8jbzpkhfgv289hc8zdy5zs6sn36k4vlqvilginxiid";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ libevent ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DEVHTP_DISABLE_SSL=ON"
|
||||
"-DEVHTP_BUILD_SHARED=ON"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create extremely-fast and secure embedded HTTP servers with ease";
|
||||
homepage = "https://github.com/criticalstack/libevhtp";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ greizgh schmittlauch ];
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule {
|
||||
pname = "gb-backup";
|
||||
version = "unstable-2021-04-07";
|
||||
version = "unstable-2021-08-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leijurv";
|
||||
repo = "gb";
|
||||
rev = "904813bf0bbce048af5795618d58c0b1953f9ff8";
|
||||
sha256 = "111jrcv4x38sc19xha5q3pd2297s13qh1maa7sa1k09hgypvgsxf";
|
||||
rev = "fa996208d06766bf523686fbe5831628130d80f7";
|
||||
sha256 = "1vggl8d69sf4z2lmixfndwwd6l9gi0fkkrxga7v4w7a7yr96b1vp";
|
||||
};
|
||||
|
||||
vendorSha256 = "0m2aa6p04b4fs7zncar1mlykc94pp527phv71cdsbx58jgsm1jnx";
|
||||
@ -23,6 +23,7 @@ buildGoModule {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gamer Backup, a super opinionated cloud backup system";
|
||||
homepage = "https://github.com/leijurv/gb";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ babbaj ];
|
||||
platforms = platforms.unix;
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch
|
||||
, autoPatchelfHook, makeWrapper
|
||||
, hexdump, exfat, dosfstools, e2fsprogs, xz, util-linux, bash, parted
|
||||
, withGtk3 ? true, gtk3
|
||||
, withQt5 ? false, qt5
|
||||
}:
|
||||
|
||||
let arch = {
|
||||
@ -9,16 +11,22 @@ let arch = {
|
||||
aarch64-linux = "aarch64";
|
||||
mipsel-linux = "mips64el";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
|
||||
defaultGuiType = if withGtk3 then "gtk3"
|
||||
else if withQt5 then "qt5"
|
||||
else "";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "ventoy-bin";
|
||||
version = "1.0.51";
|
||||
version = "1.0.56";
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
buildInputs = [ hexdump exfat dosfstools e2fsprogs xz util-linux bash parted ];
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ]
|
||||
++ lib.optional withQt5 qt5.wrapQtAppsHook;
|
||||
buildInputs = [ hexdump exfat dosfstools e2fsprogs xz util-linux bash parted ]
|
||||
++ lib.optional withGtk3 gtk3
|
||||
++ lib.optional withQt5 qt5.qtbase;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
|
||||
sha256 = "81ae02a06b132b5965dd09c9b64e000a6dafa1d57e03d8564feefda14ef1ee02";
|
||||
sha256 = "da53d51e653092a170c11dd560e0ad6fb27c497dd77ad0ba483c32935c069dea";
|
||||
};
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
@ -53,12 +61,13 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
# Cleanup.
|
||||
case "$ARCH" in
|
||||
x86_64) rm -r tool/{i386,aarch64,mips64el};;
|
||||
i386) rm -r tool/{x86_64,aarch64,mips64el};;
|
||||
aarch64) rm -r tool/{x86_64,i386,mips64el};;
|
||||
mips64el) rm -r tool/{x86_64,i386,aarch64};;
|
||||
x86_64) rm -r {tool/,VentoyGUI.}{i386,aarch64,mips64el};;
|
||||
i386) rm -r {tool/,VentoyGUI.}{x86_64,aarch64,mips64el};;
|
||||
aarch64) rm -r {tool/,VentoyGUI.}{x86_64,i386,mips64el};;
|
||||
mips64el) rm -r {tool/,VentoyGUI.}{x86_64,i386,aarch64};;
|
||||
esac
|
||||
rm README
|
||||
rm tool/"$ARCH"/Ventoy2Disk.gtk2
|
||||
|
||||
# Copy from "$src" to "$out".
|
||||
mkdir -p "$out"/bin "$VENTOY_PATH"
|
||||
@ -72,6 +81,15 @@ in stdenv.mkDerivation rec {
|
||||
--prefix PATH : "${lib.makeBinPath buildInputs}" \
|
||||
--run "cd '$VENTOY_PATH' || exit 1"
|
||||
done
|
||||
'' + lib.optionalString (withGtk3 || withQt5) ''
|
||||
echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type"
|
||||
makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \
|
||||
--prefix PATH : "${lib.makeBinPath buildInputs}" \
|
||||
--run "cd '$VENTOY_PATH' || exit 1"
|
||||
'' + lib.optionalString (!withGtk3) ''
|
||||
rm "$out"/share/ventoy/tool/"$ARCH"/Ventoy2Disk.gtk3
|
||||
'' + lib.optionalString (!withQt5) ''
|
||||
rm "$out"/share/ventoy/tool/"$ARCH"/Ventoy2Disk.qt5
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
59
pkgs/tools/games/opentracker/default.nix
Normal file
59
pkgs/tools/games/opentracker/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildDotnetModule
|
||||
, fetchFromGitHub
|
||||
, autoPatchelfHook
|
||||
, wrapGAppsHook
|
||||
, dotnetCorePackages
|
||||
, fontconfig
|
||||
, gtk3
|
||||
, openssl
|
||||
, libX11
|
||||
, libXi
|
||||
, xinput
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "opentracker";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trippsc2";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0nsmyb1wd86465iri9jxl3jp74gxkscvnmr3687ddbia3dv4fz0z";
|
||||
};
|
||||
|
||||
dotnet-runtime = dotnetCorePackages.runtime_3_1;
|
||||
projectFile = "OpenTracker.sln";
|
||||
nugetDeps = ./deps.nix;
|
||||
executables = [ "OpenTracker" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
fontconfig
|
||||
];
|
||||
|
||||
runtimeDeps = [
|
||||
gtk3
|
||||
openssl
|
||||
libX11
|
||||
libXi
|
||||
xinput
|
||||
];
|
||||
|
||||
autoPatchelfIgnoreMissingDeps = true; # Attempts to patchelf unneeded SOs
|
||||
dontWrapGApps = true; # gappsWrapperArgs gets included when wrapping the application for dotnet.
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tracking application for A Link to the Past Randomizer";
|
||||
homepage = "https://github.com/trippsc2/OpenTracker";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
};
|
||||
}
|
228
pkgs/tools/games/opentracker/deps.nix
generated
Normal file
228
pkgs/tools/games/opentracker/deps.nix
generated
Normal file
@ -0,0 +1,228 @@
|
||||
{ fetchNuGet }: [
|
||||
(fetchNuGet { name = "Autofac"; version = "6.0.0"; sha256 = "1faz8j3caqh4f2w4bcicz5x67f63f6463jikg89sr9qmqbv778hn"; })
|
||||
(fetchNuGet { name = "Autofac"; version = "6.1.0"; sha256 = "0g1iic7y19rm536dzsllabw7phbgb6wzghhpfmdxz7yp7zrfjk15"; })
|
||||
(fetchNuGet { name = "Autofac.Extras.Moq"; version = "6.0.0"; sha256 = "1jbdzwr712iq11s3i24a4b7g6025djkmf40fcrfiqkihvdrfprcw"; })
|
||||
(fetchNuGet { name = "Avalonia"; version = "0.10.0"; sha256 = "0wf8nqdj0xi6drzw676vm5ac2kaxcd76af4y1cirfw4j7lxvs344"; })
|
||||
(fetchNuGet { name = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
|
||||
(fetchNuGet { name = "Avalonia.Controls.DataGrid"; version = "0.10.0"; sha256 = "0yry5kwbp03lznv2zay39p2ry2jsdf7s1syjzf93dd64pgl5bwpk"; })
|
||||
(fetchNuGet { name = "Avalonia.Desktop"; version = "0.10.0"; sha256 = "1vwaxxnzcgkdrxvrkjcxpc9c839pxmm6ajq83xiqzn5f4vvx29di"; })
|
||||
(fetchNuGet { name = "Avalonia.Diagnostics"; version = "0.10.0"; sha256 = "1fw6bbbm7g1w4s6hyskkx7p59i3p965bly8p50dmfs31ls01jfrx"; })
|
||||
(fetchNuGet { name = "Avalonia.FreeDesktop"; version = "0.10.0"; sha256 = "08z3vybk474yxaipd7nqqr9xycgprggcri4lp61ns3p3fj599ydp"; })
|
||||
(fetchNuGet { name = "Avalonia.Markup.Xaml.Loader"; version = "0.10.0"; sha256 = "05wdf7gc5v03gia29srq44g49ijqg45vygargm087m2s63i134jk"; })
|
||||
(fetchNuGet { name = "Avalonia.Native"; version = "0.10.0"; sha256 = "1kfzn349rllp7ngydvxqn84hmgxrkbgf7mgrqwcagq809f73mzyp"; })
|
||||
(fetchNuGet { name = "Avalonia.ReactiveUI"; version = "0.10.0"; sha256 = "0azkwfi72gy7158fpfs6i0iixixy00zfkgsh939pfzy7fkz5pq8m"; })
|
||||
(fetchNuGet { name = "Avalonia.Remote.Protocol"; version = "0.10.0"; sha256 = "0527966nmjdhzdq6dwhjhyc79kmy56ymhxsmrp344jn43d67kmnr"; })
|
||||
(fetchNuGet { name = "Avalonia.Skia"; version = "0.10.0"; sha256 = "1d5w7pl1xx9l250mhdq3jnpy5zl77j8n3ccjjxfg8sc7rnyd2fx9"; })
|
||||
(fetchNuGet { name = "Avalonia.Win32"; version = "0.10.0"; sha256 = "0lyfmhh0q1dzzb5blp76phj894wl6ab0kn1pcprxqvj94dcwric8"; })
|
||||
(fetchNuGet { name = "Avalonia.X11"; version = "0.10.0"; sha256 = "0asja6g20c6wzxmvx0knkdk6f5fbrx99n82zcrj4y2irhmmzjhxy"; })
|
||||
(fetchNuGet { name = "Avalonia.Xaml.Behaviors"; version = "0.10.0"; sha256 = "10g6i9y00a13cy3y889y3z8i5p5arpif53q3xx9k6k0qzcq6zq51"; })
|
||||
(fetchNuGet { name = "Avalonia.Xaml.Interactions"; version = "0.10.0"; sha256 = "0s1mha3m912lmzaw87a841807fcx150vmhwcbfb8mnhqf6qgdwjy"; })
|
||||
(fetchNuGet { name = "Avalonia.Xaml.Interactions.DragAndDrop"; version = "0.10.0"; sha256 = "1hi9ii7r6xr6avac0a2fs1fq9x34iw23hn1qmnzskbj6jz1pzsbj"; })
|
||||
(fetchNuGet { name = "Avalonia.Xaml.Interactivity"; version = "0.10.0"; sha256 = "0nqpxbn390g98vyhvp4rvbchxlrcc8vkjjkakgz15crk1irf941b"; })
|
||||
(fetchNuGet { name = "Castle.Core"; version = "4.0.0"; sha256 = "10zq7mb1gvm946grw7fxa5dh1xwccqmk5jmwx6pqn7kbjp9frkpy"; })
|
||||
(fetchNuGet { name = "DotNet.Bundle"; version = "0.9.13"; sha256 = "0awzvk62hgszm9b8ar87y862aj8nlm77d7hgfmp84mxny0ag03jl"; })
|
||||
(fetchNuGet { name = "DynamicData"; version = "7.1.1"; sha256 = "14xcqkw87zbjljy1pb727kwq5a4dfmsf5vg99fq0xxb71q828nvh"; })
|
||||
(fetchNuGet { name = "HarfBuzzSharp"; version = "2.6.1.7"; sha256 = "0xm4dr6cs5n1ywbbpp1jrxfk8rn1iy61kdm29kb6bqj1q0gv8zyv"; })
|
||||
(fetchNuGet { name = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.6.1.7"; sha256 = "1slackrhcwsjn3f6sa0nlrcynzmx5pbqv8j33l9w6z9w7ssq4wkn"; })
|
||||
(fetchNuGet { name = "JetBrains.Annotations"; version = "2020.3.0"; sha256 = "04xlfqnfg3069f014q8f0vx7y70m8nldbf9fia4b50bp3rry2lv2"; })
|
||||
(fetchNuGet { name = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
|
||||
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.19"; sha256 = "19z4zrchaxcz0a33c33n1qd11z9khj4323nfzsbzah0xxkkj8ka8"; })
|
||||
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.19"; sha256 = "0fhj1q9zdy5nqxppjgr8ayqlc2b9zfbrs7h3zc1wlg9xxbzk944y"; })
|
||||
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "3.1.19"; sha256 = "0cbic6d8ck79fgg7hngfvsdyd9aj6zanf6c36lzdydvqvjza1l48"; })
|
||||
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "3.1.19"; sha256 = "040rbbxgcqks2f81x2sr8bnrarxygadzv84ksfpwcdw5xjnqj5c9"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.2"; sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.Common"; version = "3.9.0"; sha256 = "1x6l6kn8iv5gk1545nxs2gwzkb8gj4sb9kryai132l7yg9afjqik"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp"; version = "3.9.0"; sha256 = "0crb9x5rhija8y7b0iya9axcvinz2hv3bgf80bvz7kv6zpbpszkz"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.9.0"; sha256 = "0hrihj0q96vjlbfvkq9l4maqdf6rqdznr7cpj82iw51n8kbzj8s3"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "5.0.3"; sha256 = "1l0zg9wl8yapjq9g2d979zhsmdkr8kfybmxnl7kvgkgldf114fbg"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.9.0"; sha256 = "0kds9i8bla540787qchbzayrg50ai40pxyai2vihc1m2l39h4mdf"; })
|
||||
(fetchNuGet { name = "Microsoft.CodeCoverage"; version = "16.9.1"; sha256 = "18isx8w4kwnlk6hq5ay8i4lgzwhx0zg9brayfdk2lakagvv6yyaf"; })
|
||||
(fetchNuGet { name = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
|
||||
(fetchNuGet { name = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.19"; sha256 = "10fs93kg8vhhm1l05815m8yqz796i6gk824pk1bps239mshmkybr"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.19"; sha256 = "1yqkh1z643vfxs2qkhc4h8403ha29f3kpj28cm067zsyr0jn1zbx"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Host.win-x64"; version = "3.1.19"; sha256 = "1069h3yznipl44gzx0r7srg5yfhkp8v552g1pl7rdnwrbi1xfrbg"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Host.win-x86"; version = "3.1.19"; sha256 = "19vkqpw5j0zd6b06npx934idjq90av0rhsvcx01z6hlhg80ajr14"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.19"; sha256 = "10c9bq1z8j173n9jzamgplbxq101yscwdhksshn1ybisn7cr5g0h"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.19"; sha256 = "0av8fnjmjmws9h1r49ga7an9180z156dii3n0crwmn9fwdw2l7g2"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Runtime.win-x64"; version = "3.1.19"; sha256 = "19rw3hpr32x4kwlx7drd2f522pkvhgpscjldg0rg40z6ki3biykd"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.App.Runtime.win-x86"; version = "3.1.19"; sha256 = "17kxfradsfdf8cr506izmb3lhgy4kg7ij82cjdx6nxwkpaq96ykw"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.1"; sha256 = "12ilya3x6g5frbwmh41mwygax9v8vrycq3vnzhv3r258jwv69974"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
|
||||
(fetchNuGet { name = "Microsoft.NET.Test.Sdk"; version = "16.9.1"; sha256 = "1761mvkp5mwhw150fvazdhh4ybvxpvx05g9znf8n1fqx832wxrw5"; })
|
||||
(fetchNuGet { name = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.1"; sha256 = "1igpx7ldxqx9fkrbhakd2bybc0dgpvj86zr30vpfj31ncm6lp4id"; })
|
||||
(fetchNuGet { name = "Microsoft.TestPlatform.TestHost"; version = "16.9.1"; sha256 = "1frx5r7l0jd3j6my4s2qas13fkljgfn87a84xk8l7sisafpfsvzp"; })
|
||||
(fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
|
||||
(fetchNuGet { name = "Microsoft.Win32.SystemEvents"; version = "5.0.0"; sha256 = "0sja4ba0mrvdamn0r9mhq38b9dxi08yb3c1hzh29n1z6ws1hlrcq"; })
|
||||
(fetchNuGet { name = "Moq"; version = "4.7.0"; sha256 = "1y1lzg7scrzl5x8cxsbrgkpg79mf3v0ylnpgjw8q6hib2rhsi8ff"; })
|
||||
(fetchNuGet { name = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
|
||||
(fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.3"; sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x"; })
|
||||
(fetchNuGet { name = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
|
||||
(fetchNuGet { name = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
|
||||
(fetchNuGet { name = "Packaging.Targets"; version = "0.1.155"; sha256 = "0iija7gskcbrj8qgj5lqxqsfpz8k58fbvjnix6rccpzgvb16dkhy"; })
|
||||
(fetchNuGet { name = "ReactiveUI"; version = "12.1.1"; sha256 = "1mwv9fi2zazp9ddwci9xfzrmi4pyp8n69r8ilc4lp5lvr1c6chih"; })
|
||||
(fetchNuGet { name = "ReactiveUI"; version = "13.2.2"; sha256 = "1f9jh3d8lblqpva4iy5c6qvnya3cc0fp6mva3f9z3q7ll8v4h62h"; })
|
||||
(fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
|
||||
(fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
|
||||
(fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
|
||||
(fetchNuGet { name = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
|
||||
(fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
|
||||
(fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
|
||||
(fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
|
||||
(fetchNuGet { name = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
|
||||
(fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
|
||||
(fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
|
||||
(fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
|
||||
(fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
|
||||
(fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
|
||||
(fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
|
||||
(fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
|
||||
(fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
|
||||
(fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
|
||||
(fetchNuGet { name = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; })
|
||||
(fetchNuGet { name = "Serilog.Sinks.File"; version = "4.1.0"; sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; })
|
||||
(fetchNuGet { name = "Serilog.Sinks.File"; version = "5.0.0-dev-00909"; sha256 = "1rz1zzyamnl8g4ccscaaij2bkhpd4md4sr9k28i0zwvij4kpj22z"; })
|
||||
(fetchNuGet { name = "SkiaSharp"; version = "2.80.2"; sha256 = "17n0f4gfxz69fzd7zmgimbxfja15vq902arap2rqjr1hxp8sck7g"; })
|
||||
(fetchNuGet { name = "SkiaSharp.NativeAssets.Linux"; version = "2.80.2"; sha256 = "1951b7rpisaymb37j846jq01pjd05l4fjlnf56blh33ihxyj2jzi"; })
|
||||
(fetchNuGet { name = "Splat"; version = "10.0.1"; sha256 = "18fzrn7xwjzxj4v3drs8djd3yf14bnq5n9n8vdnwfa1zk5jqpsb9"; })
|
||||
(fetchNuGet { name = "Splat"; version = "9.6.1"; sha256 = "1sd3gbcv21vwl3spcpmy4d7nzcs0x6m72qj8qfbv4dvgpvbv5sdy"; })
|
||||
(fetchNuGet { name = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
|
||||
(fetchNuGet { name = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
|
||||
(fetchNuGet { name = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||
(fetchNuGet { name = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
|
||||
(fetchNuGet { name = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
||||
(fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||
(fetchNuGet { name = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
|
||||
(fetchNuGet { name = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
|
||||
(fetchNuGet { name = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
|
||||
(fetchNuGet { name = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
|
||||
(fetchNuGet { name = "System.Collections.Specialized"; version = "4.0.1"; sha256 = "1wbv7y686p5x169rnaim7sln67ivmv6r57falrnx8aap9y33mam9"; })
|
||||
(fetchNuGet { name = "System.ComponentModel"; version = "4.0.1"; sha256 = "0v4qpmqlzyfad2kswxxj2frnaqqhz9201c3yn8fmmarx5vlzg52z"; })
|
||||
(fetchNuGet { name = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
|
||||
(fetchNuGet { name = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; })
|
||||
(fetchNuGet { name = "System.ComponentModel.Primitives"; version = "4.1.0"; sha256 = "0wb5mnaag0w4fnyc40x19j8v2vshxp266razw64bcqfyj1whb1q0"; })
|
||||
(fetchNuGet { name = "System.ComponentModel.TypeConverter"; version = "4.1.0"; sha256 = "178cva9p1cs043h5n2fry5xkzr3wc9n0hwbxa8m3ymld9m6wcv0y"; })
|
||||
(fetchNuGet { name = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
|
||||
(fetchNuGet { name = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.7.1"; sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "5.0.1"; sha256 = "0mzw44wsm87vpslb9sn7rirxynpq9m3b00l7gl0q71m8shfh66qs"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.TraceSource"; version = "4.0.0"; sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
|
||||
(fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
|
||||
(fetchNuGet { name = "System.Drawing.Common"; version = "5.0.1"; sha256 = "14h722wq58k1wmgxmpws91xc7kh8109ijw0hcxjq9qkbhbi6pwmb"; })
|
||||
(fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
|
||||
(fetchNuGet { name = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
|
||||
(fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
|
||||
(fetchNuGet { name = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
|
||||
(fetchNuGet { name = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
|
||||
(fetchNuGet { name = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
|
||||
(fetchNuGet { name = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
|
||||
(fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
|
||||
(fetchNuGet { name = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
|
||||
(fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
|
||||
(fetchNuGet { name = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
|
||||
(fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
|
||||
(fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
|
||||
(fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
|
||||
(fetchNuGet { name = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
|
||||
(fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
||||
(fetchNuGet { name = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
|
||||
(fetchNuGet { name = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
|
||||
(fetchNuGet { name = "System.Linq.Queryable"; version = "4.0.1"; sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw"; })
|
||||
(fetchNuGet { name = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
|
||||
(fetchNuGet { name = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
|
||||
(fetchNuGet { name = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
|
||||
(fetchNuGet { name = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
|
||||
(fetchNuGet { name = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
|
||||
(fetchNuGet { name = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
|
||||
(fetchNuGet { name = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
|
||||
(fetchNuGet { name = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
||||
(fetchNuGet { name = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; })
|
||||
(fetchNuGet { name = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
||||
(fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
|
||||
(fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
|
||||
(fetchNuGet { name = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
|
||||
(fetchNuGet { name = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
||||
(fetchNuGet { name = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
|
||||
(fetchNuGet { name = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
|
||||
(fetchNuGet { name = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
||||
(fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||
(fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
|
||||
(fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
|
||||
(fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
|
||||
(fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||
(fetchNuGet { name = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
||||
(fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||
(fetchNuGet { name = "System.Runtime"; version = "4.3.1"; sha256 = "03ch4d2acf6q037a4njxpll2kkx3dwzlg07yxr4z5m6j1kqgmm27"; })
|
||||
(fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
|
||||
(fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
|
||||
(fetchNuGet { name = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
|
||||
(fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
|
||||
(fetchNuGet { name = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
|
||||
(fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
|
||||
(fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
|
||||
(fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
|
||||
(fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
|
||||
(fetchNuGet { name = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
|
||||
(fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
|
||||
(fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
|
||||
(fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
|
||||
(fetchNuGet { name = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
|
||||
(fetchNuGet { name = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
|
||||
(fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||
(fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
|
||||
(fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
|
||||
(fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
|
||||
(fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
|
||||
(fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
|
||||
(fetchNuGet { name = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
|
||||
(fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
|
||||
(fetchNuGet { name = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
|
||||
(fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
(fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
|
||||
(fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
|
||||
(fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
|
||||
(fetchNuGet { name = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
|
||||
(fetchNuGet { name = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
|
||||
(fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
|
||||
(fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
|
||||
(fetchNuGet { name = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
|
||||
(fetchNuGet { name = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
|
||||
(fetchNuGet { name = "System.Xml.XmlDocument"; version = "4.0.1"; sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; })
|
||||
(fetchNuGet { name = "System.Xml.XmlSerializer"; version = "4.0.11"; sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; })
|
||||
(fetchNuGet { name = "ThemeEditor.Controls.ColorPicker"; version = "0.10.0"; sha256 = "0sib6cf2xkss48rm3shbwr57rbzz7d2zq0fvjp0hwsa1mb985p2b"; })
|
||||
(fetchNuGet { name = "Tmds.DBus"; version = "0.9.1"; sha256 = "095vinsbb9pbphbhh7x7rxvs8a3b9w1nnz7gxn9bw5is01qnhgdm"; })
|
||||
(fetchNuGet { name = "WebSocketSharp-netstandard"; version = "1.0.1"; sha256 = "0q89wiqpli72333zsa04d1vzq9xj0583hn5mih9sdd84myksz5b0"; })
|
||||
(fetchNuGet { name = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; })
|
||||
(fetchNuGet { name = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
|
||||
(fetchNuGet { name = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; })
|
||||
(fetchNuGet { name = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; })
|
||||
(fetchNuGet { name = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; })
|
||||
(fetchNuGet { name = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; })
|
||||
(fetchNuGet { name = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; })
|
||||
(fetchNuGet { name = "xunit.runner.console"; version = "2.4.1"; sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13"; })
|
||||
(fetchNuGet { name = "xunit.runner.visualstudio"; version = "2.4.3"; sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3"; })
|
||||
]
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, gettext }:
|
||||
{ lib, stdenv, fetchurl, gettext, gawk, bash }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "m17n-db";
|
||||
@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5";
|
||||
};
|
||||
|
||||
buildInputs = [ gettext ];
|
||||
nativeBuildInputs = [ gettext ];
|
||||
buildInputs = [ gettext gawk bash ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
configureFlags = lib.optional (stdenv ? glibc)
|
||||
"--with-charmaps=${stdenv.glibc.out}/share/i18n/charmaps"
|
||||
|
@ -1,4 +1,4 @@
|
||||
{lib, stdenv, fetchurl, m17n_db}:
|
||||
{ lib, stdenv, fetchurl, m17n_db, autoreconfHook, pkg-config }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "m17n-lib";
|
||||
version = "1.8.0";
|
||||
@ -8,6 +8,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0jp61y09xqj10mclpip48qlfhniw8gwy8b28cbzxy8hq8pkwmfkq";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# reconf needed to sucesfully cross-compile
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [ m17n_db ];
|
||||
|
||||
# Fails parallel build due to missing intra-package depends:
|
||||
|
@ -1,22 +1,46 @@
|
||||
{ lib, stdenv, fetchurl, libXaw, freetype }:
|
||||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, libXaw, freetype }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libotf-0.9.16";
|
||||
pname = "libotf";
|
||||
version = "0.9.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
|
||||
url = "https://download.savannah.gnu.org/releases/m17n/${pname}-${version}.tar.gz";
|
||||
sha256 = "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
patches = [
|
||||
# https://salsa.debian.org/debian/libotf/-/tree/master/debian/patches
|
||||
# Fix cross-compilation
|
||||
(fetchpatch {
|
||||
url = "https://salsa.debian.org/debian/libotf/-/raw/1be04cedf887720eb8f5efb3594dc2cefd96b1f1/debian/patches/0002-use-pkg-config-not-freetype-config.patch";
|
||||
sha256 = "sha256-VV9iGoNWIEie6UiLLTJBD+zxpvj0acgqkcBeAN1V6Kc=";
|
||||
})
|
||||
# these 2 are required by the above patch
|
||||
(fetchpatch {
|
||||
url = "https://salsa.debian.org/debian/libotf/-/raw/1be04cedf887720eb8f5efb3594dc2cefd96b1f1/debian/patches/0001-do-not-add-flags-for-required-packages-to-pc-file.patch";
|
||||
sha256 = "sha256-3kzqNPAHNVJQ1F4fyifq3AqLdChWli/k7wOq+ha+iDs=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://salsa.debian.org/debian/libotf/-/raw/1be04cedf887720eb8f5efb3594dc2cefd96b1f1/debian/patches/0001-libotf-config-modify-to-support-multi-arch.patch";
|
||||
sha256 = "sha256-SUlI87h+MtYWWtrAegzAnSds8JhxZwTJltDcj/se/Qc=";
|
||||
})
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
|
||||
buildInputs = [ libXaw freetype ];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mkdir -p $dev/bin
|
||||
mv $out/bin/libotf-config $dev/bin/
|
||||
'';
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $dev/bin
|
||||
mv $out/bin/libotf-config $dev/bin/
|
||||
substituteInPlace $dev/bin/libotf-config \
|
||||
--replace "pkg-config" "${pkg-config}/bin/pkg-config"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.nongnu.org/m17n/";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "topgrade";
|
||||
version = "7.1.0";
|
||||
version = "8.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "r-darwish";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MGu0rQhNEaToPY4o9fz9E3RlvcLKjDq76Mqoq4UeL08=";
|
||||
sha256 = "sha256-af1W2Iu9K7epl8EdNkdyHyhNQfH3MaWcNfP5ukDriLE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Nx0Mw+V8Hgtioi77sk7p/lq6KGJQ3zRXWMNEIzT4Xn8=";
|
||||
cargoSha256 = "sha256-HInvYDDqvkqewgIGd7nQYD+djH7lTc4vp3eVzg706+8=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin Foundation;
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exploitdb";
|
||||
version = "2021-10-20";
|
||||
version = "2021-10-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "offensive-security";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-IHZpfUJA0h1dDkq3pp+x+gT9RSTMq9egHyXGi6ZmBP8=";
|
||||
sha256 = "sha256-gNvpNs+fYETB3zKMX7pJbMEW79vH6yTX8LxvLHw9X3I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,28 +1,47 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubescape";
|
||||
version = "1.0.126";
|
||||
version = "1.0.127";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "armosec";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kx7TgQ+ordlgYfnlt9/KkmTMUwfykGnTOEcTtq7EAYA=";
|
||||
sha256 = "sha256-01k0FJNWrLnwOGa4JgQ/HKSJNgWAzmBUWFhdPi/yPY4=";
|
||||
};
|
||||
vendorSha256 = "sha256-cOxjsujlpRbdw4098eMHe2oNAJXWGjKbPeYpKt0DCp8=";
|
||||
|
||||
vendorSha256 = "sha256-u9Jo3/AdW+AhVe/5RwAPfLIjp+H1Omb1SlpctOEQB5Q=";
|
||||
ldflags = [ "-s" "-w" "-X github.com/armosec/kubescape/clihandler/cmd.BuildNumber=v${version}" ];
|
||||
|
||||
# One test is failing, disabling for now
|
||||
doCheck = false;
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
# Running kubescape to generate completions outputs error warnings
|
||||
# but does not crash and completes successfully
|
||||
# https://github.com/armosec/kubescape/issues/200
|
||||
installShellCompletion --cmd kubescape \
|
||||
--bash <($out/bin/kubescape completion bash) \
|
||||
--fish <($out/bin/kubescape completion fish) \
|
||||
--zsh <($out/bin/kubescape completion zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for testing if Kubernetes is deployed securely";
|
||||
homepage = "https://github.com/armosec/kubescape";
|
||||
changelog = "https://github.com/armosec/kubescape/releases/tag/v${version}";
|
||||
longDescription = ''
|
||||
Kubescape is the first open-source tool for testing if Kubernetes is
|
||||
deployed securely according to multiple frameworks: regulatory, customized
|
||||
company policies and DevSecOps best practices, such as the NSA-CISA and
|
||||
the MITRE ATT&CK®.
|
||||
Kubescape scans K8s clusters, YAML files, and HELM charts, and detect
|
||||
misconfigurations and software vulnerabilities at early stages of the
|
||||
CI/CD pipeline and provides a risk score instantly and risk trends over
|
||||
time. Kubescape integrates natively with other DevOps tools, including
|
||||
Jenkins, CircleCI and Github workflows.
|
||||
'';
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
maintainers = with maintainers; [ fab jk ];
|
||||
};
|
||||
}
|
||||
|
@ -1455,6 +1455,8 @@ with pkgs;
|
||||
|
||||
bic = callPackage ../development/interpreters/bic { };
|
||||
|
||||
binance = callPackage ../applications/misc/binance { };
|
||||
|
||||
bit = callPackage ../applications/version-management/git-and-tools/bit { };
|
||||
|
||||
bitwarden = callPackage ../tools/security/bitwarden { };
|
||||
@ -8164,6 +8166,8 @@ with pkgs;
|
||||
|
||||
opentracker = callPackage ../applications/networking/p2p/opentracker { };
|
||||
|
||||
alttpr-opentracker = callPackage ../tools/games/opentracker { };
|
||||
|
||||
opentsdb = callPackage ../tools/misc/opentsdb {};
|
||||
|
||||
inherit (callPackages ../tools/networking/openvpn {})
|
||||
@ -9866,6 +9870,8 @@ with pkgs;
|
||||
|
||||
thicket = callPackage ../applications/version-management/git-and-tools/thicket { };
|
||||
|
||||
thiefmd = callPackage ../applications/editors/thiefmd { };
|
||||
|
||||
thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools { };
|
||||
|
||||
thinkpad-scripts = python3.pkgs.callPackage ../tools/misc/thinkpad-scripts { };
|
||||
@ -32663,6 +32669,8 @@ with pkgs;
|
||||
thrift = thrift-0_10;
|
||||
};
|
||||
|
||||
seafile-server = callPackage ../servers/seafile-server { };
|
||||
|
||||
seafile-shared = callPackage ../misc/seafile-shared { };
|
||||
|
||||
ser2net = callPackage ../servers/ser2net {};
|
||||
|
@ -2112,6 +2112,8 @@ in {
|
||||
|
||||
django-filter = callPackage ../development/python-modules/django-filter { };
|
||||
|
||||
django-formtools = callPackage ../development/python-modules/django-formtools { };
|
||||
|
||||
django-gravatar2 = callPackage ../development/python-modules/django-gravatar2 { };
|
||||
|
||||
django_guardian = callPackage ../development/python-modules/django_guardian { };
|
||||
@ -2181,6 +2183,8 @@ in {
|
||||
|
||||
django-sr = callPackage ../development/python-modules/django-sr { };
|
||||
|
||||
django-statici18n = callPackage ../development/python-modules/django-statici18n { };
|
||||
|
||||
django-storages = callPackage ../development/python-modules/django-storages { };
|
||||
|
||||
django_tagging = callPackage ../development/python-modules/django_tagging { };
|
||||
@ -6958,6 +6962,8 @@ in {
|
||||
|
||||
pysdl2 = callPackage ../development/python-modules/pysdl2 { };
|
||||
|
||||
pysearpc = toPythonModule pkgs.libsearpc;
|
||||
|
||||
pysendfile = callPackage ../development/python-modules/pysendfile { };
|
||||
|
||||
pysensors = callPackage ../development/python-modules/pysensors { };
|
||||
@ -7626,6 +7632,8 @@ in {
|
||||
|
||||
pytimeparse = callPackage ../development/python-modules/pytimeparse { };
|
||||
|
||||
pytm = callPackage ../development/python-modules/pytm { };
|
||||
|
||||
pytmx = callPackage ../development/python-modules/pytmx { };
|
||||
|
||||
pytoml = callPackage ../development/python-modules/pytoml { };
|
||||
@ -8319,6 +8327,10 @@ in {
|
||||
|
||||
seabreeze = callPackage ../development/python-modules/seabreeze { };
|
||||
|
||||
seahub = callPackage ../development/python-modules/seahub { };
|
||||
|
||||
seaserv = toPythonModule pkgs.seafile-server;
|
||||
|
||||
seccomp = callPackage ../development/python-modules/seccomp { };
|
||||
|
||||
secp256k1 = callPackage ../development/python-modules/secp256k1 {
|
||||
@ -8456,6 +8468,8 @@ in {
|
||||
|
||||
simplekml = callPackage ../development/python-modules/simplekml { };
|
||||
|
||||
simple_di = callPackage ../development/python-modules/simple_di { };
|
||||
|
||||
simple-rest-client = callPackage ../development/python-modules/simple-rest-client { };
|
||||
|
||||
simple-salesforce = callPackage ../development/python-modules/simple-salesforce { };
|
||||
|
Loading…
Reference in New Issue
Block a user