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" ] lconcat [ "a" "b" "c" ]
=> "zabc" => "zabc"
# different types # different types
lstrange = foldl (str: int: str + toString (int + 1)) "" lstrange = foldl (str: int: str + toString (int + 1)) "a"
strange [ 1 2 3 4 ] lstrange [ 1 2 3 4 ]
=> "a2345" => "a2345"
*/ */
foldl = op: nul: list: foldl = op: nul: list:

View File

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

View File

@ -77,7 +77,9 @@
<itemizedlist> <itemizedlist>
<listitem> <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> </listitem>
</itemizedlist> </itemizedlist>

View File

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

View File

@ -34,10 +34,12 @@ let
enabled = nvidia_x11 != null; enabled = nvidia_x11 != null;
cfg = config.hardware.nvidia; cfg = config.hardware.nvidia;
pCfg = cfg.prime; pCfg = cfg.prime;
syncCfg = pCfg.sync; syncCfg = pCfg.sync;
offloadCfg = pCfg.offload; offloadCfg = pCfg.offload;
primeEnabled = syncCfg.enable || offloadCfg.enable; primeEnabled = syncCfg.enable || offloadCfg.enable;
nvidiaPersistencedEnabled = cfg.nvidiaPersistenced;
in in
{ {
@ -129,6 +131,15 @@ in
<option>hardware.nvidia.prime.intelBusId</option>). <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 { config = mkIf enabled {
@ -220,6 +231,18 @@ in
++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) ++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
"L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; "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 ]; boot.extraModulePackages = [ nvidia_x11.bin ];
# nvidia-uvm is required by CUDA applications. # nvidia-uvm is required by CUDA applications.

View File

@ -200,6 +200,7 @@
./security/rtkit.nix ./security/rtkit.nix
./security/wrappers/default.nix ./security/wrappers/default.nix
./security/sudo.nix ./security/sudo.nix
./security/doas.nix
./security/systemd-confinement.nix ./security/systemd-confinement.nix
./security/tpm2.nix ./security/tpm2.nix
./services/admin/oxidized.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" + " the 'users.users' option instead as this combination is"
+ " currently not supported."; + " 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.services);
config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let

View File

@ -18,8 +18,6 @@ let
''} ''}
state_file "${cfg.dataDir}/state" state_file "${cfg.dataDir}/state"
sticker_file "${cfg.dataDir}/sticker.sql" 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.listenAddress != "any") ''bind_to_address "${cfg.network.listenAddress}"''}
${optionalString (cfg.network.port != 6600) ''port "${toString cfg.network.port}"''} ${optionalString (cfg.network.port != 6600) ''port "${toString cfg.network.port}"''}

View File

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

View File

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

View File

