diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2022-05-16 12:02:51 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-16 12:02:51 +0000 |
commit | f10256fb7a52bc37fe41fe49cb8dda88cea1bb9d (patch) | |
tree | 7414f3e117cc1ddee5d5d7b81368e607deda1343 /pkgs/applications | |
parent | fc13119566e7cd28627190d777ce6600e1993402 (diff) | |
parent | dee374cd6fd28adb97c696d0046c8faa26b023c6 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/applications')
19 files changed, 169 insertions, 252 deletions
diff --git a/pkgs/applications/blockchains/clightning/default.nix b/pkgs/applications/blockchains/clightning/default.nix index 2ac761edd0085..2cf31ae3c95fb 100644 --- a/pkgs/applications/blockchains/clightning/default.nix +++ b/pkgs/applications/blockchains/clightning/default.nix @@ -21,11 +21,11 @@ let in stdenv.mkDerivation rec { pname = "clightning"; - version = "0.11.0.1"; + version = "0.11.1"; src = fetchurl { url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; - sha256 = "e2ad6eead19a0cd8869e291c27d318cf553bb015339c1f0e8d8b30e7bc0910d8"; + sha256 = "0vsh6gpv3458pfc5cggay9pw7bxjzyxpcniks9b2s3y1rxwk15xi"; }; # when building on darwin we need dawin.cctools to provide the correct libtool diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix index c2e7ae58eb3c1..3daebeaabc977 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -5,34 +5,31 @@ , darwin , asciidoctor +, botan2 , curl -, glibcLocales , libXi , libXtst , libargon2 -, libgcrypt -, libgpg-error -, libsodium -, libyubikey +, libusb1 +, minizip +, pcsclite , pkg-config , qrencode , qtbase , qtmacextras , qtsvg , qtx11extras -, quazip , readline , wrapGAppsHook , wrapQtAppsHook -, yubikey-personalization , zlib , withKeePassBrowser ? true , withKeePassKeeShare ? true -, withKeePassKeeShareSecure ? true , withKeePassSSHAgent ? true , withKeePassNetworking ? true , withKeePassTouchID ? true +, withKeePassYubiKey ? true , withKeePassFDOSecrets ? true , nixosTests @@ -42,13 +39,13 @@ with lib; stdenv.mkDerivation rec { pname = "keepassxc"; - version = "2.6.6"; + version = "2.7.1"; src = fetchFromGitHub { owner = "keepassxreboot"; repo = "keepassxc"; rev = version; - sha256 = "15rm3avdmc2x2n92zq6w1zbcranak4j6dds2sxmgdqi1ffc0a3ci"; + sha256 = "sha256-BOtehDzlWhhfXj8TOFvFN4f86Hl2EC3rO4qUIl9fqq4="; }; NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang [ @@ -66,15 +63,12 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DKEEPASSXC_BUILD_TYPE=Release" "-DWITH_GUI_TESTS=ON" - "-DWITH_XC_AUTOTYPE=ON" "-DWITH_XC_UPDATECHECK=OFF" - "-DWITH_XC_YUBIKEY=ON" ] ++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") ++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") - ++ (optional withKeePassKeeShareSecure "-DWITH_XC_KEESHARE_SECURE=ON") ++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") - ++ (optional (withKeePassTouchID && stdenv.isDarwin) "-DWITH_XC_TOUCHID=ON") + ++ (optional (withKeePassYubiKey && stdenv.isLinux) "-DWITH_XC_YUBIKEY=ON") ++ (optional (withKeePassFDOSecrets && stdenv.isLinux) "-DWITH_XC_FDOSECRETS=ON") ++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); @@ -95,26 +89,22 @@ stdenv.mkDerivation rec { buildInputs = [ curl - glibcLocales + botan2 libXi libXtst libargon2 - libgcrypt - libgpg-error - libsodium - libyubikey + minizip + pcsclite qrencode qtbase qtsvg qtx11extras readline - yubikey-personalization zlib ] - ++ optional withKeePassKeeShareSecure quazip + ++ optional stdenv.isLinux libusb1 ++ optional stdenv.isDarwin qtmacextras - ++ optional (stdenv.isDarwin && withKeePassTouchID) - darwin.apple_sdk.frameworks.LocalAuthentication; + ++ optional (stdenv.isDarwin && withKeePassTouchID) darwin.apple_sdk.frameworks.LocalAuthentication; passthru.tests = nixosTests.keepassxc; @@ -131,5 +121,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ jonafato turion ]; platforms = platforms.linux ++ platforms.darwin; + broken = stdenv.isDarwin; # see to https://github.com/NixOS/nixpkgs/issues/172165 }; } diff --git a/pkgs/applications/misc/keepassx/darwin.patch b/pkgs/applications/misc/keepassx/darwin.patch index 95ca5d4587fea..1ec7db5863635 100644 --- a/pkgs/applications/misc/keepassx/darwin.patch +++ b/pkgs/applications/misc/keepassx/darwin.patch @@ -8,46 +8,30 @@ index 74b1a7ff..0a713a32 100644 elseif(APPLE AND WITH_APP_BUNDLE) + set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Applications") set(BUNDLE_INSTALL_DIR "${PROGNAME}.app/Contents") - set(CMAKE_INSTALL_MANDIR "${PROGNAME}.app/Contents/Resources/man") - set(CLI_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS") -@@ -369,12 +370,6 @@ set(CMAKE_AUTORCC ON) + set(CMAKE_INSTALL_MANDIR "${BUNDLE_INSTALL_DIR}/Resources/man") + set(CLI_INSTALL_DIR "${BUNDLE_INSTALL_DIR}/MacOS") +@@ -470,11 +470,6 @@ set(CMAKE_AUTORCC ON) if(APPLE) set(CMAKE_MACOSX_RPATH TRUE) -- find_program(MACDEPLOYQT_EXE macdeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH) +- find_program(MACDEPLOYQT_EXE macdeployqt HINTS ${Qt5_PREFIX}/bin ${Qt5_PREFIX}/tools/qt5/bin ENV PATH) - if(NOT MACDEPLOYQT_EXE) - message(FATAL_ERROR "macdeployqt is required to build on macOS") -- else() -- message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}") - endif() - elseif(MINGW) - find_program(WINDEPLOYQT_EXE windeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH) - if(NOT WINDEPLOYQT_EXE) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index f142f368..0742512d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -351,11 +351,6 @@ if(APPLE AND WITH_APP_BUNDLE) - set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}") - include(CPack) +- message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}") + set(MACDEPLOYQT_EXTRA_BINARIES "") + elseif(WIN32) + find_program(WINDEPLOYQT_EXE windeployqt HINTS ${Qt5_PREFIX}/bin ${Qt5_PREFIX}/tools/qt5/bin ENV PATH) +diff --git a/src/post_install/CMakeLists.txt b/src/post_install/CMakeLists.txt +index 359c891f..a6a061a3 100644 +--- a/src/post_install/CMakeLists.txt ++++ b/src/post_install/CMakeLists.txt +@@ -1,7 +1,7 @@ + # The install commands in this subdirectory will be executed after all the install commands in the + # current scope are ran. It is required for correct functtioning of macdeployqt. -- add_custom_command(TARGET ${PROGNAME} -- POST_BUILD -- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src -- COMMENT "Deploying app bundle") - endif() - - install(TARGETS ${PROGNAME} -diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt -index 7427450a..a0a58d71 100644 ---- a/src/autotype/mac/CMakeLists.txt -+++ b/src/autotype/mac/CMakeLists.txt -@@ -8,7 +8,6 @@ if(WITH_APP_BUNDLE) - add_custom_command(TARGET keepassx-autotype-cocoa - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR} -- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -executable=${PLUGIN_INSTALL_DIR}/libkeepassx-autotype-cocoa.so -no-plugins - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src - COMMENT "Deploying autotype plugin") - else() +-if(APPLE AND WITH_APP_BUNDLE) ++if(FALSE) + # Run macdeloyqt on the main app and any extra binaries and plugins as specified by the + # _MACDEPLOYQT_EXTRA_BINARIES global property. + # All install(TARGETS) calls should have already been called. diff --git a/pkgs/applications/misc/system76-keyboard-configurator/default.nix b/pkgs/applications/misc/system76-keyboard-configurator/default.nix new file mode 100644 index 0000000000000..2708fb04a610b --- /dev/null +++ b/pkgs/applications/misc/system76-keyboard-configurator/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook, libusb1, hidapi, udev, pkgconfig }: + +# system76-keyboard-configurator tries to spawn a daemon as root via pkexec, so +# your system needs a PolicyKit authentication agent running for the +# configurator to work. + +rustPlatform.buildRustPackage rec { + pname = "system76-keyboard-configurator"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "keyboard-configurator"; + rev = "v${version}"; + sha256 = "sha256-CVCXNPmc/0T8vkxfU+i1nSbfusZGFVkLEveSoCePK0M="; + }; + + nativeBuildInputs = [ + pkgconfig + glib # for glib-compile-resources + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + hidapi + libusb1 + udev + ]; + + cargoSha256 = "sha256-/p2cVxOvWKkcVOYIR0N8tQSCniw+QhXhC+pus4NsQ8k="; + + meta = with lib; { + description = "Keyboard configuration application for System76 keyboards and laptops"; + homepage = "https://github.com/pop-os/keyboard-configurator"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ mirrexagon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index 3d35e3658e568..8a1645239082c 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -1,27 +1,38 @@ -{ lib, stdenv, fetchurl, mkDerivation -, qmake, qtbase, qtquickcontrols2, qtgraphicaleffects -, python3, pyotherside -, pcsclite, yubikey-personalization -, yubikey-manager, makeWrapper }: +{ lib +, stdenv +, fetchurl +, mkDerivation +, qmake +, qtbase +, qtquickcontrols2 +, qtgraphicaleffects +, qtmultimedia +, python3 +, pyotherside +, pcsclite +, yubikey-personalization +, yubikey-manager +, makeWrapper +}: mkDerivation rec { pname = "yubioath-desktop"; - version = "5.0.5"; + version = "5.1.0"; src = fetchurl { url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; - sha256 = "05xs6xh9pi50h0668arirj0gnz11adpixgsdkds072077gasdm0g"; + hash = "sha256-Lm9F4eaG9T5brAV7XDAkoj0WClmXEYIhuUzh2rk0oc0="; }; doCheck = false; - buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects python3 ]; + buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects qtmultimedia python3 ]; nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ]; postPatch = '' - substituteInPlace deployment.pri \ - --replace '/usr/bin' "$out/bin" + substituteInPlace QZXing/QZXing-components.pri \ + --replace 'target.path = $$PREFIX/lib' 'target.path = $$PREFIX/bin' ''; pythonPath = [ yubikey-manager ]; diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix index b9a282b5cd161..c74fdbc749d47 100644 --- a/pkgs/applications/networking/cluster/kube-router/default.nix +++ b/pkgs/applications/networking/cluster/kube-router/default.nix @@ -1,23 +1,33 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, testers, kube-router }: -buildGoPackage rec { +buildGoModule rec { pname = "kube-router"; - version = "1.2.2"; - - goPackagePath = "github.com/cloudnativelabs/kube-router"; + version = "1.4.0"; src = fetchFromGitHub { owner = "cloudnativelabs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-/VToLQexvRtcBU+k8WnGEcfLfxme/hgRnhU8723BEFU="; + sha256 = "sha256-WBnJPCZHtJWckoFvE8e+eAa2EC/RA7yOMlW+Cemw53Q="; }; + vendorSha256 = "sha256-5co+288KZf/dx/jZ7xIGh6kxuW3DdbpAsrZgYob3nWk="; + + CGO_ENABLED = 0; + ldflags = [ - "-X ${goPackagePath}/pkg/cmd.version=${version}" - "-X ${goPackagePath}/pkg/cmd.buildDate=Nix" + "-s" + "-w" + "-X github.com/cloudnativelabs/kube-router/pkg/version.Version=${version}" + "-X github.com/cloudnativelabs/kube-router/pkg/version.BuildDate=Nix" ]; + checkFlags = [ "-short" ]; + + passthru.tests.version = testers.testVersion { + package = kube-router; + }; + meta = with lib; { homepage = "https://www.kube-router.io/"; description = "All-in-one router, firewall and service proxy for Kubernetes"; diff --git a/pkgs/applications/science/math/lrcalc/default.nix b/pkgs/applications/science/math/lrcalc/default.nix index 96eb779645169..90ee50c682800 100644 --- a/pkgs/applications/science/math/lrcalc/default.nix +++ b/pkgs/applications/science/math/lrcalc/default.nix @@ -1,18 +1,17 @@ { lib, stdenv , fetchFromBitbucket -, fetchpatch , autoreconfHook }: stdenv.mkDerivation rec { - version = "1.2"; + version = "2.1"; pname = "lrcalc"; src = fetchFromBitbucket { owner = "asbuch"; repo = "lrcalc"; rev = "lrcalc-${version}"; - sha256 = "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"; + sha256 = "0s3amf3z75hnrjyszdndrvk4wp5p630dcgyj341i6l57h43d1p4k"; }; doCheck = true; @@ -21,15 +20,6 @@ stdenv.mkDerivation rec { autoreconfHook ]; - patches = [ - # Fix include syntax: - # For private includes, use `#include "..."` instead of `#include <...>` - (fetchpatch { - url = "https://bitbucket.org/asbuch/lrcalc/commits/226981a0/raw/"; - sha256 = "02kaqx5s3l642rhh28kn2wg9wr098vzpknxyl4pv627lqa3lv9vm"; - }) - ]; - meta = with lib; { description = "Littlewood-Richardson calculator"; homepage = "http://math.rutgers.edu/~asbuch/lrcalc/"; diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 70e24e2608d00..84b511de8fc24 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -48,6 +48,12 @@ let logo64 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png"; }; + jupyter-kernel-specs = pkgs.jupyter-kernel.create { + definitions = pkgs.jupyter-kernel.default // { + sagemath = jupyter-kernel-definition; + }; + }; + three = callPackage ./threejs-sage.nix { }; # A bash script setting various environment variables to tell sage where @@ -73,7 +79,7 @@ let # The documentation for sage, building it takes a lot of ram. sagedoc = callPackage ./sagedoc.nix { inherit sage-with-env; - inherit python3 maxima; + inherit python3 maxima jupyter-kernel-specs; }; # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run. @@ -167,6 +173,6 @@ let in # A wrapper around sage that makes sure sage finds its docs (if they were build). callPackage ./sage.nix { - inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition; + inherit sage-tests sage-with-env sagedoc jupyter-kernel-specs; inherit withDoc requireSageTests; } diff --git a/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch b/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch deleted file mode 100644 index a478f50d92e86..0000000000000 --- a/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py -index 01f32fb8e4..4d83dc7b47 100644 ---- a/src/sage/doctest/control.py -+++ b/src/sage/doctest/control.py -@@ -1253,6 +1253,7 @@ class DocTestController(SageObject): - - self.log("Using --optional=" + self._optional_tags_string()) - available_software._allow_external = self.options.optional is True or 'external' in self.options.optional -+ available_software._autodetect_safe = self.options.optional is True or 'sage' in self.options.optional - self.log("Features to be detected: " + ','.join(available_software.detectable())) - self.add_files() - self.expand_files_into_sources() -diff --git a/src/sage/doctest/external.py b/src/sage/doctest/external.py -index 84dae19ea5..badc61466e 100644 ---- a/src/sage/doctest/external.py -+++ b/src/sage/doctest/external.py -@@ -409,6 +409,7 @@ class AvailableSoftware(object): - [] - """ - self._allow_external = True -+ self._autodetect_safe = True - # For multiprocessing of doctests, the data self._seen should be - # shared among subprocesses. Thus we use Array class from the - # multiprocessing module. -@@ -430,6 +431,8 @@ class AvailableSoftware(object): - sage: 'internet' in available_software # random, optional - internet - True - """ -+ if not self._autodetect_safe: -+ return False - try: - idx = self._indices[item] - except KeyError: -diff --git a/src/sage/features/sagemath.py b/src/sage/features/sagemath.py -index 433338766d..233623b14a 100644 ---- a/src/sage/features/sagemath.py -+++ b/src/sage/features/sagemath.py -@@ -12,7 +12,7 @@ class sagemath_doc_html(StaticFile): - - EXAMPLES:: - -- sage: from sage.features.sagemath import sagemath_doc_html -+ sage: from sage.features.sagemath import sagemath_doc_html # optional - sagemath_doc_html - sage: sagemath_doc_html().is_present() # optional - sagemath_doc_html - FeatureTestResult('sagemath_doc_html', True) - """ diff --git a/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch index e687281ad1a7c..ca01eba29a2bd 100644 --- a/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch +++ b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch @@ -13,7 +13,7 @@ index 67d7d2accf..18279581e2 100644 - True + sage: print(output) + sage...[False, True] -+ sage...Exiting Sage ... ++ ... """ #***************************************************************************** diff --git a/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch b/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch index 94e0488e21e77..0a19e7af10483 100644 --- a/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch +++ b/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch @@ -1,11 +1,11 @@ diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py -index 4c56aea078..e51a77ae8a 100644 +index 08c4225b87..3a9bbe4ed0 100644 --- a/src/sage/misc/sagedoc.py +++ b/src/sage/misc/sagedoc.py @@ -1402,6 +1402,8 @@ class _sage_doc: sage: identity_matrix.__doc__ in browse_sage_doc(identity_matrix, 'rst') True - sage: browse_sage_doc(identity_matrix, 'html', False) # optional - sphinx + sage: browse_sage_doc(identity_matrix, 'html', False) # optional - sphinx sagemath_doc_html + ... + FutureWarning: The configuration setting "embed_images" will be removed in Docutils 1.2. Use "image_loading: link". '...div...File:...Type:...Definition:...identity_matrix...' diff --git a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch index 1ff081b25e0fd..3e7e37508ff47 100644 --- a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch +++ b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch @@ -1,10 +1,10 @@ diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py -index 8a5c1a19d2..21fd192642 100644 +index b12d56a3c9..df9d949ed1 100644 --- a/src/sage_docbuild/__init__.py +++ b/src/sage_docbuild/__init__.py -@@ -89,27 +89,6 @@ def builder_helper(type): +@@ -88,30 +88,6 @@ def builder_helper(type): """ - Returns a function which builds the documentation for + Return a function which builds the documentation for output type ``type``. - - TESTS: @@ -19,10 +19,13 @@ index 8a5c1a19d2..21fd192642 100644 - ....: raise BaseException("abort pool operation") - sage: original_runsphinx, sage_docbuild.sphinxbuild.runsphinx = sage_docbuild.sphinxbuild.runsphinx, raiseBaseException - +- sage: from sage.misc.temporary_file import tmp_dir +- sage: os.environ['SAGE_DOC'] = tmp_dir() +- sage: sage.env.var('SAGE_DOC') # random - sage: from sage_docbuild import builder_helper, build_ref_doc - sage: from sage_docbuild import _build_many as build_many - sage: helper = builder_helper("html") -- sage: try: +- sage: try: # optional - sagemath_doc_html - ....: build_many(build_ref_doc, [("docname", "en", "html", {})]) - ....: except Exception as E: - ....: "Non-exception during docbuild: abort pool operation" in str(E) @@ -30,7 +33,7 @@ index 8a5c1a19d2..21fd192642 100644 """ def f(self, *args, **kwds): output_dir = self._output_dir(type) -@@ -131,10 +110,9 @@ def builder_helper(type): +@@ -139,10 +115,9 @@ def builder_helper(type): logger.debug(build_command) # Run Sphinx with Sage's special logger @@ -44,10 +47,10 @@ index 8a5c1a19d2..21fd192642 100644 if ABORT_ON_ERROR: raise diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py -index d917c3e9d4..551cc8028a 100644 +index a39c99ffe9..73be823684 100644 --- a/src/sage_docbuild/sphinxbuild.py +++ b/src/sage_docbuild/sphinxbuild.py -@@ -327,3 +327,8 @@ def runsphinx(): +@@ -330,3 +330,8 @@ def runsphinx(): sys.stderr = saved_stderr sys.stdout.flush() sys.stderr.flush() 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 1766cec3e35db..b0f40bf065874 100644 --- a/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix +++ b/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix @@ -2,6 +2,7 @@ , buildPythonPackage , sage-src , sphinx +, jupyter-sphinx }: buildPythonPackage rec { @@ -11,6 +12,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ sphinx + jupyter-sphinx ]; preBuild = '' diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix index cdff1e8477abd..4c22470de9109 100644 --- a/pkgs/applications/science/math/sage/sage-env.nix +++ b/pkgs/applications/science/math/sage/sage-env.nix @@ -186,7 +186,7 @@ writeTextFile rec { export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data' # for find_library - export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" + export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular giac]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" ''; } // { # equivalent of `passthru`, which `writeTextFile` doesn't support lib = sagelib; diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index b230b0d42a03a..95da9b26e54e8 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -58,30 +58,19 @@ let ); in stdenv.mkDerivation rec { - version = "9.5"; + version = "9.6"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "sha256-uOsLpsGpcIGs8Xr82X82MElnTB2E908gytyNJ8WVD5w="; + sha256 = "sha256-QY8Yga3hD1WhSCtA2/PVry8hHlMmC31J8jCBFtWgIU0="; }; # Patches needed because of particularities of nix or the way this is packaged. # The goal is to upstream all of them and get rid of this list. nixPatches = [ - # Since https://trac.sagemath.org/ticket/32174, some external features are - # marked as "safe" and get auto-detected, in which case the corresponding - # optional tests are executed. We disable auto-detection of safe features if - # we are doctesting with an "--optional" argument which does not include - # "sage", because tests from autodetected features expect context provided - # by running basic sage tests. This is necessary to test sagemath_doc_html - # separately. See https://trac.sagemath.org/ticket/26110 for a related - # upstream discussion (from the time when Sage still had optional py2/py3 - # tags). - ./patches/Only-test-external-software-when-all-of-sage-is.patch - # Fixes a potential race condition which can lead to transient doctest failures. ./patches/fix-ecl-race.patch @@ -120,81 +109,13 @@ stdenv.mkDerivation rec { # https://trac.sagemath.org/ticket/32959 ./patches/linbox-1.7-upgrade.patch - # https://trac.sagemath.org/ticket/33170 - (fetchSageDiff { - base = "9.6.beta5"; - name = "ipython-8.1-update.patch"; - rev = "4d2b53f1541375861310af3a7f7109c1c2ed475d"; - sha256 = "sha256-ELda/VBzsQH7NdFas69fQ35QPUoJCeLx/gxT1j7qGR8="; - }) - - # https://trac.sagemath.org/ticket/32968 - (fetchSageDiff { - base = "9.5"; - name = "sphinx-4.3-update.patch"; - rev = "fc84f82f52b6f05f512cb359ec7c100f93cf8841"; - sha256 = "sha256-bBbfdcnw/9LUOlY8rHJRbFJEdMXK4shosqTNaobTS1Q="; - }) - - # https://trac.sagemath.org/ticket/33189 - (fetchSageDiff { - base = "9.5"; - name = "arb-2.22-update.patch"; - rev = "53532ddd4e2dc92469c1590ebf0c40f8f69bf579"; - sha256 = "sha256-6SoSBvIlqvNwZV3jTB6uPdUtaWIOeNmddi2poK/WvGs="; - }) - - # TODO: This will not be necessary when Sphinx 4.4.1 is released, - # since some warnings introduced in 4.4.0 will be disabled by then - # (https://github.com/sphinx-doc/sphinx/pull/10126). - # https://trac.sagemath.org/ticket/33272 - (fetchSageDiff { - base = "9.5"; - name = "sphinx-4.4-warnings.patch"; - rev = "97d7958bed441cf2ccc714d88f83d3a8426bc085"; - sha256 = "sha256-y1STE0oxswnijGCsBw8eHWWqpmT1XMznIfA0vvX9pFA="; - }) - # adapted from https://trac.sagemath.org/ticket/23712#comment:22 ./patches/tachyon-renamed-focallength.patch - # https://trac.sagemath.org/ticket/33336 - (fetchSageDiff { - base = "9.6.beta2"; - name = "scipy-1.8-update.patch"; - rev = "9c8235e44ffb509efa8a3ca6cdb55154e2b5066d"; - sha256 = "sha256-bfc4ljNOxVnhlmxIuNbjbKl4vJXYq2tlF3Z8bbC8PWw="; - }) - - # https://trac.sagemath.org/ticket/33495 - (fetchSageDiff { - base = "9.6.beta5"; - name = "networkx-2.7-update.patch"; - rev = "8452003846a7303100847d8d0ed642fc642c11d6"; - sha256 = "sha256-A/XMouPlc2sjFp30L+56fBGJXydS2EtzfPOV98FCDqI="; - }) - - # https://trac.sagemath.org/ticket/33226 - (fetchSageDiff { - base = "9.6.beta0"; - name = "giac-1.7.0-45-update.patch"; - rev = "33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c"; - sha256 = "sha256-DOyxahf3+IaYdkgmAReNDCorRzMgO8+yiVrJ5TW1km0="; - }) - - # https://trac.sagemath.org/ticket/33398 - (fetchSageDiff { - base = "9.6.beta4"; - name = "sympy-1.10-update.patch"; - rev = "6b7c3a28656180e42163dc10f7b4a571b93e5f27"; - sha256 = "sha256-fnUyM2yjHkCykKRfzQQ4glcUYmCS/fYzDzmCf0nuebk="; - # The patch contains a whitespace change to a file that didn't exist in Sage 9.5. - excludes = [ "build/*" "src/sage/manifolds/vector_bundle_fiber_element.py" ]; - }) - # docutils 0.18.1 now triggers Sphinx warnings. tolerate them for - # now, because patching Sphinx is not feasible. - # https://github.com/sphinx-doc/sphinx/issues/9777#issuecomment-1104481271 + # now, because patching Sphinx is not feasible. remove when Sphinx + # 5.0 hits nixpkgs. + # https://github.com/sphinx-doc/sphinx/pull/10372 ./patches/docutils-0.18.1-deprecation.patch ]; diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix index 96122fba5ab42..78fd8d598d0b6 100644 --- a/pkgs/applications/science/math/sage/sage.nix +++ b/pkgs/applications/science/math/sage/sage.nix @@ -2,8 +2,7 @@ , makeWrapper , sage-tests , sage-with-env -, jupyter-kernel-definition -, jupyter-kernel +, jupyter-kernel-specs , sagedoc , withDoc , requireSageTests @@ -12,14 +11,6 @@ # A wrapper that makes sure sage finds its docs (if they were build) and the # jupyter kernel spec. -let - # generate kernel spec + default kernels - kernel-specs = jupyter-kernel.create { - definitions = jupyter-kernel.default // { - sagemath = jupyter-kernel-definition; - }; - }; -in stdenv.mkDerivation rec { version = src.version; pname = "sage"; @@ -43,7 +34,7 @@ stdenv.mkDerivation rec { --set SAGE_DOC_SRC_OVERRIDE "${src}/src/doc" ${ lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage" } \ - --prefix JUPYTER_PATH : "${kernel-specs}" + --prefix JUPYTER_PATH : "${jupyter-kernel-specs}" ''; doInstallCheck = withDoc; @@ -58,7 +49,7 @@ stdenv.mkDerivation rec { quicktest = sage-tests.override { longTests = false; timeLimit = 600; }; # as many tests as possible in ~10m doc = sagedoc; lib = sage-with-env.env.lib; - kernelspec = jupyter-kernel-definition; + kernelspec = jupyter-kernel-specs.definition.sagemath; }; meta = with lib; { diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix index 489fc2edfe55a..67d754caff3c2 100644 --- a/pkgs/applications/science/math/sage/sagedoc.nix +++ b/pkgs/applications/science/math/sage/sagedoc.nix @@ -1,6 +1,7 @@ { stdenv , sage-with-env , python3 +, jupyter-kernel-specs , maxima , tachyon , jmol @@ -59,10 +60,15 @@ stdenv.mkDerivation rec { OUTPUT="$OUTPUT_DIR/options.txt" ${sage-with-env}/bin/sage -advanced > "$OUTPUT" - ${sage-with-env}/bin/sage --docbuild \ + # jupyter-sphinx calls the sagemath jupyter kernel during docbuild + export JUPYTER_PATH=${jupyter-kernel-specs} + + # sage --docbuild unsets JUPYTER_PATH, so we call sage_docbuild directly + # https://trac.sagemath.org/ticket/33650#comment:32 + ${sage-with-env}/bin/sage --python3 -m sage_docbuild \ --mathjax \ --no-pdf-links \ - all html + all html < /dev/null ''; installPhase = '' @@ -83,6 +89,10 @@ stdenv.mkDerivation rec { doCheck = true; checkPhase = '' - ${sage-with-env}/bin/sage -t --optional=sagemath_doc_html --all + # sagemath_doc_html tests assume sage tests are being run, so we + # compromise: we run standard tests, but only on files containing + # relevant tests. as of Sage 9.6, there are only 4 such files. + grep -PRl "#.*optional.*sagemath_doc_html" ${src}/src/sage{,_docbuild} | \ + xargs ${sage-with-env}/bin/sage -t --optional=sage,sagemath_doc_html ''; } diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 92eae35688f71..8f864d136928a 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -67,7 +67,9 @@ , pillow , ipykernel , networkx -, sphinx # TODO: this is in setup.cfg, bug should we override it? +, ptyprocess +, lrcalc-python +, sphinx # TODO: this is in setup.cfg, should we override it? }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -157,6 +159,8 @@ buildPythonPackage rec { networkx jupyter-client ipywidgets + ptyprocess + lrcalc-python sphinx ]; @@ -188,7 +192,7 @@ buildPythonPackage rec { # 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/==2.1.0rc1/>=2.1.1/' ../gmpy2/install-requires.txt + sed -i 's/==0.5.1/>=0.5.1/' ../ptyprocess/install-requires.txt sed -i 's/, <[^, ]*//' ../*/install-requires.txt for infile in src/*.m4; do diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index 712ccacd7a0c0..2c15513d4d65e 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -55,7 +55,7 @@ in mkDerivation { installPhase = '' runHook preInstall - install -Dm555 -t $out/bin out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon + install -Dm555 -t $out/bin out/makemkv out/mmccextr ../makemkv-bin-${version}/bin/amd64/makemkvcon install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.* install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/* install -Dm444 -t $out/share/applications ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop |