diff options
-rw-r--r-- | gnu/packages/bioinformatics.scm | 9 | ||||
-rw-r--r-- | gnu/packages/build-tools.scm | 10 | ||||
-rw-r--r-- | gnu/packages/containers.scm | 8 | ||||
-rw-r--r-- | gnu/packages/cpp.scm | 18 | ||||
-rw-r--r-- | gnu/packages/databases.scm | 254 | ||||
-rw-r--r-- | gnu/packages/dbm.scm | 6 | ||||
-rw-r--r-- | gnu/packages/diffoscope.scm | 5 | ||||
-rw-r--r-- | gnu/packages/icu4c.scm | 34 | ||||
-rw-r--r-- | gnu/packages/kde-plasma.scm | 18 | ||||
-rw-r--r-- | gnu/packages/libreoffice.scm | 4 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 5 | ||||
-rw-r--r-- | gnu/packages/logging.scm | 19 | ||||
-rw-r--r-- | gnu/packages/prolog.scm | 4 | ||||
-rw-r--r-- | gnu/packages/rocm.scm | 28 | ||||
-rw-r--r-- | gnu/packages/text-editors.scm | 4 | ||||
-rw-r--r-- | gnu/packages/video.scm | 26 | ||||
-rw-r--r-- | gnu/packages/virtualization.scm | 68 | ||||
-rw-r--r-- | gnu/packages/vnc.scm | 230 | ||||
-rw-r--r-- | gnu/packages/vpn.scm | 4 | ||||
-rw-r--r-- | gnu/packages/wm.scm | 4 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 256 | ||||
-rw-r--r-- | gnu/services/linux.scm | 2 | ||||
-rw-r--r-- | gnu/services/vnc.scm | 1 |
23 files changed, 441 insertions, 576 deletions
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/diffoscope.scm b/gnu/packages/diffoscope.scm index 4d1121f476..a5b371a099 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -78,7 +78,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "302") + (version "303") (source (origin (method git-fetch) @@ -87,7 +87,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1h7qkmy8q2l864f4vlpxclxljh7dqr51pwvwra5lfr92bjcy5mdr")))) + (base32 "1asrhbba9jrk7vibr89s03sy0kac0bhh9ddp0gy45zffhhflnxb5")))) (build-system pyproject-build-system) (arguments (list @@ -210,6 +210,7 @@ html2text imagemagick libarchive + libcaca llvm lz4 lzip 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/prolog.scm b/gnu/packages/prolog.scm index 4744f39579..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.80.4") + (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 "1sbfrzsjakfkbjvw8hl344l0cnf65nia8b7xxb6y7370k47mkil1")) + (base32 "1m4qm5ymjb2579kwsz9hzclpvh7im3f2vz5fg7828r2ap1dlfwlr")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs 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/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 6cba71028a..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") 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/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) |