diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 0bd789b59113..1bb98efafd2d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix
new file mode 100644
index 000000000000..f1806c5af0a9
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/litestream/default.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 documentation.
+ '';
+ 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
+ systemd.exec5
+ .
+
+ 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.
+
+
+ # Content of the environment file
+ LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
+ LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
+
+
+ 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;
+}
diff --git a/nixos/modules/services/network-filesystems/litestream/litestream.xml b/nixos/modules/services/network-filesystems/litestream/litestream.xml
new file mode 100644
index 000000000000..598f9be8cf63
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/litestream/litestream.xml
@@ -0,0 +1,65 @@
+
+ Litestream
+
+ Litestream is a standalone streaming
+ replication tool for SQLite.
+
+
+
+ Configuration
+
+
+ Litestream service is managed by a dedicated user named litestream
+ which needs permission to the database file. Here's an example config which gives
+ required permissions to access
+ grafana database:
+
+{ 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";
+ }];
+ }
+ ];
+ };
+ };
+}
+
+
+
+
+
diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix
new file mode 100644
index 000000000000..16cfb29cf572
--- /dev/null
+++ b/nixos/modules/services/web-apps/node-red.nix
@@ -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
+ 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"; })
+ ];
+ };
+ };
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index ae2aff2226b3..fdda6ed24205 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -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 {};
diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix
new file mode 100644
index 000000000000..886fbfef9cf5
--- /dev/null
+++ b/nixos/tests/litestream.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"
+ )
+ '';
+})
diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix
new file mode 100644
index 000000000000..bcfc17cf3328
--- /dev/null
+++ b/nixos/tests/mpv.nix
@@ -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 "
simple-mpv-webui" in machine.succeed("curl -s localhost:${port}")
+ '';
+})
diff --git a/nixos/tests/node-red.nix b/nixos/tests/node-red.nix
new file mode 100644
index 000000000000..7660bc32f4c9
--- /dev/null
+++ b/nixos/tests/node-red.nix
@@ -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 "Node-RED" in client.succeed(
+ "curl -sSf http:/nodered:1880/ | grep title"
+ )
+ '';
+})
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 07e0a62b901b..85a644e5f1b9 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -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
diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix
index f9c04fedfdd9..37c4abb37646 100644
--- a/pkgs/applications/misc/freeplane/default.nix
+++ b/pkgs/applications/misc/freeplane/default.nix
@@ -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
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
index 375b802d5c16..933f352e5e86 100644
--- a/pkgs/applications/misc/yambar/default.nix
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -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 ];
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index 6e3ef93ec771..1fce1a6b6e52 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -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";
};
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index ba0c2530849a..4f83f957dbf7 100644
--- a/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -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 = ''
diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
index 99b731757ff9..01f2c3a099fa 100644
--- a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
+++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
@@ -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
diff --git a/pkgs/desktops/arcan/arcan.nix b/pkgs/desktops/arcan/arcan.nix
index c6a57ecc3bda..6cd31001fa76 100644
--- a/pkgs/desktops/arcan/arcan.nix
+++ b/pkgs/desktops/arcan/arcan.nix
@@ -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 = ''
diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/desktops/arcan/wrapper.nix
index 4368b0ad3a59..e394e2e08976 100644
--- a/pkgs/desktops/arcan/wrapper.nix
+++ b/pkgs/desktops/arcan/wrapper.nix
@@ -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
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index 3978c05f2c71..0cd2f79ea552 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -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 = {
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index 5d4bca0f1b9f..92f05b8cd303 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -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
- broken = stdenv.isDarwin;
+ broken = stdenv.isDarwin && (gtkSupport == "gtk3");
};
}
diff --git a/pkgs/development/libraries/zchunk/default.nix b/pkgs/development/libraries/zchunk/default.nix
index cf0063f7780d..ddbd95b55d96 100644
--- a/pkgs/development/libraries/zchunk/default.nix
+++ b/pkgs/development/libraries/zchunk/default.nix
@@ -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";
diff --git a/pkgs/development/ocaml-modules/opam-repository/download-tool.patch b/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
index 5af720adca91..9cc5f43f34f1 100644
--- a/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
+++ b/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
@@ -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;
diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix
index 83c74925b8cd..8d75a1b11ee5 100644
--- a/pkgs/development/python-modules/aioambient/default.nix
+++ b/pkgs/development/python-modules/aioambient/default.nix
@@ -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/" ];
diff --git a/pkgs/development/python-modules/bitstring/default.nix b/pkgs/development/python-modules/bitstring/default.nix
index ed67f2be5c5f..52bc9bae865b 100644
--- a/pkgs/development/python-modules/bitstring/default.nix
+++ b/pkgs/development/python-modules/bitstring/default.nix
@@ -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";
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 67c9c7a1abd0..97a969abf16f 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -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 = [
diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix
index a7981feb2055..35632e780e7e 100644
--- a/pkgs/development/python-modules/motioneye-client/default.nix
+++ b/pkgs/development/python-modules/motioneye-client/default.nix
@@ -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 = [
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index c145b9d888f4..44460a21d5b9 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -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" ];
diff --git a/pkgs/development/python-modules/neo/default.nix b/pkgs/development/python-modules/neo/default.nix
index e5db8450e788..27da5b71b68b 100644
--- a/pkgs/development/python-modules/neo/default.nix
+++ b/pkgs/development/python-modules/neo/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index db18611f20aa..07efa604cad0 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -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" ];
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index fa869c5d75d9..6d2a4cac36b3 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -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 = [
diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix
index 35fbb624e6b7..627e2b0a6fae 100644
--- a/pkgs/development/python-modules/pipdate/default.nix
+++ b/pkgs/development/python-modules/pipdate/default.nix
@@ -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 ];
};
}
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index d2e04586e382..2df3e3a17c84 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -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; {
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index b0ea3fdcb24a..797657a28c5c 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -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
];
diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix
index 4f04038d6507..f538830a7fbe 100644
--- a/pkgs/development/python-modules/pysma/default.nix
+++ b/pkgs/development/python-modules/pysma/default.nix
@@ -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 = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 9b3875822527..ff58edbeb313 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -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
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index e87c8aca40eb..c077265bf632 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -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.
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 2dc5c4e77c85..9b3a92fecc46 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -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 ];
diff --git a/pkgs/development/tools/ocaml/dune-release/default.nix b/pkgs/development/tools/ocaml/dune-release/default.nix
index 60a9bfba58fe..4e0f8d80f780 100644
--- a/pkgs/development/tools/ocaml/dune-release/default.nix
+++ b/pkgs/development/tools/ocaml/dune-release/default.nix
@@ -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
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index bd33d4cc1d34..eb0d284c0821 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -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
diff --git a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch b/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
index 13aa7a895708..72efec0a9105 100644
--- a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
+++ b/pkgs/development/tools/ocaml/opam/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"
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index bfaea0c7ef30..c914bac8b5c6 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -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';
diff --git a/pkgs/games/dwarf-fortress/twbt/default.nix b/pkgs/games/dwarf-fortress/twbt/default.nix
index 7882cf06a074..7d2816d97a4a 100644
--- a/pkgs/games/dwarf-fortress/twbt/default.nix
+++ b/pkgs/games/dwarf-fortress/twbt/default.nix
@@ -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;
};
};
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 71a0a763285a..f80f60608470 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -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;
};
}
diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix
index c8d38d826d1f..5685141e4465 100644
--- a/pkgs/tools/misc/vial/default.nix
+++ b/pkgs/tools/misc/vial/default.nix
@@ -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" ];
};
diff --git a/pkgs/tools/networking/ghostunnel/default.nix b/pkgs/tools/networking/ghostunnel/default.nix
index 5d00b493bc37..c5b7d3db0f1b 100644
--- a/pkgs/tools/networking/ghostunnel/default.nix
+++ b/pkgs/tools/networking/ghostunnel/default.nix
@@ -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;
}
diff --git a/pkgs/tools/text/rst2html5/default.nix b/pkgs/tools/text/rst2html5/default.nix
index c9e8b0469869..5ae0caa34e13 100644
--- a/pkgs/tools/text/rst2html5/default.nix
+++ b/pkgs/tools/text/rst2html5/default.nix
@@ -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 ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cd9ff3160def..8eb8cbb26e86 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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)