@ -68,6 +68,7 @@ in
deluge = handleTest ./deluge.nix {}; deluge = handleTest ./deluge.nix {};
dhparams = handleTest ./dhparams.nix {}; dhparams = handleTest ./dhparams.nix {};
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
doas = handleTest ./doas.nix {};
docker = handleTestOn ["x86_64-linux"] ./docker.nix {}; docker = handleTestOn ["x86_64-linux"] ./docker.nix {};
oci-containers = handleTestOn ["x86_64-linux"] ./oci-containers.nix {}; oci-containers = handleTestOn ["x86_64-linux"] ./oci-containers.nix {};
docker-edge = handleTestOn ["x86_64-linux"] ./docker-edge.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"): with subtest("git daemon starts"):
server.wait_for_unit("git-daemon.service") 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"): with subtest("client can clone project.git"):
client.succeed( client.succeed(
"git clone git://server/project.git /project", "git clone git://server/project.git /project",

View File

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

View File

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

View File

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

View File

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

View File

@ -5,10 +5,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1"; sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326";
type = "gem"; type = "gem";
}; };
version = "6.0.2.1"; version = "6.0.3";
}; };
addressable = { addressable = {
dependencies = ["public_suffix"]; dependencies = ["public_suffix"];
@ -130,10 +130,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; sha256 = "1gw05bh9iidnx2lxw0h5aiknbly818cmndc4a9nhq28fiafizi82";
type = "gem"; type = "gem";
}; };
version = "4.0.0"; version = "4.0.1";
}; };
jekyll-avatar = { jekyll-avatar = {
dependencies = ["jekyll"]; dependencies = ["jekyll"];
@ -152,10 +152,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; sha256 = "1n8y67plydfmay3jn865igvgb3h6s2crk8kq7ydk3wmn9h103s1r";
type = "gem"; type = "gem";
}; };
version = "1.5.1"; version = "1.6.0";
}; };
jekyll-sass-converter = { jekyll-sass-converter = {
dependencies = ["sassc"]; dependencies = ["sassc"];
@ -207,20 +207,21 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6"; sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9";
type = "gem"; type = "gem";
}; };
version = "0.11.1"; version = "0.12.0";
}; };
kramdown = { kramdown = {
dependencies = ["rexml"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6";
type = "gem"; type = "gem";
}; };
version = "2.1.0"; version = "2.2.1";
}; };
kramdown-parser-gfm = { kramdown-parser-gfm = {
dependencies = ["kramdown"]; dependencies = ["kramdown"];
@ -290,10 +291,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8"; sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
type = "gem"; type = "gem";
}; };
version = "1.10.8"; version = "1.10.9";
}; };
pathutil = { pathutil = {
dependencies = ["forwardable-extended"]; dependencies = ["forwardable-extended"];
@ -311,20 +312,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7"; sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
type = "gem"; type = "gem";
}; };
version = "4.0.3"; version = "4.0.5";
}; };
rb-fsevent = { rb-fsevent = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
type = "gem"; type = "gem";
}; };
version = "0.10.3"; version = "0.10.4";
}; };
rb-inotify = { rb-inotify = {
dependencies = ["ffi"]; dependencies = ["ffi"];
@ -337,15 +338,25 @@
}; };
version = "0.10.1"; version = "0.10.1";
}; };
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
type = "gem";
};
version = "3.2.4";
};
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi"; sha256 = "1n9h0ls2a2zq0bcsw31wxci1wdxb8s3vglfadxpcs6b04vkf6nqq";
type = "gem"; type = "gem";
}; };
version = "3.16.0"; version = "3.18.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -363,10 +374,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"; sha256 = "1qzfnvb8khvc6w2sn3k91mndc2w50xxx5c84jkr6xdxlmaq1a3kg";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "2.3.0";
}; };
terminal-table = { terminal-table = {
dependencies = ["unicode-display_width"]; dependencies = ["unicode-display_width"];
@ -395,29 +406,29 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp"; sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
type = "gem"; type = "gem";
}; };
version = "1.2.6"; version = "1.2.7";
}; };
unicode-display_width = { unicode-display_width = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x"; sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
type = "gem"; type = "gem";
}; };
version = "1.6.1"; version = "1.7.0";
}; };
zeitwerk = { zeitwerk = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1"; sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
type = "gem"; 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. host sites right from your GitHub repositories.
''; '';
homepage = "https://jekyllrb.com/"; homepage = "https://jekyllrb.com/";
#changelog = "https://raw.githubusercontent.com/jekyll/jekyll/v${version}/History.markdown";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ primeos pesterhazy ]; maintainers = with maintainers; [ primeos pesterhazy ];
platforms = platforms.unix; platforms = platforms.unix;

View File

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

View File

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

View File

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

View File

@ -12,21 +12,27 @@
--- a/kitty/desktop.c --- a/kitty/desktop.c
+++ b/kitty/desktop.c +++ b/kitty/desktop.c
@@ -30,7 +30,7 @@ @@ -34,10 +34,7 @@ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
static PyObject* done = true;
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) {
static void const char* libnames[] = {
load_libcanberra(void) { - "libstartup-notification-1.so",
- static const char* libname = "libcanberra.so"; - // some installs are missing the .so symlink, so try the full name
+ static const char* libname = "@libcanberra@"; - "libstartup-notification-1.so.0",
// some installs are missing the .so symlink, so try the full name - "libstartup-notification-1.so.0.0.0",
static const char* libname2 = "libcanberra.so.0"; + "@libstartup_notification@",
static const char* libname3 = "libcanberra.so.0.2.5"; 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, { stdenv
click, pyfiglet, dateutil}: , fetchFromGitHub
, buildPythonApplication
with stdenv.lib; , click
, pyfiglet
, dateutil
, setuptools
}:
buildPythonApplication rec { buildPythonApplication rec {
pname = "termdown"; pname = "termdown";
version = "1.16.0"; version = "1.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = version; rev = version;
sha256 = "0k429ss1xifm9vbgyzpp71r79byn9jclvr0rm77bai2r8nz3s2vf"; sha256 = "1sd9z5n2a4ir35832wgxs68vwav7wxhq39b5h8pq934mp8sl3v2k";
repo = "termdown"; repo = "termdown";
owner = "trehn"; owner = "trehn";
}; };
propagatedBuildInputs = [ dateutil click pyfiglet ]; propagatedBuildInputs = [ dateutil click pyfiglet setuptools ];
meta = with stdenv.lib; { 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"; longDescription = "Countdown timer and stopwatch in your terminal";
homepage = "https://github.com/trehn/termdown"; homepage = "https://github.com/trehn/termdown";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.all;
}; };
} }

