Merge staging-next into staging
This commit is contained in:
commit
ed3d23eef3
|
@ -7076,6 +7076,11 @@
|
||||||
githubId = 1817528;
|
githubId = 1817528;
|
||||||
name = "Igor Polyakov";
|
name = "Igor Polyakov";
|
||||||
};
|
};
|
||||||
|
iquerejeta = {
|
||||||
|
github = "iquerejeta";
|
||||||
|
githubId = 31273774;
|
||||||
|
name = "Inigo Querejeta-Azurmendi";
|
||||||
|
};
|
||||||
irenes = {
|
irenes = {
|
||||||
name = "Irene Knapp";
|
name = "Irene Knapp";
|
||||||
email = "ireneista@gmail.com";
|
email = "ireneista@gmail.com";
|
||||||
|
@ -17999,6 +18004,16 @@
|
||||||
fingerprint = "9F19 3AE8 AA25 647F FC31 46B5 416F 303B 43C2 0AC3";
|
fingerprint = "9F19 3AE8 AA25 647F FC31 46B5 416F 303B 43C2 0AC3";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
yvan-sraka = {
|
||||||
|
email = "yvan@sraka.xyz";
|
||||||
|
github = "yvan-sraka";
|
||||||
|
githubId = 705213;
|
||||||
|
keys = [{
|
||||||
|
fingerprint = "FE9A 953C 97E4 54FE 6598 BFDD A4FB 3EAA 6F45 2379";
|
||||||
|
}];
|
||||||
|
matrix = "@/yvan:matrix.org";
|
||||||
|
name = "Yvan Sraka";
|
||||||
|
};
|
||||||
yvesf = {
|
yvesf = {
|
||||||
email = "yvesf+nix@xapek.org";
|
email = "yvesf+nix@xapek.org";
|
||||||
github = "yvesf";
|
github = "yvesf";
|
||||||
|
|
|
@ -72,6 +72,8 @@
|
||||||
- If [`system.stateVersion`](#opt-system.stateVersion) is >=23.05, `pkgs.nextcloud26` will be installed by default.
|
- If [`system.stateVersion`](#opt-system.stateVersion) is >=23.05, `pkgs.nextcloud26` will be installed by default.
|
||||||
- Please note that an upgrade from v25 (or older) to v27 directly is not possible. Please upgrade to `nextcloud26` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud26;`](options.html#opt-services.nextcloud.package).
|
- Please note that an upgrade from v25 (or older) to v27 directly is not possible. Please upgrade to `nextcloud26` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud26;`](options.html#opt-services.nextcloud.package).
|
||||||
|
|
||||||
|
- New options were added to `services.searx` for better SearXNG support, including options for the built-in rate limiter and bot protection and automatically configuring a local redis server.
|
||||||
|
|
||||||
- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
|
- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
|
||||||
|
|
||||||
- DocBook option documentation is no longer supported, all module documentation now uses markdown.
|
- DocBook option documentation is no longer supported, all module documentation now uses markdown.
|
||||||
|
|
|
@ -10,6 +10,8 @@ let
|
||||||
settingsFile = pkgs.writeText "settings.yml"
|
settingsFile = pkgs.writeText "settings.yml"
|
||||||
(builtins.toJSON cfg.settings);
|
(builtins.toJSON cfg.settings);
|
||||||
|
|
||||||
|
limiterSettingsFile = (pkgs.formats.toml { }).generate "limiter.toml" cfg.limiterSettings;
|
||||||
|
|
||||||
generateConfig = ''
|
generateConfig = ''
|
||||||
cd ${runDir}
|
cd ${runDir}
|
||||||
|
|
||||||
|
@ -65,6 +67,15 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
redisCreateLocally = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Configure a local Redis server for SearXNG. This is required if you
|
||||||
|
want to enable the rate limiter and bot protection of SearXNG.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = types.attrsOf settingType;
|
type = types.attrsOf settingType;
|
||||||
default = { };
|
default = { };
|
||||||
|
@ -111,6 +122,31 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
limiterSettings = mkOption {
|
||||||
|
type = types.attrsOf settingType;
|
||||||
|
default = { };
|
||||||
|
example = literalExpression ''
|
||||||
|
{
|
||||||
|
real_ip = {
|
||||||
|
x_for = 1;
|
||||||
|
ipv4_prefix = 32;
|
||||||
|
ipv6_prefix = 56;
|
||||||
|
}
|
||||||
|
botdetection.ip_lists.block_ip = [
|
||||||
|
# "93.184.216.34" # example.org
|
||||||
|
];
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Limiter settings for SearXNG.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
For available settings, see the SearXNG
|
||||||
|
[schema file](https://github.com/searxng/searxng/blob/master/searx/botdetection/limiter.toml).
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.searx;
|
default = pkgs.searx;
|
||||||
|
@ -158,6 +194,17 @@ in
|
||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = (cfg.limiterSettings != { }) -> cfg.package.pname == "searxng";
|
||||||
|
message = "services.searx.limiterSettings requires services.searx.package to be searxng.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.redisCreateLocally -> cfg.package.pname == "searxng";
|
||||||
|
message = "services.searx.redisCreateLocally requires services.searx.package to be searxng.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
users.users.searx =
|
users.users.searx =
|
||||||
|
@ -206,6 +253,7 @@ in
|
||||||
services.searx.settings = {
|
services.searx.settings = {
|
||||||
# merge NixOS settings with defaults settings.yml
|
# merge NixOS settings with defaults settings.yml
|
||||||
use_default_settings = mkDefault true;
|
use_default_settings = mkDefault true;
|
||||||
|
redis.url = lib.mkIf cfg.redisCreateLocally "unix://${config.services.redis.servers.searx.unixSocket}";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.uwsgi = mkIf (cfg.runInUwsgi) {
|
services.uwsgi = mkIf (cfg.runInUwsgi) {
|
||||||
|
@ -231,7 +279,16 @@ in
|
||||||
} // cfg.uwsgiConfig;
|
} // cfg.uwsgiConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.redis.servers.searx = lib.mkIf cfg.redisCreateLocally {
|
||||||
|
enable = true;
|
||||||
|
user = "searx";
|
||||||
|
port = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."searxng/limiter.toml" = lib.mkIf (cfg.limiterSettings != { }) {
|
||||||
|
source = limiterSettingsFile;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with maintainers; [ rnhmjoj ];
|
meta.maintainers = with maintainers; [ rnhmjoj _999eagle ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,10 +279,12 @@ in
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
description = lib.mdDoc "Configuration for `sshd_config(5)`.";
|
description = lib.mdDoc "Configuration for `sshd_config(5)`.";
|
||||||
default = { };
|
default = { };
|
||||||
example = literalExpression ''{
|
example = literalExpression ''
|
||||||
UseDns = true;
|
{
|
||||||
PasswordAuthentication = false;
|
UseDns = true;
|
||||||
}'';
|
PasswordAuthentication = false;
|
||||||
|
}
|
||||||
|
'';
|
||||||
type = types.submodule ({name, ...}: {
|
type = types.submodule ({name, ...}: {
|
||||||
freeformType = settingsFormat.type;
|
freeformType = settingsFormat.type;
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -48,14 +48,16 @@ in
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
default = { };
|
default = { };
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
example = literalExpression ''{
|
example = literalExpression ''
|
||||||
reverseProxy = true;
|
{
|
||||||
defaults = {
|
reverseProxy = true;
|
||||||
name = "Your Network";
|
defaults = {
|
||||||
host = "localhost";
|
name = "Your Network";
|
||||||
port = 6697;
|
host = "localhost";
|
||||||
};
|
port = 6697;
|
||||||
}'';
|
};
|
||||||
|
}
|
||||||
|
'';
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
The Lounge's {file}`config.js` contents as attribute set (will be
|
The Lounge's {file}`config.js` contents as attribute set (will be
|
||||||
converted to JSON to generate the configuration file).
|
converted to JSON to generate the configuration file).
|
||||||
|
|
|
@ -78,11 +78,12 @@ in
|
||||||
clientOptions = mkOption {
|
clientOptions = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
default = {};
|
default = {};
|
||||||
example = literalExpression ''{
|
example = literalExpression ''
|
||||||
fontSize = "16";
|
{
|
||||||
fontFamily = "Fira Code";
|
fontSize = "16";
|
||||||
|
fontFamily = "Fira Code";
|
||||||
}'';
|
}
|
||||||
|
'';
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Attribute set of client options for xtermjs.
|
Attribute set of client options for xtermjs.
|
||||||
<https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/>
|
<https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/>
|
||||||
|
|
|
@ -1897,7 +1897,7 @@ let
|
||||||
|
|
||||||
bridgeVLANOptions = {
|
bridgeVLANOptions = {
|
||||||
options = {
|
options = {
|
||||||
bridgeMDBConfig = mkOption {
|
bridgeVLANConfig = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
example = { VLAN = 20; };
|
example = { VLAN = 20; };
|
||||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeVLAN;
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeVLAN;
|
||||||
|
@ -2388,17 +2388,6 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
bridgeVLANConfig = mkOption {
|
|
||||||
default = {};
|
|
||||||
example = { VLAN = "10-20"; };
|
|
||||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeVLAN;
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
Each attribute in this set specifies an option in the
|
|
||||||
`[BridgeVLAN]` section of the unit. See
|
|
||||||
{manpage}`systemd.network(5)` for details.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
bridgeVLANs = mkOption {
|
bridgeVLANs = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
example = [ { bridgeVLANConfig = { VLAN = "10-20"; }; } ];
|
example = [ { bridgeVLANConfig = { VLAN = "10-20"; }; } ];
|
||||||
|
|
|
@ -98,10 +98,12 @@ with lib;
|
||||||
qemuExtraConf = mkOption {
|
qemuExtraConf = mkOption {
|
||||||
type = with types; attrsOf (oneOf [ str int ]);
|
type = with types; attrsOf (oneOf [ str int ]);
|
||||||
default = {};
|
default = {};
|
||||||
example = literalExpression ''{
|
example = literalExpression ''
|
||||||
cpu = "host";
|
{
|
||||||
onboot = 1;
|
cpu = "host";
|
||||||
}'';
|
onboot = 1;
|
||||||
|
}
|
||||||
|
'';
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Additional options appended to qemu-server.conf
|
Additional options appended to qemu-server.conf
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
# This test predominantly tests systemd-networkd DHCP server, by
|
# This test predominantly tests systemd-networkd DHCP server, by
|
||||||
# setting up a DHCP server and client, and ensuring they are mutually
|
# setting up a DHCP server and client, and ensuring they are mutually
|
||||||
# reachable via the DHCP allocated address.
|
# reachable via the DHCP allocated address.
|
||||||
|
# Two DHCP servers are set up on bridge VLANs, testing to make sure that
|
||||||
|
# bridge VLAN settings are correctly applied.
|
||||||
|
#
|
||||||
|
# br0 ----untagged---v
|
||||||
|
# +---PVID 1+VLAN 2---[bridge]---PVID 2---eth1
|
||||||
|
# vlan2 ---VLAN 2----^
|
||||||
import ./make-test-python.nix ({pkgs, ...}: {
|
import ./make-test-python.nix ({pkgs, ...}: {
|
||||||
name = "systemd-networkd-dhcpserver";
|
name = "systemd-networkd-dhcpserver";
|
||||||
meta = with pkgs.lib.maintainers; {
|
meta = with pkgs.lib.maintainers; {
|
||||||
|
@ -16,6 +22,28 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
||||||
firewall.enable = false;
|
firewall.enable = false;
|
||||||
};
|
};
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
|
netdevs = {
|
||||||
|
br0 = {
|
||||||
|
enable = true;
|
||||||
|
netdevConfig = {
|
||||||
|
Name = "br0";
|
||||||
|
Kind = "bridge";
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
[Bridge]
|
||||||
|
VLANFiltering=yes
|
||||||
|
DefaultPVID=none
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
vlan2 = {
|
||||||
|
enable = true;
|
||||||
|
netdevConfig = {
|
||||||
|
Name = "vlan2";
|
||||||
|
Kind = "vlan";
|
||||||
|
};
|
||||||
|
vlanConfig.Id = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
networks = {
|
networks = {
|
||||||
# systemd-networkd will load the first network unit file
|
# systemd-networkd will load the first network unit file
|
||||||
# that matches, ordered lexiographically by filename.
|
# that matches, ordered lexiographically by filename.
|
||||||
|
@ -24,9 +52,32 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
||||||
# however, hence why this network is named such.
|
# however, hence why this network is named such.
|
||||||
"01-eth1" = {
|
"01-eth1" = {
|
||||||
name = "eth1";
|
name = "eth1";
|
||||||
|
networkConfig.Bridge = "br0";
|
||||||
|
bridgeVLANs = [
|
||||||
|
{ bridgeVLANConfig = { PVID = 2; EgressUntagged = 2; }; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"02-br0" = {
|
||||||
|
name = "br0";
|
||||||
networkConfig = {
|
networkConfig = {
|
||||||
DHCPServer = true;
|
DHCPServer = true;
|
||||||
Address = "10.0.0.1/24";
|
Address = "10.0.0.1/24";
|
||||||
|
VLAN = ["vlan2"];
|
||||||
|
};
|
||||||
|
dhcpServerConfig = {
|
||||||
|
PoolOffset = 100;
|
||||||
|
PoolSize = 1;
|
||||||
|
};
|
||||||
|
bridgeVLANs = [
|
||||||
|
{ bridgeVLANConfig = { PVID = 1; EgressUntagged = 1; }; }
|
||||||
|
{ bridgeVLANConfig = { VLAN = 2; }; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"02-vlan2" = {
|
||||||
|
name = "vlan2";
|
||||||
|
networkConfig = {
|
||||||
|
DHCPServer = true;
|
||||||
|
Address = "10.0.2.1/24";
|
||||||
};
|
};
|
||||||
dhcpServerConfig = {
|
dhcpServerConfig = {
|
||||||
PoolOffset = 100;
|
PoolOffset = 100;
|
||||||
|
@ -52,7 +103,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
||||||
start_all()
|
start_all()
|
||||||
router.wait_for_unit("systemd-networkd-wait-online.service")
|
router.wait_for_unit("systemd-networkd-wait-online.service")
|
||||||
client.wait_for_unit("systemd-networkd-wait-online.service")
|
client.wait_for_unit("systemd-networkd-wait-online.service")
|
||||||
client.wait_until_succeeds("ping -c 5 10.0.0.1")
|
client.wait_until_succeeds("ping -c 5 10.0.2.1")
|
||||||
router.wait_until_succeeds("ping -c 5 10.0.0.100")
|
router.wait_until_succeeds("ping -c 5 10.0.2.100")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
@ -128,6 +128,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
|
alpha-nvim = super.alpha-nvim.overrideAttrs(oa: {
|
||||||
|
dependencies = [
|
||||||
|
self.nvim-web-devicons # required by the startify theme
|
||||||
|
];
|
||||||
|
nvimRequireCheck = "alpha";
|
||||||
|
});
|
||||||
|
|
||||||
autosave-nvim = super.autosave-nvim.overrideAttrs(old: {
|
autosave-nvim = super.autosave-nvim.overrideAttrs(old: {
|
||||||
dependencies = with super; [ plenary-nvim ];
|
dependencies = with super; [ plenary-nvim ];
|
||||||
|
|
44
pkgs/applications/misc/pdfposter/default.nix
Normal file
44
pkgs/applications/misc/pdfposter/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ lib, python3, fetchPypi }:
|
||||||
|
let
|
||||||
|
localPython = python3.override {
|
||||||
|
self = localPython;
|
||||||
|
packageOverrides = self: super: {
|
||||||
|
# Can be removed once this is merged
|
||||||
|
# https://gitlab.com/pdftools/pdfposter/-/merge_requests/7
|
||||||
|
pypdf2 = super.pypdf2.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
version = "2.11.1";
|
||||||
|
format = "setuptools";
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "PyPDF2";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-PHut1RLCFxHrF4nC6tv5YnkonA+URS7lSoZHO/vv1zI=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
with localPython.pkgs; buildPythonApplication rec {
|
||||||
|
pname = "pdfposter";
|
||||||
|
version = "0.8.1";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pypdf2 ];
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "pdftools.pdfposter";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-yWFtHgVKAWs4dRlSk8t8cB2KBJeBOa0Frh3BLR9txS0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"pdftools.pdfposter"
|
||||||
|
"pdftools.pdfposter.cmd"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Split large pages of a PDF into smaller ones for poster printing";
|
||||||
|
homepage = "https://pdfposter.readthedocs.io";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ wamserma ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kluctl";
|
pname = "kluctl";
|
||||||
version = "2.20.6";
|
version = "2.20.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kluctl";
|
owner = "kluctl";
|
||||||
repo = "kluctl";
|
repo = "kluctl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-B8+HKqIuJaH+6ViBxWfiAAmXieQKcwAW565SwUpIJKI=";
|
hash = "sha256-NcvPo+6f2EYhitzOl2VPz8MtFIsYBuOA7EJnD4TJdmI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-x5Zy8H7DzxU+uBCUL6edv8x2LwiIjXl5UrRUMDtUEk8=";
|
vendorHash = "sha256-x5Zy8H7DzxU+uBCUL6edv8x2LwiIjXl5UrRUMDtUEk8=";
|
||||||
|
|
|
@ -36,14 +36,14 @@ let
|
||||||
in
|
in
|
||||||
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
|
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "4.0.0";
|
version = "4.0.1";
|
||||||
pname = "weechat";
|
pname = "weechat";
|
||||||
|
|
||||||
hardeningEnable = [ "pie" ];
|
hardeningEnable = [ "pie" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
|
url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
|
||||||
hash = "sha256-W9de4V8zkqCtF07nxUUY2uzjh4R3ZwwH8Q1uv5iCQPk=";
|
hash = "sha256-G5UzEjr0J5IrPX+r7elY3IU5LVCIHZfQt5htj1FFVuk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
|
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cairo";
|
pname = "cairo";
|
||||||
version = "1.1.0";
|
version = "1.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "starkware-libs";
|
owner = "starkware-libs";
|
||||||
repo = "cairo";
|
repo = "cairo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-8dzDe4Kw9OASD0i3bMooqEclStxS/Ta/tOVCcFhvwSI=";
|
hash = "sha256-hlFPYYZsifH6ZTEDC+f1dLbHEn/wg4T7RoiYoibskjs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-IY3RE+EeNRhUSZX+bqojhPl6y8qm+i9C0zQmNApmat8=";
|
cargoHash = "sha256-WLNt8IZkdCcHFQwnTZlcEmYlyhOoIEk1/s+obXhj+Qo=";
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
rustfmt
|
rustfmt
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ayatana-ido";
|
pname = "ayatana-ido";
|
||||||
version = "0.9.2";
|
version = "0.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AyatanaIndicators";
|
owner = "AyatanaIndicators";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-0LswdcV4VSg5o5uJ6vfw713eDnMbodZPQ9d2djxHc6k=";
|
sha256 = "sha256-jpNsH8c5ObnO+/AqsribvyFZhm7mmCFGNx9p4QHZKQE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake ];
|
nativeBuildInputs = [ pkg-config cmake ];
|
||||||
|
|
39
pkgs/development/libraries/blst/default.nix
Normal file
39
pkgs/development/libraries/blst/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation ( finalAttrs: {
|
||||||
|
pname = "blst";
|
||||||
|
version = "0.3.10";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "supranational";
|
||||||
|
repo = "blst";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
./build.sh
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp ./libblst.a $out/lib/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Multilingual BLS12-381 signature library";
|
||||||
|
homepage = "https://github.com/supranational/blst";
|
||||||
|
license = licenses.isc;
|
||||||
|
maintainers = with maintainers; [ iquerejeta yvan-sraka ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
})
|
|
@ -73,10 +73,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
cd $out${finalAttrs.passthru.libdir}
|
cd $out${finalAttrs.passthru.libdir}
|
||||||
|
|
||||||
for f in librdimon.a libc.a libg.a; do
|
for f in librdimon.a libc.a libg.a; do
|
||||||
cp "$f" "''${f%%\.a}_nano.a"
|
# Some libraries are only available for specific architectures.
|
||||||
|
# For example, librdimon.a is only available on ARM.
|
||||||
|
[ -f "$f" ] && cp "$f" "''${f%%\.a}_nano.a"
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
'';
|
'' + ''[ "$(find $out -type f | wc -l)" -gt 0 ] || (echo '$out is empty' 1>&2 && exit 1)'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
incdir = "/${stdenv.targetPlatform.config}/include";
|
incdir = "/${stdenv.targetPlatform.config}/include";
|
||||||
|
|
|
@ -14,14 +14,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "awkward";
|
pname = "awkward";
|
||||||
version = "2.2.3";
|
version = "2.2.4";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-yx/z8lTqVWnMTp7TlH+rtAHb3cskm1iViZedhfs0EUI=";
|
hash = "sha256-v06mYdoP/WfIfz6x6+MJvS4YOsTsyWqhCyAykZ1d5v4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -55,6 +55,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Manipulate JSON-like data with NumPy-like idioms";
|
description = "Manipulate JSON-like data with NumPy-like idioms";
|
||||||
homepage = "https://github.com/scikit-hep/awkward";
|
homepage = "https://github.com/scikit-hep/awkward";
|
||||||
|
changelog = "https://github.com/scikit-hep/awkward/releases/tag/v${version}";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ veprbl ];
|
maintainers = with maintainers; [ veprbl ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hcloud";
|
pname = "hcloud";
|
||||||
version = "1.22.0";
|
version = "1.23.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-9F7bgkVL1hE9YeL8JxOAHNJ2iw6ey7UBOQU95DPDIis=";
|
hash = "sha256-rIaGcAMZZRd4BeLYmHAtfCCY6b5a+HDu5GO87/wNLkU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "jenkins-job-builder";
|
pname = "jenkins-job-builder";
|
||||||
version = "4.3.0";
|
version = "5.0.2";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-pvka8TLMEclzJ2Iw4iLSiR1ioV3frzQStLu21+kSSHI=";
|
hash = "sha256-XHsV3Mf2I7gwhgJKDPv3Ce+u9dcllLvMGeeeRg/q3NE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mediapy";
|
pname = "mediapy";
|
||||||
version = "1.1.6";
|
version = "1.1.8";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-n0S3YEAJZNi+pRIaIT+U3JoiXQJtaoGZASg6aV5YVjQ=";
|
hash = "sha256-mVhBM+NQEkLYByp/kCPFJCAY26La5CWjcPl6PgclA9A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ ipython matplotlib numpy pillow ];
|
propagatedBuildInputs = [ ipython matplotlib numpy pillow ];
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mypy-boto3-s3";
|
pname = "mypy-boto3-s3";
|
||||||
version = "1.26.155";
|
version = "1.26.163";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-Kjmau6jEW3uz82I7r4aFhiXXsOWpAu3+fZ+hj8vrL3s=";
|
hash = "sha256-R9NjnNCXqhQtyspDtDH6en7vtW4Vluv/Yl9XHxa9diM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "neo4j";
|
pname = "neo4j";
|
||||||
version = "5.9.0";
|
version = "5.10.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||||
owner = "neo4j";
|
owner = "neo4j";
|
||||||
repo = "neo4j-python-driver";
|
repo = "neo4j-python-driver";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-HyoIr2ZIOAzFlMrkIDV71JJAFwrxCqExMFXF3U2p9Po=";
|
hash = "sha256-UD7y/OVoYyEL+68CW+kc8m8poATqRRSwoP6XQyUbGC0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "netapp-ontap";
|
pname = "netapp-ontap";
|
||||||
version = "9.12.1.0";
|
version = "9.13.1.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "netapp_ontap";
|
pname = "netapp_ontap";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "sha256-eqFj2xYl4X1TB4Rxajpor5zgJdoISJk89KpARAHI/W0=";
|
sha256 = "sha256-jPKfPJXtzARRlSuwkfJeZueQouwaaa0D6rZ+BcpILq0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "odp-amsterdam";
|
pname = "odp-amsterdam";
|
||||||
version = "5.1.0";
|
version = "5.1.1";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = "klaasnicolaas";
|
owner = "klaasnicolaas";
|
||||||
repo = "python-odp-amsterdam";
|
repo = "python-odp-amsterdam";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-ECRm9I/wHb82F8UBqPQWd60wLybIloCJiTxXDb3GnGs=";
|
hash = "sha256-DaL2CTrhWqBwl3kktF1wndxzrreA24C3zXmp4ghf/4s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pamela";
|
pname = "pamela";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c";
|
sha256 = "sha256-1LE5/mAOGS4Xaio2gFkgemv/oOeHmHmxP0/LoBY0gb4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, pypdf2 }:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "pdftools.pdfposter";
|
|
||||||
version = "0.8.1";
|
|
||||||
format = "setuptools";
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ pypdf2 ];
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
hash = "sha256-yWFtHgVKAWs4dRlSk8t8cB2KBJeBOa0Frh3BLR9txS0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
|
||||||
"pdftools.pdfposter"
|
|
||||||
"pdftools.pdfposter.cmd"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Split large pages of a PDF into smaller ones for poster printing";
|
|
||||||
homepage = "https://pdfposter.readthedocs.io";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
maintainers = with maintainers; [ wamserma ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pontos";
|
pname = "pontos";
|
||||||
version = "23.6.1";
|
version = "23.6.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||||
owner = "greenbone";
|
owner = "greenbone";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-HBDijU5R1furmlP1ykmjbbBWXh/LSVE2zuuJ80D9Yng=";
|
hash = "sha256-kLBkTOV4vllAGtnFWo44KxC0UPrYqWEOpC5oai+dIC8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -20,14 +20,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytorch-lightning";
|
pname = "pytorch-lightning";
|
||||||
version = "2.0.2";
|
version = "2.0.4";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Lightning-AI";
|
owner = "Lightning-AI";
|
||||||
repo = "pytorch-lightning";
|
repo = "pytorch-lightning";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-MSztKWjg/7J+4+sv4sqFlucaYuQlGoehtcUTiqNUlPA=";
|
hash = "sha256-gF0Tx/G06SwwrtIM7RPz/P+Qhmc3zgFQPsAT7qf8RtI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
|
|
@ -14,6 +14,10 @@ toPythonModule (buildPythonApplication rec {
|
||||||
sha256 = "sha256-+Wsg1k/h41luk5aVfSn11/lGv8hZYVvpHLbbYHfsExw=";
|
sha256 = "sha256-+Wsg1k/h41luk5aVfSn11/lGv8hZYVvpHLbbYHfsExw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-flask-babel-3.0.patch
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i 's/==.*$//' requirements.txt
|
sed -i 's/==.*$//' requirements.txt
|
||||||
'';
|
'';
|
||||||
|
|
27
pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch
Normal file
27
pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
commit 38b3a4f70e3226a091c53300659752c595b120f9
|
||||||
|
Author: rnhmjoj <rnhmjoj@inventati.org>
|
||||||
|
Date: Fri Jun 30 21:48:35 2023 +0200
|
||||||
|
|
||||||
|
Fix for flask-babel 3.0
|
||||||
|
|
||||||
|
diff --git a/searx/webapp.py b/searx/webapp.py
|
||||||
|
index 2027e72d..f3174a45 100755
|
||||||
|
--- a/searx/webapp.py
|
||||||
|
+++ b/searx/webapp.py
|
||||||
|
@@ -167,7 +167,7 @@ _flask_babel_get_translations = flask_babel.get_translations
|
||||||
|
def _get_translations():
|
||||||
|
if has_request_context() and request.form.get('use-translation') == 'oc':
|
||||||
|
babel_ext = flask_babel.current_app.extensions['babel']
|
||||||
|
- return Translations.load(next(babel_ext.translation_directories), 'oc')
|
||||||
|
+ return Translations.load(babel_ext.translation_directories[0], 'oc')
|
||||||
|
|
||||||
|
return _flask_babel_get_translations()
|
||||||
|
|
||||||
|
@@ -188,7 +188,6 @@ def _get_browser_or_settings_language(request, lang_list):
|
||||||
|
return settings['search']['default_lang'] or 'en'
|
||||||
|
|
||||||
|
|
||||||
|
-@babel.localeselector
|
||||||
|
def get_locale():
|
||||||
|
if 'locale' in request.form\
|
||||||
|
and request.form['locale'] in settings['locales']:
|
|
@ -2,18 +2,18 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "chamber";
|
pname = "chamber";
|
||||||
version = "2.13.0";
|
version = "2.13.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "segmentio";
|
owner = "segmentio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-1alRyAwT+vlzj7L6KG62R7PRKbMkevowUdD6he4ZQ/I=";
|
sha256 = "sha256-F4JVAW6aKbEofTshF6vny5hnTFnfUKuRyc9zaUxSjG4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
CGO_ENABLED = 0;
|
CGO_ENABLED = 0;
|
||||||
|
|
||||||
vendorHash = "sha256-pyC2iMGx1seSBR3f316oNM0YiN3y1489uybpgHyN8NM=";
|
vendorHash = "sha256-xFZmTsX5OrLu1AkKDHaa5N277J5dLGf5F9ATWirtnXY=";
|
||||||
|
|
||||||
ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
|
ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
|
||||||
|
|
||||||
|
|
|
@ -348,6 +348,8 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
blst = callPackage ../development/libraries/blst { };
|
||||||
|
|
||||||
bodyclose = callPackage ../development/tools/bodyclose { };
|
bodyclose = callPackage ../development/tools/bodyclose { };
|
||||||
|
|
||||||
bootstrap-studio = callPackage ../development/web/bootstrap-studio { };
|
bootstrap-studio = callPackage ../development/web/bootstrap-studio { };
|
||||||
|
@ -11387,6 +11389,8 @@ with pkgs;
|
||||||
|
|
||||||
pdfcrack = callPackage ../tools/security/pdfcrack { };
|
pdfcrack = callPackage ../tools/security/pdfcrack { };
|
||||||
|
|
||||||
|
pdfposter = callPackage ../applications/misc/pdfposter { };
|
||||||
|
|
||||||
pdfsandwich = callPackage ../tools/typesetting/pdfsandwich { };
|
pdfsandwich = callPackage ../tools/typesetting/pdfsandwich { };
|
||||||
|
|
||||||
pdftag = callPackage ../tools/graphics/pdftag { };
|
pdftag = callPackage ../tools/graphics/pdftag { };
|
||||||
|
|
|
@ -194,6 +194,7 @@ mapAliases ({
|
||||||
pam = python-pam; # added 2020-09-07.
|
pam = python-pam; # added 2020-09-07.
|
||||||
PasteDeploy = pastedeploy; # added 2021-10-07
|
PasteDeploy = pastedeploy; # added 2021-10-07
|
||||||
pathpy = path; # added 2022-04-12
|
pathpy = path; # added 2022-04-12
|
||||||
|
pdfposter = throw "pdfposter was promoted to a top-level attribute"; # Added 2023-06-29
|
||||||
pdfminer = pdfminer-six; # added 2022-05-25
|
pdfminer = pdfminer-six; # added 2022-05-25
|
||||||
pep257 = pydocstyle; # added 2022-04-12
|
pep257 = pydocstyle; # added 2022-04-12
|
||||||
poetry = throw "poetry was promoted to a top-level attribute, use poetry-core to build Python packages"; # added 2023-01-09
|
poetry = throw "poetry was promoted to a top-level attribute, use poetry-core to build Python packages"; # added 2023-01-09
|
||||||
|
|
|
@ -7524,8 +7524,6 @@ self: super: with self; {
|
||||||
|
|
||||||
pdfminer-six = callPackage ../development/python-modules/pdfminer-six { };
|
pdfminer-six = callPackage ../development/python-modules/pdfminer-six { };
|
||||||
|
|
||||||
pdfposter = callPackage ../development/python-modules/pdfposter { };
|
|
||||||
|
|
||||||
pdfrw = callPackage ../development/python-modules/pdfrw { };
|
pdfrw = callPackage ../development/python-modules/pdfrw { };
|
||||||
|
|
||||||
pdftotext = callPackage ../development/python-modules/pdftotext { };
|
pdftotext = callPackage ../development/python-modules/pdftotext { };
|
||||||
|
|
Loading…
Reference in a new issue