Project import generated by Copybara.

GitOrigin-RevId: dcdf30a78a523296b5f9d44fb67afac485b64737
This commit is contained in:
Default email 2021-04-15 02:37:46 +02:00
parent 408a0d163f
commit 42c9938f11
126 changed files with 2100 additions and 624 deletions

View file

@ -1364,6 +1364,12 @@
githubId = 302429; githubId = 302429;
name = "Marton Boros"; name = "Marton Boros";
}; };
branwright1 = {
email = "branwright@protonmail.com";
github = "branwright1";
githubId = 71175207;
name = "Brandon Wright";
};
bramd = { bramd = {
email = "bram@bramd.nl"; email = "bram@bramd.nl";
github = "bramd"; github = "bramd";
@ -2591,6 +2597,16 @@
githubId = 10198051; githubId = 10198051;
name = "Drew Risinger"; name = "Drew Risinger";
}; };
dschrempf = {
name = "Dominik Schrempf";
email = "dominik.schrempf@gmail.com";
github = "dschrempf";
githubId = 5596239;
keys = [{
longkeyid = "rsa2048/0x875F2BCF163F1B29";
fingerprint = "62BC E2BD 49DF ECC7 35C7 E153 875F 2BCF 163F 1B29";
}];
};
dsferruzza = { dsferruzza = {
email = "david.sferruzza@gmail.com"; email = "david.sferruzza@gmail.com";
github = "dsferruzza"; github = "dsferruzza";
@ -2737,6 +2753,12 @@
githubId = 18535642; githubId = 18535642;
name = "Emily"; name = "Emily";
}; };
enderger = {
email = "endergeryt@gmail.com";
github = "enderger";
githubId = 36283171;
name = "Daniel";
};
endocrimes = { endocrimes = {
email = "dani@builds.terrible.systems"; email = "dani@builds.terrible.systems";
github = "endocrimes"; github = "endocrimes";
@ -3409,6 +3431,12 @@
githubId = 2129135; githubId = 2129135;
name = "Frederik Rietdijk"; name = "Frederik Rietdijk";
}; };
friedelino = {
email = "friede.mann@posteo.de";
github = "friedelino";
githubId = 46672819;
name = "Frido Friedemann";
};
frlan = { frlan = {
email = "frank@frank.uvena.de"; email = "frank@frank.uvena.de";
github = "frlan"; github = "frlan";
@ -5385,6 +5413,12 @@
githubId = 55911173; githubId = 55911173;
name = "Gwendolyn Quasebarth"; name = "Gwendolyn Quasebarth";
}; };
larsr = {
email = "Lars.Rasmusson@gmail.com";
github = "larsr";
githubId = 182024;
name = "Lars Rasmusson";
};
lasandell = { lasandell = {
email = "lasandell@gmail.com"; email = "lasandell@gmail.com";
github = "lasandell"; github = "lasandell";
@ -7557,6 +7591,12 @@
githubId = 28323; githubId = 28323;
name = "Peter Simons"; name = "Peter Simons";
}; };
petrosagg = {
email = "petrosagg@gmail.com";
github = "petrosagg";
githubId = 939420;
name = "Petros Angelatos";
};
petterstorvik = { petterstorvik = {
email = "petterstorvik@gmail.com"; email = "petterstorvik@gmail.com";
github = "storvik"; github = "storvik";

View file

@ -167,7 +167,7 @@ in {
# We know that the `user` attribute exists because we set a default value # We know that the `user` attribute exists because we set a default value
# for it above, allowing us to use it without worries here # for it above, allowing us to use it without worries here
users.users.${cfg.settings.user} = {}; users.users.${cfg.settings.user} = { isSystemUser = true; };
# ... # ...
}; };

View file

@ -845,6 +845,13 @@ environment.systemPackages = [
The option's description was incorrect regarding ownership management and has been simplified greatly. The option's description was incorrect regarding ownership management and has been simplified greatly.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
When defining a new user, one of <xref linkend="opt-users.users._name_.isNormalUser" /> and <xref linkend="opt-users.users._name_.isSystemUser" /> is now required.
This is to prevent accidentally giving a UID above 1000 to system users, which could have unexpected consequences, like running user activation scripts for system users.
Note that users defined with an explicit UID below 500 are exempted from this check, as <xref linkend="opt-users.users._name_.isSystemUser" /> has no effect for those.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The GNOME desktop manager once again installs <package>gnome3.epiphany</package> by default. The GNOME desktop manager once again installs <package>gnome3.epiphany</package> by default.
@ -941,6 +948,13 @@ environment.systemPackages = [
option. option.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Prior to this release, systemd would also read system units from an undocumented <literal>/etc/systemd-mutable/system</literal> path.
This path has been dropped from the defaults. That path (or others) can be re-enabled by adding it to the
<link linkend="opt-boot.extraSystemdUnitPaths">boot.extraSystemdUnitPaths</link> list.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -306,6 +306,7 @@ in {
description = "PulseAudio system service user"; description = "PulseAudio system service user";
home = stateDir; home = stateDir;
createHome = true; createHome = true;
isSystemUser = true;
}; };
users.groups.pulse.gid = gid; users.groups.pulse.gid = gid;

View file

@ -92,6 +92,8 @@ let
the user's UID is allocated in the range for system users the user's UID is allocated in the range for system users
(below 500) or in the range for normal users (starting at (below 500) or in the range for normal users (starting at
1000). 1000).
Exactly one of <literal>isNormalUser</literal> and
<literal>isSystemUser</literal> must be true.
''; '';
}; };
@ -107,6 +109,8 @@ let
<option>useDefaultShell</option> to <literal>true</literal>, <option>useDefaultShell</option> to <literal>true</literal>,
and <option>isSystemUser</option> to and <option>isSystemUser</option> to
<literal>false</literal>. <literal>false</literal>.
Exactly one of <literal>isNormalUser</literal> and
<literal>isSystemUser</literal> must be true.
''; '';
}; };
@ -521,6 +525,7 @@ in {
}; };
nobody = { nobody = {
uid = ids.uids.nobody; uid = ids.uids.nobody;
isSystemUser = true;
description = "Unprivileged account (don't use!)"; description = "Unprivileged account (don't use!)";
group = "nogroup"; group = "nogroup";
}; };
@ -608,17 +613,28 @@ in {
Neither the root account nor any wheel user has a password or SSH authorized key. Neither the root account nor any wheel user has a password or SSH authorized key.
You must set one to prevent being locked out of your system.''; You must set one to prevent being locked out of your system.'';
} }
] ++ flip mapAttrsToList cfg.users (name: user: ] ++ flatten (flip mapAttrsToList cfg.users (name: user:
{ [
{
assertion = (user.hashedPassword != null) assertion = (user.hashedPassword != null)
-> (builtins.match ".*:.*" user.hashedPassword == null); -> (builtins.match ".*:.*" user.hashedPassword == null);
message = '' message = ''
The password hash of user "${user.name}" contains a ":" character. The password hash of user "${user.name}" contains a ":" character.
This is invalid and would break the login system because the fields This is invalid and would break the login system because the fields
of /etc/shadow (file where hashes are stored) are colon-separated. of /etc/shadow (file where hashes are stored) are colon-separated.
Please check the value of option `users.users."${user.name}".hashedPassword`.''; Please check the value of option `users.users."${user.name}".hashedPassword`.'';
} }
); {
assertion = let
xor = a: b: a && !b || b && !a;
isEffectivelySystemUser = user.isSystemUser || (user.uid != null && user.uid < 500);
in xor isEffectivelySystemUser user.isNormalUser;
message = ''
Exactly one of users.users.${user.name}.isSystemUser and users.users.${user.name}.isNormalUser must be set.
'';
}
]
));
warnings = warnings =
builtins.filter (x: x != null) ( builtins.filter (x: x != null) (

View file

@ -8,6 +8,11 @@ let
cfg = config.programs.fish; cfg = config.programs.fish;
fishAbbrs = concatStringsSep "\n" (
mapAttrsFlatten (k: v: "abbr -ag ${k} ${escapeShellArg v}")
cfg.shellAbbrs
);
fishAliases = concatStringsSep "\n" ( fishAliases = concatStringsSep "\n" (
mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}")
(filterAttrs (k: v: v != null) cfg.shellAliases) (filterAttrs (k: v: v != null) cfg.shellAliases)
@ -83,6 +88,18 @@ in
''; '';
}; };
shellAbbrs = mkOption {
default = {};
example = {
gco = "git checkout";
npu = "nix-prefetch-url";
};
description = ''
Set of fish abbreviations.
'';
type = with types; attrsOf str;
};
shellAliases = mkOption { shellAliases = mkOption {
default = {}; default = {};
description = '' description = ''
@ -205,6 +222,7 @@ in
# if we haven't sourced the interactive config, do it # if we haven't sourced the interactive config, do it
status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced
and begin and begin
${fishAbbrs}
${fishAliases} ${fishAliases}
${sourceEnv "interactiveShellInit"} ${sourceEnv "interactiveShellInit"}

View file

@ -169,6 +169,7 @@ let
(map (mkAuthorizedKey cfg false) cfg.authorizedKeys (map (mkAuthorizedKey cfg false) cfg.authorizedKeys
++ map (mkAuthorizedKey cfg true) cfg.authorizedKeysAppendOnly); ++ map (mkAuthorizedKey cfg true) cfg.authorizedKeysAppendOnly);
useDefaultShell = true; useDefaultShell = true;
isSystemUser = true;
}; };
groups.${cfg.group} = { }; groups.${cfg.group} = { };
}; };

View file

