diff options
Diffstat (limited to 'gnu')
33 files changed, 947 insertions, 913 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 7aa3f046a7..bd568cc095 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2036,6 +2036,8 @@ dist_patch_DATA = \ %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/password-store-tree-compat.patch \ %D%/packages/patches/pciutils-hurd64.patch \ + %D%/packages/patches/pcsxr-find-harfbuzz.patch \ + %D%/packages/patches/pcsxr-fix-definitions.patch \ %D%/packages/patches/pdl-2.019-glut-bitmap-fonts.patch \ %D%/packages/patches/pdl-2.100-reproducibility.patch \ %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4ca7998cc7..e14d74b186 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12324,7 +12324,7 @@ of these reads to align data quickly through a hash-based indexing scheme.") (define-public sortmerna (package (name "sortmerna") - (version "4.3.4") + (version "4.3.7") (source (origin (method git-fetch) @@ -12334,7 +12334,7 @@ of these reads to align data quickly through a hash-based indexing scheme.") (file-name (git-file-name name version)) (sha256 (base32 - "0f8jfc8vsq6llhbb92p9yv7nbp566yqwfcmq3g2hw0n7d8hyl3a8")))) + "14p3zi6ysnrs2l33r5mc0fr0la2jnnxmqdcif02fppln8w31j753")))) (build-system cmake-build-system) (outputs '("out" ;for binaries "db")) ;for sequence databases @@ -12359,6 +12359,11 @@ of these reads to align data quickly through a hash-based indexing scheme.") "/include")) #:phases '(modify-phases %standard-phases + (add-after 'unpack 'fix-includes + (lambda _ + (substitute* "src/sortmerna/kseq_load.cpp" + (("#include <iostream>" all) + (string-append all "\n#include <cstdint>"))))) (add-after 'unpack 'find-concurrentqueue-headers (lambda* (#:key inputs #:allow-other-keys) ;; Ensure that headers can be found diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 7121cec4d4..170d32f3e3 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -129,7 +129,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "3.1.4") + (version "3.1.6") (source (origin (method git-fetch) @@ -138,7 +138,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1x99d2cycgxay62cz2ypjjkmjgrbdvz5d3pg4fyv0gnq2srnlcnm")))) + (base32 "0pnrsnwvsqby0vgb33zsrjznb7l82ji7i4aigk32hg3rl674qqvx")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -157,15 +157,15 @@ makes a few sacrifices to acquire fast full and incremental build times.") (invoke "ctest"))))))) (inputs `(("c-ares" ,c-ares) - ("fmt" ,fmt-8) + ("fmt" ,fmt-9) ("grpc" ,grpc) ("nlohmann-json" ,nlohmann-json) ("protobuf" ,protobuf) ("python" ,python-wrapper) ("re2" ,re2) - ("spdlog" ,spdlog-1.10))) + ("spdlog" ,spdlog-1.13))) (native-inputs - `(("abseil-cpp" ,abseil-cpp-cxxstd11) + `(("abseil-cpp" ,abseil-cpp) ("googletest" ,googletest) ("openssl" ,openssl) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 1a2aa6b75d..eb1f3b3b53 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -285,7 +285,7 @@ contents, and discovering ways to shrink the size of Docker/OCI image.") (define-public libslirp (package (name "libslirp") - (version "4.7.0") + (version "4.9.1") (source (origin (method git-fetch) @@ -293,7 +293,7 @@ contents, and discovering ways to shrink the size of Docker/OCI image.") (url "https://gitlab.freedesktop.org/slirp/libslirp") (commit (string-append "v" version)))) (sha256 - (base32 "0dny8187a8qh6akaa37aa9b5pjxx88f02wh6achp4mygff0ipxba")) + (base32 "1jlqda5k5wm0ql0fymkr3dbf1d71gxcj7896r8mz8s1i264gg8rh")) (file-name (git-file-name name version)))) (build-system meson-build-system) (propagated-inputs @@ -311,7 +311,7 @@ containers or various tools.") (define-public slirp4netns (package (name "slirp4netns") - (version "1.3.2") + (version "1.3.3") (source (origin (method git-fetch) @@ -319,7 +319,7 @@ containers or various tools.") (url "https://github.com/rootless-containers/slirp4netns") (commit (string-append "v" version)))) (sha256 - (base32 "13lw48b89583smblp2d4kxb1j23k2qx3i2j5zi91sxwnnn4ndks2")) + (base32 "165z1ccsb8w901965rlzcrbln17l1jdg9k7vsiamlx0q06v24b96")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 3832b67aec..2f5b5b71b2 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2202,6 +2202,15 @@ Google's C++ code base.") #~(cons* "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" (delete "-DBUILD_SHARED_LIBS=ON" #$flags))))))))) +(define-public abseil-cpp-cxxstd17 + (abseil-cpp-for-c++-standard abseil-cpp 17)) ;XXX: the default with GCC 11? + +(define-public abseil-cpp-cxxstd11 + (abseil-cpp-for-c++-standard abseil-cpp-20220623 11)) ;last version on C++11 + +(define-public static-abseil-cpp + (make-static-abseil-cpp abseil-cpp)) + (define-public miniaudio (package (name "miniaudio") @@ -2262,15 +2271,6 @@ Google's C++ code base.") made up of a single source file and has no external dependencies.") (license license:expat))) -(define-public abseil-cpp-cxxstd17 - (abseil-cpp-for-c++-standard abseil-cpp 17)) ;XXX: the default with GCC 11? - -(define-public abseil-cpp-cxxstd11 - (abseil-cpp-for-c++-standard abseil-cpp-20220623 11)) ;last version on C++11 - -(define-public static-abseil-cpp - (make-static-abseil-cpp abseil-cpp)) - (define-public pegtl (package (name "pegtl") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2bfa37ea90..35322b7ad1 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -309,41 +309,37 @@ ElasticSearch server") (define-public firebird (package (name "firebird") - (version "3.0.12") + (version "3.0.13") (source - (let ((revision "33787-0")) - (origin - (method url-fetch) - (uri (string-append "https://github.com/FirebirdSQL/" - "firebird/releases/download/v" - version "/" - "Firebird-" version "." revision ".tar.bz2")) - (sha256 - (base32 "07w109k237slwyhgyxma9r5my0dkvksc7ykpw0a4h7gpv06vzcl5")) - (patches (search-patches "firebird-riscv64-support-pt1.patch" - "firebird-riscv64-support-pt2.patch")) - (modules '((guix build utils))) - (snippet - `(begin - (for-each - delete-file-recursively - (list "extern/btyacc/test" ; TODO: package and remove entirely - "extern/editline" - "extern/icu" - "extern/libtommath" - "extern/zlib" - "src/include/firebird/impl/boost" + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FirebirdSQL/firebird") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0h697y53vk7yvlifr35vjl3vkv8m5ny7j05r70qnqcvjy0axqbdn")) + (patches (search-patches "firebird-riscv64-support-pt1.patch" + "firebird-riscv64-support-pt2.patch")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each + delete-file-recursively + (list "extern/btyacc/test" ; TODO: package and remove entirely + "extern/editline" + "extern/icu" + "extern/libtommath" + "extern/zlib" + "src/include/firebird/impl/boost" - ;; Missing licence. - "builds/install/arch-specific/solaris" - "extern/SfIO" - "src/msgs/templates.sql" + ;; Missing licence. + "builds/install/arch-specific/solaris" + "extern/SfIO" + "src/msgs/templates.sql" - ;; Generated files missing sources. - "doc/Firebird-3-QuickStart.pdf" - (string-append "doc/Firebird-" ,version - "-ReleaseNotes.pdf") - "doc/README.SecureRemotePassword.html"))))))) + ;; Generated files missing sources. + "doc/README.SecureRemotePassword.html")))))) (build-system gnu-build-system) (outputs (list "debug" "out")) (arguments @@ -445,13 +441,11 @@ ElasticSearch server") (list "include/firebird/impl" "lib/firebird/plugins/udr"))))))))) (native-inputs - (if (target-riscv64?) - (list autoconf automake libtool) - '())) + (list autoconf automake libtool)) (inputs (list boost editline - icu4c-71 + icu4c-77 libtommath ncurses zlib)) @@ -1996,7 +1990,7 @@ including field and record folding.") (define-public rocksdb (package (name "rocksdb") - (version "6.26.1") + (version "10.4.2") (source (origin (method git-fetch) (uri (git-reference @@ -2005,7 +1999,7 @@ including field and record folding.") (file-name (git-file-name name version)) (sha256 (base32 - "0mylma106w93kxhj89g9y1ccdq7m9m94wrmv5nyr17yc1zsk87sg")) + "1cgr33qv639fyx067sg8nsy8mnfac9xgmmw2qwi2bcmir777ma4q")) (modules '((guix build utils))) (snippet '(begin @@ -5425,132 +5419,6 @@ language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.") (license license:asl2.0))) -(define-public apache-arrow-0.16 - (package - (name "apache-arrow") - (version "0.16.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/apache/arrow") - (commit (string-append "apache-arrow-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "15bplqy5708bxy1mynzjkd3d2g8v2wd36z8l0ap8yyyq54l3gdvy")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'configure 'enter-source-directory - (lambda _ - (chdir "cpp") - (substitute* "src/parquet/CMakeLists.txt" - ((" parquet_constants.cpp") "") - (("set\\(THRIFT_OUTPUT_FILES \\$\\{THRIFT_OUTPUT_FILES\\}.*") "") - ((".*\"\\$\\{THRIFT_OUTPUT_DIR\\}/parquet_constants.cpp\"\\).*") "")))) - (add-after 'unpack 'set-env - (lambda _ - (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) - (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) - (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) - (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))))) - #:build-type "Release" - #:configure-flags - (list "-DARROW_PYTHON=ON" - "-DARROW_GLOG=ON" - "-DARROW_SSE42=OFF" - "-DARROW_BOOST_USE_SHARED=ON" - ;; Parquet options - "-DARROW_PARQUET=ON" - - ;; The maintainers disallow using system versions of - ;; jemalloc: - ;; https://issues.apache.org/jira/browse/ARROW-3507. This - ;; is unfortunate because jemalloc increases performance: - ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. - "-DARROW_JEMALLOC=OFF" - - ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global - ;; option that instructs the build system how to resolve - ;; each dependency. SYSTEM = Finding the dependency in - ;; system paths using CMake's built-in find_package - ;; function, or using pkg-config for packages that do not - ;; have this feature - "-DARROW_DEPENDENCY_SOURCE=SYSTEM" - - ;; Split output into its component packages. - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out")) - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "out") - "/lib") - (string-append "-DCMAKE_INSTALL_BINDIR=" - (assoc-ref %outputs "out") - "/bin") - (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" - (assoc-ref %outputs "include") - "/share/include") - - - "-DARROW_WITH_SNAPPY=ON" - "-DARROW_WITH_ZLIB=ON" - "-DARROW_WITH_ZSTD=ON" - "-DARROW_WITH_LZ4=ON" - "-DARROW_COMPUTE=ON" - "-DARROW_CSV=ON" - "-DARROW_DATASET=ON" - "-DARROW_FILESYSTEM=ON" - "-DARROW_HDFS=ON" - "-DARROW_JSON=ON" - ;; Arrow Python C++ integration library (required for - ;; building pyarrow). This library must be built against - ;; the same Python version for which you are building - ;; pyarrow. NumPy must also be installed. Enabling this - ;; option also enables ARROW_COMPUTE, ARROW_CSV, - ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and - ;; ARROW_JSON. - "-DARROW_PYTHON=ON" - - ;; Building the tests forces on all the - ;; optional features and the use of static - ;; libraries. - "-DARROW_BUILD_TESTS=OFF" - "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" - ;;"-DBENCHMARK_ENABLE_TESTING=OFF" - "-DARROW_BUILD_STATIC=OFF"))) - (inputs - `(("boost" ,boost) - ("brotli" ,brotli) - ("double-conversion" ,double-conversion) - ("snappy" ,snappy) - ("gflags" ,gflags) - ("glog" ,glog) - ("apache-thrift" ,apache-thrift "lib") - ("protobuf" ,protobuf) - ("rapidjson" ,rapidjson) - ("zlib" ,zlib) - ("bzip2" ,bzip2) - ("lz4" ,lz4) - ("zstd" ,zstd "lib") - ("re2" ,re2) - ("grpc" ,grpc) - ("python-3" ,python) - ("python-numpy" ,python-numpy))) - (native-inputs - (list pkg-config apache-thrift)) - (outputs '("out" "include")) - (home-page "https://arrow.apache.org/") - (synopsis "Columnar in-memory analytics") - (description "Apache Arrow is a columnar in-memory analytics layer -designed to accelerate big data. It houses a set of canonical in-memory -representations of flat and hierarchical data along with multiple -language-bindings for structure manipulation. It also provides IPC and common -algorithm implementations.") - (license license:asl2.0))) - (define-public python-pyarrow (package (inherit apache-arrow) @@ -5619,64 +5487,6 @@ implementation, along with tools for interoperability with pandas, NumPy, and other traditional Python scientific computing packages.") (license license:asl2.0))) -(define-public python-pyarrow-0.16 - (package - (inherit apache-arrow-0.16) - (name "python-pyarrow") - (build-system python-build-system) - (arguments - '(#:tests? #f ; XXX There are no tests in the "python" directory - #:phases - (modify-phases %standard-phases - (delete 'build) ; XXX the build is performed again during the install phase - (add-after 'unpack 'enter-source-directory - (lambda _ (chdir "python"))) - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")))) - (add-before 'install 'patch-cmake-variables - (lambda* (#:key inputs #:allow-other-keys) - ;; Replace cmake locations with hardcoded guix links for the - ;; underlying C++ library and headers. This is a pretty awful - ;; hack. - (substitute* "cmake_modules/FindParquet.cmake" - (("# Licensed to the Apache Software Foundation" m) - (string-append "set(PARQUET_INCLUDE_DIR \"" - (assoc-ref inputs "apache-arrow:include") - "/share/include\")\n" m)) - (("find_package_handle_standard_args" m) - (string-append "set(PARQUET_LIB_DIR \"" - (assoc-ref inputs "apache-arrow:lib") - "/lib\")\n" m))))) - (add-before 'install 'patch-parquet-library - (lambda _ - (substitute* "CMakeLists.txt" - (("parquet_shared") "parquet")))) - (add-before 'install 'set-PYARROW_WITH_PARQUET - (lambda _ - (setenv "PYARROW_WITH_PARQUET" "1")))))) - (propagated-inputs - `(("apache-arrow:lib" ,apache-arrow-0.16) - ("apache-arrow:include" ,apache-arrow-0.16 "include") - ("python-numpy" ,python-numpy) - ("python-pandas" ,python-pandas) - ("python-six" ,python-six))) - (native-inputs - (list cmake-minimal - pkg-config - python-cython - python-pytest - python-pytest-runner - python-setuptools-scm)) - (outputs '("out")) - (home-page "https://arrow.apache.org/docs/python/") - (synopsis "Python bindings for Apache Arrow") - (description - "This library provides a Pythonic API wrapper for the reference Arrow C++ -implementation, along with tools for interoperability with pandas, NumPy, and -other traditional Python scientific computing packages.") - (license license:asl2.0))) - (define-public python-fastparquet (package (name "python-fastparquet") diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index da5db84b41..97b2bded46 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2025 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2018, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> @@ -91,7 +91,9 @@ #:out-of-source? #true #:configure-flags #~(list - "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration" + #$@(if (target-ppc64le?) + #~("CFLAGS=-g -O2 -Wno-error=implicit-function-declaration -fpermissive") + #~("CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")) ;; Remove 7 MiB of .a files. "--disable-static" diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 130b2e0877..7c8202dd71 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -3571,59 +3571,58 @@ assembler, and debugger for the Intel 8085 microprocessor. (define-public pcsxr ;; No release since 2017. - (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) + (let ((commit "666604321bf2d3dd5e5f58b534cfce41e72ad7d1") + (revision "1")) (package (name "pcsxr") - ;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded - (version "1.9.95") + ;; From CMakeLists.txt. + (version (git-version "1.9.94" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/pcsxr/PCSX-Reloaded") + (url "https://github.com/MaddTheSane/PCSX-Reloaded") (commit commit))) + (patches (search-patches "pcsxr-find-harfbuzz.patch" + "pcsxr-fix-definitions.patch")) (sha256 - (base32 - "138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza")) + (base32 "0lcypcawnipm02m3wnjsrm9r10llabncx78ramk7iw03a646dngj")) (file-name (git-file-name name commit)))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no "test" target - #:configure-flags - (list "-DSND_BACKEND=pulse" - "-DENABLE_CCDDA='ON'" - "-DUSE_LIBARCHIVE='ON'" - "-DUSE_LIBCDIO='ON'") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'cd-subdir - (lambda _ (chdir "pcsxr") #t)) - (add-before 'configure 'fix-cdio-lookup - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cmake/FindCdio.cmake" - (("/usr/include/cdio") - (search-input-directory inputs "/include/cdio"))))) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/pcsxr") - ;; For GtkFileChooserDialog. - `("GSETTINGS_SCHEMA_DIR" = - (,(string-append (assoc-ref inputs "gtk+") - "/share/glib-2.0/schemas"))))))))) - (native-inputs - (list pkg-config intltool - `(,glib "bin"))) - (inputs - (list bash-minimal - libcdio - sdl2 - gtk+ - ffmpeg-4 - libxv - libarchive - pulseaudio)) - (home-page "https://archive.codeplex.com/?p=pcsxr") + (list + #:tests? #f ;no "test" target + #:configure-flags + #~(list "-DSND_BACKEND=pulse" + "-DENABLE_CCDDA='ON'" + "-DUSE_LIBARCHIVE='ON'" + "-DUSE_LIBCDIO='ON'" + "-DCMAKE_C_FLAGS=-Wno-incompatible-pointer-types") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'fix-cdio-lookup + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/FindCdio.cmake" + (("/usr/include/cdio") + (search-input-directory inputs "/include/cdio"))))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/pcsxr") + ;; For GtkFileChooserDialog. + `("GSETTINGS_SCHEMA_DIR" = + (,(string-append (assoc-ref inputs "gtk+") + "/share/glib-2.0/schemas"))))))))) + (native-inputs (list pkg-config intltool + `(,glib "bin"))) + (inputs (list bash-minimal + libcdio + sdl2 + gtk+ + ffmpeg-4 + libxv + libarchive + pulseaudio)) + (home-page "https://github.com/MaddTheSane/PCSX-Reloaded") (synopsis "PlayStation emulator") (description "A PlayStation emulator based on PCSX-df Project with bugfixes and diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e2af4d567b..506578fb11 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5991,16 +5991,6 @@ coordinates) using the Nominatim service. geocode-glib caches requests for faster results and to avoid unnecessary server load.") (license license:lgpl2.0+))) -(define-public geocode-glib-with-libsoup2 - (package - (inherit geocode-glib) - (name "geocode-glib-with-libsoup2") - (arguments (substitute-keyword-arguments (package-arguments geocode-glib) - ((#:configure-flags flags ''()) - #~(delete "-Dsoup2=false" #$flags)))) - (inputs (modify-inputs (package-inputs geocode-glib) - (replace "libsoup" libsoup-minimal-2))))) - (define-public upower (package (name "upower") @@ -8518,30 +8508,6 @@ contacts, tasks, and calendar information. It was originally developed for Evolution (hence the name), but is now used by other packages as well.") (license license:lgpl2.0))) -;;; This version can be used for projects with dependencies stuck on libsoup2. -(define-public evolution-data-server-3.44 - (package - (inherit evolution-data-server) - (name "evolution-data-server") - (version "3.44.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 "1sxjrjr31wqbp9g4pf6dwj8rc4mi7c5fbfd489ha92ym7246bin0")))) - (inputs - (modify-inputs (package-inputs evolution-data-server) - (replace "gnome-online-accounts" gnome-online-accounts-3.44) - (replace "libgweather4" libgweather) - (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2))) - (propagated-inputs - (modify-inputs (package-propagated-inputs evolution-data-server) - (delete "gtk") - (replace "libsoup" libsoup-minimal-2))))) - (define-public caribou (package (name "caribou") @@ -11299,14 +11265,6 @@ compiled.") (home-page "https://wiki.gnome.org/Projects/Folks") (license license:lgpl2.1+))) -(define-public folks-with-libsoup2 - (package - (inherit folks) - (name "folks-with-libsoup2") - (inputs - (modify-inputs (package-inputs folks) - (replace "evolution-data-server" evolution-data-server-3.44))))) - (define-public gfbgraph (package (name "gfbgraph") diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index d2ec53ac48..013e974dfa 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -165,14 +165,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "151bi13xx8dz5c9v33chp6ch5q8wmbxb9z7l37g4vqsdkgy0k7m8")))) + "1ix843yqhcl8d5gh5652pw2scx4p5n836ca80ymms5rl136lycnz")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 952d550892..f473527449 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -124,7 +124,7 @@ globalisation support for software applications. This package contains the C/C++ part.") (license x11) - (home-page "http://site.icu-project.org/"))) + (home-page "https://icu.unicode.org/"))) (define-public icu4c icu4c-73) @@ -164,41 +164,17 @@ C/C++ part.") (base32 "0gjg1zrnqk4vmidqgqx4xbz05898px212gnff8242is7zrmv9b6z")))))) -(define-public icu4c-70 +(define-public icu4c-77 (package (inherit icu4c) - (version "70.1") - (source (origin - (method url-fetch) - (uri (icu4c-uri version)) - (sha256 - (base32 - "1m9zgkaf5lyh65nyc6n0n5bs2f5k53nnj1ih6nskpwbvq4l5884d")))) - (arguments - (if (target-riscv64?) - (substitute-keyword-arguments (package-arguments icu4c) - ((#:phases phases) - #~(modify-phases #$phases - (replace 'disable-failing-test - ;; It is unknown why these tests are failing. - (lambda _ - (substitute* "source/test/cintltst/ucptrietest.c" - ((".*addTest.*") "")) - (substitute* "source/test/intltest/numbertest_api.cpp" - (("(TESTCASE_AUTO\\(unitUsage\\));" all) - (string-append "//" all)))))))) - (package-arguments icu4c))))) - -(define-public icu4c-69 - (package - (inherit icu4c) - (version "69.1") + (name "icu4c") + (version "77.1") (source (origin (method url-fetch) (uri (icu4c-uri version)) (sha256 (base32 - "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc")))))) + "0qa0yapkypywhzx8ai1p27125h9v1qy89f7v3w1kjz1jfwgl73jq")))))) (define-public icu4c-build-root (package diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index d1926c3426..097207a089 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -72,6 +72,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages lsof) #:use-module (gnu packages networking) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) #:use-module (gnu packages messaging) #:use-module (gnu packages multiprecision) @@ -271,6 +272,7 @@ Breeze is the default theme for the KDE Plasma desktop.") (build-system qt-build-system) (arguments (list #:qtbase qtbase + #:test-exclude "flatpaktest" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'remove-qmlmodule-required @@ -282,13 +284,12 @@ Breeze is the default theme for the KDE Plasma desktop.") (lambda _ (setenv "LDFLAGS" (string-append "-Wl,-rpath=" #$output "/lib/plasma-discover")))) - (replace 'check + (add-before 'check 'check-setup (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "XDG_DATA_DIRS" (string-append (getcwd) - ":" (getenv "XDG_DATA_DIRS"))) - (invoke "ctest" "-E" "knsbackendtest"))))))) + ":" (getenv "XDG_DATA_DIRS"))))))))) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list appstream-qt6 attica @@ -314,14 +315,17 @@ Breeze is the default theme for the KDE Plasma desktop.") kdeclarative kcmutils kidletime + libostree ; required by flatpak + markdown packagekit-qt6 purpose + qcoro-qt6 qt5compat qtdeclarative qtsvg + qtwebview qcoro-qt6)) ;; -- The following features have been disabled: - ;; * Ostree, Library to manage ostree repository. Required to build the rpm-ostree backend ;; * RpmOstree, rpm-ostree binary to manage the system. Required to build the rpm-ostree backend ;; ;; -- The following OPTIONAL packages have not been found: @@ -1955,7 +1959,8 @@ on QtMultimedia and @command{yt-dlp}.") kstatusnotifieritem qtdeclarative)) (propagated-inputs (list plasma-workspace)) - (arguments (list #:qtbase qtbase)) + (arguments (list #:tests? #f ; no tests + #:qtbase qtbase)) (home-page "https://invent.kde.org/plasma/plasma-browser-integration") (synopsis "Integrate browsers into the Plasma Desktop") (description @@ -3125,7 +3130,8 @@ of a Plasma shell.") plasma-workspace qtdeclarative qtwebengine)) - (arguments (list #:qtbase qtbase)) + (arguments (list #:qtbase qtbase + #:tests? #f)) ; no tests (synopsis "Control center to configure Plasma Desktop") (description "This package provides configuration UI for Plasma Desktop.") (home-page "https://invent.kde.org/plasma/systemsettings") diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 8e2db6861f..1a5881e912 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -893,7 +893,7 @@ commonly called @code{ftoa} or @code{dtoa}.") (define-public libreoffice (package (name "libreoffice") - (version "25.2.3.2") ;keep in sync with hunspell dictionaries + (version "25.2.5.2") ;keep in sync with hunspell dictionaries (source (origin (method url-fetch) @@ -906,7 +906,7 @@ commonly called @code{ftoa} or @code{dtoa}.") "https://downloadarchive.documentfoundation.org/libreoffice/old/" version "/src/libreoffice-" version ".tar.xz"))) (sha256 - (base32 "1pysqa31by4rhghnfyz8xbygqn6d6fjqm2py1apxkw3xa8g4cm7a")))) + (base32 "0fdkn9lf2q5d7kminsbcn1g2ih2ilaw2jnyarsns4jczch4v57wc")))) (build-system glib-or-gtk-build-system) (arguments (list diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8dc546ad69..9668e078a8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4258,7 +4258,10 @@ that the Ethernet protocol is much simpler than the IP protocol.") (string-append "HDRDIR=" out "/include") (string-append "SBINDIR=" out "/sbin") (string-append "CONFDIR=" out "/etc") - (string-append "MANDIR=" out "/share/man"))) + (string-append "MANDIR=" out "/share/man") + #$@(if (target-ppc64le?) + '("CCOPTS=-O2 -pipe -Wno-incompatible-pointer-types") + '()))) #:phases #~(modify-phases %standard-phases (replace 'configure diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index ff43859814..e6d456c8f6 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -357,25 +357,6 @@ library.") (modify-inputs (package-propagated-inputs spdlog-1.15) (replace "fmt" fmt-9))))) -(define-public spdlog-1.10 - (package - (inherit spdlog-1.15) - (version "1.10.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gabime/spdlog") - (commit (string-append "v" version)))) - (file-name (git-file-name "spdlog" version)) - (sha256 - (base32 "02xz017ba9fssm1rp1fcfld7h79awbr6fqai9dxaqp02akp3davk")) - (modules '((guix build utils))) - (snippet #~(delete-file-recursively "include/spdlog/fmt/bundled")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs spdlog-1.15) - (replace "fmt" fmt-8))))) - ;; Update when changing the pinned version of fmt. (define-public spdlog spdlog-1.13) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d5731926a9..9dcc4660d0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -113,6 +113,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages gdb) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) @@ -1228,6 +1229,12 @@ and corrections. It is based on a Bayesian filter.") #:tests? #f #:phases #~(modify-phases %standard-phases + ;; See: https://github.com/OfflineIMAP/offlineimap3/pull/205. + (add-after 'unpack 'fix-issue-205 + (lambda _ + (substitute* "offlineimap/localeval.py" + (("import importlib.util\n") + "import importlib.util\nimport importlib.machinery\n")))) (add-after 'build 'build-documentation (lambda _ (substitute* "docs/Makefile" @@ -4830,7 +4837,7 @@ on RFC 3501 and original @code{imaplib} module.") (define-public rspamd (package (name "rspamd") - (version "3.6") + (version "3.12.1") (source (origin (method git-fetch) @@ -4838,16 +4845,26 @@ on RFC 3501 and original @code{imaplib} module.") (url "https://github.com/rspamd/rspamd") (commit version))) (sha256 - (base32 "1ra18c3wczbdqrg9p69k04smjskjkdpxcfff9ff4yi7pmqjaxr8s")) + (base32 "0li75dqqy0irrvv2jddmll2adf15cywif982ijj034hldg9162bc")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DENABLE_LUAJIT=ON" - "-DLOCAL_CONFDIR=/etc/rspamd"))) + (list #:configure-flags #~(list "-DENABLE_LUAJIT=ON" + "-DLOCAL_CONFDIR=/etc/rspamd") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "run-test" + "-j" (number->string (parallel-job-count))))))))) (inputs (list file glib icu4c + libarchive + libbfd + libiberty libsodium luajit openssl diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm index 2e4fa08d5a..b17197a858 100644 --- a/gnu/packages/pantheon.scm +++ b/gnu/packages/pantheon.scm @@ -173,10 +173,10 @@ desktop.") (symlink bin link))))))) (inputs (list clutter - evolution-data-server-3.44 - folks-with-libsoup2 + evolution-data-server + folks geoclue - geocode-glib-with-libsoup2 + geocode-glib granite-6 glib gtk diff --git a/gnu/packages/patches/pcsxr-find-harfbuzz.patch b/gnu/packages/patches/pcsxr-find-harfbuzz.patch new file mode 100644 index 0000000000..69932d719e --- /dev/null +++ b/gnu/packages/patches/pcsxr-find-harfbuzz.patch @@ -0,0 +1,21 @@ +The .cmake files this project includes don't play well with harfbuzz's internal .cmake file. +This patch works around the issues present in the project's CMake configuration. + +diff --git a/cmake/FindPango.cmake b/cmake/FindPango.cmake +index 2a7da99d..c08fbaab 100644 +--- a/cmake/FindPango.cmake ++++ b/cmake/FindPango.cmake +@@ -74,6 +74,13 @@ foreach(pango_dep ${Pango_DEPS}) + set_property (TARGET "${Pango}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${${pango_dep}}") + endforeach(pango_dep) + ++if(NOT HARFBUZZ_INCLUDE_DIR) ++find_package(harfbuzz) ++endif() ++ ++list(APPEND Pango_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR}) ++set_property (TARGET "${Pango}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz") ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Pango + REQUIRED_VARS diff --git a/gnu/packages/patches/pcsxr-fix-definitions.patch b/gnu/packages/patches/pcsxr-fix-definitions.patch new file mode 100644 index 0000000000..8ec389ec09 --- /dev/null +++ b/gnu/packages/patches/pcsxr-fix-definitions.patch @@ -0,0 +1,137 @@ +There are a lot of global variable definitions that aren't valid on modern compilers. According to upstream's Dockerfile, +this project is meant to compile with GCC 6! So there are some declarations that need to be changed. + +diff --git a/gui/Linux.h b/gui/Linux.h +index 2a939050..99404d93 100644 +--- a/gui/Linux.h ++++ b/gui/Linux.h +@@ -44,8 +44,8 @@ + + extern gboolean UseGui; + extern int StatesC; +-char cfgfile[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ +-char cfgfile_basename[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ ++extern char cfgfile[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ ++extern char cfgfile_basename[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ + + int LoadConfig(); + void SaveConfig(); +diff --git a/gui/LnxMain.c b/gui/LnxMain.c +index d6dd9316..02002bc1 100644 +--- a/gui/LnxMain.c ++++ b/gui/LnxMain.c +@@ -49,6 +49,9 @@ enum { + + gboolean UseGui = TRUE; + ++char cfgfile[MAXPATHLEN] = {0}; ++char cfgfile_basename[MAXPATHLEN] = {0}; ++ + static void CreateMemcard(char *filename, char *conf_mcd) { + gchar *mcd; + struct stat buf; +diff --git a/plugins/bladesio1/sio1.c b/plugins/bladesio1/sio1.c +index 17ac4b65..c6fd585a 100644 +--- a/plugins/bladesio1/sio1.c ++++ b/plugins/bladesio1/sio1.c +@@ -55,8 +55,6 @@ static const unsigned char build = 1; + + static void (CALLBACK *irqCallback)(void) = 0; + +-Settings settings; +- + /* sio status flags. + */ + enum { +diff --git a/plugins/dfinput/pad.h b/plugins/dfinput/pad.h +index 8337fe7e..6d44851d 100644 +--- a/plugins/dfinput/pad.h ++++ b/plugins/dfinput/pad.h +@@ -151,7 +151,7 @@ typedef struct tagKeyDef { + enum { ANALOG_XP = 0, ANALOG_XM, ANALOG_YP, ANALOG_YM }; + + #if SDL_VERSION_ATLEAST(2,0,0) +-SDL_GameControllerButton controllerMap[DKEY_TOTAL]; ++extern SDL_GameControllerButton controllerMap[DKEY_TOTAL]; + #endif + + typedef struct tagPadDef { +diff --git a/plugins/dfnet/cfg.c b/plugins/dfnet/cfg.c +index 921efbe3..1057426a 100644 +--- a/plugins/dfnet/cfg.c ++++ b/plugins/dfnet/cfg.c +@@ -11,6 +11,8 @@ + + #include "dfnet.h" + ++Config conf; ++ + #define CFG_FILENAME "dfnet.cfg" + + void SaveConf() { +diff --git a/plugins/dfnet/dfnet.c b/plugins/dfnet/dfnet.c +index 6c6ec5f9..ddc92169 100644 +--- a/plugins/dfnet/dfnet.c ++++ b/plugins/dfnet/dfnet.c +@@ -24,6 +24,9 @@ const unsigned char build = 3; // increase that with each version + + static char *libraryName = N_("Socket Driver"); + ++fd_set rset; ++fd_set wset; ++ + unsigned long CALLBACK PSEgetLibType(void) { + return PSE_LT_NET; + } +diff --git a/plugins/dfnet/dfnet.h b/plugins/dfnet/dfnet.h +index 937814f5..e2699ad3 100644 +--- a/plugins/dfnet/dfnet.h ++++ b/plugins/dfnet/dfnet.h +@@ -56,7 +56,7 @@ __private_extern char* PLUGLOC(char* toloc); + + typedef void* HWND; + +-struct timeval tm; ++extern struct timeval tm; + + #define CALLBACK + +@@ -70,24 +70,24 @@ typedef struct { + char ipAddress[32]; + } Config; + +-Config conf; ++extern Config conf; + + void LoadConf(void); + void SaveConf(void); + +-int sock; +-char *PadSendData; +-char *PadRecvData; +-char PadSendSize; +-char PadRecvSize; +-char PadSize[2]; +-int PadCount; +-int PadCountMax; +-int PadInit; +-int Ping; +-volatile int WaitCancel; +-fd_set rset; +-fd_set wset; ++extern int sock; ++extern char *PadSendData; ++extern char *PadRecvData; ++extern char PadSendSize; ++extern char PadRecvSize; ++extern char PadSize[2]; ++extern int PadCount; ++extern int PadCountMax; ++extern int PadInit; ++extern int Ping; ++extern volatile int WaitCancel; ++extern fd_set rset; ++extern fd_set wset; + + long sockInit(void); + long sockShutdown(void); diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index cf6700543c..8bf5cb7459 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -185,7 +185,7 @@ it.") (define-public trealla (package (name "trealla") - (version "2.79.22") + (version "2.80.10") (source (origin (method git-fetch) @@ -194,7 +194,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "1fhk9lsj71a3l5j0dvn2qjmj85r2ixianjqlf5j5s4d7h08amm2y")) + (base32 "1m4qm5ymjb2579kwsz9hzclpvh7im3f2vz5fg7828r2ap1dlfwlr")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e24cd2288f..e7b3b98c96 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -885,6 +885,24 @@ comparison operators, as defined in the original processes, in parallel, in the console, with an interactive TUI.") (license license:expat))) +(define-public python-orderly-set + (package + (name "python-orderly-set") + (version "5.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "orderly_set" version)) + (sha256 + (base32 "1kp64m0nabhhb0zxr4f8idrmniraahnfwq41gx7adbyqwk48awg8")))) + (build-system pyproject-build-system) + (native-inputs (list python-flit-core python-pytest)) + (home-page "https://github.com/seperman/orderly-set") + (synopsis "Multiple implementations of Ordered Set") + (description "Orderly Set is a package containing multiple implementations +of Ordered Set.") + (license license:expat))) + (define-public python-pastel (package (name "python-pastel") @@ -931,6 +949,42 @@ your terminal.") edit distance algorithm for Python in Cython for high performance.") (license license:bsd-3))) +(define-public python-safety-schemas + (package + (name "python-safety-schemas") + (version "0.0.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "safety_schemas" version)) + (sha256 + (base32 "0smgszbd3nb7jh61cgpycqhcvfwwdyaai5amw8mmf6g9b5x3z5a9")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" (string-join + ;; These tests are failing for unknown reasons. + ;; (AssertionError). + (list "not test_model[ConfigModel-ConfigModel]" + "test_model[MetadataModel-MetadataModel]" + "test_model[PolicyFileModel-PolicyFileModel]" + "test_model[ProjectModel-ProjectModel]" + "test_model[ReportModel-ReportModel]") + " and not ")))) + (propagated-inputs (list python-dparse + python-packaging + python-pydantic-2 + python-ruamel.yaml + python-typing-extensions)) + (native-inputs (list python-deepdiff python-hatchling python-pytest)) + ;; Source code is not yet published outside of PyPI: + ;; https://github.com/pyupio/safety/issues/494 + (home-page "https://pypi.org/project/safety-schemas/") + (synopsis "Schemas for Safety tools") + (description "This package contains models and schemas used by Safety.") + (license license:expat))) + (define-public python-senf (package (name "python-senf") @@ -23131,23 +23185,16 @@ implementation has been adapted, improved, and fixed from Molten.") (define-public python-shellingham (package (name "python-shellingham") - (version "1.5.1") + (version "1.5.4") (source (origin (method url-fetch) (uri (pypi-uri "shellingham" version)) (sha256 - (base32 "0iawv24xx6vhwbhqlxyyg901f8pf6abqyfg0711v1bvlipx83g21")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "-m" "pytest" "-v"))))))) + (base32 "1ph46hv920ha9clwxgrllbrphh0ww4v4pjmkbb9mnzj8kmrs1g4d")))) + (build-system pyproject-build-system) (native-inputs - (list python-pytest python-pytest-mock)) + (list python-pytest python-pytest-mock python-setuptools python-wheel)) (home-page "https://github.com/sarugaku/shellingham") (synopsis "Tool to detect surrounding shell") (description @@ -24695,28 +24742,28 @@ JSON) codec.") (define-public python-nltk (package (name "python-nltk") - (version "3.6.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "nltk" version ".zip")) - (sha256 - (base32 - "1sq32lwgij9h8rsksymnxxr7bqfw3vgx5ijw4azbj6k2xnmmdmap")))) - (build-system python-build-system) + (version "3.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nltk" version)) + (sha256 + (base32 "0s78gayd45vl1wvpa0a44ydij6ybb7xfar8jz2j8kgg47nyjglc7")))) + (build-system pyproject-build-system) (arguments - '(;; The tests require some extra resources to be downloaded. - ;; TODO Try packaging these resources. - #:tests? #f)) - (propagated-inputs - (list python-click python-joblib python-regex python-tqdm)) - (native-inputs - (list unzip)) - (home-page "http://nltk.org/") + ;; Tests require some extra resources to be downloaded. + ;; TODO Try packaging these resources. + '(#:tests? #f)) + (propagated-inputs (list python-click python-joblib python-regex + python-tqdm)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://www.nltk.org/") (synopsis "Natural Language Toolkit") - (description "It provides interfaces to over 50 corpora and lexical - resources such as WordNet, along with a suite of text processing libraries - for classification, tokenization, stemming, tagging, parsing, and semantic - reasoning, wrappers for natural language processing libraries.") + (description + "NLTK provides interfaces to over 50 corpora and lexical resources such as +WordNet, along with a suite of text processing libraries for classification, +tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for +natural language processing libraries.") (license license:asl2.0))) (define-public python-pymongo @@ -28647,35 +28694,21 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style (define-public python-typer (package (name "python-typer") - (version "0.6.1") + (version "0.16.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/tiangolo/typer") + (url "https://github.com/fastapi/typer") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1knv353qhkl2imav3jfp6bgq47m8wkkqhq1dzmqg2sv8rsy7zgl7")))) + (base32 "1axd3840b2vipfp9l36cnh5ipbsladizmjadgsnpnk502qily7sq")))) (build-system pyproject-build-system) (arguments (list - #:test-flags - '(let ((disabled-tests (list "test_show_completion" - "test_install_completion"))) - (list "-k" (string-append "not " - (string-join disabled-tests - " and not ")))) #:phases #~(modify-phases %standard-phases - ;; Unfortunately, this doesn't seem to be enough to fix these two - ;; tests, but we'll patch this anyway. - (add-after 'unpack 'patch-shell-reference - (lambda _ - (substitute* "tests/test_completion/test_completion.py" - (("\"bash\"") (string-append "\"" (which "bash") "\"")) - (("\"/bin/bash\"") - (string-append "\"" (which "bash") "\""))))) (add-before 'check 'pre-check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -28683,12 +28716,14 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style ;; This is for completion tests (with-output-to-file "/tmp/.bashrc" (lambda _ (display "# dummy"))))))))) - (propagated-inputs - (list python-click)) - (native-inputs - (list python-coverage python-flit python-pytest python-rich - python-shellingham)) - (home-page "https://github.com/tiangolo/typer") + (propagated-inputs (list python-click + python-rich + python-shellingham + python-typing-extensions)) + (native-inputs (list python-coverage ; this is required in tests + python-pdm-backend + python-pytest)) + (home-page "https://github.com/fastapi/typer") (synopsis "Typer builds CLI based on Python type hints") (description "Typer is a library for building CLI applications. It's based on Python @@ -34286,19 +34321,16 @@ dates in almost any string formats commonly found on web pages.") (define-public python-dparse (package (name "python-dparse") - (version "0.5.1") + (version "0.6.4") (source - (origin - (method url-fetch) - (uri (pypi-uri "dparse" version)) - (sha256 - (base32 - "0rzkg3nymsbwdjc0ms2bsajkda02jipwyp3xk97qj71f21lz3dd1")))) - (build-system python-build-system) - (native-inputs - (list python-pytest)) - (propagated-inputs - (list python-packaging python-pyyaml python-toml)) + (origin + (method url-fetch) + (uri (pypi-uri "dparse" version)) + (sha256 + (base32 "06i069hij4i53hikrsv332h2ibwfchr42b68hii6rhzdwcwrrclh")))) + (build-system pyproject-build-system) + (native-inputs (list python-hatchling python-pytest)) + (propagated-inputs (list python-packaging python-toml)) (home-page "https://github.com/pyupio/dparse") (synopsis "Parser for Python dependency files") (description "This package provides a parser for Python dependency files.") @@ -34333,31 +34365,55 @@ facility for filtering those results.") (define-public python-safety (package (name "python-safety") - (version "1.9.0") + (version "3.6.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "safety" version)) - (sha256 - (base32 - "1j801xsxfzavjbzhhc934awvnk1b7jc0qsw3jp3ys0241mlj1gr3")))) - (build-system python-build-system) + (origin + (method url-fetch) + (uri (pypi-uri "safety" version)) + (sha256 + (base32 "1qzplv044yfr8w41h0qmjc8lj2admk029azsqbax70wzd4kzh858")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-tests - (lambda _ - (substitute* "tests/test_safety.py" - ;; requires network - (("def test_check_live") "def _test_check_live")) - #t))))) - (propagated-inputs - (list python-click python-dparse python-packaging python-requests)) + (list + #:test-flags + #~(list "-k" (string-join + ;; test_announcements fails with AssertionError. + (list "not test_announcements_if_is_not_tty" + ;; Tests below need a network connection. + "test_check_live" + "test_check_live_cached" + "test_get_packages_licenses_without_api_key") + " and not ")) + #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-home ; some tests run mkdir + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs (list nss-certs-for-test python-hatchling python-pytest)) + (propagated-inputs (list python-authlib + python-click + python-dparse + python-filelock + python-httpx + python-jinja2 + python-marshmallow + python-nltk + python-packaging + python-psutil + python-pydantic-2 + python-requests + python-ruamel.yaml + python-safety-schemas + python-tenacity + python-tomli + python-tomlkit + python-typer + python-typing-extensions)) (home-page "https://github.com/pyupio/safety") (synopsis "Check installed dependencies for known vulnerabilities") - (description "Safety checks installed dependencies for known vulnerabilities. + (description + "Safety checks installed dependencies for known vulnerabilities. By default it uses the open Python vulnerability database Safety DB.") - (license license:expat))) + (license license:expat))) (define-public python-pypandoc (package @@ -38807,26 +38863,31 @@ object, which can be useful if you want to force your objects into a table.") (define-public python-deepdiff (package (name "python-deepdiff") - (version "6.3.0") + (version "8.5.0") (source (origin (method url-fetch) (uri (pypi-uri "deepdiff" version)) (sha256 (base32 - "0i5nnb3nppi2vgbhiakpxiagyhx7l1f50hzcl8fcgica4bkz2fva")))) + "1l8wvirgif61cqwsqzd3kf8slzlrjnffmqxnrfwxak4dz8lkbpd4")))) (build-system pyproject-build-system) - (propagated-inputs (list python-ordered-set)) + (arguments + ;; Ignore Polars test (not packaged). + (list #:test-flags #~(list "-k" "not test_polars"))) + (propagated-inputs (list python-click ; for CLI + python-pyyaml ; for CLI + python-orderly-set + python-orjson)) ; for optimization (native-inputs - (list python-click - python-dateutil + (list python-flit-core python-jsonpickle - python-mock python-numpy + python-pandas + python-pydantic-2 python-pytest - python-pyyaml - python-setuptools - python-wheel - python-toml)) + python-pytest-benchmark + python-pytz + python-tomli-w)) (home-page "https://github.com/seperman/deepdiff") (synopsis "Deep difference and search of any Python object/data") (description diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index cd320dcf81..b65ac28b06 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -46,7 +46,7 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/llvm-project.git") + (url "https://github.com/ROCm/llvm-project/") (commit (string-append "rocm-" %rocm-version)))) (file-name (git-file-name "llvm-for-rocm" %rocm-version)) (sha256 @@ -60,7 +60,7 @@ (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/rocm-cmake.git") + (url "https://github.com/ROCm/rocm-cmake/") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 @@ -69,7 +69,7 @@ (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) - (home-page "https://github.com/ROCm/rocm-cmake") + (home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/") (synopsis "ROCm cmake modules") (description "ROCm cmake modules provides cmake modules for common build tasks needed for the ROCM software stack.") @@ -82,17 +82,19 @@ tasks needed for the ROCM software stack.") (source %rocm-llvm-origin) (build-system cmake-build-system) (arguments - `(#:build-type "Release" - #:configure-flags - (list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "amd/device-libs")))))) + (list + #:tests? #f ; Not sure how to run them. + #:build-type "Release" + #:configure-flags + #~(list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "amd/device-libs")))))) (inputs (list llvm-for-rocm)) - (home-page "https://github.com/ROCm/ROCm-Device-Libs") + (home-page "https://github.com/ROCm/llvm-project/") (synopsis "ROCm Device libraries") (description "AMD-specific device-side language runtime libraries, namely oclc, ocml, ockl, opencl, hip and hc.") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index aec39961d9..ae7cf5fb27 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -105,152 +105,116 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) -(define (mit-scheme-source-directory system version) - (string-append "mit-scheme-" - (if (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system)) - "" - "c-") - version)) - (define-public mit-scheme (package (name "mit-scheme") - (version "11.2") - (source #f) ; see below + (version "12.1") + (source #f) ; See below. (outputs '("out" "doc")) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda* (#:key inputs #:allow-other-keys) - (invoke "tar" "xzvf" - (assoc-ref inputs "source")) - (chdir ,(mit-scheme-source-directory (%current-system) - version)) - ;; Delete these dangling symlinks since they break - ;; `patch-shebangs'. - (for-each delete-file - (find-files "src/compiler" "^make\\.")) - (chdir "src") - #t)) - (add-after 'unpack 'patch-/bin/sh - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - (substitute* '("../tests/ffi/autogen.sh" - "../tests/ffi/autobuild.sh" - "../tests/ffi/test-ffi.sh" - "../tests/runtime/test-process.scm" - "runtime/unxprm.scm") - (("/bin/sh") (which "sh")) - (("\\./autogen\\.sh") - (string-append (which "sh") " autogen.sh")) - (("\\./configure") - (string-append (which "sh") " configure"))) - #t)) - ;; disable array-parameter warnings that become errors while - ;; compiling microcode target - (add-before 'configure 'set-flags - (lambda* (#:key inputs #:allow-other-keys) - (setenv "CFLAGS" "-Wno-array-parameter") - (setenv "CPPFLAGS" "-Wno-array-parameter"))) - (replace 'build - (lambda* (#:key system outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (if (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system)) - (invoke "make" "compile-microcode") - (invoke "./etc/make-liarc.sh" - (string-append "--prefix=" out))) - #t))) - (add-after 'configure 'configure-doc - (lambda* (#:key outputs inputs #:allow-other-keys) - (with-directory-excursion "../doc" - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (bin/sh (string-append bash "/bin/sh"))) - (invoke bin/sh "./configure" - (string-append "--prefix=" out) - (string-append "SHELL=" bin/sh)) - #t)))) - (add-after 'build 'build-doc - (lambda* _ - (with-directory-excursion "../doc" - (invoke "make")) - #t)) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (old-doc-dir (string-append out "/share/doc")) - (new-doc/mit-scheme-dir - (string-append doc "/share/doc/" ,name "-" ,version))) - (with-directory-excursion "../doc" - (for-each (lambda (target) - (invoke "make" target)) - '("install-info-gz" "install-man" - "install-html" "install-pdf"))) - (mkdir-p new-doc/mit-scheme-dir) - (copy-recursively - (string-append old-doc-dir "/" ,name) - new-doc/mit-scheme-dir) - (delete-file-recursively old-doc-dir) - #t)))))) + (list + ;; XXX: Some makefile dependencies are probably wrong, leading to + ;; missing files when building in parallel. + #:parallel-build? #f + #:make-flags #~(list "compile-microcode") + #:phases + #~(modify-phases %standard-phases + ;; MIT/GNU Scheme is not bootstrappable, so it's recommended to + ;; compile from the architecture-specific tarballs, which contain + ;; pre-built binaries. It leads to more efficient code than when + ;; building the tarball that contains generated C code instead of + ;; those binaries. + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + ((assoc-ref %standard-phases 'unpack) + #:inputs inputs + #:source + #+(origin + (method url-fetch) + (uri + (string-append + "mirror://gnu/mit-scheme/stable.pkg/" version + "/mit-scheme-" + (cond + ((target-x86-64?) + (string-append version "-x86-64")) + ((target-aarch64?) + (string-append version "-aarch64le")) + (else + ;; XXX: According to the manual, it should exist, but + ;; seems dropped/forgotten starting from version 10.1. + (string-append "c-" version))) + ".tar.gz")) + (sha256 + (cond + ((target-x86-64?) + (base32 + "035f92vni0vqmgj9hq2i7vwasz7crx52wll4823vhfkm1qdv5ywc")) + ((target-aarch64?) + (base32 + "12ra9bc93x8g07impbd8jr6djjzwpb9qvh9zhxvvrba3332zx3vh")) + (else + (base32 "\ +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))))) + (chdir "src"))) + (add-after 'unpack 'patch-/bin/sh + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((sh (search-input-file (or native-inputs inputs) + "bin/sh"))) + (setenv "CONFIG_SHELL" sh) + (substitute* '("../tests/ffi/autogen.sh" + "../tests/ffi/autobuild.sh" + "../tests/ffi/test-ffi.sh" + "../tests/runtime/test-process.scm" + "runtime/unxprm.scm") + (("/bin/sh") + sh) + (("\\./autogen\\.sh") + (string-append sh " autogen.sh")) + (("\\./configure") + (string-append sh " configure")))))) + (add-after 'configure 'configure-doc + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (with-directory-excursion "../doc" + (let* ((sh (search-input-file (or native-inputs inputs) + "bin/sh"))) + (mkdir-p #$output:doc) + (invoke sh "./configure" + (string-append "SHELL=" sh) + (string-append "--prefix=" #$output:doc) + (string-append "--docdir=" #$output:doc + "/share/doc/" #$name "-" #$version)))))) + (add-after 'build 'build-doc + (lambda _ + (with-directory-excursion "../doc" + (invoke "make" "install")))) + (add-after 'install 'fixup-install + (lambda _ + (let ((share (string-append #$output "/share")) + (dest (string-append #$output:doc "/share/info/"))) + (for-each + (lambda (file) (install-file file dest)) + (find-files share "\\.info\\.gz$")) + (delete-file-recursively share)))) + (add-before 'check 'disable-slow-tests + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (setenv "FAST" "y") + (setenv "SHELL" (search-input-file (or native-inputs inputs) + "bin/sh"))))))) (native-inputs - `(;; Autoconf, Automake, and Libtool are necessary for the FFI tests. - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("texlive" ,(texlive-local-tree - (list texlive-epsf - texlive-texinfo))) - ("texinfo" ,texinfo) - ("ghostscript" ,ghostscript) - ("m4" ,m4))) - (inputs - `(("libx11" ,libx11) - ("ncurses" ,ncurses) - - ("source" - - ;; MIT/GNU Scheme is not bootstrappable, so it's recommended to - ;; compile from the architecture-specific tarballs, which contain - ;; pre-built binaries. It leads to more efficient code than when - ;; building the tarball that contains generated C code instead of - ;; those binaries. - ,(origin - (method url-fetch) - (uri (string-append "mirror://gnu/mit-scheme/stable.pkg/" - version "/mit-scheme-" - (match (%current-system) - ("x86_64-linux" - (string-append version "-x86-64")) - ("aarch64-linux" - (string-append version "-aarch64le")) - (_ - (string-append "c-" version))) - ".tar.gz")) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "17822hs9y07vcviv2af17p3va7qh79dird49nj50bwi9rz64ia3w")) - ("aarch64-linux" - (base32 - "11maixldk20wqb5js5p4imq221zz9nf27649v9pqkdf8fv7rnrs9")) - (_ - (base32 - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))))))) - - ;; Fails to build on MIPS, see <http://bugs.gnu.org/18221>. - ;; Also, the portable C version of MIT/GNU Scheme did not work in time for - ;; release in version 10.1. - (supported-systems '("x86_64-linux" "i686-linux")) - + ;; XXX: Autoconf, Automake, and Libtool are necessary for the FFI tests. + (list bash-minimal + autoconf + automake + libtool + (texlive-local-tree (list texlive-epsf texlive-texinfo)) + texinfo + ghostscript + m4)) + (inputs (list libx11 ncurses)) + ;; XXX: Fails to build on MIPS, see <http://bugs.gnu.org/18221>. + (supported-systems '("x86_64-linux" "aarch64-linux")) (home-page "https://www.gnu.org/software/mit-scheme/") (synopsis "Scheme implementation with integrated editor and debugger") (description diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index e1c69ceb60..baf526b4fe 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -959,7 +959,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (define-public mg (package (name "mg") - (version "20240709") + (version "20250523") (source (origin (method git-fetch) (uri (git-reference @@ -968,7 +968,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (file-name (git-file-name name version)) (sha256 (base32 - "02q3976glcih0icqvfz2fxrc723si57q080ba4ali5hw4wwggnk4")) + "1a08jvljmysangmwzv9ga84iy0s7afr7vb1gabivrxagkb5j70f5")) (modules '((guix build utils))) (snippet '(begin (substitute* "GNUmakefile" diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cbdb31e3fe..ab4c76a11a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -72,6 +72,7 @@ ;;; Copyright © 2024 aurtzy <aurtzy@gmail.com> ;;; Copyright © 2025 Formbi <formbi@protonmail.com> ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.ccom> +;;; Copyright © 2025 VnPower <vnpower@loang.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3016,6 +3017,31 @@ To load this plugin, specify the following option when starting mpv: @file{$HOME/.config/mpv/scripts}.") (license license:expat))) +(define-public mpvpaper + (package + (name "mpvpaper") + (version "1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/GhostNaN/mpvpaper") + (commit version))) + (sha256 + (base32 "0pzc6f5r85qd0dgp6aa6pp8ba2m7ghzd3pc4xnqnarh2bx55jf95")) + (file-name (git-file-name name version)))) + (build-system meson-build-system) + (inputs + (list mpv libdisplay-info wlroots)) + (native-inputs + (list pkg-config cmake-minimal)) + (home-page "https://github.com/GhostNaN/mpvpaper") + (synopsis + "Video wallpaper program for wlroots-based wayland compositors") + (description "The mpvpaper package provides a wallpaper program for +wlroots-based wayland compositors, allowing you to play videos as your +wallpaper using mpv.") + (license license:gpl3))) + (define-public libvpx (package (name "libvpx") @@ -3231,7 +3257,7 @@ YouTube.com and many more sites.") (define-public yt-dlp (package (name "yt-dlp") - (version "2025.06.30") + (version "2025.07.21") (source (origin (method git-fetch) @@ -3243,7 +3269,7 @@ YouTube.com and many more sites.") (snippet '(substitute* "pyproject.toml" (("^.*Programming Language :: Python :: 3\\.13.*$") ""))) (sha256 - (base32 "14pk2rk5vm9469ghkvciaz74fihbl8dfi27qj6xnxv71hpm5w03p")))) + (base32 "051y9pb2imdrpi065d9l2xfmd68l22ahbz90z81yqv7kv84j9mal")))) (build-system pyproject-build-system) (arguments `(#:tests? ,(not (%current-target-system)) @@ -3277,7 +3303,17 @@ YouTube.com and many more sites.") (replace 'check (lambda* (#:key tests? test-flags #:allow-other-keys) (when tests? - (apply invoke "pytest" "-k" "not download" test-flags))))))) + (apply invoke "pytest" + "-k" + (string-append + "not download" + ;; TestHTTPRequestHandler tests are disabled due to + ;; https://github.com/yt-dlp/yt-dlp/issues/13927 + " and not " + "test_incompleteread" + " and not " + "test_partial_read_then_full_read") + test-flags))))))) (inputs (list ffmpeg python-brotli python-certifi python-mutagen @@ -5914,7 +5950,7 @@ It counts more than 100 plugins.") (define-public motion (package (name "motion") - (version "4.5.1") + (version "4.7.0") (home-page "https://motion-project.github.io/") (source (origin (method git-fetch) @@ -5923,7 +5959,7 @@ It counts more than 100 plugins.") (commit (string-append "release-" version)))) (sha256 (base32 - "09j919bba75d05rkqpib5rcmn1ff5nvn4ss8yy4fi6iz0lnacffx")) + "1pwsl1v0aqh5k5608siy0614lyf5bscy9a47ha8i5vqsbqxy4s3c")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 143c884198..0b9a07d271 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -169,6 +169,8 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages wget) + #:use-module (gnu packages vnc) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -2659,28 +2661,54 @@ by default and can be made read-only.") (define-public bochs (package (name "bochs") - (version "2.8") - (source - (origin - (method url-fetch) - (uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/" - version "/bochs-" version ".tar.gz")) - (sha256 - (base32 "0n80v8wjd9i3rhc51sq7n7xw2paz7g1scsrmkxx1yhfqyypi6nx8")))) + (version "3.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/bochs/bochs/" version + "/bochs-" version ".tar.gz")) + (sha256 + (base32 + "1al1fx8dbb0ny7a4wbngnz8pqav0nl6rhakb434jqnpka4mm8vyb")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; no tests exist - (inputs - (list libxrandr)) - (home-page "https://bochs.sourceforge.net/") - (synopsis "Emulator for x86 PC") - (description - "Bochs is an emulator which can emulate Intel x86 CPU, common I/O -devices, and a custom BIOS. It can also be compiled to emulate many different -x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors. -Bochs can run most Operating Systems inside the emulation including Linux, -DOS or Microsoft Windows.") - (license license:lgpl2.0+))) + (list #:tests? #f ;no test suite + #:configure-flags + ;; Enable support for more modern machine emulation not enabled by + ;; default. + #~(list "--enable-x86-64" + "--enable-smp" + "--enable-all-optimizations" + "--enable-readline" + "--enable-avx" + "--enable-evex" + "--enable-amx" + "--enable-vmx=2" + "--enable-svm" + "--enable-protection-keys" + "--enable-cet" + "--enable-es1370" + "--enable-sb16" + "--enable-uintr" + "--enable-3dnow" + "--enable-usb" + "--enable-usb-ohci" + "--enable-usb-ehci" + "--enable-usb-xhci" + "--enable-pnic" + "--enable-e1000" + "--enable-using-libslirp" + "--with-vncsrv"))) + (native-inputs (list pkg-config)) + (inputs (list libslirp libx11 libvnc readline wxwidgets)) + (home-page "https://bochs.sourceforge.io/") + (synopsis "IA-32 (x86) PC emulator") + (description "Bochs is a highly portable IA-32 (x86) PC emulator written +in C++. It includes emulation of the Intel x86 CPU, common I/O devices, and a +custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from +early 386 to the most recent x86-64 Intel and AMD processors. Bochs is +capable of running most operating systems inside the emulation including +GNU/Linux, DOS or Microsoft Windows.") + (license license:lgpl2.1+))) (define-public xen (package diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index c7883d1bbc..e260a17437 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -1,5 +1,4 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> @@ -174,235 +173,6 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.") (license license:gpl2+))) -(define-public tigervnc-client - (package - (name "tigervnc-client") - (version "1.14.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/TigerVNC/tigervnc") - (commit (string-append "v" version)))) - (sha256 - (base32 "1n6slj7i93gvf0ji4mb3azycv3c4wqzfd7zlx9260b79jv8jvsln")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments - '(#:tests? #f ; tests that do exists are not automated - #:phases (modify-phases %standard-phases - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion "vncviewer" - (invoke "make" "install"))))))) - (native-inputs - (list autoconf gettext-minimal automake)) - (inputs - (list zlib - gnutls - libjpeg-turbo - ;;ffmpeg ;TODO: add this for h264 encoding - fltk-1.3 - linux-pam - libx11 - libxext - libxtst - libxrandr - libxdamage - pixman)) - (home-page "https://tigervnc.org/") - (synopsis "High-performance VNC remote desktop client") - (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} -client and server. @dfn{VNC} is a remote display system that lets you view and -interact with a virtual desktop environment running on another computer on the -network. Client and server may be running on different operating systems and -architectures. - -TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use -of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video -applications. It also provides extensions for advanced authentication methods -and @acronym{TLS, Transport-Level Security} encryption. - -This package installs only the VNC client (@command{vncviewer}), the application -used to connect to VNC servers such as the tigervnc-server package.") - (license license:gpl2))) - -(define %tigervnc-client-source (package-source tigervnc-client)) - -;; A VNC server is, in fact, an X server so it seems like a good idea to build -;; on the work already done for xorg-server package. This is not entirely -;; compatible with the recommendation in BUILDING.txt where the client is -;; built first, then the source code of the X server is copied into a subdir -;; of the build directory, patched with VNC additions and then build and -;; installed as Xvnc. The procedure was turned around, where TigerVNC code is -;; downloaded and built inside the Guix X server build dir. Also, the VNC -;; patching process for the X server is automated in a straightforward manner. -(define-public tigervnc-server - (package - (inherit xorg-server) - (name "tigervnc-server") - (version (package-version tigervnc-client)) - (source - (origin - (inherit (package-source xorg-server)) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Copy the VNC extension into the xorg-server sources. - (copy-recursively #$(file-append %tigervnc-client-source - "/unix/xserver") - ".") - ;; Include a full copy of tigervnc-client sources, so that the - ;; complete sources involved are available and can be edited during - ;; the build. - (copy-recursively #$%tigervnc-client-source "tigervnc-client") - ;; Adjust the VNC extension build system files so that it refers - ;; to it. - (substitute* "hw/vnc/Makefile.am" - (("(TIGERVNC_SRCDIR=).*" _ head) - (string-append head "$(CURDIR)/../../tigervnc-client\n")) - (("(TIGERVNC_BUILDDIR=).*" _ head) - (string-append head - "$(CURDIR)/../../tigervnc-client/build\n"))) - ;; Ensure the Autotools build system gets re-bootstrapped. - (delete-file "configure"))) - ;; Patch the xorg-server build system so that it builds the VNC - ;; extension. - (patches (cons (file-append %tigervnc-client-source - "/unix/xserver21.patch") - (origin-patches (package-source xorg-server)))) - (file-name (string-append name "-" version ".tar.xz")))) - (arguments - (substitute-keyword-arguments - (package-arguments xorg-server) - ((#:tests? #f #f) - #f) - ((#:configure-flags flags) - #~(cons* "--with-pic" ; taken from BUILDING.txt - "--without-dtrace" - "--disable-static" - "--disable-dri2" - "--disable-xinerama" - "--disable-xvfb" - "--disable-xnest" - "--disable-xorg" - "--disable-dmx" - "--disable-xwin" - "--disable-xephyr" - "--disable-kdrive" - "--disable-config-hal" - "--disable-config-udev" - "--disable-dri2" - "--enable-glx" - (delete "--enable-xephyr" #$flags))) - ((#:modules modules) - `(append '((ice-9 ftw) - (ice-9 match) - (guix build utils) - (guix build gnu-build-system)) - modules)) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'unpack 'adjust-pam-config - (lambda _ - (substitute* "tigervnc-client/unix/vncserver/tigervnc.pam" - (("pam_systemd.so") - "pam_elogind.so")))) - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "tigervnc-client/unix/vncserver/vncserver.in" - (("`mcookie`") - (format #f "`~a`" (search-input-file inputs "bin/mcookie"))) - ;; Adjust the places where the vncserver script looks for - ;; X11 fonts. - (("'/usr/share/X11/fonts'" all) - (format #f "'~a', '~a', ~a" - "/run/current-system/profile/share/fonts/X11" - (string-append #$(this-package-input "font-alias") - "share/fonts/X11") - all)) - ;; Adjust the location where .desktop files will be saved. - (("/usr/share/xsessions") - "/run/current-system/profile/share/xsessions") - ;; Do not require a system-provided Xsession shell script. - ;; Guix System has none, causing the for loop to iterate - ;; over an empty list. - (("\"/etc/X11/xinit/Xsession\", \"/etc/X11/Xsession\"") - "()") - (("if \\(not defined \\$Xsession)") - "if (0)") - (("@cmd, \\$Xsession,") - "@cmd,")))) - (add-before 'build 'build-tigervnc - (lambda* (#:key parallel-build? #:allow-other-keys) - (mkdir-p "tigervnc-client/build") - (with-directory-excursion "tigervnc-client/build" - (invoke "cmake" "-G" "Unix Makefiles" - (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) - "..") - (invoke "make" "-j" (number->string (if parallel-build? - (parallel-job-count) - 1)))))) - (replace 'build - (lambda* (#:key parallel-build? #:allow-other-keys) - (invoke "make" "-j" (number->string (if parallel-build? - (parallel-job-count) - 1))))) - (add-before 'install 'install-tigervnc-aux - (lambda _ - (invoke "make" "-C" "tigervnc-client/build/unix" "install"))) - (replace 'install - (lambda _ - (invoke "make" "install"))) - (add-after 'install 'wrap-vncserver - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-script (search-input-file outputs "libexec/vncserver") - (list "PATH" 'prefix - (map (lambda (p) - (dirname (search-input-file inputs p))) - '("bin/uname" - "bin/xauth" - "bin/xinit")))))))))) - (native-inputs - (modify-inputs (append (package-native-inputs xorg-server) - (package-native-inputs tigervnc-client)) - (append %tigervnc-client-source - autoconf - automake - libtool - gettext-minimal - font-util - cmake-minimal - perl))) - (inputs - (modify-inputs (append (package-inputs xorg-server) - (package-inputs tigervnc-client)) - (prepend coreutils - font-alias - guile-3.0 - perl - util-linux - xauth - xinit))) - (propagated-inputs - (modify-inputs (package-propagated-inputs xorg-server) - (prepend xauth))) - (synopsis "High-performance VNC remote desktop server based on Xorg") - (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} -client and server. @dfn{VNC} is a remote display system that lets you view and -interact with a virtual desktop environment running on another computer on the -network. Client and server may be running on different operating systems and -architectures. - -TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use -of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video -applications. It also provides extensions for advanced authentication methods -and @acronym{TLS, Transport-Level Security} encryption. - -This package installs the VNC server. Permitted users can log into a graphical -session on the machine where the server is running, using a VNC client such as -the tigervnc-client package."))) - (define-public turbovnc (package (name "turbovnc") diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 58a4c758a4..e511423525 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2022 Lu hui <luhux76@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech> -;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2022, 2025 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2024 Allan Adair <allan@adair.no> ;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; @@ -811,7 +811,7 @@ others.") python-attrs python-colorama python-keyring - python-lxml + python-lxml-4.9 python-prompt-toolkit python-requests python-pyqt diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 947fb6f800..8c1f887a29 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -9694,6 +9694,7 @@ It contains the code shared by all Kiwix ports.") (build-system qt-build-system) (arguments (list + #:qtbase qtbase #:tests? #f ; no tests #:modules '((guix build qt-build-system) ((guix build gnu-build-system) #:prefix gnu:) @@ -9715,17 +9716,17 @@ It contains the code shared by all Kiwix ports.") libmicrohttpd libzim pugixml - qtbase-5 - qtdeclarative-5 - qtwebchannel-5 - qtwebengine-5 - qtwayland-5 + qtbase + qtdeclarative + qtwebchannel + qtwebengine + qtwayland xapian zlib `(,zstd "lib"))) (native-inputs (list pkg-config - qtbase-5)) + qtbase)) (home-page "https://wiki.kiwix.org/wiki/Software") (synopsis "Viewer and manager of ZIM files") (description "Kiwix Desktop allows you to enjoy a lot of different content diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 92f86c25f8..80adb463ec 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2327,7 +2327,7 @@ corners, shadows, inactive window dimming, etc.") (define-public swaylock (package (name "swaylock") - (version "1.8.0") + (version "1.8.3") (source (origin (method git-fetch) @@ -2336,7 +2336,7 @@ corners, shadows, inactive window dimming, etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1n4m5nk2jj4f0p11760zdd51ncsb469d06hm0f5487v01p3igq6p")))) + (base32 "01zwlfpf3s8wd8gl2sjfch1z66mqx9n2plgbdang7plqc3r01474")))) (build-system meson-build-system) (inputs (append (if (%current-target-system) (list wayland-protocols) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d1678fa2f8..4de513599d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,17 +14,18 @@ ;;; Copyright © 2017-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022, 2024 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018, 2020, 2022 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com> ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> @@ -65,6 +66,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) @@ -81,11 +83,13 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages cups) #:use-module (gnu packages compression) #:use-module (gnu packages digest) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) + #:use-module (gnu packages fltk) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -95,6 +99,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-check) @@ -108,6 +113,7 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nettle) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) @@ -121,7 +127,9 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages spice) + #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages vnc) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg)) @@ -5363,6 +5371,250 @@ draggable titlebars and borders.") (package (inherit xorg-server)))) +;;; XXX: Not really at home, but unless we break the inheritance between +;;; tigervnc-server and xorg-server, it must live here to avoid cyclic module +;;; dependencies. +(define-public tigervnc-client + ;; The latest version doesn't build with GCC 14 when enabling ffmpeg + ;; support; pick the latest commit from the master branch. + (let ((commit "83e9c55d4c6a4a989d056a6ed9613bde74bcc50b") + (revision "0")) + (package + (name "tigervnc-client") + (version (git-version "1.15.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TigerVNC/tigervnc") + (commit commit))) + (sha256 + (base32 "1gqa5lbin4qb2k6iapd4hjxk85byaj6zs8vx0az30i7v18jib1c6")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + (invoke "ctest" "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "--test-dir" "tests/unit/")))) + (replace 'install + (lambda _ + (with-directory-excursion "vncviewer" + (invoke "make" "install"))))))) + (native-inputs (list appstream gettext-minimal googletest)) + (inputs + (list ffmpeg + fltk-1.3 + gnutls + libjpeg-turbo + libx11 + libxdamage + libxext + libxrandr + libxtst + linux-pam + nettle + pixman + zlib)) + (home-page "https://tigervnc.org/") + (synopsis "High-performance VNC remote desktop client") + (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} +client and server. @dfn{VNC} is a remote display system that lets you view and +interact with a virtual desktop environment running on another computer on the +network. Client and server may be running on different operating systems and +architectures. + +TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use +of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video +applications. It also provides extensions for advanced authentication methods +and @acronym{TLS, Transport-Level Security} encryption. + +This package installs only the VNC client (@command{vncviewer}), the application +used to connect to VNC servers such as the tigervnc-server package.") + (license license:gpl2+)))) + +(define %tigervnc-client-source (package-source tigervnc-client)) + +;; A VNC server is, in fact, an X server so it seems like a good idea to build +;; on the work already done for xorg-server package. This is not entirely +;; compatible with the recommendation in BUILDING.txt where the client is +;; built first, then the source code of the X server is copied into a subdir +;; of the build directory, patched with VNC additions and then build and +;; installed as Xvnc. The procedure was turned around, where TigerVNC code is +;; downloaded and built inside the Guix X server build dir. Also, the VNC +;; patching process for the X server is automated in a straightforward manner. +(define-public tigervnc-server + (package + (inherit xorg-server) + (name "tigervnc-server") + (version (package-version tigervnc-client)) + (source + (origin + (inherit (package-source xorg-server)) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Copy the VNC extension into the xorg-server sources. + (copy-recursively #$(file-append %tigervnc-client-source + "/unix/xserver") + ".") + ;; Include a full copy of tigervnc-client sources, so that the + ;; complete sources involved are available and can be edited during + ;; the build. + (copy-recursively #$%tigervnc-client-source "tigervnc-client") + ;; Adjust the VNC extension build system files so that it refers + ;; to it. + (substitute* "hw/vnc/Makefile.am" + (("(TIGERVNC_SRCDIR=).*" _ head) + (string-append head "$(CURDIR)/../../tigervnc-client\n")) + (("(TIGERVNC_BUILDDIR=).*" _ head) + (string-append head + "$(CURDIR)/../../tigervnc-client/build\n"))) + ;; Ensure the Autotools build system gets re-bootstrapped. + (delete-file "configure"))) + ;; Patch the xorg-server build system so that it builds the VNC + ;; extension. + (patches (cons (file-append %tigervnc-client-source + "/unix/xserver21.patch") + (origin-patches (package-source xorg-server)))) + (file-name (string-append name "-" version ".tar.xz")))) + (arguments + (substitute-keyword-arguments + (package-arguments xorg-server) + ((#:tests? #f #f) + #f) + ((#:configure-flags flags) + #~(cons* "--with-pic" ; taken from BUILDING.txt + "--without-dtrace" + "--disable-static" + "--disable-dri2" + "--disable-xinerama" + "--disable-xvfb" + "--disable-xnest" + "--disable-xorg" + "--disable-dmx" + "--disable-xwin" + "--disable-xephyr" + "--disable-kdrive" + "--disable-config-hal" + "--disable-config-udev" + "--disable-dri2" + "--enable-glx" + (delete "--enable-xephyr" #$flags))) + ((#:modules modules) + `(append '((ice-9 ftw) + (ice-9 match) + (guix build utils) + (guix build gnu-build-system)) + modules)) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'adjust-pam-config + (lambda _ + (substitute* "tigervnc-client/unix/vncserver/tigervnc.pam" + (("pam_systemd.so") + "pam_elogind.so")))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tigervnc-client/unix/vncserver/vncserver.in" + (("`mcookie`") + (format #f "`~a`" (search-input-file inputs "bin/mcookie"))) + ;; Adjust the places where the vncserver script looks for + ;; X11 fonts. + (("'/usr/share/X11/fonts'" all) + (format #f "'~a', '~a', ~a" + "/run/current-system/profile/share/fonts/X11" + (string-append #$(this-package-input "font-alias") + "share/fonts/X11") + all)) + ;; Adjust the location where .desktop files will be saved. + (("/usr/share/xsessions") + "/run/current-system/profile/share/xsessions") + ;; Do not require a system-provided Xsession shell script. + ;; Guix System has none, causing the for loop to iterate + ;; over an empty list. + (("\"/etc/X11/xinit/Xsession\", \"/etc/X11/Xsession\"") + "()") + (("if \\(not defined \\$Xsession)") + "if (0)") + (("@cmd, \\$Xsession,") + "@cmd,")))) + (add-before 'build 'build-tigervnc + (lambda* (#:key parallel-build? #:allow-other-keys) + (mkdir-p "tigervnc-client/build") + (with-directory-excursion "tigervnc-client/build" + (invoke "cmake" "-G" "Unix Makefiles" + (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) + "..") + (invoke "make" "-j" (number->string (if parallel-build? + (parallel-job-count) + 1)))))) + (replace 'build + (lambda* (#:key parallel-build? #:allow-other-keys) + (invoke "make" "-j" (number->string (if parallel-build? + (parallel-job-count) + 1))))) + (add-before 'install 'install-tigervnc-aux + (lambda _ + (invoke "make" "-C" "tigervnc-client/build/unix" "install"))) + (replace 'install + (lambda _ + (invoke "make" "install"))) + (add-after 'install 'wrap-vncserver + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-script (search-input-file outputs "libexec/vncserver") + (list "PATH" 'prefix + (map (lambda (p) + (dirname (search-input-file inputs p))) + '("bin/uname" + "bin/xauth" + "bin/xinit")))))))))) + (native-inputs + (modify-inputs (append (package-native-inputs xorg-server) + (package-native-inputs tigervnc-client)) + (append (package-source tigervnc-client) + autoconf + automake + libtool + gettext-minimal + font-util + cmake + perl))) + (inputs + (modify-inputs (append (package-inputs xorg-server) + (package-inputs tigervnc-client)) + (prepend coreutils + font-alias + guile-3.0 + perl + util-linux + xauth + xinit))) + (propagated-inputs + (modify-inputs (package-propagated-inputs xorg-server) + (prepend xauth))) + (synopsis "High-performance VNC remote desktop server based on Xorg") + (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} +client and server. @dfn{VNC} is a remote display system that lets you view and +interact with a virtual desktop environment running on another computer on the +network. Client and server may be running on different operating systems and +architectures. + +TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use +of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video +applications. It also provides extensions for advanced authentication methods +and @acronym{TLS, Transport-Level Security} encryption. + +This package installs the VNC server. Permitted users can log into a graphical +session on the machine where the server is running, using a VNC client such as +the tigervnc-client package."))) + (define-public eglexternalplatform (package (name "eglexternalplatform") diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index 80c35717a9..a0720f7073 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -705,6 +705,8 @@ placed in a udev rules file." (provision (list (string->symbol name))) ;; Make sure the homes are already present (requirement requirement) + (modules `((ice-9 match) + ,@%default-modules)) (stop #~(lambda args (match (quote #$policy) diff --git a/gnu/services/vnc.scm b/gnu/services/vnc.scm index 0b18830d2b..2cfa4d90e5 100644 --- a/gnu/services/vnc.scm +++ b/gnu/services/vnc.scm @@ -19,6 +19,7 @@ (define-module (gnu services vnc) #:use-module (gnu packages admin) #:use-module (gnu packages vnc) + #:use-module (gnu packages xorg) #:use-module ((gnu services) #:hide (delete)) #:use-module (gnu system shadow) #:use-module (gnu services configuration) |