diff --git a/acct-group/ollama/metadata.xml b/acct-group/ollama/metadata.xml index 4b04391722..b50d1379f8 100644 --- a/acct-group/ollama/metadata.xml +++ b/acct-group/ollama/metadata.xml @@ -2,7 +2,7 @@ - zdanevich.vitaly@ya.ru - Vitaly Zdanevich + negril.nx+gentoo@gmail.com + Paul Zander diff --git a/acct-user/ollama/metadata.xml b/acct-user/ollama/metadata.xml index 4b04391722..b50d1379f8 100644 --- a/acct-user/ollama/metadata.xml +++ b/acct-user/ollama/metadata.xml @@ -2,7 +2,7 @@ - zdanevich.vitaly@ya.ru - Vitaly Zdanevich + negril.nx+gentoo@gmail.com + Paul Zander diff --git a/app-editors/neovim-qt/Manifest b/app-editors/neovim-qt/Manifest index 2faaf5717e..d42739bb35 100644 --- a/app-editors/neovim-qt/Manifest +++ b/app-editors/neovim-qt/Manifest @@ -1,2 +1 @@ -DIST neovim-qt-0.2.17.tar.gz 1076230 BLAKE2B ab322d7f03bca40b4b3ee6e89a20dc04ec06d9ba3f49c0e658586f55e5219d13770078ed956a889dbe100836cb83cbc1829a39d60e9164e3bcb43ba085a72412 SHA512 ff290c6797c51ac23acd87ecd4c8d034321c4994c76b60f5d15626aa31db377090359d4bc681c6a9d0462ff5847269c35b95561ccd156600cf3f09f28ad4b8b2 -DIST neovim-qt-0.2.18.tar.gz 1078273 BLAKE2B 9ab288f7035e563022bfc22f04c45e02fe08bc5f705d95e862ea2cc71dc51d985c110fa104e512805418e79914461aa7098757a7024a9ddbae75b36c58dc94bc SHA512 39125492442793936f3a345a611df9613b08bf31caf39e6710ca25a38e2bbb1f11b7307d8f51985c6cb80ba752acffec09fffba1a81141edf18f557db1d994f6 +DIST neovim-qt-0.2.19.tar.gz 1080516 BLAKE2B 54b4f4798b5cf861e8dd57efab20a159589d186c78738bce90c7b80eb2724b51d1327a20e2c161e18e38459999fcaf29bab2dafc391062b02ee9e4e2aef9ff47 SHA512 97b03ecab3f9b6cb42f9bfb4c05b072ae9ea1708a86f3fe03698f55b3563fc2aeeeae3edc34b337af52b8138ddec03d6507ab1488a282611d18c7b564df250f9 diff --git a/app-editors/neovim-qt/files/neovim-qt-0.2.17-fix-finding-msgpack-6+.patch b/app-editors/neovim-qt/files/neovim-qt-0.2.17-fix-finding-msgpack-6+.patch deleted file mode 100644 index 85e532f41f..0000000000 --- a/app-editors/neovim-qt/files/neovim-qt-0.2.17-fix-finding-msgpack-6+.patch +++ /dev/null @@ -1,26 +0,0 @@ -# upstream commit: https://github.com/equalsraf/neovim-qt/commit/c6ae970 - -From c6ae9709237b6a55a705687afe4103646f34ac60 Mon Sep 17 00:00:00 2001 -From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> -Date: Sun, 5 Mar 2023 23:03:47 +0800 -Subject: [PATCH] Fix finding msgpack 6+ - -`libmsgpackc` was renamed to `libmsgpack-c` in 6.0.0. See -msgpack/msgpack-c#1053. ---- - cmake/FindMsgpack.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/FindMsgpack.cmake b/cmake/FindMsgpack.cmake -index 0e2013f9d..41e2d7b5c 100644 ---- a/cmake/FindMsgpack.cmake -+++ b/cmake/FindMsgpack.cmake -@@ -5,7 +5,7 @@ find_path(MSGPACK_INCLUDE_DIR - ) - - find_library(MSGPACK_LIBRARY -- NAMES msgpack msgpackc libmsgpack.a libmsgpackc.a -+ NAMES msgpack-c msgpack msgpackc libmsgpack.a libmsgpackc.a - ) - - mark_as_advanced(MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY) diff --git a/app-editors/neovim-qt/files/neovim-qt-0.2.17-only-require-Qt5Test-if-tests-are-enabled.patch b/app-editors/neovim-qt/files/neovim-qt-0.2.17-only-require-Qt5Test-if-tests-are-enabled.patch deleted file mode 100644 index 06ca1b0ed9..0000000000 --- a/app-editors/neovim-qt/files/neovim-qt-0.2.17-only-require-Qt5Test-if-tests-are-enabled.patch +++ /dev/null @@ -1,50 +0,0 @@ -# upstream PR: - -From dd334be1e113d9e0f2310cc35b620c5090d06e1f Mon Sep 17 00:00:00 2001 -From: tastytea -Date: Tue, 9 Aug 2022 15:32:08 +0200 -Subject: [PATCH] only require Qt5Test if tests are enabled - ---- - CMakeLists.txt | 2 +- - src/gui/shellwidget/CMakeLists.txt | 4 +++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8c77d27..ed02426 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -135,7 +135,6 @@ set(CMAKE_AUTOMOC ON) - find_package(Qt5Core REQUIRED) - find_package(Qt5Network REQUIRED) - find_package(Qt5Svg REQUIRED) --find_package(Qt5Test REQUIRED) - find_package(Qt5Widgets REQUIRED) - - if(Qt5Core_VERSION VERSION_LESS 5.8) -@@ -176,6 +175,7 @@ add_subdirectory(doc) - - option(ENABLE_TESTS "Build tests" ON) - if(ENABLE_TESTS) -+ find_package(Qt5Test REQUIRED) - enable_testing() - add_subdirectory(test) - add_subdirectory(src/gui/shellwidget/test) -diff --git a/src/gui/shellwidget/CMakeLists.txt b/src/gui/shellwidget/CMakeLists.txt -index f456c4a..41bc382 100644 ---- a/src/gui/shellwidget/CMakeLists.txt -+++ b/src/gui/shellwidget/CMakeLists.txt -@@ -9,7 +9,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) - # Qt - set(CMAKE_AUTOMOC ON) - find_package(Qt5Widgets REQUIRED) --find_package(Qt5Test REQUIRED) -+if(ENABLE_TESTS) -+ find_package(Qt5Test REQUIRED) -+endif() - - if (WIN32 AND USE_STATIC_QT) - add_definitions(-DUSE_STATIC_QT) --- -2.35.1 - diff --git a/app-editors/neovim-qt/neovim-qt-0.2.17-r1.ebuild b/app-editors/neovim-qt/neovim-qt-0.2.17-r1.ebuild deleted file mode 100644 index a1a758b5cd..0000000000 --- a/app-editors/neovim-qt/neovim-qt-0.2.17-r1.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake virtualx xdg - -DESCRIPTION="Neovim client library and GUI, in Qt5" -HOMEPAGE="https://github.com/equalsraf/neovim-qt" -SRC_URI="https://github.com/equalsraf/neovim-qt/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="test" - -COMMON_DEPEND=" - dev-libs/msgpack:= - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 -" -# NOTE: remove dejavu once -# is resolved -DEPEND=" - ${COMMON_DEPEND} - test? ( - dev-qt/qttest:5 - media-fonts/dejavu[X] - ) -" -RDEPEND=" - ${COMMON_DEPEND} - app-editors/neovim" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/${P}-only-require-Qt5Test-if-tests-are-enabled.patch - "${FILESDIR}"/${P}-fix-finding-msgpack-6+.patch -) -src_configure() { - local mycmakeargs=( - -DUSE_SYSTEM_MSGPACK=ON - -DUSE_GCOV=OFF - -DENABLE_TESTS=$(usex test) - -DBUILD_SHARED_LIBS=OFF # upstream explicitly builds static lib - ) - - cmake_src_configure -} - -src_test() { - virtx cmake_src_test -} diff --git a/app-editors/neovim-qt/neovim-qt-0.2.18-r1.ebuild b/app-editors/neovim-qt/neovim-qt-0.2.19.ebuild similarity index 72% rename from app-editors/neovim-qt/neovim-qt-0.2.18-r1.ebuild rename to app-editors/neovim-qt/neovim-qt-0.2.19.ebuild index 9dbb3629ba..8295b2c3ac 100644 --- a/app-editors/neovim-qt/neovim-qt-0.2.18-r1.ebuild +++ b/app-editors/neovim-qt/neovim-qt-0.2.19.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,41 +12,32 @@ SRC_URI="https://github.com/equalsraf/neovim-qt/archive/v${PV}.tar.gz -> ${P}.ta LICENSE="ISC" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="qt6 test" +IUSE="test" +RESTRICT="!test? ( test )" COMMON_DEPEND=" dev-libs/msgpack:= - !qt6? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - ) - qt6? ( - dev-qt/qtbase:6[gui,network,widgets] - dev-qt/qtsvg:6 - ) + dev-qt/qtbase:6[gui,network,widgets] + dev-qt/qtsvg:6 " # NOTE: see for dejavu dep DEPEND=" ${COMMON_DEPEND} - !qt6? ( dev-qt/qttest:5 ) test? ( media-fonts/dejavu[X] ) " RDEPEND=" ${COMMON_DEPEND} - app-editors/neovim" - -RESTRICT="!test? ( test )" + app-editors/neovim +" src_configure() { local mycmakeargs=( + -DREPRODUCIBLE_BUILD=ON -DUSE_SYSTEM_MSGPACK=ON -DUSE_GCOV=OFF -DENABLE_TESTS=$(usex test) -DBUILD_SHARED_LIBS=OFF # upstream explicitly builds static lib - -DWITH_QT=$(usex qt6 Qt6 Qt5) + -DWITH_QT=Qt6 ) cmake_src_configure diff --git a/app-misc/nerdfetch/Manifest b/app-misc/nerdfetch/Manifest index 6f2d5a617c..330a39204d 100644 --- a/app-misc/nerdfetch/Manifest +++ b/app-misc/nerdfetch/Manifest @@ -1 +1 @@ -DIST nerdfetch-8.2.1.tar.gz 5514 BLAKE2B ce31d001a769f580097404dd7b55142c25f75e1a680ce7d2e6b1ab81037812c39b762a8038cf1d5b17675e024ed34f45a2664e011ba1dc5a81f41e046a62d9e3 SHA512 5022fa65ea74ee208c347f04a656415a73cc04a657cd592a7839bc7fd1372a9fa242fc5c2584cdc78e4e6447ea96a37a2c24cce3226d0e8e28e8a769cc1ade35 +DIST nerdfetch-8.3.1.tar.gz 5494 BLAKE2B 5821977bae3d2e419e80f7f9c7fc0376c26a445e2de118bf3d69efcc3c0729036861a1bf846144bebf1df594e390fa04768c815f3c1b1ecc68326af5fa252c9c SHA512 d7d5b58b9aba656ca253add14a233093b92904199cf23f15f43f19a6e9d4cf147f60a1de6070b26704d83f2242fe6e9f7d43dd36e598e432e5c226acc1d6959d diff --git a/app-misc/nerdfetch/nerdfetch-8.2.1.ebuild b/app-misc/nerdfetch/nerdfetch-8.3.1.ebuild similarity index 93% rename from app-misc/nerdfetch/nerdfetch-8.2.1.ebuild rename to app-misc/nerdfetch/nerdfetch-8.3.1.ebuild index 6265b33b78..3762208dff 100644 --- a/app-misc/nerdfetch/nerdfetch-8.2.1.ebuild +++ b/app-misc/nerdfetch/nerdfetch-8.3.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/app-misc/nwg-look/Manifest b/app-misc/nwg-look/Manifest index 091f8de73c..f92003d807 100644 --- a/app-misc/nwg-look/Manifest +++ b/app-misc/nwg-look/Manifest @@ -2,3 +2,5 @@ DIST nwg-look-0.2.4-vendor.tar.xz 661292 BLAKE2B efc7b0083af61ac5dc21ecfc58feb91 DIST nwg-look-0.2.4.tar.gz 23389 BLAKE2B 3b036acd265b3b3defe2ba56388d8c5909047054b34a16c140f8b30e529d93214b4094d5f077a8cd80282b5f00dfde6f7f59de44e2a36bae5cc2749a207d6ee4 SHA512 8fd6521ebbabb7f0843da54e5dd02afc89c2a1f366c3c5d4317e434c465179ee9ada4ca4d602e5a0a21aa4624dda7b0eb880eb09f311ae4c4b55ad263757eff5 DIST nwg-look-0.2.5-vendor.tar.xz 661736 BLAKE2B de880226784f6aba90901d163a51312fd0db3f3ad11c1733e372d605a1772d6383acb64594b4f162a00da8685eec2ec5bc270b73f627ef7f5ca1cd5c722dbf3f SHA512 f1b24400dbfda7697f416f085a6c87056a9065365e5dce96292afed4086c1285d6d5e4da632504b0a87a08742948c045e599e62efc671c4618d6c826a15005f3 DIST nwg-look-0.2.5.tar.gz 23524 BLAKE2B 6e0ac8795dd3e630320837c2a22d3f8b40e2858c2c55c6e0a48f36530c557d42d7d011293f9ab700d8366e0fab574572da36072e37ffbca9db90459bd0e78159 SHA512 1e293ebf692bd9aebd2afaf35b43189d7db2640bf78c94d4393af2f948879a44f0bd6e70f5f346ca821c3da01d6415274d746a7c15901bdfeebe883fac18ea83 +DIST nwg-look-1.0.2.tar.gz 25237 BLAKE2B f165809395e661048ab5637458f05d05da69d8f66a394060e610478c49d0b9e0a8d69fa55b0a15ed38078fdeaf3eacc3b53a333659daeb57fc57813fd0e81b06 SHA512 dcc184c9079c78f484c786c54ac8672f178cfd792b08de97081b0ee80f80856235436a9b995e6fa348e24c3184d9ab1956357f41ba3e99719c76ead82824e1f5 +DIST nwg-look-vendor-1.0.2.tar.xz 702052 BLAKE2B 4b945ca5541491a4a244498a47296b533e60dce23120170d04dcda0f7f0c43c62ef2fd8892ec106ca1d2753b36cb4e64a7f2a0fcd8fdfef894fed9329eb22d90 SHA512 d8f9ef26fbc39aa7256d78c00652b59c2b5a41e40955037b31db8372f03c68838bbbf3f8679112bd2e215bb0e171c05c9c2ba96f0dc12ae52753c9430b3aa0c1 diff --git a/app-misc/nwg-look/nwg-look-1.0.2.ebuild b/app-misc/nwg-look/nwg-look-1.0.2.ebuild new file mode 100644 index 0000000000..f63add9102 --- /dev/null +++ b/app-misc/nwg-look/nwg-look-1.0.2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="GTK settings editor adapted to work on wlroots-based compositors" +HOMEPAGE="https://github.com/nwg-piotr/nwg-look" +SRC_URI=" + https://github.com/nwg-piotr/nwg-look/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://slackware.lngn.net/pub/source/nwg-look/${PN}-vendor-${PV}.tar.xz +" + +inherit desktop go-module xdg + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz + x11-apps/xcur2png + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/pango +" +RDEPEND="${DEPEND}" + +DOCS=( README.md ) + +src_unpack() { + default + mv -v vendor "${S}" || die +} + +src_compile() { + ego build +} + +src_install() { + insinto /usr/share/nwg-look + doins stuff/main.glade + doins -r langs + + insinto /usr/share/pixmaps + doins stuff/nwg-look.svg + + domenu stuff/nwg-look.desktop + + dobin nwg-look + + einstalldocs +} diff --git a/app-misc/ollama/files/ollama-0.5.7-include-cstdint.patch b/app-misc/ollama/files/ollama-0.5.7-include-cstdint.patch new file mode 100644 index 0000000000..14975ca425 --- /dev/null +++ b/app-misc/ollama/files/ollama-0.5.7-include-cstdint.patch @@ -0,0 +1,24 @@ +From d711567ba482e80520b5cc36026c80f55f721319 Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Sat, 25 Jan 2025 19:00:31 +0100 +Subject: [PATCH] include cstdint + +--- + llama/llama-mmap.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llama/llama-mmap.h b/llama/llama-mmap.h +index ebd7dc16..4c8e3929 100644 +--- a/llama/llama-mmap.h ++++ b/llama/llama-mmap.h +@@ -26,6 +26,7 @@ + + #pragma once + ++#include + #include + #include + +-- +2.48.0 + diff --git a/app-misc/ollama/files/ollama-9999-include-cstdint.patch b/app-misc/ollama/files/ollama-9999-include-cstdint.patch new file mode 100644 index 0000000000..906d194bfc --- /dev/null +++ b/app-misc/ollama/files/ollama-9999-include-cstdint.patch @@ -0,0 +1,21 @@ +From 7aa9bca5dfd47bd2c88726d53c07107f9a5daccf Mon Sep 17 00:00:00 2001 +From: Paul Zander +Date: Fri, 31 Jan 2025 22:54:29 +0100 +Subject: [PATCH] include cstdint + +Signed-off-by: Paul Zander + +diff --git a/llama/llama.cpp/src/llama-mmap.h b/llama/llama.cpp/src/llama-mmap.h +index 6bcddee8..8a63b8fd 100644 +--- a/llama/llama.cpp/src/llama-mmap.h ++++ b/llama/llama.cpp/src/llama-mmap.h +@@ -1,5 +1,6 @@ + #pragma once + ++#include + #include + #include + +-- +2.48.1 + diff --git a/app-misc/ollama/files/ollama b/app-misc/ollama/files/ollama.init similarity index 89% rename from app-misc/ollama/files/ollama rename to app-misc/ollama/files/ollama.init index 9359f48a12..17e6328995 100644 --- a/app-misc/ollama/files/ollama +++ b/app-misc/ollama/files/ollama.init @@ -1,4 +1,6 @@ #!/sbin/openrc-run +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License, v2 description="Ollama Service" command="/usr/bin/ollama" diff --git a/app-misc/ollama/metadata.xml b/app-misc/ollama/metadata.xml index 4ebf012287..a9e97c52bf 100644 --- a/app-misc/ollama/metadata.xml +++ b/app-misc/ollama/metadata.xml @@ -1,13 +1,14 @@ - - zdanevich.vitaly@ya.ru - Vitaly Zdanevich - A copy from https://github.com/MrPenguin07/ebuilds/tree/master/dev-ml/ollama + + negril.nx+gentoo@gmail.com + Paul Zander Enable NVIDIA CUDA support + Use sci-libs/mkl for blas, lapack and sparse blas routines + Enable ROCm gpu computing support ollama/ollama diff --git a/app-misc/ollama/ollama-0.5.7-r1.ebuild b/app-misc/ollama/ollama-0.5.7-r1.ebuild new file mode 100644 index 0000000000..e957419361 --- /dev/null +++ b/app-misc/ollama/ollama-0.5.7-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=6.1 +inherit cuda rocm +inherit go-module + +DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models." +HOMEPAGE="https://ollama.com" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ollama/ollama.git" +else + SRC_URI=" + https://github.com/ollama/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/Tapchicoma/ebuild-deps/raw/refs/heads/main/go-deps/${PN}-${PV}-deps.tar.xz + " + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +SLOT="0" + +X86_CPU_FLAGS=( + avx + avx2 + avx512f + avx512vbmi + avx512_vnni + avx512_bf16 +) +CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" ) +IUSE="${CPU_FLAGS[*]} cuda rocm" + +REQUIRED_USE=" + cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx512f? ( cpu_flags_x86_avx2 ) + cpu_flags_x86_avx512vbmi? ( cpu_flags_x86_avx512f ) + cpu_flags_x86_avx512_vnni? ( cpu_flags_x86_avx512f ) + cpu_flags_x86_avx512_bf16? ( cpu_flags_x86_avx512f ) +" + +DEPEND=" + >=dev-lang/go-1.23.4 + cuda? ( + dev-util/nvidia-cuda-toolkit:= + ) + rocm? ( + >=sci-libs/hipBLAS-${ROCM_VERSION}:=[${ROCM_USEDEP}] + ) +" + +RDEPEND=" + acct-group/${PN} + acct-user/${PN} +" + +PATCHES=( + "${FILESDIR}/${PN}-0.5.7-include-cstdint.patch" +) + +pkg_pretend() { + if use rocm; then + ewarn "WARNING: AMD support in this ebuild are experimental" + einfo "If you run into issues, especially compiling dev-libs/rocm-opencl-runtime" + einfo "you may try the docker image here https://github.com/ROCm/ROCm-docker" + einfo "and follow instructions here" + einfo "https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html" + fi +} + +src_prepare() { + default + + sed \ + -e "s/(CFLAGS)/(NVCCFLAGS)/g" \ + -e "s/(CXXFLAGS)/(NVCCFLAGS)/g" \ + -i make/cuda.make || die + + if use rocm; then + # --hip-version gets appended to the compile flags which isn't a known flag. + # This causes rocm builds to fail because -Wunused-command-line-argument is turned on. + # Use nuclear option to fix this. + # Disable -Werror's from go modules. + find "${S}" -name ".go" -exec sed -i "s/ -Werror / /g" {} + || die + fi +} + +src_configure() { + local CUSTOM_CPU_FLAGS=() + use cpu_flags_x86_avx && CUSTOM_CPU_FLAGS+=( "avx" ) + use cpu_flags_x86_avx2 && CUSTOM_CPU_FLAGS+=( "avx2" ) + use cpu_flags_x86_avx512f && CUSTOM_CPU_FLAGS+=( "avx512" ) + use cpu_flags_x86_avx512vbmi && CUSTOM_CPU_FLAGS+=( "avx512vbmi" ) + use cpu_flags_x86_avx512_vnni && CUSTOM_CPU_FLAGS+=( "avx512vnni" ) + use cpu_flags_x86_avx512_bf16 && CUSTOM_CPU_FLAGS+=( "avx512bf16" ) + + # Build basic ollama executable with cpu features built in + emakeargs=( + # CCACHE="" + "CUSTOM_CPU_FLAGS=$( IFS=','; echo "${CUSTOM_CPU_FLAGS[*]}")" + ) + + if use cuda; then + export NVCC_CCBIN + NVCC_CCBIN="$(cuda_gccdir)" + + if [[ -n ${CUDAARCHS} ]]; then + emakeargs+=( + CUDA_ARCHITECTURES="${CUDAARCHS}" + ) + fi + + if has_version "=dev-util/nvidia-cuda-toolkit-12*"; then + emakeargs+=( + CUDA_12_COMPILER="${CUDA_PATH:=${EPREFIX}/opt/cuda}/bin/nvcc" + CUDA_12_PATH="${CUDA_PATH:=${EPREFIX}/opt/cuda}" + ) + fi + + if has_version "=dev-util/nvidia-cuda-toolkit-11*"; then + emakeargs+=( + CUDA_11_COMPILER="${CUDA_PATH:=${EPREFIX}/opt/cuda}/bin/nvcc" + CUDA_11_PATH="${CUDA_PATH:=${EPREFIX}/opt/cuda}" + ) + fi + + cuda_add_sandbox -w + else + emakeargs+=( OLLAMA_SKIP_CUDA_GENERATE="1" ) + fi + + if use rocm; then + emakeargs+=( + HIP_ARCHS="$(get_amdgpu_flags)" + HIP_PATH="${EPREFIX}/usr" + ) + + check_amdgpu + else + emakeargs+=( OLLAMA_SKIP_ROCM_GENERATE="1" ) + fi + + emake "${emakeargs[@]}" help-runners + export emakeargs +} + +src_compile() { + emake "${emakeargs[@]}" dist +} + +src_install() { + dobin "dist/linux-${ARCH}/bin/ollama" + + if [[ -d "dist/linux-${ARCH}/lib/ollama" ]] ; then + insinto /usr/lib + doins -r "dist/linux-${ARCH}/lib/ollama" + fi + + doinitd "${FILESDIR}"/ollama.init +} + +pkg_preinst() { + keepdir /var/log/ollama + fowners ollama:ollama /var/log/ollama +} + +pkg_postinst() { + einfo "Quick guide:" + einfo "ollama serve" + einfo "ollama run llama3:70b" + einfo "See available models at https://ollama.com/library" +} diff --git a/app-misc/ollama/ollama-0.5.7.ebuild b/app-misc/ollama/ollama-0.5.7.ebuild deleted file mode 100644 index f1373d6fac..0000000000 --- a/app-misc/ollama/ollama-0.5.7.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ROCM_VERSION=6.1 -inherit go-module rocm - -DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models." -HOMEPAGE="https://ollama.com" -SRC_URI="https://github.com/ollama/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" -SRC_URI+=" https://github.com/Tapchicoma/ebuild-deps/raw/refs/heads/main/go-deps/${PN}-${PV}-deps.tar.xz" -S="${WORKDIR}/${PN}-${PV}" -LICENSE="MIT" -SLOT="0" - -KEYWORDS="~amd64" - -IUSE="cuda video_cards_amdgpu -cpu_flags_x86_avx cpu_flags_x86_avx2 -cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_avx512_vnni cpu_flags_x86_avx512_bf16 -" - -REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx512f? ( cpu_flags_x86_avx2 ) - cpu_flags_x86_avx512vbmi? ( cpu_flags_x86_avx512f ) - cpu_flags_x86_avx512_vnni? ( cpu_flags_x86_avx512f ) - cpu_flags_x86_avx512_bf16? ( cpu_flags_x86_avx512f ) -" - -RDEPEND=" - acct-group/ollama - acct-user/ollama -" - -DEPEND=" - >=dev-lang/go-1.23.4 - >=dev-build/cmake-3.24 - >=sys-devel/gcc-11.4.0 - cuda? ( dev-util/nvidia-cuda-toolkit ) - video_cards_amdgpu? ( - sci-libs/hipBLAS[${ROCM_USEDEP}] - ) -" - -pkg_pretend() { - if use video_cards_amdgpu; then - ewarn "WARNING: AMD support in this ebuild are experimental" - einfo "If you run into issues, especially compiling dev-libs/rocm-opencl-runtime" - einfo "you may try the docker image here https://github.com/ROCm/ROCm-docker" - einfo "and follow instructions here" - einfo "https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html" - fi -} - -src_prepare() { - default - - if use video_cards_amdgpu; then - # --hip-version gets appended to the compile flags which isn't a known flag. - # This causes rocm builds to fail because -Wunused-command-line-argument is turned on. - # Use nuclear option to fix this. - # Disable -Werror's from go modules. - find "${S}" -name ".go" -exec sed -i "s/ -Werror / /g" {} + || die - fi -} - -src_compile() { - CUSTOM_CPU_FLAGS="" - use cpu_flags_x86_avx && CUSTOM_CPU_FLAGS+="avx" - use cpu_flags_x86_avx2 && CUSTOM_CPU_FLAGS+=",avx2" - use cpu_flags_x86_avx512f && CUSTOM_CPU_FLAGS+=",avx512" - use cpu_flags_x86_avx512vbmi && CUSTOM_CPU_FLAGS+=",avx512vbmi" - use cpu_flags_x86_avx512_vnni && CUSTOM_CPU_FLAGS+=",avx512vnni" - use cpu_flags_x86_avx512_bf16 && CUSTOM_CPU_FLAGS+=",avx512bf16" - - # Build basic ollama executable with cpu features built in - export CUSTOM_CPU_FLAGS - - if use video_cards_amdgpu; then - export HIP_ARCHS=$(get_amdgpu_flags) - export HIP_PATH="/usr" - else - export OLLAMA_SKIP_ROCM_GENERATE=1 - fi - - if ! use cuda; then - export OLLAMA_SKIP_CUDA_GENERATE=1 - fi - emake dist -} - -src_install() { - dobin dist/linux-${ARCH}/bin/ollama - - if [[ -d "dist/linux-${ARCH}/lib/ollama" ]] ; then - insinto /usr/lib - doins -r dist/linux-${ARCH}/lib/ollama - fi - - doinitd "${FILESDIR}"/ollama -} - -pkg_preinst() { - keepdir /var/log/ollama - fowners ollama:ollama /var/log/ollama -} - -pkg_postinst() { - einfo "Quick guide:" - einfo "ollama serve" - einfo "ollama run llama3:70b" - einfo "See available models at https://ollama.com/library" -} diff --git a/app-misc/ollama/ollama-9999.ebuild b/app-misc/ollama/ollama-9999.ebuild index f0d2f0be26..79153a59f9 100644 --- a/app-misc/ollama/ollama-9999.ebuild +++ b/app-misc/ollama/ollama-9999.ebuild @@ -4,61 +4,153 @@ EAPI=8 ROCM_VERSION=6.1 -inherit git-r3 go-module rocm +inherit cuda rocm +inherit cmake +inherit go-module toolchain-funcs DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models." HOMEPAGE="https://ollama.com" -EGIT_REPO_URI="https://github.com/ollama/ollama.git" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ollama/ollama.git" +else + KEYWORDS="~amd64" +fi + LICENSE="MIT" SLOT="0" -IUSE="cuda video_cards_amdgpu -cpu_flags_x86_avx cpu_flags_x86_avx2 -cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_avx512_vnni cpu_flags_x86_avx512_bf16 -" +X86_CPU_FLAGS=( + avx + f16c + avx2 + fma3 + avx512f + avx512vbmi + avx512_vnni + avx512_bf16 + avx_vnni + amx_tile + amx_int8 +) +CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" ) +IUSE="${CPU_FLAGS[*]} cuda blas mkl rocm" +# IUSE+=" opencl vulkan" -REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx512f? ( cpu_flags_x86_avx2 ) - cpu_flags_x86_avx512vbmi? ( cpu_flags_x86_avx512f ) - cpu_flags_x86_avx512_vnni? ( cpu_flags_x86_avx512f ) - cpu_flags_x86_avx512_bf16? ( cpu_flags_x86_avx512f ) -" - -RDEPEND=" - acct-group/ollama - acct-user/ollama -" -IDEPEND="${RDEPEND}" -BDEPEND=" - >=dev-lang/go-1.23.4 - >=dev-build/cmake-3.24 - >=sys-devel/gcc-11.4.0 - cuda? ( dev-util/nvidia-cuda-toolkit ) - video_cards_amdgpu? ( - =sci-libs/hipBLAS-${ROCM_VERSION}* +COMMON_DEPEND=" + cuda? ( + dev-util/nvidia-cuda-toolkit:= + ) + blas? ( + !mkl? ( + virtual/blas + ) + mkl? ( + sci-libs/mkl + ) + ) + rocm? ( + >=sci-libs/hipBLAS-${ROCM_VERSION}:=[${ROCM_USEDEP}] ) " -pkg_pretend() { - if use video_cards_amdgpu || use cuda; then - ewarn "WARNING: AMD & Nvidia support in this ebuild are experimental" - einfo "If you run into issues, especially compiling dev-libs/rocm-opencl-runtime" - einfo "you may try the docker image here https://github.com/ROCm/ROCm-docker" - einfo "and follow instructions here" - einfo "https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html" +DEPEND=" + ${COMMON_DEPEND} + >=dev-lang/go-1.23.4 +" + +RDEPEND=" + ${COMMON_DEPEND} + acct-group/${PN} + acct-user/${PN} +" + +PATCHES=( + "${FILESDIR}/${PN}-9999-include-cstdint.patch" +) + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack fi } -src_unpack() { - git-r3_src_unpack - go-module_live_vendor -} - src_prepare() { - default + cmake_src_prepare - if use video_cards_amdgpu; then + sed -e "/set(GGML_CCACHE/s/ON/OFF/g" -i CMakeLists.txt || die + + if use amd64; then + if ! use cpu_flags_x86_avx; then + sed -e "/ggml_add_cpu_backend_variant(sandybridge/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + # AVX) + fi + if + ! use cpu_flags_x86_avx || + ! use cpu_flags_x86_f16c || + ! use cpu_flags_x86_avx2 || + ! use cpu_flags_x86_fma3; then + sed -e "/ggml_add_cpu_backend_variant(haswell/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + # AVX F16C AVX2 FMA) + fi + if + ! use cpu_flags_x86_avx || + ! use cpu_flags_x86_f16c || + ! use cpu_flags_x86_avx2 || + ! use cpu_flags_x86_fma3 || + ! use cpu_flags_x86_avx512f; then + sed -e "/ggml_add_cpu_backend_variant(skylakex/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + # AVX F16C AVX2 FMA AVX512) + fi + if + ! use cpu_flags_x86_avx || + ! use cpu_flags_x86_f16c || + ! use cpu_flags_x86_avx2 || + ! use cpu_flags_x86_fma3 || + ! use cpu_flags_x86_avx512f || + ! use cpu_flags_x86_avx512vbmi || + ! use cpu_flags_x86_avx512_vnni; then + sed -e "/ggml_add_cpu_backend_variant(icelake/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + # AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI) + fi + if + ! use cpu_flags_x86_avx || + ! use cpu_flags_x86_f16c || + ! use cpu_flags_x86_avx2 || + ! use cpu_flags_x86_fma3 || + ! use cpu_flags_x86_avx_vnni; then + sed -e "/ggml_add_cpu_backend_variant(alderlake/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + # AVX F16C AVX2 FMA AVX_VNNI) + fi + + if + ! use cpu_flags_x86_avx || + ! use cpu_flags_x86_f16c || + ! use cpu_flags_x86_avx2 || + ! use cpu_flags_x86_fma3 || + ! use cpu_flags_x86_avx512f || + ! use cpu_flags_x86_avx512vbmi || + ! use cpu_flags_x86_avx512_vnni || + ! use cpu_flags_x86_avx512_bf16 || + ! use cpu_flags_x86_amx_tile || + ! use cpu_flags_x86_amx_int8 ; then + sed -e "/ggml_add_cpu_backend_variant(sapphirerapids/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die + #AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI AVX512_BF16 AMX_TILE AMX_INT8) + fi + : # ml/backend/ggml/ggml/src/CMakeLists.txt + fi + + # default + # return + if use cuda; then + cuda_src_prepare + fi + + if use rocm; then # --hip-version gets appended to the compile flags which isn't a known flag. # This causes rocm builds to fail because -Wunused-command-line-argument is turned on. # Use nuclear option to fix this. @@ -67,45 +159,124 @@ src_prepare() { fi } -src_compile() { - CUSTOM_CPU_FLAGS="" - use cpu_flags_x86_avx && CUSTOM_CPU_FLAGS+="avx" - use cpu_flags_x86_avx2 && CUSTOM_CPU_FLAGS+=",avx2" - use cpu_flags_x86_avx512f && CUSTOM_CPU_FLAGS+=",avx512" - use cpu_flags_x86_avx512vbmi && CUSTOM_CPU_FLAGS+=",avx512vbmi" - use cpu_flags_x86_avx512_vnni && CUSTOM_CPU_FLAGS+=",avx512vnni" - use cpu_flags_x86_avx512_bf16 && CUSTOM_CPU_FLAGS+=",avx512bf16" +src_configure() { + local mycmakeargs=( + -DGGML_CCACHE="no" - # Build basic ollama executable with cpu features built in - export CUSTOM_CPU_FLAGS + -DGGML_BLAS="$(usex blas)" + # -DGGML_CUDA="$(usex cuda)" + # -DGGML_HIP="$(usex rocm)" - if use video_cards_amdgpu; then - export HIP_ARCHS=$(get_amdgpu_flags) - export HIP_PATH="/usr" + # -DGGML_METAL="yes" # apple + # missing from ml/backend/ggml/ggml/src/ + # -DGGML_CANN="yes" + # -DGGML_MUSA="yes" + # -DGGML_RPC="yes" + # -DGGML_SYCL="yes" + # -DGGML_KOMPUTE="$(usex kompute)" + # -DGGML_OPENCL="$(usex opencl)" + # -DGGML_VULKAN="$(usex vulkan)" + ) + + if use blas; then + if use mkl; then + mycmakeargs+=( + -DGGML_BLAS_VENDOR="Intel" + ) + else + mycmakeargs+=( + -DGGML_BLAS_VENDOR="Generic" + ) + fi + fi + if use cuda; then + local -x CUDAHOSTCXX CUDAHOSTLD + CUDAHOSTCXX="$(cuda_gccdir)" + CUDAHOSTLD="$(tc-getCXX)" + + cuda_add_sandbox -w else - export OLLAMA_SKIP_ROCM_GENERATE=1 + mycmakeargs+=( + -DCMAKE_CUDA_COMPILER="NOTFOUND" + ) fi - if ! use cuda; then - export OLLAMA_SKIP_CUDA_GENERATE=1 + if use rocm; then + mycmakeargs+=( + -DCMAKE_HIP_PLATFORM="amd" + ) + local -x HIP_ARCHS=$(get_amdgpu_flags) + local -x HIP_PATH="/usr" + + check_amdgpu + else + mycmakeargs+=( + -DCMAKE_HIP_COMPILER="NOTFOUND" + ) fi - emake dist + + cmake_src_configure + + # if ! use cuda && ! use rocm; then + # # to configure and build only CPU variants + # set -- cmake --preset Default "${mycmakeargs[@]}" + # fi + + # if use cuda; then + # # to configure and build only CUDA + # set -- cmake --preset CUDA "${mycmakeargs[@]}" + # fi + + # if use rocm; then + # # to configure and build only ROCm + # set -- cmake --preset ROCm "${mycmakeargs[@]}" + # fi + + # echo "$@" >&2 + # "$@" || die -n "${*} failed" +} + +src_compile() { + ego build + + cmake_src_compile + + # if ! use cuda && ! use rocm; then + # # to configure and build only CPU variants + # set -- cmake --build --preset Default -j16 + # fi + + # if use cuda; then + # # to configure and build only CUDA + # set -- cmake --build --preset CUDA -j16 + # fi + + # if use rocm; then + # # to configure and build only ROCm + # set -- cmake --build --preset ROCm -j16 + # fi + + # echo "$@" >&2 + # "$@" || die -n "${*} failed" } src_install() { - dobin dist/linux-${ARCH}/bin/ollama + dobin ollama - if [[ -d "dist/linux-${ARCH}/lib/ollama" ]] ; then - insinto /usr/lib - doins -r dist/linux-${ARCH}/lib/ollama + cmake_src_install + + if use cuda; then + # remove the copied cuda files... + rm "${ED}/usr/lib/ollama"/cuda_*/libcu*.so* || die fi - doinitd "${FILESDIR}"/ollama + doinitd "${FILESDIR}"/ollama.init } pkg_preinst() { keepdir /var/log/ollama - fowners ollama:ollama /var/log/ollama + # fowners ollama:ollama /var/log/ollama + fperms 777 /var/log/ollama } pkg_postinst() { diff --git a/dev-build/xmake/Manifest b/dev-build/xmake/Manifest index e25ece03ef..ae81c6a45f 100644 --- a/dev-build/xmake/Manifest +++ b/dev-build/xmake/Manifest @@ -1 +1 @@ -DIST xmake-v2.9.7.tar.gz 2970667 BLAKE2B 98824d68d3311f9269cf4fcdd47a85a3f659e61ed20a60cc9b1a474afa40346fecac66c4c847e5a2b1faa80dc00caef03d0db94c4a115efbe9fb45b2cfe0a864 SHA512 4ae6beb0ee6d33114e2f4df51789481d8383bbb6655999267a08c3b500af2dafdbc916a80ffbc2f5a2df79d79f74f26fe7201d1f3d1eb8d2658d28d396593496 +DIST xmake-v2.9.8.tar.gz 2991604 BLAKE2B 3c1f91a1d9d64d748c333b92a138cf76f05e9bb5723f7831ee9806e77d62db46a055c5260f5aeaf863c1a52329de6053ab15da1ce3921ede204785b344de5832 SHA512 18d5803508131e700aadb3f8062f99d90e5d36f5dfa37ef93017b5dc87015c3e2a40c6793b0f3b1ecf30331984d4cdabcbf5add72c20d7377832e2029b3af96a diff --git a/dev-build/xmake/xmake-2.9.7.ebuild b/dev-build/xmake/xmake-2.9.8.ebuild similarity index 100% rename from dev-build/xmake/xmake-2.9.7.ebuild rename to dev-build/xmake/xmake-2.9.8.ebuild diff --git a/dev-util/distribution-gpg-keys/Manifest b/dev-util/distribution-gpg-keys/Manifest index 3ded652bee..e369f576cc 100644 --- a/dev-util/distribution-gpg-keys/Manifest +++ b/dev-util/distribution-gpg-keys/Manifest @@ -1 +1 @@ -DIST distribution-gpg-keys-1.108-1.tar.gz 79078627 BLAKE2B cf6b68a565ddc021701c44bdc4ed56790ab8583398822d12638bf012d5ec598590b18db167dec8cc7b9361ee9e5d9f5a062a7af6b8d79adf7126ac4a9556928e SHA512 1e3b5ee698706d5a86ed61d3a0916bef9d72361b0993543abef7665c7e681b24e405d1dc4a7c095e8ff2a857bc79bed68f7401269fe1f7cf3ab8e84daaea8945 +DIST distribution-gpg-keys-1.109-1.tar.gz 79331959 BLAKE2B b7e983fa20a2c8201b9456d6b8b1621be3e6ff86f7bab33e1b06996deb842d2025e5cf3f1b6ff3a13a51f3019e147b1401f311d7be296df5a5a24c98388b776c SHA512 6c6c4d36108152b2bb75bd028d35a446390e38b1aebcec370d14e5438ec413d23dc4e444cb00c0196b5c275408e032d83fb501cfce5c8a0110811db66f1a55ec diff --git a/dev-util/distribution-gpg-keys/distribution-gpg-keys-1.108.ebuild b/dev-util/distribution-gpg-keys/distribution-gpg-keys-1.109.ebuild similarity index 100% rename from dev-util/distribution-gpg-keys/distribution-gpg-keys-1.108.ebuild rename to dev-util/distribution-gpg-keys/distribution-gpg-keys-1.109.ebuild diff --git a/media-libs/wivrn/Manifest b/media-libs/wivrn/Manifest index 65df552853..0af943d454 100644 --- a/media-libs/wivrn/Manifest +++ b/media-libs/wivrn/Manifest @@ -1,2 +1,4 @@ DIST wivrn-0.22-server-build-deps.tar.xz 21634036 BLAKE2B 1b6ddb85617f02c683d3da1908e4afa92ca620ebace42c6030ece9cabde1311d4262bcd02a66166bf19a247b149f9bdeec3cfa21abbbb0a5cbadb0c97f0e0317 SHA512 98b99adb3b00fca1a1650f0cd082cb363da66c3245976a51ede6fa7117f52c1fec3269644d6917111897e3e2c972a6b9ea12c78882fed49bafec9ad83e6e512f DIST wivrn-0.22.tar.gz 11159586 BLAKE2B e83b3d95ad92c752e39d5233c2636f5cf095183880fa12a08589afa1e645a5ea7b41cdb985c5f43107c03c0c1aa3b13718cc4f9ddf7da9f4f7d1159a9057bfe0 SHA512 24fc6f36e4c9345a9f3fc3e6c2c47fbee5cdbc2f9864e58e5750209f58e32c40e08d48d091d7b2d5a2d161c4017642e3747799d8efc3e7bc5d6d040191022536 +DIST wivrn-0.23-server-build-deps.tar.xz 21726340 BLAKE2B 74fe5f67c6e5e4e068799a891af78c259227cae67ac89676653c01bb8386fda3be0e305095977e8c452741881309b09b9b454991f123625efae6ef1de338afe7 SHA512 c6101e75f001fbafd62928be73238c17fd10f18f3c78893ec0c5a342dbb98979605818bfe6fc10c03ec657ceb4742e5763b07003a6d7d8bcd8736a34c07f84d7 +DIST wivrn-0.23.tar.gz 11176178 BLAKE2B 49515a1149ed2412caf2b83867873a47cf440e072f3f7fd8bde66f2fa358f9bdaa6f7e18e723e2d99fc3e26d696c7edfed8279e853b71ac7b66f16a362b267a5 SHA512 93110ce936a3e210ac3093cbee043c087b3241d921f900c62dd9003cbdeff9c5399f322d2f87b6144aacd34c7f1ad3ea9d67e2565a7cd08ad20b1e9a62cda61d diff --git a/media-libs/wivrn/wivrn-0.23.ebuild b/media-libs/wivrn/wivrn-0.23.ebuild new file mode 100644 index 0000000000..8810055098 --- /dev/null +++ b/media-libs/wivrn/wivrn-0.23.ebuild @@ -0,0 +1,154 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake fcaps xdg + +DESCRIPTION="WiVRn OpenXR streaming" +HOMEPAGE="https://github.com/WiVRn/WiVRn" + +LICENSE="GPL-3 Apache-2.0 MIT" +SLOT="0" +IUSE="gui nvenc +pipewire pulseaudio systemd vaapi wireshark-plugins x264" +REQUIRED_USE="|| ( nvenc vaapi x264 )" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/WiVRn/WiVRn.git" + MONADO_REPO_URI="https://gitlab.freedesktop.org/monado/monado.git" +else + SRC_URI=" + https://github.com/WiVRn/WiVRn/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/WiVRn/WiVRn/releases/download/v${PV}/server-build-deps.tar.xz -> ${P}-server-build-deps.tar.xz" + KEYWORDS="~amd64" +fi + +RDEPEND=" + dev-libs/glib + dev-libs/libbsd + dev-libs/openssl + media-libs/openxr-loader + net-dns/avahi + x11-libs/libnotify + || ( + sys-apps/systemd + sys-auth/elogind + ) + gui? ( + dev-libs/qcoro + kde-frameworks/kcoreaddons:6 + kde-frameworks/ki18n:6 + kde-frameworks/kiconthemes:6 + kde-frameworks/kirigami:6 + kde-frameworks/qqc2-desktop-style:6 + ) + pipewire? ( + media-video/pipewire + ) + pulseaudio? ( + media-libs/libpulse + ) + systemd? ( + sys-apps/systemd + ) + vaapi? ( + media-video/ffmpeg[libdrm,vaapi] + ) + wireshark-plugins? ( + net-analyzer/wireshark + ) + x264? ( + media-libs/x264 + ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/cli11 + dev-cpp/eigen + dev-cpp/nlohmann_json + dev-libs/boost +" +BDEPEND=" + dev-util/glslang + dev-util/gdbus-codegen + gui? ( + gnome-base/librsvg + ) + dev-util/vulkan-headers +" + +if [[ ${PV} == 9999 ]]; then + src_unpack() { + git-r3_src_unpack + default_src_unpack + + local MONADO_COMMIT=$(grep "GIT_TAG" "${P}/CMakeLists.txt" | awk '{print $2}' | tail -1) + git-r3_fetch "${MONADO_REPO_URI}" "${MONADO_COMMIT}" + git-r3_checkout "${MONADO_REPO_URI}" "${WORKDIR}/monado-src" + } + + src_prepare() { + default_src_prepare + eapply --directory="${WORKDIR}/monado-src" "${WORKDIR}/${P}/patches/monado"/* + cmake_src_prepare + } +else + src_unpack() { + default_src_unpack + cd "${WORKDIR}" + mv "WiVRn-${PV}" "${P}" + } +fi + +src_configure() { + if [[ ${PV} == 9999 ]]; then + GIT_DESC=$(git describe --tags --always) + GIT_COMMIT=$(git rev-parse HEAD) + else + GIT_DESC=v${PV} + GIT_COMMIT=v${PV} + fi + local mycmakeargs=( + -DGIT_DESC=${GIT_DESC} + -DGIT_COMMIT=${GIT_COMMIT} + -DWIVRN_BUILD_CLIENT=OFF + -DWIVRN_BUILD_SERVER=ON + -DWIVRN_OPENXR_MANIFEST_TYPE=relative + -DWIVRN_BUILD_DASHBOARD=$(usex gui) + -DWIVRN_BUILD_DISSECTOR=$(usex wireshark-plugins) + -DWIVRN_BUILD_WIVRNCTL=ON + -DWIVRN_USE_PIPEWIRE=$(usex pipewire) + -DWIVRN_USE_PULSEAUDIO=$(usex pulseaudio) + -DWIVRN_USE_NVENC=$(usex nvenc) + -DWIVRN_USE_VAAPI=$(usex vaapi) + -DWIVRN_USE_VULKAN_ENCODE=ON + -DWIVRN_USE_X264=$(usex x264) + -DWIVRN_USE_SYSTEMD=$(usex systemd) + -DWIVRN_USE_SYSTEM_OPENXR=ON + -DWIVRN_USE_SYSTEM_BOOST=ON + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_BASE_DIR="${WORKDIR}" + -DENABLE_COLOURED_OUTPUT=OFF + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + dosym -r /usr/share/openxr/1/openxr_wivrn.json /etc/openxr/1/active_runtime.json +} + +pkg_postinst() +{ + fcaps cap_sys_nice bin/wivrn-server + xdg_pkg_postinst + elog "WiVRn requires a compatible client on VR headset to run." + if [[ ${PV} == 9999 ]]; then + elog "For most headsets it can be downloaded from CI artifacts on https://github.com/WiVRn/WiVRn/actions/workflows/Build.yml" + else + elog "For most headsets it can be downloaded on https://github.com/WiVRn/WiVRn/releases/tag/v${PV}" + fi +} diff --git a/media-libs/wivrn/wivrn-9999.ebuild b/media-libs/wivrn/wivrn-9999.ebuild index 9c08c94bc9..8810055098 100644 --- a/media-libs/wivrn/wivrn-9999.ebuild +++ b/media-libs/wivrn/wivrn-9999.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/WiVRn/WiVRn" LICENSE="GPL-3 Apache-2.0 MIT" SLOT="0" -IUSE="gui nvenc +pipewire pulseaudio systemd vaapi vulkan-encode wireshark-plugins x264" +IUSE="gui nvenc +pipewire pulseaudio systemd vaapi wireshark-plugins x264" REQUIRED_USE="|| ( nvenc vaapi x264 )" if [[ ${PV} == 9999 ]]; then @@ -31,6 +31,10 @@ RDEPEND=" media-libs/openxr-loader net-dns/avahi x11-libs/libnotify + || ( + sys-apps/systemd + sys-auth/elogind + ) gui? ( dev-libs/qcoro kde-frameworks/kcoreaddons:6 @@ -113,12 +117,12 @@ src_configure() { -DWIVRN_OPENXR_MANIFEST_TYPE=relative -DWIVRN_BUILD_DASHBOARD=$(usex gui) -DWIVRN_BUILD_DISSECTOR=$(usex wireshark-plugins) - -DWIVRN_BUILD_WIVRNCTL=$(usex systemd) + -DWIVRN_BUILD_WIVRNCTL=ON -DWIVRN_USE_PIPEWIRE=$(usex pipewire) -DWIVRN_USE_PULSEAUDIO=$(usex pulseaudio) -DWIVRN_USE_NVENC=$(usex nvenc) -DWIVRN_USE_VAAPI=$(usex vaapi) - -DWIVRN_USE_VULKAN_ENCODE=$(usex vulkan-encode) + -DWIVRN_USE_VULKAN_ENCODE=ON -DWIVRN_USE_X264=$(usex x264) -DWIVRN_USE_SYSTEMD=$(usex systemd) -DWIVRN_USE_SYSTEM_OPENXR=ON diff --git a/sci-misc/llama-cpp/llama-cpp-0_pre4576.ebuild b/sci-misc/llama-cpp/llama-cpp-0_pre4576.ebuild index 39210dddf5..8b9c1438d9 100644 --- a/sci-misc/llama-cpp/llama-cpp-0_pre4576.ebuild +++ b/sci-misc/llama-cpp/llama-cpp-0_pre4576.ebuild @@ -21,6 +21,14 @@ HOMEPAGE="https://github.com/ggerganov/llama.cpp" LICENSE="MIT" SLOT="0" CPU_FLAGS_X86=( avx avx2 f16c ) +IUSE="curl" + +# curl is needed for pulling models from huggingface +# numpy is used by convert_hf_to_gguf.py +DEPEND="curl? ( net-misc/curl:= )" +RDEPEND="${DEPEND} + dev-python/numpy +" src_configure() { local mycmakeargs=( @@ -28,6 +36,7 @@ src_configure() { -DLLAMA_BUILD_SERVER=ON -DCMAKE_SKIP_BUILD_RPATH=ON -DGGML_NATIVE=0 # don't set march + -DLLAMA_CURL=$(usex curl ON OFF) -DBUILD_NUMBER="1" ) cmake_src_configure diff --git a/sci-misc/llama-cpp/llama-cpp-9999.ebuild b/sci-misc/llama-cpp/llama-cpp-9999.ebuild index 39210dddf5..8b9c1438d9 100644 --- a/sci-misc/llama-cpp/llama-cpp-9999.ebuild +++ b/sci-misc/llama-cpp/llama-cpp-9999.ebuild @@ -21,6 +21,14 @@ HOMEPAGE="https://github.com/ggerganov/llama.cpp" LICENSE="MIT" SLOT="0" CPU_FLAGS_X86=( avx avx2 f16c ) +IUSE="curl" + +# curl is needed for pulling models from huggingface +# numpy is used by convert_hf_to_gguf.py +DEPEND="curl? ( net-misc/curl:= )" +RDEPEND="${DEPEND} + dev-python/numpy +" src_configure() { local mycmakeargs=( @@ -28,6 +36,7 @@ src_configure() { -DLLAMA_BUILD_SERVER=ON -DCMAKE_SKIP_BUILD_RPATH=ON -DGGML_NATIVE=0 # don't set march + -DLLAMA_CURL=$(usex curl ON OFF) -DBUILD_NUMBER="1" ) cmake_src_configure diff --git a/sys-apps/dnf5/Manifest b/sys-apps/dnf5/Manifest index d54ae3200a..8fc0df67eb 100644 --- a/sys-apps/dnf5/Manifest +++ b/sys-apps/dnf5/Manifest @@ -1,2 +1 @@ -DIST dnf5-5.2.7.0.tar.gz 1571567 BLAKE2B 92dec0c3a89b6d6d15ff7c5cf683d906d72b8a52fac0d2473410dd3422c50970e97e621c07424aa9d8323ca623bf771b54edc991aa5d825bc141267bf9fe3c05 SHA512 f3ade5df924efc9b07e7e7f7e80cd940dd61b4bdcc48a5c093e87190e9e207083e0f19a2218958f9d36b390f2984deff3d2f5b5bc6953e62173bc567e5e060d7 -DIST dnf5-5.2.8.1.tar.gz 1628391 BLAKE2B 6a78cfcd9e139cf70af12fd8c206724e3a60b08574691cc86a96ae016ade28459a2fa8e594f071dd18b9605ecb2c0c24a7d3cff0745c0cbdca8edf8ba2ef705c SHA512 8a683aa47114b3bef240ade6b92ae25de197196a4c1d5ca802fa26672684e519dabb7c52cc3f9ad4c5f7ea09d05d026f5e930441b81a0ae71563f146ec9b3bd4 +DIST dnf5-5.2.10.0.tar.gz 1684363 BLAKE2B bcdac38c8a9dcf31673b44b7aff89e4c638e25508830b62e65d752eb54349e553f0fef2b613e678dfb058a892845f80ae38e9f49ed0ebb248599a3fa35f45ed6 SHA512 968d974c4da4fc5f6d19696dc679cdee0031cdacc46b1a25567c21617c30ef1808ff9b2f52d5abfcfe88a3feab2d28d1cc38b4507501c19d6a029f4fc18c23c4 diff --git a/sys-apps/dnf5/dnf5-5.2.8.1.ebuild b/sys-apps/dnf5/dnf5-5.2.10.0.ebuild similarity index 82% rename from sys-apps/dnf5/dnf5-5.2.8.1.ebuild rename to sys-apps/dnf5/dnf5-5.2.10.0.ebuild index 0ee66c37a0..42dd054abc 100644 --- a/sys-apps/dnf5/dnf5-5.2.8.1.ebuild +++ b/sys-apps/dnf5/dnf5-5.2.10.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2024 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,8 +12,7 @@ SRC_URI="https://github.com/rpm-software-management/dnf5/archive/refs/tags/${PV} LICENSE="GPL-2+ LGPL-2.1+" SLOT="0" KEYWORDS="~amd64" -IUSE="nls systemd test" -PROPERTIES="test_network" +IUSE="appstream nls systemd test" RESTRICT="!test? ( test )" RDEPEND=" @@ -29,11 +28,11 @@ RDEPEND=" dev-libs/libxml2 sys-apps/util-linux >=sys-libs/libmodulemd-2.11.2 + appstream? ( >=dev-libs/appstream-0.16:= ) systemd? ( sys-apps/systemd:= ) " DEPEND="${RDEPEND}" BDEPEND=" - dev-python/breathe dev-python/sphinx virtual/pkgconfig test? ( @@ -46,8 +45,6 @@ BDEPEND=" PATCHES=( # Prevent test suite from writing to system files. "${FILESDIR}/${PN}-5.2.5.0-sandbox-test.patch" - # bug #939518 - "${FILESDIR}/${PN}-5.2.6.0-remove-buggy-tests.patch" ) src_prepare() { @@ -55,7 +52,9 @@ src_prepare() { # Replace hardcoded TMPDIR. sed -i "s|/tmp/|${T}/|" test/libdnf5/utils/test_fs.cpp || die # remove -Werror{,=unused-result}; bug 936870 - sed 's/-Werror[^[:space:])]*//' -i CMakeLists.txt || die + sed -i 's/-Werror[^[:space:])]*//' CMakeLists.txt || die + # breathe is only needed for api doc + sed -i "/'breathe',/d" doc/conf.py.in || die } src_configure() { @@ -65,6 +64,7 @@ src_configure() { -DWITH_PYTHON3=OFF -DWITH_RUBY=OFF -DWITH_ZCHUNK=OFF + -DWITH_PLUGIN_APPSTREAM=$(usex appstream) -DWITH_SYSTEMD=$(usex systemd) -DWITH_TESTS=$(usex test) -DWITH_TRANSLATIONS=$(usex nls) diff --git a/sys-apps/dnf5/dnf5-5.2.7.0.ebuild b/sys-apps/dnf5/dnf5-5.2.7.0.ebuild deleted file mode 100644 index 0ee66c37a0..0000000000 --- a/sys-apps/dnf5/dnf5-5.2.7.0.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Command-line package manager" -HOMEPAGE="https://github.com/rpm-software-management/dnf5" -SRC_URI="https://github.com/rpm-software-management/dnf5/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="~amd64" -IUSE="nls systemd test" -PROPERTIES="test_network" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/rpm-4.17.0 - dev-cpp/sdbus-c++:0/1 - dev-cpp/toml11 - >=dev-db/sqlite-3.35.0:3 - >=dev-libs/glib-2.46.0:2 - dev-libs/json-c:= - dev-libs/libfmt:= - >=dev-libs/librepo-1.17.1 - >=dev-libs/libsolv-0.7.25 - dev-libs/libxml2 - sys-apps/util-linux - >=sys-libs/libmodulemd-2.11.2 - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-python/breathe - dev-python/sphinx - virtual/pkgconfig - test? ( - app-arch/rpm - app-arch/createrepo_c - dev-util/cppunit - ) -" - -PATCHES=( - # Prevent test suite from writing to system files. - "${FILESDIR}/${PN}-5.2.5.0-sandbox-test.patch" - # bug #939518 - "${FILESDIR}/${PN}-5.2.6.0-remove-buggy-tests.patch" -) - -src_prepare() { - cmake_src_prepare - # Replace hardcoded TMPDIR. - sed -i "s|/tmp/|${T}/|" test/libdnf5/utils/test_fs.cpp || die - # remove -Werror{,=unused-result}; bug 936870 - sed 's/-Werror[^[:space:])]*//' -i CMakeLists.txt || die -} - -src_configure() { - local mycmakeargs=( - -DWITH_HTML=OFF - -DWITH_PERL5=OFF - -DWITH_PYTHON3=OFF - -DWITH_RUBY=OFF - -DWITH_ZCHUNK=OFF - -DWITH_SYSTEMD=$(usex systemd) - -DWITH_TESTS=$(usex test) - -DWITH_TRANSLATIONS=$(usex nls) - ) - cmake_src_configure -} - -src_compile() { - cmake_src_compile - cmake_src_compile doc-man -} diff --git a/sys-apps/dnf5/files/dnf5-5.2.6.0-remove-buggy-tests.patch b/sys-apps/dnf5/files/dnf5-5.2.6.0-remove-buggy-tests.patch deleted file mode 100644 index f07af504a3..0000000000 --- a/sys-apps/dnf5/files/dnf5-5.2.6.0-remove-buggy-tests.patch +++ /dev/null @@ -1,22 +0,0 @@ -Those tests causes a use-after-free. -https://bugs.gentoo.org/939518 -https://github.com/rpm-software-management/dnf5/issues/1692 -diff --git a/test/dnf5-plugins/copr_plugin/CMakeLists.txt b/test/dnf5-plugins/copr_plugin/CMakeLists.txt -index 2a99f6c6..ce87b437 100644 ---- a/test/dnf5-plugins/copr_plugin/CMakeLists.txt -+++ b/test/dnf5-plugins/copr_plugin/CMakeLists.txt -@@ -24,5 +24,3 @@ target_link_libraries(run_tests_copr PRIVATE ${JSONC_LIBRARIES}) - - add_compile_definitions(TEST_DATADIR="${CMAKE_CURRENT_SOURCE_DIR}/data") - --add_test(NAME test_copr COMMAND run_tests_copr) --set_tests_properties(test_copr PROPERTIES RUN_SERIAL TRUE) -diff --git a/test/libdnf5-cli/CMakeLists.txt b/test/libdnf5-cli/CMakeLists.txt -index e37cbfa5..02722d40 100644 ---- a/test/libdnf5-cli/CMakeLists.txt -+++ b/test/libdnf5-cli/CMakeLists.txt -@@ -19,4 +19,3 @@ target_link_directories(run_tests_cli PRIVATE ${CMAKE_BINARY_DIR}/libdnf5) - target_link_libraries(run_tests_cli PRIVATE stdc++ libdnf5_static libdnf5-cli cppunit test_shared) - - --add_test(NAME test_libdnf_cli COMMAND run_tests_cli) diff --git a/sys-apps/dnf5/metadata.xml b/sys-apps/dnf5/metadata.xml index 2db61dc2ce..2c76f1ed66 100644 --- a/sys-apps/dnf5/metadata.xml +++ b/sys-apps/dnf5/metadata.xml @@ -8,4 +8,7 @@ rpm-software-management/dnf5 + + Build an appstream metadata plugin + diff --git a/sys-apps/nvimpager/Manifest b/sys-apps/nvimpager/Manifest index b2ec436a3f..68982ab3ba 100644 --- a/sys-apps/nvimpager/Manifest +++ b/sys-apps/nvimpager/Manifest @@ -1 +1 @@ -DIST nvimpager-0.12.0.tar.gz 28654 BLAKE2B 38aed8ff4eea7909a35d9b996d61bf613675e50c56a3b6059c432e3e56cd15b40d5661b3b23a529c2824a6b363019ed4904693a63946ca659867127b20387764 SHA512 a1b67aafdb73c5baa96cf0d682b1fa7ac7f39f58d6ce50f9875b1f9815dfce04921ffdd748552f07279cb9cc6b5c700c4aa43b7755952ce7993362b4c664e2de +DIST nvimpager-0.13.0.tar.gz 33459 BLAKE2B d8e00975517423c4fa4a154c1091ba8c7eb5d62b1d4fb6d8ec5722120d84489b858ebcbab0699b149330d7422fee27cb73969f0c06ba10ad01d5085a4178cd05 SHA512 b6cd995d378dcb3f230b9dac2ae53b461ed48a2a355891414dfd151eda33e9e8b016f922955974fd6893332c6a5468814e8738c1f4eaba03717084f82688a48f diff --git a/sys-apps/nvimpager/nvimpager-0.12.0.ebuild b/sys-apps/nvimpager/nvimpager-0.13.0.ebuild similarity index 79% rename from sys-apps/nvimpager/nvimpager-0.12.0.ebuild rename to sys-apps/nvimpager/nvimpager-0.13.0.ebuild index d4b9de35c0..b27205f09e 100644 --- a/sys-apps/nvimpager/nvimpager-0.12.0.ebuild +++ b/sys-apps/nvimpager/nvimpager-0.13.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2024 Gentoo Authors +# Copyright 2020-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,3 +33,9 @@ src_compile() { :; } src_install() { emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install } + +src_test() { + # some tests are broken on neovim-0.10.0 + # https://github.com/lucc/nvimpager/issues/99 + emake test BUSTED='busted --exclude-tags=nix,v10' +} diff --git a/sys-libs/gcompat/gcompat-1.1.0.ebuild b/sys-libs/gcompat/gcompat-1.1.0.ebuild index 9479681985..b335fc851c 100644 --- a/sys-libs/gcompat/gcompat-1.1.0.ebuild +++ b/sys-libs/gcompat/gcompat-1.1.0.ebuild @@ -26,8 +26,8 @@ get_loader_name() { case "$ABI" in x86) echo "ld-linux.so.2" ;; amd64) echo "ld-linux-x86-64.so.2" ;; - arm*) echo "ld-linux-armhf.so.3" ;; arm64) echo "ld-linux-aarch64.so.1" ;; + arm*) echo "ld-linux-armhf.so.3" ;; mips | powerpc | s390) echo "ld.so.1" ;; esac }