Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-21 06:16:32 +00:00 committed by GitHub
commit 2c8fa86436
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 502 additions and 127 deletions

View File

@ -19,7 +19,7 @@
<xi:include href="stdenv/meta.xml" />
<xi:include href="stdenv/multiple-output.xml" />
<xi:include href="stdenv/cross-compilation.chapter.xml" />
<xi:include href="stdenv/platform-notes.xml" />
<xi:include href="stdenv/platform-notes.chapter.xml" />
</part>
<part>
<title>Builders</title>

View File

@ -0,0 +1,62 @@
# Platform Notes {#chap-platform-notes}
## Darwin (macOS) {#sec-darwin}
Some common issues when packaging software for Darwin:
- The Darwin `stdenv` uses clang instead of gcc. When referring to the compiler `$CC` or `cc` will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like `makeFlags = [ "CC=cc" ];` or by patching the build scripts.
```nix
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
buildPhase = ''
$CC -o hello hello.c
'';
}
```
- On Darwin, libraries are linked using absolute paths, libraries are resolved by their `install_name` at link time. Sometimes packages wont set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running `install_name_tool -id` during the `fixupPhase`.
```nix
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
makeFlags = lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
}
```
- Even if the libraries are linked using absolute paths and resolved via their `install_name` correctly, tests can sometimes fail to run binaries. This happens because the `checkPhase` runs before the libraries are installed.
This can usually be solved by running the tests after the `installPhase` or alternatively by using `DYLD_LIBRARY_PATH`. More information about this variable can be found in the *dyld(1)* manpage.
```
dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib
Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq
Reason: image not found
./tests/jqtest: line 5: 75779 Abort trap: 6
```
```nix
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
doInstallCheck = true;
installCheckTarget = "check";
}
```
- Some packages assume xcode is available and use `xcrun` to resolve build tools like `clang`, etc. This causes errors like `xcode-select: error: no developer tools were found at '/Applications/Xcode.app'` while the build doesnt actually depend on xcode.
```nix
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
prePatch = ''
substituteInPlace Makefile \
--replace '/usr/bin/xcrun clang' clang
'';
}
```
The package `xcbuild` can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.

View File

@ -1,83 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-platform-notes">
<title>Platform Notes</title>
<section xml:id="sec-darwin">
<title>Darwin (macOS)</title>
<para>
Some common issues when packaging software for Darwin:
</para>
<itemizedlist>
<listitem>
<para>
The Darwin <literal>stdenv</literal> uses clang instead of gcc. When referring to the compiler <varname>$CC</varname> or <command>cc</command> will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like <literal>makeFlags = [ "CC=cc" ];</literal> or by patching the build scripts.
</para>
<programlisting>
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
buildPhase = ''
$CC -o hello hello.c
'';
}
</programlisting>
</listitem>
<listitem>
<para>
On Darwin, libraries are linked using absolute paths, libraries are resolved by their <literal>install_name</literal> at link time. Sometimes packages won't set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running <command>install_name_tool -id</command> during the <function>fixupPhase</function>.
</para>
<programlisting>
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
makeFlags = lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
}
</programlisting>
</listitem>
<listitem>
<para>
Even if the libraries are linked using absolute paths and resolved via their <literal>install_name</literal> correctly, tests can sometimes fail to run binaries. This happens because the <varname>checkPhase</varname> runs before the libraries are installed.
</para>
<para>
This can usually be solved by running the tests after the <varname>installPhase</varname> or alternatively by using <varname>DYLD_LIBRARY_PATH</varname>. More information about this variable can be found in the <citerefentry>
<refentrytitle>dyld</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> manpage.
</para>
<programlisting>
dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib
Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq
Reason: image not found
./tests/jqtest: line 5: 75779 Abort trap: 6
</programlisting>
<programlisting>
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
doInstallCheck = true;
installCheckTarget = "check";
}
</programlisting>
</listitem>
<listitem>
<para>
Some packages assume xcode is available and use <command>xcrun</command> to resolve build tools like <command>clang</command>, etc. This causes errors like <code>xcode-select: error: no developer tools were found at '/Applications/Xcode.app'</code> while the build doesn't actually depend on xcode.
</para>
<programlisting>
stdenv.mkDerivation {
name = "libfoo-1.2.3";
# ...
prePatch = ''
substituteInPlace Makefile \
--replace '/usr/bin/xcrun clang' clang
'';
}
</programlisting>
<para>
The package <literal>xcbuild</literal> can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.
</para>
</listitem>
</itemizedlist>
</section>
</chapter>

