diff options
Diffstat (limited to 'pkgs/applications')
128 files changed, 1412 insertions, 1452 deletions
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix index 3ec595e3e8bbc..d6bb4edfabd26 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix @@ -27,11 +27,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "5.1.6"; + version = "5.1.8"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-U1Qp7/7kAr1IEcv256I2J/sb5MYxfR20Pi5N8WaVh2U="; + sha256 = "sha256-KxNLae/uTYL1m/X+/7wr7hhKfw31NpB9Mw9RzfrTuus="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/pkgs/applications/audio/cmus/option-debugging.patch b/pkgs/applications/audio/cmus/option-debugging.patch deleted file mode 100644 index 84115e1480e13..0000000000000 --- a/pkgs/applications/audio/cmus/option-debugging.patch +++ /dev/null @@ -1,42 +0,0 @@ -Shows build and link errors in configure for ease of debugging which -options require what. -diff --git a/scripts/checks.sh b/scripts/checks.sh -index 64cbbf3..fab4d9b 100644 ---- a/scripts/checks.sh -+++ b/scripts/checks.sh -@@ -425,7 +425,7 @@ try_compile() - echo "$1" > $__src || exit 1 - shift - __cmd="$CC -c $CFLAGS $@ $__src -o $__obj" -- $CC -c $CFLAGS "$@" $__src -o $__obj 2>/dev/null -+ $CC -c $CFLAGS "$@" $__src -o $__obj - ;; - cxx) - __src=`tmp_file prog.cc` -@@ -433,7 +433,7 @@ try_compile() - echo "$1" > $__src || exit 1 - shift - __cmd="$CXX -c $CXXFLAGS $@ $__src -o $__obj" -- $CXX -c $CXXFLAGS "$@" $__src -o $__obj 2>/dev/null -+ $CXX -c $CXXFLAGS "$@" $__src -o $__obj - ;; - esac - return $? -@@ -451,7 +451,7 @@ try_compile_link() - echo "$1" > $__src || exit 1 - shift - __cmd="$CC $__src -o $__exe $CFLAGS $LDFLAGS $@" -- $CC $__src -o $__exe $CFLAGS $LDFLAGS "$@" 2>/dev/null -+ $CC $__src -o $__exe $CFLAGS $LDFLAGS "$@" - ;; - cxx) - __src=`tmp_file prog.cc` -@@ -459,7 +459,7 @@ try_compile_link() - echo "$1" > $__src || exit 1 - shift - __cmd="$CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS $@" -- $CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@" 2>/dev/null -+ $CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@" - ;; - esac - return $? diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix index 6d3fd8f1d17d7..6366721a35653 100644 --- a/pkgs/applications/audio/easytag/default.nix +++ b/pkgs/applications/audio/easytag/default.nix @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "View and edit tags for various audio files"; mainProgram = "easytag"; - homepage = "https://wiki.gnome.org/Apps/EasyTAG"; + homepage = "https://gitlab.gnome.org/GNOME/easytag"; license = licenses.gpl2Plus; maintainers = with maintainers; [ ]; platforms = platforms.linux; diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix index bba557913297f..55ffb370d60aa 100644 --- a/pkgs/applications/audio/gnome-podcasts/default.nix +++ b/pkgs/applications/audio/gnome-podcasts/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Listen to your favorite podcasts"; mainProgram = "gnome-podcasts"; - homepage = "https://wiki.gnome.org/Apps/Podcasts"; + homepage = "https://apps.gnome.org/Podcasts/"; license = licenses.gpl3Plus; maintainers = teams.gnome.members; platforms = platforms.unix; diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 34dbf0318a71c..3fb5e7efa7981 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -102,7 +102,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}"; description = "A modern music player for GNOME"; - homepage = "https://wiki.gnome.org/Apps/Lollypop"; + homepage = "https://gitlab.gnome.org/World/lollypop"; license = licenses.gpl3Plus; maintainers = with maintainers; [ lovesegfault ]; platforms = platforms.linux; diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix index cae2a3b7f1a9c..d0273e1c69508 100644 --- a/pkgs/applications/audio/mympd/default.nix +++ b/pkgs/applications/audio/mympd/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mympd"; - version = "14.1.2"; + version = "15.0.1"; src = fetchFromGitHub { owner = "jcorporation"; repo = "myMPD"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-CMqH9iy9U85bKj7YLcYsKFs5CDePGBEfUWL+sb7WzBw="; + sha256 = "sha256-rZfpGvxDV8KWGfQJ+mXsxLI8DIMSM0D9A3yrEZ+Zc38="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix index 0867919ab47e7..60ac9cb81b795 100644 --- a/pkgs/applications/audio/qpwgraph/default.nix +++ b/pkgs/applications/audio/qpwgraph/default.nix @@ -13,14 +13,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "qpwgraph"; - version = "0.6.3"; + version = "0.7.1"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "rncbc"; repo = "qpwgraph"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-mTWmXHC9KkXgUIO5CIcGOoYYLx+5si/LETSmHFhmrRE="; + sha256 = "sha256-mtW+dbjdp7as0N5+iacMSNrJ4jm8HWYqJP6G+lutucc="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix index 9929a32aabbfa..c14638912af21 100644 --- a/pkgs/applications/audio/rhythmbox/default.nix +++ b/pkgs/applications/audio/rhythmbox/default.nix @@ -113,7 +113,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Rhythmbox"; + homepage = "https://gitlab.gnome.org/GNOME/rhythmbox"; description = "A music playing application for GNOME"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix index c35a2a80643cc..bc1c72cf746e6 100644 --- a/pkgs/applications/audio/sonic-pi/default.nix +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -41,13 +41,13 @@ stdenv.mkDerivation rec { pname = "sonic-pi"; - version = "4.5.0"; + version = "4.5.1"; src = fetchFromGitHub { owner = "sonic-pi-net"; repo = pname; rev = "v${version}"; - hash = "sha256-s9B3OBwiUdCJyxbeQXeidv38pzmvC442Byl+llabqp0="; + hash = "sha256-JMextQY0jLShWmqRQoVAbqIzDhA1mOzI7vfsG7+jjX0="; }; mixFodDeps = beamPackages.fetchMixDeps { diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index 261de6e48450d..65a12c423b3f3 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A Gnome CD Ripper"; mainProgram = "sound-juicer"; - homepage = "https://wiki.gnome.org/Apps/SoundJuicer"; + homepage = "https://gitlab.gnome.org/GNOME/sound-juicer"; maintainers = [ maintainers.bdimcheff ]; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix index c086436de09ff..8f107ee2cb9c3 100644 --- a/pkgs/applications/audio/vcv-rack/default.nix +++ b/pkgs/applications/audio/vcv-rack/default.nix @@ -250,6 +250,7 @@ stdenv.mkDerivation rec { # no-derivatives clause license = with licenses; [ gpl3Plus cc-by-nc-40 unfreeRedistributable ]; maintainers = with maintainers; [ nathyong jpotier ddelabru ]; + mainProgram = "Rack"; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index c56e2ba4c48fc..642ba8e3fc0ff 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "youtube-music"; - version = "3.3.5"; + version = "3.3.6"; src = fetchFromGitHub { owner = "th-ch"; repo = "youtube-music"; rev = "v${finalAttrs.version}"; - hash = "sha256-JOmcfe7xrKRaxJwj2No3e99HBYbX+ROTjHl5Frc2P9Q="; + hash = "sha256-nxpctEG4XoxW6jOAxGdgTEYr6YnhFRR8+5HUQLxRJB0="; }; pnpmDeps = stdenvNoCC.mkDerivation { @@ -47,10 +47,10 @@ stdenv.mkDerivation (finalAttrs: { dontFixup = true; outputHashMode = "recursive"; outputHash = { - x86_64-linux = "sha256-K2yJdoi+bJpz0Xf2MHlFzQXbP+H3uVE2hYfkzoB7vBE="; - aarch64-linux = "sha256-ZiA6XKPnkoAl9m2vEJth2wyDxj61Efye4cUk+76znnM="; - x86_64-darwin = "sha256-wh5Y47c5qD2PctROP9AWqLDs7H5S2/8X0zxkSMkr1xQ="; - aarch64-darwin = "sha256-e2h4bLVnSEtZcHERsfkNmawgxQHQXxgXrNlFKB+IRTw="; + x86_64-linux = "sha256-bujlQxP6Lr3qPUDxYXKyb702ZJY/xbuCsu3wVDhcb+8="; + aarch64-linux = "sha256-0kyjjttpXpFVhdza5NAjGrRn++qc/N5/u2dQl7VufLE="; + x86_64-darwin = "sha256-Q37QJt/mhfpSguOlkJGKFTCrIOrpbG3OBwaD/Bg09Us="; + aarch64-darwin = "sha256-wbfjzoGa/6vIlOOVX3bKNQ2uxzph3WSofo3MGXqA6yQ="; }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); }; diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix index 49c5cadc89f2d..bb5c3c0c980fd 100644 --- a/pkgs/applications/backup/deja-dup/default.nix +++ b/pkgs/applications/backup/deja-dup/default.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: { of backing up the Right Way (encrypted, off-site, and regular) \ and uses duplicity as the backend. ''; - homepage = "https://wiki.gnome.org/Apps/DejaDup"; + homepage = "https://apps.gnome.org/DejaDup/"; license = licenses.gpl3Plus; maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix index 1cc43a059e204..948645d60006b 100644 --- a/pkgs/applications/blockchains/bitcoin-abc/default.nix +++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix @@ -25,13 +25,13 @@ mkDerivation rec { pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc"; - version = "0.29.2"; + version = "0.29.3"; src = fetchFromGitHub { owner = "bitcoin-ABC"; repo = "bitcoin-abc"; rev = "v${version}"; - hash = "sha256-og9hMQdDXGdUQN+A+z0064E6svF+qPd9CWtDQsdvNYQ="; + hash = "sha256-hYA0O7nDT8J1EnpW4i1+eBzkNw77JC6M7GwO3BdBh3U="; }; nativeBuildInputs = [ pkg-config cmake ]; diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix index d49902c9d5ac6..24ba95df584f8 100644 --- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -2,11 +2,11 @@ let pname = "ledger-live-desktop"; - version = "2.77.2"; + version = "2.79.1"; src = fetchurl { url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-orIyfRs6TJgqGGLpl2tvoUtejsB0ni8xRK0SboP2LHw="; + hash = "sha256-zgs4uIK73CBp4hTbuO8LdcgvmUN3hYsnv61E+WGlpjg="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix index 73bd7f3afc276..077ff6b11f45c 100644 --- a/pkgs/applications/blockchains/lnd/default.nix +++ b/pkgs/applications/blockchains/lnd/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "lnd"; - version = "0.17.4-beta"; + version = "0.17.5-beta"; src = fetchFromGitHub { owner = "lightningnetwork"; repo = "lnd"; rev = "v${version}"; - hash = "sha256-O6cGK4UMKrZpYqtghjjqqLBStLG5GEi/Q5liR557I8s="; + hash = "sha256-q/mzF6LPW/ThgqfGgjtax8GvoC3JEpg0IetfSTo1XYk="; }; - vendorHash = "sha256-eaQmM5bfsUmzTiUALX543VBQRJK+TqW2i28npwSrn3Q="; + vendorHash = "sha256-unT0zJrOEmKHpoUsrBHKfn5IziGlaqEtMfkeo/74Rfc="; subPackages = [ "cmd/lncli" "cmd/lnd" ]; diff --git a/pkgs/applications/blockchains/ton/default.nix b/pkgs/applications/blockchains/ton/default.nix index 888b6f8d2b97e..c602a88dc7bd2 100644 --- a/pkgs/applications/blockchains/ton/default.nix +++ b/pkgs/applications/blockchains/ton/default.nix @@ -7,6 +7,7 @@ , gperf , libmicrohttpd , libsodium +, lz4 , openssl , readline , secp256k1 @@ -16,13 +17,13 @@ stdenv.mkDerivation rec { pname = "ton"; - version = "2024.03"; + version = "2024.04"; src = fetchFromGitHub { owner = "ton-blockchain"; repo = "ton"; rev = "v${version}"; - hash = "sha256-AVg33aZAyedmNIFqQJm4Nn6luLxK4mKgnIRmNU7j2C0="; + hash = "sha256-hh8D4IZX6RS/RXdhVONhgetqp89kpTC2IwDQ2KHdKsE="; fetchSubmodules = true; }; @@ -38,6 +39,7 @@ stdenv.mkDerivation rec { gperf libmicrohttpd libsodium + lz4 openssl readline secp256k1 diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix index 328e423535f34..76968bda6735f 100644 --- a/pkgs/applications/blockchains/trezor-suite/default.nix +++ b/pkgs/applications/blockchains/trezor-suite/default.nix @@ -8,7 +8,7 @@ let pname = "trezor-suite"; - version = "24.3.2"; + version = "24.4.3"; name = "${pname}-${version}"; suffix = { @@ -19,8 +19,8 @@ let src = fetchurl { url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-oj/UrUFTH0QZD2eTHdR/Lu6Tz6AIhbIBgPJD3jH1YJKgOZIzX21H0KSddMgu+iKPw2WmoKf0UP+qqf+yFs/mVQ=="; - x86_64-linux = "sha512-RakNuSDKR0neO0IZwTVaARX9tWNDfJwOBFL3teUsNlcrur862I1c6NaaA/RxriujolDRI+wgG0twaUGEXXar5g=="; + aarch64-linux = "sha512-EPpnEgE9euHGSo7CFMJg7hF3p5LqPc3zPxDQsNzyOI2lNv90vydtEmOm1fORj0MXbQsGLLS1nSzMH3vI6O9WmA=="; + x86_64-linux = "sha512-FjHaomHjMSVwxO63NEEC5UjotzDlrX8yTGaz20RyoadClAUKIeVfeEt/5jDueFr2ZXfeLraRIQ0ywKm+wkC2EQ=="; }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix index cb4cec172bac1..f8a0ec28a3a2e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix @@ -16,9 +16,8 @@ let inherit (melpaStablePackages) tree-sitter-langs; - libSuffix = if stdenv.isDarwin then "dylib" else "so"; langName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname); - soName = g: langName g + "." + libSuffix; + soName = g: langName g + stdenv.hostPlatform.extensions.sharedLibrary; grammarDir = runCommand "emacs-tree-sitter-grammars" { # Fake same version number as upstream language bundle to prevent triggering runtime downloads diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix index 179cbb0fdbf63..618ea2f471a2d 100644 --- a/pkgs/applications/editors/focuswriter/default.nix +++ b/pkgs/applications/editors/focuswriter/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "focuswriter"; - version = "1.8.6"; + version = "1.8.7"; src = fetchFromGitHub { owner = "gottcode"; repo = "focuswriter"; rev = "v${version}"; - hash = "sha256-z3DQaMgaTjzj2Oh1QI7A5v9G7GxjlGj/7jInxH/tDaY="; + hash = "sha256-op76oHVo6yCpXzRFYAYXMCEslCgDA6jXPcgWdTeGJ+E="; }; nativeBuildInputs = [ pkg-config cmake qttools wrapQtAppsHook ]; diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index b1360f2a147e7..e689f9ee7d069 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -176,7 +176,7 @@ stdenv.mkDerivation rec { currently recommend running gnome-builder inside a nix-shell with appropriate dependencies loaded. ''; - homepage = "https://wiki.gnome.org/Apps/Builder"; + homepage = "https://apps.gnome.org/Builder/"; license = licenses.gpl3Plus; maintainers = teams.gnome.members; platforms = platforms.linux; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 5eb772dccf052..e477fa1f520ec 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -5590,6 +5590,18 @@ final: prev: meta.homepage = "https://github.com/smjonas/live-command.nvim/"; }; + llm-nvim = buildVimPlugin { + pname = "llm.nvim"; + version = "2024-02-22"; + src = fetchFromGitHub { + owner = "huggingface"; + repo = "llm.nvim"; + rev = "51b76dac9c33c0122adfe28daf52ceaa31c4aa02"; + sha256 = "07i1ixbiby4c81lkydwvygz6vxs1xhqnwzcsad3xzcaz7zdl00kx"; + }; + meta.homepage = "https://github.com/huggingface/llm.nvim/"; + }; + lsp-colors-nvim = buildVimPlugin { pname = "lsp-colors.nvim"; version = "2023-02-27"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 2776640fdf594..faf446c70f415 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -468,6 +468,7 @@ https://github.com/ldelossa/litee-filetree.nvim/,, https://github.com/ldelossa/litee-symboltree.nvim/,, https://github.com/ldelossa/litee.nvim/,, https://github.com/smjonas/live-command.nvim/,HEAD, +https://github.com/huggingface/llm.nvim/,HEAD, https://github.com/folke/lsp-colors.nvim/,, https://github.com/lukas-reineke/lsp-format.nvim/,HEAD, https://github.com/lvimuser/lsp-inlayhints.nvim/,HEAD, diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix deleted file mode 100644 index 479a475e07416..0000000000000 --- a/pkgs/applications/editors/vis/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper -, copyDesktopItems, makeDesktopItem -, ncurses, libtermkey, lua, tre -, acl, libselinux -}: - -let - luaEnv = lua.withPackages(ps: [ ps.lpeg ]); -in -stdenv.mkDerivation rec { - pname = "vis"; - version = "0.8"; - - src = fetchFromGitHub { - rev = "v${version}"; - sha256 = "sha256-XvWj6fZxzXeRA5oCAqIIwlfjrJcHnDrjeiPExEQKSkY="; - repo = "vis"; - owner = "martanne"; - }; - - nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ]; - - buildInputs = [ - ncurses - libtermkey - luaEnv - tre - ] ++ lib.optionals stdenv.isLinux [ - acl - libselinux - ]; - - postInstall = '' - wrapProgram $out/bin/vis \ - --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ - --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \ - --prefix VIS_PATH : "\$HOME/.config:$out/share/vis" - ''; - - desktopItems = [ - (makeDesktopItem { - name = "vis"; - exec = "vis %U"; - type = "Application"; - icon = "accessories-text-editor"; - comment = meta.description; - desktopName = "vis"; - genericName = "Text editor"; - categories = [ "Application" "Development" "IDE" ]; - mimeTypes = [ "text/plain" "application/octet-stream" ]; - startupNotify = false; - terminal = true; - }) - ]; - - meta = with lib; { - description = "A vim like editor"; - homepage = "https://github.com/martanne/vis"; - license = licenses.isc; - maintainers = with maintainers; [ vrthra ramkromberg ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix index 4ab87219a7cf3..983ae07bb196e 100644 --- a/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix +++ b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix @@ -1,22 +1,21 @@ -{ lib -, vscode-utils }: +{ lib, vscode-utils }: let inherit (vscode-utils) buildVscodeMarketplaceExtension; in - buildVscodeMarketplaceExtension { - mktplcRef = { - name = "vscode-wakatime"; - publisher = "WakaTime"; - version = "18.0.5"; - hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs="; - }; +buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-wakatime"; + publisher = "WakaTime"; + version = "18.0.5"; + hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs="; + }; - meta = { - description = '' - Visual Studio Code plugin for automatic time tracking and metrics generated - from your programming activity - ''; - license = lib.licenses.bsd3; - }; - } + meta = { + description = '' + Visual Studio Code plugin for automatic time tracking and metrics generated + from your programming activity + ''; + license = lib.licenses.bsd3; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix index 5717ac0c12b57..fadcfe758a553 100644 --- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix @@ -1,11 +1,19 @@ -{ lib, stdenv, vscode-utils, callPackage }: +{ + lib, + stdenv, + vscode-utils, + callPackage, +}: let version = "1.50.0"; rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; }; arch = - if stdenv.isLinux then "linux" - else if stdenv.isDarwin then "darwin" - else throw "Unsupported system: ${stdenv.system}"; + if stdenv.isLinux then + "linux" + else if stdenv.isDarwin then + "darwin" + else + throw "Unsupported system: ${stdenv.system}"; analysisDir = "server/analysis_binaries/${arch}"; in vscode-utils.buildVscodeMarketplaceExtension rec { @@ -23,7 +31,10 @@ vscode-utils.buildVscodeMarketplaceExtension rec { meta = { description = "The official VSCode plugin for ReScript"; homepage = "https://github.com/rescript-lang/rescript-vscode"; - maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ]; + maintainers = [ + lib.maintainers.dlip + lib.maintainers.jayesh-bhoot + ]; license = lib.licenses.mit; }; } diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix index 9ab9e4f165ddc..9a00fb31cd41e 100644 --- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix +++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, bash, ocaml, ocamlPackages, dune_3, version }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, + ocaml, + ocamlPackages, + dune_3, + version, +}: stdenv.mkDerivation { pname = "rescript-editor-analysis"; @@ -11,7 +20,11 @@ stdenv.mkDerivation { hash = "sha256-+Ht8qWwxtFWHFMiV/aoZIs2S3SxkOWgdwSKN+akp/LU="; }; - nativeBuildInputs = [ ocaml dune_3 ocamlPackages.cppo ]; + nativeBuildInputs = [ + ocaml + dune_3 + ocamlPackages.cppo + ]; # Skip testing phases because they need to download and install node modules postPatch = '' @@ -28,7 +41,10 @@ stdenv.mkDerivation { meta = { description = "Analysis binary for the ReScript VSCode plugin"; homepage = "https://github.com/rescript-lang/rescript-vscode"; - maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ]; + maintainers = [ + lib.maintainers.dlip + lib.maintainers.jayesh-bhoot + ]; license = lib.licenses.mit; }; } diff --git a/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix b/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix index 5ba82c59fee56..9202ddb72b16d 100644 --- a/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix +++ b/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix @@ -1,8 +1,9 @@ -{ graphviz -, jre -, lib -, makeWrapper -, vscode-utils +{ + graphviz, + jre, + lib, + makeWrapper, + vscode-utils, }: vscode-utils.buildVscodeMarketplaceExtension rec { @@ -13,13 +14,9 @@ vscode-utils.buildVscodeMarketplaceExtension rec { hash = "sha256-TvApcBBI+Egu7t4tJuEYTs6mhvABOY2eXVb57O4gWfs="; }; - nativeBuildInputs = [ - makeWrapper - ]; + nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - graphviz - ]; + buildInputs = [ graphviz ]; postInstall = '' wrapProgram $out/share/vscode/extensions/contextmapper.context-mapper-vscode-extension/lsp/bin/context-mapper-lsp \ diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 409cb43eae35d..260711bd4880b 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -970,7 +970,7 @@ let version = "0.8.25"; } // sources.${stdenv.system}; - nativeBuildInputs = [ autoPatchelfHook ]; + nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; buildInputs = [ stdenv.cc.cc.lib ]; meta = { description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE"; @@ -3446,6 +3446,8 @@ let }; }; + reditorsupport.r = callPackage ./reditorsupport.r { }; + reloadedextensions.reloaded-cpp = buildVscodeMarketplaceExtension { mktplcRef = { name = "reloaded-cpp"; @@ -3514,8 +3516,8 @@ let mktplcRef = { name = "wikitext"; publisher = "RoweWilsonFrederiskHolme"; - version = "3.8.0"; - sha256 = "30540a85163e797028eec9bc3db1866bbf473e98615bf6ade6d1d672017ebe52"; + version = "3.8.1"; + hash = "sha256-piwS3SPjx10nsjN5axC+EN0MEDf0r2lVFllqQzciOfc="; }; meta = { description = "Extension that helps users view and write MediaWiki's Wikitext files"; @@ -4571,6 +4573,22 @@ let }; }; + vue.volar = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "volar"; + publisher = "Vue"; + version = "2.0.16"; + hash = "sha256-RTBbF7qahYP4L7SZ/5aCM/e5crZAyyPRcgL48FVL1jk="; + }; + meta = { + changelog = "https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md"; + description = "The official Vue VSCode extension"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=Vue.volar"; + homepage = "https://github.com/vuejs/language-tools"; + license = lib.licenses.mit; + }; + }; + vspacecode.whichkey = buildVscodeMarketplaceExtension { mktplcRef = { name = "whichkey"; @@ -4583,6 +4601,22 @@ let }; }; + vue.vscode-typescript-vue-plugin = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-typescript-vue-plugin"; + publisher = "Vue"; + version = "1.8.27"; + hash = "sha256-ym1+WPKBcn4h9lqSFVehfiDoGUEviOSEVXVLhHcYvfc="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/Vue.vscode-typescript-vue-plugin/changelog"; + description = "Vue VSCode extension for TypeScript"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin"; + homepage = "https://github.com/vuejs/language-tools"; + license = lib.licenses.mit; + }; + }; + waderyan.gitblame = buildVscodeMarketplaceExtension { mktplcRef = { name = "gitblame"; diff --git a/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix b/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix index f84f625779b39..ba20cb5b3bbe4 100644 --- a/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix +++ b/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix @@ -1,6 +1,4 @@ -{ lib -, vscode-utils -}: +{ lib, vscode-utils }: vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { diff --git a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix index a73da886437f0..dca2a081d92be 100644 --- a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix +++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix @@ -1,4 +1,8 @@ -{ lib, vscode-utils, terraform-ls }: +{ + lib, + vscode-utils, + terraform-ls, +}: vscode-utils.buildVscodeMarketplaceExtension rec { mktplcRef = { name = "terraform"; diff --git a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix index 0f11ddc5ed2cb..afe4cd7bdb742 100644 --- a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix +++ b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix @@ -1,4 +1,10 @@ -{ lib, vscode-utils, plantuml, jq, moreutils }: +{ + lib, + vscode-utils, + plantuml, + jq, + moreutils, +}: vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { @@ -7,7 +13,10 @@ vscode-utils.buildVscodeMarketplaceExtension { version = "2.17.4"; hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug="; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; postInstall = '' cd "$out/$installPrefix" jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json @@ -15,13 +24,10 @@ vscode-utils.buildVscodeMarketplaceExtension { meta = { description = "A Visual Studio Code extension for supporting Rich PlantUML"; - downloadPage = - "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml"; homepage = "https://github.com/qjebbs/vscode-plantuml"; - changelog = - "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog"; + changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog"; license = lib.licenses.mit; maintainers = [ lib.maintainers.victormignot ]; }; } - diff --git a/pkgs/applications/editors/vscode/extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix index 3c3253e2c3da6..6c522acaa1fd2 100644 --- a/pkgs/applications/editors/vscode/extensions/language-packs.nix +++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix @@ -4,7 +4,12 @@ with vscode-utils; let - buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }: + buildVscodeLanguagePack = + { + language, + version ? "1.76.2023030809", + sha256, + }: buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-language-pack-${language}"; @@ -15,7 +20,6 @@ let license = lib.licenses.mit; }; }; - in # See list of core language packs at https://github.com/Microsoft/vscode-loc diff --git a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix index 6c7ba096f6c58..4f947a493542f 100644 --- a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix +++ b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix @@ -1,4 +1,11 @@ -{ publisher, name, version, arch ? "", sha256 ? "", hash ? "" }: +{ + publisher, + name, + version, + arch ? "", + sha256 ? "", + hash ? "", +}: let archurl = (if arch == "" then "" else "?targetPlatform=${arch}"); in diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix index e8f5f60ee9edc..50480e3460a95 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix @@ -1,56 +1,59 @@ -{ lib -, icu -, openssl -, patchelf -, stdenv -, vscode-utils +{ + lib, + icu, + openssl, + patchelf, + stdenv, + vscode-utils, }: let inherit (stdenv.hostPlatform) system; inherit (vscode-utils) buildVscodeMarketplaceExtension; - extInfo = { - x86_64-linux = { - arch = "linux-x64"; - hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8="; - binaries = [ - "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller" - "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost" - "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor" - "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server" - ]; - }; - aarch64-linux = { - arch = "linux-arm64"; - hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw="; - binaries = [ - "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller" - "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost" - "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor" - "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server" - ]; - }; - x86_64-darwin = { - arch = "darwin-x64"; - hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM="; - binaries = [ - "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller" - "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost" - "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor" - "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server" - ]; - }; - aarch64-darwin = { - arch = "darwin-arm64"; - hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw="; - binaries = [ - "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller" - "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost" - "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor" - "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server" - ]; - }; - }.${system} or (throw "Unsupported system: ${system}"); + extInfo = + { + x86_64-linux = { + arch = "linux-x64"; + hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8="; + binaries = [ + "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller" + "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost" + "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor" + "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server" + ]; + }; + aarch64-linux = { + arch = "linux-arm64"; + hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw="; + binaries = [ + "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller" + "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost" + "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor" + "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server" + ]; + }; + x86_64-darwin = { + arch = "darwin-x64"; + hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM="; + binaries = [ + "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller" + "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost" + "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor" + "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server" + ]; + }; + aarch64-darwin = { + arch = "darwin-arm64"; + hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw="; + binaries = [ + "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller" + "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost" + "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor" + "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server" + ]; + }; + } + .${system} or (throw "Unsupported system: ${system}"); in buildVscodeMarketplaceExtension { mktplcRef = { @@ -61,50 +64,55 @@ buildVscodeMarketplaceExtension { }; sourceRoot = "extension"; # This has more than one folder. - nativeBuildInputs = [ - patchelf - ]; + nativeBuildInputs = [ patchelf ]; - postPatch = '' - declare ext_unique_id - ext_unique_id="$(basename "$out" | head -c 32)" + postPatch = + '' + declare ext_unique_id + ext_unique_id="$(basename "$out" | head -c 32)" - patchelf_add_icu_as_needed() { - declare elf="''${1?}" - declare icu_major_v="${ - lib.head (lib.splitVersion (lib.getVersion icu.name)) - }" + patchelf_add_icu_as_needed() { + declare elf="''${1?}" + declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}" - for icu_lib in icui18n icuuc icudata; do - patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf" - done - } + for icu_lib in icui18n icuuc icudata; do + patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf" + done + } - patchelf_common() { - declare elf="''${1?}" + patchelf_common() { + declare elf="''${1?}" - patchelf_add_icu_as_needed "$elf" - patchelf --add-needed "libssl.so" "$elf" - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \ - "$elf" - } + patchelf_add_icu_as_needed "$elf" + patchelf --add-needed "libssl.so" "$elf" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${ + lib.makeLibraryPath [ + stdenv.cc.cc + openssl + icu.out + ] + }:\$ORIGIN" \ + "$elf" + } - substituteInPlace dist/extension.js \ - --replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \ - --replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}' + substituteInPlace dist/extension.js \ + --replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \ + --replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}' - '' - + (lib.concatStringsSep "\n" (map - (bin: '' - chmod +x "${bin}" - '') - extInfo.binaries)) - + lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map - (bin: '' - patchelf_common "${bin}" - '') - extInfo.binaries)); + '' + + (lib.concatStringsSep "\n" ( + map (bin: '' + chmod +x "${bin}" + '') extInfo.binaries + )) + + lib.optionalString stdenv.isLinux ( + lib.concatStringsSep "\n" ( + map (bin: '' + patchelf_common "${bin}" + '') extInfo.binaries + ) + ); meta = { changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.csdevkit/changelog"; @@ -112,6 +120,11 @@ buildVscodeMarketplaceExtension { downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit"; license = lib.licenses.unfree; maintainers = [ lib.maintainers.ggg ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix index 213ce3550f45c..189804e981781 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix @@ -1,11 +1,11 @@ -{ lib -, vscode-utils -, patchelf -, icu -, stdenv -, openssl -, coreutils -, +{ + lib, + vscode-utils, + patchelf, + icu, + stdenv, + openssl, + coreutils, }: let inherit (stdenv.hostPlatform) system; @@ -26,31 +26,32 @@ let ".debugger/x86_64/vsdbg" ]; in - { - x86_64-linux = { - arch = "linux-x64"; - hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE="; - binaries = linuxBins; - }; - aarch64-linux = { - arch = "linux-arm64"; - hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA="; - binaries = linuxBins; - }; - x86_64-darwin = { - arch = "darwin-x64"; - hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI="; - binaries = darwinBins; - }; - aarch64-darwin = { - arch = "darwin-arm64"; - hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0="; - binaries = darwinBins ++ [ - ".debugger/arm64/vsdbg-ui" - ".debugger/arm64/vsdbg" - ]; - }; - }.${system} or (throw "Unsupported system: ${system}"); + { + x86_64-linux = { + arch = "linux-x64"; + hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE="; + binaries = linuxBins; + }; + aarch64-linux = { + arch = "linux-arm64"; + hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA="; + binaries = linuxBins; + }; + x86_64-darwin = { + arch = "darwin-x64"; + hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI="; + binaries = darwinBins; + }; + aarch64-darwin = { + arch = "darwin-arm64"; + hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0="; + binaries = darwinBins ++ [ + ".debugger/arm64/vsdbg-ui" + ".debugger/arm64/vsdbg" + ]; + }; + } + .${system} or (throw "Unsupported system: ${system}"); in buildVscodeMarketplaceExtension { mktplcRef = { @@ -60,16 +61,13 @@ buildVscodeMarketplaceExtension { inherit (extInfo) hash arch; }; - nativeBuildInputs = [ - patchelf - ]; + nativeBuildInputs = [ patchelf ]; - postPatch = '' + postPatch = + '' patchelf_add_icu_as_needed() { declare elf="''${1?}" - declare icu_major_v="${ - lib.head (lib.splitVersion (lib.getVersion icu.name)) - }" + declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}" for icu_lib in icui18n icuuc icudata; do patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf" @@ -82,7 +80,13 @@ buildVscodeMarketplaceExtension { patchelf_add_icu_as_needed "$elf" patchelf --add-needed "libssl.so" "$elf" patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \ + --set-rpath "${ + lib.makeLibraryPath [ + stdenv.cc.cc + openssl + icu.out + ] + }:\$ORIGIN" \ "$elf" } @@ -90,22 +94,29 @@ buildVscodeMarketplaceExtension { --replace 'uname -m' '${lib.getExe' coreutils "uname"} -m' '' - + (lib.concatStringsSep "\n" (map - (bin: '' + + (lib.concatStringsSep "\n" ( + map (bin: '' chmod +x "${bin}" - '') - extInfo.binaries)) - + lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map - (bin: '' - patchelf_common "${bin}" - '') - extInfo.binaries)); + '') extInfo.binaries + )) + + lib.optionalString stdenv.isLinux ( + lib.concatStringsSep "\n" ( + map (bin: '' + patchelf_common "${bin}" + '') extInfo.binaries + ) + ); meta = { description = "Official C# support for Visual Studio Code"; homepage = "https://github.com/dotnet/vscode-csharp"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ggg ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix index 25091b95efc4b..67a96652b6ed6 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix @@ -1,19 +1,20 @@ -{ lib -, vscode-utils -, icu -, python3 +{ + lib, + vscode-utils, + icu, + python3, # When `true`, the python default setting will be fixed to specified. # Use version from `PATH` for default setting otherwise. # Defaults to `false` as we expect it to be project specific most of the time. -, pythonUseFixed ? false + pythonUseFixed ? false, # For updateScript -, writeScript -, bash -, curl -, coreutils -, gnused -, jq -, nix + writeScript, + bash, + curl, + coreutils, + gnused, + jq, + nix, }: vscode-utils.buildVscodeMarketplaceExtension rec { @@ -33,33 +34,37 @@ vscode-utils.buildVscodeMarketplaceExtension rec { jedi-language-server ]; - postPatch = '' - # remove bundled python deps and use libs from nixpkgs - rm -r pythonFiles/lib - mkdir -p pythonFiles/lib/python/ - ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/ - buildPythonPath "$propagatedBuildInputs" - for i in pythonFiles/*.py; do - patchPythonScript "$i" - done - '' + lib.optionalString pythonUseFixed '' - # Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`. - substituteInPlace "./package.json" \ - --replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\"" - ''; + postPatch = + '' + # remove bundled python deps and use libs from nixpkgs + rm -r pythonFiles/lib + mkdir -p pythonFiles/lib/python/ + ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/ + buildPythonPath "$propagatedBuildInputs" + for i in pythonFiles/*.py; do + patchPythonScript "$i" + done + '' + + lib.optionalString pythonUseFixed '' + # Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`. + substituteInPlace "./package.json" \ + --replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\"" + ''; passthru.updateScript = writeScript "update" '' #! ${bash}/bin/bash set -eu -o pipefail - export PATH=${lib.makeBinPath [ - curl - coreutils - gnused - jq - nix - ]} + export PATH=${ + lib.makeBinPath [ + curl + coreutils + gnused + jq + nix + ] + } api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \ -H 'accept: application/json;api-version=3.0-preview.1' \ @@ -82,7 +87,14 @@ vscode-utils.buildVscodeMarketplaceExtension rec { homepage = "https://github.com/Microsoft/vscode-python"; changelog = "https://github.com/microsoft/vscode-python/releases"; license = lib.licenses.mit; - platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; - maintainers = [ lib.maintainers.jraygauthier lib.maintainers.jfchevrette ]; + platforms = [ + "x86_64-linux" + "aarch64-darwin" + "x86_64-darwin" + ]; + maintainers = [ + lib.maintainers.jraygauthier + lib.maintainers.jfchevrette + ]; }; } diff --git a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix index 99de6b59b1761..41803cadb3a79 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix @@ -1,4 +1,9 @@ -{ lib, vscode-utils, jq, moreutils }: +{ + lib, + vscode-utils, + jq, + moreutils, +}: vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix index 63e351f69b4a3..3872aad7ea4b8 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix @@ -1,7 +1,8 @@ -{ lib -, nixosTests -, vscode-utils -, useLocalExtensions ? false +{ + lib, + nixosTests, + vscode-utils, + useLocalExtensions ? false, }: # Note that useLocalExtensions requires that vscode-server is not running # on host. If it is, you'll need to remove $HOME/.vscode-server, @@ -92,7 +93,9 @@ buildVscodeMarketplaceExtension { --replace '# Start the server\n' '${patch}' ''; - passthru.tests = { inherit (nixosTests) vscode-remote-ssh; }; + passthru.tests = { + inherit (nixosTests) vscode-remote-ssh; + }; meta = { description = "Use any remote machine with a SSH server as your development environment."; diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix index e3af2a04f0fd3..731bddc3553c5 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix @@ -1,8 +1,19 @@ -{ lib, vscode-utils -, fetchurl, writeScript, runtimeShell -, jq, clang-tools -, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise. -, autoPatchelfHook, makeWrapper, stdenv, lttng-ust, libkrb5, zlib +{ + lib, + vscode-utils, + fetchurl, + writeScript, + runtimeShell, + jq, + clang-tools, + gdbUseFixed ? true, + gdb, # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise. + autoPatchelfHook, + makeWrapper, + stdenv, + lttng-ust, + libkrb5, + zlib, }: /* @@ -94,7 +105,13 @@ vscode-utils.buildVscodeMarketplaceExtension { description = "The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging."; homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools"; license = lib.licenses.unfree; - maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = [ + lib.maintainers.jraygauthier + lib.maintainers.stargate01 + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix index 0f70451c4652e..180490e60a655 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix @@ -1,4 +1,8 @@ -{ lib, vscode-utils, xsel }: +{ + lib, + vscode-utils, + xsel, +}: vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { diff --git a/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix new file mode 100644 index 0000000000000..de1759d7b0e46 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix @@ -0,0 +1,42 @@ +{ + lib, + vscode-utils, + jq, + moreutils, + python311Packages, + R, + rPackages, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "r"; + publisher = "reditorsupport"; + version = "2.8.2"; + hash = "sha256-FPL/JjW452KRchcQ0iHXRJarZXvS3B8PvZhXjf3rMhQ="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + buildInputs = [ + python311Packages.radian + R + rPackages.languageserver + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."r.rpath.mac".default = "${lib.getExe' R "R"}"' package.json | sponge package.json + jq '.contributes.configuration.properties."r.rpath.linux".default = "${lib.getExe' R "R"}"' package.json | sponge package.json + jq '.contributes.configuration.properties."r.rterm.mac".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json + jq '.contributes.configuration.properties."r.rterm.linux".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json + ''; + meta = { + changelog = "https://marketplace.visualstudio.com/items/REditorSupport.r/changelog"; + description = "A Visual Studio Code extension for the R programming language"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=REditorSupport.r"; + homepage = "https://github.com/REditorSupport/vscode-R"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.pandapip1 ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix index 056904390c3ea..6fd65c9ae9b4a 100644 --- a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, vscode-utils -, jq -, rust-analyzer -, nodePackages -, moreutils -, esbuild -, pkg-config -, libsecret -, stdenv -, darwin -, setDefaultServerPath ? true +{ + lib, + fetchFromGitHub, + vscode-utils, + jq, + rust-analyzer, + nodePackages, + moreutils, + esbuild, + pkg-config, + libsecret, + stdenv, + darwin, + setDefaultServerPath ? true, }: let @@ -29,26 +30,32 @@ let hash = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE="; }; - build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps"; + build-deps = + nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps"; # FIXME: Making a new derivation to link `node_modules` and run `npm run package` # will cause a build failure. vsix = build-deps.override { src = "${src}/editors/code"; - outputs = [ "vsix" "out" ]; + outputs = [ + "vsix" + "out" + ]; inherit releaseTag; - nativeBuildInputs = [ - jq - moreutils - esbuild - # Required by `keytar`, which is a dependency of `vsce`. - pkg-config - libsecret - ] ++ lib.optionals stdenv.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.Security - ]; + nativeBuildInputs = + [ + jq + moreutils + esbuild + # Required by `keytar`, which is a dependency of `vsce`. + pkg-config + libsecret + ] + ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.Security + ]; # Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65 postRebuild = '' @@ -65,7 +72,6 @@ let echo y | npx vsce package -o $vsix/${pname}.zip ''; }; - in vscode-utils.buildVscodeExtension { inherit version vsix; @@ -75,7 +81,10 @@ vscode-utils.buildVscodeExtension { vscodeExtPublisher = publisher; vscodeExtName = pname; - nativeBuildInputs = lib.optionals setDefaultServerPath [ jq moreutils ]; + nativeBuildInputs = lib.optionals setDefaultServerPath [ + jq + moreutils + ]; preInstall = lib.optionalString setDefaultServerPath '' jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \ @@ -86,9 +95,11 @@ vscode-utils.buildVscodeExtension { meta = { description = "An alternative rust language server to the RLS"; homepage = "https://github.com/rust-lang/rust-analyzer"; - license = [ lib.licenses.mit lib.licenses.asl20 ]; + license = [ + lib.licenses.mit + lib.licenses.asl20 + ]; maintainers = [ ]; platforms = lib.platforms.all; }; } - diff --git a/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix index a6a33854d3b1a..4a8db2db4be54 100644 --- a/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix +++ b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix @@ -1,6 +1,7 @@ -{ lib -, vscode-utils -, lua-language-server +{ + lib, + vscode-utils, + lua-language-server, }: vscode-utils.buildVscodeMarketplaceExtension { diff --git a/pkgs/applications/editors/vscode/extensions/updateSettings.nix b/pkgs/applications/editors/vscode/extensions/updateSettings.nix index 443b409302796..fe23e099b536d 100644 --- a/pkgs/applications/editors/vscode/extensions/updateSettings.nix +++ b/pkgs/applications/editors/vscode/extensions/updateSettings.nix @@ -1,39 +1,43 @@ # Updates the vscode setting file base on a nix expression # should run from the workspace root. -{ writeShellScriptBin -, lib -, jq +{ + writeShellScriptBin, + lib, + jq, }: ##User Input -{ settings ? {} -# if marked as true will create an empty json file if does not exist -, createIfDoesNotExists ? true -, vscodeSettingsFile ? ".vscode/settings.json" -, userSettingsFolder ? "" -, symlinkFromUserSetting ? false +{ + settings ? { }, + # if marked as true will create an empty json file if does not exist + createIfDoesNotExists ? true, + vscodeSettingsFile ? ".vscode/settings.json", + userSettingsFolder ? "", + symlinkFromUserSetting ? false, }: let updateVSCodeSettingsCmd = '' - ( - echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...' - oldSettings=$(cat ${vscodeSettingsFile}) - echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile} - )''; + ( + echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...' + oldSettings=$(cat ${vscodeSettingsFile}) + echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile} + )''; createEmptySettingsCmd = ''mkdir -p .vscode && echo "{}" > ${vscodeSettingsFile}''; fileName = builtins.baseNameOf vscodeSettingsFile; - symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting - '' && mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" ''; + symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting ''&& mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" ''; in - writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}'' - (lib.optionalString (settings != {}) - (if createIfDoesNotExists then '' - [ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd} - ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd} - '' - else ''[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd} - '' - ) +writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}'' ( + lib.optionalString (settings != { }) ( + if createIfDoesNotExists then + '' + [ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd} + ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd} + '' + else + '' + [ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd} + '' ) +) diff --git a/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix index 097b9cad16616..f12350077590d 100644 --- a/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix +++ b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix @@ -1,5 +1,5 @@ -with import <nixpkgs>{}; -callPackage (import ./updateSettings.nix) {} { +with import <nixpkgs> { }; +callPackage (import ./updateSettings.nix) { } { settings = { a = "fdsdf"; }; diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix index b6e47094d57a9..70f4cbd833deb 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix @@ -1,5 +1,20 @@ -{ pkgs, lib, stdenv, fetchFromGitHub, runCommand, rustPlatform, makeWrapper, llvmPackages -, buildNpmPackage, cmake, nodejs, unzip, python3, pkg-config, libsecret, darwin +{ + pkgs, + lib, + stdenv, + fetchFromGitHub, + runCommand, + rustPlatform, + makeWrapper, + llvmPackages, + buildNpmPackage, + cmake, + nodejs, + unzip, + python3, + pkg-config, + libsecret, + darwin, }: assert lib.versionAtLeast python3.version "3.5"; let @@ -31,9 +46,7 @@ let nativeBuildInputs = [ makeWrapper ]; - env = lib.optionalAttrs stdenv.isDarwin { - NIX_LDFLAGS = "-llldb -lc++abi"; - }; + env = lib.optionalAttrs stdenv.isDarwin { NIX_LDFLAGS = "-llldb -lc++abi"; }; buildAndTestSubdir = "adapter"; @@ -76,12 +89,15 @@ let pkg-config ]; - buildInputs = [ - libsecret - ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ - Security - AppKit - ]); + buildInputs = + [ libsecret ] + ++ lib.optionals stdenv.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + AppKit + ] + ); dontNpmBuild = true; @@ -103,14 +119,25 @@ let "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver" else "${lldb.out}/bin/lldb-server"; - -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "vscode-extension-${publisher}-${pname}"; - inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName; + inherit + src + version + vscodeExtUniqueId + vscodeExtPublisher + vscodeExtName + ; installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}"; - nativeBuildInputs = [ cmake nodejs unzip makeWrapper ]; + nativeBuildInputs = [ + cmake + nodejs + unzip + makeWrapper + ]; patches = [ ./cmake-build-extension-only.patch ]; @@ -120,12 +147,14 @@ in stdenv.mkDerivation { --replace "1.9.2" ${version} ''; - postConfigure = '' - cp -r ${nodeDeps}/lib/node_modules . - '' + lib.optionalString stdenv.isDarwin '' - export HOME="$TMPDIR/home" - mkdir $HOME - ''; + postConfigure = + '' + cp -r ${nodeDeps}/lib/node_modules . + '' + + lib.optionalString stdenv.isDarwin '' + export HOME="$TMPDIR/home" + mkdir $HOME + ''; cmakeFlags = [ # Do not append timestamp to version. diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix index 9c5ce50fa245a..7708c52c80b03 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix @@ -1,5 +1,9 @@ # Patched lldb for Rust language support. -{ fetchFromGitHub, runCommand, llvmPackages }: +{ + fetchFromGitHub, + runCommand, + llvmPackages, +}: let llvmSrc = fetchFromGitHub { owner = "vadimcn"; @@ -8,8 +12,9 @@ let rev = "4c267c83cbb55fedf2e0b89644dc1db320fdfde7"; hash = "sha256-jM//ej6AxnRYj+8BAn4QrxHPT6HiDzK5RqHPSg3dCcw="; }; -in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec { - passthru = (oldAttrs.passthru or {}) // { +in +(llvmPackages.lldb.overrideAttrs (oldAttrs: rec { + passthru = (oldAttrs.passthru or { }) // { inherit llvmSrc; }; @@ -23,7 +28,8 @@ in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec { echo "'lldb --version' returns: $versionOutput" echo "$versionOutput" | grep -q 'rust-enabled' ''; -})).override({ - monorepoSrc = llvmSrc; - libllvm = llvmPackages.libllvm.override({ monorepoSrc = llvmSrc; }); -}) +})).override + ({ + monorepoSrc = llvmSrc; + libllvm = llvmPackages.libllvm.override ({ monorepoSrc = llvmSrc; }); + }) diff --git a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix index 940a39a217624..d457b156aa97e 100644 --- a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix +++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix @@ -1,77 +1,101 @@ -{ stdenv, lib, buildEnv, writeShellScriptBin, fetchurl, vscode, unzip, jq }: +{ + stdenv, + lib, + buildEnv, + writeShellScriptBin, + fetchurl, + vscode, + unzip, + jq, +}: let - buildVscodeExtension = a@{ - name, - src, - # Same as "Unique Identifier" on the extension's web page. - # For the moment, only serve as unique extension dir. - vscodeExtPublisher, - vscodeExtName, - vscodeExtUniqueId, - configurePhase ? '' - runHook preConfigure - runHook postConfigure - '', - buildPhase ?'' - runHook preBuild - runHook postBuild - '', - dontPatchELF ? true, - dontStrip ? true, - nativeBuildInputs ? [], - passthru ? { }, - ... - }: - stdenv.mkDerivation ((removeAttrs a [ "vscodeExtUniqueId" ]) // { - - name = "vscode-extension-${name}"; - - passthru = passthru // { - inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId; - }; - - inherit configurePhase buildPhase dontPatchELF dontStrip; - - # Some .vsix files contain other directories (e.g., `package`) that we don't use. - # If other directories are present but `sourceRoot` is unset, the unpacker phase fails. - sourceRoot = "extension"; - - installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}"; - - nativeBuildInputs = [ unzip ] ++ nativeBuildInputs; - - installPhase = '' - - runHook preInstall - - mkdir -p "$out/$installPrefix" - find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/" - - runHook postInstall - ''; - - }); - - fetchVsixFromVscodeMarketplace = mktplcExtRef: - fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef); - - buildVscodeMarketplaceExtension = a@{ - name ? "", - src ? null, - vsix ? null, - mktplcRef, - ... - }: assert "" == name; assert null == src; - buildVscodeExtension ((removeAttrs a [ "mktplcRef" "vsix" ]) // { - name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}"; - version = mktplcRef.version; - src = if (vsix != null) - then vsix - else fetchVsixFromVscodeMarketplace mktplcRef; - vscodeExtPublisher = mktplcRef.publisher; - vscodeExtName = mktplcRef.name; - vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}"; - }); + buildVscodeExtension = + a@{ + name, + src, + # Same as "Unique Identifier" on the extension's web page. + # For the moment, only serve as unique extension dir. + vscodeExtPublisher, + vscodeExtName, + vscodeExtUniqueId, + configurePhase ? '' + runHook preConfigure + runHook postConfigure + '', + buildPhase ? '' + runHook preBuild + runHook postBuild + '', + dontPatchELF ? true, + dontStrip ? true, + nativeBuildInputs ? [ ], + passthru ? { }, + ... + }: + stdenv.mkDerivation ( + (removeAttrs a [ "vscodeExtUniqueId" ]) + // { + + name = "vscode-extension-${name}"; + + passthru = passthru // { + inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId; + }; + + inherit + configurePhase + buildPhase + dontPatchELF + dontStrip + ; + + # Some .vsix files contain other directories (e.g., `package`) that we don't use. + # If other directories are present but `sourceRoot` is unset, the unpacker phase fails. + sourceRoot = "extension"; + + installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}"; + + nativeBuildInputs = [ unzip ] ++ nativeBuildInputs; + + installPhase = '' + + runHook preInstall + + mkdir -p "$out/$installPrefix" + find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/" + + runHook postInstall + ''; + } + ); + + fetchVsixFromVscodeMarketplace = + mktplcExtRef: fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef); + + buildVscodeMarketplaceExtension = + a@{ + name ? "", + src ? null, + vsix ? null, + mktplcRef, + ... + }: + assert "" == name; + assert null == src; + buildVscodeExtension ( + (removeAttrs a [ + "mktplcRef" + "vsix" + ]) + // { + name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}"; + version = mktplcRef.version; + src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef; + vscodeExtPublisher = mktplcRef.publisher; + vscodeExtName = mktplcRef.name; + vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}"; + } + ); mktplcRefAttrList = [ "name" @@ -82,14 +106,18 @@ let "arch" ]; - mktplcExtRefToExtDrv = ext: - buildVscodeMarketplaceExtension (removeAttrs ext mktplcRefAttrList // { - mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext; - }); + mktplcExtRefToExtDrv = + ext: + buildVscodeMarketplaceExtension ( + removeAttrs ext mktplcRefAttrList + // { + mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext; + } + ); extensionFromVscodeMarketplace = mktplcExtRefToExtDrv; - extensionsFromVscodeMarketplace = mktplcExtRefList: - builtins.map extensionFromVscodeMarketplace mktplcExtRefList; + extensionsFromVscodeMarketplace = + mktplcExtRefList: builtins.map extensionFromVscodeMarketplace mktplcExtRefList; vscodeWithConfiguration = import ./vscodeWithConfiguration.nix { inherit lib extensionsFromVscodeMarketplace writeShellScriptBin; @@ -102,7 +130,13 @@ let }; vscodeEnv = import ./vscodeEnv.nix { - inherit lib buildEnv writeShellScriptBin extensionsFromVscodeMarketplace jq; + inherit + lib + buildEnv + writeShellScriptBin + extensionsFromVscodeMarketplace + jq + ; vscodeDefault = vscode; }; @@ -139,9 +173,16 @@ let toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions); in { - inherit fetchVsixFromVscodeMarketplace buildVscodeExtension - buildVscodeMarketplaceExtension extensionFromVscodeMarketplace - extensionsFromVscodeMarketplace - vscodeWithConfiguration vscodeExts2nix vscodeEnv - toExtensionJsonEntry toExtensionJson; + inherit + fetchVsixFromVscodeMarketplace + buildVscodeExtension + buildVscodeMarketplaceExtension + extensionFromVscodeMarketplace + extensionsFromVscodeMarketplace + vscodeWithConfiguration + vscodeExts2nix + vscodeEnv + toExtensionJsonEntry + toExtensionJson + ; } diff --git a/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix index db00ba13e3c84..37b82075e7518 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix @@ -1,47 +1,58 @@ #Use vscodeWithConfiguration and vscodeExts2nix to create a vscode executable. When the executable exits, it updates the mutable extension file, which is imported when evaluated by Nix later. -{ lib -, buildEnv -, writeShellScriptBin -, extensionsFromVscodeMarketplace -, vscodeDefault -, jq +{ + lib, + buildEnv, + writeShellScriptBin, + extensionsFromVscodeMarketplace, + vscodeDefault, + jq, }: ##User input -{ vscode ? vscodeDefault -, nixExtensions ? [] -, vscodeExtsFolderName ? ".vscode-exts" -# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file -, settings ? {} -, createSettingsIfDoesNotExists ? true -, launch ? {} -, createLaunchIfDoesNotExists ? true -# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file -, keybindings ? {} -, createKeybindingsIfDoesNotExists ? true -, user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir'' -# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list -# this file will be created/updated by vscodeExts2nix when vscode exists -, mutableExtensionsFile +{ + vscode ? vscodeDefault, + nixExtensions ? [ ], + vscodeExtsFolderName ? ".vscode-exts", + # will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file + settings ? { }, + createSettingsIfDoesNotExists ? true, + launch ? { }, + createLaunchIfDoesNotExists ? true, + # will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file + keybindings ? { }, + createKeybindingsIfDoesNotExists ? true, + user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir'', + # if file exists will use it and import the extensions in it into this derivation else will use empty extensions list + # this file will be created/updated by vscodeExts2nix when vscode exists + mutableExtensionsFile, }: let mutableExtensionsFilePath = toString mutableExtensionsFile; - mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (import mutableExtensionsFilePath); - vscodeWithConfiguration = import ./vscodeWithConfiguration.nix { - inherit lib writeShellScriptBin extensionsFromVscodeMarketplace; - vscodeDefault = vscode; - } - { - inherit nixExtensions mutableExtensions vscodeExtsFolderName user-data-dir; - }; + mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) ( + import mutableExtensionsFilePath + ); + vscodeWithConfiguration = + import ./vscodeWithConfiguration.nix + { + inherit lib writeShellScriptBin extensionsFromVscodeMarketplace; + vscodeDefault = vscode; + } + { + inherit + nixExtensions + mutableExtensions + vscodeExtsFolderName + user-data-dir + ; + }; updateSettings = import ./updateSettings.nix { inherit lib writeShellScriptBin jq; }; - userSettingsFolder = "${ user-data-dir }/User"; + userSettingsFolder = "${user-data-dir}/User"; updateSettingsCmd = updateSettings { settings = { - "extensions.autoCheckUpdates" = false; - "extensions.autoUpdate" = false; - "update.mode" = "none"; + "extensions.autoCheckUpdates" = false; + "extensions.autoUpdate" = false; + "update.mode" = "none"; } // settings; inherit userSettingsFolder; createIfDoesNotExists = createSettingsIfDoesNotExists; @@ -62,14 +73,16 @@ let symlinkFromUserSetting = (user-data-dir != ""); }; - vscodeExts2nix = import ./vscodeExts2nix.nix { - inherit lib writeShellScriptBin; - vscodeDefault = vscodeWithConfiguration; - } - { - extensionsToIgnore = nixExtensions; - extensions = mutableExtensions; - }; + vscodeExts2nix = + import ./vscodeExts2nix.nix + { + inherit lib writeShellScriptBin; + vscodeDefault = vscodeWithConfiguration; + } + { + extensionsToIgnore = nixExtensions; + extensions = mutableExtensions; + }; code = writeShellScriptBin "code" '' ${updateSettingsCmd}/bin/vscodeNixUpdate-settings ${updateLaunchCmd}/bin/vscodeNixUpdate-launch @@ -81,5 +94,11 @@ let in buildEnv { name = "vscodeEnv"; - paths = [ code vscodeExts2nix updateSettingsCmd updateLaunchCmd updateKeybindingsCmd ]; + paths = [ + code + vscodeExts2nix + updateSettingsCmd + updateLaunchCmd + updateKeybindingsCmd + ]; } diff --git a/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix index 19a9edbf1afe4..2bca1608d2574 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix @@ -1,11 +1,13 @@ -with import <nixpkgs>{}; -callPackage (import ./vscodeEnv.nix) { - extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace; - vscodeDefault = vscode; -} { - mutableExtensionsFile = ./extensions.nix; - settings = { - a = "fdsdf"; - t = "test"; - }; -} +with import <nixpkgs> { }; +callPackage (import ./vscodeEnv.nix) + { + extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace; + vscodeDefault = vscode; + } + { + mutableExtensionsFile = ./extensions.nix; + settings = { + a = "fdsdf"; + t = "test"; + }; + } diff --git a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix index 58cbe663c9013..96b892911b06d 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix @@ -1,14 +1,16 @@ # based on the passed vscode will stdout a nix expression with the installed vscode extensions -{ lib -, vscodeDefault -, writeShellScriptBin +{ + lib, + vscodeDefault, + writeShellScriptBin, }: ##User input -{ vscode ? vscodeDefault -, extensionsToIgnore ? [] -# will use those extensions to get sha256 if still exists when executed. -, extensions ? [] +{ + vscode ? vscodeDefault, + extensionsToIgnore ? [ ], + # will use those extensions to get sha256 if still exists when executed. + extensions ? [ ], }: let mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix; @@ -17,22 +19,32 @@ writeShellScriptBin "vscodeExts2nix" '' echo '[' for line in $(${vscode}/bin/code --list-extensions --show-versions \ - ${lib.optionalString (extensionsToIgnore != []) '' - | grep -v -i '^\(${lib.concatMapStringsSep "\\|" (e : "${e.publisher}.${e.name}") extensionsToIgnore}\)' - ''} + ${ + lib.optionalString (extensionsToIgnore != [ ]) '' + | grep -v -i '^\(${ + lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore + }\)' + '' + } ) ; do [[ $line =~ ([^.]*)\.([^@]*)@(.*) ]] name=''${BASH_REMATCH[2]} publisher=''${BASH_REMATCH[1]} version=''${BASH_REMATCH[3]} - extensions="${lib.concatMapStringsSep "." (e : "${e.publisher}${e.name}@${e.sha256}") extensions}" + extensions="${lib.concatMapStringsSep "." (e: "${e.publisher}${e.name}@${e.sha256}") extensions}" reCurrentExt=$publisher$name"@([^.]*)" if [[ $extensions =~ $reCurrentExt ]]; then sha256=''${BASH_REMATCH[1]} else sha256=$( - nix-prefetch-url "${(mktplcExtRefToFetchArgs {publisher = ''"$publisher"''; name = ''"$name"''; version = ''"$version"'';}).url}" 2> /dev/null + nix-prefetch-url "${ + (mktplcExtRefToFetchArgs { + publisher = ''"$publisher"''; + name = ''"$name"''; + version = ''"$version"''; + }).url + }" 2> /dev/null ) fi diff --git a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix index 39479d7c2f2ce..6e2fd767a792e 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix @@ -1,54 +1,61 @@ # wrapper over vscode to control extensions per project (extensions folder will be created in execution path) -{ lib -, writeShellScriptBin -, extensionsFromVscodeMarketplace -, vscodeDefault +{ + lib, + writeShellScriptBin, + extensionsFromVscodeMarketplace, + vscodeDefault, }: ## User input -{ vscode ? vscodeDefault -# extensions to be symlinked into the project's extensions folder -, nixExtensions ? [] -# extensions to be copied into the project's extensions folder -, mutableExtensions ? [] -, vscodeExtsFolderName ? ".vscode-exts" -, user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'' +{ + vscode ? vscodeDefault, + # extensions to be symlinked into the project's extensions folder + nixExtensions ? [ ], + # extensions to be copied into the project's extensions folder + mutableExtensions ? [ ], + vscodeExtsFolderName ? ".vscode-exts", + user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'', }: let nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions; mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions; - mutableExtsPaths = lib.forEach mutExtsDrvs ( e: - { + mutableExtsPaths = lib.forEach mutExtsDrvs (e: { origin = "${e}/share/vscode/extensions/${e.vscodeExtUniqueId}"; - target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${(lib.findSingle (ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId) "" "m" mutableExtensions ).version}''; - } - ); + target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${ + (lib.findSingle ( + ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId + ) "" "m" mutableExtensions).version + }''; + }); #removed not defined extensions - rmExtensions = lib.optionalString (nixExtensions++mutableExtensions != []) '' + rmExtensions = lib.optionalString (nixExtensions ++ mutableExtensions != [ ]) '' find ${vscodeExtsFolderName} -mindepth 1 -maxdepth 1 ${ - lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name} ") nixExtensions - + - lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name}-${e.version} ") mutableExtensions - } -exec rm -rf {} \; + lib.concatMapStringsSep " " (e: "! -iname ${e.publisher}.${e.name} ") nixExtensions + + lib.concatMapStringsSep " " ( + e: "! -iname ${e.publisher}.${e.name}-${e.version} " + ) mutableExtensions + } -exec rm -rf {} \; ''; #copy mutable extension out of the nix store cpExtensions = '' - ${lib.concatMapStringsSep "\n" (e : "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/") nixExtsDrvs} - ${lib.concatMapStringsSep "\n" (ePath : '' + ${lib.concatMapStringsSep "\n" ( + e: "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/" + ) nixExtsDrvs} + ${lib.concatMapStringsSep "\n" (ePath: '' if [ ! -d ${ePath.target} ]; then cp -a ${ePath.origin} ${ePath.target} chmod -R u+rwx ${ePath.target} fi - '') mutableExtsPaths} + '') mutableExtsPaths} ''; in - writeShellScriptBin "code" '' - if ! [[ "$@" =~ "--list-extension" ]]; then - mkdir -p "${vscodeExtsFolderName}" - ${rmExtensions} - ${cpExtensions} - fi - ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${ - lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}" - } "$@" - '' +writeShellScriptBin "code" '' + if ! [[ "$@" =~ "--list-extension" ]]; then + mkdir -p "${vscodeExtsFolderName}" + ${rmExtensions} + ${cpExtensions} + fi + ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${ + lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}" + } "$@" +'' diff --git a/pkgs/applications/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix index 12c86c3680f83..9ad54f00d4e8e 100644 --- a/pkgs/applications/emulators/craftos-pc/default.nix +++ b/pkgs/applications/emulators/craftos-pc/default.nix @@ -1,10 +1,8 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , callPackage , patchelf -, unzip , poco , openssl , SDL2 @@ -16,18 +14,18 @@ }: let - version = "2.8.1"; + version = "2.8.2"; craftos2-lua = fetchFromGitHub { owner = "MCJack123"; repo = "craftos2-lua"; rev = "v${version}"; - hash = "sha256-8bl83AOIWtUQ06F2unYEF08VT13o9EGo9YDZpdNxd8w="; + hash = "sha256-Kv0supnYKWLaVqOeZAzQNd3tQRP2KJugZqytyoj8QtY="; }; craftos2-rom = fetchFromGitHub { owner = "McJack123"; repo = "craftos2-rom"; rev = "v${version}"; - hash = "sha256-aCRJ3idSrRM8ydt8hP8nA1RR0etPnWpQKphXcOGgTfk="; + hash = "sha256-5ZsLsqrkO02NLJCzsgf0k/ifsqNybTi4DcB9GLmWDHw="; }; in @@ -39,7 +37,7 @@ stdenv.mkDerivation rec { owner = "MCJack123"; repo = "craftos2"; rev = "v${version}"; - hash = "sha256-iQCv4EDdqmnU0fYxMwpCZ2Z5p43P0MGBNIG/dZrWndg="; + hash = "sha256-ozebHgUgwdqYtWAyL+EdwpjEvZC+PkWcLYCPWz2FjSw="; }; buildInputs = [ patchelf poco openssl SDL2 SDL2_mixer ncurses libpng pngpp libwebp ]; diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix index fbcc5ebcf4785..fe100492a95cd 100644 --- a/pkgs/applications/graphics/gnome-photos/default.nix +++ b/pkgs/applications/graphics/gnome-photos/default.nix @@ -115,7 +115,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Access, organize and share your photos"; mainProgram = "gnome-photos"; - homepage = "https://wiki.gnome.org/Apps/Photos"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-photos"; license = licenses.gpl3Plus; maintainers = teams.gnome.members; platforms = platforms.linux; diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix index 79793c6887116..ca9406044fc92 100644 --- a/pkgs/applications/graphics/gthumb/default.nix +++ b/pkgs/applications/graphics/gthumb/default.nix @@ -107,7 +107,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Gthumb"; + homepage = "https://gitlab.gnome.org/GNOME/gthumb"; description = "Image browser and viewer for GNOME"; mainProgram = "gthumb"; platforms = platforms.linux; diff --git a/pkgs/applications/graphics/ocrfeeder/default.nix b/pkgs/applications/graphics/ocrfeeder/default.nix index 25df4c69c66c0..d6243bdbffac3 100644 --- a/pkgs/applications/graphics/ocrfeeder/default.nix +++ b/pkgs/applications/graphics/ocrfeeder/default.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/OCRFeeder"; + homepage = "https://gitlab.gnome.org/GNOME/ocrfeeder"; description = "Complete Optical Character Recognition and Document Analysis and Recognition program"; maintainers = with maintainers; [ doronbehar ]; license = licenses.gpl3Plus; diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index e6d6eb41b9e08..df056d92fbe49 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -35,8 +35,6 @@ , gsettings-desktop-schemas }: -# for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling - stdenv.mkDerivation (finalAttrs: { pname = "shotwell"; version = "0.32.6"; @@ -97,9 +95,9 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Popular photo organizer for the GNOME desktop"; mainProgram = "shotwell"; - homepage = "https://wiki.gnome.org/Apps/Shotwell"; + homepage = "https://gitlab.gnome.org/GNOME/shotwell"; license = licenses.lgpl21Plus; - maintainers = with maintainers; []; + maintainers = with maintainers; [ bobby285271 ]; platforms = platforms.linux; }; }) diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix index 35677f56cccbc..48e663fe796c3 100644 --- a/pkgs/applications/misc/almanah/default.nix +++ b/pkgs/applications/misc/almanah/default.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Small GTK application to allow to keep a diary of your life"; mainProgram = "almanah"; - homepage = "https://wiki.gnome.org/Apps/Almanah_Diary"; + homepage = "https://gitlab.gnome.org/GNOME/almanah"; license = licenses.gpl3Plus; platforms = platforms.unix; maintainers = teams.gnome.members; diff --git a/pkgs/applications/misc/gnome-multi-writer/default.nix b/pkgs/applications/misc/gnome-multi-writer/default.nix index b4cca2f3bf63b..0a37cadb8e2cb 100644 --- a/pkgs/applications/misc/gnome-multi-writer/default.nix +++ b/pkgs/applications/misc/gnome-multi-writer/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tool for writing an ISO file to multiple USB devices at once"; mainProgram = "gnome-multi-writer"; - homepage = "https://wiki.gnome.org/Apps/MultiWriter"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-multi-writer"; license = licenses.gpl2Plus; maintainers = teams.gnome.members; platforms = platforms.linux; diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix index dc4df70bc00e4..d1680cdbaee2b 100644 --- a/pkgs/applications/misc/gnome-recipes/default.nix +++ b/pkgs/applications/misc/gnome-recipes/default.nix @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Recipe management application for GNOME"; mainProgram = "gnome-recipes"; - homepage = "https://wiki.gnome.org/Apps/Recipes"; + homepage = "https://gitlab.gnome.org/GNOME/recipes"; maintainers = teams.gnome.members; license = licenses.gpl3Plus; platforms = platforms.unix; diff --git a/pkgs/applications/misc/gum/default.nix b/pkgs/applications/misc/gum/default.nix index b85e00d095ed0..258079f61c93d 100644 --- a/pkgs/applications/misc/gum/default.nix +++ b/pkgs/applications/misc/gum/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gum"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "charmbracelet"; repo = pname; rev = "v${version}"; - hash = "sha256-NgMEgSfHVLCEKZ3MmNV571ySMUD8wj+kq5EccGrxtZc="; + hash = "sha256-TpLaZ/935S57K60NdgJXVY+YQEedralZMoQHWRgkH+A="; }; - vendorHash = "sha256-fmc6nbS/Xmn/YRwToRH7EhP4SFRMf8hjZ/rLtaP/USo="; + vendorHash = "sha256-UgpOHZ/CEnGsmUTyNrhh+qDmKEplr18b/OrO2qcIhF4="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/applications/misc/lunatask/default.nix b/pkgs/applications/misc/lunatask/default.nix index 4bdb6cca92cae..84ad583c63b5d 100644 --- a/pkgs/applications/misc/lunatask/default.nix +++ b/pkgs/applications/misc/lunatask/default.nix @@ -1,12 +1,12 @@ { lib, appimageTools, fetchurl }: let - version = "1.7.8"; + version = "2.0.0"; pname = "lunatask"; src = fetchurl { url = "https://lunatask.app/download/Lunatask-${version}.AppImage"; - sha256 = "sha256-DhTWD9uL7zKWiRfeLYKxPtmAy1yR20wjlVA+N33YgpQ="; + sha256 = "sha256-rRE7VE6Fugqbbv/fTIZGuWDQmTP1tRDiKrb6VcpsBjk="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix index e67a96fe7cd3d..c36068e65962d 100644 --- a/pkgs/applications/misc/qcad/default.nix +++ b/pkgs/applications/misc/qcad/default.nix @@ -18,14 +18,14 @@ mkDerivation rec { pname = "qcad"; - version = "3.29.4.1"; + version = "3.29.6.2"; src = fetchFromGitHub { name = "qcad-${version}-src"; owner = "qcad"; repo = "qcad"; rev = "v${version}"; - hash = "sha256-00lPgiE3hsP3SL96ygBP91CaAWi1IGOYUO7zC/ORG1U="; + hash = "sha256-NKWuvhVGtlhWOfV0MWyViTgk0luA8mvnwQS0TZj7Ulc="; }; patches = [ diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix index 3715ef27524e9..2247344ba765a 100644 --- a/pkgs/applications/misc/urlscan/default.nix +++ b/pkgs/applications/misc/urlscan/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "urlscan"; - version = "1.0.1"; + version = "1.0.2"; format = "pyproject"; src = fetchFromGitHub { owner = "firecat53"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-OzcoOIgEiadWrsUPIxBJTuZQYjScJBYKyqCu1or6fz8="; + hash = "sha256-nyq4BrpfbZwK/nOnB8ZEN1wlM8CssYVRvV7ytpX7k40="; }; nativeBuildInputs = with python3.pkgs; [ diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index df33a2bbe7571..a59efb64d9356 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -248,8 +248,8 @@ let # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61 # allowing us to use our rustc and our clang. ./patches/chromium-121-rust.patch - ] ++ lib.optionals (chromiumVersionAtLeast "124" && !chromiumVersionAtLeast "125") [ - # M124 shipped with broken --ozone-platform-hint flag handling, which we rely on + ] ++ lib.optionals (chromiumVersionAtLeast "124" && !chromiumVersionAtLeast "124.0.6367.118") [ + # M124 < 124.0.6367.118 shipped with broken --ozone-platform-hint flag handling, which we rely on # for our NIXOS_OZONE_WL (wayland) environment variable. # See <https://issues.chromium.org/issues/329678163>. # This is the commit for the fix that landed in M125, which applies clean on M124. diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index c3ef4848ee44e..345370868d715 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -15,9 +15,9 @@ version = "2024-03-14"; }; }; - hash = "sha256-tajZtdiXgs5lRLTmDmgNTM2vD+N+LuWpBS0dYzxUsMA="; - hash_deb_amd64 = "sha256-CyCbZQ5ce8WLTt2JVSqbDkLDboE4BloiZ8pJff3dmSY="; - version = "124.0.6367.91"; + hash = "sha256-+r/48dxipSAo74v1deMuKalW+Hj85hCun63ZcgLYDLk="; + hash_deb_amd64 = "sha256-H3bv6WiVBl4j38ROZ80+SD9UO9ok+xxcKFxDd9yjWNY="; + version = "124.0.6367.118"; }; ungoogled-chromium = { deps = { diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix index 4b9270b7d5180..409319493a64f 100644 --- a/pkgs/applications/networking/browsers/eolie/default.nix +++ b/pkgs/applications/networking/browsers/eolie/default.nix @@ -72,7 +72,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "A new GNOME web browser"; mainProgram = "eolie"; - homepage = "https://wiki.gnome.org/Apps/Eolie"; + homepage = "https://gitlab.gnome.org/World/eolie"; license = licenses.gpl3Plus; maintainers = with maintainers; [ samdroid-apps ]; platforms = platforms.linux; diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix index 1a6aa12a91e5b..8ac059e98a249 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/default.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix @@ -1,17 +1,17 @@ { callPackage }: { + helm-cm-push = callPackage ./helm-cm-push.nix { }; helm-diff = callPackage ./helm-diff.nix { }; helm-git = callPackage ./helm-git.nix { }; - helm-cm-push = callPackage ./helm-cm-push.nix { }; + helm-mapkubeapis = callPackage ./helm-mapkubeapis.nix { }; helm-s3 = callPackage ./helm-s3.nix { }; helm-secrets = callPackage ./helm-secrets.nix { }; helm-unittest = callPackage ./helm-unittest.nix { }; - } diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix new file mode 100644 index 0000000000000..21cb8b065e7ee --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix @@ -0,0 +1,34 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "helm-mapkubeapis"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "helm"; + repo = "helm-mapkubeapis"; + rev = "v${version}"; + hash = "sha256-6NeePXTdp5vlBLfIlWeXQZMZ0Uz/e1ZCgZmJvBJfaFw="; + }; + + vendorHash = "sha256-rVrQqeakPQl3rjzmqzHw74ffreLEVzP153wWJ8TEOIM="; + + # NOTE: Remove the install and upgrade hooks. + postPatch = '' + sed -i '/^hooks:/,+2 d' plugin.yaml + ''; + + postInstall = '' + install -dm755 $out/helm-mapkubeapis + mv $out/bin $out/helm-mapkubeapis/ + install -m644 -Dt $out/helm-mapkubeapis/config/ config/Map.yaml + install -m644 -Dt $out/helm-mapkubeapis plugin.yaml + ''; + + meta = { + description = "A Helm plugin which maps deprecated or removed Kubernetes APIs in a release to supported APIs"; + homepage = "https://github.com/helm/helm-mapkubeapis"; + license = with lib.licenses; [ asl20 ]; + maintainers = with lib.maintainers; [ aos ]; + }; +} diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix index 3a5f18cbf581d..3face97137cca 100644 --- a/pkgs/applications/networking/cluster/kn/default.nix +++ b/pkgs/applications/networking/cluster/kn/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kn"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "knative"; repo = "client"; rev = "knative-v${version}"; - sha256 = "sha256-irMipYDYMyA0l9d7tI1wS7XsxGWjBzTvxmhpKM1gLW8="; + sha256 = "sha256-sUMQrBAOhpMxMawOdvLFSUrcU9od6pmT7NabSywoQn8="; }; vendorHash = null; diff --git a/pkgs/applications/networking/cluster/kubecolor/default.nix b/pkgs/applications/networking/cluster/kubecolor/default.nix index 1869cc83d9165..589b93cd2f725 100644 --- a/pkgs/applications/networking/cluster/kubecolor/default.nix +++ b/pkgs/applications/networking/cluster/kubecolor/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubecolor"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-1gEEmF9RRMwFAvmhLwidkVh+lnibs6x5ZHy/nJRum9E="; + sha256 = "sha256-9fL1zuhQ1B8QpJXcGVxg8mqIQoM5ZhwuE000rDcrrw0="; }; vendorHash = "sha256-Gzz+mCEMQCcLwTiGMB8/nXk7HDAEGkEapC/VOyXrn/Q="; diff --git a/pkgs/applications/networking/cluster/opentofu/default.nix b/pkgs/applications/networking/cluster/opentofu/default.nix index a378a7486b713..2d9b07a3f88dc 100644 --- a/pkgs/applications/networking/cluster/opentofu/default.nix +++ b/pkgs/applications/networking/cluster/opentofu/default.nix @@ -14,22 +14,22 @@ let package = buildGoModule rec { pname = "opentofu"; - version = "1.6.2"; + version = "1.7.0"; src = fetchFromGitHub { owner = "opentofu"; repo = "opentofu"; rev = "v${version}"; - hash = "sha256-CYiwn2NDIAx30J8tmbrV45dbCIGoA3U+yBdMj4RX5Ho="; + hash = "sha256-e0u8aFua3oMsBafwRPYuWQ9M6DtC7f9LlCDGJ5vdAWE="; }; - vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk="; + vendorHash = "sha256-cML742FfWFNIwGyIdRd3JWcfDlOXnJVgUXz4j5fa74Q="; ldflags = [ "-s" "-w" "-X" "github.com/opentofu/opentofu/version.dev=no" ]; postConfigure = '' # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ - --replace "/bin/stty" "${coreutils}/bin/stty" + --replace-fail "/bin/stty" "${coreutils}/bin/stty" ''; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix index 5585b373df351..fd4b70de5acd8 100644 --- a/pkgs/applications/networking/cluster/stern/default.nix +++ b/pkgs/applications/networking/cluster/stern/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "stern"; - version = "1.28.0"; + version = "1.29.0"; src = fetchFromGitHub { owner = "stern"; repo = "stern"; rev = "v${version}"; - sha256 = "sha256-Lx5f2dqjdhgMXky1Pv2ik9i56ugsQmZK/ag4veC9Dac="; + sha256 = "sha256-8Tvhul7GwVbRJqJenbYID8OY5zGzFhIormUwEtLE0Lw="; }; - vendorHash = "sha256-6jI/I7Nw/vJwKNvgH/35uHYu51SBX+WFH5s0WKfCqBo="; + vendorHash = "sha256-RLcF7KfKtkwB+nWzaQb8Va9pau+TS2uE9AmJ0aFNsik="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix index b077379bee79e..49094fa960429 100644 --- a/pkgs/applications/networking/cluster/temporal/default.nix +++ b/pkgs/applications/networking/cluster/temporal/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "temporal"; - version = "1.23.0"; + version = "1.23.1"; src = fetchFromGitHub { owner = "temporalio"; repo = "temporal"; rev = "v${version}"; - hash = "sha256-4e8z4k7loL9vVYe5jut1X/5qDboChQxZtPO1ZBHNb7o="; + hash = "sha256-yu5EfW5ThTJx6ouCBoEEq9wU4MtlFGqqRaHMgIPaRqY="; }; - vendorHash = "sha256-4xwdVFE0CGcOA8Efj4ECionPP9rbzT02zyr2HR143AM="; + vendorHash = "sha256-INmc/qbayjI+umkoGL8ih/iC7xqUkO1kfIZN5cQn/bw="; excludedPackages = [ "./build" ]; diff --git a/pkgs/applications/networking/dropbox/cli.nix b/pkgs/applications/networking/dropbox/cli.nix index 38c5220563761..a922d70cd68fd 100644 --- a/pkgs/applications/networking/dropbox/cli.nix +++ b/pkgs/applications/networking/dropbox/cli.nix @@ -12,7 +12,7 @@ }: let - version = "2023.09.06"; + version = "2024.04.17"; dropboxd = "${dropbox}/bin/dropbox"; in stdenv.mkDerivation { @@ -23,7 +23,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2"; - hash = "sha256-kZMwj8Fn8Hf58C57wE025TlmiSs5TaKMGEzvb2QjgSw="; + hash = "sha256-pqCYzxaqR0f0CBaseT1Z436K47cIDQswYR1sK4Zj8sE="; }; strictDeps = true; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index b4e0aca9cc58a..15ff9c7a50557 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -2,7 +2,7 @@ let versions = if stdenv.isLinux then { - stable = "0.0.51"; + stable = "0.0.52"; ptb = "0.0.81"; canary = "0.0.369"; development = "0.0.17"; @@ -17,7 +17,7 @@ let x86_64-linux = { stable = fetchurl { url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; - hash = "sha256-w8zLeaqJXdbI67X/UDxSLQxZei5eraa/BkMZa+GDpYk="; + hash = "sha256-5cJzedEuxdGizgUenB+DjFf+MwYk8uTH4tjiWzur+q8="; }; ptb = fetchurl { url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; diff --git a/pkgs/applications/networking/instant-messengers/hamsket/default.nix b/pkgs/applications/networking/instant-messengers/hamsket/default.nix index 225a5669469c6..e535456ccf5ed 100644 --- a/pkgs/applications/networking/instant-messengers/hamsket/default.nix +++ b/pkgs/applications/networking/instant-messengers/hamsket/default.nix @@ -21,7 +21,7 @@ let categories = [ "Network" ]; }); - appimageContents = appimageTools.extractType2 { + appimageContents = appimageTools.extract { inherit pname version src; }; @@ -31,7 +31,6 @@ appimageTools.wrapType2 { extraInstallCommands = '' mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps - ln -sf hamsket-${version} $out/bin/${pname} install -Dm644 ${appimageContents}/usr/share/icons/hicolor/256x256/apps/hamsket*.png $out/share/icons/hicolor/256x256/apps/${pname}.png install -Dm644 ${desktopItem}/share/applications/* $out/share/applications ''; diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix index 62b6e1c9a4847..a87d49de7621f 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix @@ -2,7 +2,7 @@ callPackage ./generic.nix { } rec { pname = "signal-desktop-beta"; dir = "Signal Beta"; - version = "7.6.0-beta.3"; + version = "7.7.0-beta.1"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb"; - hash = "sha256-BbXogNB2BxFQTpvHw0JVOaCV2PQHEQbafSavVcBd/Fg="; + hash = "sha256-oswS1aRkpiTNSpQ6CqfJnoM412RRwraeht4iqq8L1Bk="; } diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix index 906736be49774..604feba486c84 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix @@ -63,14 +63,14 @@ let in stdenv.mkDerivation rec { pname = "telegram-desktop"; - version = "4.16.8"; + version = "5.0.0"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-M8wFhuTTEJippgvS93LNRqREV2TGF04ccps5oOmSr+0="; + hash = "sha256-BjXz2LwsvmJIaN+FZ4+mLu01jaajPvwf8YPqCjx7Kw4="; }; patches = [ diff --git a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix index 366dcbeffaea4..efb0fc95f33c1 100644 --- a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix @@ -25,15 +25,15 @@ , xorg }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "whatsapp-for-linux"; version = "1.6.4"; src = fetchFromGitHub { owner = "eneshecan"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ="; + repo = "whatsapp-for-linux"; + rev = "v${finalAttrs.version}"; + hash = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ="; }; nativeBuildInputs = [ @@ -68,12 +68,12 @@ stdenv.mkDerivation rec { xorg.libXtst ]; - meta = with lib; { + meta = { homepage = "https://github.com/eneshecan/whatsapp-for-linux"; description = "Whatsapp desktop messaging app"; mainProgram = "whatsapp-for-linux"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ bartuka ]; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ bartuka ]; platforms = [ "x86_64-linux" ]; }; -} +}) diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index 252bfb08e93f8..a1368c3884837 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -126,7 +126,7 @@ stdenv.mkDerivation rec { PKG_CONFIG_LIBEDATASERVERUI_1_2_UIMODULEDIR = "${placeholder "out"}/lib/evolution-data-server/ui-modules"; meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Evolution"; + homepage = "https://gitlab.gnome.org/GNOME/evolution"; description = "Personal information management application that provides integrated mail, calendaring and address book functionality"; mainProgram = "evolution"; maintainers = teams.gnome.members; diff --git a/pkgs/applications/networking/mailreaders/meli/default.nix b/pkgs/applications/networking/mailreaders/meli/default.nix deleted file mode 100644 index 3dc373a09024f..0000000000000 --- a/pkgs/applications/networking/mailreaders/meli/default.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ stdenv -, lib -, fetchgit -, rustPlatform - -# native build inputs -, pkg-config -, installShellFiles -, makeWrapper -, mandoc -, rustfmt -, file - -# build inputs -, openssl -, dbus -, sqlite - -# runtime deps -, gnum4 -}: - -rustPlatform.buildRustPackage rec { - pname = "meli"; - version = "0.8.4"; - - src = fetchgit { - url = "https://git.meli-email.org/meli/meli.git"; - rev = "v${version}"; - hash = "sha256-wmIlYgXB17/i9Q+6C7pbcEjVlEuvhmqrSH+cDmaBKLs="; - }; - - cargoHash = "sha256-gYS/dxNMz/HkCmRXH5AdHPXJ2giqpAHc4eVXJGOpMDM="; - - # Needed to get openssl-sys to use pkg-config - OPENSSL_NO_VENDOR=1; - - nativeBuildInputs = [ - pkg-config - installShellFiles - makeWrapper - mandoc - (rustfmt.override { asNightly = true; }) - ]; - - buildInputs = [ - openssl - dbus - sqlite - ]; - - nativeCheckInputs = [ - file - ]; - - postInstall = '' - installManPage meli/docs/*.{1,5,7} - - wrapProgram $out/bin/meli \ - --prefix PATH : ${lib.makeBinPath [ gnum4 ]} - ''; - - preCheck = '' - export HOME=$(mktemp -d) - ''; - - checkFlags = [ - "--skip=conf::test_config_parse" # panicking due to sandbox - "--skip=smtp::test::test_smtp" # requiring network - "--skip=utils::xdg::query_default_app" # doesn't build - "--skip=utils::xdg::query_mime_info" # doesn't build - ]; - - meta = with lib; { - broken = (stdenv.isLinux && stdenv.isAarch64); - description = "Terminal e-mail client and e-mail client library"; - mainProgram = "meli"; - homepage = "https://meli.delivery"; - license = licenses.gpl3; - maintainers = with maintainers; [ _0x4A6F matthiasbeyer ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix index 5053de0ecb352..ef1c08ef2dcc7 100644 --- a/pkgs/applications/networking/remote/anydesk/default.nix +++ b/pkgs/applications/networking/remote/anydesk/default.nix @@ -5,14 +5,14 @@ let description = "Desktop sharing application, providing remote support and online meetings"; -in stdenv.mkDerivation rec { +in stdenv.mkDerivation (finalAttrs: { pname = "anydesk"; version = "6.3.2"; src = fetchurl { urls = [ - "https://download.anydesk.com/linux/anydesk-${version}-amd64.tar.gz" - "https://download.anydesk.com/linux/generic-linux/anydesk-${version}-amd64.tar.gz" + "https://download.anydesk.com/linux/anydesk-${finalAttrs.version}-amd64.tar.gz" + "https://download.anydesk.com/linux/generic-linux/anydesk-${finalAttrs.version}-amd64.tar.gz" ]; hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs="; }; @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { postFixup = '' patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath "${lib.makeLibraryPath buildInputs}" \ + --set-rpath "${lib.makeLibraryPath finalAttrs.buildInputs}" \ $out/bin/anydesk # pangox is not actually necessary (it was only added as a part of gtkglext) @@ -77,12 +77,12 @@ in stdenv.mkDerivation rec { }; }; - meta = with lib; { + meta = { inherit description; homepage = "https://www.anydesk.com"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = lib.licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ shyim cheriimoya ]; + maintainers = with lib.maintainers; [ shyim cheriimoya ]; }; -} +}) diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index fc3cbbcd1109f..c47baaf3602f7 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -76,13 +76,13 @@ let in stdenv.mkDerivation rec { pname = "freerdp"; - version = "2.11.5"; + version = "2.11.7"; src = fetchFromGitHub { owner = "FreeRDP"; repo = "FreeRDP"; rev = version; - hash = "sha256-WyYBIiIQNDHydJqU3jWNItJU2/sYnRpGHCXE9Xhom5M="; + hash = "sha256-w+xyMNFmKylSheK0yAGl8J6MXly/HUjjAfR9Qq3s/kA="; }; postPatch = '' diff --git a/pkgs/applications/office/clockify/default.nix b/pkgs/applications/office/clockify/default.nix index efd20632a2a31..7b2faa6b7d203 100644 --- a/pkgs/applications/office/clockify/default.nix +++ b/pkgs/applications/office/clockify/default.nix @@ -1,40 +1,27 @@ -{ stdenv, lib, fetchurl, dpkg, makeWrapper, electron }: +{ lib +, appimageTools +, fetchurl }: -stdenv.mkDerivation rec { +appimageTools.wrapType2 rec { pname = "clockify"; - version = "2.1.6"; + version = "2.1.17.1354"; src = fetchurl { - url = "https://web.archive.org/web/20231110130133/https://clockify.me/downloads/Clockify_Setup_x64.deb"; - hash = "sha256-jndoMk3vqk8a5jMzKVo6ThovSISmcu+hef9IJcg3reQ="; + url = "https://web.archive.org/web/20240406052908/https://clockify.me/downloads/Clockify_Setup.AppImage"; + hash = "sha256-G5VOAf6PrjHUsnk7IlXdqJ2D941cnggjuHkkgrOaVaA="; }; - nativeBuildInputs = [ - dpkg - makeWrapper - ]; + extraInstallCommands = + let appimageContents = appimageTools.extract { inherit pname version src; }; + in '' + mv $out/bin/${pname}-${version} $out/bin/${pname} - dontBuild = true; - dontConfigure = true; + install -Dm 444 ${appimageContents}/clockify.desktop -t $out/share/applications + install -Dm 444 ${appimageContents}/clockify.png -t $out/share/pixmaps - unpackPhase = '' - dpkg-deb -x ${src} ./ - ''; - - installPhase = '' - runHook preInstall - - mv usr $out - mv opt $out - - substituteInPlace $out/share/applications/clockify.desktop \ - --replace "/opt/Clockify/" "" - - makeWrapper ${electron}/bin/electron $out/bin/clockify \ - --add-flags $out/opt/Clockify/resources/app.asar - - runHook postInstall - ''; + substituteInPlace $out/share/applications/clockify.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + ''; meta = with lib; { description = "Free time tracker and timesheet app that lets you track work hours across projects"; diff --git a/pkgs/applications/office/gnote/default.nix b/pkgs/applications/office/gnote/default.nix index 29c72b24cdcef..0d8c1d2803965 100644 --- a/pkgs/applications/office/gnote/default.nix +++ b/pkgs/applications/office/gnote/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Gnote"; + homepage = "https://gitlab.gnome.org/GNOME/gnote"; description = "A note taking application"; mainProgram = "gnote"; maintainers = with maintainers; [ jfvillablanca ]; diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix index d7bad1d133901..18ccdf2db26ec 100644 --- a/pkgs/applications/office/gtg/default.nix +++ b/pkgs/applications/office/gtg/default.nix @@ -77,7 +77,7 @@ python3Packages.buildPythonApplication rec { "Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology. GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects. ''; - homepage = "https://wiki.gnome.org/Apps/GTG"; + homepage = "https://github.com/getting-things-gnome/gtg"; downloadPage = "https://github.com/getting-things-gnome/gtg/releases"; license = licenses.gpl3Plus; maintainers = with maintainers; [ oyren ]; diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix index 99a45371b63c3..ca91b33ecae6e 100644 --- a/pkgs/applications/office/pinpoint/default.nix +++ b/pkgs/applications/office/pinpoint/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { cairo clutter-gtk ]; meta = with lib; { - homepage = "https://wiki.gnome.org/action/show/Apps/Pinpoint"; + homepage = "https://gitlab.gnome.org/Archive/pinpoint"; description = "A tool for making hackers do excellent presentations"; license = licenses.lgpl21; platforms = platforms.linux; diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix index 1f6ccbf10f487..595b12bf9ab24 100644 --- a/pkgs/applications/office/planify/default.nix +++ b/pkgs/applications/office/planify/default.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation rec { pname = "planify"; - version = "4.6"; + version = "4.7"; src = fetchFromGitHub { owner = "alainm23"; repo = "planify"; rev = version; - hash = "sha256-vyw8SjI8EM9giYpAsCNppgSydPEBNz2sbFahEKmKe6w="; + hash = "sha256-5hiVTU1w3Rk/BdxYwDB0Y+EZFnSAaEWtx19IB1ak1yY="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix index 0beb4825ddd4f..e27fd037df446 100644 --- a/pkgs/applications/office/planner/default.nix +++ b/pkgs/applications/office/planner/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { meta = { description = "Project management tool for the GNOME desktop"; mainProgram = "planner"; - homepage = "https://wiki.gnome.org/Apps/Planner"; + homepage = "https://gitlab.gnome.org/World/planner"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ amiloradovsky ]; platforms = lib.platforms.unix; diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix index 59af6868b7dfe..bf08311bad980 100644 --- a/pkgs/applications/office/timeular/default.nix +++ b/pkgs/applications/office/timeular/default.nix @@ -5,12 +5,12 @@ }: let - version = "6.7.5"; + version = "6.7.6"; pname = "timeular"; src = fetchurl { url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage"; - hash = "sha256-b/I34f8fGgPr4+fZJ+2cb+Xi/AvotxNHYg7IaLTByPk="; + hash = "sha256-wQUR2jLJi1peXqXJJj/72X9xNaD2DzNiB0mGFiaEWBE="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index ac08d17397fa7..fdaa76f6f7e8e 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -58,6 +58,10 @@ let # may wish to wrap GR without python support. pythonPkgs = extraPythonPackages ++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ] + ++ unwrapped.passthru.uhd.pythonPath + ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != []) [ + (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd) + ] # Add the extraPackages as python modules as well ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages) ++ lib.flatten (lib.mapAttrsToList ( diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix index c3f7b58fa1ba6..947d7d48108d2 100644 --- a/pkgs/applications/radio/uhd/default.nix +++ b/pkgs/applications/radio/uhd/default.nix @@ -8,15 +8,8 @@ , boost , ncurses , enableCApi ? true -# Although we handle the Python API's dependencies in pythonEnvArg, this -# feature is currently disabled as upstream attempts to run `python setup.py -# install` by itself, and it fails because the Python's environment's prefix is -# not a writable directly. Adding support for this feature would require using -# python's pypa/build nad pypa/install hooks directly, and currently it is hard -# to do that because it all happens after a long buildPhase of the C API. -, enablePythonApi ? false +, enablePythonApi ? true , python3 -, buildPackages , enableExamples ? false , enableUtils ? true , libusb1 @@ -38,13 +31,7 @@ }: let - onOffBool = b: if b then "ON" else "OFF"; - inherit (lib) optionals; - # Later used in pythonEnv generation. Python + mako are always required for the build itself but not necessary for runtime. - pythonEnvArg = (ps: with ps; [ mako ] - ++ optionals (enablePythonApi) [ numpy setuptools ] - ++ optionals (enableUtils) [ requests six ] - ); + inherit (lib) optionals cmakeBool; in stdenv.mkDerivation (finalAttrs: { @@ -72,7 +59,30 @@ stdenv.mkDerivation (finalAttrs: { # hash. sha256 = "17g503mhndaabrdl7qai3rdbafr8xx8awsyr7h2bdzwzprzmh4m3"; }; + # This are the minimum required Python dependencies, this attribute might + # be useful if you want to build a development environment with a python + # interpreter able to import the uhd module. + pythonPath = optionals (enablePythonApi || enableUtils) [ + python3.pkgs.numpy + python3.pkgs.setuptools + ] ++ optionals (enableUtils) [ + python3.pkgs.requests + python3.pkgs.six + + /* These deps are needed for the usrp_hwd.py utility, however even if they + would have been added here, the utility wouldn't have worked because it + depends on an old python library mprpc that is not supported for Python > + 3.8. See also report upstream: + https://github.com/EttusResearch/uhd/issues/744 + + python3.pkgs.gevent + python3.pkgs.pyudev + python3.pkgs.pyroute2 + + */ + ]; passthru = { + runtimePython = python3.withPackages (ps: finalAttrs.pythonPath); updateScript = [ ./update.sh # Pass it this file name as argument @@ -83,66 +93,91 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DENABLE_LIBUHD=ON" "-DENABLE_USB=ON" - "-DENABLE_TESTS=ON" # This installs tests as well so we delete them via postPhases - "-DENABLE_EXAMPLES=${onOffBool enableExamples}" - "-DENABLE_UTILS=${onOffBool enableUtils}" - "-DENABLE_C_API=${onOffBool enableCApi}" - "-DENABLE_PYTHON_API=${onOffBool enablePythonApi}" - "-DENABLE_DPDK=${onOffBool enableDpdk}" + # Regardless of doCheck, we want to build the tests to help us gain + # confident that the package is OK. + "-DENABLE_TESTS=ON" + (cmakeBool "ENABLE_EXAMPLES" enableExamples) + (cmakeBool "ENABLE_UTILS" enableUtils) + (cmakeBool "ENABLE_C_API" enableCApi) + (cmakeBool "ENABLE_PYTHON_API" enablePythonApi) + /* + + Otherwise python tests fail. Using a dedicated pythonEnv for either or both + nativeBuildInputs and buildInputs makes upstream's cmake scripts fail to + install the Python API as reported on our end at [1] (we don't want + upstream to think we are in a virtual environment because we use + python3.withPackages...). + + Putting simply the python dependencies in the nativeBuildInputs and + buildInputs as they are now from some reason makes the `python` in the + checkPhase fail to find the python dependencies, as reported at [2]. Even + using nativeCheckInputs with the python dependencies, or using a + `python3.withPackages` wrapper in nativeCheckInputs, doesn't help, as the + `python` found in $PATH first is the one from nativeBuildInputs. + + [1]: https://github.com/NixOS/nixpkgs/pull/307435 + [2]: https://discourse.nixos.org/t/missing-python-package-in-checkphase/9168/ + + Hence we use upstream's provided cmake flag to control which python + interpreter they will use to run the the python tests. + + */ + "-DRUNTIME_PYTHON_EXECUTABLE=${lib.getExe finalAttrs.passthru.runtimePython}" + (cmakeBool "ENABLE_DPDK" enableDpdk) # Devices - "-DENABLE_OCTOCLOCK=${onOffBool enableOctoClock}" - "-DENABLE_MPMD=${onOffBool enableMpmd}" - "-DENABLE_B100=${onOffBool enableB100}" - "-DENABLE_B200=${onOffBool enableB200}" - "-DENABLE_USRP1=${onOffBool enableUsrp1}" - "-DENABLE_USRP2=${onOffBool enableUsrp2}" - "-DENABLE_X300=${onOffBool enableX300}" - "-DENABLE_N300=${onOffBool enableN300}" - "-DENABLE_N320=${onOffBool enableN320}" - "-DENABLE_E300=${onOffBool enableE300}" - "-DENABLE_E320=${onOffBool enableE320}" - ] + (cmakeBool "ENABLE_OCTOCLOCK" enableOctoClock) + (cmakeBool "ENABLE_MPMD" enableMpmd) + (cmakeBool "ENABLE_B100" enableB100) + (cmakeBool "ENABLE_B200" enableB200) + (cmakeBool "ENABLE_USRP1" enableUsrp1) + (cmakeBool "ENABLE_USRP2" enableUsrp2) + (cmakeBool "ENABLE_X300" enableX300) + (cmakeBool "ENABLE_N300" enableN300) + (cmakeBool "ENABLE_N320" enableN320) + (cmakeBool "ENABLE_E300" enableE300) + (cmakeBool "ENABLE_E320" enableE320) # TODO: Check if this still needed # ABI differences GCC 7.1 # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1 - ++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ] - ; - - pythonEnv = python3.withPackages pythonEnvArg; + ] ++ optionals stdenv.isAarch32 [ + "-DCMAKE_CXX_FLAGS=-Wno-psabi" + ]; nativeBuildInputs = [ cmake pkg-config # Present both here and in buildInputs for cross compilation. - (buildPackages.python3.withPackages pythonEnvArg) + python3 + python3.pkgs.mako + # We add this unconditionally, but actually run wrapPythonPrograms only if + # python utilities are enabled + python3.pkgs.wrapPython ]; - buildInputs = [ + buildInputs = finalAttrs.pythonPath ++ [ boost libusb1 - ] - # However, if enableLibuhd_Python_api *or* enableUtils is on, we need - # pythonEnv for runtime as well. The utilities' runtime dependencies are - # handled at the environment - ++ optionals (enableExamples) [ ncurses ncurses.dev ] - ++ optionals (enablePythonApi || enableUtils) [ finalAttrs.pythonEnv ] - ++ optionals (enableDpdk) [ dpdk ] - ; + ] ++ optionals (enableExamples) [ + ncurses ncurses.dev + ] ++ optionals (enableDpdk) [ + dpdk + ]; # many tests fails on darwin, according to ofborg doCheck = !stdenv.isDarwin; # Build only the host software preConfigure = "cd host"; - # TODO: Check if this still needed, perhaps relevant: - # https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html#build_instructions_unix_arm patches = [ - # Disable tests that fail in the sandbox + # Disable tests that fail in the sandbox, last checked at version 4.6.0.0 ./no-adapter-tests.patch ]; - postPhases = [ "installFirmware" "removeInstalledTests" ] - ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ "moveUdevRules" ] - ; + postPhases = [ + "installFirmware" + "removeInstalledTests" + ] ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ + "moveUdevRules" + ]; # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images` installFirmware = '' @@ -162,6 +197,10 @@ stdenv.mkDerivation (finalAttrs: { mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/ ''; + # Wrap the python utilities with our pythonPath definition + postFixup = lib.optionalString (enablePythonApi && enableUtils) '' + wrapPythonPrograms + ''; disallowedReferences = optionals (!enablePythonApi && !enableUtils) [ python3 ]; diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix index 0d8d87ac4109b..ba0114c7b5633 100644 --- a/pkgs/applications/science/biology/igv/default.nix +++ b/pkgs/applications/science/biology/igv/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "igv"; - version = "2.17.3"; + version = "2.17.4"; src = fetchzip { url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip"; - sha256 = "sha256-SGqkWBv4nol0+lnGN7wBHJvndcIqZ5+Wt1wAcXA42cU="; + sha256 = "sha256-LF/rwm/XlLHAJjiAlQVTmx5l+5Np2b5rPjoCdN/qERU="; }; installPhase = '' diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix index 3bc84e414bb75..85fb1ca80ac65 100644 --- a/pkgs/applications/science/biology/last/default.nix +++ b/pkgs/applications/science/biology/last/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "last"; - version = "1542"; + version = "1543"; src = fetchFromGitLab { owner = "mcfrith"; repo = "last"; rev = "refs/tags/${version}"; - hash = "sha256-ZzvyyecYiBscogfN9/FnDbHg/lqb8y14n9C2KLIqhFA="; + hash = "sha256-APHPv7Q64JITfHsvjCThZ6hvGHerk6wjOm32KdTv4k8="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix index 41deecbb62247..7619e43e80332 100644 --- a/pkgs/applications/science/electronics/digital/default.nix +++ b/pkgs/applications/science/electronics/digital/default.nix @@ -3,17 +3,18 @@ }: let + pname = "digital"; pkgDescription = "A digital logic designer and circuit simulator."; version = "0.30"; buildDate = "2023-02-03T08:00:56+01:00"; # v0.30 commit date desktopItem = makeDesktopItem { type = "Application"; - name = "Digital"; - desktopName = pkgDescription; + name = pname; + desktopName = "Digital"; comment = "Easy-to-use digital logic designer and circuit simulator"; - exec = "digital"; - icon = "digital"; + exec = pname; + icon = pname; categories = [ "Education" "Electronics" ]; mimeTypes = [ "text/x-digital" ]; terminal = false; @@ -28,8 +29,7 @@ let mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}"; in maven.buildMavenPackage rec { - pname = "digital"; - inherit version jre; + inherit pname version jre; src = fetchFromGitHub { owner = "hneemann"; @@ -44,6 +44,8 @@ maven.buildMavenPackage rec { nativeBuildInputs = [ copyDesktopItems makeWrapper ]; installPhase = '' + runHook preInstall + mkdir -p $out/bin mkdir -p $out/share/java @@ -53,6 +55,13 @@ maven.buildMavenPackage rec { makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-classpath $out/share/java/${pname}-${version}.jar:''${classpath#:}" \ --add-flags "-jar $out/share/java/Digital.jar" + + install -Dm644 src/main/svg/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg + for size in 16 32 48 64 128; do + install -Dm644 src/main/resources/icons/icon"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png + done + + runHook postInstall ''; desktopItems = [ desktopItem ]; diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index 7b7b54201bf7d..584f59ba8b472 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "gtkwave"; - version = "3.3.118"; + version = "3.3.119"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; - sha256 = "sha256-D0MwwCiiqz0vTUzur222kl2wEMS2/VLRECLQ5d6gSGo="; + sha256 = "sha256-6rPgnnZBEVwHhIv7MPfdDDu+K4y+RQF+leB327pqwDg="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; diff --git a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch b/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch deleted file mode 100644 index 91e080aa294a0..0000000000000 --- a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd -index 7794c9edc3..1753277b1f 100644 ---- a/src/sage/libs/linbox/conversion.pxd -+++ b/src/sage/libs/linbox/conversion.pxd -@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in - - v -- linbox vector - """ - cdef Vector_integer_dense res = P() -- cdef cppvector[Integer] * vec = &v.refRep() - cdef size_t i - for i in range(<size_t> res._degree): -- mpz_set(res._entries[i], vec[0][i].get_mpz_const()) -+ mpz_set(res._entries[i], v.getEntry(i).get_mpz_const()) - - return res -diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd -index 9112d151f8..dcc482960c 100644 ---- a/src/sage/libs/linbox/linbox.pxd -+++ b/src/sage/libs/linbox/linbox.pxd -@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h": - ctypedef Modular_double Field - ctypedef double Element - DenseMatrix_Modular_double(Field F, size_t m, size_t n) -- DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n) -+ DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*) - void setEntry(size_t i, size_t j, Element& a) - Element &getEntry(size_t i, size_t j) - -@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h": - ctypedef Modular_float Field - ctypedef float Element - DenseMatrix_Modular_float(Field F, size_t m, size_t n) -- DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n) -+ DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*) - void setEntry(size_t i, size_t j, Element& a) - Element &getEntry(size_t i, size_t j) - -@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h": - DenseVector_integer (Field &F) - DenseVector_integer (Field &F, long& m) - DenseVector_integer (Field &F, cppvector[Integer]&) -- cppvector[Element]& refRep() - size_t size() - void resize(size_t) - void resize(size_t n, const Element&) -diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi -index 010365d76f..3d60726ff9 100644 ---- a/src/sage/matrix/matrix_modn_dense_template.pxi -+++ b/src/sage/matrix/matrix_modn_dense_template.pxi -@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_ - return 0,[] - - cdef ModField *F = new ModField(<long>modulus) -- cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols) -+ cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries) - cdef Py_ssize_t r = reducedRowEchelonize(A[0]) - cdef Py_ssize_t i,j - for i in range(nrows): diff --git a/pkgs/applications/science/math/scotch/default.nix b/pkgs/applications/science/math/scotch/default.nix deleted file mode 100644 index 1eb057cfc7c5c..0000000000000 --- a/pkgs/applications/science/math/scotch/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchurl, bison, mpi, flex, zlib}: - -stdenv.mkDerivation rec { - version = "6.1.1"; - pname = "scotch"; - src_name = "scotch_${version}"; - - buildInputs = [ bison mpi flex zlib ]; - - src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/34618/${src_name}.tar.gz"; - sha256 = "sha256-OQUvWf9HSkppzvwlzzyvhClACIneugEO5kA8oYj4sxE="; - }; - - sourceRoot = "${src_name}/src"; - - preConfigure = '' - ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc - ''; - - buildFlags = [ "scotch ptscotch" ]; - installFlags = [ "prefix=\${out}" ]; - - meta = { - description = "Graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering"; - longDescription = '' - Scotch is a software package for graph and mesh/hypergraph partitioning, graph clustering, - and sparse matrix ordering. - ''; - homepage = "http://www.labri.fr/perso/pelegrin/scotch"; - license = lib.licenses.cecill-c; - maintainers = [ lib.maintainers.bzizou ]; - platforms = lib.platforms.linux; - }; -} - diff --git a/pkgs/applications/science/misc/gplates/boost-placeholders.patch b/pkgs/applications/science/misc/gplates/boost-placeholders.patch deleted file mode 100644 index 7166b92f646af..0000000000000 --- a/pkgs/applications/science/misc/gplates/boost-placeholders.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --unified --recursive a/src/gui/TopologyTools.cc b/src/gui/TopologyTools.cc ---- a/src/gui/TopologyTools.cc 2021-07-05 05:11:47.000000000 +0200 -+++ b/src/gui/TopologyTools.cc 2022-12-07 22:35:20.444054124 +0100 -@@ -3448,7 +3448,7 @@ - std::find_if( - d_visible_boundary_section_seq.begin(), - d_visible_boundary_section_seq.end(), -- boost::bind(&VisibleSection::d_section_info_index, _1) == -+ boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) == - boost::cref(section_index)); - - if (visible_section_iter == d_visible_boundary_section_seq.end()) -@@ -3467,7 +3467,7 @@ - std::find_if( - d_visible_interior_section_seq.begin(), - d_visible_interior_section_seq.end(), -- boost::bind(&VisibleSection::d_section_info_index, _1) == -+ boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) == - boost::cref(section_index)); - - if (visible_section_iter == d_visible_interior_section_seq.end()) -diff --unified --recursive a/src/presentation/ReconstructionGeometryRenderer.cc b/src/presentation/ReconstructionGeometryRenderer.cc ---- a/src/presentation/ReconstructionGeometryRenderer.cc 2021-07-05 05:11:50.000000000 +0200 -+++ b/src/presentation/ReconstructionGeometryRenderer.cc 2022-12-07 22:36:11.117884262 +0100 -@@ -274,7 +274,7 @@ - GPlatesPresentation::ReconstructionGeometryRenderer::RenderParamsPopulator::visit_reconstruct_visual_layer_params( - const ReconstructVisualLayerParams ¶ms) - { -- d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, ¶ms, _1, _2); -+ d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, ¶ms, boost::placeholders::_1, boost::placeholders::_2); - d_render_params.vgp_draw_circular_error = params.get_vgp_draw_circular_error(); - d_render_params.fill_polygons = params.get_fill_polygons(); - d_render_params.fill_polylines = params.get_fill_polylines(); -diff --unified --recursive a/src/presentation/VisualLayerRegistry.cc b/src/presentation/VisualLayerRegistry.cc ---- a/src/presentation/VisualLayerRegistry.cc 2021-07-05 05:11:50.000000000 +0200 -+++ b/src/presentation/VisualLayerRegistry.cc 2022-12-07 22:38:12.950877614 +0100 -@@ -448,7 +448,7 @@ - &GPlatesQtWidgets::ReconstructScalarCoverageLayerOptionsWidget::create, - boost::bind( - &ReconstructScalarCoverageVisualLayerParams::create, -- _1), -+ boost::placeholders::_1), - true); - - registry.register_visual_layer_type( -@@ -498,7 +498,7 @@ - // NOTE: We pass in ViewState and not the GlobeAndMapWidget, obtained from - // ViewportWindow, because ViewportWindow is not yet available (a reference to - // it not yet been initialised inside ViewState) so accessing it would crash... -- _1, boost::ref(view_state)), -+ boost::placeholders::_1, boost::ref(view_state)), - true); - - // DERIVED_DATA group. -@@ -549,7 +549,7 @@ - &GPlatesQtWidgets::VelocityFieldCalculatorLayerOptionsWidget::create, - boost::bind( - &VelocityFieldCalculatorVisualLayerParams::create, -- _1, boost::cref(view_state.get_rendered_geometry_parameters())), -+ boost::placeholders::_1, boost::cref(view_state.get_rendered_geometry_parameters())), - true); - - using namespace GPlatesUtils; -diff --unified --recursive a/src/qt-widgets/ViewportWindow.cc b/src/qt-widgets/ViewportWindow.cc ---- a/src/qt-widgets/ViewportWindow.cc 2021-08-05 05:44:01.000000000 +0200 -+++ b/src/qt-widgets/ViewportWindow.cc 2022-12-07 22:39:20.487981302 +0100 -@@ -326,7 +326,7 @@ - *d_geometry_operation_state_ptr, - *d_modify_geometry_state, - *d_measure_distance_state_ptr, -- boost::bind(&canvas_tool_status_message, boost::ref(*this), _1), -+ boost::bind(&canvas_tool_status_message, boost::ref(*this), boost::placeholders::_1), - get_view_state(), - *this); - diff --git a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch b/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch deleted file mode 100644 index 6e90faf9f0373..0000000000000 --- a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc -index ca353c4099..499be0a986 100644 ---- a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 9548db1c7c479..59bb9415b37d9 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -53,12 +53,11 @@ , Cocoa , CoreSymbolication , OpenGL -, noSplash ? false }: stdenv.mkDerivation rec { pname = "root"; - version = "6.30.04"; + version = "6.30.06"; passthru = { tests = import ./tests { inherit callPackage; }; @@ -66,7 +65,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - hash = "sha256-K0GAtpjznMZdkQhNgzqIRRWzJbxfZzyOOavoGLAl2Mw="; + hash = "sha256-MA237RtnjtL7ljXKZ1khoZRcfCED2oQAM7STCR9VcAw="; }; nativeBuildInputs = [ makeWrapper cmake pkg-config git ]; @@ -143,8 +142,6 @@ stdenv.mkDerivation rec { -e '1iset(nlohmann_json_DIR "${nlohmann_json}/lib/cmake/nlohmann_json/")' patchShebangs build/unix/ - '' + lib.optionalString noSplash '' - substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true" '' + lib.optionalString stdenv.isDarwin '' # Eliminate impure reference to /System/Library/PrivateFrameworks substituteInPlace core/macosx/CMakeLists.txt \ @@ -163,10 +160,6 @@ stdenv.mkDerivation rec { "-Dbuiltin_gtest=OFF" "-Dbuiltin_nlohmannjson=OFF" "-Dbuiltin_openui5=ON" - "-Dalien=OFF" - "-Dbonjour=OFF" - "-Dcastor=OFF" - "-Dchirp=OFF" "-Dclad=OFF" "-Ddavix=ON" "-Ddcache=OFF" @@ -176,21 +169,13 @@ stdenv.mkDerivation rec { "-Dfortran=OFF" "-Dgnuinstall=ON" "-Dimt=ON" - "-Dgfal=OFF" "-Dgviz=OFF" - "-Dhdfs=OFF" "-Dhttp=ON" - "-Dkrb5=OFF" - "-Dldap=OFF" - "-Dmonalisa=OFF" "-Dmysql=OFF" "-Dodbc=OFF" "-Dopengl=ON" - "-Doracle=OFF" "-Dpgsql=OFF" - "-Dpythia6=OFF" "-Dpythia8=OFF" - "-Drfio=OFF" "-Droot7=ON" "-Dsqlite=OFF" "-Dssl=ON" @@ -204,16 +189,12 @@ stdenv.mkDerivation rec { ++ lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include" ++ lib.optionals stdenv.isDarwin [ "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" - "-DCMAKE_DISABLE_FIND_PACKAGE_Python2=TRUE" # fatal error: module map file '/nix/store/<hash>-Libsystem-osx-10.12.6/include/module.modulemap' not found # fatal error: could not build module '_Builtin_intrinsics' "-Druntime_cxxmodules=OFF" ]; - # suppress warnings from compilation of the vendored clang to avoid running into log limits on the Hydra - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-shadow" "-Wno-maybe-uninitialized" ]; - postInstall = '' for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do wrapProgram "$out/bin/$prog" \ @@ -273,7 +254,7 @@ stdenv.mkDerivation rec { homepage = "https://root.cern.ch/"; description = "A data analysis framework"; platforms = platforms.unix; - maintainers = [ maintainers.veprbl ]; + maintainers = [ maintainers.guitargeek maintainers.veprbl ]; license = licenses.lgpl21; }; } diff --git a/pkgs/applications/science/physics/crystfel/default.nix b/pkgs/applications/science/physics/crystfel/default.nix index 92b48ec863091..33f2043603177 100644 --- a/pkgs/applications/science/physics/crystfel/default.nix +++ b/pkgs/applications/science/physics/crystfel/default.nix @@ -6,15 +6,16 @@ , fetchzip , cmake , lz4 +, gfortran , bzip2 -, m4 , hdf5 , gsl , unzip , makeWrapper +, zlib , meson -, git , ninja +, pandoc , eigen , pkg-config , wrapGAppsHook @@ -40,7 +41,7 @@ let pname = "libccp4"; version = "8.0.0"; src = fetchurl { - url = "https://ftp.ccp4.ac.uk/opensource/${pname}-${version}.tar.gz"; + url = "https://ftp.ccp4.ac.uk/opensource/libccp4-${version}.tar.gz"; hash = "sha256-y4E66GYSoIZjKd6rfO6W6sVz2BvlskA0HUD5rVMi/y0="; }; nativeBuildInputs = [ meson ninja ]; @@ -87,7 +88,7 @@ let }; mosflmBinary = if stdenv.isDarwin then "bin/mosflm" else "mosflm-linux-64-noX11"; in - stdenv.mkDerivation rec { + stdenv.mkDerivation { pname = "mosflm"; inherit version src; @@ -111,7 +112,7 @@ let pname = "xgandalf"; version = "c6c5003ff1086e8c0fb5313660b4f02f3a3aab7b"; src = fetchurl { - url = "https://gitlab.desy.de/thomas.white/${pname}/-/archive/${version}/${pname}-${version}.tar.gz"; + url = "https://gitlab.desy.de/thomas.white/xgandalf/-/archive/${version}/xgandalf-${version}.tar.gz"; hash = "sha256-/uZlBwAINSoYqgLQFTMz8rS1Rpadu79JkO6Bu/+Nx9E="; }; @@ -121,10 +122,10 @@ let pinkIndexer = stdenv.mkDerivation rec { pname = "pinkindexer"; - version = "5d4e016941eb2a9e50a10df96ded7ff1e2464503"; + version = "15caa21191e27e989b750b29566e4379bc5cd21a"; src = fetchurl { url = "https://gitlab.desy.de/thomas.white/${pname}/-/archive/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-VnJOJJ247dNoBlos4Fu3GQBlAnTk9el+yZDRiicJtu0="; + hash = "sha256-v/SCJiHAV05Lc905y/dE8uBXlW+lLX9wau4XORYdbQg="; }; nativeBuildInputs = [ meson pkg-config ninja ]; @@ -169,13 +170,27 @@ let "-DENABLE_BZIP2_PLUGIN=yes" ]; }; + + millepede-ii = stdenv.mkDerivation rec { + pname = "millepede-ii"; + version = "04-13-06"; + src = fetchurl { + url = "https://gitlab.desy.de/claus.kleinwort/millepede-ii/-/archive/V${version}/millepede-ii-V${version}.tar.gz"; + hash = "sha256-aFoo8AGBsUEN2u3AmnSpTqJ6JeNV6j9vkAFTZ34I+sI="; + }; + + nativeBuildInputs = [ gfortran ]; + buildInputs = [ zlib ]; + + makeFlags = [ "PREFIX=$(out)" ]; + }; in stdenv.mkDerivation rec { pname = "crystfel"; - version = "0.10.2"; + version = "0.11.0"; src = fetchurl { - url = "https://www.desy.de/~twhite/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-nCO9ndDKS54bVN9IhFBiCVNzqk7BsCljXFrOmlx+sP4="; + url = "https://www.desy.de/~twhite/crystfel/crystfel-${version}.tar.gz"; + sha256 = "sha256-ogNHWYfbxRmB5TdK8K0JpcCnYOOyXapQGSPh8mfp+Tc="; }; nativeBuildInputs = [ meson pkg-config ninja flex bison doxygen opencl-headers makeWrapper ] ++ lib.optionals withGui [ wrapGAppsHook ]; @@ -192,6 +207,7 @@ stdenv.mkDerivation rec { mosflm pinkIndexer xgandalf + pandoc ] ++ lib.optionals withGui [ gtk3 gdk-pixbuf ] ++ lib.optionals stdenv.isDarwin [ argp-standalone @@ -201,12 +217,12 @@ stdenv.mkDerivation rec { ++ lib.optionals withBitshuffle [ hdf5-external-filter-plugins ]; patches = [ + # on darwin at least, we need to link to a separate argp library; + # this patch adds a test for this and the necessary linker options ./link-to-argp-standalone-if-needed.patch - ./disable-fmemopen-on-aarch64-darwin.patch - (fetchpatch { - url = "https://gitlab.desy.de/thomas.white/crystfel/-/commit/3c54d59e1c13aaae716845fed2585770c3ca9d14.diff"; - hash = "sha256-oaJNBQQn0c+z4p1pnW4osRJA2KdKiz4hWu7uzoKY7wc="; - }) + # hotfix for an issue that occurs (at least) on NixOS: + # if the temporary path is too long, we get a segfault + ./gui-path-issue.patch ]; # CrystFEL calls mosflm by searching PATH for it. We could've create a wrapper script that sets the PATH, but @@ -218,7 +234,9 @@ stdenv.mkDerivation rec { postInstall = lib.optionalString withBitshuffle '' for file in $out/bin/*; do - wrapProgram $file --set HDF5_PLUGIN_PATH ${hdf5-external-filter-plugins}/lib/plugins + wrapProgram $file \ + --set HDF5_PLUGIN_PATH ${hdf5-external-filter-plugins}/lib/plugins \ + --prefix PATH ":" ${lib.makeBinPath [ millepede-ii ]} done ''; diff --git a/pkgs/applications/science/physics/crystfel/gui-path-issue.patch b/pkgs/applications/science/physics/crystfel/gui-path-issue.patch new file mode 100644 index 0000000000000..28cd0280e8f67 --- /dev/null +++ b/pkgs/applications/science/physics/crystfel/gui-path-issue.patch @@ -0,0 +1,27 @@ +diff --git a/src/gui_index.c b/src/gui_index.c +index 2cc8e8db..13be77d5 100644 +--- a/src/gui_index.c ++++ b/src/gui_index.c +@@ -540,6 +540,7 @@ static void delete_gui_tempdir(char *tmpdir) + { + char *path; + int i; ++ size_t pathlen; + + /* List of files which it's safe to delete */ + char *files[] = {"gmon.out", "mosflm.lp", "SUMMARY", "XDS.INP", +@@ -552,11 +553,12 @@ static void delete_gui_tempdir(char *tmpdir) + + if ( tmpdir == NULL ) return; + +- path = calloc(strlen(tmpdir)+64, 1); ++ pathlen = strlen(tmpdir)+64; ++ path = calloc(pathlen, 1); + if ( path == NULL ) return; + + for ( i=0; i<n_files; i++ ) { +- snprintf(path, 127, "%s/%s", tmpdir, files[i]); ++ snprintf(path, pathlen, "%s/%s", tmpdir, files[i]); + unlink(path); + } + diff --git a/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch b/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch index 8314be29ac006..edadb750ac57f 100644 --- a/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch +++ b/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch @@ -1,8 +1,8 @@ diff --git a/meson.build b/meson.build -index 59bbcfb7..dd75d4e2 100644 +index 4717bb2a..38d8693f 100644 --- a/meson.build +++ b/meson.build -@@ -80,6 +80,12 @@ if cc.has_function('clock_gettime', prefix: '#include <time.h>') +@@ -70,6 +70,12 @@ if cc.has_function('clock_gettime', prefix: '#include <time.h>') conf_data.set10('HAVE_CLOCK_GETTIME', true) endif @@ -12,15 +12,15 @@ index 59bbcfb7..dd75d4e2 100644 + argpdep = dependency('', required : false) +endif + - # ************************ libcrystfel (subdir) ************************ - - subdir('libcrystfel') -@@ -180,7 +186,7 @@ endif + if cc.has_function('sched_setaffinity', + prefix: '#include <sched.h>', + args: '-D_GNU_SOURCE') +@@ -186,7 +192,7 @@ endif indexamajig = executable('indexamajig', indexamajig_sources, dependencies: [mdep, libcrystfeldep, gsldep, -- pthreaddep, zmqdep, asapodep], -+ pthreaddep, zmqdep, asapodep, argpdep], +- pthreaddep, zmqdep, asapodep, asapoproddep], ++ pthreaddep, zmqdep, asapodep, asapoproddep, argpdep], install: true, - install_rpath: '$ORIGIN/../lib64/:$ORIGIN/../lib') + install_rpath: crystfel_rpath) diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index 99d4b79d1cc06..36c9f7a7160ab 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -70,11 +70,11 @@ in mkDerivation rec { pname = "recoll"; - version = "1.37.4"; + version = "1.37.5"; src = fetchurl { url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz"; - hash = "sha256-MQnXamW7L4hyMbZDmU7XAcLv5roHcfhFGzni8YbDtq0="; + hash = "sha256-vv2AMt6ufrfxRX2yF28X3E500MYP9hnGfDb3I9RdMVU="; }; configureFlags = [ diff --git a/pkgs/applications/terminal-emulators/tym/default.nix b/pkgs/applications/terminal-emulators/tym/default.nix index acfbbb48943d0..562e06176130c 100644 --- a/pkgs/applications/terminal-emulators/tym/default.nix +++ b/pkgs/applications/terminal-emulators/tym/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "tym"; - version = "3.5.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "endaaman"; repo = "${pname}"; rev = version; - sha256 = "sha256-aXV3TNjHxg/9Lb2o+ci5/cCAPbkWhxqOka3wv21ajSA="; + sha256 = "sha256-53XAHyDiFPUTmw/rgoEoSoh+c/t4rS12gxwH1yKHqvw="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix index 7a9a01ea255bc..41179dfd0bcda 100644 --- a/pkgs/applications/version-management/gerrit/default.nix +++ b/pkgs/applications/version-management/gerrit/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gerrit"; - version = "3.9.2"; + version = "3.9.4"; src = fetchurl { url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war"; - hash = "sha256-KsuuwFKdpXHDVAZZ2JiX781mgqDQyyEILo4lmNn+8YE="; + hash = "sha256-pjrWXfae1momJRTfdIPalsLynAGwqp1VtX9M9uqzJwM="; }; buildCommand = '' diff --git a/pkgs/applications/version-management/git-machete/default.nix b/pkgs/applications/version-management/git-machete/default.nix index 3c97c1e2024b2..a6cf657d61d70 100644 --- a/pkgs/applications/version-management/git-machete/default.nix +++ b/pkgs/applications/version-management/git-machete/default.nix @@ -12,13 +12,13 @@ buildPythonApplication rec { pname = "git-machete"; - version = "3.25.0"; + version = "3.25.2"; src = fetchFromGitHub { owner = "virtuslab"; repo = pname; rev = "v${version}"; - hash = "sha256-tLEuSwM8X0+oQDB9fmj5OQsC7iA906EQZz3yvB6rXfk="; + hash = "sha256-uTbDrSR2Aqeq73PI0dghCkOQS7QPFb/I9Yrl3wIH9ZQ="; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/version-management/git-vanity-hash/default.nix b/pkgs/applications/version-management/git-vanity-hash/default.nix index 915ef38307b2f..55332c6c7287b 100644 --- a/pkgs/applications/version-management/git-vanity-hash/default.nix +++ b/pkgs/applications/version-management/git-vanity-hash/default.nix @@ -1,17 +1,22 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage { pname = "git-vanity-hash"; version = "1.0.0"; src = fetchFromGitHub { owner = "prasmussen"; repo = "git-vanity-hash"; - rev = "v${version}"; - hash = "sha256-jD8cSFXf9UNBZ9d8JTnuwhs6nPHY/xGd5RyqF+mQOlo="; + # v1.0.0 + build fix + rev = "a80e7725ac6d0b7e6807cd7315cfdc7eaf0584f6"; + hash = "sha256-1z4jbtzUB3SH79dDXAITf7Vup1YZdTLHBieSrhrvSXc="; }; - cargoHash = "sha256-8oW6gRtdQdmSmdwKlcU2EhHsyhk9hFhKl7RtsYwC7Ps="; + cargoHash = "sha256-+SQ0HpURBjnnwH1Ue7IUReOtI4LxVPK9AGSAihs0qsc="; postInstall = '' mkdir -p $out/share/doc/git-vanity-hash diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix deleted file mode 100644 index b341a7ffee89a..0000000000000 --- a/pkgs/applications/video/manim/default.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ lib -, fetchFromGitHub - -, cairo -, ffmpeg -, texliveInfraOnly - -, python3 -}: - -let - # According to ManimCommunity documentation manim uses tex-packages packaged - # in a custom distribution called "manim-latex", - # - # https://community.chocolatey.org/packages/manim-latex#files - # - # which includes another cutom distribution called tinytex, for which the - # package list can be found at - # - # https://github.com/yihui/tinytex/blob/master/tools/pkgs-custom.txt - # - # these two combined add up to: - manim-tinytex = texliveInfraOnly.withPackages (ps: with ps; [ - - # tinytex - amsfonts amsmath atbegshi atveryend auxhook babel bibtex - bigintcalc bitset booktabs cm dehyph dvipdfmx dvips ec epstopdf-pkg etex - etexcmds etoolbox euenc everyshi fancyvrb filehook firstaid float fontspec - framed geometry gettitlestring glyphlist graphics graphics-cfg graphics-def - grffile helvetic hycolor hyperref hyph-utf8 iftex inconsolata infwarerr - intcalc knuth-lib kvdefinekeys kvoptions kvsetkeys l3backend l3kernel - l3packages latex latex-amsmath-dev latex-bin latex-fonts latex-tools-dev - latexconfig latexmk letltxmacro lm lm-math ltxcmds lua-alt-getopt luahbtex - lualatex-math lualibs luaotfload luatex mdwtools metafont mfware natbib - pdfescape pdftex pdftexcmds plain psnfss refcount rerunfilecheck stringenc - tex tex-ini-files times tipa tools unicode-data unicode-math uniquecounter - url xcolor xetex xetexconfig xkeyval xunicode zapfding - - # manim-latex - standalone everysel preview doublestroke ms setspace rsfs relsize ragged2e - fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super - babel-english gnu-freefont mathastext cbfonts-fd - ]); - - python = python3; - -in python.pkgs.buildPythonApplication rec { - pname = "manim"; - pyproject = true; - version = "0.18.1"; - disabled = python3.pythonOlder "3.9"; - - src = fetchFromGitHub { - owner = "ManimCommunity"; - repo = "manim"; - rev = "refs/tags/v${version}"; - hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ="; - }; - - nativeBuildInputs = with python.pkgs; [ - poetry-core - pythonRelaxDepsHook - ]; - - pythonRelaxDeps = [ - "cloup" - "isosurfaces" - "pillow" - "skia-pathops" - "watchdog" - ]; - - patches = [ - ./pytest-report-header.patch - ]; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" - ''; - - buildInputs = [ cairo ]; - - propagatedBuildInputs = with python.pkgs; [ - click - click-default-group - cloup - colour - grpcio - grpcio-tools - importlib-metadata - isosurfaces - jupyterlab - manimpango - mapbox-earcut - moderngl - moderngl-window - networkx - numpy - pillow - pycairo - pydub - pygments - pysrt - rich - scipy - screeninfo - skia-pathops - srt - svgelements - tqdm - watchdog - ]; - - makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ - ffmpeg - manim-tinytex - ]) - ]; - - nativeCheckInputs = [ - ffmpeg - manim-tinytex - ] ++ (with python.pkgs; [ - pytest-xdist - pytestCheckHook - ]); - - # about 55 of ~600 tests failing mostly due to demand for display - disabledTests = import ./failing_tests.nix; - - pythonImportsCheck = [ "manim" ]; - - meta = with lib; { - description = "Animation engine for explanatory math videos - Community version"; - longDescription = '' - Manim is an animation engine for explanatory math videos. It's used to - create precise animations programmatically, as seen in the videos of - 3Blue1Brown on YouTube. This is the community maintained version of - manim. - ''; - homepage = "https://github.com/ManimCommunity/manim"; - license = licenses.mit; - maintainers = with maintainers; [ friedelino ]; - }; -} diff --git a/pkgs/applications/video/manim/failing_tests.nix b/pkgs/applications/video/manim/failing_tests.nix deleted file mode 100644 index ac788c25be20c..0000000000000 --- a/pkgs/applications/video/manim/failing_tests.nix +++ /dev/null @@ -1,92 +0,0 @@ -[ - # reason for failure: tests try to open display - "test_background_color" - "test_scene_add_remove" - "test_Circle" - "test_wait_skip" - "test_basic_scene_with_default_values" - "test_dry_run_with_png_format" - "test_dry_run_with_png_format_skipped_animations" - "test_FixedMobjects3D" - "test_basic_scene_l_flag" - "test_n_flag" - "test_s_flag_opengl_renderer" - "test_s_flag_no_animations" - "test_image_output_for_static_scene" - "test_no_image_output_with_interactive_embed" - "test_no_default_image_output_with_non_static_scene" - "test_image_output_for_static_scene_with_write_to_movie" - "test_s_flag" - "test_r_flag" - "test_play_skip" - "test_write_to_movie_disables_window" - "test_a_flag" - "test_pixel_coords_to_space_coords" - "test_t_values" - "test_custom_folders" - "test_t_values[15]" - "test_t_values[30]" - "test_t_values[60]" - "test_dash_as_filename" - "test_images_are_created_when_png_format_set_for_opengl" - "test_t_values_with_skip_animations" - "test_static_wait_detection" - "test_non_static_wait_detection" - "test_frozen_frame" - "test_gif_format_output" - "test_animate_with_changed_custom_attribute" - "test_images_are_zero_padded_when_zero_pad_set_for_opengl" - "test_mp4_format_output" - "test_videos_not_created_when_png_format_set" - "test_images_are_created_when_png_format_set" - "test_images_are_zero_padded_when_zero_pad_set" - "test_webm_format_output" - "test_default_format_output_for_transparent_flag" - "test_mov_can_be_set_as_output_format" - "test_force_window_opengl_render_with_format" - "test_get_frame_with_preview_disabled" - "test_get_frame_with_preview_enabled" - - # reason for failure: tests try to reach network - "test_logging_to_file" - "test_plugin_function_like" - "test_plugin_no_all" - "test_plugin_with_all" - - # failing with: - # E AssertionError: - # E Not equal to tolerance rtol=1e-07, atol=1.01 - # E Frame no -1. You can use --show_diff to visually show the difference. - # E Mismatched elements: 18525 / 1639680 (1.13%) - # E Max absolute difference: 255 - # E Max relative difference: 255. - "test_Text2Color" - "test_PointCloudDot" - "test_Torus" - - # test_ImplicitFunction[/test_implicit_graph] failing with: - # E AssertionError: - # E Not equal to tolerance rtol=1e-07, atol=1.01 - # E Frame no -1. You can use --show_diff to visually show the difference. - # E Mismatched elements: 1185[/633] / 1639680[/1639680] (0.0723[/0.0386]%) - # E Max absolute difference: 125[/121] - # E Max relative difference: 6.5[/1] - # - # These started failing after relaxing the “watchdog” and “isosurfaces” dependencies, - # likely due to a tolerance difference. They should, however, start working again when [1] is - # included in a Manim release. - # [1]: https://github.com/ManimCommunity/manim/pull/3376 - "test_ImplicitFunction" - "test_implicit_graph" - - # failing with: - # TypeError: __init__() got an unexpected keyword argument 'msg' - maybe you meant pytest.mark.skipif? - "test_force_window_opengl_render_with_movies" - - # mismatching expecation on the new commandline - "test_manim_new_command" - - # This tests checks if the manim executable is a python script. In our case it is not. - # It is a wrapper shell script instead. - "test_manim_checkhealth_subcommand" -] diff --git a/pkgs/applications/video/manim/pytest-report-header.patch b/pkgs/applications/video/manim/pytest-report-header.patch deleted file mode 100644 index 7aa87d373e508..0000000000000 --- a/pkgs/applications/video/manim/pytest-report-header.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/conftest.py b/conftest.py -index dacb730a..149c6702 100644 ---- a/conftest.py -+++ b/conftest.py -@@ -33,17 +33,3 @@ def temp_media_dir(tmpdir, monkeypatch, request): - with tempconfig({"media_dir": str(tmpdir)}): - assert config.media_dir == str(tmpdir) - yield tmpdir -- -- --def pytest_report_header(config): -- ctx = moderngl.create_standalone_context() -- info = ctx.info -- ctx.release() -- return ( -- f"\nCairo Version: {cairo.cairo_version()}", -- "\nOpenGL information", -- "------------------", -- f"vendor: {info['GL_VENDOR'].strip()}", -- f"renderer: {info['GL_RENDERER'].strip()}", -- f"version: {info['GL_VERSION'].strip()}\n", -- ) diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix index 85cbd8233426a..ce5188c09d294 100644 --- a/pkgs/applications/video/mpv/scripts/default.nix +++ b/pkgs/applications/video/mpv/scripts/default.nix @@ -75,8 +75,10 @@ let modernx-zydezu = callPackage ./modernx-zydezu.nix { }; mpris = callPackage ./mpris.nix { }; mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { }; + mpv-notify-send = callPackage ./mpv-notify-send.nix { }; mpv-osc-modern = callPackage ./mpv-osc-modern.nix { }; mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { }; + mpv-slicing = callPackage ./mpv-slicing.nix { }; mpv-webm = callPackage ./mpv-webm.nix { }; mpvacious = callPackage ./mpvacious.nix { }; quack = callPackage ./quack.nix { }; @@ -88,6 +90,7 @@ let thumbfast = callPackage ./thumbfast.nix { }; thumbnail = callPackage ./thumbnail.nix { }; uosc = callPackage ./uosc.nix { }; + videoclip = callPackage ./videoclip.nix { }; visualizer = callPackage ./visualizer.nix { }; vr-reversal = callPackage ./vr-reversal.nix { }; webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { }; diff --git a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix index 56013b1fceeb4..a15f54d01ef22 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, nodePackages, stdenvNoCC }: +{ lib +, fetchFromGitHub +, gitUpdater +, nodePackages +, stdenvNoCC +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mpv-cheatsheet"; version = "0.30.0.2"; @@ -9,6 +14,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-MWK0CYto3zgn3fivmL43tvgZn6XrjPxKLp0lgTFdplM="; }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; nativeBuildInputs = [ nodePackages.browserify diff --git a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix new file mode 100644 index 0000000000000..04b03670b79f2 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix @@ -0,0 +1,39 @@ +{ lib +, buildLua +, fetchFromGitHub +, fetchpatch +, unstableGitUpdater +, libnotify }: + +buildLua rec { + pname = "mpv-notify-send"; + version = "0-unstable-2020-02-24"; + + src = fetchFromGitHub { + owner = "emilazy"; + repo = pname; + rev = "a2bab8b2fd8e8d14faa875b5cc3a73f1276cd88a"; + sha256 = "sha256-EwVkhyB87TJ3i9xJmmZMSTMUKvfbImI1S+y1vgRWbDk="; + }; + + patches = [ + # show title of online videos instead of url + (fetchpatch { + url = "https://github.com/emilazy/mpv-notify-send/pull/6.patch"; + hash = "sha256-7aXQ8qeqG4yX0Uyn09xCIESnwPZsb6Frd7C49XgbpFw="; + }) + ]; + + passthru.extraWrapperArgs = [ + "--prefix" "PATH" ":" (lib.makeBinPath libnotify) + ]; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "A Lua script for mpv to send notifications with notify-send"; + homepage = "https://github.com/emilazy/mpv-notify-send"; + license = licenses.wtfpl; + maintainers = with maintainers; [ r3n3gad3p3arl ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix new file mode 100644 index 0000000000000..cf66a6c78a297 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix @@ -0,0 +1,34 @@ +{ + lib, + buildLua, + fetchFromGitHub, + ffmpeg, + unstableGitUpdater, +}: + +buildLua { + pname = "mpv-slicing"; + version = "0-unstable-2017-11-25"; + + src = fetchFromGitHub { + owner = "Kagami"; + repo = "mpv_slicing"; + rev = "d09c11227704c8d5bdaa2c799ef64dce881c63a7"; + hash = "sha256-MKoM0f74/XoctiHQVOB3LzFWtJXpsREfQh5icaebCJo="; + }; + passthru.updateScript = unstableGitUpdater { }; + + postPatch = '' + substituteInPlace slicing.lua \ + --replace-fail ffmpeg ${lib.getExe ffmpeg} + ''; + + passthru.scriptName = "slicing.lua"; + + meta = { + description = "A lua script to cut fragments of the video in uncompressed RGB format"; + homepage = "https://github.com/Kagami/mpv_slicing"; + license = lib.licenses.cc0; + maintainers = with lib.maintainers; [ tomasajt ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/applications/video/mpv/scripts/videoclip.nix new file mode 100644 index 0000000000000..fff5b788b0286 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/videoclip.nix @@ -0,0 +1,40 @@ +{ lib +, fetchFromGitHub +, curl +, xclip +, wl-clipboard +, stdenv +, buildLua +, unstableGitUpdater +}: +buildLua { + pname = "videoclip"; + version = "0-unstable-2024-03-08"; + + src = fetchFromGitHub { + owner = "Ajatt-Tools"; + repo = "videoclip"; + rev = "0e3f2245b03e888c14c093a50261e0f54ecdf8e8"; + hash = "sha256-Sg6LHU9OVmVx3cTs8Y0WL8wACb5BlVyeBRccoX+7BXY="; + }; + + patchPhase = '' + substituteInPlace platform.lua \ + --replace \'curl\' \'${lib.getExe curl}\' \ + '' + lib.optionalString stdenv.isLinux '' + --replace xclip ${lib.getExe xclip} \ + --replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"} + ''; + + scriptPath = "."; + passthru.scriptName = "videoclip"; + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "Easily create videoclips with mpv"; + homepage = "https://github.com/Ajatt-Tools/videoclip"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ BatteredBunny ]; + }; +} diff --git a/pkgs/applications/video/showmethekey/default.nix b/pkgs/applications/video/showmethekey/default.nix index cd61cfc9d0d44..ef30ed13784c0 100644 --- a/pkgs/applications/video/showmethekey/default.nix +++ b/pkgs/applications/video/showmethekey/default.nix @@ -12,15 +12,16 @@ , libxkbcommon , pkg-config }: + stdenv.mkDerivation rec { pname = "showmethekey"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "AlynxZhou"; - repo = pname; - rev = "v${version}"; - hash = "sha256-eeObomb4Gv/vpvViHsi3+O0JR/rYamrlZNZaXKL6KJw="; + repo = "showmethekey"; + rev = "refs/tags/v${version}"; + hash = "sha256-pVFkO/+a7GAOXbYBfU0zcO/uD26PX+y02bEZa3f1ZP8="; }; nativeBuildInputs = [ @@ -40,8 +41,9 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - homepage = "https://showmethekey.alynx.one/"; description = "Show keys you typed on screen"; + homepage = "https://showmethekey.alynx.one/"; + changelog = "https://github.com/AlynxZhou/showmethekey/releases/tag/v${version}"; license = licenses.asl20; platforms = platforms.linux; maintainers = with maintainers; [ ocfox ]; diff --git a/pkgs/applications/video/vdr/softhddevice/default.nix b/pkgs/applications/video/vdr/softhddevice/default.nix index 23c6433f9ebbd..caccdc6ed39a8 100644 --- a/pkgs/applications/video/vdr/softhddevice/default.nix +++ b/pkgs/applications/video/vdr/softhddevice/default.nix @@ -14,12 +14,12 @@ }: stdenv.mkDerivation rec { pname = "vdr-softhddevice"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "ua0lnj"; repo = "vdr-plugin-softhddevice"; - sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s="; + sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI="; rev = "v${version}"; }; diff --git a/pkgs/applications/virtualization/conmon-rs/default.nix b/pkgs/applications/virtualization/conmon-rs/default.nix index 3a8c5a5593237..89c6d46d2ccf0 100644 --- a/pkgs/applications/virtualization/conmon-rs/default.nix +++ b/pkgs/applications/virtualization/conmon-rs/default.nix @@ -7,19 +7,19 @@ rustPlatform.buildRustPackage rec { pname = "conmon-rs"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = "v${version}"; - hash = "sha256-+htd9RJGSFzzyEQSBJGIzurQDQgpJ+sJHLPe3aPH0cg="; + hash = "sha256-+RKjJtI01Y56+cFDdOSAL4BodI7R/rM3B3ht3p6+xzs="; }; nativeBuildInputs = [ capnproto protobuf ]; doCheck = false; - cargoHash = "sha256-CcWji/qMd7eX0O3cR9/FLID17WpSfz4kEAhDgKb3jds="; + cargoHash = "sha256-4VOse+y0EO9IORyeAO/j1t6ssQARJp7lK21TUJVuH78="; meta = with lib; { description = "An OCI container runtime monitor written in Rust"; diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix index 124647e6ab7be..6b65ab58dc63c 100644 --- a/pkgs/applications/virtualization/conmon/default.nix +++ b/pkgs/applications/virtualization/conmon/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "conmon"; - version = "2.1.10"; + version = "2.1.11"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = "v${version}"; - hash = "sha256-WUXyx5OWIJDamzHUahN+0/rcn2pxQgCgYAE/d0mxk2A="; + hash = "sha256-QQgpvvk7S6ARzBct/4AQP66End30EXcUPqv8a4Udoas="; }; nativeBuildInputs = [ pkg-config ]; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ]; # manpage requires building the vendored go-md2man - makeFlags = [ "bin/conmon" ]; + makeFlags = [ "bin/conmon" "VERSION=${version}" ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index a32d4bd8db441..959fe755c209e 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -15,13 +15,13 @@ buildGoModule rec { pname = "cri-o"; - version = "1.29.3"; + version = "1.29.4"; src = fetchFromGitHub { owner = "cri-o"; repo = "cri-o"; rev = "v${version}"; - hash = "sha256-JJuqYC4GAZqXyyAjVoPipnGjRGbVx1rfH4UrtIOP7cc="; + hash = "sha256-bF9hvKKwhsmX606Jk34qn32JklUrG939BW2x4tbknjo="; }; vendorHash = null; diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix index 3e344a653614b..d2eb61bb893db 100644 --- a/pkgs/applications/virtualization/docker/compose.nix +++ b/pkgs/applications/virtualization/docker/compose.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "docker-compose"; - version = "2.26.1"; + version = "2.27.0"; src = fetchFromGitHub { owner = "docker"; repo = "compose"; rev = "v${version}"; - hash = "sha256-R/AFjJM4rcu2JbdfTNhxIIVhaP7LzFrDAU93hbuXSXs="; + hash = "sha256-YM/9ijwxDAjFZk/ku33b/pMYri5V1h0wPd2YS7qJgCw="; }; postPatch = '' @@ -16,7 +16,7 @@ buildGoModule rec { rm -rf e2e/ ''; - vendorHash = "sha256-SzySXS0s0p1EXcO5RQyATBG9gtoJ4wPxZKGU62fAOHw="; + vendorHash = "sha256-ztqWSoDsN8qdm6Jq8Wo7r16zuXENQDp2JvwSN+6Jbxw="; ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ]; diff --git a/pkgs/applications/virtualization/quickgui/default.nix b/pkgs/applications/virtualization/quickgui/default.nix index 9c4de021f2560..572ee4a0c0823 100644 --- a/pkgs/applications/virtualization/quickgui/default.nix +++ b/pkgs/applications/virtualization/quickgui/default.nix @@ -1,12 +1,14 @@ -{ stdenv +{ stdenvNoCC , lib , fetchurl , autoPatchelfHook , dpkg , wrapGAppsHook +, quickemu +, gnome }: -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation rec { pname = "quickgui"; version = "1.2.8"; @@ -18,31 +20,48 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook dpkg + wrapGAppsHook ]; buildInputs = [ - wrapGAppsHook + quickemu + gnome.zenity ]; + strictDeps = true; + unpackCmd = "dpkg-deb -x $curSrc source"; installPhase = '' runHook preInstall mv usr $out + + runHook postInstall + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ quickemu gnome.zenity ]} + ) + ''; + + postFixup = '' substituteInPlace $out/share/applications/quickgui.desktop \ --replace "/usr" $out - runHook postInstall + # quickgui PR 88 + echo "Categories=System;" >> $out/share/applications/quickgui.desktop ''; - meta = { + meta = with lib; { description = "A Flutter frontend for quickemu"; homepage = "https://github.com/quickemu-project/quickgui"; changelog = "https://github.com/quickemu-project/quickgui/releases/tag/v${version}"; - maintainers = [ lib.maintainers.heyimnova ]; - platforms = lib.platforms.linux; - sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + license = licenses.mit; + maintainers = with maintainers; [ heyimnova ]; + platforms = [ "x86_64-linux" ]; + sourceProvenance = [ sourceTypes.binaryNativeCode ]; mainProgram = "quickgui"; }; } diff --git a/pkgs/applications/window-managers/dk/default.nix b/pkgs/applications/window-managers/dk/default.nix index 25fcad2ba0b6c..631e7b85d18eb 100644 --- a/pkgs/applications/window-managers/dk/default.nix +++ b/pkgs/applications/window-managers/dk/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dk"; - version = "2.1"; + version = "2.2"; src = fetchFromBitbucket { owner = "natemaia"; repo = "dk"; rev = "v${finalAttrs.version}"; - hash = "sha256-bUt4Se4Gu7CZEdv1/VpU92ncq2MBKXG7T4Wpa/2rocI="; + hash = "sha256-u1fZTcfGLwKFeRADU55MFYDvtSOaOg5qtWB90xYpVuY="; }; buildInputs = [ diff --git a/pkgs/applications/window-managers/jay/default.nix b/pkgs/applications/window-managers/jay/default.nix index 6718caf1ada23..6b7951c14c374 100644 --- a/pkgs/applications/window-managers/jay/default.nix +++ b/pkgs/applications/window-managers/jay/default.nix @@ -7,20 +7,30 @@ , mesa , pango , udev +, shaderc +, libglvnd +, vulkan-loader +, autoPatchelfHook }: rustPlatform.buildRustPackage rec { pname = "jay"; - version = "unstable-2022-11-20"; + version = "1.1.0"; src = fetchFromGitHub { owner = "mahkoh"; repo = pname; - rev = "09b4668a5363a6e93dfb8ba35b244835f4edb0f2"; - sha256 = "sha256-0IIzXY7AFTGEe0TzJVKOtTPUZee0Wz40yKgEWLeIYJw="; + rev = "v${version}"; + sha256 = "sha256-9fWwVUqeYADt33HGaJRRFmM20WM7qRWbNGpt3rk9xQM="; }; - cargoSha256 = "sha256-zSq6YBlm6gJXGlF9xZ8gWSTMewdNqrJzwP58a0x8QIU="; + cargoSha256 = "sha256-oPGY/rVx94BkWgKkwwyDjfASMyGGU32R5IZuNjOv+EM="; + + SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib"; + + nativeBuildInputs = [ + autoPatchelfHook + ]; buildInputs = [ libGL @@ -29,9 +39,18 @@ rustPlatform.buildRustPackage rec { pango udev libinput + shaderc + ]; + + runtimeDependencies = [ + libglvnd + vulkan-loader ]; - RUSTC_BOOTSTRAP = 1; + postInstall = '' + install -D etc/jay.portal $out/usr/share/xdg-desktop-portal/portals/jay.portal + install -D etc/jay-portals.conf $out/usr/share/xdg-desktop-portal/jay-portals.conf + ''; meta = with lib; { description = "A Wayland compositor written in Rust"; |