Merge master into staging-next

This commit is contained in:
github-actions[bot]
2023-01-19 00:02:15 +00:00
committed by GitHub
27 changed files with 245 additions and 231 deletions
+19 -19
View File
@@ -1,13 +1,13 @@
# Haskell {#haskell}
The Haskell infrastructure in nixpkgs has two main purposes: The primary purpose
The Haskell infrastructure in Nixpkgs has two main purposes: The primary purpose
is to provide a Haskell compiler and build tools as well as infrastructure for
packaging Haskell-based packages.
The secondary purpose is to provide support for Haskell development environment
The secondary purpose is to provide support for Haskell development environments
including prebuilt Haskell libraries. However, in this area sacrifices have been
made due to self-imposed restrictions in nixpkgs, to lessen the maintenance
effort and improve performance. (More details in the subsection
made due to self-imposed restrictions in Nixpkgs, to lessen the maintenance
effort and to improve performance. (More details in the subsection
[Limitations.](#haskell-limitations))
## Available packages {#haskell-available-packages}
@@ -18,17 +18,17 @@ The compiler and most build tools are exposed at the top level:
* Language specific tools: `cabal-install`, `stack`, `hpack`, …
Many “normal” user facing packages written in Haskell, like `niv` or `cachix`,
are also exposed at the top level, so there is nothing haskell specific to
are also exposed at the top level, and there is nothing Haskell specific to
installing and using them.
All of these packages originally are defined in the `haskellPackages` package
All of these packages are originally defined in the `haskellPackages` package
set and are re-exposed with a reduced dependency closure for convenience.
(see `justStaticExecutables` below)
The `haskellPackages` set includes at least one version of every package from
Hackage as well as some manually injected packages. This amounts to a lot of
packages, so it is hidden from `nix-env -qa` by default for performance reasons.
You can still list all packages in the set like this, though:
You can still list all packages in the set like this:
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskellPackages
@@ -39,22 +39,22 @@ haskellPackages.abacate abac
haskellPackages.abc-puzzle abc-puzzle-0.2.1
```
Also the default set `haskellPackages` is included on [search.nixos.org].
Also, the `haskellPackages` set is included on [search.nixos.org].
The attribute names in `haskellPackages` always correspond with their name on
Hackage. Since Hackage allows names that are not valid Nix without extra
escaping, you sometimes need to extra care when handling attribute names like
`3dmodels`.
Hackage. Since Hackage allows names that are not valid Nix without escaping,
you need to take care when handling attribute names like `3dmodels`.
For packages that are part of [Stackage], we use the version prescribed by a
Stackage solver (usually the current LTS one) as the default version. For all
other packages we use the latest version from Hackage. See
[below](#haskell-available-versions) to learn which versions exactly are provided.
[below](#haskell-available-versions) to learn which versions are provided
exactly.
Roughly half of the 16K packages contained in `haskellPackages` don't actually
build and are marked as broken semi-automatically. Most of those packages are
deprecated or unmaintained, but sometimes packages that should, don't build.
Very often fixing them is not a lot of work.
deprecated or unmaintained, but sometimes packages that should build, do not
build. Very often fixing them is not a lot of work.
<!--
TODO(@sternenseemann):
@@ -101,11 +101,11 @@ haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.7.20221224
haskell.compiler.ghcjs ghcjs-8.10.7
```
Every of those compilers has a corresponding attribute set built completely
using it. However, the non-standard package sets are not tested regularly and
have less working packages as a result. The corresponding package set for GHC
9.4.4 is `haskell.packages.ghc944` (in fact `haskellPackages` is just an alias
for `haskell.packages.ghc924`):
Each of those compiler versions has a corresponding attribute set built using
it. However, the non-standard package sets are not tested regularly and, as a
result, contain fewer working packages. The corresponding package set for GHC
9.4.4 is `haskell.packages.ghc944`. In fact `haskellPackages` is just an alias
for `haskell.packages.ghc924`:
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskell.packages.ghc924
@@ -14,6 +14,10 @@
documentation.man.enable = lib.mkOverride 500 true;
# Although we don't really need HTML documentation in the minimal installer,
# not including it may cause annoying cache misses in the case of the NixOS manual.
documentation.doc.enable = lib.mkOverride 500 true;
fonts.fontconfig.enable = lib.mkForce false;
isoImage.edition = lib.mkForce "minimal";
@@ -27,6 +27,8 @@ lib.makeScope newScope (self: with self; {
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
mopidy-notify = callPackage ./notify.nix { };
mopidy-podcast = callPackage ./podcast.nix { };
mopidy-scrobbler = callPackage ./scrobbler.nix { };
+29
View File
@@ -0,0 +1,29 @@
{ lib, pythonPackages, mopidy }:
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Notify";
version = "0.2.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "sha256-lzZupjlS0kbNvsn18serOoMfu0sRb0nRwpowvOPvt/g=";
};
propagatedBuildInputs = [
mopidy
pythonPackages.pydbus
];
nativeBuildInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_notify" ];
meta = with lib; {
homepage = "https://github.com/phijor/mopidy-notify";
description = "Mopidy extension for showing desktop notifications on track change";
license = licenses.asl20;
maintainers = with maintainers; [ lilyinstarlight ];
};
}
@@ -1,19 +1,17 @@
{ lib
, trivial-build
{ trivialBuild
, fetchurl
}:
trivial-build {
name = "perl-completion";
trivialBuild {
pname = "perl-completion";
src = fetchurl {
url = "http://emacswiki.org/emacs/download/perl-completion.el";
sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
};
dontUnpack = true;
meta = {
broken = true;
description = "Minor mode provides useful features for editing perl codes";
homepage = "http://emacswiki.org/emacs/PerlCompletion";
};
@@ -474,6 +474,15 @@ self: super: {
# https://github.com/kkardzis/curlhs/issues/6
curlhs = dontCheck super.curlhs;
# curl 7.87.0 introduces a preprocessor typechecker of sorts which fails on
# incorrect usages of curl_easy_getopt and similar functions. Presumably
# because the wrappers in curlc.c don't use static values for the different
# arguments to curl_easy_getinfo, it complains and needs to be disabled.
# https://github.com/GaloisInc/curl/issues/28
curl = appendConfigureFlags [
"--ghc-option=-DCURL_DISABLE_TYPECHECK"
] super.curl;
# https://github.com/hvr/token-bucket/issues/3
token-bucket = dontCheck super.token-bucket;
+10 -1
View File
@@ -36,7 +36,16 @@ let
optional crossCompiling "mini";
setOutputFlags = false;
propagatedBuildInputs = lib.optional enableCrypt libxcrypt;
# On FreeBSD, if Perl is built with threads support, having
# libxcrypt available will result in a build failure, because
# perl.h will get conflicting definitions of struct crypt_data
# from libc's unistd.h and libxcrypt's crypt.h.
#
# FreeBSD Ports has the same issue building the perl port if
# the libxcrypt port has been installed.
#
# Without libxcrypt, Perl will still find FreeBSD's crypt functions.
propagatedBuildInputs = lib.optional (enableCrypt && !stdenv.isFreeBSD) libxcrypt;
disallowedReferences = [ stdenv.cc ];
@@ -1,16 +1,16 @@
{ stdenv, lib, fetchFromGitHub, buildGoModule, fetchpatch }:
buildGoModule rec {
pname = "starlark";
version = "unstable-2022-08-17";
version = "unstable-2023-01-12";
src = fetchFromGitHub {
owner = "google";
repo = "starlark-go";
rev = "f738f5508c12fe5a9fae44bbdf07a94ddcf5030e";
sha256 = "sha256-nkQxwdP/lXEq5iiGy17mUTSMG6XiKAUJYfMDgbr10yM=";
rev = "fae38c8a6d89dc410be86b76dfff475b29dba878";
hash = "sha256-7J2bYA84asWvwSOYEr+K9ZuR2ytR9XhGaSEJKxHimYI=";
};
vendorSha256 = "sha256-Kcjtaef//7LmUAIViyKv3gTK7kjynwJ6DwgGJ+pdbfM=";
vendorHash = "sha256-AvZh7IqRRAAOG10rLodHLNSuTIQHXPTJkRXsAhZGNe0=";
ldflags = [ "-s" "-w" ];
@@ -2,11 +2,11 @@
tcl.mkTclDerivation rec {
pname = "bwidget";
version = "1.9.14";
version = "1.9.16";
src = fetchurl {
url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
sha256 = "0wm6hk3rnqhnn2cyw24drqwbfnysp6jyfi8lc1vih5k704a955lf";
sha256 = "sha256-v+ADY3S4QpPSNiCn9t2oZXGBPQx63+2YPB8zflzoGuA=";
};
dontBuild = true;
+9 -11
View File
@@ -2,31 +2,29 @@
stdenv.mkDerivation rec {
pname = "ogdf";
version = "2020.02";
version = "2022.02";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "catalpa-202002";
sha256 = "0drrs8zh1097i5c60z9g658vs9k1iinkav8crlwk722ihfm1vxqd";
rev = "dogwood-202202";
sha256 = "sha256-zkQ6sS0EUmiigv3T7To+tG3XbFbR3XEbFo15oQ0bWf0=";
};
nativeBuildInputs = [ cmake doxygen ];
cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-fPIC" ];
# Without disabling hardening for format, the build fails with
# the following error.
#> /build/source/src/coin/CoinUtils/CoinMessageHandler.cpp:766:35: error: format not a string literal and no format arguments [-Werror=format-security]
#> 766 | sprintf(messageOut_,format_+2);
hardeningDisable = [ "format" ];
cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-fPIC"
"-DBUILD_SHARED_LIBS=ON"
"-DOGDF_WARNING_ERRORS=OFF"
];
meta = with lib; {
description = "Open Graph Drawing Framework/Open Graph algorithms and Data structure Framework";
homepage = "http://www.ogdf.net";
license = licenses.gpl2;
maintainers = [ maintainers.ianwookim ];
platforms = platforms.i686 ++ platforms.x86_64;
platforms = platforms.all;
longDescription = ''
OGDF stands both for Open Graph Drawing Framework (the original name) and
Open Graph algorithms and Data structures Framework.
@@ -14,16 +14,15 @@
buildPythonPackage rec {
pname = "jaraco-test";
version = "5.2.0";
version = "5.3.0";
format = "pyproject";
disabled = pythonOlder "3.7";
format = "pyproject";
src = fetchPypi {
pname = "jaraco.test";
inherit version;
sha256 = "sha256-K1OYx58TriCKoGfdLlEw3ArC699DR5w9r7bxLz2bdIs=";
hash = "sha256-f2f8xTlTgXGCPlqp+dA04ulRLOTzVNEb39hNtytGHUA=";
};
nativeBuildInputs = [
@@ -43,12 +42,15 @@ buildPythonPackage rec {
pytestCheckHook
];
pythonImportsCheck = [ "jaraco.test" ];
pythonImportsCheck = [
"jaraco.test"
];
meta = {
meta = with lib; {
description = "Testing support by jaraco";
homepage = "https://github.com/jaraco/jaraco.test";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
changelog = "https://github.com/jaraco/jaraco.test/blob/v${version}/CHANGES.rst";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
}
@@ -1,21 +1,29 @@
{ lib
, isPy3k
, fetchPypi
, buildPythonPackage }:
, buildPythonPackage
, pythonOlder
}:
buildPythonPackage rec {
pname = "mistletoe";
version = "0.9.0";
disabled = !isPy3k;
version = "1.0.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-PLlteCJtCPDTvwnvyvMw0jkCSSAG4YssBlWOi4a/f68=";
hash = "sha256-+g6cV+IFDP1orjBOT5xeHmk1dMxf2DI9szRSlJ1oJmE=";
};
pythonImportsCheck = [
"mistletoe"
];
meta = with lib; {
description = "A fast, extensible Markdown parser in pure Python.";
description = "Fast and extensible Markdown parser";
homepage = "https://github.com/miyuchina/mistletoe";
changelog = "https://github.com/miyuchina/mistletoe/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ eadwu ];
};
@@ -4,13 +4,13 @@ let
in
stdenv.mkDerivation rec {
pname = "sumneko-lua-language-server";
version = "3.6.4";
version = "3.6.5";
src = fetchFromGitHub {
owner = "sumneko";
repo = "lua-language-server";
rev = version;
sha256 = "sha256-46Fni1SWsbYnPdntgq6mgqkZ8DCKXGBhTBzSAD2EG5M=";
sha256 = "sha256-4/RRE9IB/qy8YszPzEvrBVLi1X0XCNh+lJYwMXTTD1I=";
fetchSubmodules = true;
};
@@ -12,59 +12,48 @@
let
phpMajor = lib.versions.majorMinor php.version;
soFile = {
"7.4" = "blackfire-20190902";
"8.0" = "blackfire-20200930";
"8.1" = "blackfire-20210902";
}.${phpMajor} or (throw "Unsupported PHP version.");
version = "1.84.0";
version = "1.86.3";
hashes = {
"x86_64-linux" = {
system = "amd64";
sha256 = "4tAqe1ev2s4ZwzPptgXuVL4ZXF37ieGyonBxOFMUKTs=";
sha256 = {
"8.0" = "Vl16ssG+47CvGNTQBR6aNkEzoSor7B8F71TSN3x2bm0=";
"8.1" = "27yLfDJYTQ3Izr8M6XFEsEWb7WDmuKjKCdSCPfL9HUw=";
"8.2" = "tnxlB+Tq8qeRoHjBNl/CMI0UZb02ayssiRJSMZaTwWI=";
};
};
"i686-linux" = {
system = "i386";
sha256 = "OPvn1zcBJDfUu7m3evRayVZNuZJ/KLblm6u4P0z0CvU=";
sha256 = {
"8.0" = "NF5R470FC/nrAvk57Y3wStT4EQrWCvntniD9rD1Fv/Y=";
"8.1" = "aAl+oX0QfL6wStUrrhB44JHqAvA4ZLbc3dQyRHJbcNU=";
"8.2" = "SWAC9XlJs1vNWnDWeuXHPOMQoA5kCqiSrWxNpRcXHns=";
};
};
"aarch64-linux" = {
system = "arm64";
sha256 = "5P6tVYshPsR4Xl8sCYFuNIRf8LvE6PxWpynP3ZzoP0s=";
sha256 = {
"8.0" = "jrTCMkJWzPzzJU7eET+VCwKaiRPqcQKPPIJZrLAuJ6s=";
"8.1" = "WjomQa3+27mW8tR5u++LyVDtyNa7Bj8uS3FHsmdsafo=";
"8.2" = "3SGtZkKosxKsJ/qTlP7BFpnroOTRaWFsvDHq1fK1UBE=";
};
};
"aarch64-darwin" = {
system = "arm64";
sha256 = {
"7.4" = {
normal = "wNv5LiCbkiyPQFH1jr4Aw4kjHnpqxPa427H4nzNkE8A=";
zts = "FmvzFtukFZPqOz6wkFEtXrb+H8A9bb6ZqeEN9jjtwOQ=";
};
"8.0" = {
normal = "tEGMtQf/K5x+dTEd067nhalezmWLKf1A4hM7HM1iwNE=";
zts = "ivbcoqM2U4Zh86+AAml8bHQEn1731A9XsCqW8ai6oKg=";
};
"8.1" = {
normal = "9GFqlGS2qZWSUoOyYb86RyFdUx2AkQlcq6N2cWHFQ2s=";
zts = "KnxJUxenPxPw0Mo6GdtyLpPN06/K0cSHk2cf7Akf3BE=";
};
"8.0" = "MDPgDfIOfjr/VMGrxj7159xJl6P3jPYgoNOkISZBmX4=";
"8.1" = "zV5gjpA9tNGo/p/Is8n8WfGyIdb/IQDbfH1KuD8S4s8=";
"8.2" = "+zwX3r9X/avQvcmNtt5RT3smY+4yfXFo8XPCiV9xWT4=";
};
};
"x86_64-darwin" = {
system = "amd64";
sha256 = {
"7.4" = {
normal = "s6aS3INNzOMIV0qW5ROrjX68obnixsOZ4ktnDb/3dGo=";
zts = "4OdHSLLMo9tSVQnaTYfzogeloYPvHxbHhQgACo2V7zA=";
};
"8.0" = {
normal = "JZ6ITbzW7nHmJEQv2KXKPjU9wkY7mH6+tFRJFhJw7ug=";
zts = "x/uP64Ec2tvUylmnWfxsqJMUNlVsFnrxK3CWHdXfgus=";
};
"8.1" = {
normal = "foK+vRwM6PHgToYiPVZIXde18jYJ3bV0Gz23bNS1UYg=";
zts = "LhaaUhOSnAPqHn7LqPgq2UOkS/MoY3CHcpGoFeh+hyo=";
};
"8.0" = "wEsbQrowYgOlbWUkv+yPtPliC9b/iIUXBsvrCXCL6aM=";
"8.1" = "zl7OX3LlBLxn0oLYlNbVavxL4rho4LS3EZmAB2x6zZs=";
"8.2" = "fYGIDxNeBx+HyPx9lhfNZgKUeMJwZ4KvUcJ4jtwH5nQ=";
};
};
};
@@ -73,22 +62,16 @@ let
{
system,
phpMajor,
ztsSupport,
}:
let
isLinux = builtins.match ".+-linux" system != null;
in
assert !isLinux -> (phpMajor != null && ztsSupport != null);
assert !isLinux -> (phpMajor != null);
fetchurl {
url =
if isLinux
then "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_${hashes.${system}.system}.deb"
else "https://packages.blackfire.io/homebrew/blackfire-php_${version}-darwin_${hashes.${system}.system}-php${builtins.replaceStrings ["."] [""] phpMajor}${lib.optionalString ztsSupport "-zts"}.tar.gz";
sha256 =
if isLinux
then hashes.${system}.sha256
else hashes.${system}.sha256.${phpMajor}.${if ztsSupport then "zts" else "normal"};
"https://packages.blackfire.io/binaries/blackfire-php/${version}/blackfire-php-${if isLinux then "linux" else "darwin"}_${hashes.${system}.system}-php-${builtins.replaceStrings [ "." ] [ "" ] phpMajor}.so";
sha256 = hashes.${system}.sha256.${phpMajor};
};
self = stdenv.mkDerivation rec {
pname = "php-blackfire";
@@ -98,33 +81,21 @@ self = stdenv.mkDerivation rec {
src = makeSource {
system = stdenv.hostPlatform.system;
inherit phpMajor;
inherit (php) ztsSupport;
inherit (php);
};
nativeBuildInputs = lib.optionals stdenv.isLinux [
dpkg
autoPatchelfHook
];
setSourceRoot = if stdenv.isDarwin then "sourceRoot=`pwd`" else null;
setSourceRoot = "sourceRoot=`pwd`";
unpackPhase = if stdenv.isLinux then ''
runHook preUnpack
dpkg-deb -x $src pkg
sourceRoot=pkg
runHook postUnpack
'' else null;
dontUnpack = true;
installPhase = ''
runHook preInstall
if ${ lib.boolToString stdenv.isLinux }
then
install -D usr/lib/blackfire-php/*/${soFile}${lib.optionalString php.ztsSupport "-zts"}.so $out/lib/php/extensions/blackfire.so
else
install -D blackfire.so $out/lib/php/extensions/blackfire.so
fi
install -D ${src} $out/lib/php/extensions/blackfire.so
runHook postInstall
'';
@@ -168,11 +139,6 @@ self = stdenv.mkDerivation rec {
if builtins.length rest == 0
then null
else builtins.head rest;
ztsSupport =
if builtins.length rest == 0
then null
else
builtins.head (builtins.tail rest) == "zts";
};
createUpdateable =
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "oh-my-posh";
version = "13.0.0";
version = "13.1.2";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-xsB7olfsrcgjxqNPOGiV9umtXoTtaM5E+/LTQEVLzZM=";
hash = "sha256-/of1jeyHdVyXJ5O8aAN/InaJ5CtCPVFUTk96Q9n5Gr4=";
};
vendorHash = "sha256-WiH4qu8DODEhAkxUm6VDcBwFyQO7kNjaiaWPDHCHj9E=";
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "flyctl";
version = "0.0.447";
version = "0.0.450";
src = fetchFromGitHub {
owner = "superfly";
repo = "flyctl";
rev = "v${version}";
sha256 = "sha256-JJk3lNNRzIrU/z45ePUin10gEW5KLvcPRy+NzcMHYRs=";
sha256 = "sha256-UfqjrWzpi1axud4MkrJxIwq1vzqHZ0qAvI1kNh/tywY=";
};
vendorHash = "sha256-xmad9HdcWr4BiMMfdO6Ua1nqpFCsFoLvtDfcKiRZYVM=";
vendorHash = "sha256-ljyaF6Yz3bz5vjwZfDgYBb3o2l90YnV5DgolaDH3B9o=";
subPackages = [ "." ];
+3 -3
View File
@@ -2,14 +2,14 @@
buildGoModule rec {
pname = "vikunja-api";
version = "0.19.2";
version = "0.20.1";
src = fetchFromGitea {
domain = "kolaente.dev";
owner = "vikunja";
repo = "api";
rev = "v${version}";
sha256 = "sha256-KI/RgtyjO+LdsoZ0JMo7xHeINpUAd5nDvd/WiWYEA6c=";
sha256 = "sha256-KBUN/vBm2st5mfqmrwUv8w4QcgSKerfY51LQbWRn7To=";
};
nativeBuildInputs =
@@ -24,7 +24,7 @@ buildGoModule rec {
'';
in [ fakeGit mage ];
vendorSha256 = "sha256-ZEmZeIB+uL1/JWEfBd7gZuGNF95pdiJfu5+FY2+sL64=";
vendorSha256 = "sha256-ke4jhOhD24zSpQI1nxKoJ05yN/SfCku+wiNuDKr78rw=";
# checks need to be disabled because of needed internet for some checks
doCheck = false;
+2 -2
View File
@@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "vikunja-frontend";
version = "0.19.1";
version = "0.20.2";
src = fetchurl {
url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
sha256 = "sha256-Kf55M1m/NBQhgaul/4seDMdPFU8jhgOwTNAzdgVg2OQ=";
sha256 = "sha256-7WvitR40eJPPdqwZm8C7spvEIdFIY3SGc/w4VY7spgk=";
};
nativeBuildInputs = [ unzip ];
+3 -3
View File
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "gh-dash";
version = "3.5.1";
version = "3.6.0";
src = fetchFromGitHub {
owner = "dlvhdr";
repo = "gh-dash";
rev = "v${version}";
sha256 = "sha256-MGdo145qdm/uOiVJfuxy1vblgJjPGQWf3i58xpAWIkQ=";
sha256 = "sha256-pQd41uQdfkbqIjdUIwUnKS/Qso495Ips8P2CXPd8JRU=";
};
vendorSha256 = "sha256-66GxD48fCWUWMyZ3GiivWNtz0mgI4JHMcvNwHGFTRfU=";
vendorHash = "sha256-66GxD48fCWUWMyZ3GiivWNtz0mgI4JHMcvNwHGFTRfU=";
ldflags = [ "-s" "-w" ];
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "ytfzf";
version = "2.5.3";
version = "2.5.4";
src = fetchFromGitHub {
owner = "pystardust";
repo = "ytfzf";
rev = "v${version}";
hash = "sha256-01F3JSpA/SjAZWmXPftT/EvGlLVM3U/zLyABREgePi8=";
hash = "sha256-AouOckRrPdIzwfn6s7GXu3U9PrihcyPpt6Xb41dq1zg=";
};
nativeBuildInputs = [ makeWrapper ];
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gotrue";
version = "2.40.2";
version = "2.41.0";
src = fetchFromGitHub {
owner = "supabase";
repo = pname;
rev = "v${version}";
hash = "sha256-y2YQDgILH9JRsSjVaGDtwKXdWhTF/Idq6TPytnxsPyE=";
hash = "sha256-LqVFKpDlUqkjurFmeZ2YCuF3W1V3R5Dnw/5k1O0qjSc=";
};
vendorHash = "sha256-3dXfg9tblPx9V5LzzVm3UtCwGcPIAm2MaKm9JQi69mU=";
+3 -3
View File
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "nuclei";
version = "2.8.6";
version = "2.8.7";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = pname;
rev = "v${version}";
hash = "sha256-hK5l/uDZ0KbpPH14wkFuZL72ssmawINhX3ICgGItx4U=";
hash = "sha256-kEc56cT8EgrQ8qHRHcVjf8L+DwFeK4UDEXhGqs24lJM=";
};
vendorHash = "sha256-GqOuEEYHJRzxPb/i4w913srRv1ckHI0WVNR20eJqE7Q=";
vendorHash = "sha256-cEgJOL4qpbxdWBwGzVviI/+3Exe746Mu749vtrSjOVU=";
modRoot = "./v2";
subPackages = [
@@ -0,0 +1,55 @@
diff --git a/cursive/Cargo.toml b/cursive/Cargo.toml
index 8cc0c1e..815c170 100644
--- a/cursive/Cargo.toml
+++ b/cursive/Cargo.toml
@@ -20,8 +20,9 @@ gettext = "0.4.0"
lazy_static = "1.4.0"
toml = "0.5.9"
term_size = "0.3.2"
-wl-clipboard-rs = "0.7.0"
hex = "0.4.3"
+[target.'cfg(target_os = "linux")'.dependencies]
+wl-clipboard-rs = "0.7.0"
[dependencies.config]
version = "0.11.0"
diff --git a/cursive/src/helpers.rs b/cursive/src/helpers.rs
index 7c2f733..9d63760 100644
--- a/cursive/src/helpers.rs
+++ b/cursive/src/helpers.rs
@@ -23,6 +23,7 @@ use cursive::{
};
use pass::Result;
use ripasso::{crypto::CryptoImpl, pass};
+#[cfg(target_os = "linux")]
use wl_clipboard_rs::copy::{MimeType, Options, Source};
/// Displays an error in a cursive dialog
@@ -48,7 +49,8 @@ pub fn errorbox(ui: &mut Cursive, err: &pass::Error) {
/// Copies content to the clipboard.
/// It first tries to copy to a wayland clipboard, and if that's not availible due to that the
-/// user runs x11/mac/windows we instead try the more generic clipboard crate.
+/// user runs x11 we instead try the more generic clipboard crate.
+#[cfg(target_os = "linux")]
pub fn set_clipboard(content: String) -> Result<()> {
let opts = Options::new();
let result = opts.copy(
@@ -62,6 +64,17 @@ pub fn set_clipboard(content: String) -> Result<()> {
Ok(())
}
+/// Copies content to the clipboard.
+/// It first tries to copy to a wayland clipboard, and if that's not availible due to that the
+/// user runs mac/windows we instead try the more generic clipboard crate.
+#[cfg(not(target_os = "linux"))]
+pub fn set_clipboard(content: String) -> Result<()> {
+ let mut ctx = clipboard::ClipboardContext::new()?;
+ ctx.set_contents(content)?;
+
+ Ok(())
+}
+
pub fn get_value_from_input(s: &mut Cursive, input_name: &str) -> Option<std::rc::Rc<String>> {
let mut password = None;
s.call_on_name(input_name, |e: &mut EditView| {
+10 -7
View File
@@ -1,26 +1,29 @@
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpg-error, gpgme, xorg, AppKit, Security, installShellFiles }:
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, python3, openssl, libgpg-error, gpgme, xorg, nettle, llvmPackages, clang, AppKit, Security, installShellFiles }:
with rustPlatform;
buildRustPackage rec {
version = "0.5.2";
version = "0.6.2";
pname = "ripasso-cursive";
src = fetchFromGitHub {
owner = "cortex";
repo = "ripasso";
rev = "release-${version}";
sha256 = "sha256-De/xCDzdRHCslD0j6vT8bwjcMTf5R8KZ32aaB3i+Nig=";
sha256 = "sha256-OKFgBfm4d9IqSJFjg+J1XdsgQrfuIaoRIhVJQeZ+558=";
};
patches = [ ./fix-tests.patch ];
patches = [ ./fix-tests.patch ./build-on-macos.patch ];
cargoSha256 = "sha256-ZmHzxHV4uIxPlLkkOLJApPNLo0GGVj9EopoIwi/j6DE=";
# Needed so bindgen can find libclang.so
LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
cargoSha256 = "sha256-cAhLI5IES6FM3/rjHjokLq5pCoA08K/8lpdAeSNrTFs=";
cargoBuildFlags = [ "-p ripasso-cursive" ];
nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles ];
nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles clang ];
buildInputs = [
ncurses openssl libgpg-error gpgme xorg.libxcb
openssl libgpg-error gpgme xorg.libxcb nettle
] ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
preCheck = ''
+6 -76
View File
@@ -1,82 +1,12 @@
--- a/src/pass/test.rs
+++ a/src/pass/test.rs
@@ -83,6 +83,7 @@
diff --git a/src/tests/test_helpers.rs b/src/tests/test_helpers.rs
index 73e4175..d2ed70b 100644
--- a/src/tests/test_helpers.rs
+++ b/src/tests/test_helpers.rs
@@ -53,6 +53,7 @@ fn get_testres_path() -> PathBuf {
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -114,6 +115,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -144,6 +146,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -185,6 +188,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -220,6 +224,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -267,6 +272,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -298,6 +304,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -337,6 +344,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -828,6 +836,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.push("testres");
let home: PathBuf = base_path.clone();
@@ -860,6 +869,7 @@
base_path.pop();
base_path.pop();
base_path.pop();
+ base_path.pop();
base_path.pop();
base_path.push("testres");
base_path
+1
View File
@@ -30977,6 +30977,7 @@ with pkgs;
mopidy-mpris
mopidy-muse
mopidy-musicbox-webclient
mopidy-notify
mopidy-podcast
mopidy-scrobbler
mopidy-somafm
+6 -6
View File
@@ -22778,10 +22778,10 @@ let
TclpTk = buildPerlPackage {
pname = "Tcl-pTk";
version = "1.09";
version = "1.10";
src = fetchurl {
url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.09.tar.gz";
hash = "sha256-LR+YBlKS9+W7mBBy9/EkAOjxGVVe4MC5zToPr/pXl24=";
url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.10.tar.gz";
hash = "sha256-sMb4KXzTL7KhkF17OSbWMb8p+iM/jYTNHtb+2J85/QQ=";
};
propagatedBuildInputs = [
ClassISA
@@ -26186,10 +26186,10 @@ let
Tk = buildPerlPackage {
pname = "Tk";
version = "804.035";
version = "804.036";
src = fetchurl {
url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.035.tar.gz";
hash = "sha256-TSuAKRum3jTY7IhqCFptvSt5C5JgNaCH6ZAlYUxf/dQ=";
url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
};
makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];