diff options
Diffstat (limited to 'pkgs/applications')
27 files changed, 295 insertions, 281 deletions
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 0ec47ceb9566..afcc62a28999 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "bluefish"; - version = "2.2.14"; + version = "2.2.15"; src = fetchurl { url = "mirror://sourceforge/bluefish/bluefish-${version}.tar.bz2"; - sha256 = "sha256-IszfnOTlyWIQY+bPfXOr+wc2q3pyvOCG0Gxc9e4SXt4="; + sha256 = "sha256-YUPlHGtVedWW86moXg8NhYDJ9Y+ChXWxGYgODKHZQbw="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 82a572eaf4c5..d3ca7de1d6a1 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -7,7 +7,7 @@ , makeDesktopItem , copyDesktopItems , cmake -, boost +, boost183 , zlib , openssl , R @@ -40,18 +40,19 @@ let pname = "RStudio"; - version = - "${RSTUDIO_VERSION_MAJOR}.${RSTUDIO_VERSION_MINOR}.${RSTUDIO_VERSION_PATCH}${RSTUDIO_VERSION_SUFFIX}"; - RSTUDIO_VERSION_MAJOR = "2023"; - RSTUDIO_VERSION_MINOR = "09"; - RSTUDIO_VERSION_PATCH = "0"; - RSTUDIO_VERSION_SUFFIX = "+463"; + version = "2023.12.1+402"; + RSTUDIO_VERSION_MAJOR = lib.versions.major version; + RSTUDIO_VERSION_MINOR = lib.versions.minor version; + RSTUDIO_VERSION_PATCH = lib.versions.patch version; + RSTUDIO_VERSION_SUFFIX = "+" + toString ( + lib.tail (lib.splitString "+" version) + ); src = fetchFromGitHub { owner = "rstudio"; repo = "rstudio"; - rev = "v${version}"; - hash = "sha256-FwNuU2rbE3GEhuwphvZISUMhvSZJ6FjjaZ1oQ9F8NWc="; + rev = version; + hash = "sha256-ecMzkpHazg8jEBz9wh8hqRX2UdziOC8b6F+3xxdugy0="; }; mathJaxSrc = fetchurl { @@ -62,8 +63,8 @@ let rsconnectSrc = fetchFromGitHub { owner = "rstudio"; repo = "rsconnect"; - rev = "5175a927a41acfd9a21d9fdecb705ea3292109f2"; - hash = "sha256-c1fFcN6KAfxXv8bv4WnIqQKg1wcNP2AywhEmIbyzaBA="; + rev = "v1.2.0"; + hash = "sha256-ghRz4Frd+I9ShRNNOE/kdk9KjRCj0Z1mPnThueriiUY="; }; # Ideally, rev should match the rstudio release name. @@ -93,7 +94,7 @@ in ]; buildInputs = [ - boost + boost183 zlib openssl R @@ -133,6 +134,7 @@ in ./fix-resources-path.patch ./pandoc-nix-path.patch ./use-system-quarto.patch + ./ignore-etc-os-release.patch ]; postPatch = '' diff --git a/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch b/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch new file mode 100644 index 000000000000..7c67edd16fcb --- /dev/null +++ b/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch @@ -0,0 +1,77 @@ +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index 5f96ffb..3f15687 100644 +--- a/CMakeGlobals.txt ++++ b/CMakeGlobals.txt +@@ -29,11 +29,6 @@ endif() + get_filename_component(ROOT_SRC_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) + set(CMAKE_MODULE_PATH "${ROOT_SRC_DIR}/cmake/modules/") + +-# read /etc/os-release +-if(LINUX) +- include(OsRelease) +-endif() +- + # version info + if ("$ENV{RSTUDIO_VERSION_MAJOR}" STREQUAL "") + string(TIMESTAMP CPACK_PACKAGE_VERSION_MAJOR "%Y") +diff --git a/cmake/modules/OsRelease.cmake b/cmake/modules/OsRelease.cmake +deleted file mode 100644 +index 81a9e1f..0000000 +--- a/cmake/modules/OsRelease.cmake ++++ /dev/null +@@ -1,24 +0,0 @@ +-# +-# OsRelease.cmake +-# +-# Copyright (C) 2022 by Posit Software, PBC +-# +-# This program is licensed to you under the terms of version 3 of the +-# GNU Affero General Public License. This program is distributed WITHOUT +-# ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, +-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the +-# AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. +-# +-# +- +-# reads and parses /etc/os-release into CMake variables +-file(STRINGS "/etc/os-release" OS_RELEASE) +-foreach(LINE ${OS_RELEASE}) +- string(FIND "${LINE}" "=" INDEX) +- string(SUBSTRING "${LINE}" 0 "${INDEX}" KEY) +- math(EXPR INDEX "${INDEX} + 1") +- string(SUBSTRING "${LINE}" "${INDEX}" -1 VALUE) +- separate_arguments(VALUE UNIX_COMMAND "${VALUE}") +- set("OS_RELEASE_${KEY}" "${VALUE}" CACHE INTERNAL "/etc/os-release: ${KEY}") +-endforeach() +- +diff --git a/package/linux/CMakeLists.txt b/package/linux/CMakeLists.txt +index 5d5c35e..a94f8fc 100644 +--- a/package/linux/CMakeLists.txt ++++ b/package/linux/CMakeLists.txt +@@ -16,7 +16,7 @@ + # configure cpack install location + set(CPACK_SET_DESTDIR "ON") + set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") +-message(STATUS "Packaging RStudio for ${OS_RELEASE_PRETTY_NAME}") ++message(STATUS "Packaging RStudio for Nix") + + # detect architecture (packaging platform specific) + find_program(DPKG_EXECUTABLE dpkg) +@@ -42,17 +42,6 @@ if(EXISTS "/etc/redhat-release") + endif() + endif() + +-# set libssl dependency +-if(OS_RELEASE_ID STREQUAL "ubuntu") +- if(OS_RELEASE_VERSION_ID VERSION_GREATER_EQUAL "22.04") +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl-dev") +- else() +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl1.0.0 | libssl1.0.2 | libssl1.1") +- endif() +-else() +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl-dev") +-endif() +- + # configuration specific + if(RSTUDIO_SERVER) + diff --git a/pkgs/applications/editors/rstudio/use-system-node.patch b/pkgs/applications/editors/rstudio/use-system-node.patch index bb4480b4ae5f..6e0acf46dda0 100644 --- a/pkgs/applications/editors/rstudio/use-system-node.patch +++ b/pkgs/applications/editors/rstudio/use-system-node.patch @@ -6,7 +6,7 @@ index d18362b..98cdd4c 100644 external-pandoc-path=${RSTUDIO_DEPENDENCIES_PANDOC_DIR} external-quarto-path=${RSTUDIO_DEPENDENCIES_QUARTO_DIR} external-libclang-path=${RSTUDIO_DEPENDENCIES_DIR}/common/libclang --external-node-path=${RSTUDIO_DEPENDENCIES_DIR}/common/node/16.14.0/bin/node +-external-node-path=${RSTUDIO_DEPENDENCIES_DIR}/common/node/18.18.2/bin/node +external-node-path=@node@/bin/node # enable copilot @@ -32,7 +32,7 @@ index 033d605..f1ee63d 100644 +++ b/src/gwt/build.xml @@ -87,29 +87,7 @@ <!-- ensure version matches RSTUDIO_NODE_VERSION --> - <property name="node.version" value="16.14.0"/> + <property name="node.version" value="18.18.2"/> <property name="node.dir" value="../../dependencies/common/node/${node.version}"/> - <!-- use yarn from system but will prefer yarn from dependencies if available --> - <condition property="yarn.bin" value="yarn"> @@ -58,15 +58,18 @@ index 033d605..f1ee63d 100644 - value="c:\rstudio-tools\dependencies\common\node\${node.version}\node_modules\yarn\bin\yarn.cmd" - file="c:\rstudio-tools\dependencies\common\node\${node.version}\node_modules\yarn\bin\yarn.cmd"/> + <property name="node.bin" value="@node@/bin/node"/> - + <property name="panmirror.dir" value="./lib/quarto/apps/panmirror"/> <property name="panmirror.build.dir" value="./www/js/panmirror"/> -@@ -126,21 +104,11 @@ - file="c:\rstudio-tools\src\gwt\lib\quarto\apps\panmirror"/> - - <target name="panmirror" description="Compile panmirror library"> +@@ -133,28 +111,11 @@ + <isset property="panmirror.minify" /> + </not> + </condition> +- - <echo message="yarn location: ${yarn.bin}"/> - <echo message="panmirror location: ${panmirror.dir}"/> +- <echo message="panmirror minify: ${panmirror.minify}"/> +- <mkdir dir="${panmirror.build.dir}"/> - <exec executable="${yarn.bin}" dir="${panmirror.dir}" resolveexecutable="true" failonerror="true"> - <arg value="install"/> @@ -75,14 +78,19 @@ index 033d605..f1ee63d 100644 - </exec> - <exec executable="${yarn.bin}" dir="${panmirror.dir}" resolveexecutable="true" failonerror="true"> - <arg value="build"/> +- <arg value="--minify"/> +- <arg value="${panmirror.minify}"/> +- <arg value="--sourcemap"/> +- <arg value="true"/> - <env key="PANMIRROR_OUTDIR" value="dist-rstudio"/> -+ <exec executable="${node.bin}" dir="${panmirror.dir}" spawn="${panmirror.spawn}"> -+ <arg value="fuse"/> -+ <arg value="${panmirror.target}"/> ++ <exec executable="${node.bin}" dir="${panmirror.dir}" spawn="${panmirror.spawn}"> ++ <arg value="fuse"/> ++ <arg value="${panmirror.target}"/> </exec> - <copy todir="${panmirror.build.dir}"> - <fileset dir="${panmirror.dir}/dist-rstudio"/> - </copy> </target> - + <target name="javac" description="Compile java source"> + diff --git a/pkgs/applications/graphics/displaycal/default.nix b/pkgs/applications/graphics/displaycal/default.nix deleted file mode 100644 index 0eef148398cb..000000000000 --- a/pkgs/applications/graphics/displaycal/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib -, python3 -, fetchPypi -, wrapGAppsHook -, gtk3 -, librsvg -, xorg -, argyllcms -}: - -python3.pkgs.buildPythonApplication rec { - pname = "displaycal"; - version = "3.9.11"; - format = "setuptools"; - - src = fetchPypi { - pname = "DisplayCAL"; - inherit version; - hash = "sha256-zAZW2eMjwRYevlz8KEzTxzGO8vx5AydfY3vGTapNo1c="; - }; - - nativeBuildInputs = [ - wrapGAppsHook - gtk3 - ]; - - propagatedBuildInputs = with python3.pkgs; [ - build - certifi - wxpython - dbus-python - distro - numpy - pillow - pychromecast - send2trash - zeroconf - ]; - - buildInputs = [ - gtk3 - librsvg - ] ++ (with xorg; [ - libX11 - libXxf86vm - libXext - libXinerama - libXrandr - ]); - - # Workaround for eoyilmaz/displaycal-py3#261 - setupPyGlobalFlags = [ "appdata" ]; - - doCheck = false; # Tests try to access an X11 session and dbus in weird locations. - - pythonImportsCheck = [ "DisplayCAL" ]; - - dontWrapGApps = true; - - preFixup = '' - makeWrapperArgs+=( - ''${gappsWrapperArgs[@]} - --prefix PATH : ${lib.makeBinPath [ argyllcms ]} - --prefix PYTHONPATH : $PYTHONPATH - ) - ''; - - meta = with lib; { - description = "Display calibration and characterization powered by Argyll CMS (Migrated to Python 3)"; - homepage = "https://github.com/eoyilmaz/displaycal-py3"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ toastal ]; - }; -} diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 20f061c50e04..b9c56a01e006 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -6,6 +6,7 @@ , copyDesktopItems , prefetch-yarn-deps , makeWrapper +, autoSignDarwinBinariesHook , nodejs , yarn , electron @@ -23,6 +24,11 @@ stdenv.mkDerivation rec { hash = "sha256-+TCnVXcmAEpa7MiL0dyeoh2aUfIIO8eze9pEaHgKnME="; }; + # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead + postPatch = '' + sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.js + ''; + offlineCache = fetchYarnDeps { yarnLock = src + "/yarn.lock"; hash = "sha256-QS0bkDDQq3sn79TQ+pTZsmbmXgMccyLmlPLTsko7eGg="; @@ -35,6 +41,8 @@ stdenv.mkDerivation rec { yarn ] ++ lib.optionals (!stdenv.isDarwin) [ copyDesktopItems + ] ++ lib.optionals stdenv.isDarwin [ + autoSignDarwinBinariesHook ]; ELECTRON_SKIP_BINARY_DOWNLOAD = true; diff --git a/pkgs/applications/misc/electrum/grs.nix b/pkgs/applications/misc/electrum/grs.nix index b615a61f5a19..4ca911126c5b 100644 --- a/pkgs/applications/misc/electrum/grs.nix +++ b/pkgs/applications/misc/electrum/grs.nix @@ -10,7 +10,7 @@ }: let - version = "4.4.4"; + version = "4.5.4"; libsecp256k1_name = if stdenv.isLinux then "libsecp256k1.so.{v}" @@ -32,11 +32,11 @@ python3.pkgs.buildPythonApplication { owner = "Groestlcoin"; repo = "electrum-grs"; rev = "refs/tags/v${version}"; - sha256 = "0fl01qdvb1z6l6kwipj1lj0qmjk3mzw25wv7yh5j1hh1f5lng0s8"; + sha256 = "1k078jg3bw4n3kcxy917m30x1skxm679w8hcw8mlxb94ikrjc66h"; }; nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ]; - buildInputs = lib.optional stdenv.isLinux qtwayland; + buildInputs = lib.optional (stdenv.isLinux && enableQt) qtwayland; propagatedBuildInputs = with python3.pkgs; [ aiohttp @@ -56,17 +56,25 @@ python3.pkgs.buildPythonApplication { requests tlslite-ng certifi + jsonpatch # plugins btchip-python ledger-bitcoin ckcc-protocol keepkey trezor + bitbox02 + cbor + pyserial ] ++ lib.optionals enableQt [ pyqt5 qdarkstyle ]; + checkInputs = with python3.pkgs; lib.optionals enableQt [ + pyqt6 + ]; + postPatch = '' # make compatible with protobuf4 by easing dependencies ... substituteInPlace ./contrib/requirements/requirements.txt \ @@ -104,7 +112,6 @@ python3.pkgs.buildPythonApplication { meta = with lib; { description = "Lightweight Groestlcoin wallet"; - mainProgram = "electrum-grs"; longDescription = '' An easy-to-use Groestlcoin client featuring wallets generated from mnemonic seeds (in addition to other, more advanced, wallet options) @@ -116,5 +123,6 @@ python3.pkgs.buildPythonApplication { license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ gruve-p ]; + mainProgram = "electrum-grs"; }; } diff --git a/pkgs/applications/misc/obinskit/default.nix b/pkgs/applications/misc/obinskit/default.nix deleted file mode 100644 index 043ff2352e90..000000000000 --- a/pkgs/applications/misc/obinskit/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ stdenv -, lib -, fetchurl -, libxkbcommon -, systemd -, xorg -, electron_13 -, makeWrapper -, makeDesktopItem -}: -let - desktopItem = makeDesktopItem rec { - name = "Obinskit"; - exec = "obinskit"; - icon = "obinskit"; - desktopName = "Obinskit"; - genericName = "Obinskit keyboard configurator"; - categories = [ "Utility" ]; - }; - electron = electron_13; -in -stdenv.mkDerivation rec { - pname = "obinskit"; - version = "1.2.11"; - - src = fetchurl { - url = "https://s3.hexcore.xyz/occ/linux/tar/ObinsKit_${version}_x64.tar.gz"; - curlOptsList = [ "--header" "Referer: https://www.hexcore.xyz/" ]; - hash = "sha256-KhCu1TZsJmcXRSWSTaYOMjt+IA4qqavBwaYzXnkgls0="; - }; - - unpackPhase = "tar -xzf $src"; - - sourceRoot = "ObinsKit_${version}_x64"; - - nativeBuildInputs = [ makeWrapper ]; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - mkdir -p $out/opt/obinskit - - cp -r resources $out/opt/obinskit/ - cp -r locales $out/opt/obinskit/ - - mkdir -p $out/share/{applications,pixmaps} - install resources/icons/tray-darwin@2x.png $out/share/pixmaps/obinskit.png - ln -s ${desktopItem}/share/applications/* $out/share/applications - ''; - - postFixup = '' - makeWrapper ${electron}/bin/electron $out/bin/${pname} \ - --add-flags $out/opt/obinskit/resources/app.asar \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib libxkbcommon (lib.getLib systemd) xorg.libXt xorg.libXtst ]}" - ''; - - meta = with lib; { - description = "Graphical configurator for Anne Pro and Anne Pro II keyboards"; - homepage = "https://www.hexcore.xyz/obinskit"; - license = licenses.unfree; - maintainers = with maintainers; [ shou ]; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/applications/misc/sl1-to-photon/default.nix b/pkgs/applications/misc/sl1-to-photon/default.nix index e76dff0ca570..901265016f8e 100644 --- a/pkgs/applications/misc/sl1-to-photon/default.nix +++ b/pkgs/applications/misc/sl1-to-photon/default.nix @@ -8,34 +8,34 @@ , shiboken2 }: let - version = "0.1.3"; + version = "0.1.3+"; in buildPythonApplication rec { pname = "sl1-to-photon"; inherit version; src = fetchFromGitHub { - owner = "fookatchu"; + owner = "cab404"; repo = "SL1toPhoton"; - rev = "v${version}"; - sha256 = "1hmb74rcky3nax4lxn7pw6lcd5a66fdbwrm11c84zb31xb51bakw"; + rev = "7edc6ea99818622f5d49ac7af80ddd4916b8c19f"; + sha256 = "ssFfjlBMi3FHosDBUA2gs71VUIBkEdPVcV3STNxmOIM="; }; - propagatedBuildInputs = [ pyphotonfile pillow numpy pyside2 shiboken2 ]; + pythonPath = [ pyphotonfile pillow numpy pyside2 shiboken2 ]; - format = "other"; + format = "setuptools"; + dontUseSetuptoolsCheck = true; installPhase = '' install -D -m 0755 SL1_to_Photon.py $out/bin/${pname} - sed -i '1i#!/usr/bin/env python' $out/bin/${pname} ''; meta = with lib; { maintainers = [ maintainers.cab404 ]; license = licenses.gpl3Plus; description = "Tool for converting Slic3r PE's SL1 files to Photon files for the Anycubic Photon 3D-Printer"; + homepage = "https://github.com/cab404/SL1toPhoton"; mainProgram = "sl1-to-photon"; - homepage = "https://github.com/fookatchu/SL1toPhoton"; }; } diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix index 9bb6fe779832..a016ce839ed6 100644 --- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix +++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix @@ -90,7 +90,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.0.10"; + version = "13.0.12"; sources = { x86_64-linux = fetchurl { @@ -102,7 +102,7 @@ let "https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-+8b3K3XLSPlndR12KNUH0lsPquhTupxQrLBuSEGac7Y="; + hash = "sha256-qqz3tdic2muBQI6JXc0/uxBeenWFYHN43K7qJee9q78="; }; }; diff --git a/pkgs/applications/networking/browsers/tor-browser/default.nix b/pkgs/applications/networking/browsers/tor-browser/default.nix index 5e150662274b..79d21a0cbc76 100644 --- a/pkgs/applications/networking/browsers/tor-browser/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser/default.nix @@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null) ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.0.11"; + version = "13.0.12"; sources = { x86_64-linux = fetchurl { @@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-a8BAesBp85oaHJrkQYcYufH9cy7OrFrfnljZZrFPlGE="; + hash = "sha256-2AzcDYngLr+J+s12tAMdB9SjDzOWPnQY9WL7/3+N0FA="; }; i686-linux = fetchurl { @@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-cyZnLcJmXNjBJhBLwBoW09K6dsT6Og+h0ufc4/6zxac="; + hash = "sha256-ect++2xZe00Hlikz6eMNMiiHnVoETSvjD0Cf1oBgj9E="; }; }; diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix index 3139252e65c7..d40532db8a16 100644 --- a/pkgs/applications/networking/cluster/argocd/default.nix +++ b/pkgs/applications/networking/cluster/argocd/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "argocd"; - version = "2.10.3"; + version = "2.10.4"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-cd"; rev = "v${version}"; - hash = "sha256-DaM3vNmZTz4zJTsmtgWwKPhHeUdqe2ZdlXYTppdhiJs="; + hash = "sha256-D7vkVvYLImC9dtqPU3Gxe5sQO92qxnx4533ykBm7u7c="; }; proxyVendor = true; # darwin/linux hash mismatch diff --git a/pkgs/applications/networking/cluster/tftui/default.nix b/pkgs/applications/networking/cluster/tftui/default.nix index 3a9d657dbdd2..5ef3142ee69d 100644 --- a/pkgs/applications/networking/cluster/tftui/default.nix +++ b/pkgs/applications/networking/cluster/tftui/default.nix @@ -1,27 +1,33 @@ { lib -, buildPythonApplication -, fetchPypi +, fetchFromGitHub , makeWrapper -, poetry-core -, posthog -, pyperclip -, requests -, rich -, textual +, python3 , enableUsageTracking ? false }: -buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "tftui"; - version = "0.12.4"; + version = "0.12.6"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-E4Y0qA7SooMlHh+oSFUl1hfblpirr/Jdb1C2fqU43t0="; + src = fetchFromGitHub { + owner = "idoavrah"; + repo = "terraform-tui"; + rev = "refs/tags/v${version}"; + hash = "sha256-vK1qKf8+RxwHUpuEQ97PcwGvObNVpd88kAb3DFRoRG0="; }; - propagatedBuildInputs = [ + pythonRelaxDeps = [ + "textual" + ]; + + nativeBuildInputs = with python3.pkgs; [ + makeWrapper + poetry-core + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = with python3.pkgs; [ posthog pyperclip requests @@ -29,11 +35,6 @@ buildPythonApplication rec { textual ]; - nativeBuildInputs = [ - makeWrapper - poetry-core - ]; - pythonImportsCheck = [ "tftui" ]; @@ -46,7 +47,7 @@ buildPythonApplication rec { meta = with lib; { description = "Textual UI to view and interact with Terraform state"; homepage = "https://github.com/idoavrah/terraform-tui"; - changelog = "https://github.com/idoavrah/terraform-tui/releases"; + changelog = "https://github.com/idoavrah/terraform-tui/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; teams.bitnomial.members; mainProgram = "tftui"; diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 1414543d4cc4..add40cac8f18 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -37,17 +37,14 @@ buildGoModule rec { postInstall = '' mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge # The cli is named like that in other distro packages - install -Dm444 dist/proton-bridge.desktop -t $out/share/applications - install -Dm444 dist/bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg ''; - meta = with lib; { - homepage = "https://github.com/ProtonMail/proton-bridge"; + meta = { changelog = "https://github.com/ProtonMail/proton-bridge/blob/${src.rev}/Changelog.md"; - downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ mrfreezeex ]; description = "Use your ProtonMail account with your local e-mail client"; + downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; + homepage = "https://github.com/ProtonMail/proton-bridge"; + license = lib.licenses.gpl3Plus; longDescription = '' An application that runs on your computer in the background and seamlessly encrypts and decrypts your mail as it enters and leaves your computer. @@ -55,5 +52,6 @@ buildGoModule rec { To work, use secret-service freedesktop.org API (e.g. Gnome keyring) or pass. ''; mainProgram = "protonmail-bridge"; + maintainers = with lib.maintainers; [ mrfreezeex daniel-fahey ]; }; } diff --git a/pkgs/applications/science/biology/astral/default.nix b/pkgs/applications/science/biology/astral/default.nix index ffe0326239cc..34077949b97d 100644 --- a/pkgs/applications/science/biology/astral/default.nix +++ b/pkgs/applications/science/biology/astral/default.nix @@ -2,49 +2,67 @@ , stdenvNoCC , fetchFromGitHub , jdk8 -, makeWrapper , jre8 +, strip-nondeterminism +, makeWrapper , zip }: + let jdk = jdk8; jre = jre8; in -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "astral"; version = "5.7.1"; src = fetchFromGitHub { owner = "smirarab"; repo = "ASTRAL"; - rev = "v${version}"; - sha256 = "043w2z6gbrisqirdid022f4b8jps1pp5syi344krv2bis1gjq5sn"; + rev = "v${finalAttrs.version}"; + hash = "sha256-VhcsX9BxiZ0nISN6Xe4N+kq0iBMCtNhyxDrm9cwXfBA="; }; - nativeBuildInputs = [ jdk makeWrapper jre zip ]; + patches = [ + # we can't use stripJavaArchivesHook here, because the build process puts a .jar file into a zip file + # this patch calls strip-nondeterminism manually + ./make-deterministic.patch + ]; + + nativeBuildInputs = [ + jdk + zip + strip-nondeterminism + makeWrapper + ]; buildPhase = '' + runHook preBuild patchShebangs ./make.sh ./make.sh + runHook postBuild ''; doCheck = true; checkPhase = '' runHook preCheck - java -jar astral.${version}.jar -i main/test_data/song_primates.424.gene.tre + java -jar astral.${finalAttrs.version}.jar -i main/test_data/song_primates.424.gene.tre runHook postCheck ''; installPhase = '' - mkdir -p $out/share/lib - mkdir -p $out/bin - mv astral.${version}.jar $out/share/ - mv lib/*.jar $out/share/lib - mv Astral.${version}.zip $out/share/ - cp -a main/test_data $out/share/ + runHook preInstall + + install -Dm644 astral.${finalAttrs.version}.jar -t $out/share + install -Dm644 lib/*.jar -t $out/share/lib + install -Dm644 Astral.${finalAttrs.version}.zip -t $out/share + cp -a main/test_data $out/share + makeWrapper ${jre}/bin/java $out/bin/astral \ - --add-flags "-jar $out/share/astral.${version}.jar" + --add-flags "-jar $out/share/astral.${finalAttrs.version}.jar" + + runHook postInstall ''; meta = with lib; { @@ -53,9 +71,9 @@ stdenvNoCC.mkDerivation rec { mainProgram = "astral"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # source bundles dependencies as jars + binaryBytecode # source bundles dependencies as jars ]; license = licenses.asl20; - maintainers = with maintainers; [ bzizou ]; + maintainers = with maintainers; [ bzizou tomasajt ]; }; -} +}) diff --git a/pkgs/applications/science/biology/astral/make-deterministic.patch b/pkgs/applications/science/biology/astral/make-deterministic.patch new file mode 100644 index 000000000000..940182e2f49f --- /dev/null +++ b/pkgs/applications/science/biology/astral/make-deterministic.patch @@ -0,0 +1,21 @@ +diff --git a/make.sh b/make.sh +index 3ff6529..937b1a2 100644 +--- a/make.sh ++++ b/make.sh +@@ -17,6 +17,8 @@ jar cvfm ../astral.$version.jar ../manifest.text phylonet/util/BitSet.* phylonet + + cd .. + ++strip-nondeterminism --type jar astral.$version.jar ++ + chmod +x astral.$version.jar + sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" README.template.md > README.md + sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" astral-tutorial-template.md > astral-tutorial.md +@@ -32,6 +34,7 @@ ln -s ../astral-tutorial.pdf . + cd .. + rm -f Astral.$version.zip + zip -r Astral.$version.zip Astral ++strip-nondeterminism --type zip Astral.$version.zip + + set +x + echo " diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index ef8c041039b1..c1feeffdcb6d 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { pname = "nauty"; - version = "2.7r4"; + version = "2.8.8"; src = fetchurl { - url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] [""] version}.tar.gz"; - sha256 = "sha256-uBDIWm/imfO0yfJKr5KcrH+VRsLzXCDh3Qrbx0CISKY="; + url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] ["_"] version}.tar.gz"; + sha256 = "sha256-FZ0hVoEKa7JAQQzWHrZBrdhQiNnxXIiM2qN7hoH5Kc4="; }; outputs = [ "out" "dev" ]; @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { # I'm not sure if the filename will remain the same for future changelog or # if it will track changes to minor releases. Lets see. Better than nothing # in any case. - changelog = "https://pallini.di.uniroma1.it/changes24-27.txt"; + changelog = "https://pallini.di.uniroma1.it/changes24-28.txt"; homepage = "https://pallini.di.uniroma1.it/"; }; } diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 765c691c9555..6624dcc36528 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -15,7 +15,7 @@ let pkgs = pkgs.python3.pkgs.overrideScope (self: super: { # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { - inherit flint arb; + inherit flint3; inherit sage-src env-locations singular; inherit (maxima) lisp-compiler; linbox = pkgs.linbox.override { withSage = true; }; @@ -73,7 +73,7 @@ let sagelib = python3.pkgs.sagelib; sage-docbuild = python3.pkgs.sage-docbuild; inherit env-locations; - inherit python3 singular palp flint pythonEnv maxima; + inherit python3 singular palp flint3 pythonEnv maxima; pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config }; @@ -125,9 +125,7 @@ let ignoreCollisions = true; } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible - arb = pkgs.arb.override { inherit flint; }; - - singular = pkgs.singular.override { inherit flint; }; + singular = pkgs.singular.override { inherit flint3; }; maxima = pkgs.maxima-ecl.override { lisp-compiler = pkgs.ecl.override { @@ -149,7 +147,7 @@ let # openblas instead of openblasCompat. Apparently other packages somehow use flints # blas when it is available. Alternative would be to override flint to use # openblasCompat. - flint = pkgs.flint.override { withBlas = false; }; + flint3 = pkgs.flint3.override { withBlas = false; }; # Multiple palp dimensions need to be available and sage expects them all to be # in the same folder. diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index 39d358a1f9a8..1ca0f471a7ee 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -3,7 +3,6 @@ , pari , singular , maxima -, conway_polynomials , graphs , elliptic_curves , polytopes_db @@ -27,16 +26,13 @@ writeTextFile rec { export GPDOCDIR="${pari}/share/pari/doc" export SINGULARPATH='${singular}/share/singular' export SINGULAR_SO='${singular}/lib/libSingular.so' - export GAP_SO='${gap}/lib/libgap.so' export SINGULAR_EXECUTABLE='${singular}/bin/Singular' export MAXIMA_FAS='${maxima}/lib/maxima/${maxima.version}/binary-ecl/maxima.fas' export MAXIMA_PREFIX="${maxima}" - export CONWAY_POLYNOMIALS_DATA_DIR='${conway_polynomials}/share/conway_polynomials' export GRAPHS_DATA_DIR='${graphs}/share/graphs' export ELLCURVE_DATA_DIR='${elliptic_curves}/share/ellcurves' export POLYTOPE_DATA_DIR='${polytopes_db}/share/reflexive_polytopes' - export GAP_LIB_DIR='${gap}/lib/gap' - export GAP_SHARE_DIR='${gap}/share/gap' + export GAP_ROOT_PATHS='${gap}/lib/gap;${gap}/share/gap' export ECLDIR='${maxima.lisp-compiler}/lib/${maxima.lisp-compiler.pname}-${maxima.lisp-compiler.version}/' export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs" export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona" diff --git a/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix b/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix index fb8c3ec8a204..b45998bbcb86 100644 --- a/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix +++ b/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix @@ -4,6 +4,7 @@ , jupyter-sphinx , sphinx , sphinx-copybutton +, sphinx-inline-tabs }: buildPythonPackage rec { @@ -15,6 +16,7 @@ buildPythonPackage rec { jupyter-sphinx sphinx sphinx-copybutton + sphinx-inline-tabs ]; preBuild = '' diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix index 4c22470de910..4f179ea3a42b 100644 --- a/pkgs/applications/science/math/sage/sage-env.nix +++ b/pkgs/applications/science/math/sage/sage-env.nix @@ -42,7 +42,7 @@ , flintqs , blas , lapack -, flint +, flint3 , gmp , mpfr , zlib @@ -155,7 +155,7 @@ writeTextFile rec { # cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar export LDFLAGS='${ lib.concatStringsSep " " (map (pkg: "-L${pkg}/lib") [ - flint + flint3 gap glpk gmp @@ -174,7 +174,7 @@ writeTextFile rec { singular gmp.dev glpk - flint + flint3 gap mpfr.dev ]) diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index a77565e4072a..11bcc9ee3d5a 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -10,14 +10,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "10.2"; + version = "10.3"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "sha256-VXnPdJhtw5Y/anecrVpevJDCyBVfnjksyuuZslNipm4="; + hash = "sha256-OHtMv8t0RrP6R8XIREU+C1vpazeQLWa75wx9Mv6BN1U="; }; # contains essential files (e.g., setup.cfg) generated by the bootstrap script. @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { configure-src = fetchurl { # the hash below is the tagged commit's _parent_. it can also be found by looking for # the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version} - url = "mirror://sageupstream/configure/configure-b2813506039143e6f0abe859ab67a343abf72c2e.tar.gz"; - sha256 = "sha256-a1v0XyoKI+zO6Sjm8DzEwItRHbIgRDbpj4UfwVH+/hw="; + url = "mirror://sageupstream/configure/configure-ab1a517b64b02bf15bbcb8d7c2d4d643bd5eff9b.tar.gz"; + hash = "sha256-pe9AxTM+gFSR4/eVfUzay+4bwjoubbYeDPc+avKjlaw="; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -62,11 +62,11 @@ stdenv.mkDerivation rec { # should come from or be proposed to upstream. This list will probably never # be empty since dependencies update all the time. packageUpgradePatches = [ - # https://github.com/sagemath/sage/pull/37123, to land in 10.3.beta7 + # https://github.com/sagemath/sage/pull/37492 (fetchpatch { - name = "scipy-1.12-upgrade.patch"; - url = "https://github.com/sagemath/sage/commit/54eec464e9fdf18b411d9148aecb918178e95909.diff"; - sha256 = "sha256-9wyNrcSfF6mYFTIV4ev2OdD7igb0AeyZZYWSc/+JrIU="; + name = "singular-4.3.2p14-upgrade.patch"; + url = "https://github.com/sagemath/sage/commit/a0c56816b051e97da44ac0a4e4d4f6915cf7fa0f.diff"; + sha256 = "sha256-WGMmPeBoj2LUC+2qxWuaJL89QUuGt6axGvxWkpM9LYg="; }) ]; diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 5a1f4ee473c9..b67b74e3a0f2 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -10,7 +10,6 @@ , iml , libpng , readline -, arb , blas , boost , brial @@ -18,7 +17,7 @@ , eclib , ecm , fflas-ffpack -, flint +, flint3 , gap , giac , givaro @@ -45,6 +44,7 @@ , singular , sqlite , symmetrica +, conway-polynomials , cvxopt , cypari2 , cysignals @@ -92,6 +92,7 @@ buildPythonPackage rec { version = src.version; pname = "sagelib"; src = sage-src; + pyproject = true; nativeBuildInputs = [ iml @@ -112,7 +113,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ # native dependencies (TODO: determine which ones need to be propagated) - arb blas boost brial @@ -120,7 +120,7 @@ buildPythonPackage rec { eclib ecm fflas-ffpack - flint + flint3 gap giac givaro @@ -149,6 +149,7 @@ buildPythonPackage rec { symmetrica # from src/sage/setup.cfg and requirements.txt + conway-polynomials cvxopt cypari2 cysignals @@ -202,11 +203,7 @@ buildPythonPackage rec { mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython" mkdir -p "var/lib/sage/installed" - # version lower bounds are useful, but upper bounds are a hassle because - # Sage tests already catch any relevant API breakage. - # according to the discussion at https://trac.sagemath.org/ticket/33520, - # upper bounds will be less noisy starting from Sage 9.6. - sed -i 's/, <[^, ]*//' build/pkgs/*/install-requires.txt + sed -i "/sage-conf/d" src/{setup.cfg,pyproject.toml,requirements.txt} cd build/pkgs/sagelib/src ''; diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix index f77bd5a92243..a6c64066d88e 100644 --- a/pkgs/applications/science/math/singular/default.nix +++ b/pkgs/applications/science/math/singular/default.nix @@ -5,7 +5,7 @@ , sharutils , file , getconf -, flint +, flint3 , ntl , cddlib , gfan @@ -18,13 +18,13 @@ # want it to match the upstream format because sage depends on it. , texinfo4 , texliveSmall -, enableDocs ? !stdenv.isDarwin +, enableDocs ? true , enableGfanlib ? true }: stdenv.mkDerivation rec { pname = "singular"; - version = "4.3.2p2"; + version = "4.3.2p16"; # since the tarball does not contain tests, we fetch from GitHub. src = fetchFromGitHub { @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { # if a release is tagged (which sometimes does not happen), it will # be in the format below. rev = "Release-${lib.replaceStrings ["."] ["-"] version}"; - sha256 = "sha256-dtZmN8xUCZ9eSgmtBxqfJeWsM4W5Baq7xWXuNAxNLjA="; + sha256 = "sha256-5JZgI5lnfX4JlBSEAL7Wv6uao/57GBaMqwgslJt9Bjk="; # the repository's .gitattributes file contains the lines "/Tst/ # export-ignore" and "/doc/ export-ignore" so some directories are @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { ncurses readline ntl - flint + flint3 lrcalc gfan ] ++ lib.optionals enableGfanlib [ diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix index bb1c3243d6db..b1b70646bf67 100644 --- a/pkgs/applications/version-management/commitizen/default.nix +++ b/pkgs/applications/version-management/commitizen/default.nix @@ -11,7 +11,7 @@ python3.pkgs.buildPythonApplication rec { pname = "commitizen"; - version = "3.18.4"; + version = "3.20.0"; format = "pyproject"; disabled = python3.pythonOlder "3.8"; @@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec { owner = "commitizen-tools"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-ODBlNwrvkYnZ+CvKyc5Bic6DK/z8d6/KR3+iarFxduE="; + hash = "sha256-lruEkXgbND2Q49J9mnDSqDA4kWiUBIg1mI+s1a+V3ds="; }; pythonRelaxDeps = [ diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index b776981522d0..ff4ba78ea950 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "advanced-scene-switcher"; - version = "1.24.2"; + version = "1.25.3"; src = fetchFromGitHub { owner = "WarmUpTill"; repo = "SceneSwitcher"; rev = version; - hash = "sha256-J5Qcs2eoKMeO1O/MCsR5wfmfbtndRaZmHrbleEZqqOo="; + hash = "sha256-cVMeFAliP0srvnhJQkOhZB2hrald8RHFhBXwdGIu2uo="; }; nativeBuildInputs = [ @@ -61,11 +61,7 @@ stdenv.mkDerivation rec { chmod -R +w $sourceRoot/deps/libremidi ''; - postInstall = '' - mkdir $out/lib $out/share - mv $out/obs-plugins/64bit $out/lib/obs-plugins - mv $out/data $out/share/obs - ''; + env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow"; meta = with lib; { description = "An automated scene switcher for OBS Studio"; diff --git a/pkgs/applications/virtualization/rvvm/default.nix b/pkgs/applications/virtualization/rvvm/default.nix index b6eaea8d7597..718446d1ce1f 100644 --- a/pkgs/applications/virtualization/rvvm/default.nix +++ b/pkgs/applications/virtualization/rvvm/default.nix @@ -1,21 +1,45 @@ -{ lib, stdenv, fetchFromGitHub, SDL_compat, libX11, libXext }: +{ lib +, stdenv +, fetchFromGitHub + +, SDL2 + +, libX11 +, libXext + +, guiBackend ? "sdl" + +, enableSDL ? guiBackend == "sdl" +, enableX11 ? guiBackend == "x11" +}: + +assert lib.assertMsg (builtins.elem guiBackend ["sdl" "x11" "none"]) "Unsupported GUI backend"; +assert lib.assertMsg (!(enableSDL && enableX11)) "RVVM can have only one GUI backend at a time"; +assert lib.assertMsg (stdenv.isDarwin -> !enableX11) "macOS supports only SDL GUI backend"; stdenv.mkDerivation rec { pname = "rvvm"; - version = "0.5"; + version = "0.6"; src = fetchFromGitHub { owner = "LekKit"; repo = "RVVM"; rev = "v${version}"; - sha256 = "sha256-1wAKijRYB0FGBe4cSHUynkO4ePVG4QvVIgSoWzNbqtE="; + sha256 = "sha256-5nSlKyWDAx0EeKFzzwP5+99XuJz9BHXEF1WNkRMLa9U="; }; - buildInputs = if stdenv.isDarwin then [ SDL_compat ] else [ libX11 libXext ]; + buildInputs = [] + ++ lib.optionals enableSDL [ SDL2 ] + ++ lib.optionals enableX11 [ libX11 libXext ]; + + enableParallelBuilding = true; buildFlags = [ "all" "lib" ]; makeFlags = [ "PREFIX=$(out)" ] + ++ lib.optional enableSDL "USE_SDL=2" # Use SDL2 instead of SDL1 + ++ lib.optional (!enableSDL && !enableX11) "USE_FB=0" + # work around https://github.com/NixOS/nixpkgs/issues/19098 ++ lib.optional (stdenv.cc.isClang && stdenv.isDarwin) "CFLAGS=-fno-lto"; @@ -24,7 +48,7 @@ stdenv.mkDerivation rec { description = "The RISC-V Virtual Machine"; license = with licenses; [ gpl3 /* or */ mpl20 ]; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ kamillaova ]; mainProgram = "rvvm"; }; } |