@ -83,7 +83,8 @@ in
systemd.services.k3s = { systemd.services.k3s = {
description = "k3s service"; description = "k3s service";
after = mkIf cfg.docker [ "docker.service" ]; after = [ "network.service" "firewall.service" ] ++ (optional cfg.docker "docker.service");
wants = [ "network.service" "firewall.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
# See: https://github.com/rancher/k3s/blob/dddbd16305284ae4bd14c0aade892412310d7edc/install.sh#L197 # See: https://github.com/rancher/k3s/blob/dddbd16305284ae4bd14c0aade892412310d7edc/install.sh#L197
@ -92,6 +93,10 @@ in
Delegate = "yes"; Delegate = "yes";
Restart = "always"; Restart = "always";
RestartSec = "5s"; RestartSec = "5s";
LimitNOFILE = 1048576;
LimitNPROC = "infinity";
LimitCORE = "infinity";
TasksMax = "infinity";
ExecStart = concatStringsSep " \\\n " ( ExecStart = concatStringsSep " \\\n " (
[ [
"${cfg.package}/bin/k3s ${cfg.role}" "${cfg.package}/bin/k3s ${cfg.role}"

View file

@ -197,6 +197,7 @@ in {
group = pgmanage; group = pgmanage;
home = cfg.sqlRoot; home = cfg.sqlRoot;
createHome = true; createHome = true;
isSystemUser = true;
}; };
groups.${pgmanage} = { groups.${pgmanage} = {
name = pgmanage; name = pgmanage;

View file

@ -64,6 +64,7 @@ in
users.users = mkIf (cfg.user == "bazarr") { users.users = mkIf (cfg.user == "bazarr") {
bazarr = { bazarr = {
isSystemUser = true;
group = cfg.group; group = cfg.group;
home = "/var/lib/${config.systemd.services.bazarr.serviceConfig.StateDirectory}"; home = "/var/lib/${config.systemd.services.bazarr.serviceConfig.StateDirectory}";
}; };

View file

@ -21,6 +21,7 @@ let
calls in `libstore/build.cc', don't add any supplementary group calls in `libstore/build.cc', don't add any supplementary group
here except "nixbld". */ here except "nixbld". */
uid = builtins.add config.ids.uids.nixbld nr; uid = builtins.add config.ids.uids.nixbld nr;
isSystemUser = true;
group = "nixbld"; group = "nixbld";
extraGroups = [ "nixbld" ]; extraGroups = [ "nixbld" ];
}; };

View file

@ -34,7 +34,10 @@ in {
users = { users = {
groups._tuptime.members = [ "_tuptime" ]; groups._tuptime.members = [ "_tuptime" ];
users._tuptime.description = "tuptime database owner"; users._tuptime = {
isSystemUser = true;
description = "tuptime database owner";
};
}; };
systemd = { systemd = {

View file

@ -73,6 +73,7 @@ let
users.${variant} = { users.${variant} = {
description = "BIRD Internet Routing Daemon user"; description = "BIRD Internet Routing Daemon user";
group = variant; group = variant;
isSystemUser = true;
}; };
groups.${variant} = {}; groups.${variant} = {};
}; };

View file

@ -243,8 +243,10 @@ in
xlog.journal = true; xlog.journal = true;
}; };
users.users.ncdns = users.users.ncdns = {
{ description = "ncdns daemon user"; }; isSystemUser = true;
description = "ncdns daemon user";
};
systemd.services.ncdns = { systemd.services.ncdns = {
description = "ncdns daemon"; description = "ncdns daemon";

View file

@ -93,6 +93,7 @@ in
users.users.pixiecore = { users.users.pixiecore = {
description = "Pixiecore daemon user"; description = "Pixiecore daemon user";
group = "pixiecore"; group = "pixiecore";
isSystemUser = true;
}; };
networking.firewall = mkIf cfg.openFirewall { networking.firewall = mkIf cfg.openFirewall {

View file

@ -75,6 +75,7 @@ in {
description = "Pleroma user"; description = "Pleroma user";
home = cfg.stateDir; home = cfg.stateDir;
extraGroups = [ cfg.group ]; extraGroups = [ cfg.group ];
isSystemUser = true;
}; };
groups."${cfg.group}" = {}; groups."${cfg.group}" = {};
}; };

View file

@ -264,6 +264,7 @@ in
users.users.privacyidea = mkIf (cfg.user == "privacyidea") { users.users.privacyidea = mkIf (cfg.user == "privacyidea") {
group = cfg.group; group = cfg.group;
isSystemUser = true;
}; };
users.groups.privacyidea = mkIf (cfg.group == "privacyidea") {}; users.groups.privacyidea = mkIf (cfg.group == "privacyidea") {};
@ -294,6 +295,7 @@ in
users.users.pi-ldap-proxy = mkIf (cfg.ldap-proxy.user == "pi-ldap-proxy") { users.users.pi-ldap-proxy = mkIf (cfg.ldap-proxy.user == "pi-ldap-proxy") {
group = cfg.ldap-proxy.group; group = cfg.ldap-proxy.group;
isSystemUser = true;
}; };
users.groups.pi-ldap-proxy = mkIf (cfg.ldap-proxy.group == "pi-ldap-proxy") {}; users.groups.pi-ldap-proxy = mkIf (cfg.ldap-proxy.group == "pi-ldap-proxy") {};

View file

@ -607,6 +607,7 @@ in {
home = "${cfg.home}"; home = "${cfg.home}";
group = "nextcloud"; group = "nextcloud";
createHome = true; createHome = true;
isSystemUser = true;
}; };
users.groups.nextcloud.members = [ "nextcloud" config.services.nginx.user ]; users.groups.nextcloud.members = [ "nextcloud" config.services.nginx.user ];

View file

@ -818,7 +818,7 @@ in
ProtectControlGroups = true; ProtectControlGroups = true;
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
LockPersonality = true; LockPersonality = true;
MemoryDenyWriteExecute = !(builtins.any (mod: (mod.allowMemoryWriteExecute or false)) (optionals (cfg.package ? modules) cfg.package.modules)); MemoryDenyWriteExecute = !(builtins.any (mod: (mod.allowMemoryWriteExecute or false)) cfg.package.modules);
RestrictRealtime = true; RestrictRealtime = true;
RestrictSUIDSGID = true; RestrictSUIDSGID = true;
PrivateMounts = true; PrivateMounts = true;

View file

@ -31,7 +31,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-mariabackup ]; path = [ mysqlenv-common mysqlenv-mariabackup ];
}; };
@ -89,7 +89,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-mariabackup ]; path = [ mysqlenv-common mysqlenv-mariabackup ];
}; };
@ -136,7 +136,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-mariabackup ]; path = [ mysqlenv-common mysqlenv-mariabackup ];
}; };

View file

@ -31,7 +31,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-rsync ]; path = [ mysqlenv-common mysqlenv-rsync ];
}; };
@ -84,7 +84,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-rsync ]; path = [ mysqlenv-common mysqlenv-rsync ];
}; };
@ -130,7 +130,7 @@ in {
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
firewall.allowedUDPPorts = [ 4567 ]; firewall.allowedUDPPorts = [ 4567 ];
}; };
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
systemd.services.mysql = with pkgs; { systemd.services.mysql = with pkgs; {
path = [ mysqlenv-common mysqlenv-rsync ]; path = [ mysqlenv-common mysqlenv-rsync ];
}; };

View file