View File

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

View File

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

View File

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

View File

@ -4,6 +4,7 @@
, xorg, libXdmcp, libxkbcommon , xorg, libXdmcp, libxkbcommon
, libnotify, libsoup, libgee , libnotify, libsoup, libgee
, librsvg, libsignal-protocol-c , librsvg, libsignal-protocol-c
, fetchpatch
, libgcrypt , libgcrypt
, epoxy , epoxy
, at-spi2-core , at-spi2-core
@ -26,6 +27,15 @@ stdenv.mkDerivation rec {
sha256 = "1k5cgj5n8s40i71wqdh6m1q0njl45ichfdbbywx9rga5hljz1c54"; 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 = [ nativeBuildInputs = [
vala vala
cmake cmake

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "snakemake"; pname = "snakemake";
version = "5.15.0"; version = "5.16.0";
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
appdirs appdirs
@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "10cd1k5vg8ra5fnpqpdbl04qwx6h2mmmqbn71pl8j69w9110dkys"; sha256 = "0jlf3y8b1gdv5xz37yk9b5g2b65zkk45p15x0ypvd2blpzy80537";
}; };
doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json 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 }: { stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }:
let let
version = "1.0.17"; version = "1.0.18";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "svn-all-fast-export"; pname = "svn-all-fast-export";
@ -11,7 +11,7 @@ stdenv.mkDerivation {
owner = "svn-all-fast-export"; owner = "svn-all-fast-export";
repo = "svn2git"; repo = "svn2git";
rev = version; rev = version;
sha256 = "13gmrxh4i34scv51h9x38v8jqfjykbbd9w7zzqjnxzvzpzsczg9a"; sha256 = "1b5yx2316hbyvw3v30vn1ljma9yd21nd59wis1gi34g92lgvqcd6";
}; };
nativeBuildInputs = [ qmake qttools ]; nativeBuildInputs = [ qmake qttools ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qtpbfimageplugin"; pname = "qtpbfimageplugin";
version = "2.1"; version = "2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumic0"; owner = "tumic0";
repo = "QtPBFImagePlugin"; repo = "QtPBFImagePlugin";
rev = version; rev = version;
sha256 = "05l28xf7pf9mxm6crrdx5i7d2ri3hlg5iva0fqc8wxnj8pf2m38r"; sha256 = "1w2d33g13vkjasabmcgvhsmfqv3jmwbxhqxm1jnyc7d4nlk4jwmb";
}; };
nativeBuildInputs = [ qmake ]; 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"; pname = "ocamlfuse";
version = "2.7.1_cvs5"; version = "2.7.1_cvs6_e35e76b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astrada"; owner = "astrada";
repo = "ocamlfuse"; repo = "ocamlfuse";
rev = "v${version}"; rev = "e35e76bee3b06806256b5bfca108b7697267cd5c";
sha256 = "01ayw2hzpxan95kncbxh9isj9g149cs8scq3xim1vy8bz085wb0m"; sha256 = "1v9g0wh7rnjkrjrnw50145g6ry38plyjs8fq8w0nlzwizhf3qhff";
}; };
buildInputs = [ocaml findlib]; propagatedBuildInputs = [ camlidl fuse ];
propagatedBuildInputs = [camlidl fuse];
configurePhase = '' ocaml setup.ml -configure --prefix $out '';
buildPhase = "ocaml setup.ml -build";
installPhase = "ocaml setup.ml -install";
createFindlibDestdir = true;
meta = { meta = {
homepage = "https://sourceforge.net/projects/ocamlfuse"; homepage = "https://sourceforge.net/projects/ocamlfuse";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qbs"; pname = "qbs";
version = "1.15.0"; version = "1.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qbs"; owner = "qbs";
repo = "qbs"; repo = "qbs";
rev = "v${version}"; rev = "v${version}";
sha256 = "0hq2lx5w5lsiy9c69bcps4wyn2sa9s88hj0bq95p93sfiwq6mxlr"; sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041";
}; };
nativeBuildInputs = [ qmake ]; 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 , zlib, bzip2, curl, lzma, gettext, libiconv
, sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth
, gtkClient ? false, gtk3 , gtkClient ? false, gtk3
@ -12,19 +12,19 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "freeciv"; pname = "freeciv";
version = "2.6.0"; version = "2.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "freeciv"; owner = "freeciv";
repo = "freeciv"; repo = "freeciv";
rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "1b3q5k9wpv7z24svz01ybw8d8wlzkkdr6ia5hgp6cxk6vq67n67s"; sha256 = "023slffi06j52amrnmd8n12rmf778cngxx6xg4hbsgckj2nyfmg9";
}; };
postPatch = '' postPatch = ''
for f in {common,utility}/*.py; do for f in {common,utility}/*.py; do
substituteInPlace $f \ substituteInPlace $f \
--replace '/usr/bin/env python' ${python.interpreter} --replace '/usr/bin/env python3' ${python3.interpreter}
done done
''; '';

View File

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

View File

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

View File

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

View File

@ -9,23 +9,23 @@
"@material-ui/icons": "^4.9.1", "@material-ui/icons": "^4.9.1",
"axios": "^0.19.0", "axios": "^0.19.0",
"codemirror": "^5.43.0", "codemirror": "^5.43.0",
"detect-browser": "^3.0.0", "detect-browser": "^5.1.0",
"js-base64": "^2.5.1", "js-base64": "^2.5.1",
"mobx": "^5.1.1", "mobx": "^5.1.1",
"mobx-react": "^5.2.8", "mobx-react": "^6.2.2",
"mobx-utils": "^5.0.2", "mobx-utils": "^5.0.2",
"notifyjs": "^3.0.0", "notifyjs": "^3.0.0",
"prop-types": "^15.6.2", "prop-types": "^15.6.2",
"react": "^16.4.2", "react": "^16.4.2",
"react-codemirror2": "^5.1.0", "react-codemirror2": "^7.1.0",
"react-dom": "^16.4.2", "react-dom": "^16.4.2",
"react-infinite": "^0.13.0", "react-infinite": "^0.13.0",
"react-markdown": "^4.0.6", "react-markdown": "^4.0.6",
"react-router": "^4.3.1", "react-router": "^5.1.2",
"react-router-dom": "^4.3.1", "react-router-dom": "^5.1.2",
"react-timeago": "^4.1.9", "react-timeago": "^4.1.9",
"remove-markdown": "^0.3.0", "remove-markdown": "^0.3.0",
"typeface-roboto": "0.0.54" "typeface-roboto": "0.0.75"
}, },
"scripts": { "scripts": {
"start": "react-scripts start", "start": "react-scripts start",
@ -38,30 +38,30 @@
"testformat": "prettier \"src/**/*.{ts,tsx}\" --list-different" "testformat": "prettier \"src/**/*.{ts,tsx}\" --list-different"
}, },
"devDependencies": { "devDependencies": {
"@types/codemirror": "0.0.71", "@types/codemirror": "0.0.91",
"@types/detect-browser": "^2.0.1", "@types/detect-browser": "^4.0.0",
"@types/get-port": "^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/js-base64": "^2.3.1",
"@types/node": "^10.9.0", "@types/node": "^13.13.5",
"@types/notifyjs": "^3.0.0", "@types/notifyjs": "^3.0.0",
"@types/puppeteer": "^1.6.3", "@types/puppeteer": "^2.0.1",
"@types/react": "^16.4.11", "@types/react": "^16.4.11",
"@types/react-dom": "^16.0.7", "@types/react-dom": "^16.0.7",
"@types/react-infinite": "0.0.33", "@types/react-infinite": "0.0.34",
"@types/react-router-dom": "^4.3.0", "@types/react-router-dom": "^5.1.5",
"@types/remove-markdown": "^0.1.1", "@types/remove-markdown": "^0.1.1",
"@types/rimraf": "^2.0.2", "@types/rimraf": "^3.0.0",
"get-port": "^4.0.0", "get-port": "^5.1.1",
"prettier": "^1.14.2", "prettier": "^2.0.5",
"puppeteer": "^1.8.0", "puppeteer": "^3.0.4",
"react-scripts": "3.1.1", "react-scripts": "^3.4.1",
"rimraf": "^2.6.2", "rimraf": "^3.0.2",
"tree-kill": "^1.2.0", "tree-kill": "^1.2.0",
"tslint": "^5.20.0", "tslint": "^6.1.2",
"tslint-sonarts": "^1.7.0", "tslint-sonarts": "^1.7.0",
"typescript": "3.6.2", "typescript": "3.8.3",
"wait-on": "^3.0.1" "wait-on": "^5.0.0"
}, },
"eslintConfig": { "eslintConfig": {
"extends": "react-app" "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 { stdenv.mkDerivation rec {
pname = "solr"; pname = "solr";
version = "8.5.0"; version = "8.5.1";
src = fetchurl { src = fetchurl {
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz"; url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
sha256 = "1pb1vja9spybkp2qw150kymy47njy06b5pic7mrfjq5as0d72m4y"; sha256 = "02sa0sldsfajryyfndv587qw69q8y8igfpimg98w1g3vndrq1dj7";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

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

View File

@ -1,18 +1,20 @@
{stdenv, fetchurl, help2man}: {stdenv, fetchurl, help2man}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.5.0.456"; version = "1.6.2.605";
pname = "fatsort"; pname = "fatsort";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz"; url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz";
sha256 = "15fy2m4p9s8cfvnzdcd5ynkc2js0zklkkf34sjxdac7x2iwb8dd8"; sha256 = "1dzzsl3a1ampari424vxkma0i87qkbgkgm2169x9xf3az0vgmjh8";
}; };
patches = [ ./fatsort-Makefiles.patch ]; patches = [ ./fatsort-Makefiles.patch ];
buildInputs = [ help2man ]; buildInputs = [ help2man ];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://fatsort.sourceforge.net/"; homepage = "http://fatsort.sourceforge.net/";
description = "Sorts FAT partition table, for devices that don't do sorting of files"; 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 diff -uNr fatsort-1.6.2.605.orig/Makefile fatsort-1.6.2.605.new/Makefile
--- fatsort-1.3.365-a/Makefile 2014-04-08 19:19:36.000000000 +0100 --- fatsort-1.6.2.605.orig/Makefile 2019-11-16 16:40:27.000000000 +0100
+++ fatsort-1.3.365-b/Makefile 2014-12-14 18:31:55.982857720 +0000 +++ fatsort-1.6.2.605.new/Makefile 2020-05-10 21:34:34.820874026 +0200
@@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
-MANDIR=/usr/local/share/man/man1 -MANDIR=/usr/local/share/man/man1
+PREFIX=$(out) +PREFIX?=/usr/local
+MANDIR=$(PREFIX)/share/man/man1 +MANDIR=$(PREFIX)/share/man/man1
INSTALL_FLAGS=-m 0755 -p -D INSTALL_FLAGS=-m 0755 -p -D
diff -uNr fatsort-1.3.365-a/src/Makefile fatsort-1.3.365-b/src/Makefile diff -uNr fatsort-1.6.2.605.orig/src/Makefile fatsort-1.6.2.605.new/src/Makefile
--- fatsort-1.3.365-a/src/Makefile 2014-04-08 19:19:36.000000000 +0100 --- fatsort-1.6.2.605.orig/src/Makefile 2018-11-17 00:40:59.000000000 +0100
+++ fatsort-1.3.365-b/src/Makefile 2014-12-14 18:32:08.282870461 +0000 +++ fatsort-1.6.2.605.new/src/Makefile 2020-05-10 21:33:52.053391027 +0200
@@ -1,3 +1,5 @@ @@ -30,7 +30,7 @@
+PREFIX=$(out) override CFLAGS += -D __CYGWIN__
+ override CFLAGS += -D __LINUX__
CC=gcc override LDFLAGS += -liconv
LD=gcc - SBINDIR=/usr/local/sbin
+ SBINDIR=$(PREFIX)/sbin
@@ -33,9 +35,9 @@ endif
# Mac OS X does not have a "/usr/local/sbin"
ifeq ($(UNAME),Darwin)
-SBINDIR=/usr/local/bin
+SBINDIR=$(PREFIX)/bin
else else
-SBINDIR=/usr/local/sbin ifdef MINGW
+SBINDIR=$(PREFIX)/sbin @@ -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 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 { stdenv.mkDerivation rec {
pname = "squashfs-tools-ng"; pname = "squashfs-tools-ng";
version = "0.9"; version = "0.9.1";
src = fetchurl { src = fetchurl {
url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz"; url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
sha256 = "1jx6bga0k07cckpv0yk77kwql7rjiicf9wkbadc8yqhp463xn90q"; sha256 = "1ilxkrqbpb5whv7xfwfvph76jwyjzf988njjpyyr99h6jv2r77q1";
}; };
nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]; 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 { buildGoPackage rec {
pname = "tmsu"; pname = "tmsu";
@ -24,8 +24,8 @@ buildGoPackage rec {
''; '';
postInstall = '' postInstall = ''
mv $bin/bin/{TMSU,tmsu} mv $out/bin/{TMSU,tmsu}
cp src/misc/bin/* $bin/bin/ cp src/misc/bin/* $out/bin/
installManPage src/misc/man/tmsu.1 installManPage src/misc/man/tmsu.1
installShellCompletion --zsh src/misc/zsh/_tmsu installShellCompletion --zsh src/misc/zsh/_tmsu
''; '';

View File

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

View File

@ -12,9 +12,10 @@
, libjpeg , libjpeg
, libgsf , libgsf
, libexif , libexif
, libheif
, ApplicationServices , ApplicationServices
, python27 , python27
, libpng ? null , libpng
, fetchFromGitHub , fetchFromGitHub
, fetchpatch , fetchpatch
, autoreconfHook , autoreconfHook
@ -25,7 +26,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vips"; pname = "vips";
version = "8.9.1"; version = "8.9.2";
outputs = [ "bin" "out" "man" "dev" ]; outputs = [ "bin" "out" "man" "dev" ];
@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
owner = "libvips"; owner = "libvips";
repo = "libvips"; repo = "libvips";
rev = "v${version}"; rev = "v${version}";
sha256 = "01vgvzlygg3fzpinb0x1rdm2sqvnqxmvxbnlbg73ygdadv3l2s0v"; sha256 = "0pgvcp5yjk96izh7kjfprjd9kddx7zqrwwhm8dyalhrwbmj6c2q5";
# Remove unicode file names which leads to different checksums on HFS+ # Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation. # vs. other filesystems because of unicode normalisation.
extraPostFetch = '' 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 = [ nativeBuildInputs = [
pkgconfig pkgconfig
autoreconfHook autoreconfHook
@ -69,6 +61,8 @@ stdenv.mkDerivation rec {
libjpeg libjpeg
libgsf libgsf
libexif libexif
libheif
libpng
python27 python27
libpng libpng
expat expat

View File

@ -1,25 +1,19 @@
{ lib { stdenv
, stdenv
, fetchurl , fetchurl
, gcc-unwrapped , gcc-unwrapped
, dpkg , dpkg
, polkit , polkit
, utillinux
, bash , bash
, nodePackages , nodePackages
, electron_3 , makeWrapper
, gtk3 , electron_7
, wrapGAppsHook
}: }:
let let
libPath = lib.makeLibraryPath [
# for libstdc++.so.6
gcc-unwrapped.lib
];
sha256 = { sha256 = {
"x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7"; "x86_64-linux" = "1yvqi86bw0kym401zwknhwq9041fxg047sbj3aydnfcqf11vrrmk";
"i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc"; "i686-linux" = "12lghzhsl16h3jvzm3vw4hrly32fz99z6rdmybl8viralrxy8mb8";
}."${stdenv.system}"; }."${stdenv.system}";
arch = { arch = {
@ -27,26 +21,22 @@ let
"i686-linux" = "i386"; "i686-linux" = "i386";
}."${stdenv.system}"; }."${stdenv.system}";
in stdenv.mkDerivation rec { in
stdenv.mkDerivation rec {
pname = "etcher"; pname = "etcher";
version = "1.5.60"; version = "1.5.86";
src = fetchurl { src = fetchurl {
url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb"; url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
inherit sha256; inherit sha256;
}; };
buildInputs = [
gtk3
];
nativeBuildInputs = [
wrapGAppsHook
];
dontBuild = true; dontBuild = true;
dontConfigure = true; dontConfigure = true;
nativeBuildInputs = [ makeWrapper ];
unpackPhase = '' unpackPhase = ''
${dpkg}/bin/dpkg-deb -x $src . ${dpkg}/bin/dpkg-deb -x $src .
''; '';
@ -55,33 +45,33 @@ in stdenv.mkDerivation rec {
# along with some other paths # along with some other paths
patchPhase = '' patchPhase = ''
${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp ${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|/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|/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 ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
rm -rf tmp 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 = '' installPhase = ''
mkdir -p $out/bin runHook preInstall
cp -r opt $out/
cp -r usr/share $out/
# We'll use our Nixpkgs electron_3 instead mkdir -p $out/bin $out/share/${pname}
rm $out/opt/balenaEtcher/balena-etcher-electron
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 = '' postFixup = ''
gappsWrapperArgs+=( makeWrapper ${electron_7}/bin/electron $out/bin/${pname} \
--add-flags $out/opt/balenaEtcher/resources/app.asar --add-flags $out/share/${pname}/resources/app.asar \
--prefix LD_LIBRARY_PATH : ${libPath} --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
)
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

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

View File

@ -2,20 +2,20 @@
buildGoModule rec { buildGoModule rec {
pname = "corerad"; pname = "corerad";
version = "0.2.3"; version = "0.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mdlayher"; owner = "mdlayher";
repo = "corerad"; repo = "corerad";
rev = "v${version}"; rev = "v${version}";
sha256 = "1594qrwrz4bc3iipm4aqb8l1zyi04pwmiz0vdlfn12qn1p7lad5p"; sha256 = "1r9kvz1ylrnfc7y5c4knqhx6xngh1p8j1axb8bd7h7p51c4i7jz2";
}; };
modSha256 = "1cfhxkvwzf7sn227y6h5h19f27a9ngmpnyqdlfba5km8axqn29vm"; modSha256 = "00xisa4l90f0digb1jfd2w616r080m7yp01y1rb83r8k147z5d2v";
buildFlagsArray = '' buildFlagsArray = ''
-ldflags= -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} -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 { stdenv.mkDerivation rec {
name = "isync-1.3.1"; pname = "isync";
version = "1.3.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/isync/${name}.tar.gz"; url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz";
sha256 = "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8"; sha256 = "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8";
}; };
nativeBuildInputs = [ pkgconfig perl ]; nativeBuildInputs = [ pkg-config perl ];
buildInputs = [ openssl db cyrus_sasl zlib ]; buildInputs = [ openssl db cyrus_sasl zlib ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://isync.sourceforge.net/"; 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"; 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; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];
}; };
} }

View File

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

View File

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

View File

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

View File

@ -5679,6 +5679,8 @@ in
stdenv = clangStdenv; stdenv = clangStdenv;
}; };
oq = callPackage ../development/tools/oq { };
out-of-tree = callPackage ../development/tools/out-of-tree { }; out-of-tree = callPackage ../development/tools/out-of-tree { };
oppai-ng = callPackage ../tools/misc/oppai-ng { }; oppai-ng = callPackage ../tools/misc/oppai-ng { };
@ -22133,7 +22135,7 @@ in
tendermint = callPackage ../tools/networking/tendermint { }; tendermint = callPackage ../tools/networking/tendermint { };
termdown = (newScope pythonPackages) ../applications/misc/termdown { }; termdown = python3Packages.callPackage ../applications/misc/termdown { };
terminal-notifier = callPackage ../applications/misc/terminal-notifier {}; 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 { StringMkPasswd = buildPerlPackage {
pname = "String-MkPasswd"; pname = "String-MkPasswd";
version = "0.05"; version = "0.05";

View File

@ -202,7 +202,35 @@ in
maintainers = with maintainers; [ javaguirre ] ++ teams.php.members; 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 { phpstan = mkDerivation rec {
version = "0.12.19"; version = "0.12.19";
pname = "phpstan"; pname = "phpstan";
@ -320,11 +348,16 @@ in
sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20";
peclDeps = [ php.extensions.apcu ];
buildInputs = [ buildInputs = [
php.extensions.apcu
pcre' pcre'
]; ];
postInstall = ''
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so
'';
meta.maintainers = lib.teams.php.members; meta.maintainers = lib.teams.php.members;
}; };
@ -341,13 +374,6 @@ in
version = "2.6.1"; version = "2.6.1";
pname = "couchbase"; pname = "couchbase";
buildInputs = [
pkgs.libcouchbase
pkgs.zlib
php.extensions.igbinary
php.extensions.pcs
];
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "couchbase"; owner = "couchbase";
repo = "php-couchbase"; repo = "php-couchbase";
@ -356,7 +382,14 @@ in
}; };
configureFlags = [ "--with-couchbase" ]; configureFlags = [ "--with-couchbase" ];
buildInputs = [
pkgs.libcouchbase
pkgs.zlib
];
internalDeps = [ php.extensions.json ]; internalDeps = [ php.extensions.json ];
peclDeps = [ php.extensions.igbinary ];
patches = [ patches = [
(pkgs.writeText "php-couchbase.patch" '' (pkgs.writeText "php-couchbase.patch" ''
--- a/config.m4 --- a/config.m4
@ -383,7 +416,6 @@ in
]; ];
meta.maintainers = lib.teams.php.members; meta.maintainers = lib.teams.php.members;
meta.broken = isPhp74; # Build error
}; };
event = buildPecl { event = buildPecl {
@ -557,8 +589,10 @@ in
sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
internalDeps = [ php.extensions.tokenizer ];
meta.maintainers = lib.teams.php.members; 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 { pdo_oci = buildPecl rec {