Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-05-11 09:19:26 +02:00
commit d20d734bcf
89 changed files with 3895 additions and 2740 deletions

View File

@ -73,8 +73,8 @@ rec {
lconcat [ "a" "b" "c" ]
=> "zabc"
# different types
lstrange = foldl (str: int: str + toString (int + 1)) ""
strange [ 1 2 3 4 ]
lstrange = foldl (str: int: str + toString (int + 1)) "a"
lstrange [ 1 2 3 4 ]
=> "a2345"
*/
foldl = op: nul: list:

View File

@ -5796,6 +5796,12 @@
githubId = 15930073;
name = "Moritz Scheuren";
};
pablovsky = {
email = "dealberapablo07@gmail.com";
github = "pablo1107";
githubId = 17091659;
name = "Pablo Andres Dealbera";
};
pacien = {
email = "b4gx3q.nixpkgs@pacien.net";
github = "pacien";

View File

@ -77,7 +77,9 @@
<itemizedlist>
<listitem>
<para />
<para>
There is a new <xref linkend="opt-security.doas.enable"/> module that provides <command>doas</command>, a lighter alternative to <command>sudo</command> with many of the same features.
</para>
</listitem>
</itemizedlist>

View File

@ -19,7 +19,7 @@ in {
base = mkOption {
default = "${config.boot.kernelPackages.kernel}/dtbs";
defaultText = "\${config.boot.kernelPackages.kernel}/dtbs";
example = literalExample "pkgs.deviceTree_rpi";
example = literalExample "pkgs.device-tree_rpi";
type = types.path;
description = ''
The package containing the base device-tree (.dtb) to boot. Contains
@ -30,7 +30,7 @@ in {
overlays = mkOption {
default = [];
example = literalExample
"[\"\${pkgs.deviceTree_rpi.overlays}/w1-gpio.dtbo\"]";
"[\"\${pkgs.device-tree_rpi.overlays}/w1-gpio.dtbo\"]";
type = types.listOf types.path;
description = ''
A path containing device tree overlays (.dtbo) to be applied to all

View File

@ -34,10 +34,12 @@ let
enabled = nvidia_x11 != null;
cfg = config.hardware.nvidia;
pCfg = cfg.prime;
syncCfg = pCfg.sync;
offloadCfg = pCfg.offload;
primeEnabled = syncCfg.enable || offloadCfg.enable;
nvidiaPersistencedEnabled = cfg.nvidiaPersistenced;
in
{
@ -129,6 +131,15 @@ in
<option>hardware.nvidia.prime.intelBusId</option>).
'';
};
hardware.nvidia.nvidiaPersistenced = mkOption {
default = false;
type = types.bool;
description = ''
Update for NVIDA GPU headless mode, i.e. nvidia-persistenced. It ensures all
GPUs stay awake even during headless mode.
'';
};
};
config = mkIf enabled {
@ -220,6 +231,18 @@ in
++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
"L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced";
systemd.services."nvidia-persistenced" = mkIf nvidiaPersistencedEnabled {
description = "NVIDIA Persistence Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "forking";
Restart = "always";
PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid";
ExecStart = "${nvidia_x11.persistenced}/bin/nvidia-persistenced --verbose";
ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced";
};
};
boot.extraModulePackages = [ nvidia_x11.bin ];
# nvidia-uvm is required by CUDA applications.

View File

@ -200,6 +200,7 @@
./security/rtkit.nix
./security/wrappers/default.nix
./security/sudo.nix
./security/doas.nix
./security/systemd-confinement.nix
./security/tpm2.nix
./services/admin/oxidized.nix

View File

@ -0,0 +1,274 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.security.doas;
inherit (pkgs) doas;
mkUsrString = user: toString user;
mkGrpString = group: ":${toString group}";
mkOpts = rule: concatStringsSep " " [
(optionalString rule.noPass "nopass")
(optionalString rule.persist "persist")
(optionalString rule.keepEnv "keepenv")
"setenv { SSH_AUTH_SOCK ${concatStringsSep " " rule.setEnv} }"
];
mkArgs = rule:
if (isNull rule.args) then ""
else if (length rule.args == 0) then "args"
else "args ${concatStringsSep " " rule.args}";
mkRule = rule:
let
opts = mkOpts rule;
as = optionalString (!isNull rule.runAs) "as ${rule.runAs}";
cmd = optionalString (!isNull rule.cmd) "cmd ${rule.cmd}";
args = mkArgs rule;
in
optionals (length cfg.extraRules > 0) [
(
optionalString (length rule.users > 0)
(map (usr: "permit ${opts} ${mkUsrString usr} ${as} ${cmd} ${args}") rule.users)
)
(
optionalString (length rule.groups > 0)
(map (grp: "permit ${opts} ${mkGrpString grp} ${as} ${cmd} ${args}") rule.groups)
)
];
in
{
###### interface
options.security.doas = {
enable = mkOption {
type = with types; bool;
default = false;
description = ''
Whether to enable the <command>doas</command> command, which allows
non-root users to execute commands as root.
'';
};
wheelNeedsPassword = mkOption {
type = with types; bool;
default = true;
description = ''
Whether users of the <code>wheel</code> group must provide a password to
run commands as super user via <command>doas</command>.
'';
};
extraRules = mkOption {
default = [];
description = ''
Define specific rules to be set in the
<filename>/etc/doas.conf</filename> file. More specific rules should
come after more general ones in order to yield the expected behavior.
You can use <code>mkBefore</code> and/or <code>mkAfter</code> to ensure
this is the case when configuration options are merged.
'';
example = literalExample ''
[
# Allow execution of any command by any user in group doas, requiring
# a password and keeping any previously-defined environment variables.
{ groups = [ "doas" ]; noPass = false; keepEnv = true; }
# Allow execution of "/home/root/secret.sh" by user `backup` OR user
# `database` OR any member of the group with GID `1006`, without a
# password.
{ users = [ "backup" "database" ]; groups = [ 1006 ];
cmd = "/home/root/secret.sh"; noPass = true; }
# Allow any member of group `bar` to run `/home/baz/cmd1.sh` as user
# `foo` with argument `hello-doas`.
{ groups = [ "bar" ]; runAs = "foo";
cmd = "/home/baz/cmd1.sh"; args = [ "hello-doas" ]; }
# Allow any member of group `bar` to run `/home/baz/cmd2.sh` as user
# `foo` with no arguments.
{ groups = [ "bar" ]; runAs = "foo";
cmd = "/home/baz/cmd2.sh"; args = [ ]; }
# Allow user `abusers` to execute "nano" and unset the value of
# SSH_AUTH_SOCK, override the value of ALPHA to 1, and inherit the
# value of BETA from the current environment.
{ users = [ "abusers" ]; cmd = "nano";
setEnv = [ "-SSH_AUTH_SOCK" "ALPHA=1" "BETA" ]; }
]
'';
type = with types; listOf (
submodule {
options = {
noPass = mkOption {
type = with types; bool;
default = false;
description = ''
If <code>true</code>, the user is not required to enter a
password.
'';
};
persist = mkOption {
type = with types; bool;
default = false;
description = ''
If <code>true</code>, do not ask for a password again for some
time after the user successfully authenticates.
'';
};
keepEnv = mkOption {
type = with types; bool;
default = false;
description = ''
If <code>true</code>, environment variables other than those
listed in
<citerefentry><refentrytitle>doas</refentrytitle><manvolnum>1</manvolnum></citerefentry>
are kept when creating the environment for the new process.
'';
};
setEnv = mkOption {
type = with types; listOf str;
default = [];
description = ''
Keep or set the specified variables. Variables may also be
removed with a leading '-' or set using
<code>variable=value</code>. If the first character of
<code>value</code> is a '$', the value to be set is taken from
the existing environment variable of the indicated name. This
option is processed after the default environment has been
created.
NOTE: All rules have <code>setenv { SSH_AUTH_SOCK }</code> by
default. To prevent <code>SSH_AUTH_SOCK</code> from being
inherited, add <code>"-SSH_AUTH_SOCK"</code> anywhere in this
list.
'';
};
users = mkOption {
type = with types; listOf (either str int);
default = [];
description = "The usernames / UIDs this rule should apply for.";
};
groups = mkOption {
type = with types; listOf (either str int);
default = [];
description = "The groups / GIDs this rule should apply for.";
};
runAs = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Which user or group the specified command is allowed to run as.
When set to <code>null</code> (the default), all users are
allowed.
A user can be specified using just the username:
<code>"foo"</code>. It is also possible to only allow running as
a specific group with <code>":bar"</code>.
'';
};
cmd = mkOption {
type = with types; nullOr str;
default = null;
description = ''
The command the user is allowed to run. When set to
<code>null</code> (the default), all commands are allowed.
NOTE: It is best practice to specify absolute paths. If a
relative path is specified, only a restricted PATH will be
searched.
'';
};
args = mkOption {
type = with types; nullOr (listOf str);
default = null;
description = ''
Arguments that must be provided to the command. When set to
<code>[]</code>, the command must be run without any arguments.
'';
};
};
}
);
};
extraConfig = mkOption {
type = with types; lines;
default = "";
description = ''
Extra configuration text appended to <filename>doas.conf</filename>.
'';
};
};
###### implementation
config = mkIf cfg.enable {
security.doas.extraRules = [
{
groups = [ "wheel" ];
noPass = !cfg.wheelNeedsPassword;
}
];
security.wrappers = {
doas.source = "${doas}/bin/doas";
};
environment.systemPackages = [
doas
];
security.pam.services.doas = {
allowNullPassword = true;
sshAgentAuth = true;
};
environment.etc."doas.conf" = {
source = pkgs.runCommand "doas-conf"
{
src = pkgs.writeText "doas-conf-in" ''
# To modify this file, set the NixOS options
# `security.doas.extraRules` or `security.doas.extraConfig`. To
# completely replace the contents of this file, use
# `environment.etc."doas.conf"`.
# "root" is allowed to do anything.
permit nopass keepenv root
# extraRules
${concatStringsSep "\n" (lists.flatten (map mkRule cfg.extraRules))}
# extraConfig
${cfg.extraConfig}
'';
preferLocalBuild = true;
}
# Make sure that the doas.conf file is syntactically valid.
"${pkgs.buildPackages.doas}/bin/doas -C $src && cp $src $out";
mode = "0440";
};
};
meta.maintainers = with maintainers; [ cole-h ];
}

View File

@ -160,6 +160,11 @@ in {
+ " the 'users.users' option instead as this combination is"
+ " currently not supported.";
}
{ assertion = !cfg.serviceConfig.ProtectSystem or false;
message = "${whatOpt "ProtectSystem"}. ProtectSystem is not compatible"
+ " with service confinement as it fails to remount /usr within"
+ " our chroot. Please disable the option.";
}
]) config.systemd.services);
config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let

