diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 574ce1a9897..b7e14de9bd5 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3662,6 +3662,12 @@
githubId = 103082;
name = "Ed Brindley";
};
+ elizagamedev = {
+ email = "eliza@eliza.sh";
+ github = "elizagamedev";
+ githubId = 4576666;
+ name = "Eliza Velasquez";
+ };
elliot = {
email = "hack00mind@gmail.com";
github = "Eliot00";
@@ -10122,6 +10128,12 @@
githubId = 81340136;
name = "polykernel";
};
+ poelzi = {
+ email = "nix@poelzi.org";
+ github = "poelzi";
+ githubId = 66107;
+ name = "Daniel Poelzleithner";
+ };
polyrod = {
email = "dc1mdp@gmail.com";
github = "polyrod";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 3dff33e4e9b..e6c7497e8e0 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -521,6 +521,15 @@
(ghc.withPackages.override { useLLVM = true; }) (p: []).
+
+
+ The update of the haskell package set brings with it a new
+ version of the xmonad module, which will
+ break your configuration if you use launch
+ as entrypoint. The example code the corresponding nixos module
+ was adjusted, you way want to have a look at it.
+
+
The home-assistant module now requires
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index daa629b5e3d..01db6861e56 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -165,6 +165,10 @@ In addition to numerous new and upgraded packages, this release has the followin
`useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
+- The update of the haskell package set brings with it a new version of the `xmonad`
+ module, which will break your configuration if you use `launch` as entrypoint. The
+ example code the corresponding nixos module was adjusted, you way want to have a look at it.
+
- The `home-assistant` module now requires users that don't want their
configuration to be managed declaratively to set
`services.home-assistant.config = null;`. This is required
diff --git a/nixos/modules/services/networking/nebula.nix b/nixos/modules/services/networking/nebula.nix
index de4439415cf..c83cd9d521c 100644
--- a/nixos/modules/services/networking/nebula.nix
+++ b/nixos/modules/services/networking/nebula.nix
@@ -192,6 +192,7 @@ in
Group = networkId;
})
];
+ unitConfig.StartLimitIntervalSec = 0; # ensure Restart=always is always honoured (networks can go down for arbitrarily long)
};
}) enabledNetworks);
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index 0bfa2368787..1a8199ab3b3 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -263,8 +263,8 @@ in
serviceConfig.RemainAfterExit = true;
wantedBy = [ "multi-user.target" ];
- requires = [ "postgresql.service" ];
- after = [ "network.target" "postgresql.service" ];
+ requires = if cfg.database.host == null then [] else [ "postgresql.service" ];
+ after = [ "network.target" ] ++ (if cfg.database.host == null then [] else [ "postgresql.service" ]);
script = ''
rm -rf "${runDir}"
@@ -282,7 +282,7 @@ in
sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
'' else ''
sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
- sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'file_get_contents(${cfg.database.passwordFile})'"});/g" "${runDir}/server/php/config.inc.php
+ sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'$(cat ${cfg.database.passwordFile})');/g"}" "${runDir}/server/php/config.inc.php"
''}
sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 68f97c2f504..66d11131391 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -128,33 +128,34 @@ in {
[ ( (mod4Mask,xK_r), compileRestart True)
, ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+ compileRestart resume = do
+ dirs <- asks directories
+ whenX (recompile dirs True) $ do
+ when resume writeStateToFile
+ catchIO
+ ( do
+ args <- getArgs
+ executeFile (cacheDir dirs > compiledConfig) False args Nothing
+ )
+
+ main = getDirectories >>= launch myConfig
+
--------------------------------------------
- {- version 0.17.0 -}
+ {- For versions before 0.17.0 use this instead -}
--------------------------------------------
-- compileRestart resume =
- -- dirs <- io getDirectories
- -- whenX (recompile dirs True) $
+ -- whenX (recompile True) $
-- when resume writeStateToFile
-- *> catchIO
-- ( do
+ -- dir <- getXMonadDataDir
-- args <- getArgs
- -- executeFile (cacheDir dirs > compiledConfig) False args Nothing
+ -- executeFile (dir > compiledConfig) False args Nothing
-- )
--
- -- main = getDirectories >>= launch myConfig
+ -- main = launch myConfig
--------------------------------------------
- compileRestart resume =
- whenX (recompile True) $
- when resume writeStateToFile
- *> catchIO
- ( do
- dir <- getXMonadDataDir
- args <- getArgs
- executeFile (dir > compiledConfig) False args Nothing
- )
-
- main = launch myConfig
'';
};
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 0c9248b5f0b..b96155cf688 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation rec {
configurePhase = "./configure --prefix=$out --enable-jack-default-audio --enable-jack-default-midi";
+ # Workaround build failure on -fno-common toolchains like upstream
+ # gcc-10. Otherwise build fails as:
+ # ld: brightonCLI.o:/build/bristol-0.60.11/brighton/brightonCLI.c:139: multiple definition of
+ # `event'; brightonMixerMenu.o:/build/bristol-0.60.11/brighton/brightonMixerMenu.c:1182: first defined here
+ NIX_CFLAGS_COMPILE = "-fcommon";
+
preInstall = ''
sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 2bd23b821f1..70cb4d7f110 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 ]
++ (with perlPackages; [ perl XMLParser ]);
+ # Workaround build failure on -fno-common toolchains like upstream
+ # gcc-10. Otherwise build fails as:
+ # ld: jamin-preferences.o:/build/jamin-0.95.0/src/hdeq.h:64: multiple definition of
+ # `l_notebook1'; jamin-callbacks.o:/build/jamin-0.95.0/src/hdeq.h:64: first defined here
+ NIX_CFLAGS_COMPILE = "-fcommon";
+
NIX_LDFLAGS = "-ldl";
postInstall = ''
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
index d08991a916b..067263032b0 100644
--- a/pkgs/applications/audio/noisetorch/default.nix
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -33,6 +33,8 @@ buildGoModule rec {
'';
meta = with lib; {
+ insecure = true;
+ knownVulnerabilities = [ "https://github.com/lawl/NoiseTorch/releases/tag/0.11.6" ];
description = "Virtual microphone device with noise supression for PulseAudio";
homepage = "https://github.com/lawl/NoiseTorch";
license = licenses.gpl3Plus;
diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix
index 38c05276be4..218204d690a 100644
--- a/pkgs/applications/audio/ympd/default.nix
+++ b/pkgs/applications/audio/ympd/default.nix
@@ -18,11 +18,18 @@ stdenv.mkDerivation rec {
sha256 = "1nvb19jd556v2h2bi7w4dcl507p3p8xvjkqfzrcsy7ccy3502brq";
};
+ # Workaround build failure on -fno-common toolchains like upstream
+ # gcc-10. Otherwise build fails as:
+ # ld: CMakeFiles/ympd.dir/src/mpd_client.c.o:(.bss+0x0): multiple definition of `mpd';
+ # CMakeFiles/ympd.dir/src/ympd.c.o:(.bss+0x20): first defined here
+ # Should be fixed by pending https://github.com/notandy/ympd/pull/191 (does not apply as is).
+ NIX_CFLAGS_COMPILE = "-fcommon";
+
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ libmpdclient openssl ];
meta = with lib; {
- homepage = "https://www.ympd.org";
+ homepage = "https://github.com/notandy/ympd";
description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
maintainers = [ maintainers.siddharthist ];
platforms = platforms.unix;
diff --git a/pkgs/applications/emulators/bsnes/ares/default.nix b/pkgs/applications/emulators/bsnes/ares/default.nix
index c1597fe2c6e..4cc449ee49f 100644
--- a/pkgs/applications/emulators/bsnes/ares/default.nix
+++ b/pkgs/applications/emulators/bsnes/ares/default.nix
@@ -2,6 +2,7 @@
, stdenv
, fetchFromGitHub
, pkg-config
+, wrapGAppsHook
, SDL2
, alsa-lib
, gtk3
@@ -18,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "ares";
- version = "127";
+ version = "128";
src = fetchFromGitHub {
owner = "ares-emulator";
repo = "ares";
rev = "v${version}";
- sha256 = "0rhq39w41j9yr1fkyfmf4n6fjxnq1cglj98rp4wys12kwqv7smvx";
+ sha256 = "sha256-Ojf1kyColBK0S3DwXjGaAZSl0ljhgiXkfKC11BL2fEc=";
};
patches = [
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
pkg-config
+ wrapGAppsHook
];
buildInputs = [
diff --git a/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix b/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
index 6494185958c..edb397a49d3 100644
--- a/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
+++ b/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
@@ -1,9 +1,10 @@
{ lib, stdenv, fetchFromGitHub
, pkg-config
+, wrapGAppsHook
, libX11, libXv
, udev
, SDL2
-, gtk2, gtksourceview
+, gtk3, gtksourceview3
, alsa-lib, libao, openal, libpulseaudio
, libicns, Cocoa, OpenAL
}:
@@ -34,16 +35,23 @@ stdenv.mkDerivation {
./macos-copy-app-to-prefix.patch
];
- nativeBuildInputs = [ pkg-config ]
+ nativeBuildInputs = [ pkg-config wrapGAppsHook ]
++ lib.optionals stdenv.isDarwin [ libicns ];
buildInputs = [ SDL2 libao ]
- ++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk2 gtksourceview alsa-lib openal libpulseaudio ]
+ ++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk3 gtksourceview3 alsa-lib openal libpulseaudio ]
++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ];
enableParallelBuilding = true;
- makeFlags = [ "-C" "bsnes" "prefix=$(out)" ];
+ makeFlags = [ "-C" "bsnes" "hiro=gtk3" "prefix=$(out)" ];
+
+ # https://github.com/bsnes-emu/bsnes/issues/107
+ preFixup = ''
+ gappsWrapperArgs+=(
+ --prefix GDK_BACKEND : x11
+ )
+ '';
meta = with lib; {
description = "A fork of bsnes that adds HD video features";
@@ -51,5 +59,6 @@ stdenv.mkDerivation {
license = licenses.gpl3Only;
maintainers = with maintainers; [ stevebob ];
platforms = platforms.unix;
+ mainProgram = "bsnes";
};
}
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index dbdc15cb9c7..41841c58795 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -74,13 +74,13 @@ let
self: super: {
octoprint = self.buildPythonPackage rec {
pname = "OctoPrint";
- version = "1.8.0rc5";
+ version = "1.8.0";
src = fetchFromGitHub {
owner = "OctoPrint";
repo = "OctoPrint";
rev = version;
- sha256 = "sha256-FeT45w6VXaFV4BsuOMk58nxxiu9jhCNnA2F7Uh/3sB0=";
+ sha256 = "sha256-GDKXHLigMAork+KAFOs8znNhaTYVTWVB2Tb+4sAqF8o=";
};
propagatedBuildInputs = with super; [
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index ba7e5bb0a63..e886f40c8a5 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
- activesupport (7.0.2.3)
+ activesupport (7.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -60,7 +60,7 @@ GEM
ffi-compiler (>= 1.0, < 2.0)
i18n (1.10.0)
concurrent-ruby (~> 1.0)
- jsonpath (1.1.1)
+ jsonpath (1.1.2)
multi_json
jwt (2.3.0)
krane (2.4.6)
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index 058910072a7..3c18789c095 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1jpydd414j0fig3r0f6ci67mchclg6cq2qgqbq9zplrbg40pzfi8";
+ sha256 = "0z05zyc57f8ywvdvls6nx93vrhyyzzpgz729mwampz1qb8vvcspj";
type = "gem";
};
- version = "7.0.2.3";
+ version = "7.0.3";
};
addressable = {
dependencies = ["public_suffix"];
@@ -276,10 +276,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0slr38w21gwizkq4nk6c7l7lcqc2c733zfn5fq1pmbwy5bwiggad";
+ sha256 = "0fkdjic88hh0accp0sbx5mcrr9yaqwampf5c3214212d4i614138";
type = "gem";
};
- version = "1.1.1";
+ version = "1.1.2";
};
jwt = {
groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index df0ae08eede..038ab2c2bf7 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "waypoint";
- version = "0.8.1";
+ version = "0.8.2";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-NRR/N61QdBF4jaioF7+X3xOdvaJ8COEzXL4hVHYSqW4=";
+ sha256 = "sha256-Pq1gGXROPHHMaOoQwx6cObvMF+SoilOROR4bwI0Y/GM=";
};
- vendorSha256 = "sha256-57/MzO5TulGKMkGdQRoFNKIKF7upJiPazF0+Ovt/LG8=";
+ vendorSha256 = "sha256-Q8ookgQwecRuSrnQiIREBMDxK9NAWfHu+sIQeMO/T4w=";
nativeBuildInputs = [ go-bindata installShellFiles ];
diff --git a/pkgs/applications/networking/mujmap/default.nix b/pkgs/applications/networking/mujmap/default.nix
new file mode 100644
index 00000000000..247a8d58954
--- /dev/null
+++ b/pkgs/applications/networking/mujmap/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, notmuch
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "mujmap";
+ version = "0.1.1";
+
+ src = fetchFromGitHub {
+ owner = "elizagamedev";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-O5CbLgs+MkATPtess0gocgPB9kwD8FMR/urwm6jo2rA=";
+ };
+
+ cargoSha256 = "sha256-nOZ+HnzXhVp+tLrNMZO1NmZIhIqlWz0fRMbHVIQkOxI=";
+
+ buildInputs = [
+ notmuch
+ ] ++ lib.optional stdenv.isDarwin Security;
+
+ meta = with lib; {
+ description = "Bridge for synchronizing email and tags between JMAP and notmuch";
+ homepage = "https://github.com/elizagamedev/mujmap/";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ elizagamedev ];
+ mainProgram = "mujmap";
+ };
+}
diff --git a/pkgs/applications/window-managers/yeahwm/default.nix b/pkgs/applications/window-managers/yeahwm/default.nix
index 3cf997c22c2..25a25a06ad9 100644
--- a/pkgs/applications/window-managers/yeahwm/default.nix
+++ b/pkgs/applications/window-managers/yeahwm/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
prefix="${placeholder "out"}" )
'';
+ # Workaround build failure on -fno-common toolchains like upstream
+ # gcc-10. Otherwise build fails as:
+ # ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
+ NIX_CFLAGS_COMPILE = "-fcommon";
+
postInstall = ''
gzip -9 --stdout yeahwm.1 > yeahwm.1.gz
install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 79e7d324ec9..761ae5ba019 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
+{ lib, stdenv, fetchurl, fetchpatch, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
let
options = rec {
@@ -59,6 +59,21 @@ stdenv.mkDerivation rec {
sha256 = cfg.sha256;
};
+ patches = [
+ # Pull upstream fiux for -fno-common toolchains:
+ # https://github.com/Clozure/ccl/pull/316
+ (fetchpatch {
+ name = "fno-common-p1.patch";
+ url = "https://github.com/Clozure/ccl/commit/185dc1a00e7492f8be98e5f93b561758423595f1.patch";
+ sha256 = "0wqfds7346qdwdsxz3bl2p601ib94rdp9nknj7igj01q8lqfpajw";
+ })
+ (fetchpatch {
+ name = "fno-common-p2.patch";
+ url = "https://github.com/Clozure/ccl/commit/997de91062d1f152d0c3b322a1e3694243e4a403.patch";
+ sha256 = "10w6zw8wgalkdyya4m48lgca4p9wgcp1h44hy9wqr94dzlllq0f6";
+ })
+ ];
+
buildInputs = if stdenv.isDarwin then [ bootstrap_cmds m4 ] else [ glibc m4 ];
CCL_RUNTIME = cfg.runtime;
diff --git a/pkgs/development/compilers/jasmin-compiler/default.nix b/pkgs/development/compilers/jasmin-compiler/default.nix
index dbacda5c479..140de424519 100644
--- a/pkgs/development/compilers/jasmin-compiler/default.nix
+++ b/pkgs/development/compilers/jasmin-compiler/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
- version = "21.0";
+ version = "2022.04.0";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
- sha256 = "sha256:1px17fpc00gca5ayfcr4k008srkyw120c25rnyf7cgzfs1gpylj2";
+ sha256 = "sha256:0yf3lp469m8jdpqmqq3sw3h8l3psrzdp134wp3l1q31j3akskn2s";
};
sourceRoot = "jasmin-compiler-v${version}/compiler";
diff --git a/pkgs/development/libraries/cpp-ipfs-api/default.nix b/pkgs/development/libraries/cpp-ipfs-api/default.nix
deleted file mode 100644
index 315a477e72a..00000000000
--- a/pkgs/development/libraries/cpp-ipfs-api/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }:
-
-stdenv.mkDerivation {
- pname = "cpp-ipfs-api";
- version = "2017-01-04";
-
- src = fetchFromGitHub {
- owner = "vasild";
- repo = "cpp-ipfs-api";
- rev = "96a890f4518665a56581a2a52311eaa65928eac8";
- sha256 = "1z6gbd7npg4pd9wmdyzcp9h12sg84d7a43c69pp4lzqkyqg8pz1g";
- };
-
- nativeBuildInputs = [ cmake ];
- buildInputs = [ curl ];
- propagatedBuildInputs = [ nlohmann_json ];
-
- NIX_CFLAGS_COMPILE = [
- "-Wno-error=range-loop-construct"
- ];
-
- meta = with lib; {
- description = "IPFS C++ API client library";
- homepage = "https://github.com/vasild/cpp-ipfs-api";
- license = licenses.mit;
- platforms = platforms.all;
- };
-}
diff --git a/pkgs/development/libraries/cpp-ipfs-http-client/default.nix b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix
new file mode 100644
index 00000000000..44fcbe5463c
--- /dev/null
+++ b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }:
+
+stdenv.mkDerivation {
+ pname = "cpp-ipfs-http-client";
+ version = "unstable-2022-01-30";
+
+ src = fetchFromGitHub {
+ owner = "vasild";
+ repo = "cpp-ipfs-http-client";
+ rev = "3cdfa7fc6326e49fc81b3c7ca43ce83bdccef6d9";
+ sha256 = "sha256-/oyafnk4SbrvoCh90wkZXNBjknMKA6EEUoEGo/amLUo=";
+ };
+
+ patches = [ ./unvendor-nlohmann-json.patch ];
+
+ postPatch = ''
+ substituteInPlace CMakeLists.txt \
+ --replace '# Fetch "JSON for Modern C++"' "include_directories(${nlohmann_json}/include)"
+ '';
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ curl ];
+ propagatedBuildInputs = [ nlohmann_json ];
+
+ NIX_CFLAGS_COMPILE = [
+ "-Wno-error=range-loop-construct"
+ ];
+
+ meta = with lib; {
+ description = "IPFS C++ API client library";
+ homepage = "https://github.com/vasild/cpp-ipfs-http-client";
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" "x86_64-darwin" ];
+ };
+}
diff --git a/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch b/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch
new file mode 100644
index 00000000000..e21b4e9a7a7
--- /dev/null
+++ b/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch
@@ -0,0 +1,27 @@
+--- source/CMakeLists.txt
++++ source/CMakeLists.txt
+@@ -56,11 +56,6 @@ target_include_directories(${IPFS_API_LIBNAME}
+ )
+
+ # Fetch "JSON for Modern C++"
+-include(FetchContent)
+-message(STATUS "Fetching nlohmann/JSON")
+-# Retrieve Nlohmann JSON
+-FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz)
+-FetchContent_MakeAvailable(json)
+
+ # libcurl requires additional libs only for static Windows builds
+ if(WIN32)
+@@ -71,12 +66,11 @@ set_target_properties(${IPFS_API_LIBNAME} PROPERTIES
+ SOVERSION ${PROJECT_VERSION_MAJOR}
+ VERSION ${PROJECT_VERSION}
+ )
+-target_link_libraries(${IPFS_API_LIBNAME} ${CURL_LIBRARIES} ${WINDOWS_CURL_LIBS} nlohmann_json::nlohmann_json)
++target_link_libraries(${IPFS_API_LIBNAME} ${CURL_LIBRARIES} ${WINDOWS_CURL_LIBS})
+ if(NOT DISABLE_INSTALL)
+ install(TARGETS ${IPFS_API_LIBNAME} DESTINATION lib)
+ install(FILES include/ipfs/client.h DESTINATION include/ipfs)
+ install(FILES include/ipfs/http/transport.h DESTINATION include/ipfs/http)
+- install(FILES ${json_SOURCE_DIR}/include/nlohmann/json.hpp DESTINATION include/nlohmann)
+ endif()
+ # Tests, use "CTEST_OUTPUT_ON_FAILURE=1 make test" to see output from failed tests
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 86026bf50f4..cbdaf1da892 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,7 +1,7 @@
{
mkDerivation, lib,
extra-cmake-modules,
- ilmbase, karchive, openexr, libavif, qtbase
+ ilmbase, karchive, openexr, libavif, libheif, qtbase
}:
let inherit (lib) getDev; in
@@ -10,9 +10,12 @@ mkDerivation {
pname = "kimageformats";
nativeBuildInputs = [ extra-cmake-modules ];
- buildInputs = [ karchive openexr libavif qtbase ];
+ buildInputs = [ karchive openexr libavif libheif qtbase ];
outputs = [ "out" ]; # plugins only
CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR";
+ cmakeFlags = [
+ "-DKIMAGEFORMATS_HEIF=ON"
+ ];
meta = with lib; {
broken = versionOlder qtbase.version "5.14";
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
index e700a5f9f11..60c026b3600 100644
--- a/pkgs/development/libraries/precice/default.nix
+++ b/pkgs/development/libraries/precice/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "precice";
- version = "2.3.0";
+ version = "2.4.0";
src = fetchFromGitHub {
owner = "precice";
repo = pname;
rev = "v${version}";
- sha256 = "sha256:0p8d2xf4bl41b30yp38sqyp4fipwgcdhl0khxcv5g69fxvz2i2il";
+ sha256 = "0qmwdxpbmy4dvjxav3dls18qns734j0yfvxvjrh1nnkk36qhfp3q";
};
cmakeFlags = [
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 7306243bca9..2ecf7729f4b 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -20,6 +20,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
+ # use C++14 Standard until error handling code gets updated upstream
+ CXXFLAGS = [ "-std=c++14" ];
+
# disable flaky networking test
postPatch = ''
substituteInPlace test/stream.cpp \
diff --git a/pkgs/development/ocaml-modules/genspio/default.nix b/pkgs/development/ocaml-modules/genspio/default.nix
index 963cd1dab13..44742cba04a 100644
--- a/pkgs/development/ocaml-modules/genspio/default.nix
+++ b/pkgs/development/ocaml-modules/genspio/default.nix
@@ -1,27 +1,19 @@
{ lib, fetchFromGitHub, buildDunePackage
-, nonstd, sosa
+, base, fmt
}:
buildDunePackage rec {
pname = "genspio";
- version = "0.0.2";
-
- useDune2 = false;
+ version = "0.0.3";
src = fetchFromGitHub {
owner = "hammerlab";
repo = pname;
rev = "${pname}.${version}";
- sha256 = "0cp6p1f713sfv4p2r03bzvjvakzn4ili7hf3a952b3w1k39hv37x";
+ sha256 = "sha256:1788cnn10idp5i1hggg4pys7k0w8m3h2p4xa42jipfg4cpj7shaf";
};
- minimalOCamlVersion = "4.03";
-
- propagatedBuildInputs = [ nonstd sosa ];
-
- configurePhase = ''
- ocaml please.mlt configure
- '';
+ propagatedBuildInputs = [ base fmt ];
doCheck = true;
diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
index 55f4d928492..f574b32286c 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
@@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "azure-mgmt-servicelinker";
- version = "1.0.0";
+ version = "1.1.0";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-lAjgwEa2TJDEUU8pwfwkU8EyA1bhLkcAv++I6WHb7Xs=";
+ sha256 = "sha256-QVw6Y9HachwBRwCbF0cSGLCAkSJtNnXBvsj5YX1TmJU=";
extension = "zip";
};
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index b10d29a5943..ea3511e843a 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -17,7 +17,7 @@
}:
buildPythonPackage rec {
- version = "0.20.38";
+ version = "0.20.40";
pname = "dulwich";
format = "setuptools";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- hash = "sha256-c0Z5DYc1yG+7xbcLZ08O+UCWweUJm6cnNJFigjmBf8g=";
+ hash = "sha256-vtcO/gt91RpHvOqbmEqwamdddDi3izLaHLr891D7utc=";
};
LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/phik/default.nix b/pkgs/development/python-modules/phik/default.nix
index 2919fb5c733..2e0dc2b8b26 100644
--- a/pkgs/development/python-modules/phik/default.nix
+++ b/pkgs/development/python-modules/phik/default.nix
@@ -15,12 +15,14 @@
, ninja
, numba
, pybind11
+, scikit-build
}:
buildPythonPackage rec {
pname = "phik";
version = "0.12.2";
disabled = !isPy3k;
+ format = "pyproject";
src = fetchPypi {
inherit pname version;
@@ -50,10 +52,13 @@ buildPythonPackage rec {
nativeBuildInputs = [
cmake
ninja
+ scikit-build
];
+ pythonImportCheck = [ "phik" ];
+
postInstall = ''
- rm -r $out/bin
+ rm -r $out/bin
'';
meta = with lib; {
diff --git a/pkgs/development/python-modules/pyfzf/default.nix b/pkgs/development/python-modules/pyfzf/default.nix
new file mode 100644
index 00000000000..3578f863fa4
--- /dev/null
+++ b/pkgs/development/python-modules/pyfzf/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fzf
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+ pname = "pyfzf";
+ version = "0.3.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
+
+ src = fetchFromGitHub {
+ owner = "nk412";
+ repo = pname;
+ rev = version;
+ hash = "sha256-w+ZjQGFd/lR2TiTHc2uQSJXORmzJJZXsr9BO4PIw/Co=";
+ };
+
+ propagatedBuildInputs = [
+ fzf
+ ];
+
+ pythonImportsCheck = [
+ "pyfzf"
+ ];
+
+ # Module has no tests
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Wrapper for fzf";
+ homepage = "https://github.com/nk412/pyfzf";
+ license = licenses.mit;
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 2aef56fcc1d..ed625cb229e 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-deny";
- version = "0.12.0";
+ version = "0.12.1";
src = fetchFromGitHub {
owner = "EmbarkStudios";
repo = pname;
rev = version;
- sha256 = "sha256-8zJvVuEljCa63mQcgK3E3/SHica6DZbNys+PG7E2GtI=";
+ sha256 = "sha256-w64fdjKXiCaM+U28Hte+I0LPqmGKxbCVRUyhNWcVyTc=";
};
# enable pkg-config feature of zstd
cargoPatches = [ ./zstd-pkg-config.patch ];
- cargoSha256 = "sha256-bMm/JWzVrgS8XHV1ZXeGQm79JUC7zL0h6v92tqajXfU=";
+ cargoSha256 = "sha256-K9Ab4L/wnpUqe+gLKhtHX4fOgWXv6ZL9faa58hzdq/0=";
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index acacdcefb41..861a4075990 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -1,5 +1,6 @@
{ lib
, stdenv
+, callPackage
, fetchFromGitHub
, rustPlatform
, CoreServices
@@ -11,14 +12,14 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
- version = "2022-05-02";
- cargoSha256 = "sha256-uZCUruIBTNTKYWYb8xQgJ6FsKlRi+Sh5n7m7aVk+hHQ=";
+ version = "2022-05-17";
+ cargoSha256 = "sha256-H0nuS56mvo5YUAUOsEnR4Cv3iFKixoHK83BcM1PFMA8=";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = version;
- sha256 = "sha256-5kAbd/tTc9vkr27ar44hnpXdS0vQg0OLJUMlp0FBjqA=";
+ sha256 = "sha256-vrVpgQYUuJPgK1NMb1nxlCdxjoYo40YkUbZpH2Z2mwM=";
};
patches = [
@@ -54,7 +55,11 @@ rustPlatform.buildRustPackage rec {
runHook postInstallCheck
'';
- passthru.updateScript = ./update.sh;
+ passthru = {
+ updateScript = ./update.sh;
+ # FIXME: Pass overrided `rust-analyzer` once `buildRustPackage` also implements #119942
+ tests.neovim-lsp = callPackage ./test-neovim-lsp.nix { };
+ };
meta = with lib; {
description = "A modular compiler frontend for the Rust language";
diff --git a/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix b/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix
new file mode 100644
index 00000000000..6782a7418a6
--- /dev/null
+++ b/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix
@@ -0,0 +1,49 @@
+{ runCommandNoCC, cargo, neovim, rust-analyzer, rustc }:
+runCommandNoCC "test-neovim-rust-analyzer" {
+ nativeBuildInputs = [ cargo neovim rust-analyzer rustc ];
+
+ testRustSrc = /* rust */ ''
+ fn main() {
+ let mut var = vec![None];
+ var.push(Some("hello".to_owned()));
+ }
+ '';
+
+ nvimConfig = /* lua */ ''
+ vim.lsp.buf_attach_client(vim.api.nvim_get_current_buf(), vim.lsp.start_client({
+ cmd = { "rust-analyzer" },
+ handlers = {
+ ["$/progress"] = function(_, msg, ctx)
+ if msg.token == "rustAnalyzer/Indexing" and msg.value.kind == "end" then
+ vim.cmd("goto 23") -- let mut |var =...
+ vim.lsp.buf.hover()
+ end
+ end,
+ ["textDocument/hover"] = function(_, msg, ctx)
+ -- Keep newlines.
+ io.write(msg.contents.value)
+ vim.cmd("q")
+ end,
+ },
+ on_error = function(code)
+ print("error: " .. code)
+ vim.cmd("q")
+ end
+ }))
+ '';
+
+} ''
+ # neovim requires a writable HOME.
+ export HOME="$(pwd)"
+
+ cargo new --bin test-rust-analyzer
+ cd test-rust-analyzer
+ cat <<<"$testRustSrc" >src/main.rs
+ cat <<<"$nvimConfig" >script.lua
+
+ # `-u` doesn't work
+ result="$(nvim --headless +'lua dofile("script.lua")' src/main.rs)"
+ echo "$result"
+ [[ "$result" == *"var: Vec