View File

@ -186,6 +186,7 @@ in
k3s = handleTest ./k3s.nix {};
kafka = handleTest ./kafka.nix {};
keepalived = handleTest ./keepalived.nix {};
keepassxc = handleTest ./keepassxc.nix {};
kerberos = handleTest ./kerberos/default.nix {};
kernel-latest = handleTest ./kernel-latest.nix {};
kernel-lts = handleTest ./kernel-lts.nix {};

34
nixos/tests/keepassxc.nix Normal file
View File

@ -0,0 +1,34 @@
import ./make-test-python.nix ({ pkgs, ...} :
{
name = "keepassxc";
meta = with pkgs.lib.maintainers; {
maintainers = [ turion ];
};
machine = { ... }:
{
imports = [
./common/user-account.nix
./common/x11.nix
];
services.xserver.enable = true;
test-support.displayManager.auto.user = "alice";
environment.systemPackages = [ pkgs.keepassxc ];
};
enableOCR = true;
testScript = { nodes, ... }: ''
start_all()
machine.wait_for_x()
# start KeePassXC window
machine.execute("su - alice -c keepassxc &")
machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}")
machine.screenshot("KeePassXC")
'';
})

View File

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "coolreader";
version = "3.2.49";
version = "3.2.51";
src = fetchFromGitHub {
owner = "buggins";
repo = pname;
rev = "cr${version}";
sha256 = "10i3w4zjlilz3smjzbwm50d91ns3w0wlgmsf38fn2lv76zczv8ia";
sha256 = "sha256-rRWZHkuSNhAHwxKjpRgcNXO9vs/MDAgEuhRs8mRPjP4=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -34,6 +34,8 @@
, withKeePassNetworking ? true
, withKeePassTouchID ? true
, withKeePassFDOSecrets ? true
, nixosTests
}:
with lib;
@ -118,6 +120,8 @@ stdenv.mkDerivation rec {
wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC
'';
passthru.tests = nixosTests.keepassxc;
meta = {
description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications";
longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser).";

View File

@ -8,22 +8,22 @@
rustPlatform.buildRustPackage rec {
pname = "reddsaver";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "manojkarthick";
repo = "reddsaver";
rev = "v${version}";
sha256 = "0wiyzbl9vqx5aq3lpaaqkm3ivj77lqd8bmh8ipgshdflgm1z6yvp";
sha256 = "0kww3abgvxr7azr7yb8aiw28fz13qb4sn3x7nnz1ihmd4yczi9fg";
};
cargoSha256 = "0kw5gk7pf4xkmjffs2jxm6sc4chybns88cii2wlgpyvgn4c3cwaa";
cargoSha256 = "09xm22vgmd3dc0wr6n3jczxvhwpcsijwfbv50dz1lnsx57g8mgmd";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ]
++ lib.optional stdenv.isDarwin Security;
# package does not contain tests as of v0.3.0
# package does not contain tests as of v0.3.1
docCheck = false;
meta = with lib; {

View File

@ -41,11 +41,11 @@
stdenv.mkDerivation rec {
pname = "evolution";
version = "3.38.3";
version = "3.38.4";
src = fetchurl {
url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1kfshljvkpbh965rjlyy1qjjm0ic3rdxisyy9c5jjvv2qlk65b3z";
sha256 = "NB+S0k4rRMJ4mwA38aiU/xZUh9qksAuA+uMTii4Fr9Q=";
};
nativeBuildInputs = [

View File

@ -3,11 +3,11 @@
with lib;
stdenv.mkDerivation {
pname = "aliza";
version = "1.98.32";
version = "1.98.43";
src = fetchurl {
# See https://www.aliza-dicom-viewer.com/download
url = "https://drive.google.com/uc?export=download&id=1nggavPhY_633T-AW9PdkcAgbWtzv3QKG";
sha256 = "00vbgv8ca9ckgkicyyngrb01yhhcqc8hygg2bls7b44c47hcc8zz";
url = "https://drive.google.com/uc?export=download&id=1HiDYUVN30oSWZWt3HBp7gNRBCLLtJM1I";
sha256 = "0d70q67j2q0wdn4m2fxljqb97jwmscqgg3rm1rkb77fi2ik206ra";
name = "aliza.rpm";
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "gnome-getting-started-docs";
version = "3.38.0";
version = "3.38.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-getting-started-docs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0ficf4i4njqrx3dn5rdkvpvcys5mwfma4zkgfmfkq964jxpwzqvw";
sha256 = "EPviPyw85CdTmk4wekYWlNOHCyMgBGT3BbfYGvmTyFk=";
};
passthru = {

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "gleam";
version = "0.13.2";
version = "0.14.0";
src = fetchFromGitHub {
owner = "gleam-lang";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ka1GxukX3HR40fMeiiXHguyPKrpGngG2tXDColR7eQA=";
sha256 = "sha256-ujQ7emfGhzpRGeZ6RGZ57hFX4aIflTcwE9IEUMYb/ZI=";
};
nativeBuildInputs = [ pkg-config ];
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ] ++
lib.optionals stdenv.isDarwin [ Security ];
cargoSha256 = "sha256-/l54ezS68loljKNh7AdYMIuCiyIbsMI3jqD9ktjZLfc=";
cargoSha256 = "sha256-/SudEQynLkLl7Y731Uqm9AkEugTCnq4PFFRQcwz+qL8=";
meta = with lib; {
description = "A statically typed language for the Erlang VM";

View File

@ -55,7 +55,7 @@ assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
pname = "gtk4";
version = "4.0.2";
version = "4.0.3";
outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
outputBin = "dev";
@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
sha256 = "115w3mzwm1xsi1q85qvwfm2yxpsjs2rcajgddzbnwhjicyn0frv2";
sha256 = "18mJNyV5C1C9mjuyeIVtnVQ7RLa5uVHXtg573swTGJA=";
};
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "aqualogic";
version = "2.3";
version = "2.5";
src = fetchFromGitHub {
owner = "swilson";
repo = pname;
rev = version;
sha256 = "0101lni458y88yrw1wri3pz2cn5jlxln03pa3q2pxaybcyklb9qk";
sha256 = "sha256-yxd+A5dsB9gBwVlPNjz+IgDHKTktNky84bWZMhA/xa4=";
};
propagatedBuildInputs = [ pyserial ];

View File

@ -10,6 +10,7 @@
, six
, testresources
, wadllib
, pytestCheckHook
}:
buildPythonPackage rec {
@ -32,6 +33,8 @@ buildPythonPackage rec {
wadllib
];
checkInputs = [ pytestCheckHook ];
preCheck = ''
export HOME=$TMPDIR
'';
@ -41,7 +44,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Script Launchpad through its web services interfaces. Officially supported";
homepage = "https://help.launchpad.net/API/launchpadlib";
license = licenses.lgpl3;
license = licenses.lgpl3Only;
maintainers = [ maintainers.marsam ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "pyalmond";
version = "0.0.3";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "stanford-oval";
repo = pname;
rev = "v${version}";
sha256 = "0d1w83lr7k2wxcs846iz4mjyqn1ximnw6155kgl515v10fqyrhgk";
};
propagatedBuildInputs = [ aiohttp ];
# Tests require a running Almond instance
doCheck = false;
pythonImportsCheck = [ "pyalmond" ];
meta = with lib; {
description = "Python client for the Almond API";
homepage = "https://github.com/stanford-oval/pyalmond";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, pyjwt
, ratelimit
, pytz
, requests
, requests-mock
}:
buildPythonPackage rec {
pname = "pyflume";
version = "0.6.2";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "ChrisMandich";
repo = "PyFlume";
rev = "v${version}";
sha256 = "0i181c8722j831bjlcjwv5ccy20hl8zzlv7bfp8w0976gdmv4iz8";
};
propagatedBuildInputs = [
pyjwt
ratelimit
pytz
requests
];
checkInputs = [
requests-mock
pytestCheckHook
];
pythonImportsCheck = [ "pyflume" ];
meta = with lib; {
description = "Python module to work with Flume sensors";
homepage = "https://github.com/ChrisMandich/PyFlume";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "pymitv";
version = "1.4.3";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "0jbs1zhqpnsyad3pd8cqy1byv8m5bq17ydc6crmrfkjbp6xvvg3x";
};
propagatedBuildInputs = [ requests ];
# Projec thas no tests
doCheck = false;
pythonImportsCheck = [ "pymitv" ];
meta = with lib; {
description = "Python client the Mi Tv 3";
homepage = "https://github.com/simse/pymitv";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, requests
, responses
}:
buildPythonPackage rec {
pname = "python-twitch-client";
version = "0.7.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "tsifrer";
repo = pname;
rev = version;
sha256 = "10wwkam3dw0nqr3v9xzigx1zjlrnrhzr7jvihddvzi84vjb6j443";
};
propagatedBuildInputs = [ requests ];
checkInputs = [
pytestCheckHook
responses
];
pythonImportsCheck = [ "twitch" ];
meta = with lib; {
description = "Python wrapper for the Twitch API";
homepage = "https://github.com/tsifrer/python-twitch-client";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "pyvolumio";
version = "0.1.3";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "OnFreund";
repo = "PyVolumio";
rev = "v${version}";
sha256 = "0x2dzmd9lwnak2iy6v54y24qjq37y3nlfhsvx7hddgv8jj1klvap";
};
propagatedBuildInputs = [ aiohttp ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "pyvolumio" ];
meta = with lib; {
description = "Python module to control Volumio";
homepage = "https://github.com/OnFreund/PyVolumio";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "ratelimit";
version = "2.2.1";
src = fetchFromGitHub {
owner = "tomasbasham";
repo = pname;
rev = "v${version}";
sha256 = "04hy3hhh5xdqcsz0lx8j18zbj88kh5ik4wyi5d3a5sfy2hx70in2";
};
postPatch = ''
sed -i "/--cov/d" pytest.ini
'';
checkInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests" ];
pythonImportsCheck = [ "ratelimit" ];
meta = with lib; {
description = "Python API Rate Limit Decorator";
homepage = "https://github.com/tomasbasham/ratelimit";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, requests
}:
buildPythonPackage rec {
pname = "tahoma-api";
version = "0.0.17";
src = fetchFromGitHub {
owner = "philklei";
repo = pname;
rev = "v${version}";
sha256 = "sha256-YwOKSBlN4lNyS+hfdbQDUq1gc14FBof463ofxtUVLC4=";
};
propagatedBuildInputs = [ requests ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "tahoma_api" ];
meta = with lib; {
description = "Python module to interface with Tahoma REST API";
homepage = "https://github.com/philklei/tahoma-api/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, requests
}:
buildPythonPackage rec {
pname = "tuyaha";
version = "0.0.10";
src = fetchFromGitHub {
owner = "PaulAnnekov";
repo = pname;
rev = version;
sha256 = "0n08mqrz76zv1cyqky6ibs6im1fqcywkiyvfmfabml0vzvr43awf";
};
propagatedBuildInputs = [ requests ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "tuyaha" ];
meta = with lib; {
description = "Python module with the Tuya API";
homepage = "https://github.com/PaulAnnekov/tuyaha";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "wiffi";
version = "1.0.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "mampfes";
repo = "python-wiffi";
rev = version;
sha256 = "1bsx8dcmbkajh7hdgxg6wdnyxz4bfnd45piiy3yzyvszfdyvxw0f";
};
propagatedBuildInputs = [ aiohttp ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "wiffi" ];
meta = with lib; {
description = "Python module to interface with STALL WIFFI devices";
homepage = "https://github.com/mampfes/python-wiffi";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "xknx";
version = "0.16.3";
version = "0.17.0";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "XKNX";
repo = pname;
rev = version;
sha256 = "sha256-toB66woREkFUv3J14wwquRo+uAOgXKO+cwFgyw4Mma8=";
sha256 = "sha256-fzLqkeCfeLNu13R9cp1XVh8fE2B3L47UDpuWOod33gU=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,32 @@
{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "enigma";
version = "1.30-alpha";
src = fetchurl {
url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/${pname}-${version}.tar.gz";
sha256 = "1zyk3j43gzfr1lhc6g13j7qai5f33fv5xm5735nnznaqvaz17949";
};
nativeBuildInputs = [ pkg-config gettext makeWrapper imagemagick ];
buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng xercesc curl xdg-utils ];
# For some reason (might be related to the alpha status), some includes
# which are required by lib-src/enigma-core are not picked up by the
# configure script. Hence we add them manually.
CPPFLAGS = "-I${SDL2.dev}/include/SDL2 -I${SDL2_ttf}/include/SDL2 -I${SDL2_image}/include/SDL2 -I${SDL2_mixer}/include/SDL2";
postInstall = ''
rm -r $out/include
wrapProgram $out/bin/enigma --prefix PATH : "${lib.makeBinPath [ xdg-utils ]}"
'';
meta = with lib; {
description = "Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga";
license = with licenses; [ gpl2 free ]; # source + bundles libs + art
platforms = platforms.unix;
broken = stdenv.targetPlatform.isDarwin;
maintainers = with maintainers; [ iblech ];
homepage = "https://www.nongnu.org/enigma/";
};
}

View File

@ -23,7 +23,7 @@
"alarmdecoder" = ps: with ps; [ adext ];
"alert" = ps: with ps; [ ];
"alexa" = ps: with ps; [ aiohttp-cors ];
"almond" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pyalmond
"almond" = ps: with ps; [ aiohttp-cors pyalmond ];
"alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage
"amazon_polly" = ps: with ps; [ boto3 ];
"ambiclimate" = ps: with ps; [ aiohttp-cors ambiclimate ];
@ -264,7 +264,7 @@
"flick_electric" = ps: with ps; [ ]; # missing inputs: PyFlick
"flo" = ps: with ps; [ aioflo ];
"flock" = ps: with ps; [ ];
"flume" = ps: with ps; [ ]; # missing inputs: pyflume
"flume" = ps: with ps; [ pyflume ];
"flunearyou" = ps: with ps; [ ]; # missing inputs: pyflunearyou
"flux" = ps: with ps; [ ];
"flux_led" = ps: with ps; [ flux-led ];
@ -815,7 +815,7 @@
"systemmonitor" = ps: with ps; [ psutil ];
"tado" = ps: with ps; [ python-tado ];
"tag" = ps: with ps; [ ];
"tahoma" = ps: with ps; [ ]; # missing inputs: tahoma-api
"tahoma" = ps: with ps; [ tahoma-api ];
"tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
"tankerkoenig" = ps: with ps; [ ]; # missing inputs: pytankerkoenig
"tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
@ -865,13 +865,13 @@
"travisci" = ps: with ps; [ ]; # missing inputs: TravisPy
"trend" = ps: with ps; [ numpy ];
"tts" = ps: with ps; [ aiohttp-cors mutagen ];
"tuya" = ps: with ps; [ ]; # missing inputs: tuyaha
"tuya" = ps: with ps; [ tuyaha ];
"twentemilieu" = ps: with ps; [ ]; # missing inputs: twentemilieu
"twilio" = ps: with ps; [ aiohttp-cors twilio ];
"twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
"twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
"twinkly" = ps: with ps; [ ]; # missing inputs: twinkly-client
"twitch" = ps: with ps; [ ]; # missing inputs: python-twitch-client
"twitch" = ps: with ps; [ python-twitch-client ];
"twitter" = ps: with ps; [ ]; # missing inputs: TwitterAPI
"ubus" = ps: with ps; [ ];
"ue_smart_radio" = ps: with ps; [ ];
@ -911,7 +911,7 @@
"vlc_telnet" = ps: with ps; [ ]; # missing inputs: python-telnet-vlc
"voicerss" = ps: with ps; [ ];
"volkszaehler" = ps: with ps; [ volkszaehler ];
"volumio" = ps: with ps; [ ]; # missing inputs: pyvolumio
"volumio" = ps: with ps; [ pyvolumio ];
"volvooncall" = ps: with ps; [ ]; # missing inputs: volvooncall
"vultr" = ps: with ps; [ vultr ];
"w800rf32" = ps: with ps; [ ]; # missing inputs: pyW800rf32
@ -928,7 +928,7 @@
"websocket_api" = ps: with ps; [ aiohttp-cors ];
"wemo" = ps: with ps; [ ]; # missing inputs: pywemo
"whois" = ps: with ps; [ python-whois ];
"wiffi" = ps: with ps; [ ]; # missing inputs: wiffi
"wiffi" = ps: with ps; [ wiffi ];
"wilight" = ps: with ps; [ pywilight ];
"wink" = ps: with ps; [ aiohttp-cors pubnubsub-handler python-wink ];
"wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy
@ -950,7 +950,7 @@
"xiaomi" = ps: with ps; [ ha-ffmpeg ];
"xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors netdisco zeroconf ];
"xiaomi_miio" = ps: with ps; [ construct python-miio ];
"xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
"xiaomi_tv" = ps: with ps; [ pymitv ];
"xmpp" = ps: with ps; [ slixmpp ];
"xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
"yale_smart_alarm" = ps: with ps; [ yalesmartalarmclient ];

View File

@ -1,21 +1,21 @@
{ mkDerivation, ansi-terminal, async, attoparsec, base, containers
, directory, HUnit, mtl, nix-derivation, process, relude, lib
, stm, text, time, unix, fetchFromGitHub
, cassava, directory, HUnit, mtl, nix-derivation, process, relude, lib
, stm, terminal-size, text, time, unix, wcwidth, fetchFromGitHub
}:
mkDerivation {
pname = "nix-output-monitor";
version = "0.1.0.2";
version = "1.0.1.0";
src = fetchFromGitHub {
owner = "maralorn";
repo = "nix-output-monitor";
sha256 = "0r4348cbmnpawbfa20qw3wnywiqp0jkl5svzl27jrm2yk2g51509";
rev = "5bf7534";
sha256 = "10a3sn5isdb9q13yzdclng35jwfaf4lxrkdxwbhwms1k2ll08qk6";
rev = "1.0.1.0";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ansi-terminal async attoparsec base containers directory mtl
nix-derivation relude stm text time unix
ansi-terminal async attoparsec base cassava containers directory mtl
nix-derivation relude stm terminal-size text time unix wcwidth
];
executableHaskellDepends = [
ansi-terminal async attoparsec base containers directory mtl

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "gdu";
version = "4.6.2";
version = "4.6.3";
src = fetchFromGitHub {
owner = "dundee";
repo = pname;
rev = "v${version}";
sha256 = "sha256-q26NnHSnJ8vVWHwXtFJ90/8xr772x/gW6BRG29wsIeI=";
sha256 = "sha256-vz8qqsFc1CETnrqStLyiGZ6w0jy+y5GlwQQgxdyJ5aY=";
};
vendorSha256 = "sha256-kIMd0xzQ+c+jCpX2+qdD/GcFEirR15PMInbEV184EBU=";

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "tre-command";
version = "0.3.3";
version = "0.3.4";
src = fetchFromGitHub {
owner = "dduan";
repo = "tre";
rev = "v${version}";
sha256 = "10c8mpqzpw7m3vrm2vl2rx678z3c37hxpqyh3fn83dlh9f4f0j87";
sha256 = "0syvhpnw9c5csxv8c4gdfwif9a9vl4rjkwj4mfglgxk227k1y53q";
};
cargoSha256 = "0jd6cfs2zi2n34kirpsy12l76whaqwm1pkqa57w1ms5z658z07wj";
cargoSha256 = "056wlxz8hzky8315rnn65nh7dd2yhx5323y3hq64g6aqj52vd734";
nativeBuildInputs = [ installShellFiles ];

View File

@ -2263,6 +2263,8 @@ in
enca = callPackage ../tools/text/enca { };
enigma = callPackage ../games/enigma {};
ent = callPackage ../tools/misc/ent { };
envconsul = callPackage ../tools/system/envconsul { };

View File

@ -5231,6 +5231,8 @@ in {
pyalgotrade = callPackage ../development/python-modules/pyalgotrade { };
pyalmond = callPackage ../development/python-modules/pyalmond { };
pyamf = callPackage ../development/python-modules/pyamf { };
pyamg = callPackage ../development/python-modules/pyamg { };
@ -5462,6 +5464,8 @@ in {
pyflakes = callPackage ../development/python-modules/pyflakes { };
pyflume = callPackage ../development/python-modules/pyflume { };
pyfma = callPackage ../development/python-modules/pyfma { };
pyfribidi = callPackage ../development/python-modules/pyfribidi { };
@ -5694,6 +5698,8 @@ in {
pymetno = callPackage ../development/python-modules/pymetno { };
pymitv = callPackage ../development/python-modules/pymitv { };
pymodbus = callPackage ../development/python-modules/pymodbus { };
pymongo = callPackage ../development/python-modules/pymongo { };
@ -6487,6 +6493,8 @@ in {
python-toolbox = callPackage ../development/python-modules/python-toolbox { };
python-twitch-client = callPackage ../development/python-modules/python-twitch-client { };
python-twitter = callPackage ../development/python-modules/python-twitter { };
python-u2flib-host = callPackage ../development/python-modules/python-u2flib-host { };
@ -6600,6 +6608,8 @@ in {
pyvmomi = callPackage ../development/python-modules/pyvmomi { };
pyvolumio = callPackage ../development/python-modules/pyvolumio { };
pyvoro = callPackage ../development/python-modules/pyvoro { };
pywal = callPackage ../development/python-modules/pywal { };
@ -6739,6 +6749,8 @@ in {
rasterio = callPackage ../development/python-modules/rasterio { gdal = pkgs.gdal_2; }; # gdal 3.0 not supported yet
ratelimit = callPackage ../development/python-modules/ratelimit { };
ratelimiter = callPackage ../development/python-modules/ratelimiter { };
raven = callPackage ../development/python-modules/raven { };
@ -7679,6 +7691,8 @@ in {
tag-expressions = callPackage ../development/python-modules/tag-expressions { };
tahoma-api = callPackage ../development/python-modules/tahoma-api { };
tarman = callPackage ../development/python-modules/tarman { };
tasklib = callPackage ../development/python-modules/tasklib { };
@ -7983,6 +7997,8 @@ in {
tumpa = callPackage ../development/python-modules/tumpa { };
tuyaha = callPackage ../development/python-modules/tuyaha { };
tvdb_api = callPackage ../development/python-modules/tvdb_api { };
tvnamer = callPackage ../development/python-modules/tvnamer { };
@ -8356,6 +8372,8 @@ in {
widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
wiffi = callPackage ../development/python-modules/wiffi { };
willow = callPackage ../development/python-modules/willow { };
winacl = callPackage ../development/python-modules/winacl { };