View File

@ -18,8 +18,6 @@ let
''}
state_file "${cfg.dataDir}/state"
sticker_file "${cfg.dataDir}/sticker.sql"
user "${cfg.user}"
group "${cfg.group}"
${optionalString (cfg.network.listenAddress != "any") ''bind_to_address "${cfg.network.listenAddress}"''}
${optionalString (cfg.network.port != 6600) ''port "${toString cfg.network.port}"''}

View File

@ -3,8 +3,8 @@
pkgs.substituteAll {
src = ./raspberrypi-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
inherit (pkgs.buildPackages) bash;
path = with pkgs.buildPackages; [coreutils gnused gnugrep];
firmware = pkgs.raspberrypifw;
inherit configTxt;
}

View File

@ -20,7 +20,7 @@ let
extlinuxConfBuilder =
import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
inherit pkgs;
pkgs = pkgs.buildPackages;
};
in
pkgs.substituteAll {

View File

@ -68,6 +68,7 @@ in
deluge = handleTest ./deluge.nix {};
dhparams = handleTest ./dhparams.nix {};
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
doas = handleTest ./doas.nix {};
docker = handleTestOn ["x86_64-linux"] ./docker.nix {};
oci-containers = handleTestOn ["x86_64-linux"] ./oci-containers.nix {};
docker-edge = handleTestOn ["x86_64-linux"] ./docker-edge.nix {};

83
nixos/tests/doas.nix Normal file
View File

@ -0,0 +1,83 @@
# Some tests to ensure doas is working properly.
import ./make-test-python.nix (
{ lib, ... }: {
name = "doas";
meta = with lib.maintainers; {
maintainers = [ cole-h ];
};
machine =
{ ... }:
{
users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; };
users.users = {
test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; };
test1 = { isNormalUser = true; };
test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; };
test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; };
test4 = { isNormalUser = true; extraGroups = [ "baz" ]; };
test5 = { isNormalUser = true; };
test6 = { isNormalUser = true; };
test7 = { isNormalUser = true; };
};
security.doas = {
enable = true;
wheelNeedsPassword = false;
extraRules = [
{ users = [ "test1" ]; groups = [ "foobar" ]; }
{ users = [ "test2" ]; noPass = true; setEnv = [ "CORRECT" "HORSE=BATTERY" ]; }
{ groups = [ "barfoo" 1337 ]; noPass = true; }
{ users = [ "test5" ]; noPass = true; keepEnv = true; runAs = "test1"; }
{ users = [ "test6" ]; noPass = true; keepEnv = true; setEnv = [ "-STAPLE" ]; }
{ users = [ "test7" ]; noPass = true; setEnv = [ "-SSH_AUTH_SOCK" ]; }
];
};
};
testScript = ''
with subtest("users in wheel group should have passwordless doas"):
machine.succeed('su - test0 -c "doas -u root true"')
with subtest("test1 user should not be able to use doas without password"):
machine.fail('su - test1 -c "doas -n -u root true"')
with subtest("test2 user should be able to keep some env"):
if "CORRECT=1" not in machine.succeed('su - test2 -c "CORRECT=1 doas env"'):
raise Exception("failed to keep CORRECT")
if "HORSE=BATTERY" not in machine.succeed('su - test2 -c "doas env"'):
raise Exception("failed to setenv HORSE=BATTERY")
with subtest("users in group 'barfoo' shouldn't require password"):
machine.succeed("doas -u test3 doas -n -u root true")
with subtest("users in group 'baz' (GID 1337) shouldn't require password"):
machine.succeed("doas -u test4 doas -n -u root echo true")
with subtest("test5 user should be able to run commands under test1"):
machine.succeed("doas -u test5 doas -n -u test1 true")
with subtest("test5 user should not be able to run commands under root"):
machine.fail("doas -u test5 doas -n -u root true")
with subtest("test6 user should be able to keepenv"):
envs = ["BATTERY=HORSE", "CORRECT=false"]
out = machine.succeed(
'su - test6 -c "BATTERY=HORSE CORRECT=false STAPLE=Tr0ub4dor doas env"'
)
if not all(env in out for env in envs):
raise Exception("failed to keep BATTERY or CORRECT")
if "STAPLE=Tr0ub4dor" in out:
raise Exception("failed to exclude STAPLE")
with subtest("test7 should not have access to SSH_AUTH_SOCK"):
if "SSH_AUTH_SOCK=HOLEY" in machine.succeed(
'su - test7 -c "SSH_AUTH_SOCK=HOLEY doas env"'
):
raise Exception("failed to exclude SSH_AUTH_SOCK")
'';
}
)

View File

@ -55,6 +55,9 @@ in {
with subtest("git daemon starts"):
server.wait_for_unit("git-daemon.service")
server.wait_for_unit("network-online.target")
client.wait_for_unit("network-online.target")
with subtest("client can clone project.git"):
client.succeed(
"git clone git://server/project.git /project",

View File

@ -29,11 +29,11 @@
# handle that.
mkDerivation rec {
name = "qmmp-1.3.7";
name = "qmmp-1.4.0";
src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
sha256 = "13mk8p7bfl3fkavpqyhpcxkxb8a4f5d4qc1lasyf7wls3ghrdag7";
sha256 = "13rhnk55d44svksl13w23w2qkfpkq4mc0jy5mi89nzqkzshwvfd8";
};
nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -1,17 +1,32 @@
{ stdenv, fetchFromGitHub, liblo, libxml2, libjack2, libsndfile, wxGTK, libsigcxx
, libsamplerate, rubberband, pkgconfig, libtool, gettext, ncurses, which
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkgconfig
, which
, libtool
, liblo
, libxml2
, libjack2
, libsndfile
, wxGTK30
, libsigcxx
, libsamplerate
, rubberband
, gettext
, ncurses
, alsaLib
, fftw
}:
stdenv.mkDerivation rec {
pname = "sooperlooper-git";
version = "2016-07-19";
pname = "sooperlooper";
version = "unstable-2019-09-30";
src = fetchFromGitHub {
owner = "essej";
repo = "sooperlooper";
rev = "3bdfe184cd59b51c757b8048536abc1146fb0de4";
sha256 = "0qz25h4idv79m97ici2kzx72fwzks3lysyksk3p3rx72lsijhf3g";
rev = "4d1da14176e16b0f56b727bb1e6c2e8957515625";
sha256 = "1gsgqa7hdymzw2al1ymzv0f33y161dyhh3fmy88lpjwv3bfchamg";
};
autoreconfPhase = ''
@ -22,11 +37,21 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkgconfig which libtool ];
buildInputs = [
liblo libxml2 libjack2 libsndfile wxGTK libsigcxx
libsamplerate rubberband gettext ncurses
liblo
libxml2
libjack2
libsndfile
wxGTK30
libsigcxx
libsamplerate
rubberband
gettext
ncurses
alsaLib
fftw
];
meta = {
meta = with stdenv.lib; {
description = "A live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more";
longDescription = ''
It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory.
@ -35,11 +60,9 @@ stdenv.mkDerivation rec {
However, this kind of live performance looping tool is most effectively used via hardware (midi footpedals, etc)
and the engine can be run standalone on a computer without a monitor.
'';
version = version;
homepage = "http://essej.net/sooperlooper/index.html";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
homepage = "http://essej.net/sooperlooper/"; # https is broken
license = licenses.gpl2;
maintainers = with maintainers; [ magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -5,13 +5,13 @@
buildPythonApplication rec {
pname = "rednotebook";
version = "2.18";
version = "2.19";
src = fetchFromGitHub {
owner = "jendrikseipp";
repo = "rednotebook";
rev = "v${version}";
sha256 = "1m75ns6vgycyi3zjlc9w2gnry1gyfz1jxhrklcxxi6aap0jxlgnr";
sha256 = "1y5slcwgs6p5n52whhhjg0c7053688311wnc9wqrk7vjk10qkx9d";
};
# We have not packaged tests.

View File

@ -1,12 +1,12 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.2.1)
activesupport (6.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
@ -24,7 +24,7 @@ GEM
http_parser.rb (0.6.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
jekyll (4.0.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@ -41,7 +41,7 @@ GEM
terminal-table (~> 1.8)
jekyll-avatar (0.7.0)
jekyll (>= 3.0, < 5.0)
jekyll-mentions (1.5.1)
jekyll-mentions (1.6.0)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
@ -52,11 +52,12 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.11.1)
jemoji (0.12.0)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
kramdown (2.1.0)
kramdown (2.2.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
@ -66,25 +67,26 @@ GEM
mercenary (0.3.6)
mini_portile2 (2.4.0)
minitest (5.14.0)
nokogiri (1.10.8)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
rb-fsevent (0.10.3)
public_suffix (4.0.5)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rouge (3.16.0)
rexml (3.2.4)
rouge (3.18.0)
safe_yaml (1.0.5)
sassc (2.2.1)
sassc (2.3.0)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tzinfo (1.2.6)
tzinfo (1.2.7)
thread_safe (~> 0.1)
unicode-display_width (1.6.1)
zeitwerk (2.2.2)
unicode-display_width (1.7.0)
zeitwerk (2.3.0)
PLATFORMS
ruby

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1";
sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326";
type = "gem";
};
version = "6.0.2.1";
version = "6.0.3";
};
addressable = {
dependencies = ["public_suffix"];
@ -130,10 +130,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa";
sha256 = "1gw05bh9iidnx2lxw0h5aiknbly818cmndc4a9nhq28fiafizi82";
type = "gem";
};
version = "4.0.0";
version = "4.0.1";
};
jekyll-avatar = {
dependencies = ["jekyll"];
@ -152,10 +152,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v";
sha256 = "1n8y67plydfmay3jn865igvgb3h6s2crk8kq7ydk3wmn9h103s1r";
type = "gem";
};
version = "1.5.1";
version = "1.6.0";
};
jekyll-sass-converter = {
dependencies = ["sassc"];
@ -207,20 +207,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6";
sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9";
type = "gem";
};
version = "0.11.1";
version = "0.12.0";
};
kramdown = {
dependencies = ["rexml"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6";
type = "gem";
};
version = "2.1.0";
version = "2.2.1";
};
kramdown-parser-gfm = {
dependencies = ["kramdown"];
@ -290,10 +291,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
type = "gem";
};
version = "1.10.8";
version = "1.10.9";
};
pathutil = {
dependencies = ["forwardable-extended"];
@ -311,20 +312,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
type = "gem";
};
version = "4.0.3";
version = "4.0.5";
};
rb-fsevent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
type = "gem";
};
version = "0.10.3";
version = "0.10.4";
};
rb-inotify = {
dependencies = ["ffi"];
@ -337,15 +338,25 @@
};
version = "0.10.1";
};
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
type = "gem";
};
version = "3.2.4";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi";
sha256 = "1n9h0ls2a2zq0bcsw31wxci1wdxb8s3vglfadxpcs6b04vkf6nqq";
type = "gem";
};
version = "3.16.0";
version = "3.18.0";
};
safe_yaml = {
groups = ["default"];
@ -363,10 +374,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
sha256 = "1qzfnvb8khvc6w2sn3k91mndc2w50xxx5c84jkr6xdxlmaq1a3kg";
type = "gem";
};
version = "2.2.1";
version = "2.3.0";
};
terminal-table = {
dependencies = ["unicode-display_width"];
@ -395,29 +406,29 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
type = "gem";
};
version = "1.2.6";
version = "1.2.7";
};
unicode-display_width = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
type = "gem";
};
version = "1.6.1";
version = "1.7.0";
};
zeitwerk = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
type = "gem";
};
version = "2.2.2";
version = "2.3.0";
};
}

