Merge master into staging-next
This commit is contained in:
commit
9fe75f18c0
|
@ -560,6 +560,22 @@
|
||||||
<literal>claws-mail-gtk2</literal> package.
|
<literal>claws-mail-gtk2</literal> package.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The wordpress module provides a new interface which allows to
|
||||||
|
use different webservers with the new option
|
||||||
|
<link xlink:href="options.html#opt-services.wordpress.webserver"><literal>services.wordpress.webserver</literal></link>.
|
||||||
|
Currently <literal>httpd</literal> and
|
||||||
|
<literal>nginx</literal> are supported. The definitions of
|
||||||
|
wordpress sites should now be set in
|
||||||
|
<link xlink:href="options.html#opt-services.wordpress.sites"><literal>services.wordpress.sites</literal></link>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Sites definitions that use the old interface are automatically
|
||||||
|
migrated in the new option. This backward compatibility will
|
||||||
|
be removed in 22.05.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -139,3 +139,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
- `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information.
|
- `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information.
|
||||||
|
|
||||||
- The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
|
- The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
|
||||||
|
|
||||||
|
- The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).
|
||||||
|
|
||||||
|
Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05.
|
||||||
|
|
|
@ -3,13 +3,18 @@
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
|
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
|
||||||
inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
|
inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
|
||||||
inherit (lib) mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
|
inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
|
||||||
|
|
||||||
eachSite = config.services.wordpress;
|
cfg = migrateOldAttrs config.services.wordpress;
|
||||||
|
eachSite = cfg.sites;
|
||||||
user = "wordpress";
|
user = "wordpress";
|
||||||
group = config.services.httpd.group;
|
webserver = config.services.${cfg.webserver};
|
||||||
stateDir = hostName: "/var/lib/wordpress/${hostName}";
|
stateDir = hostName: "/var/lib/wordpress/${hostName}";
|
||||||
|
|
||||||
|
# Migrate config.services.wordpress.<hostName> to config.services.wordpress.sites.<hostName>
|
||||||
|
oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
|
||||||
|
migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
|
||||||
|
|
||||||
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
|
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
|
||||||
pname = "wordpress-${hostName}";
|
pname = "wordpress-${hostName}";
|
||||||
version = src.version;
|
version = src.version;
|
||||||
|
@ -261,21 +266,48 @@ in
|
||||||
# interface
|
# interface
|
||||||
options = {
|
options = {
|
||||||
services.wordpress = mkOption {
|
services.wordpress = mkOption {
|
||||||
|
type = types.submodule {
|
||||||
|
# Used to support old interface
|
||||||
|
freeformType = types.attrsOf (types.submodule siteOpts);
|
||||||
|
|
||||||
|
# New interface
|
||||||
|
options.sites = mkOption {
|
||||||
type = types.attrsOf (types.submodule siteOpts);
|
type = types.attrsOf (types.submodule siteOpts);
|
||||||
default = {};
|
default = {};
|
||||||
description = "Specification of one or more WordPress sites to serve via Apache.";
|
description = "Specification of one or more WordPress sites to serve";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
options.webserver = mkOption {
|
||||||
|
type = types.enum [ "httpd" "nginx" ];
|
||||||
|
default = "httpd";
|
||||||
|
description = ''
|
||||||
|
Whether to use apache2 or nginx for virtual host management.
|
||||||
|
|
||||||
|
Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.<name></literal>.
|
||||||
|
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
|
||||||
|
|
||||||
|
Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.<name></literal>.
|
||||||
|
See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = {};
|
||||||
|
description = "Wordpress configuration";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# implementation
|
# implementation
|
||||||
config = mkIf (eachSite != {}) {
|
config = mkIf (eachSite != {}) (mkMerge [{
|
||||||
|
|
||||||
assertions = mapAttrsToList (hostName: cfg:
|
assertions = mapAttrsToList (hostName: cfg:
|
||||||
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
|
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
|
||||||
message = "services.wordpress.${hostName}.database.user must be ${user} if the database is to be automatically provisioned";
|
message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
|
||||||
}
|
}
|
||||||
) eachSite;
|
) eachSite;
|
||||||
|
|
||||||
|
warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg);
|
||||||
|
|
||||||
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
|
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mkDefault pkgs.mariadb;
|
package = mkDefault pkgs.mariadb;
|
||||||
|
@ -289,14 +321,18 @@ in
|
||||||
|
|
||||||
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
|
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
|
||||||
nameValuePair "wordpress-${hostName}" {
|
nameValuePair "wordpress-${hostName}" {
|
||||||
inherit user group;
|
inherit user;
|
||||||
|
group = webserver.group;
|
||||||
settings = {
|
settings = {
|
||||||
"listen.owner" = config.services.httpd.user;
|
"listen.owner" = webserver.user;
|
||||||
"listen.group" = config.services.httpd.group;
|
"listen.group" = webserver.group;
|
||||||
} // cfg.poolConfig;
|
} // cfg.poolConfig;
|
||||||
}
|
}
|
||||||
)) eachSite;
|
)) eachSite;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
(mkIf (cfg.webserver == "httpd") {
|
||||||
services.httpd = {
|
services.httpd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraModules = [ "proxy_fcgi" ];
|
extraModules = [ "proxy_fcgi" ];
|
||||||
|
@ -332,11 +368,13 @@ in
|
||||||
'';
|
'';
|
||||||
} ]) eachSite;
|
} ]) eachSite;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
|
||||||
|
{
|
||||||
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
|
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
|
||||||
"d '${stateDir hostName}' 0750 ${user} ${group} - -"
|
"d '${stateDir hostName}' 0750 ${user} ${webserver.group} - -"
|
||||||
"d '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
|
"d '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||||
"Z '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
|
"Z '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||||
]) eachSite);
|
]) eachSite);
|
||||||
|
|
||||||
systemd.services = mkMerge [
|
systemd.services = mkMerge [
|
||||||
|
@ -350,7 +388,7 @@ in
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = user;
|
User = user;
|
||||||
Group = group;
|
Group = webserver.group;
|
||||||
};
|
};
|
||||||
})) eachSite)
|
})) eachSite)
|
||||||
|
|
||||||
|
@ -360,9 +398,65 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.${user} = {
|
users.users.${user} = {
|
||||||
group = group;
|
group = webserver.group;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
};
|
|
||||||
|
(mkIf (cfg.webserver == "nginx") {
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts = mapAttrs (hostName: cfg: {
|
||||||
|
serverName = mkDefault hostName;
|
||||||
|
root = "${pkg hostName cfg}/share/wordpress";
|
||||||
|
extraConfig = ''
|
||||||
|
index index.php;
|
||||||
|
'';
|
||||||
|
locations = {
|
||||||
|
"/" = {
|
||||||
|
priority = 200;
|
||||||
|
extraConfig = ''
|
||||||
|
try_files $uri $uri/ /index.php$is_args$args;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"~ \\.php$" = {
|
||||||
|
priority = 500;
|
||||||
|
extraConfig = ''
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
fastcgi_pass unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket};
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include "${config.services.nginx.package}/conf/fastcgi.conf";
|
||||||
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
|
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
|
||||||
|
# Mitigate https://httpoxy.org/ vulnerabilities
|
||||||
|
fastcgi_param HTTP_PROXY "";
|
||||||
|
fastcgi_intercept_errors off;
|
||||||
|
fastcgi_buffer_size 16k;
|
||||||
|
fastcgi_buffers 4 16k;
|
||||||
|
fastcgi_connect_timeout 300;
|
||||||
|
fastcgi_send_timeout 300;
|
||||||
|
fastcgi_read_timeout 300;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"~ /\\." = {
|
||||||
|
priority = 800;
|
||||||
|
extraConfig = "deny all;";
|
||||||
|
};
|
||||||
|
"~* /(?:uploads|files)/.*\\.php$" = {
|
||||||
|
priority = 900;
|
||||||
|
extraConfig = "deny all;";
|
||||||
|
};
|
||||||
|
"~* \\.(js|css|png|jpg|jpeg|gif|ico)$" = {
|
||||||
|
priority = 1000;
|
||||||
|
extraConfig = ''
|
||||||
|
expires max;
|
||||||
|
log_not_found off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}) eachSite;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,46 +10,66 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
machine =
|
nodes = {
|
||||||
{ ... }:
|
wp_httpd = { ... }: {
|
||||||
{ services.httpd.adminAddr = "webmaster@site.local";
|
services.httpd.adminAddr = "webmaster@site.local";
|
||||||
services.httpd.logPerVirtualHost = true;
|
services.httpd.logPerVirtualHost = true;
|
||||||
|
|
||||||
services.wordpress."site1.local" = {
|
services.wordpress = {
|
||||||
|
# Test support for old interface
|
||||||
|
"site1.local" = {
|
||||||
database.tablePrefix = "site1_";
|
database.tablePrefix = "site1_";
|
||||||
};
|
};
|
||||||
|
sites = {
|
||||||
services.wordpress."site2.local" = {
|
"site2.local" = {
|
||||||
database.tablePrefix = "site2_";
|
database.tablePrefix = "site2_";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wp_nginx = { ... }: {
|
||||||
|
services.wordpress.webserver = "nginx";
|
||||||
|
services.wordpress.sites = {
|
||||||
|
"site1.local" = {
|
||||||
|
database.tablePrefix = "site1_";
|
||||||
|
};
|
||||||
|
"site2.local" = {
|
||||||
|
database.tablePrefix = "site2_";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
import re
|
import re
|
||||||
|
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
machine.wait_for_unit("httpd")
|
wp_httpd.wait_for_unit("httpd")
|
||||||
|
wp_nginx.wait_for_unit("nginx")
|
||||||
machine.wait_for_unit("phpfpm-wordpress-site1.local")
|
|
||||||
machine.wait_for_unit("phpfpm-wordpress-site2.local")
|
|
||||||
|
|
||||||
site_names = ["site1.local", "site2.local"]
|
site_names = ["site1.local", "site2.local"]
|
||||||
|
|
||||||
with subtest("website returns welcome screen"):
|
for machine in (wp_httpd, wp_nginx):
|
||||||
for site_name in site_names:
|
for site_name in site_names:
|
||||||
assert "Welcome to the famous" in machine.succeed(f"curl -fL {site_name}")
|
machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
|
||||||
|
|
||||||
|
with subtest("website returns welcome screen"):
|
||||||
|
assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}")
|
||||||
|
|
||||||
with subtest("wordpress-init went through"):
|
with subtest("wordpress-init went through"):
|
||||||
for site_name in site_names:
|
|
||||||
info = machine.get_unit_info(f"wordpress-init-{site_name}")
|
info = machine.get_unit_info(f"wordpress-init-{site_name}")
|
||||||
assert info["Result"] == "success"
|
assert info["Result"] == "success"
|
||||||
|
|
||||||
with subtest("secret keys are set"):
|
with subtest("secret keys are set"):
|
||||||
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
|
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
|
||||||
for site_name in site_names:
|
|
||||||
assert pattern.search(
|
assert pattern.search(
|
||||||
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
|
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"stable": {
|
"stable": {
|
||||||
"version": "91.0.4472.114",
|
"version": "91.0.4472.164",
|
||||||
"sha256": "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1",
|
"sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
|
||||||
"sha256bin64": "00ac1dyqxpxy1j11jvc5j35bgc629n2f2pll3912gzih4ir0vrys",
|
"sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-04-06",
|
"version": "2021-04-06",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -32,10 +32,10 @@ rec {
|
||||||
|
|
||||||
firefox-esr-78 = common rec {
|
firefox-esr-78 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
ffversion = "78.11.0esr";
|
ffversion = "78.12.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||||
sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4";
|
sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -36,9 +36,9 @@ appimageTools.wrapType2 {
|
||||||
git
|
git
|
||||||
glib
|
glib
|
||||||
glibc
|
glibc
|
||||||
gnome.gdk_pixbuf
|
gdk-pixbuf
|
||||||
gnome.gtk
|
gtk3
|
||||||
gnome.gtk.dev
|
gtk3.dev
|
||||||
gnome.zenity
|
gnome.zenity
|
||||||
gnome2.GConf
|
gnome2.GConf
|
||||||
gnumake
|
gnumake
|
||||||
|
@ -48,7 +48,7 @@ appimageTools.wrapType2 {
|
||||||
gtk3.dev
|
gtk3.dev
|
||||||
gtk3-x11
|
gtk3-x11
|
||||||
gtk3-x11.dev
|
gtk3-x11.dev
|
||||||
kdialog
|
plasma5Packages.kdialog
|
||||||
libappindicator-gtk2.out
|
libappindicator-gtk2.out
|
||||||
libexif
|
libexif
|
||||||
(libjpeg.override { enableJpeg8 = true; }).out
|
(libjpeg.override { enableJpeg8 = true; }).out
|
||||||
|
@ -70,12 +70,12 @@ appimageTools.wrapType2 {
|
||||||
sqlite.dev
|
sqlite.dev
|
||||||
udev
|
udev
|
||||||
unzip
|
unzip
|
||||||
utillinux
|
util-linux
|
||||||
watch
|
watch
|
||||||
wget
|
wget
|
||||||
which
|
which
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
xdg_utils
|
xdg-utils
|
||||||
xorg.libX11
|
xorg.libX11
|
||||||
xorg.libXau
|
xorg.libXau
|
||||||
xorg.libXaw
|
xorg.libXaw
|
||||||
|
|
|
@ -16,12 +16,12 @@ with lib;
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "gitea";
|
pname = "gitea";
|
||||||
version = "1.14.4";
|
version = "1.14.5";
|
||||||
|
|
||||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
||||||
sha256 = "sha256-sl/Vml8QmwZEAd2PIYWQcP7s6NYeomGJQGKhRiddtoo=";
|
sha256 = "sha256-8nwLVpe/5IjXJqO179lN80B/3WGUL3LKM8OWdh/bYOE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
|
|
@ -312,7 +312,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
|
|
||||||
# added 2019-02-08
|
# added 2019-02-08
|
||||||
inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
|
inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
|
||||||
libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4
|
libgtop libgudev libhttpseverywhere librsvg libsecret gdk-pixbuf gtksourceview gtksourceviewmm gtksourceview4
|
||||||
easytag meld orca rhythmbox shotwell gnome-usage
|
easytag meld orca rhythmbox shotwell gnome-usage
|
||||||
clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
|
clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
|
||||||
inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
|
inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
|
||||||
|
|
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
configureFlags = lib.optional stdenv.targetPlatform.isWindows "--disable-examples";
|
configureFlags = lib.optional (stdenv.targetPlatform.isWindows || stdenv.hostPlatform.isStatic) "--disable-examples";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://www.hyperrealm.com/libconfig";
|
homepage = "http://www.hyperrealm.com/libconfig";
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitLab
|
||||||
|
, buildDunePackage
|
||||||
|
, gmp
|
||||||
|
, dune-configurator
|
||||||
|
, cstruct
|
||||||
|
, bigstring
|
||||||
|
, alcotest
|
||||||
|
, hex
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "secp256k1-internal";
|
||||||
|
version = "0.2";
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
owner = "nomadic-labs";
|
||||||
|
repo = "ocaml-secp256k1-internal";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1g9fyi78nmmm19l2cggwj14m4n80rz7gmnh1gq376zids71s6qxv";
|
||||||
|
};
|
||||||
|
|
||||||
|
useDune2 = true;
|
||||||
|
|
||||||
|
minimalOCamlVersion = "4.08";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
gmp
|
||||||
|
cstruct
|
||||||
|
bigstring
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
dune-configurator
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
alcotest
|
||||||
|
hex
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Bindings to secp256k1 internal functions (generic operations on the curve)";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = [ lib.maintainers.ulrikstrid ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "adafruit-platformdetect";
|
pname = "adafruit-platformdetect";
|
||||||
version = "3.14.2";
|
version = "3.15.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "Adafruit-PlatformDetect";
|
pname = "Adafruit-PlatformDetect";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "sha256-SFqSTNKZMETRf9RxSD6skzAVpxepmW+JG/gqZgFX06A=";
|
sha256 = "sha256-aUYerhg5iqKsZ5SW3dI6EpFnaB7dRGjXpIDVsjwS7vY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
|
|
38
pkgs/development/python-modules/opensimplex/default.nix
Normal file
38
pkgs/development/python-modules/opensimplex/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, autopep8
|
||||||
|
, nose
|
||||||
|
, pycodestyle
|
||||||
|
, twine
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "opensimplex";
|
||||||
|
version = "0.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "lmas";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ autopep8 nose pycodestyle twine ];
|
||||||
|
checkPhase = ''
|
||||||
|
nosetests tests/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "OpenSimplex Noise functions for 2D, 3D and 4D";
|
||||||
|
longDescription = ''
|
||||||
|
OpenSimplex noise is an n-dimensional gradient noise function that was
|
||||||
|
developed in order to overcome the patent-related issues surrounding
|
||||||
|
Simplex noise, while continuing to also avoid the visually-significant
|
||||||
|
directional artifacts characteristic of Perlin noise.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/lmas/opensimplex";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = with maintainers; [ angustrau ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, appdirs
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, defusedxml
|
, defusedxml
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
@ -17,13 +18,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytenable";
|
pname = "pytenable";
|
||||||
version = "1.3.1";
|
version = "1.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tenable";
|
owner = "tenable";
|
||||||
repo = "pyTenable";
|
repo = "pyTenable";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-9qkNQ3+yDplPHIXDwlghpJP1f+UoDYObWpPhl6UVtHU=";
|
sha256 = "sha256-S39rl8bJsxYAmTcaZk9+s9G45lOvREjlGVBk1m30tJo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -31,6 +32,7 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
appdirs
|
||||||
defusedxml
|
defusedxml
|
||||||
marshmallow
|
marshmallow
|
||||||
python-box
|
python-box
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
, python-lsp-jsonrpc
|
, python-lsp-jsonrpc
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, rope
|
, rope
|
||||||
|
, setuptools
|
||||||
, ujson
|
, ujson
|
||||||
, yapf
|
, yapf
|
||||||
}:
|
}:
|
||||||
|
@ -47,6 +48,7 @@ buildPythonPackage rec {
|
||||||
pylint
|
pylint
|
||||||
python-lsp-jsonrpc
|
python-lsp-jsonrpc
|
||||||
rope
|
rope
|
||||||
|
setuptools
|
||||||
ujson
|
ujson
|
||||||
yapf
|
yapf
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,9 +11,7 @@
|
||||||
, isPy3k
|
, isPy3k
|
||||||
, psutil
|
, psutil
|
||||||
, pytest-asyncio
|
, pytest-asyncio
|
||||||
, pytest-cov
|
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pytestrunner
|
|
||||||
, sqlalchemy
|
, sqlalchemy
|
||||||
, websocket-client
|
, websocket-client
|
||||||
, websockets
|
, websockets
|
||||||
|
@ -21,14 +19,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "slack-sdk";
|
pname = "slack-sdk";
|
||||||
version = "3.7.0";
|
version = "3.8.0";
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "slackapi";
|
owner = "slackapi";
|
||||||
repo = "python-slack-sdk";
|
repo = "python-slack-sdk";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0bc52v5n8r3b2fy1c90w253r1abl752kaqdk6bgzkwsvbhgcxf2s";
|
sha256 = "sha256-r3GgcU4K2jj+4aIytpY2HiVqHzChynn2BCn1VNTL2t0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -47,20 +45,23 @@ buildPythonPackage rec {
|
||||||
flask-sockets
|
flask-sockets
|
||||||
psutil
|
psutil
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
pytest-cov
|
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
pytestrunner
|
|
||||||
];
|
];
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$(mktemp -d)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
# Exclude tests that requires network features
|
# Exclude tests that requires network features
|
||||||
pytestFlagsArray = [ "--ignore=integration_tests" ];
|
"integration_tests"
|
||||||
|
];
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
|
# Requires network features
|
||||||
"test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
|
"test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
|
||||||
"test_org_installation"
|
"test_org_installation"
|
||||||
|
"test_interactions"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "slack_sdk" ];
|
pythonImportsCheck = [ "slack_sdk" ];
|
||||||
|
|
|
@ -5,7 +5,7 @@ let
|
||||||
in appimageTools.wrapType2 rec {
|
in appimageTools.wrapType2 rec {
|
||||||
name = "unityhub";
|
name = "unityhub";
|
||||||
|
|
||||||
extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk_pixbuf glib libGL libGLU nss nspr
|
extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
|
||||||
alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
|
alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
|
||||||
cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
|
cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
|
||||||
libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
|
libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, python, kernel, makeWrapper, writeText
|
{ stdenv, lib, python2, python3, kernel, makeWrapper, writeText
|
||||||
, gawk, iproute2 }:
|
, gawk, iproute2 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -9,6 +9,7 @@ let
|
||||||
inherit (kernel) src version;
|
inherit (kernel) src version;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [ (if lib.versionOlder version "4.19" then python2 else python3) ];
|
||||||
|
|
||||||
# as of 4.9 compilation will fail due to -Werror=format-security
|
# as of 4.9 compilation will fail due to -Werror=format-security
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
@ -33,10 +34,6 @@ let
|
||||||
install -Dm755 hv_get_dhcp_info.sh $out/${libexec}/hv_get_dhcp_info
|
install -Dm755 hv_get_dhcp_info.sh $out/${libexec}/hv_get_dhcp_info
|
||||||
install -Dm755 hv_get_dns_info.sh $out/${libexec}/hv_get_dns_info
|
install -Dm755 hv_get_dns_info.sh $out/${libexec}/hv_get_dns_info
|
||||||
|
|
||||||
# I don't know why this isn't being handled automatically by fixupPhase
|
|
||||||
substituteInPlace $out/bin/lsvmbus \
|
|
||||||
--replace '/usr/bin/env python' ${python.interpreter}
|
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -86,7 +83,7 @@ in stdenv.mkDerivation {
|
||||||
Wants=hv-fcopy.service hv-kvp.service hv-vss.service
|
Wants=hv-fcopy.service hv-kvp.service hv-vss.service
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
for f in $lib/lib/systemd/system/* ; do
|
for f in $lib/lib/systemd/system/*.service ; do
|
||||||
substituteInPlace $f --replace @out@ ${daemons}/bin
|
substituteInPlace $f --replace @out@ ${daemons}/bin
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "tailscale";
|
pname = "tailscale";
|
||||||
version = "1.10.1";
|
version = "1.10.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tailscale";
|
owner = "tailscale";
|
||||||
repo = "tailscale";
|
repo = "tailscale";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1s4qpz4jwar3lcqyzkgyvgm4bghzass974lq1pw4fziqlsblh0vm";
|
sha256 = "sha256-bAWQTdpqDF7ERQzNY1k0NtxdA9M9bIyfHtvX0nKfIQY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -1,25 +1,16 @@
|
||||||
{ lib, rustPlatform, fetchFromGitHub }:
|
{ lib, rustPlatform, fetchCrate }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "svgbob";
|
pname = "svgbob";
|
||||||
version = "0.4.2";
|
version = "0.5.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchCrate {
|
||||||
owner = "ivanceras";
|
inherit version;
|
||||||
repo = pname;
|
crateName = "svgbob_cli";
|
||||||
rev = "0febc4377134a2ea3b3cd43ebdf5ea688a0e7432";
|
sha256 = "1gi8h4wzpi477y1gwi4708pn2kr65934a4dmphbhwppxbw447qiw";
|
||||||
sha256 = "1n0w5b3fjgbczy1iw52172x1p3y1bvw1qpz77fkaxkhrkgfd7vwr";
|
|
||||||
};
|
};
|
||||||
sourceRoot = "source/svgbob_cli";
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace ../svgbob/src/lib.rs \
|
|
||||||
--replace '#![deny(warnings)]' ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
cargoSha256 = "1jyycr95gjginx6bzmay9b5dbpnbwdqbv13w1qy58znicsmh3v8a";
|
cargoSha256 = "1x8phpllwm12igaachghwq6wgxl7nl8bhh7xybfrmn447viwxhq2";
|
||||||
|
|
||||||
# Test tries to build outdated examples
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Convert your ascii diagram scribbles into happy little SVG";
|
description = "Convert your ascii diagram scribbles into happy little SVG";
|
||||||
|
|
43
pkgs/tools/networking/ookla-speedtest/default.nix
Normal file
43
pkgs/tools/networking/ookla-speedtest/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ lib, stdenv, fetchurl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "ookla-speedtest";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
srcs = {
|
||||||
|
x86_64-linux = fetchurl {
|
||||||
|
url = "https://install.speedtest.net/app/cli/${pname}-${version}-x86_64-linux.tgz";
|
||||||
|
sha256 = "sha256-X+ICjw1EJ+T0Ix2fnPcOZpG7iQpwY211Iy/k2XBjMWg=";
|
||||||
|
};
|
||||||
|
aarch64-linux = fetchurl {
|
||||||
|
url = "https://install.speedtest.net/app/cli/${pname}-${version}-aarch64-linux.tgz";
|
||||||
|
sha256 = "sha256-BzaE3DSQUIygGwTFhV4Ez9eX/tM/bqam7cJt+8b2qp4=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
inherit pname version;
|
||||||
|
|
||||||
|
src = srcs.${stdenv.hostPlatform.system};
|
||||||
|
|
||||||
|
setSourceRoot = ''
|
||||||
|
sourceRoot=$PWD
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D speedtest $out/bin/speedtest
|
||||||
|
install -D speedtest.5 $out/share/man/man5/speedtest.5
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Command line internet speedtest tool by Ookla";
|
||||||
|
homepage = "https://www.speedtest.net/apps/cli";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ kranzes ];
|
||||||
|
platforms = lib.attrNames srcs;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.52"
|
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.53"
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/rapid7/metasploit-framework
|
remote: https://github.com/rapid7/metasploit-framework
|
||||||
revision: f376002331f03483d56ade1c19134dbf02ef2cff
|
revision: b7cef30d11f0509b7e27334030dae6b8cb34e7f2
|
||||||
ref: refs/tags/6.0.52
|
ref: refs/tags/6.0.53
|
||||||
specs:
|
specs:
|
||||||
metasploit-framework (6.0.52)
|
metasploit-framework (6.0.53)
|
||||||
actionpack (~> 5.2.2)
|
actionpack (~> 5.2.2)
|
||||||
activerecord (~> 5.2.2)
|
activerecord (~> 5.2.2)
|
||||||
activesupport (~> 5.2.2)
|
activesupport (~> 5.2.2)
|
||||||
|
@ -85,6 +85,7 @@ GIT
|
||||||
thin
|
thin
|
||||||
tzinfo
|
tzinfo
|
||||||
tzinfo-data
|
tzinfo-data
|
||||||
|
unix-crypt
|
||||||
warden
|
warden
|
||||||
windows_error
|
windows_error
|
||||||
xdr
|
xdr
|
||||||
|
@ -126,13 +127,13 @@ GEM
|
||||||
arel-helpers (2.12.0)
|
arel-helpers (2.12.0)
|
||||||
activerecord (>= 3.1.0, < 7)
|
activerecord (>= 3.1.0, < 7)
|
||||||
aws-eventstream (1.1.1)
|
aws-eventstream (1.1.1)
|
||||||
aws-partitions (1.475.0)
|
aws-partitions (1.478.0)
|
||||||
aws-sdk-core (3.116.0)
|
aws-sdk-core (3.117.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.239.0)
|
aws-partitions (~> 1, >= 1.239.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1.0)
|
||||||
aws-sdk-ec2 (1.248.0)
|
aws-sdk-ec2 (1.249.0)
|
||||||
aws-sdk-core (~> 3, >= 3.112.0)
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-iam (1.56.0)
|
aws-sdk-iam (1.56.0)
|
||||||
|
@ -173,7 +174,7 @@ GEM
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
faker (2.18.0)
|
faker (2.18.0)
|
||||||
i18n (>= 1.6, < 2)
|
i18n (>= 1.6, < 2)
|
||||||
faraday (1.5.0)
|
faraday (1.5.1)
|
||||||
faraday-em_http (~> 1.0)
|
faraday-em_http (~> 1.0)
|
||||||
faraday-em_synchrony (~> 1.0)
|
faraday-em_synchrony (~> 1.0)
|
||||||
faraday-excon (~> 1.1)
|
faraday-excon (~> 1.1)
|
||||||
|
@ -188,7 +189,7 @@ GEM
|
||||||
faraday-excon (1.1.0)
|
faraday-excon (1.1.0)
|
||||||
faraday-httpclient (1.0.1)
|
faraday-httpclient (1.0.1)
|
||||||
faraday-net_http (1.0.1)
|
faraday-net_http (1.0.1)
|
||||||
faraday-net_http_persistent (1.1.0)
|
faraday-net_http_persistent (1.2.0)
|
||||||
faraday-patron (1.0.0)
|
faraday-patron (1.0.0)
|
||||||
faye-websocket (0.11.1)
|
faye-websocket (0.11.1)
|
||||||
eventmachine (>= 0.12.0)
|
eventmachine (>= 0.12.0)
|
||||||
|
@ -312,7 +313,7 @@ GEM
|
||||||
rex-core
|
rex-core
|
||||||
rex-struct2
|
rex-struct2
|
||||||
rex-text
|
rex-text
|
||||||
rex-core (0.1.16)
|
rex-core (0.1.17)
|
||||||
rex-encoder (0.1.5)
|
rex-encoder (0.1.5)
|
||||||
metasm
|
metasm
|
||||||
rex-arch
|
rex-arch
|
||||||
|
@ -331,7 +332,7 @@ GEM
|
||||||
rex-arch
|
rex-arch
|
||||||
rex-ole (0.1.7)
|
rex-ole (0.1.7)
|
||||||
rex-text
|
rex-text
|
||||||
rex-powershell (0.1.90)
|
rex-powershell (0.1.91)
|
||||||
rex-random_identifier
|
rex-random_identifier
|
||||||
rex-text
|
rex-text
|
||||||
ruby-rc4
|
ruby-rc4
|
||||||
|
@ -356,7 +357,7 @@ GEM
|
||||||
rkelly-remix (0.0.7)
|
rkelly-remix (0.0.7)
|
||||||
ruby-macho (2.5.1)
|
ruby-macho (2.5.1)
|
||||||
ruby-rc4 (0.1.5)
|
ruby-rc4 (0.1.5)
|
||||||
ruby2_keywords (0.0.4)
|
ruby2_keywords (0.0.5)
|
||||||
ruby_smb (2.0.10)
|
ruby_smb (2.0.10)
|
||||||
bindata
|
bindata
|
||||||
openssl-ccm
|
openssl-ccm
|
||||||
|
@ -393,6 +394,7 @@ GEM
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.7)
|
unf_ext (0.0.7.7)
|
||||||
|
unix-crypt (1.3.0)
|
||||||
warden (1.2.9)
|
warden (1.2.9)
|
||||||
rack (>= 2.0.9)
|
rack (>= 2.0.9)
|
||||||
webrick (1.7.0)
|
webrick (1.7.0)
|
||||||
|
|
|
@ -8,13 +8,13 @@ let
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "metasploit-framework";
|
pname = "metasploit-framework";
|
||||||
version = "6.0.52";
|
version = "6.0.53";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rapid7";
|
owner = "rapid7";
|
||||||
repo = "metasploit-framework";
|
repo = "metasploit-framework";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-JN+ulGd47xZFSR7AdxfvviR5mwCHdfBmFkaAJPdaLJ8=";
|
sha256 = "sha256-0tg2FSRtwo1LRxA5jNQ1Pxx54TPs3ZwErXim8uj24VI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -114,30 +114,30 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0x9d0awfm8s9y025iwn7d5an476f6xq9v99lnynj2vvj1kgya79s";
|
sha256 = "0vsxqayzh04gxxan5i8vvfxh0n238dc9305bc89xs2mx2x1pw167";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.475.0";
|
version = "1.478.0";
|
||||||
};
|
};
|
||||||
aws-sdk-core = {
|
aws-sdk-core = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0vjr1lzddm1pcs5vkpxns1gmrv0l0wb53kcxhh1xdznb7hm8h5km";
|
sha256 = "1mcagbyzy7l39lxm9g85frvjwlv3yfd9x8jddd1pfc0xsy9y0rax";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.116.0";
|
version = "3.117.0";
|
||||||
};
|
};
|
||||||
aws-sdk-ec2 = {
|
aws-sdk-ec2 = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1s0r1vk39sjxkc5km2ldvcm1l5ac2c4w5z9bvz18jgqis98j6zd5";
|
sha256 = "1n6yl7qbzmjlxp3rzm3a62vinzdg9a8rqspq7xdaa9sxrf4zsamf";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.248.0";
|
version = "1.249.0";
|
||||||
};
|
};
|
||||||
aws-sdk-iam = {
|
aws-sdk-iam = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -354,10 +354,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0gwbii45plm9bljk22bwzhzxrc5xid8qx24f54vrm74q3zaz00ah";
|
sha256 = "1xpq9w46alagszx2mx82mqxxmsmyni2bpxd08gygzpl03zwbpr63";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.5.0";
|
version = "1.5.1";
|
||||||
};
|
};
|
||||||
faraday-em_http = {
|
faraday-em_http = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -414,10 +414,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
|
sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.2.0";
|
||||||
};
|
};
|
||||||
faraday-patron = {
|
faraday-patron = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -594,12 +594,12 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
rev = "f376002331f03483d56ade1c19134dbf02ef2cff";
|
rev = "b7cef30d11f0509b7e27334030dae6b8cb34e7f2";
|
||||||
sha256 = "17rcbbvj90262rkg0xc702dpj95yxwbpgh0y952idvvqcyaaxpr4";
|
sha256 = "0lp1yvlg59kqml29rpgc6ghpj71z6pa8qf8h8x5qvhkd4hakdn6j";
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/rapid7/metasploit-framework";
|
url = "https://github.com/rapid7/metasploit-framework";
|
||||||
};
|
};
|
||||||
version = "6.0.52";
|
version = "6.0.53";
|
||||||
};
|
};
|
||||||
metasploit-model = {
|
metasploit-model = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1036,10 +1036,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "08krnf05mbq6x2d92fv34bl8xdz1d3yq2m0mp8bfbq5kd6a13l2w";
|
sha256 = "0b0f9s18d2ax2k1xmwrvr97gxh8gfm79kfibv55fqmv846vgkkvk";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.1.16";
|
version = "0.1.17";
|
||||||
};
|
};
|
||||||
rex-encoder = {
|
rex-encoder = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1106,10 +1106,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "08a9s82y4bv2bis0szasrrqvz6imwx94ckg259f7w39ng1fbc7b1";
|
sha256 = "0zrc0pr1pla0amw6hagllj82hyq8pyy6wb38xry2cxg7q70ghfq7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.1.90";
|
version = "0.1.91";
|
||||||
};
|
};
|
||||||
rex-random_identifier = {
|
rex-random_identifier = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1236,10 +1236,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
|
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.0.4";
|
version = "0.0.5";
|
||||||
};
|
};
|
||||||
ruby_smb = {
|
ruby_smb = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1421,6 +1421,16 @@
|
||||||
};
|
};
|
||||||
version = "0.0.7.7";
|
version = "0.0.7.7";
|
||||||
};
|
};
|
||||||
|
unix-crypt = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.3.0";
|
||||||
|
};
|
||||||
warden = {
|
warden = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
|
|
|
@ -12,20 +12,20 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "mdcat";
|
pname = "mdcat";
|
||||||
version = "0.23.0";
|
version = "0.23.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lunaryorn";
|
owner = "lunaryorn";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "mdcat-${version}";
|
rev = "mdcat-${version}";
|
||||||
hash = "sha256-bGXuYGQyrXa9gUEQfB7BF9K04z88r1UoM8R5gpL2nRM=";
|
sha256 = "sha256-aJ7rL+EKa5zWmCmekVuRmdeOwTmVo0IQ+GJ8Ga4iTI0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
|
nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
|
||||||
buildInputs = [ openssl ]
|
buildInputs = [ openssl ]
|
||||||
++ lib.optional stdenv.isDarwin Security;
|
++ lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
cargoSha256 = "sha256-hmv4LNk7NEYjT/5XXUpMd+xGS19KHOW+HIgsiFEWeig=";
|
cargoSha256 = "sha256-r0dJ/lDOfRzEdwySR/eEvsrO8qn4g7ZIfpekiirUp3Q=";
|
||||||
|
|
||||||
checkInputs = [ ansi2html ];
|
checkInputs = [ ansi2html ];
|
||||||
# Skip tests that use the network and that include files.
|
# Skip tests that use the network and that include files.
|
||||||
|
|
|
@ -11,17 +11,17 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
specVersion = "4.96.0"; # Version taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
|
specVersion = "4.98.0"; # Version taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
|
||||||
spec = fetchurl {
|
spec = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
|
url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
|
||||||
sha256 = "sha256-4+j5BBTOFLLiA+n0YEUH/ICK4Iuxr6nNB7ZRrYACW2I=";
|
sha256 = "sha256-3SweDMfgq2+QQIdeb6EjL7A2Grd/7KQzsbMNZKPtXts=";
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "linode-cli";
|
pname = "linode-cli";
|
||||||
version = "5.4.3";
|
version = "5.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linode";
|
owner = "linode";
|
||||||
|
|
30
pkgs/tools/wayland/swayr/default.nix
Normal file
30
pkgs/tools/wayland/swayr/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ lib, fetchFromSourcehut, rustPlatform }:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "swayr";
|
||||||
|
version = "0.6.1";
|
||||||
|
|
||||||
|
src = fetchFromSourcehut {
|
||||||
|
owner = "~tsdh";
|
||||||
|
repo = "swayr";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1865064q8jb75nfb0hbx4swbbijpibm0n7m4cid8qgylzp4bxvs2";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "0w6zjnywifdlaw01xz2824lwm4b6r1b7r99wi3p12vgbrmks4jcr";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./icon-paths.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A window switcher (and more) for sway";
|
||||||
|
homepage = "https://git.sr.ht/~tsdh/swayr";
|
||||||
|
license = with licenses; [ gpl3Plus ];
|
||||||
|
maintainers = with maintainers; [ artturin ];
|
||||||
|
};
|
||||||
|
}
|
17
pkgs/tools/wayland/swayr/icon-paths.patch
Normal file
17
pkgs/tools/wayland/swayr/icon-paths.patch
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
diff --git a/src/config.rs b/src/config.rs
|
||||||
|
index de7d04b..291114b 100644
|
||||||
|
--- a/src/config.rs
|
||||||
|
+++ b/src/config.rs
|
||||||
|
@@ -197,6 +197,12 @@ impl Default for Format {
|
||||||
|
),
|
||||||
|
urgency_end: Some("</span>".to_string()),
|
||||||
|
icon_dirs: Some(vec![
|
||||||
|
+ "/run/current-system/sw/share/icons/hicolor/scalable/apps".to_string(),
|
||||||
|
+ "/run/current-system/sw/share/icons/hicolor/48x48/apps".to_string(),
|
||||||
|
+ "/run/current-system/sw/share/pixmaps".to_string(),
|
||||||
|
+ "~/.nix-profile/share/icons/hicolor/scalable/apps".to_string(),
|
||||||
|
+ "~/.nix-profile/share/icons/hicolor/48x48/apps".to_string(),
|
||||||
|
+ "~/.nix-profile/share/pixmaps".to_string(),
|
||||||
|
"/usr/share/icons/hicolor/scalable/apps".to_string(),
|
||||||
|
"/usr/share/icons/hicolor/48x48/apps".to_string(),
|
||||||
|
"/usr/share/pixmaps".to_string(),
|
|
@ -2313,6 +2313,8 @@ in
|
||||||
|
|
||||||
swaycwd = callPackage ../tools/wayland/swaycwd { };
|
swaycwd = callPackage ../tools/wayland/swaycwd { };
|
||||||
|
|
||||||
|
swayr = callPackage ../tools/wayland/swayr { };
|
||||||
|
|
||||||
wayland-utils = callPackage ../tools/wayland/wayland-utils { };
|
wayland-utils = callPackage ../tools/wayland/wayland-utils { };
|
||||||
|
|
||||||
wayland-proxy-virtwl = callPackage ../tools/wayland/wayland-proxy-virtwl { };
|
wayland-proxy-virtwl = callPackage ../tools/wayland/wayland-proxy-virtwl { };
|
||||||
|
@ -17674,6 +17676,8 @@ in
|
||||||
|
|
||||||
oobicpl = callPackage ../development/libraries/science/biology/oobicpl { };
|
oobicpl = callPackage ../development/libraries/science/biology/oobicpl { };
|
||||||
|
|
||||||
|
ookla-speedtest = callPackage ../tools/networking/ookla-speedtest { };
|
||||||
|
|
||||||
openalSoft = callPackage ../development/libraries/openal-soft {
|
openalSoft = callPackage ../development/libraries/openal-soft {
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
|
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1031,6 +1031,8 @@ let
|
||||||
inherit (pkgs) secp256k1;
|
inherit (pkgs) secp256k1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
|
||||||
|
|
||||||
seq = callPackage ../development/ocaml-modules/seq { };
|
seq = callPackage ../development/ocaml-modules/seq { };
|
||||||
|
|
||||||
sosa = callPackage ../development/ocaml-modules/sosa { };
|
sosa = callPackage ../development/ocaml-modules/sosa { };
|
||||||
|
|
|
@ -4989,6 +4989,8 @@ in {
|
||||||
|
|
||||||
openshift = callPackage ../development/python-modules/openshift { };
|
openshift = callPackage ../development/python-modules/openshift { };
|
||||||
|
|
||||||
|
opensimplex = callPackage ../development/python-modules/opensimplex { };
|
||||||
|
|
||||||
opentimestamps = callPackage ../development/python-modules/opentimestamps { };
|
opentimestamps = callPackage ../development/python-modules/opentimestamps { };
|
||||||
|
|
||||||
opentracing = callPackage ../development/python-modules/opentracing { };
|
opentracing = callPackage ../development/python-modules/opentracing { };
|
||||||
|
|
Loading…
Reference in a new issue