Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2020-12-24 00:51:47 +00:00 committed by GitHub
commit 5962ac3709
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 874 additions and 766 deletions

View File

@ -605,10 +605,6 @@ in
virtualisation.bootDevice = mkDefault (driveDeviceName 1); virtualisation.bootDevice = mkDefault (driveDeviceName 1);
virtualisation.useEFIBoot = mkDefault
(config.boot.loader.systemd-boot.enable ||
config.boot.loader.efi.canTouchEfiVariables);
virtualisation.pathsInNixDB = [ config.system.build.toplevel ]; virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
# FIXME: Consolidate this one day. # FIXME: Consolidate this one day.

View File

@ -36,6 +36,7 @@ in import ./make-test-python.nix {
nodes = { nodes = {
prometheus = { pkgs, ... }: { prometheus = { pkgs, ... }: {
virtualisation.diskSize = 2 * 1024; virtualisation.diskSize = 2 * 1024;
virtualisation.memorySize = 2048;
environment.systemPackages = [ pkgs.jq ]; environment.systemPackages = [ pkgs.jq ];
networking.firewall.allowedTCPPorts = [ grpcPort ]; networking.firewall.allowedTCPPorts = [ grpcPort ];
services.prometheus = { services.prometheus = {
@ -132,6 +133,7 @@ in import ./make-test-python.nix {
store = { pkgs, ... }: { store = { pkgs, ... }: {
virtualisation.diskSize = 2 * 1024; virtualisation.diskSize = 2 * 1024;
virtualisation.memorySize = 2048;
environment.systemPackages = with pkgs; [ jq thanos ]; environment.systemPackages = with pkgs; [ jq thanos ];
services.thanos.store = { services.thanos.store = {
enable = true; enable = true;

View File

@ -35,6 +35,7 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
shadow.send_chars("emma\n") shadow.send_chars("emma\n")
shadow.wait_until_tty_matches(2, "login: emma") shadow.wait_until_tty_matches(2, "login: emma")
shadow.wait_until_succeeds("pgrep login") shadow.wait_until_succeeds("pgrep login")
shadow.sleep(2)
shadow.send_chars("${password1}\n") shadow.send_chars("${password1}\n")
shadow.send_chars("whoami > /tmp/1\n") shadow.send_chars("whoami > /tmp/1\n")
shadow.wait_for_file("/tmp/1") shadow.wait_for_file("/tmp/1")
@ -49,6 +50,7 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
shadow.send_chars("emma\n") shadow.send_chars("emma\n")
shadow.wait_until_tty_matches(3, "login: emma") shadow.wait_until_tty_matches(3, "login: emma")
shadow.wait_until_succeeds("pgrep login") shadow.wait_until_succeeds("pgrep login")
shadow.sleep(2)
shadow.send_chars("${password1}\n") shadow.send_chars("${password1}\n")
shadow.send_chars("passwd\n") shadow.send_chars("passwd\n")
shadow.sleep(2) shadow.sleep(2)
@ -66,12 +68,14 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
shadow.send_chars("emma\n") shadow.send_chars("emma\n")
shadow.wait_until_tty_matches(4, "login: emma") shadow.wait_until_tty_matches(4, "login: emma")
shadow.wait_until_succeeds("pgrep login") shadow.wait_until_succeeds("pgrep login")
shadow.sleep(2)
shadow.send_chars("${password1}\n") shadow.send_chars("${password1}\n")
shadow.wait_until_tty_matches(4, "Login incorrect") shadow.wait_until_tty_matches(4, "Login incorrect")
shadow.wait_until_tty_matches(4, "login:") shadow.wait_until_tty_matches(4, "login:")
shadow.send_chars("emma\n") shadow.send_chars("emma\n")
shadow.wait_until_tty_matches(4, "login: emma") shadow.wait_until_tty_matches(4, "login: emma")
shadow.wait_until_succeeds("pgrep login") shadow.wait_until_succeeds("pgrep login")
shadow.sleep(2)
shadow.send_chars("${password3}\n") shadow.send_chars("${password3}\n")
shadow.send_chars("whoami > /tmp/2\n") shadow.send_chars("whoami > /tmp/2\n")
shadow.wait_for_file("/tmp/2") shadow.wait_for_file("/tmp/2")

View File

@ -9,6 +9,7 @@ with pkgs.lib;
let let
common = { common = {
virtualisation.useBootLoader = true; virtualisation.useBootLoader = true;
virtualisation.useEFIBoot = true;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
environment.systemPackages = [ pkgs.efibootmgr ]; environment.systemPackages = [ pkgs.efibootmgr ];

View File

@ -1,22 +1,31 @@
{ stdenv, fetchurl, config, makeWrapper { stdenv, lib, fetchurl, config, makeWrapper
, alsaLib , alsaLib
, at-spi2-atk , at-spi2-atk
, atk , atk
, cairo , cairo
, coreutils
, cups , cups
, curl , curl
, dbus-glib
, dbus , dbus
, dbus-glib
, fontconfig , fontconfig
, freetype , freetype
, gdk-pixbuf , gdk-pixbuf
, glib , glib
, glibc , glibc
, gnome3
, gnugrep
, gnupg
, gnused
, gpgme
, gtk2 , gtk2
, gtk3 , gtk3
, kerberos , kerberos
, libcanberra
, libGL
, libGLU
, libX11 , libX11
, libXScrnSaver , libxcb
, libXcomposite , libXcomposite
, libXcursor , libXcursor
, libXdamage , libXdamage
@ -25,21 +34,14 @@
, libXi , libXi
, libXinerama , libXinerama
, libXrender , libXrender
, libXScrnSaver
, libXt , libXt
, libxcb
, libcanberra
, gnome3
, libGLU, libGL
, nspr , nspr
, nss , nss
, pango , pango
, runtimeShell
, writeScript , writeScript
, xidel , xidel
, coreutils
, gnused
, gnugrep
, gnupg
, runtimeShell
}: }:
# imports `version` and `sources` # imports `version` and `sources`
@ -58,9 +60,9 @@ let
systemLocale = config.i18n.defaultLocale or "en-US"; systemLocale = config.i18n.defaultLocale or "en-US";
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources; defaultSource = lib.findFirst (sourceMatches "en-US") {} sources;
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; source = lib.findFirst (sourceMatches systemLocale) defaultSource sources;
name = "thunderbird-bin-${version}"; name = "thunderbird-bin-${version}";
in in
@ -75,7 +77,7 @@ stdenv.mkDerivation {
phases = "unpackPhase installPhase"; phases = "unpackPhase installPhase";
libPath = stdenv.lib.makeLibraryPath libPath = lib.makeLibraryPath
[ stdenv.cc.cc [ stdenv.cc.cc
alsaLib alsaLib
at-spi2-atk at-spi2-atk
@ -110,7 +112,7 @@ stdenv.mkDerivation {
nspr nspr
nss nss
pango pango
] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [ ] + ":" + lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc stdenv.cc.cc
]; ];
@ -118,6 +120,9 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
# See "Note on GPG support" in `../thunderbird/default.nix` for explanations
# on adding `gnupg` and `gpgme` into PATH/LD_LIBRARY_PATH.
installPhase = installPhase =
'' ''
mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}" mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
@ -158,7 +163,9 @@ stdenv.mkDerivation {
--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \ --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
--set SNAP_NAME "thunderbird" \ --set SNAP_NAME "thunderbird" \
--set MOZ_LEGACY_PROFILES 1 \ --set MOZ_LEGACY_PROFILES 1 \
--set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_ALLOW_DOWNGRADE 1 \
--prefix PATH : "${lib.getBin gnupg}/bin" \
--prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
''; '';
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
@ -168,14 +175,14 @@ stdenv.mkDerivation {
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/"; baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
}; };
meta = with stdenv.lib; { meta = with lib; {
description = "Mozilla Thunderbird, a full-featured email client (binary package)"; description = "Mozilla Thunderbird, a full-featured email client (binary package)";
homepage = "http://www.mozilla.org/thunderbird/"; homepage = "http://www.mozilla.org/thunderbird/";
license = { license = {
free = false; free = false;
url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/"; url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
}; };
maintainers = with stdenv.lib.maintainers; [ ]; maintainers = with lib.maintainers; [ ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -14,13 +14,15 @@
, freetype , freetype
, glib , glib
, gnugrep , gnugrep
, gnupg
, gnused , gnused
, gpgme
, icu , icu
, jemalloc , jemalloc
, lib , lib
, libevent
, libGL , libGL
, libGLU , libGLU
, libevent
, libjpeg , libjpeg
, libnotify , libnotify
, libpng , libpng
@ -288,6 +290,15 @@ stdenv.mkDerivation rec {
rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
''; '';
# Note on GPG support:
# Thunderbird's native GPG support does not yet support smartcards.
# The official upstream recommendation is to configure fall back to gnupg
# using the Thunderbird config `mail.openpgp.allow_external_gnupg`
# and GPG keys set up; instructions with pictures at:
# https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
# For that to work out of the box, it requires `gnupg` on PATH and
# `gpgme` in `LD_LIBRARY_PATH`; we do this below.
preFixup = '' preFixup = ''
# Needed to find Mozilla runtime # Needed to find Mozilla runtime
gappsWrapperArgs+=( gappsWrapperArgs+=(
@ -297,6 +308,8 @@ stdenv.mkDerivation rec {
--set SNAP_NAME "thunderbird" --set SNAP_NAME "thunderbird"
--set MOZ_LEGACY_PROFILES 1 --set MOZ_LEGACY_PROFILES 1
--set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_ALLOW_DOWNGRADE 1
--prefix PATH : "${lib.getBin gnupg}/bin"
--prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
) )
''; '';
@ -325,7 +338,7 @@ stdenv.mkDerivation rec {
requiredSystemFeatures = [ "big-parallel" ]; requiredSystemFeatures = [ "big-parallel" ];
meta = with stdenv.lib; { meta = with lib; {
description = "A full-featured e-mail client"; description = "A full-featured e-mail client";
homepage = "https://www.thunderbird.net"; homepage = "https://www.thunderbird.net";
maintainers = with maintainers; [ maintainers = with maintainers; [

View File

@ -1,17 +1,18 @@
{ {
stdenv, extra-cmake-modules, fetchurl, lib, mkDerivation, extra-cmake-modules, fetchurl,
kconfig, kdoctools, kguiaddons, ki18n, kinit, kiconthemes, kio, kconfig, kdoctools, kguiaddons, ki18n, kinit, kiconthemes, kio,
knewstuff, kplotting, kwidgetsaddons, kxmlgui, wrapQtAppsHook, knewstuff, kplotting, kwidgetsaddons, kxmlgui, knotifyconfig,
qtx11extras, qtwebsockets,
qtx11extras, qtwebsockets, qtkeychain, libsecret,
eigen, zlib, eigen, zlib,
cfitsio, indilib, xplanet, libnova, gsl cfitsio, indilib, xplanet, libnova, libraw, gsl, wcslib
}: }:
stdenv.mkDerivation rec { mkDerivation rec {
pname = "kstars"; pname = "kstars";
version = "3.4.3"; version = "3.4.3";
@ -24,23 +25,23 @@ stdenv.mkDerivation rec {
./indi-fix.patch ./indi-fix.patch
]; ];
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ buildInputs = [
kconfig kdoctools kguiaddons ki18n kinit kiconthemes kio kconfig kdoctools kguiaddons ki18n kinit kiconthemes kio
knewstuff kplotting kwidgetsaddons kxmlgui knewstuff kplotting kwidgetsaddons kxmlgui knotifyconfig
qtx11extras qtwebsockets qtx11extras qtwebsockets qtkeychain libsecret
eigen zlib eigen zlib
cfitsio indilib xplanet libnova gsl cfitsio indilib xplanet libnova libraw gsl wcslib
]; ];
cmakeFlags = [ cmakeFlags = [
"-DINDI_NIX_ROOT=${indilib}" "-DINDI_NIX_ROOT=${indilib}"
]; ];
meta = with stdenv.lib; { meta = with lib; {
description = "Virtual planetarium astronomy software"; description = "Virtual planetarium astronomy software";
homepage = "https://kde.org/applications/education/org.kde.kstars"; homepage = "https://kde.org/applications/education/org.kde.kstars";
longDescription = '' longDescription = ''

View File

@ -201,6 +201,7 @@ let
gitui = callPackage ./gitui { gitui = callPackage ./gitui {
inherit (darwin.apple_sdk.frameworks) Security AppKit; inherit (darwin.apple_sdk.frameworks) Security AppKit;
inherit (pkgs) openssl perl;
}; };
glab = callPackage ./glab { }; glab = callPackage ./glab { };

View File

@ -1,20 +1,20 @@
{ stdenv, rustPlatform, fetchFromGitHub, libiconv, xorg, python3, Security, AppKit }: { stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "gitui"; pname = "gitui";
version = "0.10.1"; version = "0.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "extrawurst"; owner = "extrawurst";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1ifwbi6nydh66z6cprjmz2qvy9z52rj9jg2xf054i249gy955hah"; sha256 = "0yq98jslbac87zdzlwqc2kcd6hqy2wnza3l8n3asss1iaqcb0ilh";
}; };
cargoSha256 = "1454dn7k1fc4yxhbcmx0z3hj9d9srnlc2k1qp707h1vq46ib1rsf"; cargoSha256 = "16riggrhk1f6lg8y46wn89ab5b1iz6lw00ngid20x4z32d2ww70f";
nativeBuildInputs = [ python3 ]; nativeBuildInputs = [ python3 perl ];
buildInputs = [ ] buildInputs = [ openssl ]
++ stdenv.lib.optional stdenv.isLinux xorg.libxcb ++ stdenv.lib.optional stdenv.isLinux xclip
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security AppKit ]; ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security AppKit ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,6 +1,5 @@
{ buildPythonPackage { buildPythonPackage
, certbot , certbot
, pytest
, cryptography , cryptography
, pyasn1 , pyasn1
, pyopenssl , pyopenssl
@ -25,7 +24,9 @@ buildPythonPackage rec {
werkzeug mock ndg-httpsclient josepy werkzeug mock ndg-httpsclient josepy
]; ];
checkInputs = [ pytest ]; # does not contain any tests
doCheck = false;
pythonImportsCheck = [ "acme" ];
sourceRoot = "source/${pname}"; sourceRoot = "source/${pname}";

View File

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "boto3"; pname = "boto3";
version = "1.16.42"; # N.B: if you change this, change botocore too version = "1.16.43"; # N.B: if you change this, change botocore too
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-ko5z9R9xRpobDOrR+7N/MERX7FRACDPALAwyjmRYH+o="; sha256 = "sha256-pJs6tL+i9jlLpgFlz8RoQQeX3UEPMu7UfiL2FFHumG4=";
}; };
propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "botocore"; pname = "botocore";
version = "1.19.42"; # N.B: if you change this, change boto3 and awscli to a matching version version = "1.19.43"; # N.B: if you change this, change boto3 and awscli to a matching version
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-8LBx/Qj01y17osVH2lKavr4FJwXBWVvm0SohUadaYCk="; sha256 = "sha256-c5jJANvU49YWRyaSFTluo+gIL0lPPntl2basoEnB1GM=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "casbin"; pname = "casbin";
version = "0.13.0"; version = "0.14.0";
disabled = isPy27; disabled = isPy27;
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = pname; owner = pname;
repo = "pycasbin"; repo = "pycasbin";
rev = "v${version}"; rev = "v${version}";
sha256 = "1im5j3wsjh916v2mp1bfi53m6k6w9s3sr5ja4anrz4b9izc65m0j"; sha256 = "0k5dhhlypilpa7h6ncqldvc14bv70c8mb2bbj7vyzfwahy57zb29";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -9,12 +9,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "seaborn"; pname = "seaborn";
version = "0.11.0"; version = "0.11.1";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c"; sha256 = "44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad";
}; };
checkInputs = [ nose ]; checkInputs = [ nose ];

View File

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "tqdm"; pname = "tqdm";
version = "4.54.0"; version = "4.54.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "5c0d04e06ccc0da1bd3fa5ae4550effcce42fcad947b4a6cafa77bdc9b09ff22"; sha256 = "1x9chlh3msikddmq8p8p5s5kgqqs48bclxgzz3vb9ygcwjimidiq";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,7 +2,7 @@
, coreutils, git, gnused, nix, nixfmt }: , coreutils, git, gnused, nix, nixfmt }:
let let
version = "2.0.7"; version = "2.0.8";
zshCompletion = fetchurl { zshCompletion = fetchurl {
url = url =
@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = url =
"https://github.com/coursier/coursier/releases/download/v${version}/coursier"; "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
sha256 = "1m6b12cqbwsk4xf2r79y51154j6ws6f0kiw1yj57gylw7pjkgfnk"; sha256 = "sha256-7dNJUMZu6YY3076cnjWHRisJZVn1NPRH1VC+cJjfI/8=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -1,13 +1,15 @@
{ stdenv, lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage, nixosTests }: { stdenv, lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage, nixosTests
, fetchpatch
}:
let let
version = "2.22.2"; version = "2.23.0";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "prometheus"; owner = "prometheus";
repo = "prometheus"; repo = "prometheus";
sha256 = "04pf3shdfd25wf8snkan5hzv1gjzazjw06i11xaamnc8gfahnzdv"; sha256 = "sha256-UQ1r8271EiZDU/h2zta6toMRfk2GjXol8GexYL9n+BE=";
}; };
webui = mkYarnPackage { webui = mkYarnPackage {
@ -29,15 +31,23 @@ in buildGoPackage rec {
goPackagePath = "github.com/prometheus/prometheus"; goPackagePath = "github.com/prometheus/prometheus";
patches = [
# Fix https://github.com/prometheus/prometheus/issues/8144
(fetchpatch {
url = "https://github.com/prometheus/prometheus/commit/8b64b70fe4a5aa2877c95aa12c6798b12d3ff7ec.patch";
sha256 = "sha256-RuXT5pBXv8z6WoE59KNGh+OXr1KGLGWs/n0Hjf4BuH8=";
})
];
postPatch = '' postPatch = ''
ln -s ${webui.node_modules} web/ui/react-app/node_modules ln -s ${webui.node_modules} web/ui/react-app/node_modules
ln -s ${webui} web/ui/static/react ln -s ${webui} web/ui/static/react
''; '';
buildFlags = "-tags=builtinassets";
buildFlagsArray = let buildFlagsArray = let
t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
in [ in [
"-tags=builtinassets"
'' ''
-ldflags= -ldflags=
-X ${t}.Version=${version} -X ${t}.Version=${version}

File diff suppressed because it is too large Load Diff

View File

@ -28,11 +28,11 @@ let
in with py.pkgs; buildPythonApplication rec { in with py.pkgs; buildPythonApplication rec {
pname = "awscli"; pname = "awscli";
version = "1.18.202"; # N.B: if you change this, change botocore to a matching version too version = "1.18.203"; # N.B: if you change this, change botocore to a matching version too
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-nlgqIzFELlg8Ck3HCXBx/LDzlM9p2CGKOgA2vS+r2y0="; sha256 = "sha256-afcXbYKRc9w0Zbuyg/bDA/J/lHm4N4FttUgGk4h4H4k=";
}; };
postPatch = '' postPatch = ''

View File

@ -1,36 +1,48 @@
{ stdenv, fetchFromGitHub, makeWrapper, lrzsz, IOKit }: { stdenv
, fetchFromGitHub
assert stdenv.isDarwin -> IOKit != null; , installShellFiles
, lrzsz
with stdenv.lib; , IOKit
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "picocom"; pname = "picocom";
version = "3.1"; # last tagged release is 3.1 but 3.2 is still considered a release
version = "3.2a";
# upstream is quiet as the original author is no longer active since March 2018
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "npat-efault"; owner = "npat-efault";
repo = "picocom"; repo = "picocom";
rev = version; rev = "1acf1ddabaf3576b4023c4f6f09c5a3e4b086fb8";
sha256 = "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n"; sha256 = "sha256-cs2bxqZfTbnY5d+VJ257C5hssaFvYup3tBKz68ROnAo=";
}; };
buildInputs = [ makeWrapper ] postPatch = ''
++ optionals stdenv.isDarwin [ IOKit ]; substituteInPlace Makefile \
--replace '.picocom_history' '.cache/picocom_history'
installPhase = '' substituteInPlace picocom.c \
mkdir -p $out/bin $out/share/man/man1 --replace '"rz -vv"' '"${lrzsz}/bin/rz -vv"' \
cp picocom $out/bin --replace '"sz -vv"' '"${lrzsz}/bin/sz -vv"'
cp picocom.1 $out/share/man/man1
wrapProgram $out/bin/picocom \
--prefix PATH ":" "${lrzsz}/bin"
''; '';
meta = { enableParallelBuilding = true;
nativeBuildInputs = [ installShellFiles ];
buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit;
installPhase = ''
install -Dm555 -t $out/bin picocom
installManPage picocom.1
installShellCompletion --bash bash_completion/picocom
'';
meta = with stdenv.lib; {
description = "Minimal dumb-terminal emulation program"; description = "Minimal dumb-terminal emulation program";
homepage = "https://github.com/npat-efault/picocom/"; homepage = "https://github.com/npat-efault/picocom/";
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -2,14 +2,16 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
clocale (0.0.4) clocale (0.0.4)
colorls (1.4.2) colorls (1.4.3)
clocale (~> 0) clocale (~> 0)
filesize (~> 0) filesize (~> 0)
manpages (~> 0) manpages (~> 0)
rainbow (>= 2.2, < 4.0) rainbow (>= 2.2, < 4.0)
unicode-display_width (~> 1.7)
filesize (0.2.0) filesize (0.2.0)
manpages (0.6.1) manpages (0.6.1)
rainbow (3.0.0) rainbow (3.0.0)
unicode-display_width (1.7.0)
PLATFORMS PLATFORMS
ruby ruby

View File

@ -10,15 +10,15 @@
version = "0.0.4"; version = "0.0.4";
}; };
colorls = { colorls = {
dependencies = ["clocale" "filesize" "manpages" "rainbow"]; dependencies = ["clocale" "filesize" "manpages" "rainbow" "unicode-display_width"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0sw377wklld5zn1la0smxc2bg4rph2xf9d0h3zmxhmds06lb92db"; sha256 = "1w9d99qzgxw8wwa4z1vkdnr70fppx2g9shma6dz3ihjhajj2xvmq";
type = "gem"; type = "gem";
}; };
version = "1.4.2"; version = "1.4.3";
}; };
filesize = { filesize = {
groups = ["default"]; groups = ["default"];
@ -50,4 +50,14 @@
}; };
version = "3.0.0"; version = "3.0.0";
}; };
unicode-display_width = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
type = "gem";
};
version = "1.7.0";
};
} }

View File

@ -15537,7 +15537,7 @@ in
qjson = callPackage ../development/libraries/qjson { }; qjson = callPackage ../development/libraries/qjson { };
qolibri = libsForQt514.callPackage ../applications/misc/qolibri { }; qolibri = libsForQt5.callPackage ../applications/misc/qolibri { };
qt3 = callPackage ../development/libraries/qt-3 { qt3 = callPackage ../development/libraries/qt-3 {
libpng = libpng12; libpng = libpng12;