View File

@ -47,6 +47,7 @@ in bundlerApp {
host sites right from your GitHub repositories.
'';
homepage = "https://jekyllrb.com/";
#changelog = "https://raw.githubusercontent.com/jekyll/jekyll/v${version}/History.markdown";
license = licenses.mit;
maintainers = with maintainers; [ primeos pesterhazy ];
platforms = platforms.unix;

View File

@ -1,12 +1,12 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.2.1)
activesupport (6.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
classifier-reborn (2.2.0)
@ -23,7 +23,7 @@ GEM
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (1.0.0)
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
fast-stemmer (1.0.2)
ffi (1.12.2)
@ -35,7 +35,7 @@ GEM
http_parser.rb (0.6.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
jekyll (4.0.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@ -59,7 +59,7 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-mentions (1.5.1)
jekyll-mentions (1.6.0)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-paginate (1.1.0)
@ -73,11 +73,12 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.11.1)
jemoji (0.12.0)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
kramdown (2.1.0)
kramdown (2.2.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
kramdown-syntax-coderay (1.0.1)
@ -92,25 +93,26 @@ GEM
mercenary (0.3.6)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009)
mime-types-data (3.2020.0425)
mini_portile2 (2.4.0)
minitest (5.14.0)
multipart-post (2.1.1)
nokogiri (1.10.8)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
octokit (4.16.0)
octokit (4.18.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
rb-fsevent (0.10.3)
public_suffix (4.0.5)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rdoc (6.2.1)
rouge (3.16.0)
rexml (3.2.4)
rouge (3.18.0)
safe_yaml (1.0.5)
sassc (2.2.1)
sassc (2.3.0)
ffi (~> 1.9)
sawyer (0.8.2)
addressable (>= 2.3.5)
@ -118,12 +120,12 @@ GEM
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tomlrb (1.2.9)
tzinfo (1.2.6)
tomlrb (1.3.0)
tzinfo (1.2.7)
thread_safe (~> 0.1)
unicode-display_width (1.6.1)
unicode-display_width (1.7.0)
yajl-ruby (1.4.1)
zeitwerk (2.2.2)
zeitwerk (2.3.0)
PLATFORMS
ruby

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1";
sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326";
type = "gem";
};
version = "6.0.2.1";
version = "6.0.3";
};
addressable = {
dependencies = ["public_suffix"];
@ -132,10 +132,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11yn7mhi4rl24brs2qfwysas14csjf1zmb835cfklqz5ka032xp6";
sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
type = "gem";
};
version = "1.0.0";
version = "1.0.1";
};
fast-stemmer = {
groups = ["default"];
@ -227,10 +227,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa";
sha256 = "1gw05bh9iidnx2lxw0h5aiknbly818cmndc4a9nhq28fiafizi82";
type = "gem";
};
version = "4.0.0";
version = "4.0.1";
};
jekyll-avatar = {
dependencies = ["jekyll"];
@ -282,10 +282,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v";
sha256 = "1n8y67plydfmay3jn865igvgb3h6s2crk8kq7ydk3wmn9h103s1r";
type = "gem";
};
version = "1.5.1";
version = "1.6.0";
};
jekyll-paginate = {
groups = ["default"];
@ -358,20 +358,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6";
sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9";
type = "gem";
};
version = "0.11.1";
version = "0.12.0";
};
kramdown = {
dependencies = ["rexml"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6";
type = "gem";
};
version = "2.1.0";
version = "2.2.1";
};
kramdown-parser-gfm = {
dependencies = ["kramdown"];
@ -477,10 +478,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
sha256 = "1zin0q26wc5p7zb7glpwary7ms60s676vcq987yv22jgm6hnlwlh";
type = "gem";
};
version = "3.2019.1009";
version = "3.2020.0425";
};
mini_portile2 = {
groups = ["default"];
@ -518,10 +519,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
type = "gem";
};
version = "1.10.8";
version = "1.10.9";
};
octokit = {
dependencies = ["faraday" "sawyer"];
@ -529,10 +530,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn";
sha256 = "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6";
type = "gem";
};
version = "4.16.0";
version = "4.18.0";
};
pathutil = {
dependencies = ["forwardable-extended"];
@ -550,20 +551,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
type = "gem";
};
version = "4.0.3";
version = "4.0.5";
};
rb-fsevent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
type = "gem";
};
version = "0.10.3";
version = "0.10.4";
};
rb-inotify = {
dependencies = ["ffi"];
@ -586,15 +587,25 @@
};
version = "6.2.1";
};
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
type = "gem";
};
version = "3.2.4";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi";
sha256 = "1n9h0ls2a2zq0bcsw31wxci1wdxb8s3vglfadxpcs6b04vkf6nqq";
type = "gem";
};
version = "3.16.0";
version = "3.18.0";
};
safe_yaml = {
groups = ["default"];
@ -612,10 +623,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
sha256 = "1qzfnvb8khvc6w2sn3k91mndc2w50xxx5c84jkr6xdxlmaq1a3kg";
type = "gem";
};
version = "2.2.1";
version = "2.3.0";
};
sawyer = {
dependencies = ["addressable" "faraday"];
@ -654,10 +665,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0njkyq5csj4km8spmw33b5902v254wvyvqq1b0f0kky5hs7bvrgg";
sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8";
type = "gem";
};
version = "1.2.9";
version = "1.3.0";
};
tzinfo = {
dependencies = ["thread_safe"];
@ -665,20 +676,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
type = "gem";
};
version = "1.2.6";
version = "1.2.7";
};
unicode-display_width = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
type = "gem";
};
version = "1.6.1";
version = "1.7.0";
};
yajl-ruby = {
groups = ["default"];
@ -707,9 +718,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
type = "gem";
};
version = "2.2.2";
version = "2.3.0";
};
}

View File

