Merge master into staging-next
This commit is contained in:
@@ -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 { };
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
+4
-6
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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,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 ];
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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,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=";
|
||||
|
||||
@@ -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| {
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -30977,6 +30977,7 @@ with pkgs;
|
||||
mopidy-mpris
|
||||
mopidy-muse
|
||||
mopidy-musicbox-webclient
|
||||
mopidy-notify
|
||||
mopidy-podcast
|
||||
mopidy-scrobbler
|
||||
mopidy-somafm
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
Reference in New Issue
Block a user