Merge master into staging-next

This commit is contained in:
github-actions[bot] 2020-12-28 12:24:08 +00:00 committed by GitHub
commit d5506c4c59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 987 additions and 936 deletions

View File

@ -8,13 +8,22 @@ on:
jobs:
tests:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- name: Get list of changed files from PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo 'PR_DIFF<<EOF' >> $GITHUB_ENV
gh api \
repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
>> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: technote-space/get-diff-action@v4.0.0
if: env.PR_DIFF
- name: Fetch editorconfig-checker
if: env.GIT_DIFF
if: env.PR_DIFF
env:
ECC_VERSION: "2.2.0"
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
@ -23,7 +32,6 @@ jobs:
tar xzf ec-linux-amd64.tar.gz && \
mv ./bin/ec-linux-amd64 ./bin/editorconfig-checker
- name: Checking EditorConfig
if: env.GIT_DIFF
if: env.PR_DIFF
run: |
./bin/editorconfig-checker -disable-indent-size \
${{ env.GIT_DIFF }}
echo "$PR_DIFF" | xargs ./bin/editorconfig-checker -disable-indent-size

View File

@ -268,7 +268,7 @@ chmod 400 /var/lib/secrets/certs.secret
<para>
It is possible that your account credentials file may become corrupt and need
to be regnerated. In this scenario lego will produce the error <literal>JWS verification error</literal>.
to be regenerated. In this scenario lego will produce the error <literal>JWS verification error</literal>.
The solution is to simply delete the associated accounts file and
re-run the affected service(s).
</para>

View File