@ -20,14 +20,14 @@
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.17.3";
version = "0.17.4";
format = "other";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
rev = "v${version}";
sha256 = "1nx8gjavq8kc656ayh3wign1f68b46jbnmy8zyks25wg0p9gid8l";
sha256 = "1rbyj84y8r6h7qd6w7cw58v2abspippignj458ihv2m26i4als2x";
};
buildInputs = [

View File

@ -12,21 +12,27 @@
--- a/kitty/desktop.c
+++ b/kitty/desktop.c
@@ -30,7 +30,7 @@
static PyObject*
init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
static bool done = false;
- static const char* libname = "libstartup-notification-1.so";
+ static const char* libname = "@libstartup_notification@";
// some installs are missing the .so symlink, so try the full name
static const char* libname2 = "libstartup-notification-1.so.0";
static const char* libname3 = "libstartup-notification-1.so.0.0.0";
@@ -105,7 +105,7 @@ load_libcanberra_functions(void) {
@@ -34,10 +34,7 @@ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
done = true;
static void
load_libcanberra(void) {
- static const char* libname = "libcanberra.so";
+ static const char* libname = "@libcanberra@";
// some installs are missing the .so symlink, so try the full name
static const char* libname2 = "libcanberra.so.0";
static const char* libname3 = "libcanberra.so.0.2.5";
const char* libnames[] = {
- "libstartup-notification-1.so",
- // some installs are missing the .so symlink, so try the full name
- "libstartup-notification-1.so.0",
- "libstartup-notification-1.so.0.0.0",
+ "@libstartup_notification@",
NULL
};
for (int i = 0; libnames[i]; i++) {
@@ -113,10 +110,7 @@ load_libcanberra(void) {
if (done) return;
done = true;
const char* libnames[] = {
- "libcanberra.so",
- // some installs are missing the .so symlink, so try the full name
- "libcanberra.so.0",
- "libcanberra.so.0.2.5",
+ "@libcanberra@",
NULL
};
for (int i = 0; libnames[i]; i++) {

View File

@ -1,27 +1,29 @@
{ stdenv, fetchFromGitHub, buildPythonApplication,
click, pyfiglet, dateutil}:
with stdenv.lib;
{ stdenv
, fetchFromGitHub
, buildPythonApplication
, click
, pyfiglet
, dateutil
, setuptools
}:
buildPythonApplication rec {
pname = "termdown";
version = "1.16.0";
version = "1.17.0";
src = fetchFromGitHub {
rev = version;
sha256 = "0k429ss1xifm9vbgyzpp71r79byn9jclvr0rm77bai2r8nz3s2vf";
repo = "termdown";
owner = "trehn";
rev = version;
sha256 = "1sd9z5n2a4ir35832wgxs68vwav7wxhq39b5h8pq934mp8sl3v2k";
repo = "termdown";
owner = "trehn";
};
propagatedBuildInputs = [ dateutil click pyfiglet ];
propagatedBuildInputs = [ dateutil click pyfiglet setuptools ];
meta = with stdenv.lib; {
description = "Starts a countdown to or from TIMESPEC";
description = "Starts a countdown to or from TIMESPEC";
longDescription = "Countdown timer and stopwatch in your terminal";
homepage = "https://github.com/trehn/termdown";
license = licenses.gpl3;
platforms = platforms.all;
homepage = "https://github.com/trehn/termdown";
license = licenses.gpl3;
};
}

View File

@ -1,7 +1,7 @@
{ callPackage }:
let
stableVersion = "2.2.7";
stableVersion = "2.2.8";
previewVersion = stableVersion;
addVersion = args:
let version = if args.stable then stableVersion else previewVersion;
@ -25,8 +25,8 @@ let
};
mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
guiSrcHash = "1rq1cb07mvakqny848nvwgasp8f6pxdy790gd98xh55xrbi8jvxp";
serverSrcHash = "1cf3inppj2050mgmx5sgf540iz3m3nbh53p26dx8m67x2xfyb934";
guiSrcHash = "1qgzad9hdbvkdalzdnlg5gnlzn2f9qlpd1aj8djmi6w1mmdkf9q7";
serverSrcHash = "1kg38dh0xk4yvi7hz0d5dq9k0wany0sfd185l0zxs3nz78zd23an";
in {
guiStable = mkGui {
stable = true;

View File

@ -1,23 +1,19 @@
{ stdenv, fetchFromGitHub, zlib
, ocaml, dune, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }:
{ stdenv, buildDunePackage, fetchFromGitHub
, ocamlfuse, gapi_ocaml, ocaml_sqlite3
}:
stdenv.mkDerivation rec {
buildDunePackage rec {
pname = "google-drive-ocamlfuse";
version = "0.7.2";
version = "0.7.21";
src = fetchFromGitHub {
owner = "astrada";
repo = "google-drive-ocamlfuse";
rev = "v${version}";
sha256 = "1l6b4bs5x373pw210nl8xal03ns2ib1ls49y64s3lqjfh5wjmnjy";
sha256 = "0by3qnjrr1mbxyl2n99zggx8dxnqlicsq2b2hhhxb2d0k8qn47sw";
};
nativeBuildInputs = [ dune ];
buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl ];
buildPhase = "jbuilder build @install";
installPhase = "mkdir $out && dune install --prefix $out";
buildInputs = [ ocamlfuse gapi_ocaml ocaml_sqlite3 ];
meta = {
homepage = "http://gdfuse.forge.ocamlcore.org/";

View File

@ -34,11 +34,11 @@
in
stdenv.mkDerivation rec {
pname = "suricata";
version = "5.0.2";
version = "5.0.3";
src = fetchurl {
url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz";
sha256 = "1ryfa3bzd8mrq2k5kjfwmblxqqziz6b9n1dnh692mazf5z4wlc3z";
sha256 = "1nv5aq5lpkpskkzw05hr2lshkzcs4zqj5kfv4qjlbwigmp6kwh9l";
};
nativeBuildInputs = [

View File

@ -4,6 +4,7 @@
, xorg, libXdmcp, libxkbcommon
, libnotify, libsoup, libgee
, librsvg, libsignal-protocol-c
, fetchpatch
, libgcrypt
, epoxy
, at-spi2-core
@ -26,6 +27,15 @@ stdenv.mkDerivation rec {
sha256 = "1k5cgj5n8s40i71wqdh6m1q0njl45ichfdbbywx9rga5hljz1c54";
};
patches = [
(fetchpatch {
# Allow newer versions of libsignal-protocol-c
url = "https://github.com/dino/dino/commit/fbd70ceaac5ebbddfa21a580c61165bf5b861303.patch";
sha256 = "0ydpwsmwrzfsry89fsffkfalhki4n1dw99ixjvpiingdrhjmwyl2";
excludes = [ "plugins/signal-protocol/libsignal-protocol-c" ];
})
];
nativeBuildInputs = [
vala
cmake

View File

@ -19,12 +19,12 @@ with lib;
mkDerivation rec {
pname = "telegram-desktop";
version = "2.1.2";
version = "2.1.4";
# Telegram-Desktop with submodules
src = fetchurl {
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
sha256 = "0n387scs5kmc5jrypyxkc9cj4c7nb5761bdb8qxw8j342sm5ai24";
sha256 = "1swmmklw2mcgag0c8zh4rk5cjfx6z2yl0nxd5yc43hg9hx76yqqi";
};
postPatch = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, intltool, libtorrentRasterbar, pythonPackages
, gtk3, gobject-introspection, librsvg, wrapGAppsHook }:
, gtk3, glib, gobject-introspection, librsvg, wrapGAppsHook }:
pythonPackages.buildPythonPackage rec {
pname = "deluge";
@ -18,7 +18,7 @@ pythonPackages.buildPythonPackage rec {
gtk3 gobject-introspection librsvg
];
nativeBuildInputs = [ intltool wrapGAppsHook ];
nativeBuildInputs = [ intltool wrapGAppsHook glib ];
checkInputs = with pythonPackages; [
pytest /* pytest-twisted */ pytestcov mock

View File

@ -10,13 +10,13 @@ with lib;
mkDerivation rec {
pname = "qbittorrent";
version = "4.2.2";
version = "4.2.5";
src = fetchFromGitHub {
owner = "qbittorrent";
repo = "qbittorrent";
rev = "release-${version}";
sha256 = "1iqgwhgwa2kx85zj1rwfnnclr1433a7m2gbs3j7w6rx39vxnzhcc";
sha256 = "1n613ylg6i9gisgk0dbr2kpfasyizrkdjff1r8smd4vri2qrdksn";
};
# NOTE: 2018-05-31: CMake is working but it is not officially supported

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "tixati";
version = "2.72";
version = "2.73";
src = fetchurl {
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
sha256 = "04si7xwbpvljdbngmzlfvkn51wih3aqcb5g6r76wdh3pfpppskhr";
sha256 = "1ncrfc4wgf02la2h3zpdcz07b980n9232lg5f62q7ab79fjrcrfr";
};
installPhase = ''

View File

@ -13,13 +13,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "remmina";
version = "1.4.1";
version = "1.4.3";
src = fetchFromGitLab {
owner = "Remmina";
repo = "Remmina";
rev = "v${version}";
sha256 = "084yw0fd3qmzzd6xinhf4plv5bg8gfj4jnfac7zi1nif8zilf456";
sha256 = "11s39xcy80rarkddw31v621zpai1vdr52iam367l69mcbc40xg36";
};
nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];

View File

@ -9,13 +9,13 @@ let
in stdenv.mkDerivation rec {
pname = "resilio-sync";
version = "2.6.4";
version = "2.7.0";
src = fetchurl {
url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
sha256 = {
x86_64-linux = "1c1yksjag58p7yjm72iiz82p2r01lq7kxvq7z5phmq5z6gxdg4a8";
i686-linux = "167baz9fzmzk50jffzvgmgyw1zw3955r3cb73z23qvw8zqzdqydc";
x86_64-linux = "17vw4kyggmi8phm91jx1skkd7vrdhbahibv6d6zm14q87r01a56f";
i686-linux = "0yvy3lif2g4jchcp5q1r5b8ndj8009pcq5js7r0kl20bmmcmzklg";
}.${stdenv.hostPlatform.system};
};

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "testssl.sh";
version = "3.0";
version = "3.0.1";
src = fetchFromGitHub {
owner = "drwetter";
repo = pname;
rev = version;
sha256 = "08i1l835zlzb3qmsnsd5vhsrr82li6fnp5jqxiybbqr5wjz67ssd";
sha256 = "13vvkn1hna1d1mj8ffg7psrv6ha2jcjrf50qrsb0v0p8hszibavy";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "stacks";
version = "2.52";
version = "2.53";
src = fetchurl {
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
sha256 = "0gq3kbj910jsq591wylzjmd23srjlsssmrckmf46m4ysjqdqd8vm";
sha256 = "1zchds205nwdqch1246953dr8c0019yas178qbq3jypbxvmgq7pf";
};
buildInputs = [ zlib ];

View File

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "snakemake";
version = "5.15.0";
version = "5.16.0";
propagatedBuildInputs = with python3Packages; [
appdirs
@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "10cd1k5vg8ra5fnpqpdbl04qwx6h2mmmqbn71pl8j69w9110dkys";
sha256 = "0jlf3y8b1gdv5xz37yk9b5g2b65zkk45p15x0ypvd2blpzy80537";
};
doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }:
let
version = "1.0.17";
version = "1.0.18";
in
stdenv.mkDerivation {
pname = "svn-all-fast-export";
@ -11,7 +11,7 @@ stdenv.mkDerivation {
owner = "svn-all-fast-export";
repo = "svn2git";
rev = version;
sha256 = "13gmrxh4i34scv51h9x38v8jqfjykbbd9w7zzqjnxzvzpzsczg9a";
sha256 = "1b5yx2316hbyvw3v30vn1ljma9yd21nd59wis1gi34g92lgvqcd6";
};
nativeBuildInputs = [ qmake qttools ];

View File

@ -13,11 +13,11 @@ let
in
stdenv.mkDerivation rec {
pname = "gitkraken";
version = "6.5.4";
version = "6.6.0";
src = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
sha256 = "0hrxkhxp6kp82jg1pkcl6vxa5mjpgncx0k353bcnm4986ysizhj4";
sha256 = "1k94dyynsnm90mp7q9h6baq6q9zi539b1qszf3mqvd5i0id9kjcw";
};
dontBuild = true;

View File

@ -11,12 +11,12 @@ with stdenv.lib;
stdenv.mkDerivation rec {
baseName = "virt-viewer";
version = "8.0";
version = "9.0";
name = "${baseName}-${version}";
src = fetchurl {
url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
sha256 = "1vdnjmhrva7r1n9nv09j8gc12hy0j9j5l4rka4hh0jbsbpnmiwyw";
sha256 = "09a83mzyn3b4nd7wpa659g1zf1fjbzb79rk968bz6k5xl21k7d4i";
};
nativeBuildInputs = [ pkgconfig intltool shared-mime-info wrapGAppsHook glib ];

View File

@ -3,6 +3,7 @@
{ pname
, version
, internalDeps ? []
, peclDeps ? []
, buildInputs ? []
, nativeBuildInputs ? []
, postPhpize ? ""
@ -16,11 +17,12 @@
stdenv.mkDerivation (args // {
name = "php-${pname}-${version}";
extensionName = pname;
inherit src;
nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs;
buildInputs = [ php ] ++ buildInputs;
buildInputs = [ php ] ++ peclDeps ++ buildInputs;
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;

View File

@ -2,16 +2,16 @@
stdenv.mkDerivation rec {
pname = "nordic-polar";
version = "1.6.0";
version = "1.9.0";
srcs = [
(fetchurl {
url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz";
sha256 = "0cym8rcg8jpfraqlfrmymkm0jrsk1s9p7z6vcil4vxbyim9q9w16";
sha256 = "1583mx8frkl5w26myczbyrggrp07lmpsfj00h1bzicw6lz8jbxf1";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz";
sha256 = "0s4wf9nqpa75km905jh03gl2d2hjcdvfacmkdz3njviqm6pwqxsv";
sha256 = "1n2qys0xcg1k28bwfrrr44cqz7q2rnfj6ry6qgd67ivgh63kmcq6";
})
];

View File

@ -2,32 +2,32 @@
stdenv.mkDerivation rec {
pname = "nordic";
version = "1.8.1";
version = "1.9.0";
srcs = [
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic.tar.xz";
sha256 = "0jvc6l093gj9azkrjswdc1kqlyc6drnhsxgpzylzcgjxvxyi9vmd";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz";
sha256 = "12x13h9w4yqk56a009zpj1kq3vn2hn290xryfv1b0vyf2r45rsn7";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-standard-buttons.tar.xz";
sha256 = "049hcvccjds465v78sk3cjg7zck36l1zpyrf4p8xinj2h3b74zr8";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz";
sha256 = "0f38nx1rvp9l6xz62yx6cbab4im8d425gxr52jkc8gfqpl5lrf0q";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-darker.tar.xz";
sha256 = "1qaj4x451ic8mx4aak1axw29jm6ymwgh5w3n3mw5kjm1fwg4b5dz";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-darker.tar.xz";
sha256 = "0frp0jf7hbiapl3m67av7rbm3sx8db52zi3j01k2hysh6kba7x33";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-darker-standard-buttons.tar.xz";
sha256 = "19wczzppimp7sql9v0sq1sc5j0ix51270c58j22mg01kd2h2iivy";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-darker-standard-buttons.tar.xz";
sha256 = "0grfsjr9kq0lszmqxvjvpgvf4avm34446nqykz1zfpdg50j7r54b";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-bluish-accent.tar.xz";
sha256 = "1jvjjxiz8q9583f3gidky65s2g5pd5bkvbx0jvwn0p0kz8vlzmzk";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-bluish-accent.tar.xz";
sha256 = "0zndldwavir22ay2r0jazpikzzww3hc09gsmbiyjmw54v29qhl9r";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-bluish-accent-standard-buttons.tar.xz";
sha256 = "0wqn0aszddq8nbh6c667rwhy7c1zky23a9q3d8gci421n20l6lyd";
url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-bluish-accent-standard-buttons.tar.xz";
sha256 = "1b9d2fvdndyh7lh3xhmc75csfbapl4gv59y7wy15k2awisvlvz07";
})
];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "theme-obsidian2";
version = "2.11";
version = "2.12";
src = fetchFromGitHub {
owner = "madmaxms";
repo = "theme-obsidian-2";
rev = "v${version}";
sha256 = "0n64cml2h8dw2m2m6j90d515saqapqzjz6xcv4kr544ibv62hn61";
sha256 = "1srl6wm6fjdc5pi9fjl5nghn4q40hn5jcxxl8qjvz8lkczylynnb";
};
propagatedUserEnvPkgs = [ gtk-engine-murrine ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "shades-of-gray-theme";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "WernerFP";
repo = pname;
rev = version;
sha256 = "153isyxly7nvivaz87zk2v1bqzcb3wk0j9vhgxzcz6qkf754q61s";
sha256 = "13ydym0i3032g5dyrnl5wxpvxv57b43q7iaq5achpmaixgn58gs8";
};
buildInputs = [ gtk_engines ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-clipboard-indicator";
version = "30";
version = "34";
src = fetchFromGitHub {
owner = "Tudmotu";
repo = "gnome-shell-extension-clipboard-indicator";
rev = "v${version}";
sha256 = "1fmgmxv2y678bj0kmymkgnnglcpqk8ww053izlq46xg7s27jjdf6";
sha256 = "0i00psc1ky70zljd14jzr627y7nd8xwnwrh4xpajl1f6djabh12s";
};
uuid = "clipboard-indicator@tudmotu.com";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec {
name = "scala-2.13.1";
name = "scala-2.13.2";
src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "1nq49acx3j6vnw0lhyrfqa23f671y3kc9lja4nki0j73jk2cq639";
sha256 = "1gvdxwlhgjmn8i5a8kcp19700rscjq9ylb35p8vj7nqys94zjkap";
};
propagatedBuildInputs = [ jre ] ;

View File

@ -67,7 +67,7 @@ let
getDepsRecursively = extensions:
let
deps = lib.concatMap
(ext: ext.internalDeps or [])
(ext: (ext.internalDeps or []) ++ (ext.peclDeps or []))
extensions;
in
if ! (deps == []) then
@ -86,12 +86,12 @@ let
(map (ext:
let
extName = getExtName ext;
phpDeps = (ext.internalDeps or []) ++ (ext.peclDeps or []);
type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
in
lib.nameValuePair extName {
text = "${type}=${ext}/lib/php/extensions/${extName}.so";
deps = lib.optionals (ext ? internalDeps)
(map getExtName ext.internalDeps);
deps = map getExtName phpDeps;
})
(enabledExtensions ++ (getDepsRecursively enabledExtensions)));
@ -112,7 +112,7 @@ let
phpIni = "${phpWithExtensions}/lib/php.ini";
unwrapped = php;
tests = nixosTests.php;
inherit (php-packages) packages extensions;
inherit (php-packages) packages extensions buildPecl;
meta = php.meta // {
outputsToInstall = [ "out" ];
};

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libsignal-protocol-c";
version = "2.3.2";
version = "2.3.3";
src = fetchFromGitHub {
owner = "signalapp";
repo = "libsignal-protocol-c";
rev = "v${version}";
sha256 = "1qj2w4csy6j9jg1jy66n1qwysx7hgjywk4n35hlqcnh1kpa14k3p";
sha256 = "0z5p03vk15i6h870azfjgyfgxhv31q2vq6rfhnybrnkxq2wqzwhk";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "qtpbfimageplugin";
version = "2.1";
version = "2.2";
src = fetchFromGitHub {
owner = "tumic0";
repo = "QtPBFImagePlugin";
rev = version;
sha256 = "05l28xf7pf9mxm6crrdx5i7d2ri3hlg5iva0fqc8wxnj8pf2m38r";
sha256 = "1w2d33g13vkjasabmcgvhsmfqv3jmwbxhqxm1jnyc7d4nlk4jwmb";
};
nativeBuildInputs = [ qmake ];

View File

@ -1,22 +1,17 @@
{ stdenv, fetchFromGitHub, ocaml, camlidl, fuse, findlib }:
{ stdenv, buildDunePackage, fetchFromGitHub, camlidl, fuse }:
stdenv.mkDerivation rec {
buildDunePackage {
pname = "ocamlfuse";
version = "2.7.1_cvs5";
version = "2.7.1_cvs6_e35e76b";
src = fetchFromGitHub {
owner = "astrada";
repo = "ocamlfuse";
rev = "v${version}";
sha256 = "01ayw2hzpxan95kncbxh9isj9g149cs8scq3xim1vy8bz085wb0m";
rev = "e35e76bee3b06806256b5bfca108b7697267cd5c";
sha256 = "1v9g0wh7rnjkrjrnw50145g6ry38plyjs8fq8w0nlzwizhf3qhff";
};
buildInputs = [ocaml findlib];
propagatedBuildInputs = [camlidl fuse];
configurePhase = '' ocaml setup.ml -configure --prefix $out '';
buildPhase = "ocaml setup.ml -build";
installPhase = "ocaml setup.ml -install";
createFindlibDestdir = true;
propagatedBuildInputs = [ camlidl fuse ];
meta = {
homepage = "https://sourceforge.net/projects/ocamlfuse";

View File

@ -1,19 +1,18 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
|| stdenv.lib.versionAtLeast ocaml.version "4.08"
then throw "wasm is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-wasm-${version}";
version = "1.0";
version = "1.1";
src = fetchFromGitHub {
owner = "WebAssembly";
repo = "spec";
rev = "v${version}";
sha256 = "0r0wj31s2yg4vn4hyw2afc8wp8b0k3q130yiypwq3dlvfxrr70m6";
sha256 = "1jsgrjqzsdmm6f5pgd947nikj7pnxx1mqdnz16j7s62rg8x06h7d";
};
buildInputs = [ ocaml findlib ocamlbuild ];

View File

@ -3,11 +3,11 @@
buildPythonPackage rec {
pname = "ROPGadget";
version = "6.2";
version = "6.3";
src = fetchPypi {
inherit pname version;
sha256 = "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh";
sha256 = "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9";
};
propagatedBuildInputs = [ capstone ];

View File

@ -1,11 +1,11 @@
{ stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
buildPythonPackage rec {
pname = "PyMuPDF";
version = "1.16.16";
version = "1.16.18";
src = fetchPypi {
inherit pname version;
sha256 = "1rw4wjbsp8pnkkqcn097psjd6qinv70pjzvrbns04maybhn4ni6v";
sha256 = "0gpcmmcjgwc6x4rn6nm3akiijdkpa9nahsw2x8a0i7z7kzj4firk";
};
patchPhase = ''

View File

@ -2,13 +2,13 @@
buildPythonPackage rec {
pname = "pyvmomi";
version = "6.7.1.2018.12";
version = "7.0";
src = fetchFromGitHub {
owner = "vmware";
repo = pname;
rev = "v${version}";
sha256 = "1pgl95rbghidbyr8hndjzfzgb1yjchfcknlqgg3qbqvljnz9hfja";
sha256 = "1qqljrlc9h7kddx3xxc6479gk75fvaxspfikzjn6zj5mznsvfwj5";
};
# requires old version of vcrpy

View File

@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "treq";
version = "18.6.0";
version = "20.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "91e09ff6b524cc90aa5e934b909c8d0d1a9d36ebd618b6c38e37b17013e69f48";
sha256 = "115wwb3sripl3xvwpygwyrxrapyis0i7w1yq591z3dwl9k9fgzk8";
};
propagatedBuildInputs = [

View File

@ -3,13 +3,13 @@
buildPythonPackage rec {
pname = "twilio";
version = "6.35.1";
version = "6.39.0";
# tests not included in PyPi, so fetch from github instead
src = fetchFromGitHub {
owner = "twilio";
repo = "twilio-python";
rev = version;
sha256 = "10a1hqvxn0w6z696ay1bbxra6qn8bxg87d6g9iryd2hjnn8sfh4b";
sha256 = "1l2j54kjd1lrf072a3i5037qxpm8n378dddzd3m711ylz6vp638f";
};
buildInputs = [ nose mock ];

View File

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.24.5";
version = "0.26.0";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9";
sha256 = "029wxa50dwf4hsi7w0d8wmywh125aaaa7l4g024z1cyi511iy5h1";
};
propagatedBuildInputs = [ ifaddr ]

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "radare2-cutter";
version = "1.10.2";
version = "1.10.3";
src = fetchFromGitHub {
owner = "radareorg";
repo = "cutter";
rev = "v${version}";
sha256 = "1icv56gxpzdjqn37pk3g99vgpljdc77i6k0x601iw2885s7s01n6";
sha256 = "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk";
};
postUnpack = "export sourceRoot=$sourceRoot/src";

View File

@ -120,12 +120,12 @@ in {
cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
};
r2-for-cutter = generic {
version_commit = "24545";
gittap = "4.3.1";
gittip = "e7f940d27b3b4eb2738afef78a6ea09ed770318c";
rev = "e7f940d27b3b4eb2738afef78a6ea09ed770318c";
version = "2020-03-05";
sha256 = "0fiy6aj8xf9anpkk2vpkx8x0m2f26rhjb92nmg61xj13dmhchh30";
version_commit = "24605";
gittap = "4.4.0";
gittip = "9ea0b7ce566cfdcfb3513f407c4056915204294a";
rev = "9ea0b7ce566cfdcfb3513f407c4056915204294a";
version = "2020-04-14";
sha256 = "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s";
cs_ver = "4.0.1";
cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
};

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "qbs";
version = "1.15.0";
version = "1.16.0";
src = fetchFromGitHub {
owner = "qbs";
repo = "qbs";
rev = "v${version}";
sha256 = "0hq2lx5w5lsiy9c69bcps4wyn2sa9s88hj0bq95p93sfiwq6mxlr";
sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041";
};
nativeBuildInputs = [ qmake ];

View File

@ -0,0 +1,37 @@
{ lib, fetchFromGitHub, crystal, jq, libxml2, makeWrapper }:
crystal.buildCrystalPackage rec {
pname = "oq";
version = "1.1.0";
src = fetchFromGitHub {
owner = "Blacksmoke16";
repo = pname;
rev = "v${version}";
sha256 = "1zg4kxpfi3sap4cwp42zg46j5dv0nf926qdqm7k22ncm6jdrgpgw";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jq libxml2 ];
format = "crystal";
crystalBinaries.oq.src = "src/oq_cli.cr";
preCheck = ''
mkdir bin
cp oq bin/oq
'';
postInstall = ''
wrapProgram "$out/bin/oq" \
--prefix PATH : "${lib.makeBinPath [ jq ]}"
'';
meta = with lib; {
description = "A performant, and portable jq wrapper";
homepage = "https://blacksmoke16.github.io/oq/";
license = licenses.mit;
maintainers = with maintainers; [ filalex77 ];
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python
{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python3
, zlib, bzip2, curl, lzma, gettext, libiconv
, sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth
, gtkClient ? false, gtk3
@ -12,19 +12,19 @@ let
in stdenv.mkDerivation rec {
pname = "freeciv";
version = "2.6.0";
version = "2.6.2";
src = fetchFromGitHub {
owner = "freeciv";
repo = "freeciv";
rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "1b3q5k9wpv7z24svz01ybw8d8wlzkkdr6ia5hgp6cxk6vq67n67s";
sha256 = "023slffi06j52amrnmd8n12rmf778cngxx6xg4hbsgckj2nyfmg9";
};
postPatch = ''
for f in {common,utility}/*.py; do
substituteInPlace $f \
--replace '/usr/bin/env python' ${python.interpreter}
--replace '/usr/bin/env python3' ${python3.interpreter}
done
'';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "seafile-shared";
version = "7.0.6";
version = "7.0.7";
src = fetchFromGitHub {
owner = "haiwen";
repo = "seafile";
rev = "v${version}";
sha256 = "0pc6xbwxljpj7h37za63kspdi90ap58x6x5b7hsmlhahblvlw0b8";
sha256 = "0vgzb923x2q2w1zgbc56d50a5qj9xm77lg7czfzg3va7vd921gy8";
};
nativeBuildInputs = [

View File

@ -38,6 +38,10 @@ buildGoModule rec {
cp -r ${ui}/libexec/gotify-ui/deps/gotify-ui/build ui/build && packr
'';
passthru = {
updateScript = ./update.sh;
};
# Otherwise, all other subpackages are built as well and from some reason,
# produce binaries which panic when executed and are not interesting at all
subPackages = [ "." ];

View File

@ -1 +1 @@
"119f249rvlvxjhwc6wh10yyk3z41488mydmvxs44b5a4p67yvjfw"
"0zpdbj8a0akhzi1ian8zs6y7ymhlpcfy13q64xdlwc5w0286554r"

View File

@ -9,23 +9,23 @@
"@material-ui/icons": "^4.9.1",
"axios": "^0.19.0",
"codemirror": "^5.43.0",
"detect-browser": "^3.0.0",
"detect-browser": "^5.1.0",
"js-base64": "^2.5.1",
"mobx": "^5.1.1",
"mobx-react": "^5.2.8",
"mobx-react": "^6.2.2",
"mobx-utils": "^5.0.2",
"notifyjs": "^3.0.0",
"prop-types": "^15.6.2",
"react": "^16.4.2",
"react-codemirror2": "^5.1.0",
"react-codemirror2": "^7.1.0",
"react-dom": "^16.4.2",
"react-infinite": "^0.13.0",
"react-markdown": "^4.0.6",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-router": "^5.1.2",
"react-router-dom": "^5.1.2",
"react-timeago": "^4.1.9",
"remove-markdown": "^0.3.0",
"typeface-roboto": "0.0.54"
"typeface-roboto": "0.0.75"
},
"scripts": {
"start": "react-scripts start",
@ -38,30 +38,30 @@
"testformat": "prettier \"src/**/*.{ts,tsx}\" --list-different"
},
"devDependencies": {
"@types/codemirror": "0.0.71",
"@types/detect-browser": "^2.0.1",
"@types/codemirror": "0.0.91",
"@types/detect-browser": "^4.0.0",
"@types/get-port": "^4.0.0",
"@types/jest": "^23.3.1",
"@types/jest": "^25.2.1",
"@types/js-base64": "^2.3.1",
"@types/node": "^10.9.0",
"@types/node": "^13.13.5",
"@types/notifyjs": "^3.0.0",
"@types/puppeteer": "^1.6.3",
"@types/puppeteer": "^2.0.1",
"@types/react": "^16.4.11",
"@types/react-dom": "^16.0.7",
"@types/react-infinite": "0.0.33",
"@types/react-router-dom": "^4.3.0",
"@types/react-infinite": "0.0.34",
"@types/react-router-dom": "^5.1.5",
"@types/remove-markdown": "^0.1.1",
"@types/rimraf": "^2.0.2",
"get-port": "^4.0.0",
"prettier": "^1.14.2",
"puppeteer": "^1.8.0",
"react-scripts": "3.1.1",
"rimraf": "^2.6.2",
"@types/rimraf": "^3.0.0",
"get-port": "^5.1.1",
"prettier": "^2.0.5",
"puppeteer": "^3.0.4",
"react-scripts": "^3.4.1",
"rimraf": "^3.0.2",
"tree-kill": "^1.2.0",
"tslint": "^5.20.0",
"tslint": "^6.1.2",
"tslint-sonarts": "^1.7.0",
"typescript": "3.6.2",
"wait-on": "^3.0.1"
"typescript": "3.8.3",
"wait-on": "^5.0.0"
},
"eslintConfig": {
"extends": "react-app"

View File

@ -1 +1 @@
"0igzgpzrxkz31njhybsap505mlr32k4qma32v5rafqdi2naz5iyl"
"18y2kaf0v7275a0b8ab5y3qk7qwh19aqxyy0gmlflzgr2nimpmrn"

View File

@ -1 +1 @@
"2.0.15"
"2.0.16"

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "solr";
version = "8.5.0";
version = "8.5.1";
src = fetchurl {
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
sha256 = "1pb1vja9spybkp2qw150kymy47njy06b5pic7mrfjq5as0d72m4y";
sha256 = "02sa0sldsfajryyfndv587qw69q8y8igfpimg98w1g3vndrq1dj7";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
owner = "simple-evcorr";
repo = "sec";
rev = meta.version;
sha256 = "025cz3mr5yrdgs0i3h8v2znhvjkyh78kba1rzvl03ns2b1c49168";
sha256 = "0ryic5ilj1i5l41440i0ss6j3yv796fz3gr0qij5pqyd1z21md83";
};
buildInputs = [ perl ];
@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
description = "Simple Event Correlator";
maintainers = [ stdenv.lib.maintainers.tv ];
platforms = stdenv.lib.platforms.all;
version = "2.8.2";
version = "2.8.3";
};
}

View File

@ -1,18 +1,20 @@
{stdenv, fetchurl, help2man}:
stdenv.mkDerivation rec {
version = "1.5.0.456";
version = "1.6.2.605";
pname = "fatsort";
src = fetchurl {
url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz";
sha256 = "15fy2m4p9s8cfvnzdcd5ynkc2js0zklkkf34sjxdac7x2iwb8dd8";
sha256 = "1dzzsl3a1ampari424vxkma0i87qkbgkgm2169x9xf3az0vgmjh8";
};
patches = [ ./fatsort-Makefiles.patch ];
buildInputs = [ help2man ];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with stdenv.lib; {
homepage = "http://fatsort.sourceforge.net/";
description = "Sorts FAT partition table, for devices that don't do sorting of files";

View File

@ -1,31 +1,34 @@
diff -uNr fatsort-1.3.365-a/Makefile fatsort-1.3.365-b/Makefile
--- fatsort-1.3.365-a/Makefile 2014-04-08 19:19:36.000000000 +0100
+++ fatsort-1.3.365-b/Makefile 2014-12-14 18:31:55.982857720 +0000
diff -uNr fatsort-1.6.2.605.orig/Makefile fatsort-1.6.2.605.new/Makefile
--- fatsort-1.6.2.605.orig/Makefile 2019-11-16 16:40:27.000000000 +0100
+++ fatsort-1.6.2.605.new/Makefile 2020-05-10 21:34:34.820874026 +0200
@@ -1,4 +1,5 @@
-MANDIR=/usr/local/share/man/man1
+PREFIX=$(out)
+PREFIX?=/usr/local
+MANDIR=$(PREFIX)/share/man/man1
INSTALL_FLAGS=-m 0755 -p -D
diff -uNr fatsort-1.3.365-a/src/Makefile fatsort-1.3.365-b/src/Makefile
--- fatsort-1.3.365-a/src/Makefile 2014-04-08 19:19:36.000000000 +0100
+++ fatsort-1.3.365-b/src/Makefile 2014-12-14 18:32:08.282870461 +0000
@@ -1,3 +1,5 @@
+PREFIX=$(out)
+
CC=gcc
LD=gcc
@@ -33,9 +35,9 @@
# Mac OS X does not have a "/usr/local/sbin"
ifeq ($(UNAME),Darwin)
-SBINDIR=/usr/local/bin
+SBINDIR=$(PREFIX)/bin
diff -uNr fatsort-1.6.2.605.orig/src/Makefile fatsort-1.6.2.605.new/src/Makefile
--- fatsort-1.6.2.605.orig/src/Makefile 2018-11-17 00:40:59.000000000 +0100
+++ fatsort-1.6.2.605.new/src/Makefile 2020-05-10 21:33:52.053391027 +0200
@@ -30,7 +30,7 @@
override CFLAGS += -D __CYGWIN__
override CFLAGS += -D __LINUX__
override LDFLAGS += -liconv
- SBINDIR=/usr/local/sbin
+ SBINDIR=$(PREFIX)/sbin
endif
else
-SBINDIR=/usr/local/sbin
+SBINDIR=$(PREFIX)/sbin
ifdef MINGW
@@ -60,9 +60,9 @@
# OS X's install does not support the '-D' flag.
INSTALL_FLAGS=-m 0755 -p
# Mac OS X does not have a "/usr/local/sbin"
- SBINDIR=/usr/local/bin
+ SBINDIR=$(PREFIX)/bin
else
- SBINDIR=/usr/local/sbin
+ SBINDIR=$(PREFIX)/sbin
endif
endif
endif
OBJ=fatsort.o FAT_fs.o fileio.o endianness.o signal.o entrylist.o errors.o options.o clusterchain.o sort.o misc.o natstrcmp.o stringlist.o

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "squashfs-tools-ng";
version = "0.9";
version = "0.9.1";
src = fetchurl {
url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
sha256 = "1jx6bga0k07cckpv0yk77kwql7rjiicf9wkbadc8yqhp463xn90q";
sha256 = "1ilxkrqbpb5whv7xfwfvph76jwyjzf988njjpyyr99h6jv2r77q1";
};
nativeBuildInputs = [ doxygen graphviz pkgconfig perl ];

View File

@ -1,4 +1,4 @@
{ stdenv, buildGoPackage, fetchgit, fetchFromGitHub, go, fuse, installShellFiles }:
{ stdenv, buildGoPackage, fetchFromGitHub, fuse, installShellFiles }:
buildGoPackage rec {
pname = "tmsu";
@ -24,8 +24,8 @@ buildGoPackage rec {
'';
postInstall = ''
mv $bin/bin/{TMSU,tmsu}
cp src/misc/bin/* $bin/bin/
mv $out/bin/{TMSU,tmsu}
cp src/misc/bin/* $out/bin/
installManPage src/misc/man/tmsu.1
installShellCompletion --zsh src/misc/zsh/_tmsu
'';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "unionfs-fuse";
version = "2.0";
version = "2.1";
src = fetchFromGitHub {
owner = "rpodgorny";
repo = "unionfs-fuse";
rev = "v${version}";
sha256 = "0lb8zgdxnjy2fjr2284hvdfn7inc1in44ynzgcr66x54bxzvynj6";
sha256 = "0bwx70x834qgqh53vqp18bhbxbsny80hz922rbgj8k9wj7cbfilm";
};
patches =

View File

@ -12,9 +12,10 @@
, libjpeg
, libgsf
, libexif
, libheif
, ApplicationServices
, python27
, libpng ? null
, libpng
, fetchFromGitHub
, fetchpatch
, autoreconfHook
@ -25,7 +26,7 @@
stdenv.mkDerivation rec {
pname = "vips";
version = "8.9.1";
version = "8.9.2";
outputs = [ "bin" "out" "man" "dev" ];
@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
owner = "libvips";
repo = "libvips";
rev = "v${version}";
sha256 = "01vgvzlygg3fzpinb0x1rdm2sqvnqxmvxbnlbg73ygdadv3l2s0v";
sha256 = "0pgvcp5yjk96izh7kjfprjd9kddx7zqrwwhm8dyalhrwbmj6c2q5";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
extraPostFetch = ''
@ -41,15 +42,6 @@ stdenv.mkDerivation rec {
'';
};
patches = [
# autogen.sh should not run configure
# https://github.com/libvips/libvips/pull/1566
(fetchpatch {
url = "https://github.com/libvips/libvips/commit/97a92e0e6abab652fdf99313b138bfd77d70deb4.patch";
sha256 = "0w1sm5wmvfp8svdpk8mz57c1n6zzy3snq0g2f8yxjamv0d2gw2dp";
})
];
nativeBuildInputs = [
pkgconfig
autoreconfHook
@ -69,6 +61,8 @@ stdenv.mkDerivation rec {
libjpeg
libgsf
libexif
libheif
libpng
python27
libpng
expat

View File

@ -1,25 +1,19 @@
{ lib
, stdenv
{ stdenv
, fetchurl
, gcc-unwrapped
, dpkg
, polkit
, utillinux
, bash
, nodePackages
, electron_3
, gtk3
, wrapGAppsHook
, makeWrapper
, electron_7
}:
let
libPath = lib.makeLibraryPath [
# for libstdc++.so.6
gcc-unwrapped.lib
];
sha256 = {
"x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7";
"i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc";
"x86_64-linux" = "1yvqi86bw0kym401zwknhwq9041fxg047sbj3aydnfcqf11vrrmk";
"i686-linux" = "12lghzhsl16h3jvzm3vw4hrly32fz99z6rdmybl8viralrxy8mb8";
}."${stdenv.system}";
arch = {
@ -27,26 +21,22 @@ let
"i686-linux" = "i386";
}."${stdenv.system}";
in stdenv.mkDerivation rec {
in
stdenv.mkDerivation rec {
pname = "etcher";
version = "1.5.60";
version = "1.5.86";
src = fetchurl {
url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
inherit sha256;
};
buildInputs = [
gtk3
];
nativeBuildInputs = [
wrapGAppsHook
];
dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [ makeWrapper ];
unpackPhase = ''
${dpkg}/bin/dpkg-deb -x $src .
'';
@ -55,33 +45,33 @@ in stdenv.mkDerivation rec {
# along with some other paths
patchPhase = ''
${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp
# Use Nix(OS) paths
# use Nix(OS) paths
sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js
sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js
sed -i "s|process.resourcesPath|'$out/opt/balenaEtcher/resources/'|" tmp/generated/gui.js
sed -i "s|'lsblk'|'${utillinux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js
sed -i "s|process.resourcesPath|'$out/share/${pname}/resources/'|" tmp/generated/gui.js
${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
rm -rf tmp
# Fix up .desktop file
substituteInPlace usr/share/applications/balena-etcher-electron.desktop \
--replace "/opt/balenaEtcher/balena-etcher-electron" "$out/bin/balena-etcher-electron"
'';
installPhase = ''
mkdir -p $out/bin
cp -r opt $out/
cp -r usr/share $out/
runHook preInstall
# We'll use our Nixpkgs electron_3 instead
rm $out/opt/balenaEtcher/balena-etcher-electron
mkdir -p $out/bin $out/share/${pname}
ln -s ${electron_3}/bin/electron $out/bin/balena-etcher-electron
cp -a usr/share/* $out/share
cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname}
substituteInPlace $out/share/applications/balena-etcher-electron.desktop \
--replace 'Exec=/opt/balenaEtcher/balena-etcher-electron' 'Exec=${pname}'
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--add-flags $out/opt/balenaEtcher/resources/app.asar
--prefix LD_LIBRARY_PATH : ${libPath}
)
postFixup = ''
makeWrapper ${electron_7}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
'';
meta = with stdenv.lib; {

View File

@ -2,21 +2,21 @@
stdenv.mkDerivation rec {
pname = "ttygif";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "icholy";
repo = pname;
rev = version;
sha256 = "18l26iacpfn4xqqv1ai6ncabn83mqv98c48gl265gfld66y7zbzn";
sha256 = "1w9c3h6hik2gglwsw8ww63piy66i4zqr3273wh5rc9r2awiwh643";
};
makeFlags = [ "PREFIX=${placeholder "out"}" ];
makeFlags = [ "CC:=$(CC)" "PREFIX=${placeholder "out"}" ];
meta = with stdenv.lib; {
homepage = "https://github.com/icholy/ttygif";
description = "Convert terminal recordings to animated gifs";
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ moaxcp ];
};

View File

@ -2,20 +2,20 @@
buildGoModule rec {
pname = "corerad";
version = "0.2.3";
version = "0.2.4";
src = fetchFromGitHub {
owner = "mdlayher";
repo = "corerad";
rev = "v${version}";
sha256 = "1594qrwrz4bc3iipm4aqb8l1zyi04pwmiz0vdlfn12qn1p7lad5p";
sha256 = "1r9kvz1ylrnfc7y5c4knqhx6xngh1p8j1axb8bd7h7p51c4i7jz2";
};
modSha256 = "1cfhxkvwzf7sn227y6h5h19f27a9ngmpnyqdlfba5km8axqn29vm";
modSha256 = "00xisa4l90f0digb1jfd2w616r080m7yp01y1rb83r8k147z5d2v";
buildFlagsArray = ''
-ldflags=
-X github.com/mdlayher/corerad/internal/build.linkTimestamp=1586881022
-X github.com/mdlayher/corerad/internal/build.linkTimestamp=1589133047
-X github.com/mdlayher/corerad/internal/build.linkVersion=v${version}
'';

View File

@ -1,20 +1,31 @@
{ fetchurl, stdenv, openssl, pkgconfig, db, zlib, cyrus_sasl, perl }:
{ stdenv, fetchurl, pkg-config, perl
, openssl, db, zlib, cyrus_sasl
}:
stdenv.mkDerivation rec {
name = "isync-1.3.1";
pname = "isync";
version = "1.3.1";
src = fetchurl {
url = "mirror://sourceforge/isync/${name}.tar.gz";
url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz";
sha256 = "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8";
};
nativeBuildInputs = [ pkgconfig perl ];
nativeBuildInputs = [ pkg-config perl ];
buildInputs = [ openssl db cyrus_sasl zlib ];
meta = with stdenv.lib; {
homepage = "http://isync.sourceforge.net/";
# https://sourceforge.net/projects/isync/
changelog = "https://sourceforge.net/p/isync/isync/ci/v${version}/tree/NEWS";
description = "Free IMAP and MailDir mailbox synchronizer";
longDescription = ''
mbsync (formerly isync) is a command line application which synchronizes
mailboxes. Currently Maildir and IMAP4 mailboxes are supported. New
messages, message deletions and flag changes can be propagated both ways.
'';
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];
};
}

View File

@ -9,7 +9,7 @@
buildGoModule rec {
pname = "gopass";
version = "1.9.0";
version = "1.9.1";
nativeBuildInputs = [ installShellFiles makeWrapper ];
@ -17,10 +17,10 @@ buildGoModule rec {
owner = "gopasspw";
repo = pname;
rev = "v${version}";
sha256 = "1cssiglhxnrk1wl8phqkhmljqig5ms5a23sdzf8lywk5f6w2gayh";
sha256 = "19xhyyd76r17rwn6s8xgfjnyi7kywagy0i4anqws40w79j3qb1p0";
};
modSha256 = "01p3zv6dq1l68in1qqvlsh7i3ydhhanf54dyf7288x35js8wnmqa";
modSha256 = "0zr4ihpcclw5pfhcdrd4n4qb3i3djcwyvwr4m2kpn99icp55bml8";
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}" ];

View File

@ -14,11 +14,11 @@ let
in
stdenv.mkDerivation rec {
pname = "rsyslog";
version = "8.2002.0";
version = "8.2004.0";
src = fetchurl {
url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
sha256 = "1y414g61j93dgm5xg0ni985a99cyag0flvv1fqn2188dhr6w31py";
sha256 = "1n97kx6cyyzd4zh6q01fyqi2wq1ah68h95kdc109m1zhfnvxghsz";
};
#patches = [ ./fix-gnutls-detection.patch ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "stress-ng";
version = "0.11.07";
version = "0.11.08";
src = fetchurl {
url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
sha256 = "1kyxkwn18y4161yyvxw3hd9xlzwlp270sn4gpnzvmr6rwxhr0nvh";
sha256 = "1xy5m5r4icc10h957ank0amnh46v2v47z4n1z43d9s7lmvahw287";
};
postPatch = ''

View File

@ -5679,6 +5679,8 @@ in
stdenv = clangStdenv;
};
oq = callPackage ../development/tools/oq { };
out-of-tree = callPackage ../development/tools/out-of-tree { };
oppai-ng = callPackage ../tools/misc/oppai-ng { };
@ -22133,7 +22135,7 @@ in
tendermint = callPackage ../tools/networking/tendermint { };
termdown = (newScope pythonPackages) ../applications/misc/termdown { };
termdown = python3Packages.callPackage ../applications/misc/termdown { };
terminal-notifier = callPackage ../applications/misc/terminal-notifier {};

View File

@ -17009,6 +17009,20 @@ let
};
};
StringInterpolate = buildPerlPackage {
pname = "String-Interpolate";
version = "0.32";
src = fetchurl {
url = mirror://cpan/authors/id/N/NE/NEILB/String-Interpolate-0.32.tar.gz;
sha256 = "15fwbpz3jdpdgmz794iw9hz2caxrnrw9pdwprxxkanpm92cdhaf7";
};
meta = with stdenv.lib; {
# https://metacpan.org/pod/String::Interpolate
description = "String::Interpolate - Wrapper for builtin the Perl interpolation engine.";
license = licenses.gpl1Plus;
};
};
StringMkPasswd = buildPerlPackage {
pname = "String-MkPasswd";
version = "0.05";

View File

@ -202,7 +202,35 @@ in
maintainers = with maintainers; [ javaguirre ] ++ teams.php.members;
};
};
phpmd = mkDerivation rec {
version = "2.8.2";
pname = "phpmd";
src = pkgs.fetchurl {
url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar";
sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb";
};
phases = [ "installPhase" ];
buildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpmd/phpmd.phar
makeWrapper ${php}/bin/php $out/bin/phpmd \
--add-flags "$out/libexec/phpmd/phpmd.phar"
'';
meta = with pkgs.lib; {
description = "PHP code quality analyzer";
license = licenses.bsd3;
homepage = "https://phpmd.org/";
maintainers = teams.php.members;
broken = !isPhp74;
};
};
phpstan = mkDerivation rec {
version = "0.12.19";
pname = "phpstan";
@ -320,11 +348,16 @@ in
sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20";
peclDeps = [ php.extensions.apcu ];
buildInputs = [
php.extensions.apcu
pcre'
];
postInstall = ''
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so
'';
meta.maintainers = lib.teams.php.members;
};
@ -341,13 +374,6 @@ in
version = "2.6.1";
pname = "couchbase";
buildInputs = [
pkgs.libcouchbase
pkgs.zlib
php.extensions.igbinary
php.extensions.pcs
];
src = pkgs.fetchFromGitHub {
owner = "couchbase";
repo = "php-couchbase";
@ -356,7 +382,14 @@ in
};
configureFlags = [ "--with-couchbase" ];
buildInputs = [
pkgs.libcouchbase
pkgs.zlib
];
internalDeps = [ php.extensions.json ];
peclDeps = [ php.extensions.igbinary ];
patches = [
(pkgs.writeText "php-couchbase.patch" ''
--- a/config.m4
@ -383,7 +416,6 @@ in
];
meta.maintainers = lib.teams.php.members;
meta.broken = isPhp74; # Build error
};
event = buildPecl {
@ -557,8 +589,10 @@ in
sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
internalDeps = [ php.extensions.tokenizer ];
meta.maintainers = lib.teams.php.members;
meta.broken = isPhp74; # Build error
meta.broken = isPhp73; # Runtime failure on 7.3, build error on 7.4
};
pdo_oci = buildPecl rec {