@ -9,8 +9,8 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
{ pkgs, ... }: { pkgs, ... }:
{ {
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
users.users.testuser2 = { }; users.users.testuser2 = { isSystemUser = true; };
services.mysql.enable = true; services.mysql.enable = true;
services.mysql.initialDatabases = [ services.mysql.initialDatabases = [
{ name = "testdb3"; schema = ./testdb.sql; } { name = "testdb3"; schema = ./testdb.sql; }
@ -44,8 +44,8 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
# Kernel panic - not syncing: Out of memory: compulsory panic_on_oom is enabled # Kernel panic - not syncing: Out of memory: compulsory panic_on_oom is enabled
virtualisation.memorySize = 1024; virtualisation.memorySize = 1024;
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
users.users.testuser2 = { }; users.users.testuser2 = { isSystemUser = true; };
services.mysql.enable = true; services.mysql.enable = true;
services.mysql.initialDatabases = [ services.mysql.initialDatabases = [
{ name = "testdb3"; schema = ./testdb.sql; } { name = "testdb3"; schema = ./testdb.sql; }
@ -75,8 +75,8 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
{ pkgs, ... }: { pkgs, ... }:
{ {
users.users.testuser = { }; users.users.testuser = { isSystemUser = true; };
users.users.testuser2 = { }; users.users.testuser2 = { isSystemUser = true; };
services.mysql.enable = true; services.mysql.enable = true;
services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" '' services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" ''
ALTER USER root@localhost IDENTIFIED WITH unix_socket; ALTER USER root@localhost IDENTIFIED WITH unix_socket;

View file

@ -22,11 +22,10 @@ in
users.users."member" = { users.users."member" = {
createHome = false; createHome = false;
description = "A member of the redis group"; description = "A member of the redis group";
isNormalUser = true;
extraGroups = [ extraGroups = [
"redis" "redis"
]; ];
group = "users";
shell = "/bin/sh";
}; };
}; };
}; };

View file

@ -274,7 +274,10 @@ in
I find cows to be evil don't you? I find cows to be evil don't you?
''; '';
users.users.tester.password = "test"; users.users.tester = {
isNormalUser = true;
password = "test";
};
services.postfix = { services.postfix = {
enable = true; enable = true;
destination = ["example.com"]; destination = ["example.com"];

View file

@ -13,14 +13,17 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
users = { users = {
mutableUsers = true; mutableUsers = true;
users.emma = { users.emma = {
isNormalUser = true;
password = password1; password = password1;
shell = pkgs.bash; shell = pkgs.bash;
}; };
users.layla = { users.layla = {
isNormalUser = true;
password = password2; password = password2;
shell = pkgs.shadow; shell = pkgs.shadow;
}; };
users.ash = { users.ash = {
isNormalUser = true;
password = password4; password = password4;
shell = pkgs.bash; shell = pkgs.bash;
}; };

View file

@ -150,6 +150,7 @@ import ./make-test-python.nix {
config.users.groups.chroot-testgroup = {}; config.users.groups.chroot-testgroup = {};
config.users.users.chroot-testuser = { config.users.users.chroot-testuser = {
isSystemUser = true;
description = "Chroot Test User"; description = "Chroot Test User";
group = "chroot-testgroup"; group = "chroot-testgroup";
}; };

View file

@ -132,12 +132,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
users.users = { users.users = {
# user that is permitted to access the unix socket # user that is permitted to access the unix socket
someuser.extraGroups = [ someuser = {
config.users.users.unbound.group isSystemUser = true;
]; extraGroups = [
config.users.users.unbound.group
];
};
# user that is not permitted to access the unix socket # user that is not permitted to access the unix socket
unauthorizeduser = {}; unauthorizeduser = { isSystemUser = true; };
}; };
environment.etc = { environment.etc = {

View file

@ -1,37 +1,29 @@
{ lib, stdenv, fetchurl, fetchpatch, alsaLib, expat, glib, libjack2, libXext, libX11, libpng { lib, stdenv, fetchurl, alsaLib, expat, glib, libjack2, libXext, libX11, libpng
, libpthreadstubs, libsmf, libsndfile, lv2, pkg-config, zita-resampler , libpthreadstubs, libsmf, libsndfile, lv2, pkg-config, zita-resampler
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.9.18.1"; version = "0.9.19";
pname = "drumgizmo"; pname = "drumgizmo";
src = fetchurl { src = fetchurl {
url = "https://www.drumgizmo.org/releases/${pname}-${version}/${pname}-${version}.tar.gz"; url = "https://www.drumgizmo.org/releases/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "0bpbkzcr3znbwfdk79c14n5k5hh80iqlk2nc03q95vhimbadk8k7"; sha256 = "18x28vhif0c97xz02k22xwqxxig6fi6j0356mlz2vf7vb25z69kl";
}; };
patches = [
# Fix build for lv2 1.18.0
(fetchpatch {
url = "http://cgit.drumgizmo.org/plugingizmo.git/patch/?id=be64ddf9da525cd5c6757464efc966052731ba71";
sha256 = "17w8g78i5avssc7m8rpw64ka3rai8dff81wfzir9cpxp8s2h44qf";
extraPrefix = "plugin/plugingizmo/";
stripLen = 1;
})
];
configureFlags = [ "--enable-lv2" ]; configureFlags = [ "--enable-lv2" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs = [
alsaLib expat glib libjack2 libXext libX11 libpng libpthreadstubs alsaLib expat glib libjack2 libXext libX11 libpng libpthreadstubs
libsmf libsndfile lv2 pkg-config zita-resampler libsmf libsndfile lv2 zita-resampler
]; ];
meta = with lib; { meta = with lib; {
description = "An LV2 sample based drum plugin"; description = "An LV2 sample based drum plugin";
homepage = "https://www.drumgizmo.org"; homepage = "https://www.drumgizmo.org";
license = licenses.lgpl3; license = licenses.lgpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.goibhniu maintainers.nico202 ]; maintainers = [ maintainers.goibhniu maintainers.nico202 ];
}; };

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "MIDIVisualizer"; pname = "MIDIVisualizer";
version = "6.3"; version = "6.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kosua20"; owner = "kosua20";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-U/YmxHD6e13I++aW+z1Y5xtZ+MN0KUJLSskrF4+UgTE="; sha256 = "sha256-XR5xmQYVbBR6QWt/+PLeGqg0t4xl35MPrQNaPsmgAYA=";
}; };
nativeBuildInputs = [ cmake pkg-config makeWrapper]; nativeBuildInputs = [ cmake pkg-config makeWrapper];

View file

@ -144,7 +144,7 @@ let
inherit name version src wmClass jdk; inherit name version src wmClass jdk;
product = "MPS"; product = "MPS";
meta = with lib; { meta = with lib; {
homepage = https://www.jetbrains.com/mps/; homepage = "https://www.jetbrains.com/mps/";
inherit license description; inherit license description;
longDescription = '' longDescription = ''
A metaprogramming system which uses projectional editing A metaprogramming system which uses projectional editing
@ -386,12 +386,12 @@ in
rider = buildRider rec { rider = buildRider rec {
name = "rider-${version}"; name = "rider-${version}";
version = "2021.1"; /* updated by script */ version = "2021.1.1"; /* updated by script */
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = lib.licenses.unfree; license = lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz"; url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
sha256 = "089j52sig2ac21v6zl9mvb7x4sr9c428nn930b41y3qd6bg52xxx"; /* updated by script */ sha256 = "00kdbsjw9hmq7x94pjscslv0b412g8l0jbvyi7jiyay8xc6wiaaj"; /* updated by script */
}; };
wmClass = "jetbrains-rider"; wmClass = "jetbrains-rider";
update-channel = "Rider RELEASE"; update-channel = "Rider RELEASE";

View file

@ -61,37 +61,40 @@ in
}; };
buildInputs = [ libsecret libXScrnSaver libxshmfence ] buildInputs = [ libsecret libXScrnSaver libxshmfence ]
++ lib.optionals (!stdenv.isDarwin) ([ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages); ++ lib.optionals (!stdenv.isDarwin) ([ gtk2 at-spi2-atk ] ++ atomEnv.packages);
runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib libdbusmenu ]; runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
nativeBuildInputs = [unzip] ++ lib.optional (!stdenv.isDarwin) autoPatchelfHook; nativeBuildInputs = [unzip] ++ lib.optionals (!stdenv.isDarwin) [ autoPatchelfHook wrapGAppsHook ];
dontBuild = true; dontBuild = true;
dontConfigure = true; dontConfigure = true;
installPhase = installPhase = ''
if system == "x86_64-darwin" then '' runHook preInstall
mkdir -p "$out/Applications/${longName}.app" $out/bin '' + (if system == "x86_64-darwin" then ''
cp -r ./* "$out/Applications/${longName}.app" mkdir -p "$out/Applications/${longName}.app" $out/bin
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/code" $out/bin/${executableName} cp -r ./* "$out/Applications/${longName}.app"
'' else '' ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/code" $out/bin/${executableName}
mkdir -p $out/lib/vscode $out/bin '' else ''
cp -r ./* $out/lib/vscode mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/bin/${executableName} $out/bin ln -s $out/lib/vscode/bin/${executableName} $out/bin
mkdir -p $out/share/applications mkdir -p $out/share/applications
ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop
ln -s $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop ln -s $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop
mkdir -p $out/share/pixmaps mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
# Override the previously determined VSCODE_PATH with the one we know to be correct # Override the previously determined VSCODE_PATH with the one we know to be correct
sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName}
grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded
''; '') + ''
runHook postInstall
'';
inherit meta; inherit meta;
} }

View file

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0z1diiiykv4ilsiljffz9sl2mlvrxq0xwm8ga2ralfvjwbhzr6dn"; x86_64-linux = "08151qdhf4chg9gfbs0dl0v0k5vla2gz5dfy439jzdg1d022d5rw";
x86_64-darwin = "02gzw46w3kzw1ya9nx8fkhvzi0mbpz2fyp47n58jki2zkdsfiwzh"; x86_64-darwin = "1vlxxkv3wvds3xl3ir93l5q5yq2d7mcragsicfayj9x9r49ilqn3";
aarch64-linux = "0bkvgdxch95dqcb41ncsjkaaswmwv6zad4hzdsr3famjm2vym1ky"; aarch64-linux = "0rxw1wsi555z41ak817sxqyyan0rm7hma640zsh8dz0yvhzdv1h8";
armv7l-linux = "0wdp97ihdnx9bcyn2dh6wzhb7qvdj6x730r7ng1q3i9jhd19wfi3"; armv7l-linux = "1ijvd7r2fxxlw4zv3zx5h70b3d0b4gcq3aljsi02v1lr2zm8f8gb";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
@ -25,7 +25,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.55.0"; version = "1.55.2";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View file

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0zzdbknmljf1hizmxnrby17i8v3kp98rklinywnr632jwgjms81j"; x86_64-linux = "12mdila9gspj6b9s6488j0ba264vm4a46546kplma7s6gkkpz4zx";
x86_64-darwin = "0mccq1b0l6r1ipxp5gvyam43c2hh8hxdvwqikkz6g7y93p29wz9g"; x86_64-darwin = "15wdznihc2ra2fjy9p4j898vazjr4h5yighaxh7jk9kcvarg1658";
aarch64-linux = "12gpday6gzl1adcykqhgz3xrdm9568a26gsndmplkn2n6l6agnp0"; aarch64-linux = "0plw1an1z3v333irbc53skrmq2klas21srriiqkvmkgkfvpx1rq2";
armv7l-linux = "0l886vdw7az0nvvhh14pjawz0yyib59ymychy7gbk8ay5g9vfv03"; armv7l-linux = "1ys82pa18qshpinaqqrskxvljzap20xwj5ncffn031yacg1y2qx2";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -33,7 +33,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.55.0"; version = "1.55.2";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View file

@ -0,0 +1,49 @@
{ stdenv
, lib
, fetchFromGitHub
, python3
, qt5
, installShellFiles
}:
python3.pkgs.buildPythonApplication rec {
pname = "vimiv-qt";
version = "0.8.0";
src = fetchFromGitHub {
owner = "karlch";
repo = pname;
rev = "v${version}";
sha256 = "1pj3gak7nxkw9r9m71zsfvcaq8dk9crbk5rz4n7pravxkl5hs2bg";
};
nativeBuildInputs = [ installShellFiles qt5.wrapQtAppsHook python3.pkgs.setuptools ];
propagatedBuildInputs = with python3.pkgs; [ pyqt5 py3exiv2 qt5.qtsvg ];
postInstall = ''
install -Dm644 misc/vimiv.desktop $out/share/applications/vimiv.desktop
install -Dm644 misc/org.karlch.vimiv.qt.metainfo.xml $out/metainfo/org.karlch.vimiv.qt.metainfo.xml
install -Dm644 LICENSE $out/licenses/vimiv/LICENSE
install -Dm644 icons/vimiv.svg $out/icons/hicolor/scalable/apps/vimiv.svg
installManPage misc/vimiv.1
for i in 16 32 64 128 256 512; do
install -Dm644 icons/vimiv_''${i}x''${i}.png $out/icons/hicolor/''${i}x''${i}/apps/vimiv.png
done
'';
# Vimiv has to be wrapped manually because it is a non-ELF executable.
dontWrapQtApps = true;
preFixup = ''
wrapQtApp $out/bin/vimiv
'';
meta = with lib; {
description = "Image viewer with Vim-like keybindings (Qt port)";
license = licenses.gpl3Plus;
homepage = "https://github.com/karlch/vimiv-qt";
maintainers = with maintainers; [ dschrempf ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,111 @@
{ lib, stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, libXcomposite
, libxcb, sqlite, zlib, fontconfig, dpkg, libproxy, libxml2, gst_all_1, dbus, makeWrapper }:
let
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
else throw "Unsupported system ${stdenv.hostPlatform.system} ";
fullPath = lib.makeLibraryPath [
glibc
glib
stdenv.cc.cc
libSM
libICE
libXi
libXv
libGLU libGL
libXrender
libXrandr
libXfixes
libXcursor
libXinerama
libXcomposite
freetype
libXext
libX11
libxcb
sqlite
zlib
fontconfig
libproxy
libxml2
dbus
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
];
in
stdenv.mkDerivation rec {
pname = "googleearth-pro";
version = "7.3.3.7786";
src = fetchurl {
url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_${arch}.deb";
sha256 = "1s3cakwrgf702g33rh8qs657d8bl68wgg8k89rksgvswwpd2zbb3";
};
nativeBuildInputs = [ dpkg makeWrapper ];
doInstallCheck = true;
dontBuild = true;
dontPatchELF = true;
unpackPhase = ''
# deb file contains a setuid binary, so 'dpkg -x' doesn't work here
dpkg --fsys-tarfile ${src} | tar --extract
'';
installPhase =''
mkdir $out
mv usr/* $out/
rmdir usr
mv * $out/
rm $out/bin/google-earth-pro $out/opt/google/earth/pro/googleearth
# patch and link googleearth binary
ln -s $out/opt/google/earth/pro/googleearth-bin $out/bin/googleearth-pro
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${fullPath}:\$ORIGIN" \
$out/opt/google/earth/pro/googleearth-bin
# patch and link gpsbabel binary
ln -s $out/opt/google/earth/pro/gpsbabel $out/bin/gpsbabel
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${fullPath}:\$ORIGIN" \
$out/opt/google/earth/pro/gpsbabel
# patch libraries
for a in $out/opt/google/earth/pro/*.so* ; do
patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
done
# Add desktop config file and icons
mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
ln -s $out/opt/google/earth/pro/google-earth-pro.desktop $out/share/applications/google-earth-pro.desktop
sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth-pro|g" $out/opt/google/earth/pro/google-earth-pro.desktop
for size in 16 22 24 32 48 64 128 256; do
ln -s $out/opt/google/earth/pro/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth-pro.png
done
ln -s $out/opt/google/earth/pro/product_logo_256.png $out/share/pixmaps/google-earth-pro.png
'';
installCheckPhase = ''
$out/bin/gpsbabel -V > /dev/null
'';
# wayland is not supported by Qt included in binary package, so make sure it uses xcb
fixupPhase = ''
wrapProgram $out/bin/googleearth-pro --set QT_QPA_PLATFORM xcb
'';
meta = with lib; {
description = "A world sphere viewer";
homepage = "https://earth.google.com";
license = licenses.unfree;
maintainers = with maintainers; [ friedelino ];
platforms = platforms.linux;
};
}

View file

@ -17,10 +17,10 @@ let
pname = "simplenote"; pname = "simplenote";
version = "2.8.0"; version = "2.9.0";
sha256 = { sha256 = {
x86_64-linux = "sha256-W8+LzWMPDCrFZCm9p/Gcj7OXqJw/gs7lMxTKjOQChQY="; x86_64-linux = "sha256-uwd9fYqZepJ/BBttprqkJhswqMepGsHDTd5Md9gjI68=";
}.${system} or throwSystem; }.${system} or throwSystem;
meta = with lib; { meta = with lib; {

View file

@ -6,6 +6,8 @@
import re import re
import textwrap import textwrap
from collections import OrderedDict
import feedparser import feedparser
import requests import requests
@ -30,6 +32,7 @@ for entry in feed.entries:
fixes += " " + zero_days.group(0) fixes += " " + zero_days.group(0)
print('\n' + '\n'.join(textwrap.wrap(fixes, width=72))) print('\n' + '\n'.join(textwrap.wrap(fixes, width=72)))
if cve_list := re.findall(r'CVE-[^: ]+', content): if cve_list := re.findall(r'CVE-[^: ]+', content):
cve_list = list(OrderedDict.fromkeys(cve_list)) # Remove duplicates but preserve the order
cve_string = ' '.join(cve_list) cve_string = ' '.join(cve_list)
print("\nCVEs:\n" + '\n'.join(textwrap.wrap(cve_string, width=72))) print("\nCVEs:\n" + '\n'.join(textwrap.wrap(cve_string, width=72)))
break # We only care about the most recent stable channel update break # We only care about the most recent stable channel update

View file

@ -1,8 +1,8 @@
{ {
"stable": { "stable": {
"version": "89.0.4389.114", "version": "89.0.4389.128",
"sha256": "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j", "sha256": "0nysvsck91yxcb3wf6v3nzar77k7j9bby7xfzsvd7wlqxdmflx8s",
"sha256bin64": "06wblyvyr93032fbzwm6qpzz4jjm6adziq4i4n6kmfdix2ajif8a", "sha256bin64": "07m43yqq6j7mfhdnm127p29b2611l8lmbq87iszlgg6dgkqxa0qr",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-01-07", "version": "2021-01-07",
@ -18,9 +18,9 @@
} }
}, },
"beta": { "beta": {
"version": "90.0.4430.70", "version": "90.0.4430.72",
"sha256": "0jnyqnqwdccv3i55grd12wr2w5ffxyzmj2l3c1i24xawf2zdzyym", "sha256": "0hw916j55lm3qnidfp92i8w6zywdd47rhihn9pn23b7ziz58ik55",
"sha256bin64": "1lv9gz6llphyvlvn92yw1cyhj4i6jzhy1l7hk01418prmhb4nfws", "sha256bin64": "1ddj2pk4m26dpl1ja0r56fvm67c1z1hq5rq5an8px6ixy78s2760",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-02-09", "version": "2021-02-09",

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "starboard"; pname = "starboard";
version = "0.9.2"; version = "0.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-w+xaZPEMmJYDPQG4MuAlWMhwhEyeVcpaeDwqsnIbIHA="; sha256 = "sha256-hieenhe3HsMqg7dMhvOUcvVGzBedYXqJRxEUkw4DG6o=";
}; };
vendorSha256 = "sha256-aVKQcRZgxhIph+y28HhR15DUjwiz/4+t1bMrYXjPW7Q="; vendorSha256 = "sha256-Vj8t4v2o6x+tFLWy84W3tVaIf6WtFWXpvLQfeTbeGbM=";
subPackages = [ "cmd/starboard" ]; subPackages = [ "cmd/starboard" ];

View file

@ -3,7 +3,6 @@
, buildGoPackage , buildGoPackage
, fetchFromGitHub , fetchFromGitHub
, callPackage , callPackage
, runtimeShell
}: }:
let let
list = lib.importJSON ./providers.json; list = lib.importJSON ./providers.json;
@ -58,7 +57,6 @@ let
cloudfoundry = callPackage ./cloudfoundry {}; cloudfoundry = callPackage ./cloudfoundry {};
gandi = callPackage ./gandi {}; gandi = callPackage ./gandi {};
hcloud = callPackage ./hcloud {}; hcloud = callPackage ./hcloud {};
keycloak = callPackage ./keycloak {};
libvirt = callPackage ./libvirt {}; libvirt = callPackage ./libvirt {};
linuxbox = callPackage ./linuxbox {}; linuxbox = callPackage ./linuxbox {};
lxd = callPackage ./lxd {}; lxd = callPackage ./lxd {};

View file

@ -1,30 +0,0 @@
{ lib
, fetchFromGitHub
, buildGoModule
}:
buildGoModule rec {
pname = "terraform-provider-keycloak";
version = "1.20.0";
src = fetchFromGitHub {
owner = "mrparkers";
repo = "terraform-provider-keycloak";
rev = version;
sha256 = "1h8780k8345pf0s14k1pmwdjbv2j08h4rq3jwds81mmv6qgj1r2n";
};
vendorSha256 = "12iary7p5qsbl4xdhfd1wh92mvf2fiylnb3m1d3m7cdcn32rfimq";
doCheck = false;
postInstall = "mv $out/bin/terraform-provider-keycloak{,_v${version}}";
meta = with lib; {
description = "Terraform provider for keycloak";
homepage = "https://github.com/mrparkers/terraform-provider-keycloak";
license = licenses.mpl20;
maintainers = with maintainers; [ eonpatapon ];
};
}

View file

@ -493,6 +493,14 @@
"vendorSha256": "08wg16g4mvn6kl8xwn89195a826cb132ijvrgf32c6p7zp4lgmjd", "vendorSha256": "08wg16g4mvn6kl8xwn89195a826cb132ijvrgf32c6p7zp4lgmjd",
"version": "0.2.12" "version": "0.2.12"
}, },
"keycloak": {
"owner": "mrparkers",
"repo": "terraform-provider-keycloak",
"rev": "v3.0.0",
"sha256": "1q9vzmj9c7mznv6al58d3rs5kk1fh28k1qccx46hcbk82z52da3a",
"vendorSha256": "0kh6lljvqd577s19gx0fmfsmx9wm3ikla3jz16lbwwb8ahbqcw1f",
"version": "3.0.0"
},
"ksyun": { "ksyun": {
"owner": "terraform-providers", "owner": "terraform-providers",
"repo": "terraform-provider-ksyun", "repo": "terraform-provider-ksyun",

View file

@ -6,13 +6,13 @@ with lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
pname = "convos"; pname = "convos";
version = "6.06"; version = "6.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "convos-chat"; owner = "convos-chat";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0b3c8hj9cjmpzy9k949vdv1y3v7b94nh0mq15rcv3ax0sj3gd0qr"; sha256 = "19nzm7f3glvj34nj9pvnp0h9xx6baq58c11ddkqfmq7w3sci49hi";
}; };
nativeBuildInputs = [ makeWrapper ] nativeBuildInputs = [ makeWrapper ]

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, gradle, perl, jre, makeWrapper, makeDesktopItem, mplayer }: { lib, stdenv, fetchFromGitHub, gradle_6, perl, jre, makeWrapper, makeDesktopItem, mplayer }:
let let
version = "6.6.7-build-529"; version = "6.6.7-build-529";
@ -25,7 +25,7 @@ let
deps = stdenv.mkDerivation { deps = stdenv.mkDerivation {
name = "${name}-deps"; name = "${name}-deps";
inherit src; inherit src;
buildInputs = [ gradle perl ]; buildInputs = [ gradle_6 perl ];
buildPhase = '' buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d) export GRADLE_USER_HOME=$(mktemp -d)
( cd desktop ( cd desktop
@ -47,7 +47,7 @@ in stdenv.mkDerivation {
inherit name src; inherit name src;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ gradle ]; buildInputs = [ gradle_6 ];
buildPhase = '' buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d) export GRADLE_USER_HOME=$(mktemp -d)

View file

@ -1,106 +0,0 @@
{ lib, stdenv, fetchurl, dpkg, makeWrapper
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
, gnome2, gtk3, gdk-pixbuf, libnotify, libxcb, nspr, nss, pango
, systemd, xorg, xprintidle-ng }:
let
version = "1.10.45";
rpath = lib.makeLibraryPath [
alsaLib
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
glib
gnome2.GConf
gdk-pixbuf
gtk3
pango
libnotify
libxcb
nspr
nss
stdenv.cc.cc
systemd
xorg.libxkbfile
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXScrnSaver
] + ":${stdenv.cc.cc.lib}/lib64";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity_${version}_amd64.deb";
sha256 = "0jfi0lfijnhij9jvkhxgyvq8m1jzaym8n1c7707fv3hjh1h0vxn1";
}
else
throw "super-productivity is not supported on ${stdenv.hostPlatform.system}";
in stdenv.mkDerivation {
pname = "super-productivity";
inherit version;
inherit src;
buildInputs = [
dpkg
gtk3 # needed for GSETTINGS_SCHEMAS_PATH
];
nativeBuildInputs = [ makeWrapper ];
unpackPhase = "dpkg -x $src .";
installPhase = ''
runHook preInstall
mkdir -p $out
cp -R usr/share $out/share
cp -R opt $out/libexec
# Otherwise it looks "suspicious"
chmod -R g-w $out
# set linker and rpath
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/libexec/superProductivity/superproductivity"
patchelf --set-rpath ${rpath}:$out/libexec/superProductivity "$out/libexec/superProductivity/superproductivity"
# wrapper for xdg_data_dirs and xprintidle path
makeWrapper $out/libexec/superProductivity/superproductivity $out/bin/superproductivity \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--prefix PATH : "${xprintidle-ng}/bin"
# Fix the desktop link
substituteInPlace $out/share/applications/superproductivity.desktop \
--replace /opt/superProductivity/ $out/bin/
runHook postInstall
'';
dontStrip = true;
meta = with lib; {
description = "To Do List / Time Tracker with Jira Integration";
homepage = "https://super-productivity.com";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ offline ];
};
}

View file

@ -0,0 +1,55 @@
{ stdenv , lib , fetchurl , appimageTools , makeWrapper , electron_11 }:
let
electron = electron_11;
in
stdenv.mkDerivation rec {
pname = "super-productivity";
version = "6.5.2";
src = fetchurl {
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
sha256 = "1ivl7chsv9axgk6nqkf580pav651hchi3di0mrp0pylpsqgk6f1f";
name = "${pname}-${version}.AppImage";
};
appimageContents = appimageTools.extractType2 {
name = "${pname}-${version}";
inherit src;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/${pname} $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/superproductivity.desktop $out/share/applications/${pname}.desktop
cp -a ${appimageContents}/usr/share/icons $out/share
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
runHook postInstall
'';
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
'';
meta = with lib; {
description = "To Do List / Time Tracker with Jira Integration";
homepage = "https://super-productivity.com";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ offline ];
};
}

View file

@ -0,0 +1,42 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, coreutils
, gawk
, gnugrep
, gnused
, rofi
, todo-txt-cli
}:
stdenv.mkDerivation rec {
pname = "todofi.sh";
version = "1.0.0";
src = fetchFromGitHub {
owner = "hugokernel";
repo = "todofi.sh";
rev = "v${version}";
sha256 = "1gmy5inlghycsxiwnyyjyv81jn2fmfk3s9x78kcgyf7khzb5kwvj";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
install -Dm 755 todofi.sh -t $out/bin
'';
postFixup = ''
patchShebangs $out/bin
wrapProgram $out/bin/todofi.sh --prefix PATH : "${lib.makeBinPath [ coreutils gawk gnugrep gnused rofi todo-txt-cli ]}"
'';
meta = with lib; {
description = "Todo-txt + Rofi = Todofi.sh";
homepage = "https://github.com/hugokernel/todofi.sh";
license = licenses.mit;
maintainers = with maintainers; [ ewok ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,25 @@
{ lib, python3, fetchurl }:
python3.pkgs.buildPythonPackage rec {
pname = "MACS2";
version = "2.2.7.1";
src = python3.pkgs.fetchPypi {
inherit pname version;
sha256 = "1rcxj943kgzs746f5jrb72x1cp4v50rk3qmad0m99a02vndscb5d";
};
propagatedBuildInputs = with python3.pkgs; [ numpy ];
# To prevent ERROR: diffpeak_cmd (unittest.loader._FailedTest) for obsolete
# function (ImportError: Failed to import test module: diffpeak_cmd)
doCheck = false;
pythonImportsCheck = [ "MACS2" ];
meta = with lib; {
description = "Model-based Analysis for ChIP-Seq";
license = licenses.bsd3;
maintainers = with maintainers; [ gschwartz ];
platforms = platforms.linux;
};
}

View file

@ -22,7 +22,7 @@
, libGL , libGL
, freetype , freetype
, zlib , zlib
# Apple frameworks # Apple frameworks
, CoreGraphics , CoreGraphics
, Cocoa , Cocoa
, Foundation , Foundation
@ -68,6 +68,10 @@ rustPlatform.buildRustPackage rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
postPatch = ''
echo ${version} > .tag
'';
cargoSha256 = "sha256-UaXeeuRuQk+CWF936mEAaWTjZuTSRPmxbQ/9E2oZIqg="; cargoSha256 = "sha256-UaXeeuRuQk+CWF936mEAaWTjZuTSRPmxbQ/9E2oZIqg=";
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -0,0 +1,108 @@
{ lib
, fetchFromGitHub
, fetchzip
, mkDerivation
, stdenv
, Cocoa
, CoreAudio
, CoreFoundation
, MediaPlayer
, SDL2
, cmake
, libGL
, libX11
, libXrandr
, libvdpau
, mpv
, ninja
, pkg-config
, python3
, qtbase
, qtwayland
, qtwebchannel
, qtwebengine
, qtx11extras
}:
mkDerivation rec {
pname = "jellyfin-media-player";
version = "1.3.1";
src = fetchFromGitHub {
owner = "iwalton3";
repo = "jellyfin-media-player";
rev = "v${version}";
sha256 = "sha256-rXW6vC0Ow8xFblXjGYaDExAZM8RgqLkDHiX7R8vAWjI=";
};
jmpDist = fetchzip {
url = "https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-10.7.2/dist.zip";
sha256 = "sha256-EpNAN4nzINiwMrmg0e4x3uJRTy5ovx4ZkmP83Kbn4S0=";
};
patches = [
# the webclient-files are not copied in the regular build script. Copy them just like the linux build
./fix-osx-resources.patch
];
buildInputs = [
SDL2
libGL
libX11
libXrandr
libvdpau
mpv
qtbase
qtwebchannel
qtwebengine
qtx11extras
] ++ lib.optionals stdenv.isLinux [
qtwayland
] ++ lib.optionals stdenv.isDarwin [
Cocoa
CoreAudio
CoreFoundation
MediaPlayer
];
nativeBuildInputs = [
cmake
ninja
pkg-config
python3
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DQTROOT=${qtbase}"
"-GNinja"
];
preBuild = ''
# copy the webclient-files to the expected "dist" directory
mkdir -p dist
cp -a ${jmpDist}/* dist
'';
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/bin $out/Applications
mv "$out/Jellyfin Media Player.app" $out/Applications
# move web-client resources
mv $out/Resources/* "$out/Applications/Jellyfin Media Player.app/Contents/Resources/"
rmdir $out/Resources
# fix 'Could not find the Qt platform plugin "cocoa" in ""' error
wrapQtApp "$out/Applications/Jellyfin Media Player.app/Contents/MacOS/Jellyfin Media Player"
ln -s "$out/Applications/Jellyfin Media Player.app/Contents/MacOS/Jellyfin Media Player" $out/bin/jellyfinmediaplayer
'';
meta = with lib; {
homepage = "https://github.com/iwalton3/jellyfin-media-player";
description = "Jellyfin Desktop Client based on Plex Media Player";
license = with licenses; [ gpl2Plus mit ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ jojosch ];
};
}

View file

@ -0,0 +1,15 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 780c0d3..d9c2341 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -108,8 +108,8 @@ endif()
set(RESOURCE_ROOT .)
if(APPLE)
set(RESOURCE_ROOT Resources)
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop)
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension)
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension)
endif()
if(NOT APPLE)

View file

@ -20,11 +20,11 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "jellyfin-mpv-shim"; pname = "jellyfin-mpv-shim";
version = "1.10.3"; version = "1.10.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-Tl7P8SJ/ZuwIi8RxDWkhfd7LUd63xv5Ehg1UqaYHb1g="; sha256 = "sha256-QMyb69S8Ln4X0oUuLpL6vtgxJwq8f+Q4ReNckrN4E+E=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -0,0 +1,49 @@
{ lib, fetchurl, appimageTools}:
let
pname = "lbry-desktop";
version = "0.50.2";
in appimageTools.wrapAppImage rec {
name = "${pname}-${version}";
# Fetch from GitHub Releases and extract
src = appimageTools.extract {
inherit name;
src = fetchurl {
url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
# Gotten from latest-linux.yml
sha512 = "br6HvVRz+ybmAhmQh3vOC5wgLmOCVrGHDn59ueWk6rFoKOCbm8WdmdadOZvHeN1ld2nlvPzEy+KXMOEfF1LeQg==";
};
};
# At runtime, Lbry likes to have access to Ffmpeg
extraPkgs = pkgs: with pkgs; [
ffmpeg
];
# General fixup
extraInstallCommands = ''
# Firstly, rename the executable to lbry for convinence
mv $out/bin/${name} $out/bin/lbry
# Now, install assets such as the desktop file and icons
install -m 444 -D ${src}/lbry.desktop -t $out/share/applications
substituteInPlace $out/share/applications/lbry.desktop \
--replace 'AppRun' '$out/bin/lbry'
cp -r ${src}/usr/share/icons $out/share
'';
meta = with lib; {
description = "A browser and wallet for LBRY, the decentralized, user-controlled content marketplace";
longDescription = ''
The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol.
It is essentially the lbry daemon bundled with a UI using Electron.
'';
license = licenses.mit;
homepage = "https://lbry.com/";
downloadPage = "https://lbry.com/get/";
changelog = "https://github.com/lbryio/lbry-desktop/blob/master/CHANGELOG.md";
maintainers = with maintainers; [ enderger ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mpvacious"; pname = "mpvacious";
version = "0.12"; version = "0.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ajatt-Tools"; owner = "Ajatt-Tools";
repo = "mpvacious"; repo = "mpvacious";
rev = "v${version}"; rev = "v${version}";
sha256 = "1xz4qh2ibfv03m3pfdasim9byvlm78wigx1linmih19vgg99vky2"; sha256 = "0r031hh3hpim9dli15m9q4cwka4ljvwg0hdgyp36r1n097q44r5f";
}; };
postPatch = '' postPatch = ''

View file

@ -15,13 +15,13 @@
buildGoModule rec { buildGoModule rec {
pname = "cri-o"; pname = "cri-o";
version = "1.20.1"; version = "1.21.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cri-o"; owner = "cri-o";
repo = "cri-o"; repo = "cri-o";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-cli/ipWxZgAeDMBUMuOU3l2mKv4POvOhi7ctbVdU6jc="; sha256 = "sha256-qhS1RLkM7xDsH3qDVL+ORXmwULYz8UK1oJM29oRqJ0M=";
}; };
vendorSha256 = null; vendorSha256 = null;

View file

@ -0,0 +1,44 @@
{ lib, stdenv ,fetchFromGitHub
, zig, wayland, pkg-config, scdoc
, xwayland, wayland-protocols, wlroots
, libxkbcommon, pixman, udev, libevdev, libX11, libGL
}:
stdenv.mkDerivation rec {
pname = "river";
version = "unstable-2021-04-08";
src = fetchFromGitHub {
owner = "ifreund";
repo = "river";
rev = "9e3e92050e04320949c6cd995273c30319ebd515";
sha256 = "1v8dpbadsb3c7bc84sai09dbqv5s5s5d77vs12kdkd45x0ppmk3j";
fetchSubmodules = true;
};
buildInputs = [ xwayland wayland-protocols wlroots pixman
libxkbcommon pixman udev libevdev libX11 libGL
];
preBuild = ''
export HOME=$TMPDIR
'';
installPhase = ''
zig build -Drelease-safe -Dxwayland -Dman-pages --prefix $out install
'';
nativeBuildInputs = [ zig wayland scdoc pkg-config ];
installFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
description = "A dynamic tiling wayland compositor";
longDescription = ''
river is a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm.
'';
homepage = "https://github.com/ifreund/river";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ branwright1 ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "numix-icon-theme-circle"; pname = "numix-icon-theme-circle";
version = "20.09.19"; version = "21.04.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1rqlq5ssxqj0nc0i8av7zprj94km5645xzqi5j5i0sxd3jbmyfjx"; sha256 = "1z8c0179r8g0y9zh4383brsfhkcyfy79dc8hw94p9zjn5a66547w";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Numix icon theme (circle version)"; description = "Numix icon theme (circle version)";
homepage = "https://numixproject.github.io"; homepage = "https://numixproject.github.io";
license = licenses.gpl3; license = licenses.gpl3Only;
# darwin cannot deal with file names differing only in case # darwin cannot deal with file names differing only in case
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ romildo ]; maintainers = with maintainers; [ romildo ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "numix-icon-theme-square"; pname = "numix-icon-theme-square";
version = "20.09.19"; version = "21.04.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0afraarfcd66mpidmn0l90wif8kmwzdj3s09g704kwszyijxs80z"; sha256 = "0ndxjp173dwz78m41mn818mh4bdsxa2ypv4wrwicx0v4d8z90ddj";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Numix icon theme (square version)"; description = "Numix icon theme (square version)";
homepage = "https://numixproject.github.io"; homepage = "https://numixproject.github.io";
license = licenses.gpl3; license = licenses.gpl3Only;
# darwin cannot deal with file names differing only in case # darwin cannot deal with file names differing only in case
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ romildo ]; maintainers = with maintainers; [ romildo ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "numix-icon-theme"; pname = "numix-icon-theme";
version = "20.06.07"; version = "21.04.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1yp9parc8ihmai8pswf4qzrqd88qpls87ipq8ylx38yqns7wsn4h"; sha256 = "1ilzqh9f7skdfg5sl97zfgwrzvwa1zna22dpq0954gyyzvy7k7lg";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];
@ -18,18 +18,22 @@ stdenv.mkDerivation rec {
dontDropIconThemeCache = true; dontDropIconThemeCache = true;
installPhase = '' installPhase = ''
runHook preInstall
mkdir -p $out/share/icons mkdir -p $out/share/icons
cp -a Numix{,-Light} $out/share/icons/ cp -a Numix{,-Light} $out/share/icons/
for theme in $out/share/icons/*; do for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme gtk-update-icon-cache $theme
done done
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
description = "Numix icon theme"; description = "Numix icon theme";
homepage = "https://numixproject.github.io"; homepage = "https://numixproject.github.io";
license = licenses.gpl3; license = licenses.gpl3Only;
# darwin cannot deal with file names differing only in case # darwin cannot deal with file names differing only in case
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ romildo ]; maintainers = with maintainers; [ romildo ];

View file

@ -17,11 +17,11 @@
mkXfceDerivation { mkXfceDerivation {
category = "apps"; category = "apps";
pname = "xfdashboard"; pname = "xfdashboard";
version = "0.9.1"; version = "0.9.2";
rev-prefix = ""; rev-prefix = "";
odd-unstable = false; odd-unstable = false;
sha256 = "14k774wxbk3w0ci2mmm6bhq4i742qahd0j0dr40iwmld55473zgd"; sha256 = "06pvzhhkr2mimsrzlkpsrzf5fxag4fhabyb3cpmgpyp5hcbgvaj3";
buildInputs = [ buildInputs = [
clutter clutter

View file

@ -4,9 +4,9 @@
mkXfceDerivation { mkXfceDerivation {
category = "xfce"; category = "xfce";
pname = "exo"; pname = "exo";
version = "4.16.1"; version = "4.16.2";
sha256 = "1220mq8gs5s8l0d1p92j6icldzqj6zaisp27ss5jm7hwkkcnms9n"; sha256 = "0rsp92j4hkr5jrkrj8anzw9fwd96xbxzpzqzqiyjjwdiq7b29l1v";
nativeBuildInputs = [ nativeBuildInputs = [
libxslt libxslt

View file

@ -2,12 +2,12 @@
openjdk11.overrideAttrs (oldAttrs: rec { openjdk11.overrideAttrs (oldAttrs: rec {
pname = "jetbrains-jdk"; pname = "jetbrains-jdk";
version = "11.0.10-b37"; version = "11.0.10-b1427";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "JetBrains"; owner = "JetBrains";
repo = "JetBrainsRuntime"; repo = "JetBrainsRuntime";
rev = "jb${lib.replaceStrings ["."] ["_"] version}"; rev = "jb${lib.replaceStrings ["."] ["_"] version}";
sha256 = "0bcvwnwi29z000b1bk5dhfkd33xfp9899zc3idzifdwl7q42zi02"; sha256 = "sha256-2cn+FiFfGpp7CBeQMAASVZwTm6DOFaXaWxAL/nVC2Nk=";
}; };
patches = []; patches = [];
meta = with lib; { meta = with lib; {

View file

@ -70,7 +70,7 @@ in stdenv.mkDerivation (rec {
--replace "Path.cpp" "" --replace "Path.cpp" ""
rm unittests/Support/Path.cpp rm unittests/Support/Path.cpp
'' + optionalString stdenv.hostPlatform.isMusl '' '' + optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -i ${../TLI-musl.patch} patch -p1 -i ${../../TLI-musl.patch}
substituteInPlace unittests/Support/CMakeLists.txt \ substituteInPlace unittests/Support/CMakeLists.txt \
--replace "add_subdirectory(DynamicLibrary)" "" --replace "add_subdirectory(DynamicLibrary)" ""
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp

View file

@ -0,0 +1,17 @@
{ lib, mkCoqDerivation, coq, version ? null , paco, coq-ext-lib }:
with lib; mkCoqDerivation rec {
pname = "InteractionTrees";
owner = "DeepSpec";
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.10" "8.13"; out = "4.0.0"; }
] null;
release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm";
releaseRev = v: "${v}";
propagatedBuildInputs = [ coq-ext-lib paco ];
meta = {
description = "A Library for Representing Recursive and Impure Programs in Coq";
maintainers = with maintainers; [ larsr ];
};
}

View file

@ -5,7 +5,7 @@ with lib; mkCoqDerivation rec {
owner = "coq-ext-lib"; owner = "coq-ext-lib";
inherit version; inherit version;
defaultVersion = with versions; switch coq.coq-version [ defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.8" "8.12"; out = "0.11.3"; } { case = range "8.8" "8.13"; out = "0.11.3"; }
{ case = "8.7"; out = "0.9.7"; } { case = "8.7"; out = "0.9.7"; }
{ case = "8.6"; out = "0.9.5"; } { case = "8.6"; out = "0.9.5"; }
{ case = "8.5"; out = "0.9.4"; } { case = "8.5"; out = "0.9.4"; }

View file

@ -6,8 +6,9 @@ with lib; mkCoqDerivation {
repo = "Coq-Equations"; repo = "Coq-Equations";
inherit version; inherit version;
defaultVersion = switch coq.coq-version [ defaultVersion = switch coq.coq-version [
{ case = "8.12"; out = "1.2.3+coq8.12"; } { case = "8.13"; out = "1.2.4+coq8.13"; }
{ case = "8.11"; out = "1.2.3+coq8.11"; } { case = "8.12"; out = "1.2.4+coq8.12"; }
{ case = "8.11"; out = "1.2.4+coq8.11"; }
{ case = "8.10"; out = "1.2.1+coq8.10-2"; } { case = "8.10"; out = "1.2.1+coq8.10-2"; }
{ case = "8.9"; out = "1.2.1+coq8.9"; } { case = "8.9"; out = "1.2.1+coq8.9"; }
{ case = "8.8"; out = "1.2+coq8.8"; } { case = "8.8"; out = "1.2+coq8.8"; }
@ -36,6 +37,12 @@ with lib; mkCoqDerivation {
release."1.2.3+coq8.12".version = "1.2.3"; release."1.2.3+coq8.12".version = "1.2.3";
release."1.2.3+coq8.12".rev = "v1.2.3-8.12"; release."1.2.3+coq8.12".rev = "v1.2.3-8.12";
release."1.2.3+coq8.12".sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643"; release."1.2.3+coq8.12".sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643";
release."1.2.4+coq8.11".rev = "v1.2.4-8.11";
release."1.2.4+coq8.11".sha256 = "01fihyav8jbjinycgjc16adpa0zy5hcav5mlkf4s9zvqxka21i52";
release."1.2.4+coq8.12".rev = "v1.2.4-8.12";
release."1.2.4+coq8.12".sha256 = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3";
release."1.2.4+coq8.13".rev = "v1.2.4-8.13";
release."1.2.4+coq8.13".sha256 = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q";
mlPlugin = true; mlPlugin = true;
preBuild = "coq_makefile -f _CoqProject -o Makefile"; preBuild = "coq_makefile -f _CoqProject -o Makefile";

View file

@ -5,7 +5,7 @@ with lib; mkCoqDerivation {
owner = "Lysxia"; owner = "Lysxia";
repo = "coq-simple-io"; repo = "coq-simple-io";
inherit version; inherit version;
defaultVersion = if versions.range "8.7" "8.12" coq.coq-version then "1.3.0" else null; defaultVersion = if versions.range "8.7" "8.13" coq.coq-version then "1.3.0" else null;
release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax"; release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax";
extraBuildInputs = (with coq.ocamlPackages; [ ocaml ocamlbuild ]); extraBuildInputs = (with coq.ocamlPackages; [ ocaml ocamlbuild ]);
propagatedBuildInputs = [ coq-ext-lib ]; propagatedBuildInputs = [ coq-ext-lib ];

View file

@ -6,12 +6,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fcft"; pname = "fcft";
version = "2.3.2"; version = "2.3.3";
src = fetchgit { src = fetchgit {
url = "https://codeberg.org/dnkl/fcft.git"; url = "https://codeberg.org/dnkl/fcft.git";
rev = version; rev = version;
sha256 = "0k2i57rakm4g86f7hbhkby8af0vv7v63a70lk3m58mkycpy5q2rm"; sha256 = "0314r038jl17hrhc9nrbx30jk0pz8ckbdnizws4r46b1rf4h0b1f";
}; };
nativeBuildInputs = [ pkg-config meson ninja scdoc ]; nativeBuildInputs = [ pkg-config meson ninja scdoc ];
@ -29,7 +29,10 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://codeberg.org/dnkl/fcft"; homepage = "https://codeberg.org/dnkl/fcft";
description = "Simple library for font loading and glyph rasterization"; description = "Simple library for font loading and glyph rasterization";
maintainers = with maintainers; [ fionera ]; maintainers = with maintainers; [
fionera
sternenseemann
];
license = licenses.mit; license = licenses.mit;
platforms = with platforms; linux; platforms = with platforms; linux;
}; };

View file

@ -1,4 +1,5 @@
{lib, stdenv, fetchFromGitHub, automake, autoconf, pkg-config, libtool, python2Packages, glib, jansson}: { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, python3Packages
, glib, jansson }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.2.0"; version = "3.2.0";
@ -11,21 +12,15 @@ stdenv.mkDerivation rec {
sha256 = "18i5zvrp6dv6vygxx5nc93mai2p2x786n5lnf5avrin6xiz2j6hd"; sha256 = "18i5zvrp6dv6vygxx5nc93mai2p2x786n5lnf5avrin6xiz2j6hd";
}; };
patches = [ ./libsearpc.pc.patch ]; nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = with python3Packages; [ python simplejson ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ automake autoconf libtool python2Packages.python python2Packages.simplejson ];
propagatedBuildInputs = [ glib jansson ]; propagatedBuildInputs = [ glib jansson ];
postPatch = "patchShebangs autogen.sh";
preConfigure = "./autogen.sh";
meta = with lib; { meta = with lib; {
homepage = "https://github.com/haiwen/libsearpc"; homepage = "https://github.com/haiwen/libsearpc";
description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System"; description = "A simple and easy-to-use C language RPC framework based on GObject System";
license = licenses.lgpl3; license = licenses.lgpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ greizgh ];
}; };
} }

View file

@ -1,10 +0,0 @@
From: Aaron Lindsay <aaron@aclindsay.com>
--- a/libsearpc.pc.in 2013-01-10 01:35:24.000000000 -0500
+++ b/libsearpc.pc.in 2013-01-19 11:31:50.479301798 -0500
@@ -1,4 +1,4 @@
-prefix=(DESTDIR)@prefix@
+prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

View file

@ -13,6 +13,19 @@ let
export NG_CLI_ANALYTICS=false export NG_CLI_ANALYTICS=false
''; '';
}; };
aws-azure-login = super.aws-azure-login.override {
meta.platforms = pkgs.lib.platforms.linux;
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/aws-azure-login \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium}/bin/chromium
'';
};
bower2nix = super.bower2nix.override { bower2nix = super.bower2nix.override {
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''

View file

@ -12,6 +12,7 @@
, "@webassemblyjs/wast-refmt" , "@webassemblyjs/wast-refmt"
, "alloy" , "alloy"
, "asar" , "asar"
, "aws-azure-login"
, "balanceofsatoshis" , "balanceofsatoshis"
, "bash-language-server" , "bash-language-server"
, "bower" , "bower"

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,10 @@
{ lib, fetchFromGitHub, buildDunePackage, postgresql }: { lib, fetchFromGitHub, buildDunePackage, dune-configurator, postgresql }:
buildDunePackage rec { buildDunePackage rec {
pname = "postgresql"; pname = "postgresql";
version = "4.6.3"; version = "5.0.0";
useDune2 = true;
minimumOCamlVersion = "4.08"; minimumOCamlVersion = "4.08";
@ -10,10 +12,10 @@ buildDunePackage rec {
owner = "mmottl"; owner = "mmottl";
repo = "postgresql-ocaml"; repo = "postgresql-ocaml";
rev = version; rev = version;
sha256 = "0fd96qqwkwjhv6pawk4wivwncszkif0sq05f0g5gd28jzwrsvpqr"; sha256 = "1i4pnh2v00i0s7s9pcwz1x6s4xcd77d08gjjkvy0fmda6mqq6ghn";
}; };
buildInputs = [ postgresql ]; buildInputs = [ dune-configurator postgresql ];
meta = { meta = {
description = "Bindings to the PostgreSQL library"; description = "Bindings to the PostgreSQL library";

View file

@ -2,22 +2,23 @@
, async-dns , async-dns
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, ifaddr , ifaddr
, pyroute2 , pyroute2
, pytest-asyncio
, pytestCheckHook
, pythonOlder , pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiodiscover"; pname = "aiodiscover";
version = "1.3.3"; version = "1.3.4";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bdraco"; owner = "bdraco";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "186agrjx818vn00d3pqlka5ir48rgpbfyn1cifkn9ylsxg9cz3ph"; sha256 = "sha256-TmWl5d5HwyqWPUjwtEvc5FzVfxV/K1pekljcMkGN0Ag=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -30,9 +31,21 @@ buildPythonPackage rec {
substituteInPlace setup.py --replace '"pytest-runner>=5.2",' "" substituteInPlace setup.py --replace '"pytest-runner>=5.2",' ""
''; '';
# Tests require access to /etc/resolv.conf checkInputs = [
# pythonImportsCheck doesn't work as async-dns wants to create its CONFIG_DIR pytest-asyncio
doCheck = false; pytestCheckHook
];
preBuild = ''
export HOME=$TMPDIR
'';
disabledTests = [
# Tests require access to /etc/resolv.conf
"test_async_discover_hosts"
];
pythonImportsCheck = ["aiodiscover"];
meta = with lib; { meta = with lib; {
description = "Python module to discover hosts via ARP and PTR lookup"; description = "Python module to discover hosts via ARP and PTR lookup";

View file

@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchPypi
, click
, prompt_toolkit
, pygments
, requests
, sqlparse
}:
buildPythonPackage rec {
pname = "clickhouse-cli";
version = "0.3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fDvUdL6LzgCv6LDmB0R0M7v6BbnbL68p9pHMebP58h8=";
};
propagatedBuildInputs = [
click
prompt_toolkit
pygments
requests
sqlparse
];
pythonImportsCheck = [ "clickhouse_cli" ];
meta = with lib; {
description = "A third-party client for the Clickhouse DBMS server";
homepage = "https://github.com/hatarist/clickhouse-cli";
license = licenses.mit;
maintainers = with maintainers; [ ivan-babrou ];
};
}

View file

@ -1,30 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, six
, requests
}:
buildPythonPackage {
pname = "ipfsapi";
version = "0.4.2.post1";
disabled = isPy27;
src = fetchFromGitHub {
owner = "ipfs";
repo = "py-ipfs-api";
rev = "0c485544a114f580c65e2ffbb5782efbf7fd9f61";
sha256 = "1v7f77cv95yv0v80gisdh71mj7jcq41xcfip6bqm57zfdbsa0xpn";
};
propagatedBuildInputs = [ six requests ];
meta = with lib; {
description = "A python client library for the IPFS API";
license = licenses.mit;
maintainers = with maintainers; [ mguentner ];
homepage = "https://pypi.python.org/pypi/ipfsapi";
};
}

View file

@ -0,0 +1,82 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, python
, py-multiaddr
, requests
, pytestCheckHook
, pytest-cov
, pytest-dependency
, pytest-localserver
, pytest-mock
, pytest-order
, pytest-cid
, mock
, ipfs
, httpx
, httpcore
}:
buildPythonPackage rec {
pname = "ipfshttpclient";
version = "0.7.0";
format = "flit";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "ipfs-shipyard";
repo = "py-ipfs-http-client";
rev = version;
sha256 = "sha256-0lMoZo/9kZUXkaKvD9ZAZDQdGX7eNLzJVszZdlM/3Qs=";
};
propagatedBuildInputs = [
py-multiaddr
requests
];
checkInputs = [
pytestCheckHook
pytest-cov
pytest-dependency
pytest-localserver
pytest-mock
pytest-order
pytest-cid
mock
ipfs
httpcore
httpx
];
postPatch = ''
# Remove when the package supports the latest IPFS version by default
substituteInPlace ipfshttpclient/client/__init__.py \
--replace 'VERSION_MAXIMUM = "0.8.0"' \
'VERSION_MAXIMUM = "0.9.0"'
# Use pytest-order instead of pytest-ordering since the latter is unmaintained and broken
substituteInPlace test/run-tests.py \
--replace 'pytest_ordering' 'pytest_order'
substituteInPlace test/functional/test_miscellaneous.py \
--replace '@pytest.mark.last' '@pytest.mark.order("last")'
'';
checkPhase = ''
runHook preCheck
${python.interpreter} -X utf8 test/run-tests.py
runHook postCheck
'';
pythonImportsCheck = [ "ipfshttpclient" ];
meta = with lib; {
description = "A python client library for the IPFS API";
homepage = "https://github.com/ipfs-shipyard/py-ipfs-http-client";
license = licenses.mit;
maintainers = with maintainers; [ mguentner Luflosi ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, karton-core
, python
, yara-python
}:
buildPythonPackage rec {
pname = "karton-yaramatcher";
version = "1.0.0";
src = fetchFromGitHub {
owner = "CERT-Polska";
repo = pname;
rev = "v${version}";
sha256 = "093h5hbx2ss4ly523gvf10a5ky3vvin6wipigvhx13y1rdxl6c9n";
};
propagatedBuildInputs = [
karton-core
yara-python
];
postPatch = ''
substituteInPlace requirements.txt \
--replace "karton-core==4.0.5" "karton-core" \
--replace "yara-python==4.0.2" "yara-python" \
'';
checkPhase = ''
runHook preCheck
${python.interpreter} -m unittest discover
runHook postCheck
'';
pythonImportsCheck = [ "karton.yaramatcher" ];
meta = with lib; {
description = "File and analysis artifacts yara matcher for the Karton framework";
homepage = "https://github.com/CERT-Polska/karton-yaramatcher";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -5,6 +5,7 @@
, dnspython , dnspython
, fetchFromGitHub , fetchFromGitHub
, mock , mock
, pytest-asyncio
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
, six , six
@ -12,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mcstatus"; pname = "mcstatus";
version = "5.1.2"; version = "5.1.4";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Dinnerbone"; owner = "Dinnerbone";
repo = pname; repo = pname;
rev = "release-${version}"; rev = "v${version}";
sha256 = "16k5vcqpd9r7mm1cg9khzba42rcxs491h8gk2klymav249yzrwk7"; sha256 = "1k8hjv965svbm95m7jaawlhdbxqpkjchlwvjwn1n7z90dfgn5kih";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -31,6 +32,7 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
mock mock
pytest-asyncio
pytestCheckHook pytestCheckHook
]; ];

View file

@ -0,0 +1,45 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, certifi
, configparser
, cryptography
, pyopenssl
, dateutil
, pytz
}:
buildPythonPackage rec {
pname = "oci";
version = "2.36.0";
src = fetchFromGitHub {
owner = "oracle";
repo = "oci-python-sdk";
rev = "v${version}";
hash = "sha256-scG/ZhWeiCgXp7iD6arWIN8KZecSjKLsCW4oXeJvx6M=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "configparser==4.0.2" "configparser" \
--replace "cryptography==3.2.1" "cryptography" \
--replace "pyOpenSSL>=17.5.0,<=19.1.0" "pyOpenSSL"
'';
propagatedBuildInputs = [
certifi configparser cryptography pyopenssl dateutil pytz
];
# Tests fail: https://github.com/oracle/oci-python-sdk/issues/164
doCheck = false;
pythonImportsCheck = [ "oci" ];
meta = with lib; {
description = "Oracle Cloud Infrastructure Python SDK";
homepage = "https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/index.html";
maintainers = with maintainers; [ ilian ];
license = with licenses; [ asl20 upl ];
};
}

View file

@ -17,18 +17,19 @@
, python-dateutil , python-dateutil
, python-xmp-toolkit , python-xmp-toolkit
, qpdf , qpdf
, setuptools
, setuptools-scm , setuptools-scm
, setuptools-scm-git-archive , setuptools-scm-git-archive
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pikepdf"; pname = "pikepdf";
version = "2.8.0"; version = "2.11.1";
disabled = ! isPy3k; disabled = ! isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "74ff96fddd21cd4c0830eb549137ea9eccbdbff8cef4f684322b9afb8e42ccb5"; sha256 = "0vs7qa3s4scfhyldfw99hhxpna6rj49rsbr2k0j6b4qx1bw8h141";
}; };
buildInputs = [ buildInputs = [
@ -58,6 +59,7 @@ buildPythonPackage rec {
defusedxml defusedxml
lxml lxml
pillow pillow
setuptools
]; ];
preBuild = '' preBuild = ''
@ -71,5 +73,6 @@ buildPythonPackage rec {
description = "Read and write PDFs with Python, powered by qpdf"; description = "Read and write PDFs with Python, powered by qpdf";
license = licenses.mpl20; license = licenses.mpl20;
maintainers = [ maintainers.kiwi ]; maintainers = [ maintainers.kiwi ];
changelog = "https://github.com/pikepdf/pikepdf/blob/${version}/docs/release_notes.rst";
}; };
} }

View file

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pulsectl"; pname = "pulsectl";
version = "20.5.1"; version = "21.3.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "39b0a0e7974a7d6468d826a838822f78b00ac9c3803f0d7bfa9b1cad08ee22db"; sha256 = "sha256-+qi5M2I3VlmQKY8ghw4T3RZ4pFhoR8paf/Kr8QdS81Y=";
}; };
patches = [ patches = [

View file

@ -1,22 +1,27 @@
{lib, buildPythonPackage, fetchPypi}: { lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyroute2"; pname = "pyroute2";
version = "0.5.14"; version = "0.5.18";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "774c5ecf05fe40f0f601a7ab33c19ca0b24f00bf4a094e58deaa5333b7ca49b5"; sha256 = "sha256-CKxAytUsC7Lg8gCHUgWZqpH8zgsiHdJukEIzBCiBC8U=";
}; };
# requires root priviledges # Requires root privileges, https://github.com/svinota/pyroute2/issues/778
doCheck = false; doCheck = false;
pythonImportsCheck = [ "pyroute2" ];
meta = with lib; { meta = with lib; {
description = "Python Netlink library"; description = "Python Netlink library";
homepage = "https://github.com/svinota/pyroute2"; homepage = "https://github.com/svinota/pyroute2";
license = licenses.asl20; license = licenses.asl20;
maintainers = [maintainers.mic92]; maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -38,6 +38,11 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
disabledTests = [
# https://github.com/pywemo/pywemo/issues/264
"test_rules_db_from_device"
];
pythonImportsCheck = [ "pywemo" ]; pythonImportsCheck = [ "pywemo" ];
meta = with lib; { meta = with lib; {

View file

@ -1,7 +1,15 @@
{ lib, stdenv, buildPythonPackage, fetchPypi, makeWrapper, pythonOlder { lib
, crytic-compile, prettytable, setuptools , stdenv
# solc is currently broken on Darwin, default to false , buildPythonPackage
, solc, withSolc ? !stdenv.isDarwin , fetchPypi
, makeWrapper
, pythonOlder
, crytic-compile
, prettytable
, setuptools
, solc
# solc is currently broken on Darwin, default to false
, withSolc ? !stdenv.isDarwin
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -35,6 +43,6 @@ buildPythonPackage rec {
''; '';
homepage = "https://github.com/trailofbits/slither"; homepage = "https://github.com/trailofbits/slither";
license = licenses.agpl3Plus; license = licenses.agpl3Plus;
maintainers = with maintainers; [ asymmetric arturcygan ]; maintainers = with maintainers; [ arturcygan ];
}; };
} }

View file

@ -6,11 +6,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "spotipy"; pname = "spotipy";
version = "2.17.1"; version = "2.18.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-KcYMi5naHEufDXIhabwx5iS4wH1xhrjq3ZwC6NLULL8="; sha256 = "sha256-9yk7gIaWgH6azsa9z/Y/fcw8wbFIwMS0KZ70PJZvcXc=";
}; };
propagatedBuildInputs = [ requests six ]; propagatedBuildInputs = [ requests six ];

View file

@ -0,0 +1,32 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
}:
buildPythonPackage rec {
pname = "systembridge";
version = "1.1.1";
src = fetchFromGitHub {
owner = "timmo001";
repo = "system-bridge-connector-py";
rev = "v${version}";
sha256 = "0vyfi7nyzkzsgg84n5wh4hzwvx6fybgqdzbabnsmvszb9sm1vlb2";
};
propagatedBuildInputs = [
aiohttp
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "systembridge" ];
meta = with lib; {
description = "Python module for connecting to System Bridge";
homepage = "https://github.com/timmo001/system-bridge-connector-py";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -7,13 +7,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "twitterapi"; pname = "twitterapi";
version = "2.6.10"; version = "2.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "geduldig"; owner = "geduldig";
repo = "TwitterAPI"; repo = "TwitterAPI";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ylxjeIK9cjT4r71j+sULYs6yyYWfKDkpm0bESMo7s3o="; sha256 = "sha256-fLexFlnoh58b9q4mo9atGQmMttKytTfAYmaPj6xmPj8=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -1,5 +1,6 @@
{ buildPythonPackage, { buildPythonPackage,
fetchPypi, fetchPypi,
fetchpatch,
cairosvg, cairosvg,
pyphen, pyphen,
cffi, cffi,
@ -7,7 +8,6 @@
lxml, lxml,
html5lib, html5lib,
tinycss, tinycss,
pygobject2,
glib, glib,
pango, pango,
fontconfig, fontconfig,
@ -43,9 +43,15 @@ buildPythonPackage rec {
FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
propagatedBuildInputs = [ cairosvg pyphen cffi cssselect lxml html5lib tinycss pygobject2 ]; propagatedBuildInputs = [ cairosvg pyphen cffi cssselect lxml html5lib tinycss ];
# 47043a1fd7e50a892b9836466f521df85d597c4.patch can be removed after next release of weasyprint, see:
# https://github.com/Kozea/WeasyPrint/issues/1333#issuecomment-818062970
patches = [ patches = [
(fetchpatch {
url = "https://github.com/Kozea/WeasyPrint/commit/47043a1fd7e50a892b9836466f521df85d597c44.patch";
sha256 = "0l9z0hrav3bcdajlg3vbzljq0lkw7hlj8ppzrq3v21hbj1il1nsb";
})
(substituteAll { (substituteAll {
src = ./library-paths.patch; src = ./library-paths.patch;
fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}"; fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}";

View file

@ -0,0 +1,82 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, Babel
, colorama
, cssselect
, dateutil
, feedparser
, futures
, gdata
, gnupg
, google-api-python-client
, html2text
, libyaml
, lxml
, mechanize
, nose
, pdfminer
, pillow
, prettytable
, pyqt5
, pyyaml
, requests
, simplejson
, termcolor
, unidecode
}:
buildPythonPackage rec {
pname = "woob";
version = "3.0";
src = fetchPypi {
inherit pname version;
sha256 = "09hpxy5zhn2b8li0xjf3zd7s46lawb0315p5mdcsci3bj3s4v1j7";
};
patches = [
# Disable doctests that require networking:
./no-test-requiring-network.patch
];
checkInputs = [ nose ];
nativeBuildInputs = [ pyqt5 ];
propagatedBuildInputs = [
Babel
colorama
cssselect
dateutil
feedparser
gdata
gnupg
google-api-python-client
html2text
libyaml
lxml
mechanize
pdfminer
pillow
prettytable
pyqt5
pyyaml
requests
simplejson
termcolor
unidecode
] ++ lib.optionals isPy27 [ futures ];
checkPhase = ''
nosetests
'';
meta = with lib; {
homepage = "https://woob.tech";
description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
license = licenses.lgpl3Plus;
maintainers = [ maintainers.DamienCassou ];
};
}

View file

@ -0,0 +1,54 @@
--- a/woob/browser/browsers.py
+++ b/woob/browser/browsers.py
@@ -930,23 +930,6 @@
:class:`NextPage` constructor can take an url or a Request object.
- >>> from .pages import HTMLPage
- >>> class Page(HTMLPage):
- ... def iter_values(self):
- ... for el in self.doc.xpath('//li'):
- ... yield el.text
- ... for next in self.doc.xpath('//a'):
- ... raise NextPage(next.attrib['href'])
- ...
- >>> class Browser(PagesBrowser):
- ... BASEURL = 'https://woob.tech'
- ... list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
- ...
- >>> b = Browser()
- >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
- <woob.browser.browsers.Page object at 0x...>
- >>> list(b.pagination(lambda: b.page.iter_values()))
- ['One', 'Two', 'Three', 'Four']
"""
while True:
try:
--- a/woob/browser/pages.py
+++ b/woob/browser/pages.py
@@ -49,25 +49,6 @@
:class:`NextPage` constructor can take an url or a Request object.
- >>> class Page(HTMLPage):
- ... @pagination
- ... def iter_values(self):
- ... for el in self.doc.xpath('//li'):
- ... yield el.text
- ... for next in self.doc.xpath('//a'):
- ... raise NextPage(next.attrib['href'])
- ...
- >>> from .browsers import PagesBrowser
- >>> from .url import URL
- >>> class Browser(PagesBrowser):
- ... BASEURL = 'https://woob.tech'
- ... list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
- ...
- >>> b = Browser()
- >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
- <woob.browser.pages.Page object at 0x...>
- >>> list(b.page.iter_values())
- ['One', 'Two', 'Three', 'Four']
"""
@wraps(func)

View file

@ -61,13 +61,12 @@ in rec {
}; };
}; };
# NOTE: Gradle 7 is a release candidate, so point to 6.8. gradle_latest = gradle_7;
gradle_latest = gradle_6_8;
gradle_7 = gradleGen (gradleSpec { gradle_7 = gradleGen (gradleSpec {
version = "7.0-rc-2"; version = "7.0";
nativeVersion = "0.22-milestone-11"; nativeVersion = "0.22-milestone-11";
sha256 = "0gzvigyvwwizx90vnzhdnbm5rdaki11inxna11s4y67xkn8hrnx5"; sha256 = "01f3bjn8pbpni8kmxvx1dpwpf4zz04vj7cpm6025n0k188c8k2zb";
}); });
gradle_6_8 = gradleGen (gradleSpec { gradle_6_8 = gradleGen (gradleSpec {

View file

@ -14,13 +14,13 @@
buildGoModule rec { buildGoModule rec {
pname = "buildah"; pname = "buildah";
version = "1.20.0"; version = "1.20.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "buildah"; repo = "buildah";
rev = "v${version}"; rev = "v${version}";
sha256 = "12gmn61mfrr58071x3cdsksad6swn1b23ghih128hjdpdzk1zxs3"; sha256 = "sha256-nlZblUPS0678dR0hyp+V9uH/nHL9YH81+O1Zzq8T8Pw=";
}; };
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];

View file

@ -3,14 +3,14 @@
with lib; with lib;
buildGoModule rec { buildGoModule rec {
pname = "fcct"; pname = "butane";
version = "0.10.0"; version = "0.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coreos"; owner = "coreos";
repo = "fcct"; repo = "butane";
rev = "v${version}"; rev = "v${version}";
sha256 = "0gxaj2fy889fl5vhb4s89rhih9a65aqjsz2yffhi5z4fa2im8szv"; sha256 = "1s4rkq7mj1lyi8h47jyfy3qygfxhrmpihdy8rcnn55gcy04lm0qc";
}; };
vendorSha256 = null; vendorSha256 = null;
@ -20,17 +20,17 @@ buildGoModule rec {
subPackages = [ "internal" ]; subPackages = [ "internal" ];
buildFlagsArray = '' buildFlagsArray = ''
-ldflags=-X github.com/coreos/fcct/internal/version.Raw=v${version} -ldflags=-X github.com/coreos/butane/internal/version.Raw=v${version}
''; '';
postInstall = '' postInstall = ''
mv $out/bin/{internal,fcct} mv $out/bin/{internal,butane}
''; '';
meta = { meta = {
description = "Translates Fedora CoreOS configs into Ignition configs"; description = "Translates human-readable Butane configs into machine-readable Ignition configs";
license = licenses.asl20; license = licenses.asl20;
homepage = "https://github.com/coreos/fcct"; homepage = "https://github.com/coreos/butane";
maintainers = with maintainers; [ elijahcaine ruuda ]; maintainers = with maintainers; [ elijahcaine ruuda ];
platforms = platforms.unix; platforms = platforms.unix;
}; };

View file

@ -58,11 +58,11 @@ in stdenv.mkDerivation rec {
--replace "Exec=godot" "Exec=$out/bin/godot" --replace "Exec=godot" "Exec=$out/bin/godot"
''; '';
meta = { meta = with lib; {
homepage = "https://godotengine.org"; homepage = "https://godotengine.org";
description = "Free and Open Source 2D and 3D game engine"; description = "Free and Open Source 2D and 3D game engine";
license = lib.licenses.mit; license = licenses.mit;
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = [ lib.maintainers.twey ]; maintainers = with maintainers; [ twey ];
}; };
} }

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, jdk, gradleGen, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper, glib, wrapGAppsHook }: { lib, stdenv, fetchFromGitHub, jdk, gradleGen, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper, glib, wrapGAppsHook }:
let let
# The default one still uses jdk8 (#89731) # The default one still uses jdk8 (#89731)
gradle = (gradleGen.override (old: { java = jdk; })).gradle_latest; gradle = (gradleGen.override (old: { java = jdk; })).gradle_6_8;
pname = "scenebuilder"; pname = "scenebuilder";
version = "15.0.1"; version = "15.0.1";

View file

@ -15,15 +15,15 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "deno"; pname = "deno";
version = "1.8.3"; version = "1.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "denoland"; owner = "denoland";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-QkVDIpJ4VW3DpcwhydDnt68zxVXwkitIiN8blGlqX1g="; sha256 = "sha256-LrJGwsP+P8zXYwboF5791YuWGVdhcQJLOoBv+VzrYzs=";
}; };
cargoSha256 = "sha256-pf/4/H3wNORNvAswz8+7B3x5T5MyQgW7HgtDLBhfE/o="; cargoSha256 = "sha256-JDapls3nRNETri6nZPRjZFlAFVN1Owhp965zf0Rn3ug=";
# Install completions post-install # Install completions post-install
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -11,11 +11,11 @@ let
}; };
in in
fetch_librusty_v8 { fetch_librusty_v8 {
version = "0.21.0"; version = "0.22.1";
shas = { shas = {
x86_64-linux = "sha256-oxGCM6jlqafjAfTtFwARxBv/8tiUaD9A2TlLyj/3LlQ="; x86_64-linux = "sha256-rHI5qzwmDvlIdjUCZwvl6/s2Oe6d3/V7TJwfP1AFjik=";
aarch64-linux = "sha256-yeDcrxEp3qeE6/NWEc1v7VoHjlgppIOkcHTNVksXNsM="; aarch64-linux = "sha256-7VhrOkzWayZFTsq0II5uh+TxXaIDSkc0E19ZwT3Hl6c=";
x86_64-darwin = "sha256-QqdBa59xPxM8eDRzvPxvv9HFVgp2rt+5jiwIOgsi8JE="; x86_64-darwin = "sha256-zXXL2YqgjFmuDHGReIGWVxfSS3PMND0J0qlHRV/rKs8=";
aarch64-darwin = "sha256-aq2Kjn8QSDMhNg8pEbXkJCHUKmDTNnitq42SDDVyRd4="; aarch64-darwin = "sha256-X/CCJn5yWJH2x6lCGAFllrQUj7XLA3TICRP3aiWytjk=";
}; };
} }

View file

@ -2,12 +2,12 @@
"x86_64-linux": { "x86_64-linux": {
"alpha": { "alpha": {
"experimental": { "experimental": {
"name": "factorio_alpha_x64-1.1.30.tar.xz", "name": "factorio_alpha_x64-1.1.32.tar.xz",
"needsAuth": true, "needsAuth": true,
"sha256": "14mcf9pj6s5ms2hl68n3r5jk1q5y2qzw88wiahsb5plkv9qyqyp6", "sha256": "0ciz7y8xqlk9vg3akvflq1aabzgbqpazfnihyk4gsadk12b6a490",
"tarDirectory": "x64", "tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.30/alpha/linux64", "url": "https://factorio.com/get-download/1.1.32/alpha/linux64",
"version": "1.1.30" "version": "1.1.32"
}, },
"stable": { "stable": {
"name": "factorio_alpha_x64-1.1.30.tar.xz", "name": "factorio_alpha_x64-1.1.30.tar.xz",
@ -38,12 +38,12 @@
}, },
"headless": { "headless": {
"experimental": { "experimental": {
"name": "factorio_headless_x64-1.1.30.tar.xz", "name": "factorio_headless_x64-1.1.32.tar.xz",
"needsAuth": false, "needsAuth": false,
"sha256": "1rac6d8v8swiw1nn2hl53rhjfhsyv98qg8hfnwhfqn76jgspspdl", "sha256": "0dg98ycs7m8rm996pk0p1iajalpmiy30p0pwr9dw2chf1d887kvz",
"tarDirectory": "x64", "tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.30/headless/linux64", "url": "https://factorio.com/get-download/1.1.32/headless/linux64",
"version": "1.1.30" "version": "1.1.32"
}, },
"stable": { "stable": {
"name": "factorio_headless_x64-1.1.30.tar.xz", "name": "factorio_headless_x64-1.1.30.tar.xz",

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