@ -21,15 +21,16 @@ stdenv.mkDerivation rec {
preConfigure = "./autogen.sh";
postInstall = ''
postInstall = lib.optionalString stdenv.isLinux ''
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
'';
meta = with stdenv.lib; {
description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
homepage = src.meta.homepage;
homepage = "https://github.com/espeak-ng/espeak-ng";
changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md";
license = licenses.gpl3;
maintainers = with maintainers; [ aske ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

View File

@ -7,10 +7,10 @@ in
rec {
firefox = common rec {
pname = "firefox";
ffversion = "84.0";
ffversion = "84.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "37d5hc2wv1b6il4flgsw5g7ihw2jx3qrrmgm4cjg3lmk91q8k7908sy79z24na6529y7jxpj4m05l6yb850wnnwjhyc4c3vxqbldnba";
sha512 = "0sl93h7pjiznabv6865pdbal08nlqncnv3g40l02mgwbphjh5iqrr1bz14khaf58h4v1la090cj7z0gmd0c10xfrx6z7wngm152zz75";
};
meta = {

View File

@ -1,6 +1,7 @@
{ stdenv, lib, crystal, shards, git, pkgconfig, which, linkFarm, fetchFromGitHub, installShellFiles }:
{ # Some projects do not include a lock file, so you can pass one
{
# Some projects do not include a lock file, so you can pass one
lockFile ? null
# Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
, shardsFile ? null
@ -10,10 +11,11 @@
, installManPages ? true
# Specify binaries to build in the form { foo.src = "src/foo.cr"; }
# The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
, crystalBinaries ? { }, ... }@args:
, crystalBinaries ? { }
, ...
}@args:
assert (builtins.elem format [ "make" "crystal" "shards" ]);
let
mkDerivationArgs = builtins.removeAttrs args [
"format"
@ -23,22 +25,34 @@ let
"crystalBinaries"
];
crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList (name: value: {
inherit name;
path = fetchFromGitHub value;
}) (import shardsFile));
crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList
(name: value: {
inherit name;
path = fetchFromGitHub value;
})
(import shardsFile));
# we previously had --no-debug here but that is not recommended by upstream
defaultOptions = [ "--release" "--progress" "--verbose" ];
buildDirectly = shardsFile == null || crystalBinaries != { };
in stdenv.mkDerivation (mkDerivationArgs // {
configurePhase = args.configurePhase or lib.concatStringsSep "\n" ([
"runHook preConfigure"
] ++ lib.optional (lockFile != null) "ln -s ${lockFile} ./shard.lock"
++ lib.optional (shardsFile != null) "ln -s ${crystalLib} lib"
++ [ "runHook postConfigure "]);
in
stdenv.mkDerivation (mkDerivationArgs // {
configurePhase = args.configurePhase or lib.concatStringsSep "\n"
(
[
"runHook preConfigure"
]
++ lib.optional (lockFile != null) "cp ${lockFile} ./shard.lock"
++ lib.optionals (shardsFile != null) [
"test -e lib || mkdir lib"
"for d in ${crystalLib}/*; do ln -s $d lib/; done"
"cp shard.lock lib/.shards.info"
]
++ [ "runHook postConfigure" ]
);
CRFLAGS = lib.concatStringsSep " " defaultOptions;
@ -53,24 +67,31 @@ in stdenv.mkDerivation (mkDerivationArgs // {
"runHook preBuild"
] ++ lib.optional (format == "make")
''make ''${buildTargets:-build} $makeFlags''
++ lib.optionals (format == "crystal") (lib.mapAttrsToList (bin: attrs: ''
crystal ${lib.escapeShellArgs (["build" "-o" bin
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
] ++ (attrs.options or defaultOptions))}
'') crystalBinaries)
++ lib.optionals (format == "crystal") (lib.mapAttrsToList
(bin: attrs: ''
crystal ${lib.escapeShellArgs ([
"build"
"-o"
bin
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
] ++ (attrs.options or defaultOptions))}
'')
crystalBinaries)
++ lib.optional (format == "shards")
"shards build --local --production ${lib.concatStringsSep " " defaultOptions}"
"shards build --local --production ${lib.concatStringsSep " " defaultOptions}"
++ [ "runHook postBuild" ]));
installPhase = args.installPhase or (lib.concatStringsSep "\n" ([
"runHook preInstall"
] ++ lib.optional (format == "make")
''make ''${installTargets:-install} $installFlags''
++ lib.optionals (format == "crystal") (map (bin: ''
++ lib.optionals (format == "crystal") (map
(bin: ''
install -Dm555 ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]}
'') (lib.attrNames crystalBinaries))
'')
(lib.attrNames crystalBinaries))
++ lib.optional (format == "shards")
''install -Dm555 bin/* -t $out/bin''
''install -Dm555 bin/* -t $out/bin''
++ [
''
for f in README* *.md LICENSE; do
@ -78,9 +99,9 @@ in stdenv.mkDerivation (mkDerivationArgs // {
done
''
] ++ (lib.optional installManPages ''
if [ -d man ]; then
installManPage man/*.?
fi
if [ -d man ]; then
installManPage man/*.?
fi
'') ++ [
"runHook postInstall"
]));

View File

@ -1,42 +0,0 @@
require "yaml"
require "json"
class PrefetchJSON
JSON.mapping(sha256: String)
end
class ShardLock
YAML.mapping(
version: Float32,
shards: Hash(String, Hash(String, String))
)
end
File.open "shards.nix", "w+" do |file|
file.puts %({)
yaml = ShardLock.from_yaml(File.read("shard.lock"))
yaml.shards.each do |key, value|
owner, repo = value["github"].split("/")
url = "https://github.com/#{value["github"]}"
rev = if value["version"]?
"v#{value["version"]}"
else
value["commit"]
end
sha256 = ""
args = ["--url", url, "--rev", rev]
Process.run("@nixPrefetchGit@", args: args) do |x|
x.error.each_line { |e| puts e }
sha256 = PrefetchJSON.from_json(x.output).sha256
end
file.puts %( #{key} = {)
file.puts %( owner = "#{owner}";)
file.puts %( repo = "#{repo}";)
file.puts %( rev = "#{rev}";)
file.puts %( sha256 = "#{sha256}";)
file.puts %( };)
end
file.puts %(})
end

View File

@ -1,22 +0,0 @@
{ lib, crystal, nix-prefetch-git }:
crystal.buildCrystalPackage {
pname = "crystal2nix";
version = "unstable-2018-07-31";
nixPrefetchGit = "${lib.getBin nix-prefetch-git}/bin/nix-prefetch-git";
unpackPhase = "substituteAll ${./crystal2nix.cr} crystal2nix.cr";
format = "crystal";
crystalBinaries.crystal2nix.src = "crystal2nix.cr";
# it will blow up without a shard.yml file
doInstallCheck = false;
meta = with lib; {
description = "Utility to convert Crystal's shard.lock files to a Nix file";
license = licenses.mit;
maintainers = with maintainers; [ manveru ];
};
}

View File

@ -0,0 +1,36 @@
{ lib, fetchFromGitHub, fetchgit, crystal, makeWrapper, nix-prefetch-git }:
crystal.buildCrystalPackage rec {
pname = "crystal2nix";
version = "0.1.0";
src = fetchFromGitHub {
owner = "peterhoeg";
repo = "crystal2nix";
rev = "v${version}";
sha256 = "sha256-K1ElG8VC/D0axmSRaufH3cE50xNQisAmFucDkV+5O0s=";
};
format = "shards";
shardsFile = ./shards.nix;
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/crystal2nix \
--prefix PATH : ${lib.makeBinPath [ nix-prefetch-git ]}
'';
# temporarily off. We need the checks to execute the wrapped binary
doCheck = false;
# it requires an internet connection when run
doInstallCheck = false;
meta = with lib; {
description = "Utility to convert Crystal's shard.lock files to a Nix file";
license = licenses.mit;
maintainers = with maintainers; [ manveru peterhoeg ];
};
}

View File

@ -0,0 +1,14 @@
{
json_mapping = {
owner = "crystal-lang";
repo = "json_mapping.cr";
rev = "v0.1.0";
sha256 = "1qq5vs2085x7cwmp96rrjns0yz9kiz1lycxynfbz5psxll6b8p55";
};
yaml_mapping = {
owner = "crystal-lang";
repo = "yaml_mapping.cr";
rev = "v0.1.0";
sha256 = "02spz1521g59ar6rp0znnr01di766kknbjxjnygs39yn0cmpzqc1";
};
}

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "cgal";
version = "5.1.1";
version = "5.2";
src = fetchFromGitHub {
owner = "CGAL";
repo = "releases";
rev = "CGAL-${version}";
sha256 = "1h4kj37zh60zap1gvpkvcl1b1lbdvav959gd59pq2c33i0ziagf6";
sha256 = "1+ov1fu79MXoW0D8odInMZPFMYg69st//PoMW42oXpA=";
};
# note: optional component libCGAL_ImageIO would need zlib and opengl;

View File

@ -1,28 +1,28 @@
{ stdenv, fetchFromGitHub, alsaLib }:
stdenv.mkDerivation {
name = "flite-2.1.0";
stdenv.mkDerivation rec {
pname = "flite";
version = "2.2";
src = fetchFromGitHub {
owner = "festvox";
repo = "flite";
rev = "d673f65b2c4a8cd3da7447079309a6dc4bcf1a5e";
sha256 = "1kx43jvdln370590gfjhxxz3chxfi6kq18504wmdpljib2l0grjq";
owner = "festvox";
repo = "flite";
rev = "v${version}";
sha256 = "1n0p81jzndzc1rzgm66kw9ls189ricy5v1ps11y0p2fk1p56kbjf";
};
buildInputs = [ alsaLib ];
buildInputs = stdenv.lib.optionals stdenv.isLinux [ alsaLib ];
configureFlags = [
"--enable-shared"
"--with-audio=alsa"
];
] ++ stdenv.lib.optionals stdenv.isLinux [ "--with-audio=alsa" ];
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
description = "A small, fast run-time speech synthesis engine";
homepage = "http://www.festvox.org/flite/";
license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.linux;
license = licenses.bsdOriginal;
platforms = platforms.all;
};
}

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
version = "1.1";
src = fetchFromGitHub {
owner = "rhdunn";
owner = "espeak-ng";
repo = "pcaudiolib";
rev = version;
sha256 = "0c55hlqqh0m7bcb3nlgv1s4a22s5bgczr1cakjh3767rjb10khi0";
@ -16,15 +16,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake which libtool pkgconfig ];
buildInputs = [ portaudio alsaLib ] ++ lib.optional pulseaudioSupport libpulseaudio;
buildInputs = [ portaudio ]
++ lib.optionals stdenv.isLinux [ alsaLib ]
++ lib.optionals pulseaudioSupport [ libpulseaudio ];
preConfigure = "./autogen.sh";
meta = with stdenv.lib; {
description = "Provides a C API to different audio devices";
homepage = "https://github.com/rhdunn/pcaudiolib";
homepage = "https://github.com/espeak-ng/pcaudiolib";
license = licenses.gpl3;
maintainers = with maintainers; [ aske ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

View File

@ -1,27 +1,33 @@
{ stdenv, fetchFromGitHub, fftw }:
{ stdenv, fetchFromGitHub, fftw, installShellFiles }:
stdenv.mkDerivation {
pname = "sonic";
version = "2018-07-06";
pname = "sonic-unstable";
version = "2020-12-27";
src = fetchFromGitHub {
owner = "waywardgeek";
repo = "sonic";
rev = "71c51195de71627d7443d05378c680ba756545e8";
sha256 = "1z9qdk3pk507hdg39v2z1hanlw2wv7mhn8br4cb8qry9z9qwi87i";
rev = "4a052d9774387a9d9b4af627f6a74e1694419960";
sha256 = "0ah54nizb6iwcx277w104wsfnx05vrp4sh56d2pfxhf8xghg54m6";
};
postPatch = ''
sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile
'';
makeFlags = [ "PREFIX=${placeholder "out"}" "CC=cc" ];
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ fftw ];
postInstall = ''
installManPage sonic.1
'' + stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -id $out/lib/libsonic.so.0.3.0 $out/lib/libsonic.so.0.3.0
'';
meta = with stdenv.lib; {
description = "Simple library to speed up or slow down speech";
homepage = "https://github.com/waywardgeek/sonic";
license = licenses.asl20;
maintainers = with maintainers; [ aske ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

View File

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "asyncssh";
version = "2.4.2";
version = "2.5.0";
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
sha256 = "1c4a697d05a5e3d8d16ea18526115e84d8f015ba4c8b721a0d84062b6b244ef4";
sha256 = "0b65e2af73a2e39a271bd627abbe4f7e4b0345486ed403e65987d79c72fcb70b";
};
patches = [

View File

@ -3,13 +3,9 @@
, crystal_0_34
, crystal_0_35
}:
let
generic = (
{ version
, sha256
, crystal
}:
generic =
{ version, sha256, crystal }:
crystal.buildCrystalPackage {
pname = "shards";
@ -17,12 +13,12 @@ let
src = fetchFromGitHub {
owner = "crystal-lang";
repo = "shards";
rev = "v${version}";
repo = "shards";
rev = "v${version}";
inherit sha256;
};
# we cannot use `make` here as it would introduce a dependency on itself
# we cannot use `make` or `shards` here as it would introduce a cyclical dependency
format = "crystal";
shardsFile = ./shards.nix;
crystalBinaries.shards.src = "./src/shards.cr";
@ -36,10 +32,10 @@ let
maintainers = with maintainers; [ peterhoeg ];
inherit (crystal.meta) homepage platforms;
};
}
);
};
in rec {
in
rec {
shards_0_11 = generic {
version = "0.11.1";
sha256 = "05qnhc23xbmicdl4fwyxfpcvd8jq4inzh6v7jsjjw4n76vzb1f71";

View File

@ -2,13 +2,13 @@
crystal.buildCrystalPackage rec {
pname = "lucky-cli";
version = "0.24.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "luckyframework";
repo = "lucky_cli";
rev = "v${version}";
sha256 = "1z1ns6lx5v6nd5s78brpx7jarc9aldca5yrqjrdb14iyw0jlxig4";
sha256 = "sha256-/DKDg2lJO6PikF7+kbwRX8ClS8rflH8KdrZNx7AR36g=";
};
# the integration tests will try to clone a remote repos
@ -38,5 +38,6 @@ crystal.buildCrystalPackage rec {
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.unix;
broken = lib.versionOlder crystal.version "0.35.1";
};
}

View File

@ -1,5 +1,14 @@
version: 1.0
version: 2.0
shards:
ameba:
git: https://github.com/crystal-ameba/ameba.git
version: 0.13.3
future:
git: https://github.com/crystal-community/future.cr.git
version: 0.1.0
teeplate:
github: luckyframework/teeplate
version: 0.8.1
git: https://github.com/luckyframework/teeplate.git
version: 0.8.2

View File

@ -1,8 +1,20 @@
{
ameba = {
owner = "crystal-ameba";
repo = "ameba";
rev = "v0.13.3";
sha256 = "0yhb8vfrfzsm3a45h2jmcrn1n7jy3zn2hwims3dikgq8kaggws9y";
};
future = {
owner = "crystal-community";
repo = "future.cr";
rev = "v0.1.0";
sha256 = "1p88mfn1ab5hz4r81vjfm1vn9rww0lbbii8lyzfx9pkxanh9rp98";
};
teeplate = {
owner = "luckyframework";
repo = "teeplate";
rev = "v0.8.1";
sha256 = "022jmmg3d2wq2xnhc63afldm9vrcr8xqn43s9i39d7qflrzrfc7v";
rev = "v0.8.2";
sha256 = "1v7njslcpir52nnyd30mfnxvqmb7ycqnlq80qnx6myw20iy9dcww";
};
}

View File

@ -1,22 +1,24 @@
{stdenv, fetchurl, zlib, ncurses}:
stdenv.mkDerivation rec {
version = "2.4.0";
pname = "atop";
version = "2.6.0";
src = fetchurl {
url = "https://www.atoptool.nl/download/atop-${version}.tar.gz";
sha256 = "0s9xlxlzz688a80zxld840zkrmzw998rdkkg6yc7ssq8fw50275y";
sha256 = "nsLKOlcWkvfvqglfmaUQZDK8txzCLNbElZfvBIEFj3I=";
};
buildInputs = [zlib ncurses];
makeFlags = [
''SCRPATH=$out/etc/atop''
''LOGPATH=/var/log/atop''
''INIPATH=$out/etc/rc.d/init.d''
''CRNPATH=$out/etc/cron.d''
''ROTPATH=$out/etc/logrotate.d''
"SCRPATH=$out/etc/atop"
"LOGPATH=/var/log/atop"
"INIPATH=$out/etc/rc.d/init.d"
"SYSDPATH=$out/lib/systemd/system"
"CRNPATH=$out/etc/cron.d"
"DEFPATH=$out/etc/default"
"ROTPATH=$out/etc/logrotate.d"
];
preConfigure = ''
@ -28,9 +30,9 @@ stdenv.mkDerivation rec {
sed -e 's/chmod 04711/chmod 0711/g' -i Makefile
'';
installTargets = [ "systemdinstall" ];
preInstall = ''
mkdir -p "$out"/{bin,sbin}
make systemdinstall $makeFlags
'';
meta = with stdenv.lib; {
@ -42,7 +44,7 @@ stdenv.mkDerivation rec {
Atop is an ASCII full-screen performance monitor that is capable of reporting the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, highlighting overloaded system resources by using colors, etc. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks and network layers, and for every active process it shows the CPU utilization, memory growth, disk utilization, priority, username, state, and exit code.
'';
inherit version;
license = licenses.gpl2;
license = licenses.gpl2Plus;
downloadPage = "http://atoptool.nl/downloadatop.php";
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
{ stdenv, fetchFromGitHub, rustPlatform, Security }:
rustPlatform.buildRustPackage rec {
pname = "ion";
@ -20,6 +20,10 @@ rustPlatform.buildRustPackage rec {
maintainers = with maintainers; [ dywedir ];
};
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin [
Security
];
passthru = {
shellPath = "/bin/ion";
};

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cjdns";
version = "21";
version = "21.1";
src = fetchFromGitHub {
owner = "cjdelisle";
repo = "cjdns";
rev = "cjdns-v${version}";
sha256 = "1s9d8yrdrj2gviig05jhr0fnzazb88lih0amxfk0av786rvh7ymj";
sha256 = "NOmk+vMZ8i0E2MjrUzksk+tkJ9XVVNEXlE5OOTNa+Y0=";
};
buildInputs = [ which python27 nodejs ] ++
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = "https://github.com/cjdelisle/cjdns";
description = "Encrypted networking for regular people";
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ ehmry ];
platforms = platforms.linux;
};

View File

@ -8799,7 +8799,9 @@ in
fish-foreign-env = callPackage ../shells/fish/fish-foreign-env { };
ion = callPackage ../shells/ion { };
ion = callPackage ../shells/ion {
inherit (darwin) Security;
};
jush = callPackage ../shells/jush { };
@ -9086,8 +9088,9 @@ in
crystal_0_33
crystal_0_34
crystal_0_35
crystal
crystal2nix;
crystal;
crystal2nix = callPackage ../development/compilers/crystal2nix { };
icr = callPackage ../development/tools/icr { };