diff options
47 files changed, 842 insertions, 1338 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index 34def99c9b..6d3f1622f3 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1449,7 +1449,7 @@ already ran @code{bootstrap} and @code{configure}: The first command updates all packages in @code{(gnu packages astronomy)} to the latest versions and writes changes back to the file. -The second invokes @code{etc/commiter.scm} script, a helper script for +The second invokes @code{etc/committer.scm} script, a helper script for larger scale updates; it identifies each package diff and creates corresponding commits with the correct style. diff --git a/doc/guix.texi b/doc/guix.texi index 8bf0c873d4..bffaeb5bbc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -23331,7 +23331,7 @@ This must be either @code{'client} or @code{'server}. Otherwise, an error is raised. Set the @code{'server} value if you want to run a bridge to help censored users connect to the Tor network, see @url{https://community.torproject.org/relay/setup/bridge/, -the Tor project's brige guide}. Set the @code{'client} value +the Tor project's bridge guide}. Set the @code{'client} value if you want to connect to somebody else's bridge, see @url{https://bridges.torproject.org/, the Tor project's ``Get Bridges'' page}. In both cases the required @@ -38954,7 +38954,7 @@ system shutdown. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -38965,7 +38965,7 @@ apcupsd will initiate a system shutdown. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -38976,7 +38976,7 @@ of 0 disables this timer. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -42982,7 +42982,7 @@ cache. Use with caution. @end quotation @quotation Warning -@option{'share} will not work for multiple concurrent invokation of +@option{'share} will not work for multiple concurrent invocation of @command{guix}, e.g. if two user accounts run @command{guix time machine} at the same time, the results will be fun but not useful. @end quotation @@ -51299,7 +51299,7 @@ following configuration: "/home/alice/Pictures")))))))) @end lisp -In general it is preferrable to extend the @code{home-restic-backup-service-type}, +In general it is preferable to extend the @code{home-restic-backup-service-type}, as shown in the example above. This is because it takes care of wrapping everything with @code{for-home}, which enables the @code{home-restic-backup-service-type} and @code{restic-backup-service-type} to share the same codebase. diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4ca7998cc7..8dffc86c00 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 @@ -20392,141 +20397,6 @@ includes operations like compartment, insulation or peak calling.") the HiCExplorer and pyGenomeTracks packages.") (license license:gpl3+))) -(define-public python-hicexplorer - (package - (name "python-hicexplorer") - (version "3.7.4") - (source - (origin - ;; The latest version is not available on Pypi. - (method git-fetch) - (uri (git-reference - (url "https://github.com/deeptools/HiCExplorer") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cjr9l0vcngd0f4dmar388ri1ah1bqybnn53jc85xwh07wfacq7l")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - '(list "hicexplorer/test/general/" - "--ignore" "hicexplorer/test/general/test_hicTADClassifier.py" - "--ignore" "hicexplorer/test/general/test_hicTrainTADClassifier.py" - "-k" - (string-append - ;; Unknown chromosome: ChrX - "not test_build_matrix_restrictionCutFile_two" - ;; fixture 'keepSelfLigation' not found - " and not test_build_matrix_restrictionCutFile_six" - ;; ValueError: object dtype is not supported by sparse matrices - " and not test_hic_transfer_obs_exp_perChromosome" - - ;; No KR balancing available - " and not test_correct_matrix_KR_partial_cool" - " and not test_correct_matrix_KR_cool" - " and not test_correct_matrix_KR_H5")) - #:phases - #~(modify-phases %standard-phases - ;; See https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/23 - (add-after 'unpack 'remove-dependency-on-krbalancing - (lambda _ - (substitute* "hicexplorer/hicCorrectMatrix.py" - (("from krbalancing import.*") "") - (("( *)assert\\(args.correctionMethod == 'KR'\\)" m indent) - (string-append m "\n" - indent "log.error('krbalancing not available')\n" - indent "exit(1)"))) - (substitute* "setup.py" - (("\"krbalancing >= 0.0.5\",") "")) - (substitute* "requirements.txt" - (("krbalancing >= 0.0.5") "")))) - (add-after 'unpack 'fix-references - (lambda _ - (let ((site (string-append #$output "/lib/python" - #$(version-major+minor - (package-version python)) - "/site-packages"))) - (substitute* "hicexplorer/lib/tadClassifier.py" - (("model_location = site.getsitepackages\\(\\)\\[0\\]") - (string-append "model_location = \"" site "\"")))) - (substitute* "hicexplorer/hicFindRestSite.py" - (("subprocess.check_output\\(\\[\"cat\"") - (string-append "subprocess.check_output([\"" - (which "cat") "\"")) - (("cmd = 'sort -k1") - (string-append "cmd = '" (which "sort") " -k1"))))) - ;; The tests aim to detect available memory and run more tests when - ;; there is more available memory. Let's run them deterministically - ;; instead and don't run any tests that require more than 1GB of - ;; RAM. - (add-after 'unpack 'run-only-low-mem-tests - (lambda _ - (with-directory-excursion "hicexplorer/test" - (substitute* '("trivial_runs/test_hicBuildMatrix_trivial_runs_2.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_five.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_four.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_1.py" - "trivial_runs/test_hicBuildMatrix_trivial_runs.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_3.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_three.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_2.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_six.py" - "general/test_hicDifferentialTAD.py" - "general/test_hicDetectLoops.py" - "general/test_hicPlotMatrix.py" - "general/test_hicHyperoptDetectLoops.py" - "general/test_hicCreateThresholdFile.py" - "general/test_hicMergeDomains.py" - "general/test_hicHyperoptDetectLoopsHiCCUPS.py" - "general/test_hicAggregateContacts.py" - "general/test_hicInterIntraTAD.py") - (("^memory =.*") "memory = 1\n")))))))) - (propagated-inputs - (list python-biopython - python-cleanlab - python-cooler - python-fit-nbinom - python-future - python-graphviz - python-hic2cool - python-hicmatrix - python-hyperopt - python-imbalanced-learn - python-intervaltree - python-ipykernel - python-jinja2 - python-matplotlib - python-numpy - python-pandas - python-psutil - python-pybedtools - python-pybigwig - python-pygenometracks - python-pysam - python-scikit-learn - python-scipy - python-tables - python-tqdm - python-unidecode)) - (native-inputs - (list graphviz)) ;for hicexplorer/test/test_compute_function.py - (home-page "https://hicexplorer.readthedocs.io") - (synopsis "Process, analyze and visualize Hi-C data") - (description - "HiCExplorer is a powerful and easy to use set of tools to process, -normalize and visualize Hi-C data. HiCExplorer facilitates the creation of -contact matrices, correction of contacts, TAD detection, A/B compartments, -merging, reordering or chromosomes, conversion from different formats -including cooler and detection of long-range contacts. Moreover, it allows -the visualization of multiple contact matrices along with other types of data -like genes, compartments, ChIP-seq coverage tracks (and in general any type of -genomic scores), long range contacts and the visualization of viewpoints.") - (license license:gpl3))) - (define-public python-pygenometracks (package (name "python-pygenometracks") 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..aac96f96a7 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2096,29 +2096,6 @@ augment the C++ standard library. The Abseil library code is collected from Google's C++ code base.") (license license:asl2.0))) -;; This is for grpc-for-python-grpcio; keep this in sync with its actual -;; requirements. -(define-public abseil-cpp-20211102.0 - (let ((base abseil-cpp-20200923.3)) - (package - (inherit base) - (name "abseil-cpp") - (version "20211102.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abseil/abseil-cpp") - (commit "215105818dfde3174fe799600bb0f3cae233d0bf"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "028vlxpmh65kb7s0cpba38qcwk1abyn5br0ffhvvjjh97vld69di")))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:tests? _ #false) #false) - ((#:configure-flags flags) - #~(cons* "-DCMAKE_CXX_STANDARD=11" #$flags))))))) - (define-public abseil-cpp-20220623 (let ((base abseil-cpp-20200923.3)) (package @@ -2202,6 +2179,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 +2248,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/cran.scm b/gnu/packages/cran.scm index 48adf3aaac..64b7d820b4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37779,14 +37779,14 @@ colored by the number of neighboring points. This is useful to visualize the (define-public r-arrow (package (name "r-arrow") - (version "20.0.0.2") + (version "21.0.0") (source (origin (method url-fetch) (uri (cran-uri "arrow" version)) (sha256 (base32 - "19xnz3df1r9n01dbsf05xkw6q5w8vipzkkb5bpx7jlcp38jnp8zn")))) + "1ipwcgzbzr5xb1ff0ikwxdfhbniqdjmvi4505cmb0divg9p50946")))) (properties `((upstream-name . "arrow") (updater-ignored-native-inputs . ("r-duckdb")) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2bfa37ea90..f262aaf95b 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)) @@ -1316,17 +1310,16 @@ as a drop-in replacement of MySQL.") (define-public mariadb-connector-c (package (name "mariadb-connector-c") - (version "3.1.13") + (version "3.4.5") (source (origin (method url-fetch) (uri (string-append - "https://downloads.mariadb.org/f/connector-c-" version - "/mariadb-connector-c-" version "-src.tar.gz" - "/from/https%3A//mirrors.ukfast.co.uk/sites/mariadb/?serve")) + "https://downloads.mariadb.org/rest-api/connector-c/" + version "/mariadb-connector-c-" version "-src.tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0xb8fiissblxb319y5ifqqp86zblwis789ipb753pcb4zpnsaw82")))) + (base32 "18y1x985pnvvirmwfka81ygsvl7isc52mj9c9hvc69fb2qw1jzmi")))) (inputs (list openssl)) (build-system cmake-build-system) @@ -1996,7 +1989,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 +1998,7 @@ including field and record folding.") (file-name (git-file-name name version)) (sha256 (base32 - "0mylma106w93kxhj89g9y1ccdq7m9m94wrmv5nyr17yc1zsk87sg")) + "1cgr33qv639fyx067sg8nsy8mnfac9xgmmw2qwi2bcmir777ma4q")) (modules '((guix build utils))) (snippet '(begin @@ -5171,7 +5164,7 @@ with integrated support for finding required rows quickly.") (define-public apache-arrow (package (name "apache-arrow") - (version "20.0.0") + (version "21.0.0") (source (origin (method git-fetch) @@ -5181,7 +5174,7 @@ with integrated support for finding required rows quickly.") (file-name (git-file-name name version)) (sha256 (base32 - "1n96m8fbpg8azbwm6hx3adbc2sa070k1zh0lj18yqlw2nqmdslr4")))) + "0lxywrjfwhiznsldpv5bd6g357za5ng64jvy943kp0ndckh5l4g9")))) (build-system cmake-build-system) (arguments (list @@ -5425,132 +5418,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 +5486,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/dns.scm b/gnu/packages/dns.scm index 7cb86ad144..5e981ac02c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -851,7 +851,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.4.6") + (version "3.4.8") (source (origin (method git-fetch) @@ -860,7 +860,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0chdlzasng3q3ss4yfppf8fbkkiqllqz4p6s8a6jgwhcbiylmmdi")) + (base32 "0zydnb9kbk65kbrg01sxl48a5ikdap7lhm1wvmcmk5vhvgxdbb53")) (patches (search-patches "knot-remove-runtime-deps.patch")) (modules '((guix build utils))) @@ -993,14 +993,14 @@ synthesis, and on-the-fly re-configuration.") (define-public knot-resolver (package (name "knot-resolver") - (version "5.7.5") + (version "5.7.6") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-resolver/" "knot-resolver-" version ".tar.xz")) (sha256 (base32 - "0rnz7k5pjqd4ds46iyf6r7xwrci0apm2sr6lpaf9sncjmbwrq8w0")))) + "0x6n0h2vd7756rgyzmzhsvky5j7p4brsynnwp13ya003aqxcs32h")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 96ba0421ea..0e53223f10 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2024 Andrew Tropin <andrew@trop.in> -;;; Copyright © 2024 Ivan Sokolov <ivan-p-sokolov@ya.ru> +;;; Copyright © 2024, 2025 Ivan Sokolov <ivan-p-sokolov@ya.ru> ;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org> ;;; ;;; This file is part of GNU Guix. @@ -200,23 +200,24 @@ being successfully used in web development and the embedded software domain.") (delete 'bootstrap) (delete 'configure) (replace 'build - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (setenv "MIX_ENV" "prod") (invoke "mix" "compile"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (define X.Y #$(version-major+minor (package-version elixir))) - (define out (string-append (assoc-ref outputs "out") - "/lib/elixir/" X.Y "/hex")) - (mkdir-p out) - (let* ((prod-dir "_build/prod/lib/hex") + (lambda _ + (let* ((X.Y #$(version-major+minor + (package-version + (lookup-package-input this-package "elixir")))) + (out (string-append #$output "/lib/elixir/" X.Y "/hex")) + (prod-dir "_build/prod/lib/hex") (prod-dir-mix (string-append prod-dir "/.mix"))) (and (directory-exists? prod-dir-mix) (delete-file-recursively prod-dir-mix)) - (copy-recursively "_build/prod/lib/hex" out))))))) + (mkdir-p out) + (copy-recursively prod-dir out))))))) (synopsis "Package manager for the Erlang VM") (description "This project provides tasks that integrate with Mix, Elixir's build tool.") - (home-page "https://hexdocs.pm/makeup_elixir/") + (home-page "https://hexdocs.pm/hex/api-reference.html") (license license:bsd-2))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 72738e7d4f..7c8202dd71 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -3581,8 +3581,8 @@ assembler, and debugger for the Intel 8085 microprocessor. (origin (method git-fetch) (uri (git-reference - (url "https://github.com/MaddTheSane/PCSX-Reloaded") - (commit commit))) + (url "https://github.com/MaddTheSane/PCSX-Reloaded") + (commit commit))) (patches (search-patches "pcsxr-find-harfbuzz.patch" "pcsxr-fix-definitions.patch")) (sha256 @@ -3590,40 +3590,38 @@ assembler, and debugger for the Intel 8085 microprocessor. (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'" - "-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 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)) + (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 diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index e0231f88fe..aa1454ca96 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -675,11 +675,32 @@ Go. It also includes runtime support libraries for these languages.") (define %gcc-13-x86_64-micro-architectures (append %gcc-12-x86_64-micro-architectures - '("graniterapids"))) ;Intel + '("graniterapids" ;Intel + "lujiazui"))) + +(define %gcc-14-aarch64-micro-architectures + (append %gcc-13-aarch64-micro-architectures + '("armv9.4-a"))) + +(define %gcc-14-ppc64le-micro-architectures + (append %gcc-10-ppc64le-micro-architectures + '("power11"))) (define %gcc-14-x86_64-micro-architectures (append %gcc-13-x86_64-micro-architectures - '("znver5"))) ;AMD + '("znver5" ;AMD + "yongfeng"))) + +(define %gcc-15-aarch64-micro-architectures + (append %gcc-14-aarch64-micro-architectures + '("armv9.5-a"))) + +(define %gcc-15-x86_64-micro-architectures + (append + (fold delete %gcc-14-x86_64-micro-architectures + '("knm" "knl")) + '("diamondrapids" ;Intel + "shijidadao"))) (define-public gcc-7 (package @@ -887,10 +908,10 @@ It also includes runtime support libraries for these languages.") (("\\.\\./lib64") "../lib")))))))) (properties `((compiler-cpu-architectures - ("aarch64" ,@%gcc-13-aarch64-micro-architectures) + ("aarch64" ,@%gcc-14-aarch64-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures) - ("i686" ,@%gcc-13-x86_64-micro-architectures) - ("powerpc64le" ,@%gcc-10-ppc64le-micro-architectures) + ("i686" ,@%gcc-14-x86_64-micro-architectures) + ("powerpc64le" ,@%gcc-14-ppc64le-micro-architectures) ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) @@ -932,11 +953,11 @@ It also includes runtime support libraries for these languages.") (string-append lib "/include")))))))))))) (properties `((compiler-cpu-architectures - ("aarch64" ,@%gcc-13-aarch64-micro-architectures) + ("aarch64" ,@%gcc-15-aarch64-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures) - ("i686" ,@%gcc-13-x86_64-micro-architectures) - ("powerpc64le" ,@%gcc-10-ppc64le-micro-architectures) - ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) + ("i686" ,@%gcc-15-x86_64-micro-architectures) + ("powerpc64le" ,@%gcc-14-ppc64le-micro-architectures) + ("x86_64" ,@%gcc-15-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) 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/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 7e5ebef0e9..13de000920 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014-2025 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2016-2019, 2021, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2019, 2021, 2024, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Nikita <nikita@n0.is> @@ -931,8 +931,8 @@ variable defined below. It requires guile-json to be installed." rust `(,rust "cargo") rust-cbindgen - llvm-17 - clang-17 + llvm-20 + clang-20 perl node-lts python-wrapper diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3f79d9862e..eb04e2eb86 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org> @@ -1012,6 +1012,17 @@ in the style of communicating sequential processes (@dfn{CSP}).") ;; as the bootstrap toolchain. (alist-replace "go" (list go-1.21) (package-native-inputs go-1.21))))) +(define %go-1.23-arm64-micro-architectures + ;; https://go.dev/wiki/MinimumRequirements#arm64 + ;; Allowed values are v8.{0-9} and v9.{0-5}. This may be followed by an option + ;; specifying extensions implemented by target hardware. Valid options are + ;; ,lse and ,crypto. + ;; Match Guix's specifications and then rewrite in (guix transformations). + (append (map (lambda (suffix) (string-append "armv8" suffix "-a")) + '("" ".1" ".2" ".3" ".4" ".5" ".6" ".7" ".8" ".9")) + (map (lambda (suffix) (string-append "armv9" suffix "-a")) + '("" ".1" ".2" ".3" ".4" ".5")))) + (define-public go-1.23 (package (inherit go-1.22) @@ -1025,7 +1036,13 @@ in the style of communicating sequential processes (@dfn{CSP}).") (commit (string-append "go" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq")))))) + (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq")))) + (properties + `((compiler-cpu-architectures + ("aarch64" ,@%go-1.23-arm64-micro-architectures) + ("armhf" ,@%go-1.17-arm-micro-architectures) + ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures) + ("x86_64" ,@%go-1.18-x86_64-micro-architectures)))))) (define-public go-1.24 (package diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7ace87bc11..3c52d46eda 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -6339,22 +6339,20 @@ Relay Chat} (IRC).") (define-public guile-websocket (package (name "guile-websocket") - (version "0.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://files.dthompson.us/guile-websocket/" - "guile-websocket-" version ".tar.gz")) - (sha256 - (base32 - "143ng1x5xwy218wd1svj718ikqnrglwsywyzpd3ap9jnivw66g7f")))) + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://files.dthompson.us/releases/" + "guile-websocket/guile-websocket-" version + ".tar.gz")) + (sha256 + (base32 "0mbxbwc5flrafh77sl0cbfclpk3vys0hh3fqmdl9v3nqyl0cbsij")))) (build-system gnu-build-system) (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0"))) - (native-inputs - (list autoconf automake pkg-config)) - (inputs - (list guile-3.0 guile-gnutls)) + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) + (native-inputs (list autoconf automake pkg-config)) + (inputs (list guile-3.0 guile-gnutls)) (synopsis "Websocket server/client for Guile") (description "Guile-websocket provides an implementation of the WebSocket protocol as defined by RFC 6455.") @@ -6978,25 +6976,24 @@ or @code{LuaBind} but for Scheme.") (name "guile-cbor") (version "0.1.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://inqlab.net/git/guile-cbor.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/pukkamustard/guile-cbor/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) (build-system gnu-build-system) - (arguments `()) - (native-inputs - (list autoconf automake pkg-config texinfo)) + (native-inputs (list autoconf automake pkg-config texinfo)) (inputs (list guile-3.0)) (synopsis "Guile implementation of CBOR") (description - "The Concise Binary Object Representation (CBOR), as specified by RFC 8949, is -a binary data serialization format. CBOR is similar to JSON but serializes to -binary which is smaller and faster to generate and parse. This package provides -a Guile implementation of CBOR.") - (home-page "https://inqlab.net/git/guile-cbor.git") + "The Concise Binary Object Representation (CBOR), as specified by RFC +8949, is a binary data serialization format. CBOR is similar to JSON but +serializes to binary which is smaller and faster to generate and parse. This +package provides a Guile implementation of CBOR.") + (home-page "https://codeberg.org/pukkamustard/guile-cbor/") (license license:gpl3+))) (define-public guile-qr-code diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index e626509067..5a1f654652 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -888,32 +888,20 @@ is programmed in Haskell.") (define-public scroll (package (name "scroll") - (version "1.20180421") + (version "1.20250228.2") (source (origin (method url-fetch) (uri (hackage-uri "scroll" version)) (sha256 (base32 - "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj")))) + "1p1741zqsxg017d08ym1clzqcdlai487wb6q12m1q7dr6i8c0gfj")))) (build-system haskell-build-system) - (properties '((upstream-name . "scroll"))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'install 'touch-static-output - (lambda* (#:key outputs #:allow-other-keys) - ;; The Haskell build system adds a "static" output by - ;; default, and there is no way to override this until - ;; <https://issues.guix.gnu.org/41569> is fixed. Without - ;; this phase, the daemon complains because we do not - ;; create the "static" output. - (with-output-to-file (assoc-ref outputs "static") - (lambda () - (display "static output not used\n"))) - #t))))) + (properties '((upstream-name . "scroll") + (updater-extra-inputs "ghc-base-compat"))) (inputs - (list ghc-case-insensitive + (list ghc-base-compat + ghc-case-insensitive ghc-data-default ghc-ifelse ghc-monad-loops diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 6b8cce3cfc..fd7519b957 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2019, 2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> @@ -7901,7 +7901,9 @@ between 2 and 3 times faster than the Mersenne Twister.") "lib/UI/NCurses/Enums.chs" "lib/UI/NCurses/Panel.chs") (("<ncursesw/") "<")) - #t))) + ;; KEY_EVENT doesn't appear in our ncurses.h + (substitute* "lib/UI/NCurses/Enums.chs" + ((".*KEY_EVENT.*") ""))))) #:cabal-revision ("1" "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca"))) 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/machine-learning.scm b/gnu/packages/machine-learning.scm index 061cb934a4..2b6955b406 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2289,50 +2289,6 @@ number of threads used in the threadpool-backed of common native libraries used for scientific computing and data science (e.g. BLAS and OpenMP).") (license license:bsd-3))) -(define-public python-imbalanced-learn - (package - (name "python-imbalanced-learn") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "imbalanced-learn" version)) - (sha256 - (base32 "1hgncab4g4xry7yl6wwsj1wmfnxbsajx6qmycvr28wdhvk75c358")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags '(list "-k" - ;; Although we cannot satify the Tensorflow and Keras requirements - ;; (python-keras >= 2.4.3 and tensorflow >= 2.4.3), all tests - ;; besides these pass. - "not balanced_batch_generator and not BalancedBatchGenerator") - #:phases '(modify-phases %standard-phases - (add-after 'unpack 'unbreak-tests - (lambda _ - ;; Some tests require a home directory - (setenv "HOME" - (getcwd))))))) - (propagated-inputs (list python-joblib python-numpy python-scikit-learn - python-scipy python-threadpoolctl)) - (native-inputs (list python-black - python-flake8 - python-keras - python-mypy - python-pandas - python-pytest - python-pytest-cov - python-setuptools - python-wheel - tensorflow)) - (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn") - (synopsis "Toolbox for imbalanced dataset in machine learning") - (description - "This is a Python package offering a number of re-sampling -techniques commonly used in datasets showing strong between-class imbalance. -It is compatible with @code{scikit-learn}.") - (license license:expat))) - (define-public python-hdbscan (package (name "python-hdbscan") @@ -4148,213 +4104,6 @@ any function). It currently contains the interface and IO code from the Shap project, and it will potentially also do the same for the Lime project.") (license license:expat))) -(define-public python-keras-applications - (package - (name "python-keras-applications") - (version "1.0.8") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras_Applications" version)) - (sha256 - (base32 - "1rcz31ca4axa6kzhjx4lwqxbg4wvlljkj8qj9a7p9sfd5fhzjyam")))) - (build-system python-build-system) - ;; The tests require Keras, but this package is needed to build Keras. - (arguments '(#:tests? #f)) - (propagated-inputs - (list python-h5py python-numpy)) - (native-inputs - (list python-pytest python-pytest-cov - python-pytest-xdist)) - (home-page "https://github.com/keras-team/keras-applications") - (synopsis "Reference implementations of popular deep learning models") - (description - "This package provides reference implementations of popular deep learning -models for use with the Keras deep learning framework.") - (license license:expat))) - -(define-public python-keras-preprocessing - (package - (name "python-keras-preprocessing") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras_Preprocessing" version)) - (sha256 - (base32 - "1r98nm4k1svsqjyaqkfk23i31bl1kcfcyp7094yyj3c43phfp3as")))) - (build-system python-build-system) - (propagated-inputs - (list python-numpy python-six)) - (native-inputs - (list python-pandas - python-pillow - python-pytest - python-pytest-cov - python-pytest-xdist - tensorflow)) - (home-page "https://github.com/keras-team/keras-preprocessing/") - (synopsis "Data preprocessing and augmentation for deep learning models") - (description - "Keras Preprocessing is the data preprocessing and data augmentation -module of the Keras deep learning library. It provides utilities for working -with image data, text data, and sequence data.") - (license license:expat))) - -(define-public python-keras - (package - (name "python-keras") - (version "2.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras" version)) - (sha256 - (base32 - "1k68xd8n2y9ldijggjc8nn4d6d1axw0p98gfb0fmm8h641vl679j")) - (modules '((guix build utils))) - (snippet - '(substitute* '("keras/callbacks/callbacks.py" - "keras/engine/training_utils.py" - "keras/engine/training.py" - "keras/engine/training_generator.py" - "keras/utils/generic_utils.py") - (("from collections import Iterable") - "from collections.abc import Iterable") - (("collections.Container") - "collections.abc.Container") - (("collections.Mapping") - "collections.abc.Mapping") - (("collections.Sequence") - "collections.abc.Sequence"))))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'tf-compatibility - (lambda _ - (substitute* "keras/backend/tensorflow_backend.py" - (("^get_graph = .*") - "get_graph = tf.get_default_graph") - (("tf.compat.v1.nn.fused_batch_norm") - "tf.nn.fused_batch_norm") - ;; categorical_crossentropy does not support axis - (("from_logits=from_logits, axis=axis") - "from_logits=from_logits") - ;; dropout accepts a level number, not a named rate argument. - (("dropout\\(x, rate=level,") - "dropout(x, level,") - (("return x.shape.rank") - "return len(x.shape)")))) - (add-after 'unpack 'hdf5-compatibility - (lambda _ - ;; The truth value of an array with more than one element is ambiguous. - (substitute* "tests/keras/utils/io_utils_test.py" - ((" *assert .* == \\[b'(asd|efg).*") "")) - (substitute* "tests/test_model_saving.py" - (("h5py.File\\('does not matter',") - "h5py.File('does not matter', 'w',")) - (substitute* "keras/utils/io_utils.py" - (("h5py.File\\('in-memory-h5py', driver='core', backing_store=False\\)") - "h5py.File('in-memory-h5py', 'w', driver='core', backing_store=False)") - (("h5file.fid.get_file_image") - "h5file.id.get_file_image")) - (substitute* "keras/engine/saving.py" - (("\\.decode\\('utf-?8'\\)") "")))) - (add-after 'unpack 'delete-unavailable-backends - (lambda _ - (delete-file "keras/backend/theano_backend.py") - (delete-file "keras/backend/cntk_backend.py"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; These tests attempt to download data files from the internet. - (delete-file "tests/integration_tests/test_datasets.py") - (delete-file "tests/integration_tests/imagenet_utils_test.py") - (invoke "python" "-m" "pytest" "tests" - "-p" "no:pep8" - ;; FIXME: python-build-system lacks PARALLEL-TESTS? - "-n" (number->string (parallel-job-count)) - ;; This one uses the theano backend that we don't have. - "--ignore=tests/test_api.py" - "--ignore=tests/keras/backend/backend_test.py" - ;; Our Tensorflow version does not have the coder ops library. - "--ignore=tests/keras/callbacks/callbacks_test.py" - ;; ...nor do we have tensorboard - "--ignore=tests/keras/callbacks/tensorboard_test.py" - "-k" - (string-append - ;; See https://github.com/keras-team/keras/pull/7033 - "not test_TimeDistributed_learning_phase " - ;; XXX fails because no closure is provided - "and not test_func_dump_and_load_backwards_compat " - ;; XXX real bug? These are all tests that fail due to - ;; shape mismatch, e.g. "got logits shape [12,3] and - ;; labels shape [9]" - "and not test_model_with_crossentropy_losses_channels_first " - "and not test_masking_correctness_output_size_not_equal_to_first_state_size " - "and not test_convolutional_recurrent " - "and not test_axis " - - ;; XXX fails because of 3/15 values have unexpected differences. - "and not test_masking_correctness_output_not_equal_to_first_state " - ;; XXX fails because of a difference of about 0.1 - "and not test_sample_weighted " - ;; XXX fails because of a difference of about 0.3 - "and not test_scalar_weighted " - ;; XXX fails because of a difference of about 0.2 - "and not test_unweighted " - - ;; XXX I cannot reproduce this in an interactive - ;; Python session, because l2_norm works just fine. - "and not test_weighted " ;TestCosineSimilarity - "and not test_config " ;TestCosineSimilarity - - ;; The following test fails only in the build - ;; container; skip it. - "and not test_selu " - ;; The following test was found flaky and removed in - ;; recent versions. - "and not test_stateful_metrics")))))))) - (propagated-inputs - (list python-h5py - python-keras-applications - python-keras-preprocessing - python-numpy - python-pydot - python-pyyaml - python-scipy - python-six - tensorflow - graphviz)) - (native-inputs - (list python-flaky - python-markdown - python-pandas - python-pytest - python-pytest-cov - python-pytest-timeout - python-pytest-xdist - python-pyux - python-sphinx - python-requests)) - (home-page "https://keras.io/") - (synopsis "High-level deep learning framework") - (description "Keras is a high-level neural networks API, written in Python -and capable of running on top of TensorFlow. It was developed with a focus on -enabling fast experimentation. Use Keras if you need a deep learning library -that: -@itemize -@item Allows for easy and fast prototyping (through user friendliness, - modularity, and extensibility). -@item Supports both convolutional networks and recurrent networks, as well as - combinations of the two. -@item Runs seamlessly on CPU and GPU. -@end itemize\n") - (license license:expat))) - (define-public gloo (let ((version "0.0.0") ; no proper version tag (commit "81925d1c674c34f0dc34dd9a0f2151c1b6f701eb") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b7ed4bace3..9dcc4660d0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1229,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" 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/protobuf.scm b/gnu/packages/protobuf.scm index 6ac17d3733..765836cf65 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -465,6 +465,17 @@ from protobuf specification files.") mechanism for serializing structured data.") (license license:bsd-3))) +(define-public python-protobuf-4 + (package/inherit python-protobuf-5 + (name "python-protobuf") + (version "4.21.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "protobuf" version)) + (sha256 + (base32 "1pabwidv12r73fy0jlslpgi60zd1lbx9rjnb23kgdm8wcsjl043b")))))) + (define-public python-protobuf (package (name "python-protobuf") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 2cbc1bb167..da16c06692 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -835,7 +835,7 @@ of a fake DNS resolver.") (define-public python-huggingface-hub (package (name "python-huggingface-hub") - (version "0.23.2") + (version "0.31.4") (source (origin (method git-fetch) @@ -844,7 +844,7 @@ of a fake DNS resolver.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hygxqcixkc1d9sr47j2km6z0p17aj4k1dzm4cvpddrvhrgqayq5")))) + (base32 "1rjkrmvvyzxlbnbndrg4v9qq39grn46c26zrdjgpf114gci5pwap")))) (build-system pyproject-build-system) (arguments (list @@ -881,7 +881,13 @@ of a fake DNS resolver.") "-k" (string-append "not test_push_to_hub" " and not test_from_pretrained_model_id_only" - " and not test_from_pretrained_model_id_and_revision")) + " and not test_from_pretrained_model_id_and_revision" + ;; These all require internet access + " and not test_auth" + " and not test_oauth" + " and not test_utils_sha" + " and not test_inference_providers" + " and not test_xet")) #:phases '(modify-phases %standard-phases (add-before 'check 'pre-check @@ -908,6 +914,7 @@ of a fake DNS resolver.") python-pytest-asyncio python-pytest-cov python-pytest-env + python-pytest-mock python-pytest-rerunfailures python-pytest-vcr python-pytest-xdist @@ -918,7 +925,7 @@ of a fake DNS resolver.") python-typing-extensions python-urllib3 python-wheel)) - (home-page "https://github.com/huggingface/huggingface_hub") + (home-page "https://huggingface.co/docs/huggingface_hub/") (synopsis "Client library for accessing the huggingface.co hub") (description "This package provides a client library to download and publish models, 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/rpc.scm b/gnu/packages/rpc.scm index c083074cc7..36c937dcef 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -49,10 +49,21 @@ #:use-module (gnu packages tls) #:use-module (srfi srfi-1)) +;; XXX: Starting from version 1.47.5, opencensus-proto is required. +;; The package is already deprecated upstream, so it's probably not +;; worth it spending time packaging it in Guix, just inject the source +;; instead, to also avoid us a recursive git fetch. +(define opencensus-proto-for-grpc-source + (origin + (method url-fetch) + (uri "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz") + (sha256 + (base32 "1c3jfl1zgjhhqyqii1wils2k05akkvrw50xmf0q0rs2r885kzqdp")))) + (define-public grpc (package (name "grpc") - (version "1.34.0") + (version "1.52.2") (outputs '("out" "static")) (source (origin (method git-fetch) @@ -62,7 +73,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1fs407hnlnm0b8sncjwys9rc7ia5nb7wxrpx39nq3pzzfs1lv3vq")))) + "09165p6rh5xvcnnwnmy22lwdfchgjg39y02rwj6zg4rzfps8cb43")))) (build-system cmake-build-system) (arguments (list @@ -80,6 +91,11 @@ "-DCMAKE_VERBOSE_MAKEFILE=ON") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-third-party + (lambda _ + (mkdir-p "third_party/opencensus-proto/src") + (invoke "tar" "xvf" #+opencensus-proto-for-grpc-source + "-C" "third_party/opencensus-proto/src"))) (add-before 'configure 'configure-shared (lambda* (#:key configure-flags #:allow-other-keys) (mkdir "../build-shared") @@ -125,24 +141,6 @@ mile of distributed computing to connect devices, mobile applications and browsers to backend services.") (license license:asl2.0))) -(define-public grpc-for-python-grpcio - (package - (inherit grpc) - (name "grpc") - (version "1.47.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grpc/grpc") - (commit (string-append "v" version)) - (recursive? #true))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nl2d92f3576m69991d7gwyk1giavm04fagr612yjh90rni01ikw")))) - (inputs - (list abseil-cpp-20211102.0 c-ares/cmake openssl re2 zlib)))) - ;; Some packages require this older version. (define-public grpc-1.16.1 (package @@ -200,14 +198,13 @@ type information of gRPC.") (define-public python-grpcio (package (name "python-grpcio") - (version "1.47.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (pypi-uri "grpcio" version)) (sha256 - (base32 - "00gqhz0b1sqnfx6zy7h5z41b6mpsq57r1f3p95xradcvmdgskfsx")) + (base32 "1nsgm8q4yahzdab4m3irffdw9zklq4kb7f8hki1ayfgw54ysim55")) (modules '((guix build utils) (ice-9 ftw))) (snippet '(begin @@ -252,7 +249,7 @@ type information of gRPC.") (substitute* '("setup.py" "src/python/grpcio/commands.py") (("'cc'") "'gcc'"))))))) (inputs - (list abseil-cpp-20211102.0 c-ares grpc-for-python-grpcio openssl re2 zlib)) + (list abseil-cpp-cxxstd11 c-ares grpc openssl re2 zlib)) (native-inputs (list python-cython python-setuptools python-wheel)) (propagated-inputs @@ -266,29 +263,32 @@ with the HTTP/2-based RPC framework gRPC.") (define-public python-grpcio-tools (package (name "python-grpcio-tools") - (version "1.47.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "grpcio-tools" version)) - (modules '((guix build utils))) - (snippet - ;; This file is auto-generated. - '(delete-file "grpc_tools/_protoc_compiler.cpp")) - (sha256 - (base32 - "0g3xwv55lvf5w64zb44dipwqz7729cbqc7rib77ddqab91w56jzn")))) - (build-system python-build-system) + (version "1.52.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "grpcio-tools" version)) + (modules '((guix build utils))) + (snippet + ;; This file is auto-generated. + '(delete-file "grpc_tools/_protoc_compiler.cpp")) + (sha256 + (base32 "0m5xwhz3l0n3b1bzjncynwflnc5iyv4xrjq046ppcck4rpj9fgn0")))) + (build-system pyproject-build-system) (arguments - (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda _ - (setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1")))))) - (native-inputs (list python-cython)) - (propagated-inputs (list python-grpcio python-protobuf)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1")))))) + (native-inputs (list python-cython python-setuptools python-wheel)) + (propagated-inputs (list python-grpcio python-protobuf-4)) (home-page "https://grpc.io") (synopsis "Protobuf code generator for gRPC") - (description "The gRPC tools for Python provide a special plugin for -generating server and client code from @file{.proto} service definitions.") + (description + "The gRPC tools for Python provide a special plugin for generating server +and client code from @file{.proto} service definitions.") (license license:asl2.0))) (define-public apache-thrift 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/tbb.scm b/gnu/packages/tbb.scm index 5fdc41553b..47f8d4a09a 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -40,7 +40,7 @@ (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/oneapi-src/oneTBB") + (url "https://github.com/uxlfoundation/oneTBB/") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -79,14 +79,14 @@ ((".*test_multifunction_node.*") "") ((".*test_async_node.*") "")))))) (else '()))))) - (home-page "https://www.threadingbuildingblocks.org") + (home-page "https://uxlfoundation.github.io/oneTBB/") (synopsis "C++ library for parallel programming") (description - "Threading Building Blocks (TBB) is a C++ runtime library that abstracts -the low-level threading details necessary for optimal multi-core performance. -It uses common C++ templates and coding style to eliminate tedious threading -implementation work. It provides parallel loop constructs, asynchronous -tasks, synchronization primitives, atomic operations, and more.") + "@acronym{TBB, Threading Building Blocks} is a C++ runtime library that +abstracts the low-level threading details necessary for optimal multi-core +performance. It uses common C++ templates and coding style to eliminate +tedious threading implementation work. It provides parallel loop constructs, +asynchronous tasks, synchronization primitives, atomic operations, and more.") (license asl2.0))) (define-public python-tbb 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 98cca568fc..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") @@ -5924,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) @@ -5933,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) diff --git a/guix/cpu.scm b/guix/cpu.scm index ef5c3dce2a..39766f8e9d 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2022-2025 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -127,8 +127,10 @@ corresponds to CPU, a record as returned by 'current-cpu'." (if-flags rest ...)))))) (or (and (equal? "GenuineIntel" (cpu-vendor cpu)) - (= 6 (cpu-family cpu)) ;the "Pentium Pro" family - (if-flags ("avx512f" "amx_complex" => "graniterapids-d") + (or (= 6 (cpu-family cpu)) ;the "Pentium Pro" family + (= 19 (cpu-family cpu))) + (if-flags ("avx512f" "amx_transpose" => "diamondrapids") + ("avx512f" "amx_complex" => "graniterapids-d") ("avx512f" "amx_fp16" => "graniterapids") ("avx512f" "avx512vp2intersect" => "tigerlake") ("avx512f" "tsxldtrk" => "sapphirerapids") @@ -136,9 +138,12 @@ corresponds to CPU, a record as returned by 'current-cpu'." ("avx512f" "wbnoinvd" => "icelake-server") ("avx512f" "avx512bitalg" => "icelake-client") ("avx512f" "avx512vbmi" => "cannonlake") - ("avx512f" "avx5124vnniw" => "knm") - ("avx512f" "avx512er" => "knl") - ("avx512f" => "skylake-avx512") + ;; Knights Mill, Knights Landing removed in GCC-15. + ;; Fall-through, skipping skylake-avx512. + ;; Recommended by GCC is broadwell. + ;("avx512f" "avx5124vnniw" => "knm") + ;("avx512f" "avx512er" => "knl") + ("avx512f" "avx512vl" => "skylake-avx512") ("avx" "prefetchi" => "pantherlake") ("avx" "user_msr" => "clearwaterforest") ("avx" "sm3" => "arrowlake-s") @@ -195,9 +200,13 @@ corresponds to CPU, a record as returned by 'current-cpu'." "lujiazui" (cpu->micro-architecture-level cpu)) (if (and (= 7 (cpu-family cpu)) - (>= #x5b (cpu-model cpu))) + (= #x5b (cpu-model cpu))) "yongfeng" (cpu->micro-architecture-level cpu)) + (if (and (= 7 (cpu-family cpu)) + (>= #x6b (cpu-model cpu))) + "shijidadao" + (cpu->micro-architecture-level cpu)) ;; TODO: Recognize CENTAUR/CYRIX/NSC? @@ -217,11 +226,11 @@ corresponds to CPU, a record as returned by 'current-cpu'." "armv8.2-a") (#xd40 "armv8.4-a") - (#xd15 + ((or #xd14 #xd15) "armv8-r") ((or #xd46 #xd47 #xd4d #xd48 #xd4e #xd49 #xd4f) "armv9-a") - ((or #xd80 #xd81) + ((or #xd80 #xd82 #xd83 #xd84 #xd85 #xd87 #xd88 #xd89 #xd8e) "armv9.2-a"))) ("0x42" "armv8.1-a") @@ -236,9 +245,15 @@ corresponds to CPU, a record as returned by 'current-cpu'." (#x0b8 "armv8.3-a"))) ("0x46" - "armv8.2-a") + (match (cpu-model cpu) + (#x001 + "armv8.2-a") + (#x003 + "armv9.3a"))) ("0x48" "armv8.2-a") + ("0x4e" + "armv9.2-a") ("0x50" "armv8-a") ("0x51" @@ -248,9 +263,19 @@ corresponds to CPU, a record as returned by 'current-cpu'." (#x516 "armv8.1-a") (#xC01 - "armv8.4-a"))) + "armv8.4-a") + (#x001 + "armv8.6-a"))) ("0x53" "armv8-a") + ("0x61" + (match (cpu-model cpu) + ("#x12" + "armv8.3-a") + ((or #x20 #x21 #x22 #x23 #x24 #x25 #x28 #x29) + "armv8.5-a") + ((or #x30 #x31 #x32 #x33 #x34 #x35 #x38 #x39 #x48 #x49) + "armv8.6-a"))) ("0x68" "armv8-a") ("0x6d" @@ -310,9 +335,9 @@ CPUs for compilers which don't allow for more focused optimizing." ;; AVX512F+ for x86-64-v4, AVX+ for x86-64-v3. ;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex (match gcc-architecture - ((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids" - "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" - "knl" "skylake-avx512" + ((or "diamondrapids" "graniterapids-d" "graniterapids" "tigerlake" + "sapphirerapids" "cooperlake" "icelake-server" "icelake-client" + "cannonlake" "knm" "knl" "skylake-avx512" "znver5" "znver4") "x86-64-v4") ((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest" @@ -323,6 +348,6 @@ CPUs for compilers which don't allow for more focused optimizing." "nehalem" "bonnell" "core2" "btver2" "athalon" "k8-sse3" "k8" "bdver3" "bdver2" "bdver1" "btver1" "amdfam10" - "lujiazui" "yongfeng" "x86-64") + "lujiazui" "yongfeng" "shijidadao" "x86-64") "x86-64") (_ gcc-architecture))) diff --git a/guix/lint.scm b/guix/lint.scm index 2033aa36f1..fd46ea6eea 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -693,7 +693,7 @@ or \"bash-minimal\" is not in its inputs. 'wrap-script' is not supported." input-names))) (define (check-procedure-body body) (match body - ;; Explicitely setting an interpreter is acceptable. + ;; Explicitly setting an interpreter is acceptable. (('wrap-program _ '#:sh . _) '()) (('wrap-program _ . _) (list (report-wrap-program-error package 'wrap-program))) @@ -1520,7 +1520,7 @@ password, provided REF's URI is HTTP or HTTPS." (filter lint-warning? (map (cut try store <>) (package-supported-systems package)))) - ;; For backwards compatability, don't rely on store being set + ;; For backwards compatibility, don't rely on store being set (or (and=> store check-with-store) (with-store store (check-with-store store)))) @@ -2112,7 +2112,7 @@ them for PACKAGE." (check check-input-labels)) (lint-checker (name 'wrapper-inputs) - (description "Make sure 'wrap-program' can finds its interpreter.") + (description "Make sure 'wrap-program' can find its interpreter.") (check check-wrapper-inputs)) (lint-checker (name 'license) diff --git a/guix/transformations.scm b/guix/transformations.scm index 19a1cba206..198b55ed23 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016-2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2023 Sarthak Shah <shahsarthakw@gmail.com> -;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2023-2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; ;;; This file is part of GNU Guix. @@ -500,7 +500,18 @@ actual compiler." (string=? next (search-next "go"))) (cond ((string-prefix? "arm" psabi) - (setenv "GOARM" (string-take-right psabi 1))) + ;; Parse the psabi to set the correct value + (cond ((= 5 (string-length psabi)) + (setenv "GOARM" (string-take-right psabi 1))) + ((string=? "a" (string-take-right psabi 1)) + (let ((version + (string-filter + (string->char-set ".v" char-set:digit) + psabi))) + (setenv "GOARM64" + (if (= 2 (string-length version)) + (string-append version ".0") + version)))))) ((string-prefix? "powerpc" psabi) (setenv "GOPPC64" psabi)) ((string-prefix? "x86_64" psabi) |