Merge staging-next into staging
This commit is contained in:
@@ -634,6 +634,7 @@
|
||||
./services/network-filesystems/glusterfs.nix
|
||||
./services/network-filesystems/kbfs.nix
|
||||
./services/network-filesystems/ipfs.nix
|
||||
./services/network-filesystems/litestream/default.nix
|
||||
./services/network-filesystems/netatalk.nix
|
||||
./services/network-filesystems/nfsd.nix
|
||||
./services/network-filesystems/openafs/client.nix
|
||||
@@ -961,6 +962,7 @@
|
||||
./services/web-apps/moodle.nix
|
||||
./services/web-apps/nextcloud.nix
|
||||
./services/web-apps/nexus.nix
|
||||
./services/web-apps/node-red.nix
|
||||
./services/web-apps/plantuml-server.nix
|
||||
./services/web-apps/plausible.nix
|
||||
./services/web-apps/pgpkeyserver-lite.nix
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.litestream;
|
||||
settingsFormat = pkgs.formats.yaml {};
|
||||
in
|
||||
{
|
||||
options.services.litestream = {
|
||||
enable = mkEnableOption "litestream";
|
||||
|
||||
package = mkOption {
|
||||
description = "Package to use.";
|
||||
default = pkgs.litestream;
|
||||
defaultText = "pkgs.litestream";
|
||||
type = types.package;
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = ''
|
||||
See the <link xlink:href="https://litestream.io/reference/config/">documentation</link>.
|
||||
'';
|
||||
type = settingsFormat.type;
|
||||
example = {
|
||||
dbs = [
|
||||
{
|
||||
path = "/var/lib/db1";
|
||||
replicas = [
|
||||
{
|
||||
url = "s3://mybkt.litestream.io/db1";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/run/secrets/litestream";
|
||||
description = ''
|
||||
Environment file as defined in <citerefentry>
|
||||
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>.
|
||||
|
||||
Secrets may be passed to the service without adding them to the
|
||||
world-readable Nix store, by specifying placeholder variables as
|
||||
the option value in Nix and setting these variables accordingly in the
|
||||
environment file.
|
||||
|
||||
By default, Litestream will perform environment variable expansion
|
||||
within the config file before reading it. Any references to ''$VAR or
|
||||
''${VAR} formatted variables will be replaced with their environment
|
||||
variable values. If no value is set then it will be replaced with an
|
||||
empty string.
|
||||
|
||||
<programlisting>
|
||||
# Content of the environment file
|
||||
LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
|
||||
LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
|
||||
</programlisting>
|
||||
|
||||
Note that this file needs to be available on the host on which
|
||||
this exporter is running.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.etc = {
|
||||
"litestream.yml" = {
|
||||
source = settingsFormat.generate "litestream-config.yaml" cfg.settings;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.litestream = {
|
||||
description = "Litestream";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "networking.target" ];
|
||||
serviceConfig = {
|
||||
EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
ExecStart = "${cfg.package}/bin/litestream replicate";
|
||||
Restart = "always";
|
||||
User = "litestream";
|
||||
Group = "litestream";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.litestream = {
|
||||
description = "Litestream user";
|
||||
group = "litestream";
|
||||
isSystemUser = true;
|
||||
};
|
||||
users.groups.litestream = {};
|
||||
};
|
||||
meta.doc = ./litestream.xml;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="module-services-litestream">
|
||||
<title>Litestream</title>
|
||||
<para>
|
||||
<link xlink:href="https://litestream.io/">Litestream</link> is a standalone streaming
|
||||
replication tool for SQLite.
|
||||
</para>
|
||||
|
||||
<section xml:id="module-services-litestream-configuration">
|
||||
<title>Configuration</title>
|
||||
|
||||
<para>
|
||||
Litestream service is managed by a dedicated user named <literal>litestream</literal>
|
||||
which needs permission to the database file. Here's an example config which gives
|
||||
required permissions to access <link linkend="opt-services.grafana.database.path">
|
||||
grafana database</link>:
|
||||
<programlisting>
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
users.users.litestream.extraGroups = [ "grafana" ];
|
||||
|
||||
systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
|
||||
timeout=10
|
||||
|
||||
while [ ! -f /var/lib/grafana/data/grafana.db ];
|
||||
do
|
||||
if [ "$timeout" == 0 ]; then
|
||||
echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
((timeout--))
|
||||
done
|
||||
|
||||
find /var/lib/grafana -type d -exec chmod -v 775 {} \;
|
||||
find /var/lib/grafana -type f -exec chmod -v 660 {} \;
|
||||
'';
|
||||
|
||||
services.litestream = {
|
||||
enable = true;
|
||||
|
||||
environmentFile = "/run/secrets/litestream";
|
||||
|
||||
settings = {
|
||||
dbs = [
|
||||
{
|
||||
path = "/var/lib/grafana/data/grafana.db";
|
||||
replicas = [{
|
||||
url = "s3://mybkt.litestream.io/grafana";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
</chapter>
|
||||
@@ -0,0 +1,148 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.node-red;
|
||||
defaultUser = "node-red";
|
||||
finalPackage = if cfg.withNpmAndGcc then node-red_withNpmAndGcc else cfg.package;
|
||||
node-red_withNpmAndGcc = pkgs.runCommandNoCC "node-red" {
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${pkgs.nodePackages.node-red}/bin/node-red $out/bin/node-red \
|
||||
--set PATH '${lib.makeBinPath [ pkgs.nodePackages.npm pkgs.gcc ]}:$PATH' \
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.services.node-red = {
|
||||
enable = mkEnableOption "the Node-RED service";
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.nodePackages.node-red;
|
||||
defaultText = "pkgs.nodePackages.node-red";
|
||||
type = types.package;
|
||||
description = "Node-RED package to use.";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Open ports in the firewall for the server.
|
||||
'';
|
||||
};
|
||||
|
||||
withNpmAndGcc = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Give Node-RED access to NPM and GCC at runtime, so 'Nodes' can be
|
||||
downloaded and managed imperatively via the 'Palette Manager'.
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.package}/lib/node_modules/node-red/settings.js";
|
||||
defaultText = "\${cfg.package}/lib/node_modules/node-red/settings.js";
|
||||
description = ''
|
||||
Path to the JavaScript configuration file.
|
||||
See <link
|
||||
xlink:href="https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js"/>
|
||||
for a configuration example.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 1880;
|
||||
description = "Listening port.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = defaultUser;
|
||||
description = ''
|
||||
User under which Node-RED runs.If left as the default value this user
|
||||
will automatically be created on system activation, otherwise the
|
||||
sysadmin is responsible for ensuring the user exists.
|
||||
'';
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = defaultUser;
|
||||
description = ''
|
||||
Group under which Node-RED runs.If left as the default value this group
|
||||
will automatically be created on system activation, otherwise the
|
||||
sysadmin is responsible for ensuring the group exists.
|
||||
'';
|
||||
};
|
||||
|
||||
userDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/node-red";
|
||||
description = ''
|
||||
The directory to store all user data, such as flow and credential files and all library data. If left
|
||||
as the default value this directory will automatically be created before the node-red service starts,
|
||||
otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership
|
||||
and permissions.
|
||||
'';
|
||||
};
|
||||
|
||||
safe = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to launch Node-RED in --safe mode.";
|
||||
};
|
||||
|
||||
define = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
description = "List of settings.js overrides to pass via -D to Node-RED.";
|
||||
example = literalExample ''
|
||||
{
|
||||
"logging.console.level" = "trace";
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.users = optionalAttrs (cfg.user == defaultUser) {
|
||||
${defaultUser} = {
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = optionalAttrs (cfg.group == defaultUser) {
|
||||
${defaultUser} = { };
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.port ];
|
||||
};
|
||||
|
||||
systemd.services.node-red = {
|
||||
description = "Node-RED Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "networking.target" ];
|
||||
environment = {
|
||||
HOME = cfg.userDir;
|
||||
};
|
||||
serviceConfig = mkMerge [
|
||||
{
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ExecStart = "${finalPackage}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define)}";
|
||||
PrivateTmp = true;
|
||||
Restart = "always";
|
||||
WorkingDirectory = cfg.userDir;
|
||||
}
|
||||
(mkIf (cfg.userDir == "/var/lib/node-red") { StateDirectory = "node-red"; })
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -227,6 +227,7 @@ in
|
||||
libreswan = handleTest ./libreswan.nix {};
|
||||
lightdm = handleTest ./lightdm.nix {};
|
||||
limesurvey = handleTest ./limesurvey.nix {};
|
||||
litestream = handleTest ./litestream.nix {};
|
||||
locate = handleTest ./locate.nix {};
|
||||
login = handleTest ./login.nix {};
|
||||
loki = handleTest ./loki.nix {};
|
||||
@@ -259,6 +260,7 @@ in
|
||||
morty = handleTest ./morty.nix {};
|
||||
mosquitto = handleTest ./mosquitto.nix {};
|
||||
mpd = handleTest ./mpd.nix {};
|
||||
mpv = handleTest ./mpv.nix {};
|
||||
mumble = handleTest ./mumble.nix {};
|
||||
musescore = handleTest ./musescore.nix {};
|
||||
munin = handleTest ./munin.nix {};
|
||||
@@ -301,6 +303,7 @@ in
|
||||
nix-serve = handleTest ./nix-ssh-serve.nix {};
|
||||
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
|
||||
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
|
||||
node-red = handleTest ./node-red.nix {};
|
||||
nomad = handleTest ./nomad.nix {};
|
||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||
nsd = handleTest ./nsd.nix {};
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "litestream";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ jwygoda ];
|
||||
};
|
||||
|
||||
machine =
|
||||
{ pkgs, ... }:
|
||||
{ services.litestream = {
|
||||
enable = true;
|
||||
settings = {
|
||||
dbs = [
|
||||
{
|
||||
path = "/var/lib/grafana/data/grafana.db";
|
||||
replicas = [{
|
||||
url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
|
||||
timeout=10
|
||||
|
||||
while [ ! -f /var/lib/grafana/data/grafana.db ];
|
||||
do
|
||||
if [ "$timeout" == 0 ]; then
|
||||
echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
((timeout--))
|
||||
done
|
||||
|
||||
find /var/lib/grafana -type d -exec chmod -v 775 {} \;
|
||||
find /var/lib/grafana -type f -exec chmod -v 660 {} \;
|
||||
'';
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
allowSFTP = true;
|
||||
listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
|
||||
};
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
security = {
|
||||
adminUser = "admin";
|
||||
adminPassword = "admin";
|
||||
};
|
||||
addr = "localhost";
|
||||
port = 3000;
|
||||
extraOptions = {
|
||||
DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL";
|
||||
};
|
||||
};
|
||||
users.users.foo = {
|
||||
isNormalUser = true;
|
||||
password = "bar";
|
||||
};
|
||||
users.users.litestream.extraGroups = [ "grafana" ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_until_succeeds("test -d /home/foo/grafana")
|
||||
machine.wait_for_open_port(3000)
|
||||
machine.succeed("""
|
||||
curl -sSfN -X PUT -H "Content-Type: application/json" -d '{
|
||||
"oldPassword": "admin",
|
||||
"newPassword": "newpass",
|
||||
"confirmNew": "newpass"
|
||||
}' http://admin:admin@127.0.0.1:3000/api/user/password
|
||||
""")
|
||||
# https://litestream.io/guides/systemd/#simulating-a-disaster
|
||||
machine.systemctl("stop litestream.service")
|
||||
machine.succeed(
|
||||
"rm -f /var/lib/grafana/data/grafana.db "
|
||||
"/var/lib/grafana/data/grafana.db-shm "
|
||||
"/var/lib/grafana/data/grafana.db-wal"
|
||||
)
|
||||
machine.succeed(
|
||||
"litestream restore /var/lib/grafana/data/grafana.db "
|
||||
"&& chown grafana:grafana /var/lib/grafana/data/grafana.db "
|
||||
"&& chmod 660 /var/lib/grafana/data/grafana.db"
|
||||
)
|
||||
machine.systemctl("restart grafana.service")
|
||||
machine.wait_for_open_port(3000)
|
||||
machine.succeed(
|
||||
"curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost"
|
||||
)
|
||||
'';
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
port = toString 4321;
|
||||
in
|
||||
{
|
||||
name = "mpv";
|
||||
meta.maintainers = with maintainers; [ zopieux ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.curl
|
||||
(pkgs.mpv-with-scripts.override {
|
||||
scripts = [ pkgs.mpvScripts.simple-mpv-webui ];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &")
|
||||
machine.wait_for_open_port(${port})
|
||||
assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}")
|
||||
'';
|
||||
})
|
||||
@@ -0,0 +1,31 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "nodered";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ matthewcroughan ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
client = { config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.curl ];
|
||||
};
|
||||
nodered = { config, pkgs, ... }: {
|
||||
services.node-red = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
nodered.wait_for_unit("node-red.service")
|
||||
nodered.wait_for_open_port("1880")
|
||||
|
||||
client.wait_for_unit("multi-user.target")
|
||||
|
||||
with subtest("Check that the Node-RED webserver can be reached."):
|
||||
assert "<title>Node-RED</title>" in client.succeed(
|
||||
"curl -sSf http:/nodered:1880/ | grep title"
|
||||
)
|
||||
'';
|
||||
})
|
||||
@@ -22,15 +22,16 @@
|
||||
, libmtp
|
||||
, xdg-utils
|
||||
, removeReferencesTo
|
||||
, libstemmer
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "calibre";
|
||||
version = "5.17.0";
|
||||
version = "5.24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-rdiBL3Y3q/0wFfWGE4jGkWakgV8hA9HjDcKXso6tVrs=";
|
||||
hash = "sha256:18dr577nv7ijw3ar6mrk2xrc54mlrqkaj5jrc6s5sirl0710fdfg";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -65,6 +66,7 @@ mkDerivation rec {
|
||||
libjpeg
|
||||
libmtp
|
||||
libpng
|
||||
libstemmer
|
||||
libusb1
|
||||
podofo
|
||||
poppler_utils
|
||||
@@ -73,7 +75,9 @@ mkDerivation rec {
|
||||
xdg-utils
|
||||
] ++ (
|
||||
with python3Packages; [
|
||||
apsw
|
||||
(apsw.overrideAttrs (oldAttrs: rec {
|
||||
setupPyBuildFlags = [ "--enable=load_extension" ];
|
||||
}))
|
||||
beautifulsoup4
|
||||
cchardet
|
||||
css-parser
|
||||
@@ -95,15 +99,7 @@ mkDerivation rec {
|
||||
python
|
||||
regex
|
||||
sip
|
||||
(zeroconf.overrideAttrs (oldAttrs: rec {
|
||||
version = "0.31.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jstasiak";
|
||||
repo = "python-zeroconf";
|
||||
rev = version;
|
||||
sha256 = "158dqay74zvnz6kmpvip4ml0kw59nf2aaajwgaamx0zc8ci1p5pj";
|
||||
};
|
||||
}))
|
||||
zeroconf
|
||||
# the following are distributed with calibre, but we use upstream instead
|
||||
odfpy
|
||||
] ++ lib.optional (unrarSupport) unrardll
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
let
|
||||
pname = "freeplane";
|
||||
version = "1.8.11";
|
||||
version = "1.9.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "release-${version}";
|
||||
sha256 = "07xjx9pf62dvy8lx6vnbwwcn1zqy89cmdmwy792k7gb12wz81nnc";
|
||||
sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY=";
|
||||
};
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
@@ -31,7 +31,7 @@ let
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "0r7f6713m0whh5hlk1id7z9j5v9494r41sivn9fzl63q70kzz92g";
|
||||
outputHash = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA=";
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yambar";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://codeberg.org/dnkl/yambar.git";
|
||||
rev = version;
|
||||
sha256 = "p47tFsEWsYNe6IVV65xGG211u6Vm2biRf4pmUDylBOQ=";
|
||||
sha256 = "sha256-oUNkaWrYIcsK2u+aeRg6DHmH4M1VZ0leNSM0lV9Yy1Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
let
|
||||
pname = "zulip";
|
||||
version = "5.8.0";
|
||||
version = "5.8.1";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
|
||||
sha256 = "0z8lp56j6qvm57sfqdyqrqzj9add3drh1z4zsckg45jfw6yn3jdv";
|
||||
sha256 = "02m18y5j6jmmlygv8ycwaaq6n7mvj97ljhd3l9pvii0adwcvrpfz";
|
||||
name="${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "MAVProxy";
|
||||
version = "1.8.39";
|
||||
version = "1.8.40";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-1RXuAiz9i5ZnLtDGQ+o3DNgWJ2FDJGIoelmlDmEzrts=";
|
||||
sha256 = "cad317e2e879f1f7cb59af078788aaf0d09cd761ecd91ad091adf7ac6cc1bcdb";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
, fetchFromGitHub }:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "simple-mpv-ui";
|
||||
version = "1.0.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-dynaMIX";
|
||||
repo = "simple-mpv-webui";
|
||||
rev = "v${version}";
|
||||
sha256 = "1glrnnl1slcl0ri0zs4j64lc9aa52p9ffh6av0d81fk95nm98917";
|
||||
sha256 = "1z0y8sdv5mbxznxqh43w5592ym688vkvqg7w26p8cinrhf09pbw8";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A web based user interface with controls for the mpv mediaplayer";
|
||||
homepage = "https://github.com/open-dynaMIX/simple-mpv-webui";
|
||||
maintainers = [ maintainers.cript0nauta ];
|
||||
maintainers = with maintainers; [ cript0nauta zopieux ];
|
||||
longDescription = ''
|
||||
You can access the webui when accessing http://127.0.0.1:8080 or
|
||||
http://[::1]:8080 in your webbrowser. By default it listens on
|
||||
|
||||
@@ -52,13 +52,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arcan";
|
||||
version = "0.6.1pre1+unstable=2021-07-10";
|
||||
version = "0.6.1pre1+unstable=2021-07-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = "arcan";
|
||||
rev = "25da999e6e03688c71c7df3852314c01ed610e0d";
|
||||
hash = "sha256-+ZF6mD/Z0N/5QCjXe80z4L6JOE33+Yv4ZlwKvlG/c44=";
|
||||
rev = "885b2f0c9e031fd157af21302af2027ecbe3fe1f";
|
||||
hash = "sha256-tj5kPa5OWCGt7LTzo4ZYV1UjBpOrjQHER/K+ZfL3h+8=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
|
||||
@@ -20,9 +20,10 @@ symlinkJoin rec {
|
||||
--set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver" \
|
||||
--set ARCAN_LIBPATH "${placeholder "out"}/lib/" \
|
||||
--set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \
|
||||
--set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" \
|
||||
--set ARCAN_STATEBASEPATH "\$HOME/.arcan/resources/savestates/"
|
||||
--set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/"
|
||||
done
|
||||
'';
|
||||
}
|
||||
# TODO: set ARCAN_FONTPATH to a set of fonts that can be provided in a parameter
|
||||
# TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly
|
||||
# via a suitable script
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gensio";
|
||||
version = "2.2.7";
|
||||
version = "2.2.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cminyard";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2wxsPHrQ9GgyUE4p6zYuR1mPU2OyjtgiPnMApEscR2g=";
|
||||
sha256 = "sha256-6+hYytLMg5E1KTBPWSteVu2VjF0APkcoOiigqzrBI+U=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,22 +1,25 @@
|
||||
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, libtool
|
||||
, gtk ? null
|
||||
, gtk2-x11, gtk3-x11 , gtkSupport ? null
|
||||
, libpulseaudio, gst_all_1, libvorbis, libcap
|
||||
, CoreServices
|
||||
, Carbon, CoreServices
|
||||
, withAlsa ? stdenv.isLinux, alsa-lib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libcanberra-0.30";
|
||||
pname = "libcanberra";
|
||||
version = "0.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.xz";
|
||||
url = "http://0pointer.de/lennart/projects/libcanberra/${pname}-${version}.tar.xz";
|
||||
sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
buildInputs = [
|
||||
libpulseaudio libvorbis gtk
|
||||
libpulseaudio libvorbis
|
||||
] ++ (with gst_all_1; [ gstreamer gst-plugins-base ])
|
||||
++ lib.optional stdenv.isDarwin CoreServices
|
||||
++ lib.optional (gtkSupport == "gtk2") gtk2-x11
|
||||
++ lib.optional (gtkSupport == "gtk3") gtk3-x11
|
||||
++ lib.optionals stdenv.isDarwin [Carbon CoreServices]
|
||||
++ lib.optional stdenv.isLinux libcap
|
||||
++ lib.optional withAlsa alsa-lib;
|
||||
|
||||
@@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = (lib.optional stdenv.isDarwin) ''
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
patch -p0 < ${fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/macports/macports-ports/master/audio/libcanberra/files/patch-configure.diff";
|
||||
sha256 = "1f7h7ifpqvbfhqygn1b7klvwi80zmpv3538vbmq7ql7bkf1q8h31";
|
||||
@@ -43,8 +46,8 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
gtkModule = "/lib/gtk-2.0/";
|
||||
passthru = lib.optionalAttrs (gtkSupport != null) {
|
||||
gtkModule = if gtkSupport == "gtk2" then "/lib/gtk-2.0" else "/lib/gtk-3.0/";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@@ -62,6 +65,6 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
# canberra-gtk-module.c:28:10: fatal error: 'gdk/gdkx.h' file not found
|
||||
# #include <gdk/gdkx.h>
|
||||
broken = stdenv.isDarwin;
|
||||
broken = stdenv.isDarwin && (gtkSupport == "gtk3");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,15 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zchunk";
|
||||
version = "1.1.11";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
version = "1.1.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zchunk";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-r+qWJOUnTyPJjM9eW44Q2DMKxx4HloyfNrQ6xWDO9vQ=";
|
||||
hash = "sha256-+8FkivLTZXdu0+1wu+7T98y6rQzIHbG9l15Abrbln1o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -33,6 +31,13 @@ stdenv.mkDerivation rec {
|
||||
zstd
|
||||
] ++ lib.optional stdenv.isDarwin argp-standalone;
|
||||
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"lib"
|
||||
"dev"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/zchunk/zchunk";
|
||||
description = "File format designed for highly efficient deltas while maintaining good compression";
|
||||
|
||||
@@ -2,16 +2,20 @@ diff --git a/src/repository/opamRepositoryConfig.ml b/src/repository/opamReposit
|
||||
index c2954c1d..528fc621 100644
|
||||
--- a/src/repository/opamRepositoryConfig.ml
|
||||
+++ b/src/repository/opamRepositoryConfig.ml
|
||||
@@ -27,23 +27,7 @@ type 'a options_fun =
|
||||
@@ -27,31 +27,7 @@ type 'a options_fun =
|
||||
'a
|
||||
|
||||
let default = {
|
||||
- download_tool = lazy (
|
||||
- let os = OpamStd.Sys.os () in
|
||||
- try
|
||||
- let curl = "curl", `Curl in
|
||||
- let tools =
|
||||
- if OpamStd.Sys.(os () = Darwin)
|
||||
- then ["wget", `Default; "curl", `Curl]
|
||||
- else ["curl", `Curl; "wget", `Default]
|
||||
- match os with
|
||||
- | Darwin -> ["wget", `Default; curl]
|
||||
- | FreeBSD -> ["fetch", `Default ; curl]
|
||||
- | OpenBSD -> ["ftp", `Default; curl]
|
||||
- | _ -> [curl; "wget", `Default]
|
||||
- in
|
||||
- let cmd, kind =
|
||||
- List.find (fun (c,_) -> OpamSystem.resolve_command c <> None) tools
|
||||
@@ -20,8 +24,12 @@ index c2954c1d..528fc621 100644
|
||||
- with Not_found ->
|
||||
- OpamConsole.error_and_exit `Configuration_error
|
||||
- "Could not find a suitable download command. Please make sure you \
|
||||
- have either \"curl\" or \"wget\" installed, or specify a custom \
|
||||
- command through variable OPAMFETCH."
|
||||
- have %s installed, or specify a custom command through variable \
|
||||
- OPAMFETCH."
|
||||
- (match os with
|
||||
- | FreeBSD -> "fetch"
|
||||
- | OpenBSD -> "ftp"
|
||||
- | _ -> "either \"curl\" or \"wget\"")
|
||||
- );
|
||||
+ download_tool = lazy ([ CIdent SUBSTITUTE_NIXOS_CURL_PATH, None ], `Curl);
|
||||
validation_hook = None;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioambient";
|
||||
version = "1.2.4";
|
||||
version = "1.2.5";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-uqvM5F0rpw+xeCXYl4lGMt3r0ugPsUmSvujmTJ9HABk=";
|
||||
sha256 = "1v8xr69y9cajyrdfz8wdksz1hclh5cvgxppf9lpygwfj4q70wh88";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -46,12 +46,6 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/bachya/aioambient/pull/84
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'websockets = "^8.1"' 'websockets = ">=8.1,<10.0"'
|
||||
'';
|
||||
|
||||
# Ignore the examples directory as the files are prefixed with test_
|
||||
disabledTestPaths = [ "examples/" ];
|
||||
|
||||
|
||||
@@ -1,14 +1,27 @@
|
||||
{ lib, buildPythonPackage, fetchPypi }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bitstring";
|
||||
version = "3.1.7";
|
||||
version = "3.1.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0jl6192dwrlm5ybkbh7ywmyaymrc3cmz9y07nm7qdli9n9rfpwzx";
|
||||
src = fetchFromGitHub {
|
||||
owner = "scott-griffiths";
|
||||
repo = pname;
|
||||
rev = "bitstring-${version}";
|
||||
sha256 = "0y2kcq58psvl038r6dhahhlhp1wjgr5zsms45wyz1naq6ri8x9qa";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
cd test
|
||||
${python.interpreter} -m unittest discover
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "bitstring" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Module for binary data manipulation";
|
||||
homepage = "https://github.com/scott-griffiths/bitstring";
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "emoji";
|
||||
version = "1.4.0";
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carpedm20";
|
||||
repo = pname;
|
||||
rev = "v.${version}";
|
||||
sha256 = "0xksxdld20sh3c2s6pry1fm2br9xq8ypdq5pf971fpg5pk2f4iy9";
|
||||
sha256 = "0gakvh8hfmfdjyp46bl18b2zm3grm3k5shiqrpzqlipbaxb7ifrk";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "motioneye-client";
|
||||
version = "0.3.10";
|
||||
version = "0.3.11";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
@@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "dermotduffy";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0ilh9wfzggnbfz068vkz66g64ar6isl3m2vcp7jf2zbaj0bqsjax";
|
||||
sha256 = "0f34ig8njyn7dzy8272m0b1nlnnhir58ar3vx4zps10i0dc32hb2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,24 +1,45 @@
|
||||
{ lib, buildPythonPackage, pythonOlder, fetchFromGitLab
|
||||
, gobject-introspection, idna, libsoup, precis-i18n, pygobject3, pyopenssl
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitLab
|
||||
, gobject-introspection
|
||||
, idna
|
||||
, libsoup
|
||||
, precis-i18n
|
||||
, pygobject3
|
||||
, pyopenssl
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nbxmpp";
|
||||
version = "2.0.2";
|
||||
version = "2.0.3";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
# Tests aren't included in PyPI tarball.
|
||||
src = fetchFromGitLab {
|
||||
domain = "dev.gajim.org";
|
||||
owner = "gajim";
|
||||
repo = "python-nbxmpp";
|
||||
rev = "nbxmpp-${version}";
|
||||
sha256 = "0z27mxgfk7hvpx0xdrd8g9441rywv74yk7s83zjnc2mc7xvpwhf4";
|
||||
sha256 = "0gzyd25sja7n49f1ihyg6gch1b0r409r0p3qpwn8w8xy7jgn6ysc";
|
||||
};
|
||||
|
||||
buildInputs = [ precis-i18n ];
|
||||
propagatedBuildInputs = [ gobject-introspection idna libsoup pygobject3 pyopenssl ];
|
||||
buildInputs = [
|
||||
precis-i18n
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gobject-introspection
|
||||
idna
|
||||
libsoup
|
||||
pygobject3
|
||||
pyopenssl
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "nbxmpp" ];
|
||||
|
||||
|
||||
@@ -4,15 +4,17 @@
|
||||
, nose
|
||||
, numpy
|
||||
, quantities
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "neo";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb";
|
||||
sha256 = "0lw3r9p1ky1cswhrs9radc0vq1qfzbrk7qd00f34g96g30zab4g5";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ numpy quantities ];
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pg8000";
|
||||
version = "1.20.0";
|
||||
version = "1.21.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-SQ7CKpJgHwRUs+1MjU7N3DD2bA4/eD8OzFgQN3SajFU=";
|
||||
sha256 = "1msj0vk14fbsis8yfk0my1ygpcli9jz3ivwdi9k6ii5i6330i4f9";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -21,11 +21,6 @@ buildPythonPackage rec {
|
||||
scramp
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "scramp==1.4.0" "scramp>=1.4.0"
|
||||
'';
|
||||
|
||||
# Tests require a running PostgreSQL instance
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "pg8000" ];
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "phonenumbers";
|
||||
version = "8.12.26";
|
||||
version = "8.12.28";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Zbq269vg7FGWx0YmlJdI21M30jiVqrwe+PXXKEeHmYo=";
|
||||
sha256 = "1g86bf791lr9ggrfgllah9liwa3bx917h9ffrdb01kjwdna4zsj2";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, isPy27
|
||||
, appdirs
|
||||
, importlib-metadata
|
||||
, requests
|
||||
, pytest
|
||||
, rich
|
||||
, setuptools
|
||||
, wheel
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pipdate";
|
||||
version = "0.5.2";
|
||||
version = "0.5.5";
|
||||
format = "pyproject";
|
||||
disabled = isPy27; # abandoned
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "507065231f2d50b6319d483432cba82aadad78be21b7a2969b5881ed8dee9ab4";
|
||||
sha256 = "03hr9i691cpg9q2xc1xr4lpd90xs8rba0xjh6qmc1vg7lgcdgbaa";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wheel ];
|
||||
@@ -26,25 +26,19 @@ buildPythonPackage rec {
|
||||
propagatedBuildInputs = [
|
||||
appdirs
|
||||
requests
|
||||
rich
|
||||
setuptools
|
||||
] ++ lib.optionals (pythonOlder "3.8") [
|
||||
importlib-metadata
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
HOME=$(mktemp -d) pytest test/test_pipdate.py
|
||||
'';
|
||||
|
||||
# tests require network access
|
||||
# Tests require network access and pythonImportsCheck requires configuration file
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "pip update helpers";
|
||||
homepage = "https://github.com/nschloe/pipdate";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ costrouc ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,19 +4,19 @@
|
||||
, requests
|
||||
, tqdm
|
||||
, websocket-client
|
||||
, isPy27
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "PlexAPI";
|
||||
version = "4.6.1";
|
||||
disabled = isPy27;
|
||||
pname = "plexapi";
|
||||
version = "4.7.0";
|
||||
disabled = pythonOlder "3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pkkid";
|
||||
repo = "python-plexapi";
|
||||
rev = version;
|
||||
sha256 = "sha256-WL5UBsvAdtfOCkVX9NI0Z2fJ2CAO+NwD8wvkvkJ2uww=";
|
||||
sha256 = "1gh36ln9ki69rs7ml9syqq956i996rdi145qffjwb3736zylrzkp";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -27,6 +27,7 @@ buildPythonPackage rec {
|
||||
|
||||
# Tests require a running Plex instance
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "plexapi" ];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytest-asyncio
|
||||
, pytest-cov
|
||||
, pytest-timeout
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
@@ -11,19 +10,18 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pypck";
|
||||
version = "0.7.10";
|
||||
version = "0.7.11";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alengwenus";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-B2imewEONewj1Y+Q316reIBZB/b9WQAu67x9cLMkRTU=";
|
||||
sha256 = "1jj0y487qcxrprx4x2rs6r7rqsf5m9khk0xhigbvnbyvh8rsd2jr";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytest-asyncio
|
||||
pytest-cov
|
||||
pytest-timeout
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysma";
|
||||
version = "0.6.4";
|
||||
version = "0.6.5";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-hnvbQOilsoHn1qc/pKJ2Eq1VwJi+HbGlAAJwiME1Pgc=";
|
||||
sha256 = "0kabwx8mi2kkbxxg7abnxwggxvidjrzgp5yidiyll5iba0ghhgnw";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sentry-sdk";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-UhCnEt1X2I0iXB/D/jo2Jv7kk2N7zVTiBIJs8EuNdpw=";
|
||||
sha256 = "0v72zzghlk6kvjg7fg4c4mfr1kasnwlpjzk1wyqd864nz9293sgb";
|
||||
};
|
||||
|
||||
checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, bazel_3, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
|
||||
, addOpenGLRunpath
|
||||
, addOpenGLRunpath, fetchpatch
|
||||
# Python deps
|
||||
, buildPythonPackage, pythonOlder, pythonAtLeast, python
|
||||
# Python libraries
|
||||
@@ -114,6 +114,12 @@ let
|
||||
};
|
||||
|
||||
patches = [
|
||||
# included from 2.6.0 onwards
|
||||
(fetchpatch {
|
||||
name = "fix-numpy-1.20-notimplementederror.patch";
|
||||
url = "https://github.com/tensorflow/tensorflow/commit/b258941525f496763d4277045b6513c815720e3a.patch";
|
||||
sha256 = "19f9bzrcfsynk11s2hqvscin5c65zf7r6g3nb10jnimw79vafiry";
|
||||
})
|
||||
# Relax too strict Python packages versions dependencies.
|
||||
./relax-dependencies.patch
|
||||
# Add missing `io_bazel_rules_docker` dependency.
|
||||
|
||||
@@ -10,11 +10,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liquibase";
|
||||
version = "4.4.1";
|
||||
version = "4.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-2Y/eRIkskuk+7GC/br178XzWTnP4iXSFfa5ybLjvqDA=";
|
||||
sha256 = "sha256-qOKMyqf3KX7pWjslVgcPiGlTiwvMZLvm7DiatmSLd1U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ lib, buildDunePackage, fetchurl, makeWrapper
|
||||
, curly, fmt, bos, cmdliner, re, rresult, logs
|
||||
, odoc, opam-format, opam-core, opam-state, yojson
|
||||
, odoc, opam-format, opam-core, opam-state, yojson, astring
|
||||
, opam, git, findlib, mercurial, bzip2, gnutar, coreutils
|
||||
, alcotest, mdx
|
||||
}:
|
||||
@@ -10,18 +10,18 @@
|
||||
let runtimeInputs = [ opam findlib git mercurial bzip2 gnutar coreutils ];
|
||||
in buildDunePackage rec {
|
||||
pname = "dune-release";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
minimumOCamlVersion = "4.06";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ocamllabs/${pname}/releases/download/${version}/${pname}-${version}.tbz";
|
||||
sha256 = "1frinv1rsrm30q6jclicsswpshkdwwdgxx7sp6q9w4c2p211n1ln";
|
||||
sha256 = "1lyfaczskdbqnhmpiy6wga9437frds3m8prfk2rhwyb96h69y3pv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core
|
||||
rresult logs odoc bos yojson ];
|
||||
rresult logs odoc bos yojson astring ];
|
||||
checkInputs = [ alcotest mdx ] ++ runtimeInputs;
|
||||
doCheck = true;
|
||||
|
||||
@@ -32,16 +32,16 @@ in buildDunePackage rec {
|
||||
# to have a fixed path to the binary in nix store
|
||||
sed -i '/must_exist (Cmd\.v "curl"/d' lib/github.ml
|
||||
|
||||
# fix problems with git invocations in tests
|
||||
for f in tests/bin/{delegate_info,errors,tag,no_doc,x-commit-hash}/run.t; do
|
||||
# set bogus user info in git so git commit doesn't fail
|
||||
sed -i '/git init/ a \ $ git config user.name test; git config user.email "pseudo@pseudo.invalid"' "$f"
|
||||
# surpress hint to set default branch name
|
||||
substituteInPlace "$f" --replace "git init" "git init -b main"
|
||||
done
|
||||
|
||||
# ignore weird yes error message
|
||||
sed -i 's/yes |/yes 2>\/dev\/null |/' tests/bin/no_doc/run.t
|
||||
sed -i 's/yes |/yes 2>\/dev\/null |/' \
|
||||
tests/bin/no_doc/run.t \
|
||||
tests/bin/draft/run.t \
|
||||
tests/bin/url-file/run.t
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
# it fails when it tries to reference "./make_check_deterministic.exe"
|
||||
rm -fr tests/bin/check
|
||||
'';
|
||||
|
||||
# tool specific env vars have been deprecated, use PATH
|
||||
|
||||
@@ -6,62 +6,74 @@ assert lib.versionAtLeast ocaml.version "4.02.3";
|
||||
|
||||
let
|
||||
srcs = {
|
||||
cmdliner = fetchurl {
|
||||
url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz";
|
||||
sha256 = "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1";
|
||||
"0install-solver" = fetchurl {
|
||||
url = "https://github.com/0install/0install/releases/download/v2.17/0install-v2.17.tbz";
|
||||
sha256 = "08q95mzmf9pyyqs68ff52422f834hi313cxmypwrxmxsabcfa10p";
|
||||
};
|
||||
cppo = fetchurl {
|
||||
url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz";
|
||||
sha256 = "185q0x54id7pfc6rkbjscav8sjkrg78fz65rgfw7b4bqlyb2j9z7";
|
||||
"cmdliner" = fetchurl {
|
||||
url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz";
|
||||
sha256 = "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw";
|
||||
};
|
||||
cudf = fetchurl {
|
||||
"cppo" = fetchurl {
|
||||
url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz";
|
||||
sha256 = "17ajdzrnmnyfig3s6hinb56mcmhywbssxhsq32dz0v90dhz3wmfv";
|
||||
};
|
||||
"cudf" = fetchurl {
|
||||
url = "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz";
|
||||
sha256 = "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr";
|
||||
};
|
||||
dose3 = fetchurl {
|
||||
"dose3" = fetchurl {
|
||||
url = "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz";
|
||||
sha256 = "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm";
|
||||
};
|
||||
dune-local = fetchurl {
|
||||
url = "https://github.com/ocaml/dune/releases/download/1.6.3/dune-1.6.3.tbz";
|
||||
sha256 = "0dmf0wbfmgdy5plz1bjiisc2hjgblvxsnrqjmw2c8y45v1h23mdz";
|
||||
"dune-local" = fetchurl {
|
||||
url = "https://github.com/ocaml/dune/releases/download/2.9.0/dune-2.9.0.tbz";
|
||||
sha256 = "07m476kgagpd6kzm3jq30yfxqspr2hychah0xfqs14z82zxpq8dv";
|
||||
};
|
||||
extlib = fetchurl {
|
||||
"extlib" = fetchurl {
|
||||
url = "https://ygrek.org/p/release/ocaml-extlib/extlib-1.7.7.tar.gz";
|
||||
sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1";
|
||||
};
|
||||
mccs = fetchurl {
|
||||
url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz";
|
||||
sha256 = "0mswapf37rav8nvvbjc4c7c7wnl6qwgd3c5v0nfifmr910qygz72";
|
||||
"mccs" = fetchurl {
|
||||
url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+13.tar.gz";
|
||||
sha256 = "05nnji9h8mss3hzjr5faid2v3xfr7rcv2ywmpcxxp28y6h2kv9gv";
|
||||
};
|
||||
ocamlgraph = fetchurl {
|
||||
url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.8.tar.gz";
|
||||
sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr";
|
||||
"ocamlgraph" = fetchurl {
|
||||
url = "https://github.com/backtracking/ocamlgraph/releases/download/2.0.0/ocamlgraph-2.0.0.tbz";
|
||||
sha256 = "029692bvdz3hxpva9a2jg5w5381fkcw55ysdi8424lyyjxvjdzi0";
|
||||
};
|
||||
opam-file-format = fetchurl {
|
||||
url = "https://github.com/ocaml/opam-file-format/archive/2.0.0.tar.gz";
|
||||
sha256 = "0cjw69r7iilidi7b6arr92kjnjspchvwnmwr1b1gyaxqxpr2s98m";
|
||||
"opam-0install-cudf" = fetchurl {
|
||||
url = "https://github.com/ocaml-opam/opam-0install-solver/releases/download/v0.4.2/opam-0install-cudf-v0.4.2.tbz";
|
||||
sha256 = "10wma4hh9l8hk49rl8nql6ixsvlz3163gcxspay5fwrpbg51fmxr";
|
||||
};
|
||||
re = fetchurl {
|
||||
"opam-file-format" = fetchurl {
|
||||
url = "https://github.com/ocaml/opam-file-format/archive/2.1.3.tar.gz";
|
||||
sha256 = "1bqyrlsvmjf4gqzmzbiyja9m1ph30ic9i18x23p5ziymyylw2sfg";
|
||||
};
|
||||
"re" = fetchurl {
|
||||
url = "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz";
|
||||
sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
|
||||
};
|
||||
result = fetchurl {
|
||||
url = "https://github.com/janestreet/result/archive/1.4.tar.gz";
|
||||
sha256 = "1cjlncnzkwc6zr4v8dgy8nin490blbyxzwwp0qh0cla7s3q2jw0n";
|
||||
"result" = fetchurl {
|
||||
url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
|
||||
sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
|
||||
};
|
||||
seq = fetchurl {
|
||||
url = "https://github.com/c-cube/seq/archive/0.1.tar.gz";
|
||||
sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r";
|
||||
"seq" = fetchurl {
|
||||
url = "https://github.com/c-cube/seq/archive/0.2.2.tar.gz";
|
||||
sha256 = "1ck15v3pg8bacdg6d6iyp2jc3kgrzxk5jsgzx3287x2ycb897j53";
|
||||
};
|
||||
"stdlib-shims" = fetchurl {
|
||||
url = "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz";
|
||||
sha256 = "0jnqsv6pqp5b5g7lcjwgd75zqqvcwcl5a32zi03zg1kvj79p5gxs";
|
||||
};
|
||||
opam = fetchurl {
|
||||
url = "https://github.com/ocaml/opam/archive/2.0.8.zip";
|
||||
sha256 = "1h55jh4nnx1fcn7v7ss3fgxrn6ixkgnq7pvg5njz8c9xq4njwbc1";
|
||||
url = "https://github.com/ocaml/opam/archive/2.1.0.zip";
|
||||
sha256 = "063df5gsvp4yrbqbnd8k7a1f04cf12prc5wh4f1200acs3jwjxwb";
|
||||
};
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
pname = "opam";
|
||||
version = "2.0.8";
|
||||
version = "2.1.0";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
|
||||
@@ -69,18 +81,21 @@ in stdenv.mkDerivation {
|
||||
src = srcs.opam;
|
||||
|
||||
postUnpack = ''
|
||||
ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/cmdliner.tbz
|
||||
ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tbz
|
||||
ln -sv ${srcs.cudf} $sourceRoot/src_ext/cudf.tar.gz
|
||||
ln -sv ${srcs.dose3} $sourceRoot/src_ext/dose3.tar.gz
|
||||
ln -sv ${srcs.dune-local} $sourceRoot/src_ext/dune-local.tbz
|
||||
ln -sv ${srcs.extlib} $sourceRoot/src_ext/extlib.tar.gz
|
||||
ln -sv ${srcs.mccs} $sourceRoot/src_ext/mccs.tar.gz
|
||||
ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/ocamlgraph.tar.gz
|
||||
ln -sv ${srcs.opam-file-format} $sourceRoot/src_ext/opam-file-format.tar.gz
|
||||
ln -sv ${srcs.re} $sourceRoot/src_ext/re.tbz
|
||||
ln -sv ${srcs.result} $sourceRoot/src_ext/result.tar.gz
|
||||
ln -sv ${srcs.seq} $sourceRoot/src_ext/seq.tar.gz
|
||||
ln -sv ${srcs."0install-solver"} $sourceRoot/src_ext/0install-solver.tbz
|
||||
ln -sv ${srcs."cmdliner"} $sourceRoot/src_ext/cmdliner.tbz
|
||||
ln -sv ${srcs."cppo"} $sourceRoot/src_ext/cppo.tbz
|
||||
ln -sv ${srcs."cudf"} $sourceRoot/src_ext/cudf.tar.gz
|
||||
ln -sv ${srcs."dose3"} $sourceRoot/src_ext/dose3.tar.gz
|
||||
ln -sv ${srcs."dune-local"} $sourceRoot/src_ext/dune-local.tbz
|
||||
ln -sv ${srcs."extlib"} $sourceRoot/src_ext/extlib.tar.gz
|
||||
ln -sv ${srcs."mccs"} $sourceRoot/src_ext/mccs.tar.gz
|
||||
ln -sv ${srcs."ocamlgraph"} $sourceRoot/src_ext/ocamlgraph.tbz
|
||||
ln -sv ${srcs."opam-0install-cudf"} $sourceRoot/src_ext/opam-0install-cudf.tbz
|
||||
ln -sv ${srcs."opam-file-format"} $sourceRoot/src_ext/opam-file-format.tar.gz
|
||||
ln -sv ${srcs."re"} $sourceRoot/src_ext/re.tbz
|
||||
ln -sv ${srcs."result"} $sourceRoot/src_ext/result.tbz
|
||||
ln -sv ${srcs."seq"} $sourceRoot/src_ext/seq.tar.gz
|
||||
ln -sv ${srcs."stdlib-shims"} $sourceRoot/src_ext/stdlib-shims.tbz
|
||||
'';
|
||||
|
||||
patches = [ ./opam-shebangs.patch ];
|
||||
@@ -118,4 +133,4 @@ in stdenv.mkDerivation {
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
# Generated by: ./opam.nix.pl -v 2.0.8 -p opam-shebangs.patch
|
||||
# Generated by: ./opam.nix.pl -v 2.1.0 -p opam-shebangs.patch
|
||||
|
||||
@@ -2,7 +2,7 @@ diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml
|
||||
index eca13a7c..1fd66f43 100644
|
||||
--- a/src/client/opamInitDefaults.ml
|
||||
+++ b/src/client/opamInitDefaults.ml
|
||||
@@ -35,11 +35,15 @@ let eval_variables = [
|
||||
@@ -35,14 +35,18 @@ let eval_variables = [
|
||||
let os_filter os =
|
||||
FOp (FIdent ([], OpamVariable.of_string "os", None), `Eq, FString os)
|
||||
|
||||
@@ -13,6 +13,9 @@ index eca13a7c..1fd66f43 100644
|
||||
let macos_filter = os_filter "macos"
|
||||
let openbsd_filter = os_filter "openbsd"
|
||||
let freebsd_filter = os_filter "freebsd"
|
||||
let not_open_free_bsd_filter =
|
||||
FNot (FOr (openbsd_filter, freebsd_filter))
|
||||
let win32_filter = os_filter "win32"
|
||||
let sandbox_filter = FOr (linux_filter, macos_filter)
|
||||
+let nixos_filter = os_distribution_filter "nixos"
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ for my $src (sort keys %urls) {
|
||||
system "echo \Q$md5s{$src}\E' *'\Q$store_path\E | md5sum -c 1>&2";
|
||||
die "md5 check failed for $urls{$src}\n" if $?;
|
||||
print <<"EOF";
|
||||
$src = fetchurl {
|
||||
"$src" = fetchurl {
|
||||
url = "$urls{$src}";
|
||||
sha256 = "$sha256";
|
||||
};
|
||||
@@ -68,8 +68,8 @@ in stdenv.mkDerivation {
|
||||
pname = "opam";
|
||||
version = "$OPAM_RELEASE";
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
|
||||
|
||||
src = srcs.opam;
|
||||
|
||||
@@ -79,7 +79,7 @@ for my $src (sort keys %urls) {
|
||||
my($ext) = $urls{$src} =~ /(\.(?:t(?:ar\.|)|)(?:gz|bz2?))$/
|
||||
or die "could not find extension for $urls{$src}\n";
|
||||
print <<"EOF";
|
||||
ln -sv \${srcs.$src} \$sourceRoot/src_ext/$src$ext
|
||||
ln -sv \${srcs."$src"} \$sourceRoot/src_ext/$src$ext
|
||||
EOF
|
||||
}
|
||||
print <<'EOF';
|
||||
|
||||
@@ -52,8 +52,8 @@ let
|
||||
};
|
||||
"0.47.05" = {
|
||||
twbtRelease = "6.xx";
|
||||
dfhackRelease = "0.47.05-beta1";
|
||||
sha256 = "sha256-Y6G0qBMHvotp/oyiqANlzXZVklL270dhskd135PnE9Q=";
|
||||
dfhackRelease = "0.47.05-r1";
|
||||
sha256 = "1nqhaf7271bm9rq9dmilhhk9q7v3841d0rv4y3fid40vfi4gpi3p";
|
||||
prerelease = true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,23 +1,39 @@
|
||||
{ lib, stdenv, fetchFromGitHub, makeWrapper, qt4, util-linux, coreutils, which, qmake4Hook
|
||||
, p7zip, mtools, syslinux }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, coreutils
|
||||
, fetchFromGitHub
|
||||
, libsForQt5
|
||||
, mtools
|
||||
, p7zip
|
||||
, qt5
|
||||
, syslinux
|
||||
, util-linux
|
||||
, which
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unetbootin";
|
||||
version = "681";
|
||||
version = "702";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unetbootin";
|
||||
repo = "unetbootin";
|
||||
rev = version;
|
||||
sha256 = "0ppqb7ywh4cpcjr5nw6f65dx4s8kx09gnhihnby3zjhxdf4l99fm";
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-psX15XicPXAsd36BhuvK0G3GQS8hV/hazzO0HByCqV4=";
|
||||
};
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$(echo */src/unetbootin)
|
||||
'';
|
||||
|
||||
buildInputs = [ qt4 ];
|
||||
nativeBuildInputs = [ makeWrapper qmake4Hook ];
|
||||
buildInputs = [
|
||||
qt5.qtbase
|
||||
qt5.qttools
|
||||
libsForQt5.qmake
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Lots of nice hard-coded paths...
|
||||
@@ -50,18 +66,19 @@ stdenv.mkDerivation rec {
|
||||
install -Dm644 -t $out/share/unetbootin unetbootin_*.qm
|
||||
install -Dm644 -t $out/share/applications unetbootin.desktop
|
||||
|
||||
wrapProgram $out/bin/unetbootin \
|
||||
--prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]} \
|
||||
--set QT_X11_NO_MITSHM 1
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]}"
|
||||
"--set QT_X11_NO_MITSHM 1"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://unetbootin.sourceforge.net/";
|
||||
description = "A tool to create bootable live USB drives from ISO images";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
homepage = "http://unetbootin.github.io/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ebzzry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ lib, fetchurl, appimageTools }:
|
||||
let
|
||||
name = "vial-${version}";
|
||||
version = "0.4";
|
||||
version = "0.4.1";
|
||||
pname = "Vial";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
|
||||
sha256 = "sha256-4EDEVSqjQ6Ybqx4BoNwE4pT5yFLYM05FBHc5deQU9f8=";
|
||||
sha256 = "sha256-aN0wvgahWPNSXP/JmV1JWaEnARIOTyRdz1ko6eC7Y5s=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||
@@ -26,7 +26,7 @@ appimageTools.wrapType2 {
|
||||
meta = with lib; {
|
||||
description = "An Open-source cross-platform (Windows, Linux and Mac) GUI and a QMK fork for configuring your keyboard in real time";
|
||||
homepage = "https://get.vial.today";
|
||||
license = licenses.gpl2Only;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ kranzes ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
@@ -7,16 +7,25 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ghostunnel";
|
||||
version = "1.5.3";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghostunnel";
|
||||
repo = "ghostunnel";
|
||||
rev = "v${version}";
|
||||
sha256 = "15rmd89j7sfpznzznss899smizbyshprsrvsdmrbhb617myd9fpy";
|
||||
sha256 = "sha256-EE8gCm/gOp3lmCx1q4PahulipLoBZnEatNAVUXzHIVw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "1i95fx4a0fh6id6iy6afbva4pazr7ym6sbwi9r7la6gxzyncd023";
|
||||
vendorSha256 = "sha256-XgmvqB1PCfL2gSDqwqauSixk8vlINHRmX6U0h9EXXdU=";
|
||||
|
||||
deleteVendor = true;
|
||||
|
||||
# The certstore directory isn't recognized as a subpackage, but is when moved
|
||||
# into the vendor directory.
|
||||
postUnpack = ''
|
||||
mkdir -p $sourceRoot/vendor/ghostunnel
|
||||
mv $sourceRoot/certstore $sourceRoot/vendor/ghostunnel/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple TLS proxy with mutual authentication support for securing non-TLS backend applications";
|
||||
@@ -26,4 +35,5 @@ buildGoModule rec {
|
||||
};
|
||||
|
||||
passthru.tests.nixos = nixosTests.ghostunnel;
|
||||
passthru.tests.podman = nixosTests.podman-tls-ghostunnel;
|
||||
}
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
{ lib, python3Packages }:
|
||||
|
||||
let
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "rst2html5";
|
||||
version = "1.10.6";
|
||||
format = "wheel";
|
||||
in python3Packages.buildPythonPackage {
|
||||
inherit pname version format;
|
||||
version = "2.0";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version format;
|
||||
sha256 = "sha256-jmToDFLQODqgTycBp2J8LyoJ1Zxho9w1VdhFMzvDFkg=";
|
||||
inherit pname version;
|
||||
hash = "sha256-Ejjja/fm6wXTf9YtjCYZsNDB8X5oAtyPoUIsYFDuZfc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages;
|
||||
[ docutils genshi pygments beautifulsoup4 ];
|
||||
buildInputs = with python3Packages; [
|
||||
beautifulsoup4
|
||||
docutils
|
||||
genshi
|
||||
pygments
|
||||
];
|
||||
|
||||
meta = with lib;{
|
||||
homepage = "https://pypi.org/project/rst2html5/";
|
||||
homepage = "https://rst2html5.readthedocs.io/en/latest/";
|
||||
description = "Converts ReSTructuredText to (X)HTML5";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
|
||||
@@ -16295,13 +16295,13 @@ in
|
||||
libcacard = callPackage ../development/libraries/libcacard { };
|
||||
|
||||
libcanberra = callPackage ../development/libraries/libcanberra {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
||||
inherit (darwin.apple_sdk.frameworks) Carbon CoreServices;
|
||||
};
|
||||
libcanberra-gtk2 = pkgs.libcanberra.override {
|
||||
gtk = gtk2-x11;
|
||||
gtkSupport = "gtk2";
|
||||
};
|
||||
libcanberra-gtk3 = pkgs.libcanberra.override {
|
||||
gtk = gtk3-x11;
|
||||
gtkSupport = "gtk3";
|
||||
};
|
||||
|
||||
libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true)
|
||||
|
||||
Reference in New Issue
Block a user