Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-01-13 00:09:15 +00:00 committed by GitHub
commit 03efef7fd1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
180 changed files with 3133 additions and 1086 deletions

View file

@ -10051,6 +10051,13 @@
githubId = 16779;
name = "Rickard Nilsson";
};
ricochet = {
email = "behayes2@gmail.com";
github = "ricochet";
githubId = 974323;
matrix = "@ricochetcode:matrix.org";
name = "Bailey Hayes";
};
riey = {
email = "creeper844@gmail.com";
github = "Riey";
@ -10812,6 +10819,16 @@
githubId = 6720672;
name = "Shane Pearlman";
};
shanesveller = {
email = "shane@sveller.dev";
github = "shanesveller";
githubId = 831;
keys = [{
longkeyid = "rsa4096/0x9210C218023C15CD";
fingerprint = "F83C 407C ADC4 5A0F 1F2F 44E8 9210 C218 023C 15CD";
}];
name = "Shane Sveller";
};
shawndellysse = {
email = "sdellysse@gmail.com";
github = "shawndellysse";
@ -13601,6 +13618,12 @@
github = "jpagex";
githubId = 635768;
};
portothree = {
name = "Gustavo Porto";
email = "gustavoporto@ya.ru";
github = "portothree";
githubId = 3718120;
};
pwoelfel = {
name = "Philipp Woelfel";
email = "philipp.woelfel@gmail.com";

View file

@ -75,6 +75,14 @@
<link linkend="opt-services.filebeat.enable">services.filebeat</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://frrouting.org/">FRRouting</link>, a
popular suite of Internet routing protocol daemons (BGP, BFD,
OSPF, IS-IS, VVRP and others). Available as
<link linkend="opt-services.ffr.babel.enable">services.frr</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/hifi/heisenbridge">heisenbridge</link>,
@ -135,6 +143,13 @@
<link linkend="opt-services.baget.enable">services.baget</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/ThomasLeister/prosody-filer">prosody-filer</link>,
a server for handling XMPP HTTP Upload requests. Available at
<link linkend="opt-services.prosody-filer.enable">services.prosody-filer</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-22.05-incompatibilities">
@ -290,6 +305,12 @@
follow with upstream changes.
</para>
</listitem>
<listitem>
<para>
<literal>pkgs.docbookrx</literal> was removed since its
unmaintained
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-22.05-notable-changes">
@ -411,6 +432,15 @@
renamed to <literal>linux-firmware</literal>.
</para>
</listitem>
<listitem>
<para>
A new module was added for the
<link xlink:href="https://starship.rs/">Starship</link> shell
prompt, providing the options
<literal>programs.starship.enable</literal> and
<literal>programs.starship.settings</literal>.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -19,12 +19,15 @@ In addition to numerous new and upgraded packages, this release has the followin
## New Services {#sec-release-22.05-new-services}
- [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
- [rootless Docker](https://docs.docker.com/engine/security/rootless/), a `systemd --user` Docker service which runs without root permissions. Available as [virtualisation.docker.rootless.enable](options.html#opt-virtualisation.docker.rootless.enable).
- [matrix-conduit](https://conduit.rs/), a simple, fast and reliable chat server powered by matrix. Available as [services.matrix-conduit](option.html#opt-services.matrix-conduit.enable).
- [filebeat](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-overview.html), a lightweight shipper for forwarding and centralizing log data. Available as [services.filebeat](#opt-services.filebeat.enable).
- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VVRP and others). Available as [services.frr](#opt-services.ffr.babel.enable)
- [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
- [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
@ -41,6 +44,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [BaGet](https://loic-sharma.github.io/BaGet/), a lightweight NuGet and symbol server. Available at [services.baget](#opt-services.baget.enable).
- [prosody-filer](https://github.com/ThomasLeister/prosody-filer), a server for handling XMPP HTTP Upload requests. Available at [services.prosody-filer](#opt-services.prosody-filer.enable).
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
- `pkgs.ghc` now refers to `pkgs.targetPackages.haskellPackages.ghc`.
@ -93,6 +98,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.thelounge.private` was removed in favor of `services.thelounge.public`, to follow with upstream changes.
- `pkgs.docbookrx` was removed since it's unmaintained
## Other Notable Changes {#sec-release-22.05-notable-changes}
- The option [services.redis.servers](#opt-services.redis.servers) was added
@ -144,3 +151,6 @@ In addition to numerous new and upgraded packages, this release has the followin
- The option `services.thelounge.plugins` has been added to allow installing plugins for The Lounge. Plugins can be found in `pkgs.theLoungePlugins.plugins` and `pkgs.theLoungePlugins.themes`.
- The `firmwareLinuxNonfree` package has been renamed to `linux-firmware`.
- A new module was added for the [Starship](https://starship.rs/) shell prompt,
providing the options `programs.starship.enable` and `programs.starship.settings`.

View file

@ -198,6 +198,7 @@
./programs/ssmtp.nix
./programs/sysdig.nix
./programs/systemtap.nix
./programs/starship.nix
./programs/steam.nix
./programs/sway.nix
./programs/system-config-printer.nix
@ -746,6 +747,7 @@
./services/networking/flannel.nix
./services/networking/freenet.nix
./services/networking/freeradius.nix
./services/networking/frr.nix
./services/networking/gateone.nix
./services/networking/gdomap.nix
./services/networking/ghostunnel.nix
@ -1032,6 +1034,7 @@
./services/web-apps/plausible.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/powerdns-admin.nix
./services/web-apps/prosody-filer.nix
./services/web-apps/matomo.nix
./services/web-apps/openwebrx.nix
./services/web-apps/restya-board.nix

View file

@ -0,0 +1,51 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.starship;
settingsFormat = pkgs.formats.toml { };
settingsFile = settingsFormat.generate "starship.toml" cfg.settings;
in {
options.programs.starship = {
enable = mkEnableOption "the Starship shell prompt";
settings = mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Configuration included in <literal>starship.toml</literal>.
See https://starship.rs/config/#prompt for documentation.
'';
};
};
config = mkIf cfg.enable {
programs.bash.promptInit = ''
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
export STARSHIP_CONFIG=${settingsFile}
eval "$(${pkgs.starship}/bin/starship init bash)"
fi
'';
programs.fish.promptInit = ''
if test "$TERM" != "dumb" -a \( -z "$INSIDE_EMACS" -o "$INSIDE_EMACS" = "vterm" \)
set -x STARSHIP_CONFIG ${settingsFile}
eval (${pkgs.starship}/bin/starship init fish)
end
'';
programs.zsh.promptInit = ''
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
export STARSHIP_CONFIG=${settingsFile}
eval "$(${pkgs.starship}/bin/starship init zsh)"
fi
'';
};
meta.maintainers = pkgs.starship.meta.maintainers;
}

View file

@ -1072,8 +1072,8 @@ in
security.apparmor.includes."abstractions/pam" = let
isEnabled = test: fold or false (map test (attrValues config.security.pam.services));
in
lib.concatMapStringsSep "\n"
(name: "r ${config.environment.etc."pam.d/${name}".source},")
lib.concatMapStrings
(name: "r ${config.environment.etc."pam.d/${name}".source},\n")
(attrNames config.security.pam.services) +
''
mr ${getLib pkgs.pam}/lib/security/pam_filter/*,

View file

@ -19,8 +19,17 @@ let
"${wrappedPlugins}/libexec/netdata/plugins.d"
] ++ cfg.extraPluginPaths;
configDirectory = pkgs.runCommand "netdata-config-d" { } ''
mkdir $out
${concatStringsSep "\n" (mapAttrsToList (path: file: ''
mkdir -p "$out/$(dirname ${path})"
ln -s "${file}" "$out/${path}"
'') cfg.configDir)}
'';
localConfig = {
global = {
"config directory" = "/etc/netdata/conf.d";
"plugins directory" = concatStringsSep " " plugins;
};
web = {
@ -130,6 +139,26 @@ in {
'';
};
configDir = mkOption {
type = types.attrsOf types.path;
default = {};
description = ''
Complete netdata config directory except netdata.conf.
The default configuration is merged with changes
defined in this option.
Each top-level attribute denotes a path in the configuration
directory as in environment.etc.
Its value is the absolute path and must be readable by netdata.
Cannot be combined with configText.
'';
example = literalExpression ''
"health_alarm_notify.conf" = pkgs.writeText "health_alarm_notify.conf" '''
sendmail="/path/to/sendmail"
''';
"health.d" = "/run/secrets/netdata/health.d";
'';
};
enableAnalyticsReporting = mkOption {
type = types.bool;
default = false;
@ -150,11 +179,14 @@ in {
}
];
environment.etc."netdata/netdata.conf".source = configFile;
environment.etc."netdata/conf.d".source = configDirectory;
systemd.services.netdata = {
description = "Real time performance monitoring";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = (with pkgs; [ curl gawk iproute2 which ])
path = (with pkgs; [ curl gawk iproute2 which procps ])
++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
environment = {
@ -162,8 +194,12 @@ in {
} // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
DO_NOT_TRACK = "1";
};
restartTriggers = [
config.environment.etc."netdata/netdata.conf".source
config.environment.etc."netdata/conf.d".source
];
serviceConfig = {
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
TimeoutStopSec = 60;
Restart = "on-failure";

View file

@ -0,0 +1,211 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.frr;
services = [
"static"
"bgp"
"ospf"
"ospf6"
"rip"
"ripng"
"isis"
"pim"
"ldp"
"nhrp"
"eigrp"
"babel"
"sharp"
"pbr"
"bfd"
"fabric"
];
allServices = services ++ [ "zebra" ];
isEnabled = service: cfg.${service}.enable;
daemonName = service: if service == "zebra" then service else "${service}d";
configFile = service:
let
scfg = cfg.${service};
in
if scfg.configFile != null then scfg.configFile
else pkgs.writeText "${daemonName service}.conf"
''
! FRR ${daemonName service} configuration
!
hostname ${config.networking.hostName}
log syslog
service password-encryption
!
${scfg.config}
!
end
'';
serviceOptions = service:
{
enable = mkEnableOption "the FRR ${toUpper service} routing protocol";
configFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/frr/${daemonName service}.conf";
description = ''
Configuration file to use for FRR ${daemonName service}.
By default the NixOS generated files are used.
'';
};
config = mkOption {
type = types.lines;
default = "";
example =
let
examples = {
rip = ''
router rip
network 10.0.0.0/8
'';
ospf = ''
router ospf
network 10.0.0.0/8 area 0
'';
bgp = ''
router bgp 65001
neighbor 10.0.0.1 remote-as 65001
'';
};
in
examples.${service} or "";
description = ''
${daemonName service} configuration statements.
'';
};
vtyListenAddress = mkOption {
type = types.str;
default = "localhost";
description = ''
Address to bind to for the VTY interface.
'';
};
vtyListenPort = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
TCP Port to bind to for the VTY interface.
'';
};
};
in
{
###### interface
imports = [
{
options.services.frr = {
zebra = (serviceOptions "zebra") // {
enable = mkOption {
type = types.bool;
default = any isEnabled services;
description = ''
Whether to enable the Zebra routing manager.
The Zebra routing manager is automatically enabled
if any routing protocols are configured.
'';
};
};
};
}
{ options.services.frr = (genAttrs services serviceOptions); }
];
###### implementation
config = mkIf (any isEnabled allServices) {
environment.systemPackages = [
pkgs.frr # for the vtysh tool
];
users.users.frr = {
description = "FRR daemon user";
isSystemUser = true;
group = "frr";
};
users.groups = {
frr = {};
# Members of the frrvty group can use vtysh to inspect the FRR daemons
frrvty = { members = [ "frr" ]; };
};
environment.etc = let
mkEtcLink = service: {
name = "frr/${service}.conf";
value.source = configFile service;
};
in
(builtins.listToAttrs
(map mkEtcLink (filter isEnabled allServices))) // {
"frr/vtysh.conf".text = "";
};
systemd.tmpfiles.rules = [
"d /run/frr 0750 frr frr -"
];
systemd.services =
let
frrService = service:
let
scfg = cfg.${service};
daemon = daemonName service;
in
nameValuePair daemon ({
wantedBy = [ "multi-user.target" ];
after = [ "network-pre.target" "systemd-sysctl.service" ] ++ lib.optionals (service != "zebra") [ "zebra.service" ];
bindsTo = lib.optionals (service != "zebra") [ "zebra.service" ];
wants = [ "network.target" ];
description = if service == "zebra" then "FRR Zebra routing manager"
else "FRR ${toUpper service} routing daemon";
unitConfig.Documentation = if service == "zebra" then "man:zebra(8)"
else "man:${daemon}(8) man:zebra(8)";
restartTriggers = [
(configFile service)
];
reloadIfChanged = true;
serviceConfig = {
PIDFile = "frr/${daemon}.pid";
ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
+ optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
+ optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}";
ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
Restart = "on-abnormal";
};
});
in
listToAttrs (map frrService (filter isEnabled allServices));
};
meta.maintainers = with lib.maintainers; [ woffs ];
}

View file

@ -0,0 +1,88 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.prosody-filer;
settingsFormat = pkgs.formats.toml { };
configFile = settingsFormat.generate "prosody-filer.toml" cfg.settings;
in {
options = {
services.prosody-filer = {
enable = mkEnableOption "Prosody Filer XMPP upload file server";
settings = mkOption {
description = ''
Configuration for Prosody Filer.
Refer to <link xlink:href="https://github.com/ThomasLeister/prosody-filer#configure-prosody-filer"/> for details on supported values.
'';
type = settingsFormat.type;
example = literalExample ''
{
secret = "mysecret";
storeDir = "/srv/http/nginx/prosody-upload";
}
'';
defaultText = literalExpression ''
{
listenport = mkDefault "127.0.0.1:5050";
uploadSubDir = mkDefault "upload/";
}
'';
};
};
};
config = mkIf cfg.enable {
services.prosody-filer.settings = {
listenport = mkDefault "127.0.0.1:5050";
uploadSubDir = mkDefault "upload/";
};
users.users.prosody-filer = {
group = "prosody-filer";
isSystemUser = true;
};
users.groups.prosody-filer = { };
systemd.services.prosody-filer = {
description = "Prosody file upload server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
User = "prosody-filer";
Group = "prosody-filer";
ExecStart = "${pkgs.prosody-filer}/bin/prosody-filer -config ${configFile}";
Restart = "on-failure";
CapabilityBoundingSet = "";
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
PrivateMounts = true;
ProtectHome = true;
ProtectClock = true;
ProtectProc = "noaccess";
ProcSubset = "pid";
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectHostname = true;
RestrictSUIDSGID = true;
RestrictRealtime = true;
RestrictNamespaces = true;
LockPersonality = true;
RemoveIPC = true;
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
};
};
};
}

View file

@ -301,11 +301,16 @@ in
# implementation
config = mkIf (eachSite != {}) (mkMerge [{
assertions = mapAttrsToList (hostName: cfg:
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
}
) eachSite;
assertions =
(mapAttrsToList (hostName: cfg:
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
}) eachSite) ++
(mapAttrsToList (hostName: cfg:
{ assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
message = ''services.wordpress.sites."${hostName}".database.passwordFile cannot be specified if services.wordpress.sites."${hostName}".database.createLocally is set to true.'';
}) eachSite);
warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg);

View file

@ -633,7 +633,7 @@ in
<itemizedlist>
<listitem><para><literal>boot.consoleLogLevel = 0;</literal></para></listitem>
<listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_priority=3" ];</literal></para></listitem>
<listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_level=3" ];</literal></para></listitem>
</itemizedlist>
'';
};

View file

@ -143,6 +143,7 @@ in
fluidd = handleTest ./fluidd.nix {};
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
freeswitch = handleTest ./freeswitch.nix {};
frr = handleTest ./frr.nix {};
fsck = handleTest ./fsck.nix {};
ft2-clone = handleTest ./ft2-clone.nix {};
gerrit = handleTest ./gerrit.nix {};
@ -445,6 +446,7 @@ in
sslh = handleTest ./sslh.nix {};
sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
sssd-ldap = handleTestOn ["x86_64-linux"] ./sssd-ldap.nix {};
starship = handleTest ./starship.nix {};
step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {};
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
sudo = handleTest ./sudo.nix {};

104
nixos/tests/frr.nix Normal file
View file

@ -0,0 +1,104 @@
# This test runs FRR and checks if OSPF routing works.
#
# Network topology:
# [ client ]--net1--[ router1 ]--net2--[ router2 ]--net3--[ server ]
#
# All interfaces are in OSPF Area 0.
import ./make-test-python.nix ({ pkgs, ... }:
let
ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
ospfConf1 = ''
router ospf
network 192.168.0.0/16 area 0
'';
ospfConf2 = ''
interface eth2
ip ospf hello-interval 1
ip ospf dead-interval 5
!
router ospf
network 192.168.0.0/16 area 0
'';
in
{
name = "frr";
meta = with pkgs.lib.maintainers; {
maintainers = [ hexa ];
};
nodes = {
client =
{ nodes, ... }:
{
virtualisation.vlans = [ 1 ];
networking.defaultGateway = ifAddr nodes.router1 "eth1";
};
router1 =
{ ... }:
{
virtualisation.vlans = [ 1 2 ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospfigp -j ACCEPT";
services.frr.ospf = {
enable = true;
config = ospfConf1;
};
specialisation.ospf.configuration = {
services.frr.ospf.config = ospfConf2;
};
};
router2 =
{ ... }:
{
virtualisation.vlans = [ 3 2 ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospfigp -j ACCEPT";
services.frr.ospf = {
enable = true;
config = ospfConf2;
};
};
server =
{ nodes, ... }:
{
virtualisation.vlans = [ 3 ];
networking.defaultGateway = ifAddr nodes.router2 "eth1";
};
};
testScript =
{ nodes, ... }:
''
start_all()
# Wait for the networking to start on all machines
for machine in client, router1, router2, server:
machine.wait_for_unit("network.target")
with subtest("Wait for Zebra and OSPFD"):
for gw in router1, router2:
gw.wait_for_unit("zebra")
gw.wait_for_unit("ospfd")
router1.succeed("${nodes.router1.config.system.build.toplevel}/specialisation/ospf/bin/switch-to-configuration test >&2")
with subtest("Wait for OSPF to form adjacencies"):
for gw in router1, router2:
gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full")
gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
with subtest("Test ICMP"):
client.wait_until_succeeds("ping -c 3 server >&2")
'';
})

31
nixos/tests/starship.nix Normal file
View file

@ -0,0 +1,31 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "starship";
meta.maintainers = pkgs.starship.meta.maintainers;
machine = {
programs = {
fish.enable = true;
zsh.enable = true;
starship = {
enable = true;
settings.format = "<starship>";
};
};
services.getty.autologinUser = "root";
};
testScript = ''
start_all()
machine.wait_for_unit("default.target")
for shell in ["bash", "fish", "zsh"]:
machine.send_chars(f"script -c {shell} /tmp/{shell}.txt\n")
machine.wait_until_tty_matches(1, f"Script started.*{shell}.txt")
machine.send_chars("exit\n")
machine.wait_until_tty_matches(1, "Script done")
machine.sleep(1)
machine.succeed(f"grep -q '<starship>' /tmp/{shell}.txt")
'';
})

View file

@ -1,46 +1,53 @@
{ lib, stdenv, fetchurl, pkg-config
, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, lv2
, libGLU
, libGL
, gtk2
, cairo
, pango
, fftwFloat
, libjack2
}:
let
stdenv.mkDerivation rec {
pname = "meters.lv2";
version = "0.9.10";
name = "meters.lv2-${version}";
# robtk submodule is pegged to this version
robtkVersion = "0.6.2";
robtkName = "robtk-${robtkVersion}";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx";
};
robtkSrc = fetchurl {
name = "${robtkName}.tar.gz";
url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v";
};
in
stdenv.mkDerivation {
inherit name;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
srcs = [ src robtkSrc ];
sourceRoot = name;
src = fetchFromGitHub {
owner = "x42";
repo = "meters.lv2";
rev = "v${version}";
sha256 = "sha256-u2KIsaia0rAteQoEh6BLNCiRHFufHYF95z6J/EMgeSE=";
};
postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
robtkSrc = fetchFromGitHub {
owner = "x42";
repo = "robtk";
rev = "v${robtkVersion}";
sha256 = "sha256-zeRMobfKW0+wJwYVem74tglitkI6DSoK75Auywcu4Tw=";
};
postUnpack = ''
rm -rf $sourceRoot/robtk/
ln -s ${robtkSrc} $sourceRoot/robtk
'';
preConfigure = "makeFlagsArray=( PREFIX=$out )";
meter_VERSION = version;
enableParallelBuilding = true;
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib;
{ description = "Collection of audio level meters with GUI in LV2 plugin format";
homepage = "http://x42.github.io/meters.lv2/";
maintainers = with maintainers; [ ehmry ];
license = licenses.gpl2;
platforms = platforms.linux;
};
meta = with lib; {
description = "Collection of audio level meters with GUI in LV2 plugin format";
homepage = "https://x42.github.io/meters.lv2/";
maintainers = with maintainers; [ ehmry ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -1,6 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, autoreconfHook
, pkg-config
, util-linux
@ -26,9 +26,11 @@ stdenv.mkDerivation rec {
pname = if withGui then "elements" else "elementsd";
version = "0.21.0.1";
src = fetchurl {
url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
sha256 = "00a2lrn77mfmr5dvrqwplk20gaxxq4cd9gcx667hgmfmmz1v6r6b";
src = fetchFromGitHub {
owner = "ElementsProject";
repo = "elements";
rev = "elements-${version}";
sha256 = "sha256-nZa5doiFQJhtK8cUUISTZhS61HzW7CMB9pPsWKc8Gac=";
};
nativeBuildInputs =

View file

@ -1,28 +1,30 @@
{ lib, stdenv, fetchgit, cmake, boost, miniupnpc_2, openssl, unbound
, readline, libsodium, rapidjson, fetchurl
{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc_2, openssl, unbound
, readline, libsodium, rapidjson
}:
with lib;
let
randomwowVersion = "1.1.7";
randomwow = fetchurl {
url = "https://github.com/wownero/RandomWOW/archive/${randomwowVersion}.tar.gz";
sha256 = "1xp76zf01hnhnk6rjvqjav9n9pnvxzxlzqa5rc574d1c2qczfy3q";
};
in
stdenv.mkDerivation rec {
pname = "wownero";
version = "0.8.0.1";
randomwowVersion = "1.1.7";
src = fetchgit {
url = "https://git.wownero.com/wownero/wownero.git";
src = fetchFromGitea {
domain = "git.wownero.com";
owner = "wownero";
repo = "wownero";
rev = "v${version}";
sha256 = "15443xv6q1nw4627ajk6k4ghhahvh82lb4gyb8nvq753p2v838g3";
sha256 = "sha256-+cUdousEiZMNwqhTvjoqw/k21x3dg7Lhb/5KyNUGrjQ=";
fetchSubmodules = false;
};
randomwow = fetchFromGitea {
domain = "git.wownero.com";
owner = "wownero";
repo = "RandomWOW";
rev = randomwowVersion;
sha256 = "sha256-JzyRlHwM8rmJ5OaKHz+6vHGfpSz+X4zkFAKn4Jmo+EE=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
@ -31,8 +33,7 @@ stdenv.mkDerivation rec {
postUnpack = ''
rm -r $sourceRoot/external/RandomWOW
unpackFile ${randomwow}
mv RandomWOW-${randomwowVersion} $sourceRoot/external/RandomWOW
ln -s ${randomwow} $sourceRoot/external/RandomWOW
'';
cmakeFlags = [

View file

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "featherpad";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "tsujan";
repo = "FeatherPad";
rev = "V${version}";
sha256 = "sha256-Sff1oyRYCsiJ7Kl3HxI/bln0M80KlbcNSw6jrEOeWiI=";
sha256 = "sha256-qDhubKk6FLZmVxp4SkGm1B7zIg6rPtPRoFGCcBYUDFA=";
};
nativeBuildInputs = [ cmake pkg-config qttools ];

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "image-roll";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitHub {
owner = "weclaw1";
repo = pname;
rev = version;
sha256 = "sha256-NhZ0W9WBOIRe2nE4jQJ9WgfduKhHd+222feUCay4atw=";
sha256 = "sha256-SyG/syIDnyQaXUgGkXZkY98dmFs7O+OFnGL50250nJI=";
};
cargoSha256 = "sha256-7sV8v/npmdOgTMtnww/VoK1Kp4Na9Go95XLcfdgkTik=";
cargoSha256 = "sha256-pyeJ7WmtkbQjbek/rRh2UKFQ5o006Rf7phZ1yl2s4wA=";
nativeBuildInputs = [ glib pkg-config wrapGAppsHook ];

View file

@ -12,7 +12,7 @@
mkDerivation {
pname = "kbreakout";
meta = {
homepage = "KBreakOut";
homepage = "https://apps.kde.org/kbreakout/";
description = "Breakout-like game";
license = with lib.licenses; [ lgpl21 gpl3 ];
};

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "gphoto2";
version = "2.5.27";
version = "2.5.28";
src = fetchFromGitHub {
owner = "gphoto";
repo = "gphoto2";
rev = "v${version}";
sha256 = "sha256-zzlyA2IedyBZ4/TdSmrqbe2le8rFMQ6tY6jF5skJ7l4=";
sha256 = "sha256-t5EnM4WaDbOTPM+rJW+hQxBgNErnnZEN9lZvxTKoDhA=";
};
nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "hugo";
version = "0.91.2";
version = "0.92.0";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-6bqtw0hUrRBhTwEDURaTjgl3aVVCbfxjoPRfhSd3LK8=";
sha256 = "sha256-rzAt6jGj1MJ5AvkEKjAH91mKnUcLOPgHgiDkzkdibks=";
};
vendorSha256 = "sha256-M4pKAxNd8rqluVm+c+X+nxC/vcaVclebo9HP17yEpfo=";
vendorSha256 = "sha256-ftA7ktZ6dEownEwJC4tK5/V3fl8toACiFiq9xTa7NE4=";
doCheck = false;

View file

@ -0,0 +1,60 @@
{ lib,
stdenv,
fetchFromGitLab,
extra-cmake-modules,
shared-mime-info,
wrapQtAppsHook,
kcoreaddons,
kdbusaddons,
ki18n,
kio,
solid,
kidletime,
knotifications,
kconfig,
kinit,
kjobwidgets,
plasma-framework,
libgit2
}:
stdenv.mkDerivation rec {
pname = "kup";
version = "0.9.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
repo = pname;
owner = "system";
rev = "${pname}-${version}";
sha256 = "1s180y6vzkxxcjpfdvrm90251rkaf3swzkjwdlpm6m4vnggq0hvs";
};
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info
wrapQtAppsHook
];
buildInputs = [
kcoreaddons
kdbusaddons
ki18n
kio
solid
kidletime
knotifications
kconfig
kinit
kjobwidgets
plasma-framework
libgit2
];
meta = with lib; {
description = "Backup tool for KDE";
homepage = "https://apps.kde.org/kup";
license = licenses.gpl2Plus;
maintainers = [ maintainers.pwoelfel ];
};
}

View file

@ -0,0 +1,22 @@
{ buildGoModule, fetchFromGitHub, lib }:
buildGoModule rec {
pname = "llama";
version = "1.0.2";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "llama";
rev = "v${version}";
sha256 = "sha256-6Xuwl4IpzbVfJ2MhHeImPFWxL/Y6rhnBExlh64PeGdk=";
};
vendorSha256 = "sha256-J/2R3XhGNmejc3jstJ0NWmJm/a1Re6UK6AuQb5gzh4E=";
meta = with lib; {
description = "Terminal file manager";
homepage = "https://github.com/antonmedv/llama";
license = licenses.mit;
maintainers = with maintainers; [ portothree ];
};
}

View file

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
{ mkDerivation, lib, fetchFromGitHub, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
, qtbase, qtwebengine, qtx11extras, sqlite }:
@ -6,18 +6,22 @@ let
name = "toggldesktop-${version}";
version = "7.4.231";
src = fetchzip {
url = "https://github.com/toggl/toggldesktop/archive/v${version}.tar.gz";
sha256 = "01hqkx9dljnhwnyqi6mmzfp02hnbi2j50rsfiasniqrkbi99x9v1";
src = fetchFromGitHub {
owner = "toggl";
repo = "toggldesktop";
rev = "v${version}";
sha256 = "sha256-YaeeUlwz42i1ik5nUKSIy0IBrvu1moi95dBK2lKfGAY=";
};
bugsnag-qt = mkDerivation rec {
pname = "bugsnag-qt";
version = "20180522.005732";
src = fetchzip {
url = "https://github.com/alpakido/bugsnag-qt/archive/${version}.tar.gz";
sha256 = "02s6mlggh0i4a856md46dipy6mh47isap82jlwmjr7hfsk2ykgnq";
src = fetchFromGitHub {
owner = "alpakido";
repo = "bugsnag-qt";
rev = version;
sha256 = "sha256-2L7pxdQOniwrp1Kgq3Q8BFbjb2yGtGoKUiQC+B6tRgs=";
};
nativeBuildInputs = [ qmake ];
@ -28,9 +32,11 @@ let
pname = "qxtglobalshortcut";
version = "f584471dada2099ba06c574bdfdd8b078c2e3550";
src = fetchzip {
url = "https://github.com/hluk/qxtglobalshortcut/archive/${version}.tar.gz";
sha256 = "1iy17gypav10z8aa62s5jb6mq9y4kb9ms4l61ydmk3xwlap7igw1";
src = fetchFromGitHub {
owner = "hluk";
repo = "qxtglobalshortcut";
rev = version;
sha256 = "sha256-gb94rqK8j1mbD4YSXdOaxCdczZJFC6MU+iBsdf07wcc=";
};
nativeBuildInputs = [ cmake ];
@ -41,9 +47,11 @@ let
pname = "qt-oauth-lib";
version = "20190125.190943";
src = fetchzip {
url = "https://github.com/alpakido/qt-oauth-lib/archive/${version}.tar.gz";
sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj";
src = fetchFromGitHub {
owner = "alpakido";
repo = "qt-oauth-lib";
rev = version;
sha256 = "sha256-MjtNAN4F9JJFxM8MYpCv8tPe26RHtbXdq+lY49p+rn4=";
};
nativeBuildInputs = [ qmake ];

View file

@ -19,22 +19,9 @@
}
},
"beta": {
"version": "97.0.4692.71",
"sha256": "0z7ximvm4a78kxyp4j0i2jzklxazpw6jcqi9jkaf8bvq9ga8kqca",
"sha256bin64": "18wr4pgzfcvvdpvvxhpd4as2qnyggq9f8z90ikdz8yj8i71l5wnc",
"deps": {
"gn": {
"version": "2021-11-03",
"url": "https://gn.googlesource.com/gn",
"rev": "90294ccdcf9334ed25a76ac9b67689468e506342",
"sha256": "0n0jml8s00ayy186jzrf207hbz70pxiq426znxwxd4gjcp60scsa"
}
}
},
"dev": {
"version": "98.0.4758.9",
"sha256": "1sq6v2hdhpk12w37sz7jf5vwkn72ydcqzcxysf7hs2flcfgscydj",
"sha256bin64": "1jfj08jpxji2q890zbvpvmgf5bjqgvigkr1hg8ch8vaaybs5wr04",
"version": "98.0.4758.48",
"sha256": "0c6lxmr8xxjhifm28v9ri05v5al9ph6infksx9qgd045svmfynxs",
"sha256bin64": "0m7vbd7fy4wrbk28hw3hy6x8yb8vyyyisnicdhkp6j0xq9ni5jhj",
"deps": {
"gn": {
"version": "2021-12-07",
@ -44,6 +31,19 @@
}
}
},
"dev": {
"version": "99.0.4818.0",
"sha256": "1k8xzmybrmwgcyg4n7x3gj486rpwic17m6i5ij9nmfzcxx7fbwlm",
"sha256bin64": "1jfqmv94ami3n6hzp9ycczqv3lh3wijsf555mg62rv4rdvw5adm6",
"deps": {
"gn": {
"version": "2022-01-07",
"url": "https://gn.googlesource.com/gn",
"rev": "f1b1412521b41e47118b29863224171e434a27a2",
"sha256": "1cxq991by7sa5k1hvb5xx98bfqgq7rdbw3cawhyyqq91a521wsb7"
}
}
},
"ungoogled-chromium": {
"version": "97.0.4692.71",
"sha256": "0z7ximvm4a78kxyp4j0i2jzklxazpw6jcqi9jkaf8bvq9ga8kqca",

View file

@ -87,7 +87,7 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "11.0.3";
version = "11.0.4";
lang = "en-US";
@ -97,7 +97,7 @@ let
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
];
sha256 = "1a2nxxmjg1gk8p0bxxjqx2g9bwv4ivz8hndabg31nglzv83r7p35";
sha256 = "0pz1v5ig031wgnq3191ja08a4brdrbzziqnkpcrlra1wcdnzv985";
};
i686-linux = fetchurl {
@ -105,7 +105,7 @@ let
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
];
sha256 = "0fjq6bj2b6rd66ky9i4p7asda0ghdcm6q0fnr92yan5x77pji73m";
sha256 = "0ykdgbm8f5lcv7p54f3ffxsaw2cdzbhk6sv7d2hm7d81fcnhmjq4";
};
};
in

View file

@ -26,18 +26,20 @@
, docbook-xsl-nons
, docbook_xml_dtd_43
, gobject-introspection
, gst_all_1
, sofia_sip
}:
stdenv.mkDerivation rec {
pname = "calls";
version = "0.3.1";
version = "41.1";
src = fetchFromGitLab {
domain = "source.puri.sm";
owner = "Librem5";
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = pname;
rev = "v${version}";
sha256 = "0igap5ynq269xqaky6fqhdg2dpsvxa008z953ywa4s5b5g5dk3dd";
rev = version;
sha256 = "1vbw9x5s3ww11f3lnqivc74rjlmi9fk1hzaq1idrdcck3gvif0h8";
};
outputs = [ "out" "devdoc" ];
@ -62,11 +64,17 @@ stdenv.mkDerivation rec {
folks
gom
gsound
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
feedbackd
callaudiod
gtk3
libpeas
libgdata # required by some dependency transitively
sofia_sip
];
checkInputs = [
@ -80,7 +88,8 @@ stdenv.mkDerivation rec {
"-Dgtk_doc=true"
];
doCheck = true;
# Disable until tests are fixed upstream https://gitlab.gnome.org/GNOME/calls/-/issues/258
doCheck = false;
checkPhase = ''
runHook preCheck

View file

@ -1,17 +1,17 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "chart-testing";
version = "3.4.0";
version = "3.5.0";
src = fetchFromGitHub {
owner = "helm";
repo = pname;
rev = "v${version}";
sha256 = "sha256-c7Rjk2YZaQXyFwrDVwYgOCnq/F2ooIUVETXVn5FVlZE=";
sha256 = "sha256-lXi778MTeVUBtepGjIkKAX1kDEaaVzQI1gTKfcpANC0=";
};
vendorSha256 = "sha256-1Py66ljDjJC38biJ25D8KnWEi3nXAVt9QSgyH1KkwHM=";
vendorSha256 = "sha256-pNevyTibnhUK8LSM1lVnmumFazXK86q4AZ2WKFt5jok=";
postPatch = ''
substituteInPlace pkg/config/config.go \
@ -26,9 +26,16 @@ buildGoModule rec {
"-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
install -Dm644 -t $out/etc/ct etc/chart_schema.yaml
install -Dm644 -t $out/etc/ct etc/lintconf.yaml
installShellCompletion --cmd ct \
--bash <($out/bin/ct completion bash) \
--zsh <($out/bin/ct completion zsh) \
--fish <($out/bin/ct completion fish) \
'';
meta = with lib; {
@ -36,5 +43,6 @@ buildGoModule rec {
homepage = "https://github.com/helm/chart-testing";
license = licenses.asl20;
maintainers = with maintainers; [ atkinschang ];
mainProgram = "ct";
};
}

View file

@ -49,7 +49,7 @@ buildGoModule rec {
multi-node k3s cluster on a single machine using docker.
'';
license = licenses.mit;
maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ];
platforms = platforms.linux;
maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python2
{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python3
, enableLibPurple ? false, pidgin ? null
, enablePam ? false, pam ? null
}:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ] ++ optional doCheck check;
buildInputs = [ gnutls libotr python2 ]
buildInputs = [ gnutls libotr python3 ]
++ optional enableLibPurple pidgin
++ optional enablePam pam;
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.bitlbee.org/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ];
maintainers = with maintainers; [ lassulus pSub ];
platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
};
}

View file

@ -26,10 +26,10 @@ in {
pname = "discord-canary";
binaryName = "DiscordCanary";
desktopName = "Discord Canary";
version = "0.0.131";
version = "0.0.132";
src = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "087rzyivk0grhc73v7ldxxghks0n16ifrvpmk95vzaw99l9xv0v5";
sha256 = "1jjbd9qllgcdpnfxg5alxpwl050vzg13rh17n638wha0vv4mjhyv";
};
};
}.${branch}

View file

@ -17,10 +17,10 @@ in
mkFranzDerivation' rec {
pname = "ferdi";
name = "Ferdi";
version = "5.6.5";
version = "5.6.10";
src = fetchurl {
url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
sha256 = "sha256-JeFPvU4xXHcv6/ApCDkejYWfA8lqsxwoFXnqIiOQ0+Y=";
sha256 = "sha256-tm9tuIP4pVociJAiXVsZkDU+zCM5tVAlt+FNpOaiths=";
};
extraBuildInputs = [ xorg.libxshmfence ];
meta = with lib; {

View file

@ -1,13 +1,13 @@
{ stdenv, lib, fetchurl, makeWrapper, openjdk11_headless, libmatthew_java, dbus, dbus_java }:
{ stdenv, lib, fetchurl, makeWrapper, openjdk17_headless, libmatthew_java, dbus, dbus_java }:
stdenv.mkDerivation rec {
pname = "signal-cli";
version = "0.9.2";
version = "0.10.0";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
sha256 = "sha256-CumrIlOPmvQ3x7Ua5I2G7ZlTSAbhLgAQMPUg4I5WCeQ=";
sha256 = "sha256-2JofDCq9HsF+2DO5wzObzAALbJmJ9HJgmuuSJQDu1vY=";
};
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
@ -18,15 +18,15 @@ stdenv.mkDerivation rec {
cp -r lib $out/lib
cp bin/signal-cli $out/bin/signal-cli
'' + (if stdenv.isLinux then ''
makeWrapper ${openjdk11_headless}/bin/java $out/bin/signal-cli \
--set JAVA_HOME "${openjdk11_headless}" \
makeWrapper ${openjdk17_headless}/bin/java $out/bin/signal-cli \
--set JAVA_HOME "${openjdk17_headless}" \
--add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
--add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
--add-flags "org.asamk.signal.Main"
'' else ''
wrapProgram $out/bin/signal-cli \
--prefix PATH : ${lib.makeBinPath [ openjdk11_headless ]} \
--set JAVA_HOME ${openjdk11_headless}
--prefix PATH : ${lib.makeBinPath [ openjdk17_headless ]} \
--set JAVA_HOME ${openjdk17_headless}
'');
# Execution in the macOS (10.13) sandbox fails with

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "notmuch";
version = "0.34.2";
version = "0.34.3";
src = fetchurl {
url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
sha256 = "wfLO7kf2iXESItcgWvKj/npKnYwy5OCyStZviN9qR9M=";
sha256 = "sha256-P+kQSDv9gVpcO5UOImp7yoFWBT/TLXrR6xoKijrK6Ig=";
};
patches = [

View file

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "seaweedfs";
version = "2.71";
version = "2.85";
src = fetchFromGitHub {
owner = "chrislusf";
repo = "seaweedfs";
rev = version;
sha256 = "sha256-d4Vl+HixZy7fJ8YU1fy3b2B+F/76mm0NQmFC/PDl4SY=";
sha256 = "sha256-MsPvda+VaqO3tXH26nVukNWcJ1n+/n5Qk7BMr/DAVUk=";
};
vendorSha256 = "sha256-oxrOjiRxgcJ5yzQYQvLXFPHlOHMB88FThw4OCVxFOwQ=";
vendorSha256 = "sha256-TYVBfjwaoEBKJmIHdwvj/5g4jYmnmJPE1mCL/yET1GQ=";
subPackages = [ "weed" ];

View file

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "finalfusion-utils";
version = "0.13.2";
version = "0.14.1";
src = fetchFromGitHub {
owner = "finalfusion";
repo = pname;
rev = version;
sha256 = "sha256-Wv3K2G542e1bKuJB+dZi0SW4dbopvs7SBohv+zgi5MI=";
sha256 = "sha256-suzivynlgk4VvDOC2dQR40n5IJHoJ736+ObdrM9dIqE=";
};
cargoSha256 = "sha256-oI7bq/yEXP7aMLWGKAecyq1lqq7ZbHtwxX2ldZMFY8I=";
cargoSha256 = "sha256-HekjmctuzOWs5k/ihhsV8vVkm6906jEnFf3yvhkrA5Y=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -7,21 +7,20 @@
python3.pkgs.buildPythonApplication rec {
pname = "cwltool";
version = "3.1.20211104071347";
version = "3.1.20211107152837";
format = "setuptools";
disabled = python3.pythonOlder "3.6";
src = fetchFromGitHub {
owner = "common-workflow-language";
repo = pname;
rev = version;
sha256 = "sha256-tp4SdilW2PKav7b3/BchXYl33W9U0aQH6FPdOhHSvIQ=";
sha256 = "sha256-hIkRzFLG9MujSaQrhWFPXegLLKTV96lVYP79+xpPfUQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace 'prov == 1.5.1' 'prov' \
--replace "ruamel.yaml >= 0.15, < 0.17.18" "ruamel.yaml" \
--replace "prov == 1.5.1" "prov" \
--replace "setup_requires=PYTEST_RUNNER," ""
'';

View file

@ -1,9 +1,9 @@
{ lib, fetchurl, makeWrapper
, python2Packages
, pypy2Packages
, cvs, subversion, git, breezy
}:
python2Packages.buildPythonApplication rec {
pypy2Packages.buildPythonApplication rec {
pname = "cvs2svn";
version = "2.5.0";
@ -16,7 +16,7 @@ python2Packages.buildPythonApplication rec {
checkInputs = [ subversion git breezy ];
checkPhase = "python run-tests.py";
checkPhase = "${pypy2Packages.python.interpreter} run-tests.py";
doCheck = false; # Couldn't find node 'transaction...' in expected output tree

View file

@ -0,0 +1,30 @@
{ lib, fetchFromGitHub, gitMinimal, makeWrapper, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "gfold";
version = "3.0.0";
src = fetchFromGitHub {
owner = "nickgerace";
repo = pname;
rev = version;
sha256 = "0ss6vfrc6h3jlh5qilh82psd3vdnfawf1wl4cf64mfm4hm9dda63";
};
cargoSha256 = "09ywwgxm8l1p0jypp65zpqryjnb2g4gririf1dmqb9148dsj29x2";
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/gfold" --prefix PATH : "${gitMinimal}/bin"
'';
meta = with lib; {
inherit (src.meta) homepage;
description =
"A tool to help keep track of your Git repositories, written in Rust";
license = licenses.asl20;
maintainers = [ maintainers.shanesveller ];
platforms = platforms.unix;
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gitty";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "muesli";
repo = "gitty";
rev = "v${version}";
sha256 = "sha256-BlYZe8bLyr6QQmBwQQ0VySHohKLRVImECxfzAOPm8Xg=";
sha256 = "sha256-gjiFaBM6PP937l5EQIeB27kGuZCT7cmVHm0UwuytqfE=";
};
vendorSha256 = "sha256-LINOjjKicnr0T9RiOcSWWDl0bdY3c6EHHMTBA9LTOG4=";
vendorSha256 = "sha256-CytlkfOzrmCRjj4tGoDUbqdim5DWElMYo1Tosw7Dhmg=";
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];

View file

@ -1,6 +1,6 @@
{ fetchurl, python2Packages }:
{ fetchurl, pypy2Packages }:
python2Packages.buildPythonApplication rec {
pypy2Packages.buildPythonApplication rec {
pname = "tailor";
version = "0.9.35";

View file

@ -0,0 +1,30 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, xbmcswift2 }:
buildKodiAddon rec {
pname = "arteplussept";
namespace = "plugin.video.arteplussept";
version = "1.1.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
hash = "sha256-IYodi0Uz16Qg4MHCz/K06pEXblrsBxHD25fb6LrW8To=";
};
propagatedBuildInputs = [
requests
xbmcswift2
];
passthru = {
updateScript = addonUpdateScript {
attrPath = "kodi.packages.arteplussept";
};
};
meta = with lib; {
homepage = "https://github.com/known-as-bmf/plugin.video.arteplussept";
description = "Watch videos available on Arte+7";
license = licenses.mit;
maintainers = teams.kodi.members;
};
}

View file

@ -3,13 +3,13 @@
buildKodiAddon rec {
pname = "orftvthek";
namespace = "plugin.video.orftvthek";
version = "0.12.3-1";
version = "0.12.3+matrix.1";
src = fetchFromGitHub {
owner = "s0faking";
repo = namespace;
rev = version;
sha256 = "sha256-+J1NtmjbDWtS8d4nO9P/lR5GNmvtc1YjTW+bulGaU2Q=";
sha256 = "sha256-GB9VkC9Vbi7TJXl/vF3ViF/tAcHGH0KxYQ0zkfMLZCY=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,25 @@
{ lib, buildKodiAddon, fetchFromGitHub }:
buildKodiAddon rec {
pname = "xbmcswift2";
namespace = "script.module.xbmcswift2";
version = "19.0.7";
src = fetchFromGitHub {
owner = "XBMC-Addons";
repo = namespace;
rev = version;
sha256 = "sha256-Z+rHz3wncoNvV1pwhRzJFB/X0H6wdfwg88otVh27wg8=";
};
passthru = {
pythonPath = "lib";
};
meta = with lib; {
homepage = "https://github.com/XBMC-Addons/script.module.xbmcswift2";
description = "Framework to ease development of Kodi addons";
license = licenses.gpl3Only;
maintainers = teams.kodi.members;
};
}

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "conmon";
version = "2.0.31";
version = "2.0.32";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/IQS5L9Gqhft1eefkcNAPcQn7nSqOxAp9ySKBSOjs7M=";
sha256 = "sha256-aj0RQVVJp2S8cIYT7fsbK1TLaK0auvdgEIgkZJktsdo=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "kora-icon-theme";
version = "1.4.9";
version = "1.5.0";
src = fetchFromGitHub {
owner = "bikass";
repo = "kora";
rev = "v${version}";
sha256 = "sha256-bhzkR8V/kdETC12mqMtTw+80o8AAD8sYeMhpktd0WMo=";
sha256 = "sha256-kUgNj7KuxsQ/BvQ0ORl3xzEm9gv69+2PS0Bgv8i/S9U=";
};
nativeBuildInputs = [

View file

@ -55,11 +55,11 @@
stdenv.mkDerivation rec {
pname = "gnome-boxes";
version = "41.2";
version = "41.3";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "u3G2zflFOBjyblV0Tl5ZUN2TJ5PQ6Ot+n/h78Mvvwz0=";
sha256 = "m4QGgNHnOG/d/WoVrU3Q8s2ljv6BjPVHg3tGrovw4Yk=";
};
doCheck = true;

View file

@ -28,14 +28,14 @@
stdenv.mkDerivation rec {
pname = "rygel";
version = "0.40.2";
version = "0.40.3";
# TODO: split out lib
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "yejHNiltIsTe/pWXJ6KdMUN7vSt6oMZHDWviQBEFBpc=";
sha256 = "zwvjUQnLVw5c8K/lltha7Lmw6TWYYVNTArt7YE2vUdc=";
};
patches = [

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "gnome-autoar";
version = "0.4.1";
version = "0.4.2";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "ZGvVDrrZLZHBvokJehU2QVYVdELKwUcd7X7LJ9mpFQ4=";
sha256 = "HSBpQHkwDhL+q9t3MEqWnRzBkNHRKpSb6EXK0Bx4pdM=";
};
nativeBuildInputs = [

View file

@ -1,18 +1,19 @@
{ lib, eggDerivation, fetchurl, chickenEggs }:
{ lib, eggDerivation, fetchFromGitHub, chickenEggs }:
# Note: This mostly reimplements the default.nix already contained in
# the tarball. Is there a nicer way than duplicating code?
let
eggDerivation rec {
name = "egg2nix-${version}";
version = "0.5";
in
eggDerivation {
src = fetchurl {
url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y";
src = fetchFromGitHub {
owner = "the-kenny";
repo = "egg2nix";
rev = version;
sha256 = "sha256-5ov2SWVyTUQ6NHnZNPRywd9e7oIxHlVWv4uWbsNaj/s=";
};
name = "egg2nix-${version}";
buildInputs = with chickenEggs; [
matchable http-client
];

View file

@ -1,14 +1,16 @@
# Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
{ lib, stdenv, fetchurl, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
{ lib, stdenv, fetchFromGitHub, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
stdenv.mkDerivation rec {
pname = "fsharp";
version = "4.0.1.1";
src = fetchurl {
url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
sha256 = "0mvmvwwpl4zq0yvgzdizww8l9azvlrc82xm32nz1fi1nw8x5qfqk";
src = fetchFromGitHub {
owner = "fsharp";
repo = "fsharp";
rev = version;
sha256 = "sha256-dgTEM2aL8lVjVMuW0+HLc+TUA39IiuBv/RfHYNURh5s=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -82,6 +82,7 @@ let majorVersion = "9";
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
++ optional noSysDirs ../no-sys-dirs.patch
++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv-gcc9.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
sha256 = ""; # TODO: uncomment and check hash when available.

View file

@ -0,0 +1,17 @@
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 701f5ea1544..8de333caf54 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -886,11 +886,7 @@ extern unsigned riscv_stack_boundary;
"%{mabi=lp64f:lp64f}" \
"%{mabi=lp64d:lp64d}" \
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/lib/ " \
- "/usr/lib/ "
+#define STARTFILE_PREFIX_SPEC ""
/* ISA constants needed for code generation. */
#define OPCODE_LW 0x2003

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, gmp, perl }:
{ lib, stdenv, fetchFromGitHub, gmp, perl }:
stdenv.mkDerivation rec {
pname = "mosml";
@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
src = fetchurl {
url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz";
sha256 = "13x7wj94p0inn84pzpj52dch5s9lznqrj287bd3nk3dqd0v3kmgy";
src = fetchFromGitHub {
owner = "kfl";
repo = "mosml";
rev = "ver-${version}";
sha256 = "sha256-GK39WvM7NNhoC5f0Wjy4/5VWT+Rbh2qo+W71hWrbPso=";
};
setSourceRoot = ''export sourceRoot="$(echo */src)"'';

View file

@ -1,16 +1,14 @@
{ lib, stdenv, fetchurl, omake, ocaml, flex, bison }:
{ lib, stdenv, fetchFromGitHub, omake, ocaml, flex, bison }:
let
version = "2.1";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "teyjus";
inherit version;
version = "2.1";
src = fetchurl {
url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz";
sha256 = "0393wpg8v1vvarqy2xh4fdmrwlrl6jaj960kql7cq79mb9p3m269";
src = fetchFromGitHub {
owner = "teyjus";
repo = "teyjus";
rev = "v${version}";
sha256 = "sha256-nz7jZ+GdF6mZQPzBrVD9K/RtoeuVRuhfs7vej4zDkhg=";
};
patches = [ ./fix-lex-to-flex.patch ];

View file

@ -1,12 +1,14 @@
{ stdenv, lib, fetchzip, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
{ stdenv, lib, fetchFromGitHub, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
stdenv.mkDerivation rec {
pname = "bats";
version = "1.5.0";
src = fetchzip {
url = "https://github.com/bats-core/bats-core/archive/v${version}.tar.gz";
hash = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
src = fetchFromGitHub {
owner = "bats-core";
repo = "bats-core";
rev = "v${version}";
sha256 = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, doxygen, cmake, readline }:
{ lib, stdenv, fetchFromGitHub, pkg-config, doxygen, cmake, readline }:
with lib;
stdenv.mkDerivation rec {
@ -6,9 +6,11 @@ stdenv.mkDerivation rec {
pname = "lolcode";
version = "0.11.2";
src = fetchurl {
url = "https://github.com/justinmeza/lci/archive/v${version}.tar.gz";
sha256 = "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b";
src = fetchFromGitHub {
owner = "justinmeza";
repo = "lci";
rev = "v${version}";
sha256 = "sha256-VMBW3/sw+1kI6iuOckSPU1TIeY6QORcSfFLFkRYw3Gs=";
};
nativeBuildInputs = [ pkg-config cmake doxygen ];

View file

@ -1,12 +1,14 @@
{ lib, stdenv, fetchurl, cmake }:
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "p8-platform";
version = "2.1.0.1";
src = fetchurl {
url = "https://github.com/Pulse-Eight/platform/archive/p8-platform-${version}.tar.gz";
sha256 = "18381y54f7d18ckpzf9cfxbz1ws6imprbbm9pvhcg5c86ln8skq6";
src = fetchFromGitHub {
owner = "Pulse-Eight";
repo = "platform";
rev = "p8-platform-${version}";
sha256 = "sha256-zAI/AOLJAunv+cCQ6bOXrgkW+wl5frj3ktzx2cDeCCk=";
};
nativeBuildInputs = [ cmake ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libite";
version = "2.4.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "troglobit";
repo = "libite";
rev = "v${version}";
sha256 = "sha256-EV1YVOxd92z2hBZIqe6jzYV06YfNTAbZntZQdH05lBI=";
sha256 = "sha256-G9X0ZMyasS9praogWnLDU1LeTvK4fYPgJ89o2y3AIJI=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl
, pkg-config
, libxml2, findXMLCatalogs, gettext, python3, libgcrypt
, libxml2, findXMLCatalogs, gettext, python, libgcrypt
, cryptoSupport ? false
, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
}:
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libxml2.dev ]
++ lib.optional stdenv.isDarwin gettext
++ lib.optionals pythonSupport [ libxml2.py python3 ]
++ lib.optionals pythonSupport [ libxml2.py python ]
++ lib.optionals cryptoSupport [ libgcrypt ];
propagatedBuildInputs = [ findXMLCatalogs ];
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
"--without-debug"
"--without-mem-debug"
"--without-debugger"
] ++ lib.optional pythonSupport "--with-python=${python3}"
] ++ lib.optional pythonSupport "--with-python=${python}"
++ lib.optional (!cryptoSupport) "--without-crypto";
postFixup = ''
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
'' + lib.optionalString pythonSupport ''
mkdir -p $py/nix-support
echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
moveToOutput ${python3.libPrefix} "$py"
moveToOutput ${python.libPrefix} "$py"
'';
passthru = {

View file

@ -0,0 +1,61 @@
{ stdenv
, lib
, fetchFromGitHub
# build time
, cmake
, pkg-config
# run time
, pcre2
# update script
, genericUpdater
, common-updater-scripts
}:
stdenv.mkDerivation rec {
pname = "libyang";
version = "2.0.112";
src = fetchFromGitHub {
owner = "CESNET";
repo = "libyang";
rev = "v${version}";
sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
pcre2
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_BUILD_TYPE:String=Release"
];
passthru.updateScript = genericUpdater {
inherit pname version;
versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
rev-prefix = "v";
};
meta = with lib; {
description = "YANG data modelling language parser and toolkit";
longDescription = ''
libyang is a YANG data modelling language parser and toolkit written (and
providing API) in C. The library is used e.g. in libnetconf2, Netopeer2,
sysrepo or FRRouting projects.
'';
homepage = "https://github.com/CESNET/libyang";
license = with licenses; [ bsd3 ];
platforms = platforms.unix;
maintainers = with maintainers; [ woffs ];
};
}

View file

@ -0,0 +1,26 @@
/* Generated file. */
args @ { fetchurl, ... }:
rec {
baseName = "cl-mustache";
version = "20200325-git";
description = "Mustache Template Renderer";
deps = [ args."uiop" ];
src = fetchurl {
url = "http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz";
sha256 = "1x1rsmgqc39imx4ay3b35dzvzccaqjayz90qv2cylqbbq9sg9arr";
};
packageName = "cl-mustache";
asdFilesToKeep = ["cl-mustache.asd"];
overrides = x: x;
}
/* (SYSTEM cl-mustache DESCRIPTION Mustache Template Renderer SHA256
1x1rsmgqc39imx4ay3b35dzvzccaqjayz90qv2cylqbbq9sg9arr URL
http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz
MD5 52381d17458d88d6a8b760f351bf517d NAME cl-mustache FILENAME cl-mustache
DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop) VERSION 20200325-git
SIBLINGS (cl-mustache-test) PARASITES NIL) */

View file

@ -60,6 +60,7 @@ cl-l10n
cl-libuv
cl-locale
cl-markup
cl-mustache
cl-mysql
cl-paths-ttf
cl-pattern

View file

@ -4312,6 +4312,15 @@ let quicklisp-to-nix-packages = rec {
}));
"cl-mustache" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."cl-mustache" or (x: {}))
(import ./quicklisp-to-nix-output/cl-mustache.nix {
inherit fetchurl;
"uiop" = quicklisp-to-nix-packages."uiop";
}));
"cl-markup" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."cl-markup" or (x: {}))

View file

@ -44,7 +44,7 @@
(wrap :ql-dist short-description)
(defun escape-filename (s)
(format
(format
nil "~a~{~a~}"
(if (scan "^[a-zA-Z_]" s) "" "_")
(loop
@ -260,9 +260,10 @@ This function stores results for memoization purposes in files within
(defun print-usage-and-quit ()
"Does what it says on the tin."
(format *error-output* "Usage:
~A [--help] [--cacheSystemInfoDir <path>] <work-dir>
~A [--help] [--cacheSystemInfoDir <path>] [--cacheFaslDir <path>] <work-dir>
Arguments:
--cacheSystemInfoDir Store computed system info in the given directory
--cacheFaslDir Store intermediate fast load files in the given directory
--help Print usage and exit
<work-dir> Path to directory with quicklisp-to-nix-systems.txt
" (uiop:argv0))

View file

@ -314,7 +314,7 @@ let
src = fetchurl {
url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
sha512 = "sha512-pzgc95msPLcCHqOli7Hnabu/GRfSGSUWl5s2P6N13T/rgMB+NNeKbxCmzQiZT2yLOeLEPivV6YrW1oeQIwJxcg==";
sha512 = "sha512-xLmVyO/L6C4ZdHzHqiJVq3ZfDWSym29x75JcwJx746ps61UcNEg4ozSwN9ud7UjXLntdXe1xDLNOUO1lc7LN5g==";
};
postInstall = with pkgs; ''
wrapProgram "$out/bin/prisma" \

View file

@ -1,4 +1,4 @@
{ fetchzip, buildDunePackage, lwt, ppxlib }:
{ fetchFromGitHub, buildDunePackage, lwt, ppxlib }:
buildDunePackage {
pname = "lwt_ppx";
@ -8,16 +8,18 @@ buildDunePackage {
minimumOCamlVersion = "4.04";
src = fetchzip {
# `lwt_ppx` has a different release cycle than Lwt, but it's included in
# one of its release bundles.
# Because there could exist an Lwt release _without_ a `lwt_ppx` release,
# this `src` field doesn't inherit from the Lwt derivation.
#
# This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
# as new Lwt releases may contain broken `lwt_ppx` code.
url = "https://github.com/ocsigen/lwt/archive/5.4.0.tar.gz";
sha256 = "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d";
# `lwt_ppx` has a different release cycle than Lwt, but it's included in
# one of its release bundles.
# Because there could exist an Lwt release _without_ a `lwt_ppx` release,
# this `src` field doesn't inherit from the Lwt derivation.
#
# This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
# as new Lwt releases may contain broken `lwt_ppx` code.
src = fetchFromGitHub {
owner = "ocsigen";
repo = "lwt";
rev = "5.4.0";
sha256 = "sha256-rRivROVbQbXkHWen1n8+9AwrRJaOK0Fhyilw29T7was=";
};
propagatedBuildInputs = [ lwt ppxlib ];

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, ocaml, findlib, camlp4 }:
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, camlp4 }:
if !lib.versionAtLeast ocaml.version "4.00"
|| lib.versionAtLeast ocaml.version "4.03"
@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
pname = "ocaml-type_conv";
version = "109.60.01";
src = fetchurl {
url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
src = fetchFromGitHub {
owner = "janestreet";
repo = "type_conv";
rev = version;
sha256 = "sha256-8Oz/fPL3+RghyxQp5u6seSEdf0BgfP6XNcsMYty0rNs=";
};
buildInputs = [ ocaml findlib camlp4 ];

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, buildOcaml}:
{ lib, fetchFromGitHub, buildOcaml}:
buildOcaml rec {
minimumSupportedOcamlVersion = "4.02";
@ -6,9 +6,11 @@ buildOcaml rec {
pname = "type_conv";
version = "113.00.02";
src = fetchurl {
url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
src = fetchFromGitHub {
owner = "janestreet";
repo = "type_conv";
rev = version;
sha256 = "sha256-HzH0hnceCQ2kDRATjl+tfKk3XSBDsGnPzVUGYpDQUmU=";
};
meta = {

View file

@ -2,55 +2,51 @@
, stdenv
, buildPythonPackage
, fetchPypi
, setuptools-scm
, pytestCheckHook
, gevent
, pytest-asyncio
, pytest-tornado
, sqlalchemy
, pytestCheckHook
, pythonOlder
, pytz
, setuptools
, setuptools-scm
, six
, tornado
, twisted
, mock
, gevent
, six
, pytz
, tzlocal
, funcsigs
, setuptools
, pythonOlder
}:
buildPythonPackage rec {
pname = "APScheduler";
pname = "apscheduler";
version = "3.8.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "5cf344ebcfbdaa48ae178c029c055cec7bc7a4a47c21e315e4d1f08bd35f2355";
pname = "APScheduler";
inherit version;
hash = "sha256-XPNE68+9qkiuF4wCnAVc7HvHpKR8IeMV5NHwi9NfI1U=";
};
buildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
pytz
setuptools
six
tzlocal
];
checkInputs = [
gevent
pytest-asyncio
pytest-tornado
pytestCheckHook
sqlalchemy
tornado
twisted
mock
gevent
];
propagatedBuildInputs = [
six
pytz
tzlocal
funcsigs
setuptools
];
postPatch = ''
@ -60,15 +56,21 @@ buildPythonPackage rec {
disabledTests = [
"test_broken_pool"
# gevent tests have issue on newer Python releases
"test_add_live_job"
"test_add_pending_job"
"test_shutdown"
] ++ lib.optionals stdenv.isDarwin [
"test_submit_job"
"test_max_instances"
];
pythonImportsCheck = [ "apscheduler" ];
pythonImportsCheck = [
"apscheduler"
];
meta = with lib; {
description = "A Python library that lets you schedule your Python code to be executed";
description = "Library that lets you schedule your Python code to be executed";
homepage = "https://github.com/agronholm/apscheduler";
license = licenses.mit;
maintainers = with maintainers; [ ];

View file

@ -7,6 +7,7 @@
, libusb1
, mock
, pyasn1
, pythonAtLeast
, pycryptodome
, pytestCheckHook
, rsa
@ -15,15 +16,15 @@
buildPythonPackage rec {
pname = "adb-shell";
version = "0.4.2";
format = "setuptools";
disabled = !isPy3k;
# pypi does not contain tests, using github sources instead
src = fetchFromGitHub {
owner = "JeffLIrion";
repo = "adb_shell";
rev = "v${version}";
sha256 = "sha256-8tclSjmLlTAIeq6t7YPGtJwvSwtlzQ7sRAQatcQRzeY=";
hash = "sha256-8tclSjmLlTAIeq6t7YPGtJwvSwtlzQ7sRAQatcQRzeY=";
};
propagatedBuildInputs = [
@ -40,7 +41,16 @@ buildPythonPackage rec {
pytestCheckHook
];
pythonImportsCheck = [ "adb_shell" ];
disabledTests = lib.optionals (pythonAtLeast "3.10") [
# Tests are failing with Python 3.10
# https://github.com/JeffLIrion/adb_shell/issues/198
"TestAdbDeviceAsync"
"TestTcpTransportAsync"
];
pythonImportsCheck = [
"adb_shell"
];
meta = with lib; {
description = "Python implementation of ADB with shell and FileSync functionality";

View file

@ -4,21 +4,21 @@
, pythonOlder
, pygments
, pytestCheckHook
, pytest-cov
, uvloop
}:
buildPythonPackage rec {
pname = "aiorun";
version = "2021.8.1";
version = "2021.10.1";
format = "flit";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "cjrh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-aehYPZ1+GEO+bNSsE5vVgjtVo4MRMH+vNurk+bJ1/Io=";
hash = "sha256-9e1vUWDBv3BYWuKR/rZUvaIxFFetzBQaygXKnl4PDd8=";
};
propagatedBuildInputs = [
@ -27,7 +27,6 @@ buildPythonPackage rec {
checkInputs = [
pytestCheckHook
pytest-cov
uvloop
];
@ -36,7 +35,9 @@ buildPythonPackage rec {
export HOME=$TMPDIR
'';
pythonImportsCheck = [ "aiorun" ];
pythonImportsCheck = [
"aiorun"
];
meta = with lib; {
description = "Boilerplate for asyncio applications";

View file

@ -13,12 +13,13 @@
, colorlog
, croniter
, cryptography
, dataclasses
, dill
, flask
, flask-appbuilder
, flask-caching
, flask_login
, flask_wtf
, flask-appbuilder
, flask-caching
, GitPython
, graphviz
, gunicorn
@ -47,6 +48,7 @@
, python-nvd3
, python-slugify
, python3-openid
, pythonOlder
, pyyaml
, rich
, setproctitle
@ -63,7 +65,6 @@
, mkYarnPackage
}:
let
version = "2.1.4";
airflow-src = fetchFromGitHub rec {
@ -107,6 +108,8 @@ buildPythonPackage rec {
inherit version;
src = airflow-src;
disabled = pythonOlder "3.6";
propagatedBuildInputs = [
alembic
argcomplete
@ -130,7 +133,6 @@ buildPythonPackage rec {
httpx
iso8601
importlib-resources
importlib-metadata
inflection
itsdangerous
jinja2
@ -163,6 +165,10 @@ buildPythonPackage rec {
termcolor
unicodecsv
werkzeug
] ++ lib.optionals (pythonOlder "3.7") [
dataclasses
] ++ lib.optionals (pythonOlder "3.9") [
importlib-metadata
];
buildInputs = [
@ -178,24 +184,22 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace setup.cfg \
--replace "importlib_resources~=1.4" "importlib_resources" \
--replace "importlib_metadata~=1.7" "importlib_metadata" \
--replace "tenacity~=6.2.0" "tenacity" \
--replace "pyjwt<2" "pyjwt" \
--replace "flask>=1.1.0, <2.0" "flask" \
--replace "flask-login>=0.3, <0.5" "flask-login" \
--replace "flask-wtf>=0.14.3, <0.15" "flask-wtf" \
--replace "jinja2>=2.10.1, <2.12.0" "jinja2" \
--replace "attrs>=20.0, <21.0" "attrs" \
--replace "cattrs~=1.1, <1.7.0" "cattrs" \
--replace "markupsafe>=1.1.1, <2.0" "markupsafe" \
--replace "colorlog>=4.0.2, <6.0" "colorlog" \
--replace "croniter>=0.3.17, <1.1" "croniter" \
--replace "docutils<0.17" "docutils" \
--replace "sqlalchemy>=1.3.18, <1.4" "sqlalchemy" \
--replace "sqlalchemy_jsonfield~=1.0" "sqlalchemy-jsonfield" \
--replace "werkzeug~=1.0, >=1.0.1" "werkzeug" \
--replace "flask-login>=0.3, <0.5" "flask-login" \
--replace "flask-wtf>=0.14.3, <0.15" "flask-wtf" \
--replace "flask>=1.1.0, <2.0" "flask" \
--replace "importlib_resources~=1.4" "importlib_resources" \
--replace "itsdangerous>=1.1.0, <2.0" "itsdangerous" \
--replace "markupsafe>=1.1.1, <2.0" "markupsafe" \
--replace "pyjwt<2" "pyjwt" \
--replace "python-slugify>=3.0.0,<5.0" "python-slugify" \
--replace "colorlog>=4.0.2, <6.0" "colorlog"
--replace "sqlalchemy_jsonfield~=1.0" "sqlalchemy-jsonfield" \
--replace "tenacity~=6.2.0" "tenacity" \
--replace "werkzeug~=1.0, >=1.0.1" "werkzeug"
substituteInPlace tests/core/test_core.py \
--replace "/bin/bash" "${stdenv.shell}"
@ -205,19 +209,21 @@ buildPythonPackage rec {
--replace "/tmp/sqlite_default.db" "$TMPDIR/sqlite_default.db"
'';
# allow for gunicorn processes to have access to python packages
makeWrapperArgs = [ "--prefix PYTHONPATH : $PYTHONPATH" ];
# allow for gunicorn processes to have access to Python packages
makeWrapperArgs = [
"--prefix PYTHONPATH : $PYTHONPATH"
];
preCheck = ''
export HOME=$(mktemp -d)
export AIRFLOW_HOME=$HOME
export AIRFLOW__CORE__UNIT_TEST_MODE=True
export AIRFLOW_DB="$HOME/airflow.db"
export PATH=$PATH:$out/bin
export HOME=$(mktemp -d)
export AIRFLOW_HOME=$HOME
export AIRFLOW__CORE__UNIT_TEST_MODE=True
export AIRFLOW_DB="$HOME/airflow.db"
export PATH=$PATH:$out/bin
airflow version
airflow db init
airflow db reset -y
airflow version
airflow db init
airflow db reset -y
'';
pytestFlagsArray = [
@ -225,7 +231,7 @@ buildPythonPackage rec {
];
disabledTests = lib.optionals stdenv.isDarwin [
"bash_operator_kill" # psutil.AccessDenied
"bash_operator_kill" # psutil.AccessDenied
];
postInstall = ''

View file

@ -1,16 +1,18 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPyPy
, pytestCheckHook
, case
, psutil
, pythonOlder
}:
buildPythonPackage rec {
pname = "billiard";
version = "3.6.4.0";
disabled = isPyPy;
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
@ -23,9 +25,14 @@ buildPythonPackage rec {
pytestCheckHook
];
pythonImportsCheck = [
"billiard"
];
meta = with lib; {
homepage = "https://github.com/celery/billiard";
description = "Python multiprocessing fork with improvements and bugfixes";
homepage = "https://github.com/celery/billiard";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}

View file

@ -1,20 +1,40 @@
{ lib, buildPythonPackage, fetchPypi
, six, nose, unittest2, mock }:
{ lib
, buildPythonPackage
, fetchPypi
, nose
, pythonOlder
, pytestCheckHook
, six
}:
buildPythonPackage rec {
pname = "case";
version = "1.5.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "48432b01d91913451c3512c5b90e31b0f348f1074b166a3431085eb70d784fb1";
};
propagatedBuildInputs = [ six nose unittest2 mock ];
propagatedBuildInputs = [
nose
six
];
# No real unittests, only coverage
doCheck = false;
pythonImportsCheck = [
"case"
];
meta = with lib; {
homepage = "https://github.com/celery/case";
description = "unittests utilities";
description = "Utilities for unittests handling";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}

View file

@ -1,4 +1,11 @@
{ lib, buildPythonPackage, fetchPypi, python, packaging, unittest2 }:
{ lib, buildPythonPackage, fetchPypi
, fetchpatch
, packaging
, python
, pythonAtLeast
, pythonOlder
, unittest2
}:
buildPythonPackage rec {
pname = "deprecation";
@ -9,9 +16,22 @@ buildPythonPackage rec {
sha256 = "1zqqjlgmhgkpzg9ss5ki8wamxl83xn51fs6gn2a8cxsx9vkbvcvj";
};
patches = lib.optionals (pythonAtLeast "3.10") [
# fixes for python 3.10 test suite
(fetchpatch {
url = "https://github.com/briancurtin/deprecation/pull/57/commits/e13e23068cb8d653a02a434a159e8b0b7226ffd6.patch";
sha256 = "sha256-/5zr2V1s5ULUZnbLXsgyHxZH4m7/a27QYuqQt2Savc8=";
includes = [ "tests/test_deprecation.py" ];
})
];
propagatedBuildInputs = [ packaging ];
checkInputs = [ unittest2 ];
# avoiding mass rebuilds for python3.9, but no longer
# needed with patch
checkInputs = lib.optional (pythonOlder "3.10") [
unittest2
];
checkPhase = ''
${python.interpreter} -m unittest discover

View file

@ -39,7 +39,8 @@ buildPythonPackage rec {
--replace '"enum-compat==0.0.3",' "" \
--replace '"argparse==1.4.0",' "" \
--replace "click==7.1.2" "click" \
--replace "pyscard==2.0.0" "pyscard"
--replace "pyscard==2.0.0" "pyscard" \
--replace "terminaltables==3.1.0" "terminaltables"
'';
pythonImportsCheck = [

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "enrich";
version = "1.2.6";
version = "1.2.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-Dpn/V9h/e13vDKeZF+iPuTUaoNUuIo7ji/982FgxX+Q=";
sha256 = "0a2ab0d2931dff8947012602d1234d2a3ee002d9a355b5d70be6bf5466008893";
};
buildInputs = [ setuptools-scm ];

View file

@ -1,27 +1,51 @@
{ lib, buildPythonPackage, fetchPypi, pythonAtLeast
, flask, blinker, nose, mock, semantic-version }:
{ lib
, blinker
, buildPythonPackage
, fetchPypi
, flask
, pytestCheckHook
, pythonAtLeast
, pythonOlder
, semantic-version
, werkzeug
}:
buildPythonPackage rec {
pname = "Flask-Login";
pname = "flask-login";
version = "0.5.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
pname = "Flask-Login";
inherit version;
sha256 = "6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b";
};
checkInputs = [ nose mock semantic-version ];
propagatedBuildInputs = [ flask blinker ];
propagatedBuildInputs = [
flask
werkzeug
];
checkPhase = "nosetests -d";
checkInputs = [
blinker
pytestCheckHook
semantic-version
];
doCheck = pythonAtLeast "3.3";
disabledTests = lib.optionals (pythonAtLeast "3.10") [
"test_hashable"
];
pythonImportsCheck = [
"flask_login"
];
meta = with lib; {
homepage = "https://github.com/maxcountryman/flask-login";
description = "User session management for Flask";
homepage = "https://github.com/maxcountryman/flask-login";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ abbradar ];
};
}

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "hahomematic";
version = "0.18.0";
version = "0.19.0";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = pname;
rev = version;
sha256 = "sha256-SkEI5uWKtszSBZblDBvbEmJh0OdvqDcwY6PG3JK4djY=";
sha256 = "sha256-i3pNbIYISvZ681KLnxP9ZpITnkX7p0rBWjs1KidlFrM=";
};
propagatedBuildInputs = [

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "identify";
version = "2.4.2";
version = "2.4.3";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "pre-commit";
repo = pname;
rev = "v${version}";
sha256 = "sha256-6YduKmXqgqXAqlK2cd1CkdI7nzK0Dg65E+nl6vhMAow=";
sha256 = "sha256-r7Ta/OumYdm+brM6UgAPTWvxODpex1Mg0Arq94tPdnM=";
};
checkInputs = [

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "jedi-language-server";
version = "0.34.12";
version = "0.35.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "pappasam";
repo = pname;
rev = "v${version}";
sha256 = "0v2292sn0c9bl4gsw698hpzcgm115gk4929nx726vh2139qnazqp";
sha256 = "sha256-+bhvWWiG0cA36oc2PFvgRTIvqnjIt5BUN82DY0tvuPo=";
};
nativeBuildInputs = [

View file

@ -17,6 +17,9 @@ buildPythonPackage rec {
};
postPatch = ''
# relax version constraint, https://storyboard.openstack.org/#!/story/2009723
substituteInPlace requirements.txt --replace 'PyYAML>=3.10.0,<6' 'PyYAML>=3.10.0'
export HOME=$TMPDIR
'';

View file

@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "coveooss";
repo = pname;
rev = "v${version}";
sha256 = "sha256-gaholnLO5oIQaXgliuvlU2MfpjiCMgAPplOPgvMYim8=";
hash = "sha256-gaholnLO5oIQaXgliuvlU2MfpjiCMgAPplOPgvMYim8=";
};
nativeBuildInputs = [
@ -54,6 +54,12 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
# https://github.com/coveooss/json-schema-for-humans/issues/127
substituteInPlace pyproject.toml \
--replace 'PyYAML = "^5.4.1"' 'PyYAML = "*"'
'';
disabledTests = [
# Tests require network access
"test_references_url"

View file

@ -13,12 +13,12 @@
buildPythonPackage rec {
pname = "keyring";
version = "23.4.0";
disabled = pythonOlder "3.6";
version = "23.5.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-iPIGAkKV48b7FrsKYPtLt+wRhWKdxacp8SqnwjbQE4c=";
hash = "sha256-kBJQjhQagL0cC2d41cYQ3Z+MRk11rGd0JIUAUD+XL7k=";
};
nativeBuildInputs = [

View file

@ -1,24 +1,38 @@
{ buildPythonPackage, fetchPypi, lib, numpy, pytest_4 }:
{ lib
, buildPythonPackage
, fetchPypi
, numpy
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
version = "3.3.0";
pname = "opt_einsum";
pname = "opt-einsum";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit version pname;
sha256 = "0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr";
pname = "opt_einsum";
inherit version;
hash = "sha256-WfZHX3e7w33PfNdIUZwOxgci6R5jyhFOaIIcDFSkZUk=";
};
propagatedBuildInputs = [ numpy ];
propagatedBuildInputs = [
numpy
];
checkInputs = [ pytest_4 ];
checkInputs = [
pytestCheckHook
];
checkPhase = ''
pytest
'';
pythonImportsCheck = [
"opt_einsum"
];
meta = with lib; {
description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
description = "Optimizing NumPy's einsum function with order optimization and GPU support";
homepage = "https://github.com/dgasmith/opt_einsum";
license = licenses.mit;
maintainers = with maintainers; [ teh ];

View file

@ -1,46 +1,36 @@
{ lib
, fetchPypi
, fetchpatch
, buildPythonPackage
, isPy27
# Python deps
, logutils
, Mako
, six
, webtest
# Test Inputs
, pythonOlder
, pytestCheckHook
, genshi
, gunicorn
, jinja2
, Kajiki
, mock
, six
, sqlalchemy
, virtualenv
}:
buildPythonPackage rec {
pname = "pecan";
version = "1.4.0";
version = "1.4.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "4b2acd6802a04b59e306d0a6ccf37701d24376f4dc044bbbafba3afdf9d3389a";
sha256 = "sha256-LL0O7btXR8BM3xjEquTxxunZUPOvcK8lRLB09+16BIA=";
};
patches = [
(fetchpatch {
name = "Support-SQLAlchemy-1.4x.patch";
url = "https://github.com/pecan/pecan/commit/a520bd544c0b02a02dbf692b8d6e2f7a503ee6d4.patch";
sha256 = "sha256-QCHRjwnpy8ndCvcuyE5Y65BybKYthJXDySUtmpJD8gY=";
})
];
propagatedBuildInputs = [
logutils
Mako
six
webtest
six
];
checkInputs = [
@ -48,19 +38,23 @@ buildPythonPackage rec {
genshi
gunicorn
jinja2
mock
sqlalchemy
virtualenv
] ++ lib.optionals isPy27 [ Kajiki ];
];
pytestFlagsArray = [
"--pyargs pecan "
"--pyargs pecan"
];
pythonImportsCheck = [
"pecan"
];
meta = with lib; {
description = "WSGI object-dispatching web framework, designed to be lean and fast";
homepage = "https://www.pecanpy.org/";
changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
description = "WSGI object-dispatching web framework";
homepage = "https://www.pecanpy.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ applePrincess ];
};
}

View file

@ -52,7 +52,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module to get data from Atome Key";
homepage = "hhttps://github.com/jugla/pyKeyAtome";
homepage = "https://github.com/jugla/pyKeyAtome";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "pylaunches";
version = "1.2.0";
version = "1.2.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "ludeeus";
repo = pname;
rev = version;
sha256 = "0mczxkwczyh9kva4xzpmnawy0hjha1fdrwj6igip9w5z1q48zs49";
sha256 = "sha256-WwtNgKP5YM9i7au02taOfJuKQy6DDmmBrE34EPvJYmA=";
};
propagatedBuildInputs = [

View file

@ -10,14 +10,16 @@
}:
buildPythonPackage rec {
pname = "Pyro4";
version = "4.81";
pname = "pyro4";
version = "4.82";
format = "setuptools";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f";
pname = "Pyro4";
inherit version;
hash = "sha256-UR9bCATpLdd9wzrfnJR3h+P56cWpaxIWLwVXp8TOIfs=";
};
propagatedBuildInputs = [
@ -30,13 +32,18 @@ buildPythonPackage rec {
msgpack
];
checkInputs = [ pytestCheckHook ];
checkInputs = [
pytestCheckHook
];
# add testsupport.py to PATH
preCheck = "PYTHONPATH=tests/PyroTests:$PYTHONPATH";
# ignore network related tests, which fail in sandbox
pytestFlagsArray = [ "--ignore=tests/PyroTests/test_naming.py" ];
pytestFlagsArray = [
# ignore network related tests, which fail in sandbox
"--ignore=tests/PyroTests/test_naming.py"
];
disabledTests = [
"StartNSfunc"
@ -47,6 +54,10 @@ buildPythonPackage rec {
# otherwise the tests hang the build
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [
"Pyro4"
];
meta = with lib; {
description = "Distributed object middleware for Python (RPC)";
homepage = "https://github.com/irmen/Pyro4";

View file

@ -1,7 +1,7 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, fetchPypi
, pyaes
, pysocks
, async-lru
@ -11,15 +11,14 @@
buildPythonPackage rec {
pname = "pyrogram";
version = "1.3.0";
version = "1.3.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "pyrogram";
repo = "pyrogram";
rev = "v${version}";
sha256 = "09rxdd5bl1yby76xd3wcyrmlb4glixs637nj1w05gh2rp3gppkf8";
src = fetchPypi {
pname = "Pyrogram";
inherit version;
sha256 = "e883c001ebf2d0f5ce6805063470c92436c493eb15547923e5d437e2c13f66cd";
};
propagatedBuildInputs = [

View file

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pysma";
version = "0.6.9";
version = "0.6.10";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-2ZU3UjDNo+fpnYK4WlYSu7XqkbpcK7Xz5cUKDABhwdk=";
sha256 = "990abf6dba3f52b98970fc95aaf484e521faa9ff28c9c19f5a6dca3fddf5840c";
};
propagatedBuildInputs = [

View file

@ -48,7 +48,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python SPNEGO authentication library";
homepage = "Python SPNEGO authentication library";
homepage = "https://github.com/jborean93/pyspnego";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View file

@ -10,11 +10,11 @@
buildPythonPackage rec {
pname = "pytest-order";
version = "1.0.0";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-WZeiYrMSNO67Rh+anvJGh79zICm0mYRaQ5i2nttawyE=";
sha256 = "sha256-Xda5KfvX6qbQ7gdYb2XGI7q7Cv5ytIQ8XxUFXWs7Gx8=";
};
buildInputs = [ pytest ];

View file

@ -3,16 +3,21 @@
, fetchPypi
, docutils
, lockfile
, mock
, pytest_4
, pytestCheckHook
, testscenarios
, testtools
, twine
, python
, pythonOlder
, fetchpatch
}:
buildPythonPackage rec {
pname = "python-daemon";
version = "2.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
@ -29,22 +34,39 @@ buildPythonPackage rec {
];
checkInputs = [
pytest_4
mock
pytestCheckHook
testscenarios
testtools
];
# tests disabled due to incompatibilities with testtools>=2.5.0
checkPhase = ''
runHook preCheck
pytest -k ' \
not detaches_process_context and \
not standard_stream_file_descriptors and \
not test_module_has_attribute and \
not test_module_attribute_has_duck_type'
runHook postCheck
'';
patches = [
# Should be fixed in the next release
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/python-daemon/raw/rawhide/f/python-daemon-safe_hasattr.patch";
sha256 = "sha256-p5epAlM/sdel01oZkSI1vahUZYX8r90WCJuvBnfMaus=";
})
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/python-daemon/raw/rawhide/f/tests-remove-duplicate-mocking.patch";
sha256 = "sha256-5b/dFR3Z8xaPw8AZU95apDZd4ZfmMQhAmavWkVaJog8=";
})
];
disabledTests = [
"begin_with_TestCase"
"changelog_TestCase"
"ChangeLogEntry"
"DaemonContext"
"file_descriptor"
"get_distribution_version_info_TestCase"
"InvalidFormatError_TestCase"
"make_year_range_TestCase"
"ModuleExceptions_TestCase"
"test_metaclass_not_called"
"test_passes_specified_object"
"test_returns_expected"
"value_TestCase"
"YearRange_TestCase"
];
pythonImportsCheck = [
"daemon"
@ -56,10 +78,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library to implement a well-behaved Unix daemon process";
homepage = "https://pagure.io/python-daemon/";
license = with licenses; [
gpl3Plus
asl20
];
# See "Copying" section in https://pagure.io/python-daemon/blob/main/f/README
license = with licenses; [ gpl3Plus asl20 ];
maintainers = with maintainers; [ ];
};
}

View file

@ -3,6 +3,7 @@
, fetchFromGitHub
, mock
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
@ -10,6 +11,8 @@ buildPythonPackage rec {
version = "3.3.4";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "sendgrid";
repo = "python-http-client";
@ -22,6 +25,12 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# Test is failing as the test is dynamic
# https://github.com/sendgrid/python-http-client/issues/153
"test__daterange"
];
pythonImportsCheck = [
"python_http_client"
];

View file

@ -1,16 +1,30 @@
{ lib, fetchPypi, buildPythonPackage, isPy3k, pythonOlder
# runtime dependencies
, pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, importlib-metadata
# test suite dependencies
, nose, unittest2, flake8, httpretty, mock, jsondate, parameterized, faker, factory_boy
# additional runtime dependencies are required on Python 2.x
, pyopenssl, ndg-httpsclient, pyasn1
{ lib
, buildPythonPackage
, factory_boy
, faker
, fetchPypi
, httpretty
, importlib-metadata
, inflection
, jsondate
, mock
, more-itertools
, numpy
, pandas
, parameterized
, pytestCheckHook
, python-dateutil
, pythonOlder
, requests
, six
}:
buildPythonPackage rec {
pname = "quandl";
version = "3.7.0";
disabled = !isPy3k;
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit version;
@ -18,18 +32,6 @@ buildPythonPackage rec {
sha256 = "6e0b82fbc7861610b3577c5397277c4220e065eee0fed4e46cd6b6021655b64c";
};
checkInputs = [
nose
unittest2
flake8
httpretty
mock
jsondate
parameterized
faker
factory_boy
];
propagatedBuildInputs = [
pandas
numpy
@ -38,15 +40,23 @@ buildPythonPackage rec {
python-dateutil
six
more-itertools
] ++ lib.optionals (!isPy3k) [
pyopenssl
ndg-httpsclient
pyasn1
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
pythonImportsCheck = [ "quandl" ];
checkInputs = [
factory_boy
faker
httpretty
jsondate
mock
parameterized
pytestCheckHook
];
pythonImportsCheck = [
"quandl"
];
meta = with lib; {
description = "Quandl Python client library";

View file

@ -3,11 +3,15 @@
, fetchFromGitHub
, plumbum
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "rpyc";
version = "5.0.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "tomerfiliba";
@ -16,17 +20,27 @@ buildPythonPackage rec {
sha256 = "1g75k4valfjgab00xri4pf8c8bb2zxkhgkpyy44fjk7s5j66daa1";
};
propagatedBuildInputs = [ plumbum ];
propagatedBuildInputs = [
plumbum
];
checkInputs = [ pytestCheckHook ];
checkInputs = [
pytestCheckHook
];
# Disable tests that requires network access
disabledTests = [
# Disable tests that requires network access
"test_api"
"test_pruning"
"test_rpyc"
# Test is outdated
# ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997)
"test_ssl_conenction"
];
pythonImportsCheck = [
"rpyc"
];
pythonImportsCheck = [ "rpyc" ];
meta = with lib; {
description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";

View file

@ -1,30 +1,46 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest-cov
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "semver";
version = "2.13.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "python-semver";
repo = "python-semver";
rev = version;
sha256 = "sha256-IWTo/P9JRxBQlhtcH3JMJZZrwAA8EALF4dtHajWUc4w=";
hash = "sha256-IWTo/P9JRxBQlhtcH3JMJZZrwAA8EALF4dtHajWUc4w=";
};
checkInputs = [
pytest-cov
pytestCheckHook
];
# Confuses source vs dist imports in pytest
preCheck = "rm -r dist";
postPatch = ''
sed -i "/--cov/d" setup.cfg
sed -i "/--no-cov-on-fail/d" setup.cfg
'';
pythonImportsCheck = [ "semver" ];
preCheck = ''
# Confuses source vs dist imports in pytest
rm -r dist
'';
disabledTestPaths = [
# Don't test the documentation
"docs/*.rst"
];
pythonImportsCheck = [
"semver"
];
meta = with lib; {
description = "Python package to work with Semantic Versioning (http://semver.org/)";

Some files were not shown because too many files have changed in this diff Show more