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>"* ]] + touch $out +'' diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix index f9cef54564f..2ffbd4a1bed 100644 --- a/pkgs/development/tools/treefmt/default.nix +++ b/pkgs/development/tools/treefmt/default.nix @@ -1,16 +1,16 @@ { lib, rustPlatform, fetchFromGitHub }: rustPlatform.buildRustPackage rec { pname = "treefmt"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "numtide"; repo = "treefmt"; rev = "v${version}"; - sha256 = "sha256-PTT87Na4KpyN6a7T49vHHhSqSOF6JSWr5/jiys1Uzko="; + hash = "sha256-+EcqrmjZR8pkBiIXpdJ/KfmTm719lgz7oC9tH7OhJKY="; }; - cargoSha256 = "sha256-Gvr6Zjd9Gvn2CyjNHlJaKPFYUViPezRwoDBeVelRlkU="; + cargoSha256 = "sha256-DXsKUeSmNUIKPsvrLxkg+Kp78rEfjmJQYf2pj1LWW38="; meta = { description = "one CLI to format the code tree"; diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 4291af81f40..eff2af506c9 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -16,15 +16,15 @@ rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.21.3"; + version = "1.22.0"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "sha256-0LjY5XBtR9uoxLOOFRebbSuH9chSdH1/9rtsY15NdCM="; + sha256 = "sha256-gragdn3ToOz/We+iVOrX/Fx0g7Zbb7RT5C/2K1+/spc="; }; - cargoSha256 = "sha256-8YldzUO9Jysu0w2NvGWDIr2eIWcrX9ALUodYwIykt64="; + cargoSha256 = "sha256-+lNrkOCiC9WT0hbuUBCTaFCsVWJVbp/up2iov3MMt8o="; postPatch = '' # upstream uses lld on aarch64-darwin for faster builds diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix index e1a9b0de753..f736120c416 100644 --- a/pkgs/development/web/deno/librusty_v8.nix +++ b/pkgs/development/web/deno/librusty_v8.nix @@ -11,11 +11,11 @@ let }; in fetch_librusty_v8 { - version = "0.42.0"; + version = "0.42.1"; shas = { - x86_64-linux = "sha256-p8wC2r9+PKEabaHj0NF059TBSKOpE+rtZkqk1SXINzQ="; - aarch64-linux = "sha256-1mQQ5XmR+WcYW6BGfnUdsG4yzhwIal80Y5fWw4XAJ3g="; - x86_64-darwin = "sha256-a5Mu33gXn2X02WRdtO1hb9JRctmFTiCaLNhScz2D0J8="; - aarch64-darwin = "sha256-THEFn8nQDktXJlY1zpi2760KAS2eKEQ9O3Y+yqI2OYw="; + x86_64-linux = "sha256-rAqIkJ85l5eSojTowVZl5waK/fk00JI4fI1AY1ue/i4="; + aarch64-linux = "sha256-uGptQ5V4u6Vz5BI9xmMShB3gnIUjvA/LKeh+kj71XK8="; + x86_64-darwin = "sha256-Hcb4Vct9aTv4APJfNpydRY68jpEE3wZVctKhURohz4Y="; + aarch64-darwin = "sha256-OSrbI7pX9arCJt8ymRLEARo8admPDHvpDLqf3+iYzVQ="; }; } diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix index d4f1f8faeeb..891c9a40ec1 100644 --- a/pkgs/games/brogue/default.nix +++ b/pkgs/games/brogue/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, SDL, ncurses, libtcod, makeDesktopItem }: +{ lib, stdenv, fetchurl, fetchpatch, SDL, ncurses, libtcod, makeDesktopItem }: stdenv.mkDerivation rec { pname = "brogue"; @@ -8,6 +8,15 @@ stdenv.mkDerivation rec { url = "https://sites.google.com/site/broguegame/brogue-${version}-linux-amd64.tbz2"; sha256 = "0i042zb3axjf0cpgpdh8hvfn66dbfizidyvw0iymjk2n760z2kx7"; }; + patches = [ + # Pull upstream fix for -fno-common toolchains: + # https://github.com/tmewett/BrogueCE/pull/63 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/tmewett/BrogueCE/commit/2c7ed0c48d9efd06bf0a2589ba967c0a22a8fa87.patch"; + sha256 = "19lr2fa25dh79klm4f4kqyyqq7w5xmw9z0fvylkcckqvcv7dwhp3"; + }) + ]; prePatch = '' sed -i Makefile -e 's,LIBTCODDIR=.*,LIBTCODDIR=${libtcod},g' \ diff --git a/pkgs/misc/wiki-tui/default.nix b/pkgs/misc/wiki-tui/default.nix index 1c954de3822..cc98cf46d07 100644 --- a/pkgs/misc/wiki-tui/default.nix +++ b/pkgs/misc/wiki-tui/default.nix @@ -2,20 +2,20 @@ rustPlatform.buildRustPackage rec { pname = "wiki-tui"; - version = "0.4.7"; + version = "0.4.8"; src = fetchFromGitHub { owner = "Builditluc"; repo = pname; rev = "v${version}"; - sha256 = "sha256-qoj5rg0YeBWQuU/HU84wOSG9y9p4Q1DFbqsh61mYnUc="; + sha256 = "sha256-/u0segKHrrtXfEjOmpnQ/iFbsM+VfsZKTpyc1IfuOU8="; }; buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "sha256-btSWvlObvn08cAWVMM4R0aciYz8swRFZjX+WDhALj3M="; + cargoSha256 = "sha256-3xvaEzqAz/U8CkdGYXLBnxrgW1raeKuzRsmD+0Sd4iQ="; # Tests fail with this error: `found argument --test-threads which was not expected` doCheck = false; diff --git a/pkgs/os-specific/linux/kmscube/default.nix b/pkgs/os-specific/linux/kmscube/default.nix index 53b4cd60fb1..b9da3790170 100644 --- a/pkgs/os-specific/linux/kmscube/default.nix +++ b/pkgs/os-specific/linux/kmscube/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchgit, autoreconfHook, libdrm, libX11, libGL, mesa, pkg-config }: +{ lib, stdenv, fetchgit, fetchpatch, autoreconfHook, libdrm, libX11, libGL, mesa, pkg-config }: stdenv.mkDerivation { pname = "kmscube"; @@ -10,6 +10,15 @@ stdenv.mkDerivation { sha256 = "1q5b5yvyfj3127385mp1bfmcbnpnbdswdk8gspp7g4541xk4k933"; }; + patches = [ + # Pull upstream patch for -fno-common toolchains. + (fetchpatch { + name = "fno-common.patch"; + url = "https://gitlab.freedesktop.org/mesa/kmscube/-/commit/908ef39864442c0807954af5d3f88a3da1a6f8a5.patch"; + sha256 = "1gxn3b50mvjlc25234839v5z29r8fd9di4176a3yx4gbsz8cc5vi"; + }) + ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ libdrm libX11 libGL mesa ]; diff --git a/pkgs/os-specific/linux/rt-tests/default.nix b/pkgs/os-specific/linux/rt-tests/default.nix new file mode 100644 index 00000000000..67e8c7b86a5 --- /dev/null +++ b/pkgs/os-specific/linux/rt-tests/default.nix @@ -0,0 +1,34 @@ +{ stdenv +, lib +, makeWrapper +, fetchurl +, numactl +, python3 +}: + +stdenv.mkDerivation rec { + pname = "rt-tests"; + version = "2.3"; + + src = fetchurl { + url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz"; + sha256 = "Q+rNdpRdsmW2gcsrfwg12EzpvO6qlEP/Mb/OWQMNmr8="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ numactl python3 ]; + + makeFlags = [ "prefix=$(out)" "DESTDIR=" "PYLIB=$(out)/${python3.sitePackages}" ]; + + postInstall = '' + wrapProgram "$out/bin/determine_maximum_mpps.sh" --prefix PATH : $out/bin + ''; + + meta = with lib; { + homepage = https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git; + description = "Suite of real-time tests - cyclictest, hwlatdetect, pip_stress, pi_stress, pmqtest, ptsematest, rt-migrate-test, sendme, signaltest, sigwaittest, svsematest"; + platforms = platforms.linux; + maintainers = with maintainers; [ poelzi ]; + license = licenses.gpl2; + }; +} diff --git a/pkgs/servers/bloat/default.nix b/pkgs/servers/bloat/default.nix new file mode 100644 index 00000000000..bea2f705449 --- /dev/null +++ b/pkgs/servers/bloat/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildGoModule +, fetchgit +, unstableGitUpdater +}: + +buildGoModule { + pname = "bloat"; + version = "unstable-2022-03-31"; + + src = fetchgit { + url = "git://git.freesoftwareextremist.com/bloat"; + rev = "a38d29a43592601d37d671db8748f0980071c0c4"; + sha256 = "sha256-7Hxt0QlOYMBMvDS40fpfSItGkd5nYFQmmjJIevNyeF8="; + }; + + vendorSha256 = null; + + postInstall = '' + mkdir -p $out/share/bloat + cp -r templates $out/share/bloat/templates + cp -r static $out/share/bloat/static + sed \ + -e "s%=templates%=$out/share/bloat/templates%g" \ + -e "s%=static%=$out/share/bloat/static%g" \ + < bloat.conf > $out/share/bloat/bloat.conf.example + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "A web client for Pleroma and Mastodon"; + longDescription = '' + A lightweight web client for Pleroma and Mastodon. + Does not require JavaScript to display text, images, audio and videos. + ''; + homepage = "https://bloat.freesoftwareextremist.com"; + downloadPage = "https://git.freesoftwareextremist.com/bloat/"; + license = licenses.cc0; + maintainers = with maintainers; [ fgaz ]; + }; +} diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix index ae198707ec5..2240536021d 100644 --- a/pkgs/servers/gemini/agate/default.nix +++ b/pkgs/servers/gemini/agate/default.nix @@ -1,25 +1,16 @@ -{ lib, stdenv, nixosTests, fetchFromGitHub, fetchpatch, rustPlatform, libiconv, Security }: +{ lib, stdenv, nixosTests, fetchFromGitHub, rustPlatform, libiconv, Security }: rustPlatform.buildRustPackage rec { pname = "agate"; - version = "3.2.3"; + version = "3.2.4"; src = fetchFromGitHub { owner = "mbrubeck"; repo = pname; rev = "v${version}"; - sha256 = "sha256-nkWk/0TIAHcYQjxbg0HnT+4S4Cinl22WfqHb9U6u5eI="; + sha256 = "sha256-NyHs/9kRBGqmh44MSRzYb7CSvEB0RlmL9l5QpGEwDhY="; }; - cargoSha256 = "sha256-aF86QpizJ+lMNmN9DQKA9o1QZWZObyQ3v3+HmT/s02g="; - - patches = [ - # https://github.com/mbrubeck/agate/pull/143 - (fetchpatch { - name = "fix-port-collision.patch"; - url = "https://github.com/mbrubeck/agate/commit/2f5d7878ec9d0dd51762c4c7680fc9f825d8ecd5.patch"; - sha256 = "sha256-NEFmfb0y97O2W96YggD+MgcN7tlFEi9T4FNzLCND77s="; - }) - ]; + cargoSha256 = "sha256-V0MLXOLLmKnk4Iyhbu+EomsxOX6RLYHIsi/IwWiqmcg="; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ]; diff --git a/pkgs/servers/monitoring/lcdproc/default.nix b/pkgs/servers/monitoring/lcdproc/default.nix index bd0a7dc0dfb..949be34b80b 100644 --- a/pkgs/servers/monitoring/lcdproc/default.nix +++ b/pkgs/servers/monitoring/lcdproc/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , autoreconfHook , makeWrapper , pkg-config @@ -27,6 +28,14 @@ stdenv.mkDerivation rec { patches = [ ./hardcode_mtab.patch + + # Pull upstream fix for -fno-common toolchains: + # https://github.com/lcdproc/lcdproc/pull/148 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/lcdproc/lcdproc/commit/fda5302878692da933dc03cd011f8ddffefa07a4.patch"; + sha256 = "0ld6p1r4rjsnjr63afw3lp5lx25jxjs07lsp9yc3q96r91r835cy"; + }) ]; # we don't need to see the GPL every time we launch lcdd in the foreground diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix index 496bf02bb03..6da2e3b3d03 100644 --- a/pkgs/servers/web-apps/wiki-js/default.nix +++ b/pkgs/servers/web-apps/wiki-js/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "wiki-js"; - version = "2.5.279"; + version = "2.5.282"; src = fetchurl { url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz"; - sha256 = "sha256-4QYNKvAEeRSJS9lO30bI/SnM9rLmuvRMR/LsGT77wvY="; + sha256 = "sha256-cXNO8ChZ2FGAmTmcQDqnZrJpFynmdoocqFy59VCy1RE="; }; sourceRoot = "."; diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix index b0828de006f..a698c2e9f7b 100644 --- a/pkgs/servers/zoneminder/default.nix +++ b/pkgs/servers/zoneminder/default.nix @@ -78,13 +78,13 @@ let in stdenv.mkDerivation rec { pname = "zoneminder"; - version = "1.36.10"; + version = "1.36.15"; src = fetchFromGitHub { owner = "ZoneMinder"; repo = "zoneminder"; rev = version; - sha256 = "sha256-MmBnbVDitKOctPe2dNe1sMNNs/qEYGVq3UMJxAkLlCc="; + sha256 = "1qlsg7gd9kpjdbq9d5yrjmc7g1pbscrg4sws7xrdln1z8509sv50"; fetchSubmodules = true; }; diff --git a/pkgs/tools/admin/adtool/default.nix b/pkgs/tools/admin/adtool/default.nix index d7f6ffadaca..f1bc5851c79 100644 --- a/pkgs/tools/admin/adtool/default.nix +++ b/pkgs/tools/admin/adtool/default.nix @@ -19,6 +19,12 @@ stdenv.mkDerivation rec { buildInputs = [ openldap ]; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: ../../src/lib/libactive_directory.a(active_directory.o):/build/adtool-1.3.3/src/lib/active_directory.h:31: + # multiple definition of `system_config_file'; adtool.o:/build/adtool-1.3.3/src/tools/../../src/lib/active_directory.h:31: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + enableParallelBuilding = true; postInstall = '' diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix index d7f3eafe3ec..097aee5f068 100644 --- a/pkgs/tools/misc/dua/default.nix +++ b/pkgs/tools/misc/dua/default.nix @@ -2,7 +2,7 @@ rustPlatform.buildRustPackage rec { pname = "dua"; - version = "2.17.1"; + version = "2.17.5"; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { owner = "Byron"; repo = "dua-cli"; rev = "v${version}"; - sha256 = "sha256-58l0E5wwRKbF/ja3fmMMBIONjuwVOxlwdKRT5BeO9MQ="; + sha256 = "sha256-dpkUbZz/bIiTMhZalXHGct77qMzYB6LATs7MPVyW1GY="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. extraPostFetch = '' @@ -18,13 +18,14 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "sha256-nft0wrgTMrI8Tav6NcqPwSF8Q367twIOr1voBsW2488="; + cargoSha256 = "sha256-xBiabY0aGPxrAHypuSg3AF/EcChDgtIK9cJDCeTNkm0="; doCheck = false; meta = with lib; { description = "A tool to conveniently learn about the disk usage of directories, fast!"; homepage = "https://github.com/Byron/dua-cli"; + changelog = "https://github.com/Byron/dua-cli/raw/v${version}/CHANGELOG.md"; license = with licenses; [ mit ]; maintainers = with maintainers; [ killercup ]; }; diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix index 64632986638..9a6d03c6dca 100644 --- a/pkgs/tools/misc/neofetch/default.nix +++ b/pkgs/tools/misc/neofetch/default.nix @@ -4,7 +4,7 @@ stdenvNoCC.mkDerivation rec { pname = "neofetch"; - version = "unstable-2020-12-10"; + version = "unstable-2021-12-10"; src = fetchFromGitHub { owner = "dylanaraps"; @@ -19,8 +19,16 @@ stdenvNoCC.mkDerivation rec { sha256 = "1fapdg9z79f0j3vw7fgi72b54aw4brn42bjsj48brbvg3ixsciph"; name = "avoid_overwriting_gio_extra_modules_env_var.patch"; }) + # https://github.com/dylanaraps/neofetch/pull/2114 + (fetchpatch { + url = "https://github.com/dylanaraps/neofetch/commit/c4eb4ec7783bb94cca0dbdc96db45a4d965956d2.patch"; + sha256 = "sha256-F6Q4dUtfmR28VxLbITiLFJ44FjG4T1Cvuz3a0nLisMs="; + name = "update_old_nixos_logo.patch"; + }) ]; + outputs = [ "out" "man" ]; + strictDeps = true; buildInputs = [ bash ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/networking/iouyap/default.nix b/pkgs/tools/networking/iouyap/default.nix index 2367261b522..0b3c8007af6 100644 --- a/pkgs/tools/networking/iouyap/default.nix +++ b/pkgs/tools/networking/iouyap/default.nix @@ -13,6 +13,11 @@ stdenv.mkDerivation rec { buildInputs = [ bison flex ]; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: netmap.o:(.bss+0x20): multiple definition of `sizecheck'; iouyap.o:(.bss+0x20): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + installPhase = '' install -D -m555 iouyap $out/bin/iouyap; ''; diff --git a/pkgs/tools/nix/alejandra/default.nix b/pkgs/tools/nix/alejandra/default.nix index 62deef516d5..0e7f5e133ea 100644 --- a/pkgs/tools/nix/alejandra/default.nix +++ b/pkgs/tools/nix/alejandra/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "alejandra"; - version = "1.2.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "kamadorueda"; repo = "alejandra"; rev = version; - sha256 = "sha256-35hEJuMvRswOPKb9lbB9ZuHVe0eJN6WJc4T8Frn0hYQ="; + sha256 = "sha256-0AolxQtKj3Oek0WSbODDpPVO5Ih8PXHOA3qXEKPB4dQ="; }; - cargoSha256 = "sha256-SsIpggbRQPjpCYgCG4sSJ022MmMV4bJJ8UAHcJR74O8="; + cargoSha256 = "sha256-USI98hozlTaTj07tMbCQEWDgRkHsd4PFW1HUpKsNZJA="; passthru.tests = { version = testers.testVersion { package = alejandra; }; diff --git a/pkgs/tools/package-management/cde/default.nix b/pkgs/tools/package-management/cde/default.nix index acebe472675..5e86e2affb3 100644 --- a/pkgs/tools/package-management/cde/default.nix +++ b/pkgs/tools/package-management/cde/default.nix @@ -25,6 +25,12 @@ stdenv.mkDerivation rec { patchShebangs . ''; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: ../readelf-mini/libreadelf-mini.a(dwarf.o):/build/source/readelf-mini/dwarf.c:64: + # multiple definition of `do_wide'; ../readelf-mini/libreadelf-mini.a(readelf-mini.o):/build/source/readelf-mini/readelf-mini.c:170: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + installPhase = '' install -d $out/bin install -t $out/bin cde cde-exec @@ -36,7 +42,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = [ maintainers.rlupton20 ]; platforms = platforms.linux; - # error: architecture aarch64 is not supported by strace + # error: architecture aarch64 is not supported by bundled strace badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/tools/security/arsenal/default.nix b/pkgs/tools/security/arsenal/default.nix index cd927715d2e..62dd9a59866 100644 --- a/pkgs/tools/security/arsenal/default.nix +++ b/pkgs/tools/security/arsenal/default.nix @@ -5,19 +5,22 @@ python3.pkgs.buildPythonApplication rec { pname = "arsenal"; - version = "1.0.2"; + version = "1.1.0"; + format = "setuptools"; src = fetchFromGitHub { owner = "Orange-Cyberdefense"; repo = "arsenal"; rev = version; - sha256 = "sha256-RZxGSrtEa3hAtowD2lUb9BgwpSWlYo90fU9nDvUfoAk="; + sha256 = "sha256-NbNXyR5aNKvRJU9JWGk/ndwU1bhNgDOdcRqBkAY9nPA="; }; propagatedBuildInputs = with python3.pkgs; [ libtmux docutils + pyfzf pyperclip + pyyaml ]; # Project has no tests diff --git a/pkgs/tools/security/badrobot/default.nix b/pkgs/tools/security/badrobot/default.nix new file mode 100644 index 00000000000..30123d3c4f7 --- /dev/null +++ b/pkgs/tools/security/badrobot/default.nix @@ -0,0 +1,45 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "badrobot"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "controlplaneio"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-LGoNM8wu1qaq4cVEzR723/cueZlndE1Z2PCYEOU+nPQ="; + }; + vendorSha256 = "sha256-FS4kFVi+3NOJOfWfy5m/hDrQvCzpmsNSB/PliF6cVps="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/controlplaneio/badrobot/cmd.version=v${version}" + ]; + + postInstall = '' + installShellCompletion --cmd badrobot \ + --bash <($out/bin/badrobot completion bash) \ + --fish <($out/bin/badrobot completion fish) \ + --zsh <($out/bin/badrobot completion zsh) + ''; + + meta = with lib; { + homepage = "https://github.com/controlplaneio/badrobot"; + changelog = "https://github.com/controlplaneio/badrobot/blob/v${version}/CHANGELOG.md"; + description = "Operator Security Audit Tool"; + longDescription = '' + Badrobot is a Kubernetes Operator audit tool. It statically analyses + manifests for high risk configurations such as lack of security + restrictions on the deployed controller and the permissions of an + associated clusterole. The risk analysis is primarily focussed on the + likelihood that a compromised Operator would be able to obtain full + cluster permissions. + ''; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ jk ]; + }; +} diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index 5fc46e66629..8ac6771f358 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2022-05-13"; + version = "2022-05-18"; src = fetchFromGitHub { owner = "offensive-security"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-hSsVgH6iyfTrHwu/fNc00zhheys8mYYmuDAKJqSWGqo="; + sha256 = "sha256-E2QPeSlsJCRhnwgxr1NerLkSFbLLaTSLl8oeYsHQM+U="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix index 4ba294e42f2..531f88333d0 100644 --- a/pkgs/tools/security/libmodsecurity/default.nix +++ b/pkgs/tools/security/libmodsecurity/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub , autoreconfHook, bison, flex, pkg-config , curl, geoip, libmaxminddb, libxml2, lmdb, lua, pcre -, ssdeep, valgrind, yajl +, ssdeep, yajl , nixosTests }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook bison flex pkg-config ]; - buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre ssdeep valgrind yajl ]; + buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre ssdeep yajl ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/tools/system/ddrutility/default.nix b/pkgs/tools/system/ddrutility/default.nix index 02c89b22989..ce5e16e4eb4 100644 --- a/pkgs/tools/system/ddrutility/default.nix +++ b/pkgs/tools/system/ddrutility/default.nix @@ -13,6 +13,11 @@ stdenv.mkDerivation rec { substituteInPlace makefile --replace /usr/local "" ''; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: /build/ccltHly5.o:(.bss+0x119f8): multiple definition of `start_time'; /build/cc9evx3L.o:(.bss+0x10978): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + makeFlags = [ "DESTDIR=$(out)" ]; meta = with lib; { diff --git a/pkgs/tools/text/xml/xmldiff/default.nix b/pkgs/tools/text/xml/xmldiff/default.nix index 5814435e111..d9dbd70b648 100644 --- a/pkgs/tools/text/xml/xmldiff/default.nix +++ b/pkgs/tools/text/xml/xmldiff/default.nix @@ -2,6 +2,7 @@ , buildPythonApplication , fetchFromGitHub , lxml +, setuptools , six }: @@ -16,8 +17,9 @@ buildPythonApplication rec { hash = "sha256-xqudHYfwOce2C0pcFzId0JDIIC6R5bllmVKsH+CvTdE="; }; - buildInputs = [ + propagatedBuildInputs = [ lxml + setuptools six ]; @@ -36,6 +38,6 @@ buildPythonApplication rec { readable diffs in those situations. ''; license = licenses.mit; - maintainers = with maintainers; [ AndersonTorres ]; + maintainers = with maintainers; [ AndersonTorres anpryl ]; }; } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index eb5340740ef..b926e36bc9a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -170,6 +170,7 @@ mapAliases ({ cifs_utils = throw "'cifs_utils' has been renamed to/replaced by 'cifs-utils'"; # Converted to throw 2022-02-22 cipherscan = throw "cipherscan was removed from nixpkgs, as it was unmaintained"; # added 2021-12-11 ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22 + cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01 # these are for convenience, not for backward compat and shouldn't expire diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3713c677c39..7a1b2c233bd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1409,7 +1409,6 @@ with pkgs; ares = callPackage ../applications/emulators/bsnes/ares { }; bsnes-hd = callPackage ../applications/emulators/bsnes/bsnes-hd { - inherit (gnome2) gtksourceview; inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL; }; @@ -2558,6 +2557,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + badrobot = callPackage ../tools/security/badrobot {}; + bao = callPackage ../tools/security/bao {}; bar = callPackage ../tools/system/bar {}; @@ -7748,6 +7749,10 @@ with pkgs; mtail = callPackage ../servers/monitoring/mtail { }; + mujmap = callPackage ../applications/networking/mujmap { + inherit (darwin.apple_sdk.frameworks) Security; + }; + multitail = callPackage ../tools/misc/multitail { }; mx-puppet-discord = callPackage ../servers/mx-puppet-discord { }; @@ -16865,7 +16870,7 @@ with pkgs; cpp-hocon = callPackage ../development/libraries/cpp-hocon { }; - cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { }; + cpp-ipfs-http-client = callPackage ../development/libraries/cpp-ipfs-http-client { }; cpp-netlib = callPackage ../development/libraries/cpp-netlib { boost = boost169; # fatal error: 'boost/asio/stream_socket_service.hpp' file not found @@ -21571,6 +21576,8 @@ with pkgs; bird = callPackage ../servers/bird { }; + bloat = callPackage ../servers/bloat { }; + bosun = callPackage ../servers/monitoring/bosun { }; cayley = callPackage ../servers/cayley { }; @@ -23643,6 +23650,8 @@ with pkgs; rtkit = callPackage ../os-specific/linux/rtkit { }; + rt-tests = callPackage ../os-specific/linux/rt-tests { }; + rt5677-firmware = callPackage ../os-specific/linux/firmware/rt5677 { }; rtl8192su-firmware = callPackage ../os-specific/linux/firmware/rtl8192su-firmware { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3c97d570a90..ced4f28cea6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -19533,7 +19533,7 @@ let url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-4.018.tar.gz"; sha256 = "0pqygrl88jp2w73jd9cw4k22fhvh5vcwqbiwl9wpxm67ql95cwwa"; }; - buildInputs = [ TestDeep TestLongString TestMemoryGrowth TestWarn ]; + buildInputs = [ TestDeep TestLongString TestWarn ]; propagatedBuildInputs = [ SerealDecoder SerealEncoder ]; meta = { homepage = "https://github.com/Sereal/Sereal"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0ed03be8d5e..e9f377f5858 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7232,6 +7232,10 @@ in { pyfxa = callPackage ../development/python-modules/pyfxa { }; + pyfzf = callPackage ../development/python-modules/pyfzf { + inherit (pkgs) fzf; + }; + pygal = callPackage ../development/python-modules/pygal { }; pygame = callPackage ../development/python-modules/pygame {