diff options
| author | root <root@alpha.trunkmasters.com> | 2026-09-18 17:04:25 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-09-18 17:04:25 -0500 |
| commit | ba2db746adde666ba2fbd08e45472b5de2d61510 (patch) | |
| tree | 2a0b8f38b4534abf30494297965068ad5cf4614d | |
| parent | 82a85734db1ea287623f477a1bd33312e47010b4 (diff) | |
| download | srcux-ba2db746adde666ba2fbd08e45472b5de2d61510.tar.gz srcux-ba2db746adde666ba2fbd08e45472b5de2d61510.tar.xz srcux-ba2db746adde666ba2fbd08e45472b5de2d61510.zip | |
Adding metadata
58 files changed, 1364 insertions, 2601 deletions
diff --git a/acct-group/ollama/metadata.xml b/acct-group/ollama/metadata.xml index e38056113bdf..b95b68b75f4b 100644 --- a/acct-group/ollama/metadata.xml +++ b/acct-group/ollama/metadata.xml @@ -1,13 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> + <maintainer type="person"> <email>negril.nx+gentoo@gmail.com</email> <name>Paul Zander</name> </maintainer> - <maintainer type="person"> - <email>tupone@gentoo.org</email> - <name>Tupone Alfredo</name> - </maintainer> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/acct-group/ollama/ollama-0.ebuild b/acct-group/ollama/ollama-0.ebuild index 6467471f76bf..c8f25baf4891 100644 --- a/acct-group/ollama/ollama-0.ebuild +++ b/acct-group/ollama/ollama-0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2026 Gentoo Authors +# Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=9 +EAPI=8 inherit acct-group DESCRIPTION="A group for ollama" -ACCT_GROUP_ID=562 +ACCT_GROUP_ID=-1 diff --git a/acct-user/ollama/metadata.xml b/acct-user/ollama/metadata.xml index e38056113bdf..b95b68b75f4b 100644 --- a/acct-user/ollama/metadata.xml +++ b/acct-user/ollama/metadata.xml @@ -1,13 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> + <maintainer type="person"> <email>negril.nx+gentoo@gmail.com</email> <name>Paul Zander</name> </maintainer> - <maintainer type="person"> - <email>tupone@gentoo.org</email> - <name>Tupone Alfredo</name> - </maintainer> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/acct-user/ollama/ollama-0.ebuild b/acct-user/ollama/ollama-3.ebuild index 3ee94c300953..5734021f3150 100644 --- a/acct-user/ollama/ollama-0.ebuild +++ b/acct-user/ollama/ollama-3.ebuild @@ -1,16 +1,18 @@ -# Copyright 2024-2026 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=9 +EAPI=8 inherit acct-user DESCRIPTION="A user for ollama" -ACCT_USER_ID=562 +ACCT_USER_ID=-1 ACCT_USER_HOME=/var/lib/ollama ACCT_USER_HOME_PERMS=0750 ACCT_USER_GROUPS=( ollama ) +KEYWORDS="~amd64" + IUSE="cuda" acct-user_add_deps diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index e4c201c3f634..0bb4bb557bdb 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -4,5 +4,6 @@ DIST wine-11.14.tar.xz 46575228 BLAKE2B b4ed19a4abd35be64230964ab64d46f86cca3adc DIST wine-11.15.tar.xz 46665288 BLAKE2B 5d5a81dbcf5ce4fdb14799a7b8c93f44f0ed9ff67c49a43a501ff171aeeed2f2359a4f78a9fb1d76b791df76e4a1e623a025834a1124f9da705b6768495fc9bc SHA512 e6ce72331e7e8efb0dace2d39e547f3ce989d178dc7c37db1b4523cf9f200196a64fee69ca8a2bccfce0bf8e8f7800adb2c4ef4c44b0bd7d78cf937d84849232 DIST wine-11.16.tar.xz 46686616 BLAKE2B fdaf6061e1b551f18b3a1b995efaf5197a7c821db00cdcc0a5ac6b90ae5d3351dc852855d5cb48e17baff2c9ec4b404688b0765a93df343e7dc9820b4160bc24 SHA512 e084a102989cb00bd0994aa998f18e2ef87ec8e8bcedaf18ab613df66fb5a89b03ca1e608f525ca5d0941641c3b8a4c7000a93da439e61febf7e9084c77ac62d DIST wine-11.17.tar.xz 46726496 BLAKE2B b10721312286510ba57b329cc8c0e253b83ef4151b1629563bd4ba302096f9003d69871ad6fde7c67c001d044745f13d5e3b0bcd265311697da13d0c6acd281d SHA512 d23e92710416cce6f1f18e4a221a6784e02425364fdef6fd5f48f60261a9b62b552079924ee6703ea2d9bc4c7cb0f75fe9bebf300b16c04bec113a90bb0c93c4 +DIST wine-11.18.tar.xz 46763696 BLAKE2B ea3e40628adaa305f47793f1e30b3fe72fe0cacea3148502fe1e473b3999f4bd64ca1ac0677950eb13b503b2ace2f715008ccb9a485eb2608c77045857070d61 SHA512 357719200bb37df3af43642da2b4753792690881e030a6f989cc9fb7c989405a4e4a2ef20e639245160b65467fee35eddfdcc8af2c19061fb920fa735dd59deb DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c006370c4c316c8a367b2f5814926063482959fabfe9d674ee1b5a560e59087e9b711e28360ced3aee2bbd6bb8fdb SHA512 e86dd31247d757d48ffb2d24f20edab3fc6ef9c3e395567a7b363951bb681335ba3adb8b84639011b24b6eb274582d56880298d6d95fb100acc072383d4e973f DIST wine-9.0.1.tar.xz 30166464 BLAKE2B 120a4556b18f3336c348e9984afc8c6d3d3d69ef64aa29224dd09ad69684e32ab193f23eb8edceb08e37aff0c96be25b4a3b54874045583dd9c1dabc71ac3a32 SHA512 510ec92b442b5410c05eca5012384669f0bb06acdab9f790527a82276a8ee679a6d2cd2b769a75815d7233ce7421de05457a64596d056552f4507a7a12c9f1a8 diff --git a/app-emulation/wine-vanilla/wine-vanilla-11.18.ebuild b/app-emulation/wine-vanilla/wine-vanilla-11.18.ebuild new file mode 100644 index 000000000000..f1bef564158c --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-11.18.ebuild @@ -0,0 +1,216 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature wine + +WINE_GECKO=2.47.4 +WINE_MONO=11.3.0 + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" +else + (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 + SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" + S=${WORKDIR}/wine-${PV} + KEYWORDS="-* ~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE=" + https://www.winehq.org/ + https://gitlab.winehq.org/wine/wine/ +" + +LICENSE=" + LGPL-2.1+ + BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff public-domain +" +SLOT="${PV}" +IUSE=" + +X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2 + +gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl + pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev + usb v4l vaapi +vulkan wayland xinerama +" +REQUIRED_USE=" + X? ( truetype ) + bluetooth? ( dbus ) + opengl? ( || ( X wayland ) ) +" + +# tests are non-trivial to run, can hang easily, don't play well with +# sandbox, and several need real opengl/vulkan or network access +RESTRICT="test" + +# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked +WINE_DLOPEN_DEPEND=" + X? ( + x11-libs/libXcomposite[${WINE_USEDEP}] + x11-libs/libXcursor[${WINE_USEDEP}] + x11-libs/libXfixes[${WINE_USEDEP}] + x11-libs/libXi[${WINE_USEDEP}] + x11-libs/libXrandr[${WINE_USEDEP}] + x11-libs/libXrender[${WINE_USEDEP}] + x11-libs/libXxf86vm[${WINE_USEDEP}] + xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] ) + ) + cups? ( net-print/cups[${WINE_USEDEP}] ) + dbus? ( sys-apps/dbus[${WINE_USEDEP}] ) + fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] ) + kerberos? ( virtual/krb5[${WINE_USEDEP}] ) + netapi? ( net-fs/samba[${WINE_USEDEP}] ) + odbc? ( dev-db/unixODBC[${WINE_USEDEP}] ) + opengl? ( media-libs/libglvnd[X?,${WINE_USEDEP}] ) + sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] ) + truetype? ( media-libs/freetype[${WINE_USEDEP}] ) + v4l? ( media-libs/libv4l[${WINE_USEDEP}] ) + vaapi? ( media-libs/libva:=[${WINE_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] ) +" +WINE_COMMON_DEPEND=" + ${WINE_DLOPEN_DEPEND} + X? ( + x11-libs/libX11[${WINE_USEDEP}] + x11-libs/libXext[${WINE_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] ) + ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] ) + gstreamer? ( + dev-libs/glib:2[${WINE_USEDEP}] + media-libs/gst-plugins-base:1.0[${WINE_USEDEP}] + media-libs/gstreamer:1.0[${WINE_USEDEP}] + ) + opencl? ( virtual/opencl[${WINE_USEDEP}] ) + pcap? ( net-libs/libpcap[${WINE_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] ) + scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] ) + smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] ) + udev? ( virtual/libudev:=[${WINE_USEDEP}] ) + usb? ( dev-libs/libusb:1[${WINE_USEDEP}] ) + wayland? ( + dev-libs/wayland[${WINE_USEDEP}] + x11-libs/libxkbcommon[${WINE_USEDEP}] + ) +" +RDEPEND=" + ${WINE_COMMON_DEPEND} + app-emulation/wine-desktop-common + dos? ( + || ( + games-emulation/dosbox + games-emulation/dosbox-staging + ) + ) + gecko? ( + app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}] + wow64? ( app-emulation/wine-gecko[abi_x86_32] ) + ) + gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] ) + mono? ( app-emulation/wine-mono:${WINE_MONO} ) + perl? ( + dev-lang/perl + dev-perl/XML-LibXML + ) + samba? ( net-fs/samba[winbind] ) + selinux? ( sec-policy/selinux-wine ) +" +DEPEND=" + ${WINE_COMMON_DEPEND} + >=sys-kernel/linux-headers-6.14 + X? ( x11-base/xorg-proto ) + bluetooth? ( net-wireless/bluez ) + opencl? ( dev-util/opencl-headers ) +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + amd64? ( dev-lang/nasm ) + nls? ( sys-devel/gettext ) + wayland? ( dev-util/wayland-scanner ) + x86? ( dev-lang/nasm ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + __clear_cache # unused on amd64+x86 (bug #900338) + res_getservers # false positive +) +QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext +# intentionally ignored: https://gitlab.winehq.org/wine/wine/-/commit/433c2f8c06 +QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/wine-preloader" + +PATCHES=( + "${FILESDIR}"/${PN}-7.0-noexecstack.patch + "${FILESDIR}"/${PN}-8.13-rpath.patch +) + +src_configure() { + local wineconfargs=( + $(use_enable gecko mshtml) + $(use_enable mono mscoree) + --disable-tests + + $(use_with X x) + $(use_with alsa) + --without-capi #977907 + $(use_with cups) + $(use_with dbus) + $(use_with ffmpeg) + $(use_with fontconfig) + $(use_with gphoto2 gphoto) + $(use_with gstreamer) + --without-hwloc # currently only used on FreeBSD + $(use_with kerberos gssapi) + $(use_with kerberos krb5) + $(use_with netapi) + $(use_with nls gettext) + $(use_with opencl) + $(use_with opengl) + --without-oss # media-sound/oss is not packaged (OSSv4) + $(use_with pcap) + $(use_with pulseaudio pulse) + $(use_with scanner sane) + $(use_with sdl) + $(use_with smartcard pcsclite) + $(use_with ssl gnutls) + $(use_with truetype freetype) + $(use_with udev) + $(use_with usb) + $(use_with v4l v4l2) + $(use_with vaapi va) + $(use_with vulkan) + $(use_with wayland) + $(use_with xinerama) + + $(usev !bluetooth ' + ac_cv_header_bluetooth_bluetooth_h=no + ac_cv_header_bluetooth_rfcomm_h=no + ') + $(usev !odbc ac_cv_lib_soname_odbc=) + ) + + wine_src_configure +} + +src_install() { + use perl || local WINE_SKIP_INSTALL=( + ${WINE_DATADIR}/man/man1/wine{dump,maker}.1 + ${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} + ) + + wine_src_install + + dodoc ANNOUNCE* AUTHORS README* documentation/README* +} + +pkg_postinst() { + wine_pkg_postinst + + optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ + games-util/game-device-udev-rules +} diff --git a/dev-cpp/glaze/Manifest b/dev-cpp/glaze/Manifest index 8da6c123579a..d130e20dd620 100644 --- a/dev-cpp/glaze/Manifest +++ b/dev-cpp/glaze/Manifest @@ -1,4 +1,2 @@ -DIST glaze-5.2.1.tar.gz 581284 BLAKE2B 87b81b073955c0e97199e3de3083fb2c913438b25a469ac80184fc2c9af04119d015e523ebf53fea36bf91b6a055351362fe8670ac2e881aafd11bd2acc92851 SHA512 b68d3953feab1cb958242eba0457e4cf310cd0de80b7c5c2513722eedea0442199b7df40b414213047958d8aa1a1d0d8705bea77795b80a73c9ee6fb462abc88 -DIST glaze-5.5.4.tar.gz 738708 BLAKE2B 0f56b022532fc76b327f78e5bbcadb841d3ac77fde2df7ae8a6d0e74777db2c3090c6959845f54113933a083c787956876ac3166d0a2ba654eab926ef276df8a SHA512 1bc0503552eea4befd80b989f5eacf4b8ebd853e87c82d2730a23504806583a8153c80e786b118451ae2edc37023802e24cf4b0395ed86f2b34fdb5a2b7b6625 DIST glaze-6.5.1.tar.gz 1180772 BLAKE2B 12eba3267d45ac8d84df1130e7f070c857d9a3ae3de7701d77c4cd4cc87236f0aa7f3bcecd643f31a8d1d78d304ec3e35e800346f2bd882847731de71f3a0c45 SHA512 fb45220afde0b6374f6d864baa7fb649583e304a31914036aa7673adf2a72aa3944926f9a8f3e71fea4ec5f6655afa0a8fdcd42c698d98451b0ac1db7c15aa39 -DIST glaze-8.1.0.tar.gz 2088152 BLAKE2B c3abe0dbe19f512b75ebad2f192ec87488c200b0a743a95d409ef350368abe1de9f01f023aa72d8ad026ffa53b6dd526da8c9a640c995a71d5d0a9e9a7390fdf SHA512 750f1b0cec2cf1242f4627215bf156d56cce659e15a7e9ba1c407ff9bf56bb9cd028b92337bb98710ceb106ba687db0c4557764171cabc5feb53c74eb363af29 +DIST glaze-7.0.2.tar.gz 1348874 BLAKE2B 5ec57e34de42625cc42bc814e283891194287e10b921728d2f5f5cd5e89f73bdc24cf5c1562920c7eb1adec654c2d00b26e82ff5b6dad5524a09c6db855a5e65 SHA512 bff41d0cbf822e7dee2ca5436b20d3975c4484b6203ebb9c50e8e8e795f9aad8ccb29bb92d29b8c9a9a837cd1dcf1b43543bf9817705e2f836f27f5aed3ace74 diff --git a/dev-cpp/glaze/files/glaze-5.2.1-unbundle-test-deps.patch b/dev-cpp/glaze/files/glaze-5.2.1-unbundle-test-deps.patch deleted file mode 100644 index 8ccf74af061f..000000000000 --- a/dev-cpp/glaze/files/glaze-5.2.1-unbundle-test-deps.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 028b3994..0b105eb2 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -1,17 +1,9 @@ - include(FetchContent) - --FetchContent_Declare( -- ut -- GIT_REPOSITORY https://github.com/openalgz/ut -- GIT_TAG v0.0.5 -- GIT_SHALLOW TRUE --) -+find_package(ut2-glaze REQUIRED) - - message(STATUS "Fetching dependencies...") - set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) --set(CMAKE_SKIP_INSTALL_RULES ON CACHE BOOL "" FORCE) --FetchContent_MakeAvailable(ut) --set(CMAKE_SKIP_INSTALL_RULES OFF CACHE BOOL "" FORCE) - set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL FALSE) - message(STATUS "...finished fetching dependencies.") - -@@ -20,7 +12,7 @@ add_code_coverage_all_targets() - - add_library(glz_test_common INTERFACE) - target_compile_features(glz_test_common INTERFACE cxx_std_23) --target_link_libraries(glz_test_common INTERFACE ut::ut glaze::glaze) -+target_link_libraries(glz_test_common INTERFACE ut2-glaze::ut2-glaze glaze::glaze) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - target_compile_options(glz_test_common INTERFACE -fno-exceptions -fno-rtti) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") -@@ -46,7 +38,7 @@ endif() - - add_library(glz_test_exceptions INTERFACE) - target_compile_features(glz_test_exceptions INTERFACE cxx_std_23) --target_link_libraries(glz_test_exceptions INTERFACE ut::ut glaze::glaze) -+target_link_libraries(glz_test_exceptions INTERFACE ut2-glaze::ut2-glaze glaze::glaze) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - target_compile_options(glz_test_exceptions INTERFACE) - target_compile_options(glz_test_exceptions INTERFACE -Wall -Wextra -pedantic) -diff --git a/tests/asio_repe/CMakeLists.txt b/tests/asio_repe/CMakeLists.txt -index 1518b4e5..3cc27f67 100644 ---- a/tests/asio_repe/CMakeLists.txt -+++ b/tests/asio_repe/CMakeLists.txt -@@ -1,14 +1,9 @@ - project(asio_repe) - --FetchContent_Declare( -- asio -- GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git -- GIT_TAG asio-1-32-0 -- GIT_SHALLOW TRUE --) --FetchContent_MakeAvailable(asio) -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(asio GLOBAL IMPORTED_TARGET REQUIRED asio) - - add_executable(${PROJECT_NAME} ${PROJECT_NAME}.cpp) - - target_include_directories(${PROJECT_NAME} PRIVATE include ${asio_SOURCE_DIR}/asio/include) --target_link_libraries(${PROJECT_NAME} PRIVATE glz_test_exceptions) -\ No newline at end of file -+target_link_libraries(${PROJECT_NAME} PRIVATE glz_test_exceptions) diff --git a/dev-cpp/glaze/files/glaze-6.5.1-unbundle-test-deps.patch b/dev-cpp/glaze/files/glaze-6.5.1-unbundle-test-deps.patch index 4e8317e6770f..59f1415e7fed 100644 --- a/dev-cpp/glaze/files/glaze-6.5.1-unbundle-test-deps.patch +++ b/dev-cpp/glaze/files/glaze-6.5.1-unbundle-test-deps.patch @@ -1,3 +1,6 @@ + tests/CMakeLists.txt | 14 +++----------- + 1 file changed, 3 insertions(+), 11 deletions(-) + diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ade41281..63fed1c7 100644 --- a/tests/CMakeLists.txt diff --git a/dev-cpp/glaze/files/glaze-5.5.4-unbundle-test-deps.patch b/dev-cpp/glaze/files/glaze-7.0.2-unbundle-test-deps.patch index fdcf4618d29a..59f1415e7fed 100644 --- a/dev-cpp/glaze/files/glaze-5.5.4-unbundle-test-deps.patch +++ b/dev-cpp/glaze/files/glaze-7.0.2-unbundle-test-deps.patch @@ -1,5 +1,8 @@ + tests/CMakeLists.txt | 14 +++----------- + 1 file changed, 3 insertions(+), 11 deletions(-) + diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index a2988c34..04f4e7e9 100644 +index ade41281..63fed1c7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,17 +1,9 @@ @@ -8,7 +11,7 @@ index a2988c34..04f4e7e9 100644 -FetchContent_Declare( - ut - GIT_REPOSITORY https://github.com/openalgz/ut -- GIT_TAG v1.0.0 +- GIT_TAG v1.1.0 - GIT_SHALLOW TRUE -) +find_package(ut2-glaze REQUIRED) @@ -21,21 +24,21 @@ index a2988c34..04f4e7e9 100644 set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL FALSE) message(STATUS "...finished fetching dependencies.") -@@ -20,7 +12,7 @@ add_code_coverage_all_targets() +@@ -76,7 +68,7 @@ add_code_coverage_all_targets() add_library(glz_test_common INTERFACE) target_compile_features(glz_test_common INTERFACE cxx_std_23) --target_link_libraries(glz_test_common INTERFACE ut::ut glaze::glaze) -+target_link_libraries(glz_test_common INTERFACE ut2-glaze::ut2-glaze glaze::glaze) +-target_link_libraries(glz_test_common INTERFACE ut::ut glaze::glaze glz_asio) ++target_link_libraries(glz_test_common INTERFACE ut2-glaze::ut2-glaze glaze::glaze glz_asio) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") target_compile_options(glz_test_common INTERFACE -fno-exceptions -fno-rtti) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") -@@ -46,7 +38,7 @@ endif() +@@ -102,7 +94,7 @@ endif() add_library(glz_test_exceptions INTERFACE) target_compile_features(glz_test_exceptions INTERFACE cxx_std_23) --target_link_libraries(glz_test_exceptions INTERFACE ut::ut glaze::glaze) -+target_link_libraries(glz_test_exceptions INTERFACE ut2-glaze::ut2-glaze glaze::glaze) +-target_link_libraries(glz_test_exceptions INTERFACE ut::ut glaze::glaze glz_asio) ++target_link_libraries(glz_test_exceptions INTERFACE ut2-glaze::ut2-glaze glaze::glaze glz_asio) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") target_compile_options(glz_test_exceptions INTERFACE) target_compile_options(glz_test_exceptions INTERFACE -Wall -Wextra -pedantic) diff --git a/dev-cpp/glaze/glaze-5.2.1.ebuild b/dev-cpp/glaze/glaze-5.2.1.ebuild deleted file mode 100644 index 0c21e07e7a82..000000000000 --- a/dev-cpp/glaze/glaze-5.2.1.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Extremely fast, in memory, JSON and interface library for modern C++" -HOMEPAGE="https://github.com/stephenberry/glaze" -SRC_URI="https://github.com/stephenberry/glaze/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -S="${WORKDIR}/glaze-${PV}" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64" -IUSE="examples fuzzing test" -RESTRICT="!test? ( test )" - -DEPEND=" - test? ( - dev-cpp/asio - >=dev-cpp/eigen-3.4:= - dev-cpp/ut2-glaze - ) -" -RDEPEND="${DEPEND}" - -# Unbundle test dependencies otherwise they are fetched from github at build time -PATCHES=( - "${FILESDIR}/${P}-unbundle-test-deps.patch" -) - -src_configure() { - local mycmakeargs=( - -DCMAKE_SKIP_INSTALL_RULES=OFF - -Dglaze_DEVELOPER_MODE=ON - -Dglaze_ENABLE_FUZZING=$(usex fuzzing) - -Dglaze_BUILD_EXAMPLES=$(usex examples) - -DBUILD_TESTING=$(usex test) - ) - - cmake_src_configure -} diff --git a/dev-cpp/glaze/glaze-6.5.1.ebuild b/dev-cpp/glaze/glaze-6.5.1.ebuild index fad3d3ad432c..bf3255dce0da 100644 --- a/dev-cpp/glaze/glaze-6.5.1.ebuild +++ b/dev-cpp/glaze/glaze-6.5.1.ebuild @@ -20,7 +20,7 @@ RESTRICT="!test? ( test )" DEPEND=" test? ( dev-cpp/asio - >=dev-cpp/eigen-3.4:= + >=dev-cpp/eigen-3.4 dev-cpp/ut2-glaze ) " diff --git a/dev-cpp/glaze/glaze-5.5.4.ebuild b/dev-cpp/glaze/glaze-7.0.2.ebuild index 0c21e07e7a82..bf3255dce0da 100644 --- a/dev-cpp/glaze/glaze-5.5.4.ebuild +++ b/dev-cpp/glaze/glaze-7.0.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2025 Gentoo Authors +# Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,14 +13,14 @@ S="${WORKDIR}/glaze-${PV}" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="~amd64" IUSE="examples fuzzing test" RESTRICT="!test? ( test )" DEPEND=" test? ( dev-cpp/asio - >=dev-cpp/eigen-3.4:= + >=dev-cpp/eigen-3.4 dev-cpp/ut2-glaze ) " diff --git a/dev-cpp/glaze/glaze-8.1.0.ebuild b/dev-cpp/glaze/glaze-8.1.0.ebuild deleted file mode 100644 index c87b505c179c..000000000000 --- a/dev-cpp/glaze/glaze-8.1.0.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Extremely fast, in memory, JSON and interface library for modern C++" -HOMEPAGE="https://github.com/stephenberry/glaze" -SRC_URI=" - https://github.com/stephenberry/glaze/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz -" - -S="${WORKDIR}/glaze-${PV}" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="examples fuzzing test" -RESTRICT="!test? ( test )" - -DEPEND=" - test? ( - dev-cpp/asio - >=dev-cpp/eigen-3.4:= - >=dev-cpp/ut2-glaze-1.2.1 - ) -" -RDEPEND="${DEPEND}" - -src_configure() { - local mycmakeargs=( - -DCMAKE_SKIP_INSTALL_RULES=OFF - -Dglaze_DEVELOPER_MODE=ON - -Dglaze_ENABLE_FUZZING=$(usex fuzzing) - -Dglaze_BUILD_EXAMPLES=$(usex examples) - -DBUILD_TESTING=$(usex test) - ) - - cmake_src_configure -} diff --git a/dev-cpp/glaze/metadata.xml b/dev-cpp/glaze/metadata.xml index 9317cbb74791..4615cb8620fc 100644 --- a/dev-cpp/glaze/metadata.xml +++ b/dev-cpp/glaze/metadata.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>jared@rgst.io</email> - <name>Jared Allard</name> - </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> + <maintainer type="person"> + <email>aruhier@mailbox.org</email> + <name>Anthony Ruhier</name> </maintainer> <longdescription> - Yet another library for C++ for parsing JSON. Uses SIMD as well. In some benchmarks is better than simdjson. + Yet another library for C++ for parsing JSON. Uses SIMD as well. In some benchmarks is better than simdjson. + Added in hyproverlay for gui-wm/hyprland, waiting for https://github.com/gentoo/gentoo/pull/45126. </longdescription> <use> <flag name="fuzzing">Build fuzzers (not install)</flag> diff --git a/dev-lang/deno-bin/Manifest b/dev-lang/deno-bin/Manifest index c930cf19e6d6..020e4fd0ddcc 100644 --- a/dev-lang/deno-bin/Manifest +++ b/dev-lang/deno-bin/Manifest @@ -1,8 +1,6 @@ DIST deno-bin-2.8.3-amd64.zip 43810239 BLAKE2B abbfb607351fdbd1849a3e05de8b97675129a17a151c45f2ea8dc81f209a258da8e9b8748cbab0ce980db1522fe9e0a8747cf5da4fc5a7b604215b798145152f SHA512 212f3e0671910f1dc8a20dbb7b3d16f7ac632df33bac3fb8dbf735cdec3fbbc095869529e3a77d5b13b0fa6ef9351636e8d959b458934f1ab0b396a192a25973 DIST deno-bin-2.8.3-arm64.zip 42042289 BLAKE2B 18274847117f45e3952029baf22a122c326f00dcce27aff0e6ef127836373beadb4e6d2e41e3be312d027132c409ebb155276deaf2d6a3404e0aec683249ab9b SHA512 7dee706159037a5adb33787fd2ea81df2a13a8acbdea93dedd6660a45ce22ef15c294575cd5550c5dd5f11e398f686b8cf39117ceea22f92ba7c5f6666b6d33c -DIST deno-bin-2.9.4-amd64.zip 43834754 BLAKE2B 4bab6c54af143a8e11e1851eb1c7e03b738e9890f0de601a974217c5f11dc8b4d32b346eba7b9d8129a426717dfe8df3db71277c0577ccc9bc427a14e26ecc55 SHA512 b56aa469c0f5cdce2d1e007cfaaee71a652993bb6e0e1570b744ba1b22676b6f6d487e50725f1f70ac4c3ac2ab689b74b613b249ab3a47e48e694a6a18fc0eb0 -DIST deno-bin-2.9.4-arm64.zip 41975714 BLAKE2B ec05892504c54cc1134978289aac740174ea96654f23dd7b3d5bfba57b5b67a62d73c6912389725434fac1c170129e80e888ad65b93a27f7fcc0d1e21ae3bd79 SHA512 730b1e0d11e597c0546e85a680181c886a94cebc4ccecbf61c5745fb33e5427b8d653e26e0f22a36a13349a66e83a2934fff9ab4cd0f3c7123d18f1efc82d888 -DIST deno-bin-2.9.5-amd64.zip 41638854 BLAKE2B 57c6966b86ca2ff12b75fcfba996408108cbf635a483cfe5ca0b49076ea4f608273d71bfd78993bfacf8bce9e226ef9c5fe649fbda5dc2149a9467a57118963d SHA512 5bd8e354ad19410d2a193dd7194f952c62e3e3301bf087395142bad694d55832d856605e36cdb2e25e88a4a55b0bd75bee26c2b880ee685299eb9d52e121a052 -DIST deno-bin-2.9.5-arm64.zip 39902077 BLAKE2B 30078a61a9231744a75eecd7ab4fcc7ff4214afdec082071629157dd04e55345a4c9fad4799324e997fdd1a5d633ef5a5ae37b266d299714706ad7e6d9012614 SHA512 78fee4584acb1282fea9e426e34d105dfff876fd2d01e8323af96ba39152b16cbdd38e3dd08b067e9b497de2277185e92c6904f8f9e9380e3775607ccedbf6f7 DIST deno-bin-2.9.6-amd64.zip 41582794 BLAKE2B 8d7776b1b7a2145898ed92983eb8c227ba4513a7a46cf5b1a6c17d4243300be77d2928a4600a2bd043ebb42b004423cd5c8c5a864c5c5221bb048375a571097c SHA512 318d415a7a04d9c15cc56a9da3f32c2ba7a474171ec5f6fa429e1aceee2aa096656da2e596390bcb80a4d04df179cb3f62980af0798c57839c8d0b4b40eb02af DIST deno-bin-2.9.6-arm64.zip 39818676 BLAKE2B 9d08305fbb15aac849cb10b3d790d070f91fdb719d1bf3ceab81c54ce576653540be06d83b8ec7c97687b5d35ad24cccefb74c7ec14006d974f6e053bbf25586 SHA512 974489f1967e09801b48ae5d7aa89f86ed8c0cc8eb462646e029b8e068487b759b87115934d7f454605409b18084138c5bf55e5a9e9427c0be3fae9acbc5df6a +DIST deno-bin-2.9.7-amd64.zip 41596794 BLAKE2B 3cb18b8a82a96cbb0cfbb1d8d45e0854ac3d0d3b90837cb3febaf9b720f336939bceaba75d5b795e45dd749824d18751fd4833fb62f59e30a481cad2f2c613da SHA512 dd7f837d2d071842065b61d4e66492596cfbe4936471abba9773f8e9ddcc6676502cad3f7136f5e3e92aa864ddb674ec72779784e1318f211ede9292de39c8f3 +DIST deno-bin-2.9.7-arm64.zip 39821318 BLAKE2B 4b3fded4f243da49ecd5045af9f27a25f71986b1dcfc2d0b74fa390f9767c44df35788b81f4f3f7d473818f7979f0d34919516f605a0a026e6a1b91277f1b238 SHA512 33233d18656d076d21e2246ae2f5d9fdc41d444f58b77b0e35ef998ae2f5f92b859fc9ddf8d6f1d42953d5f2e66a5c8949c677c6029ac9c818bc31ab9003e55a diff --git a/dev-lang/deno-bin/deno-bin-2.9.5.ebuild b/dev-lang/deno-bin/deno-bin-2.9.5.ebuild deleted file mode 100644 index 5baf84ee6900..000000000000 --- a/dev-lang/deno-bin/deno-bin-2.9.5.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2025-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=9 - -inherit shell-completion toolchain-funcs - -DESCRIPTION="Modern runtime for JavaScript and TypeScript" -HOMEPAGE="https://deno.com/" -SRC_URI=" - amd64? ( - https://github.com/denoland/deno/releases/download/v${PV}/deno-x86_64-unknown-linux-gnu.zip - -> ${P}-amd64.zip - ) - arm64? ( - https://github.com/denoland/deno/releases/download/v${PV}/deno-aarch64-unknown-linux-gnu.zip - -> ${P}-arm64.zip - ) -" -S=${WORKDIR} - -LICENSE="MIT" -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT - MPL-2.0 openssl Unicode-3.0 Unicode-DFS-2016 ZLIB -" # crates -SLOT="0" -KEYWORDS="-* ~amd64 ~arm64" - -RDEPEND=" - || ( - llvm-runtimes/libgcc - sys-devel/gcc:* - ) - sys-libs/glibc -" -BDEPEND=" - app-arch/unzip -" - -QA_PREBUILT="usr/bin/deno" - -src_compile() { - if ! tc-is-cross-compiler; then - ./deno completions bash > "${T}"/deno || die - ./deno completions fish > "${T}"/deno.fish || die - ./deno completions zsh > "${T}"/_deno || die - else - ewarn "shell completion files were skipped due to cross-compilation" - fi -} - -src_install() { - dobin deno - - newenvd - 50deno <<<"DENO_NO_UPDATE_CHECK=1" - - if ! tc-is-cross-compiler; then - dobashcomp "${T}"/deno - dofishcomp "${T}"/deno.fish - dozshcomp "${T}"/_deno - fi -} diff --git a/dev-lang/deno-bin/deno-bin-2.9.4.ebuild b/dev-lang/deno-bin/deno-bin-2.9.7.ebuild index 5baf84ee6900..5baf84ee6900 100644 --- a/dev-lang/deno-bin/deno-bin-2.9.4.ebuild +++ b/dev-lang/deno-bin/deno-bin-2.9.7.ebuild diff --git a/dev-libs/openssl-compat/Manifest b/dev-libs/openssl-compat/Manifest index 8b9bdba0986c..063d0e49849a 100644 --- a/dev-libs/openssl-compat/Manifest +++ b/dev-libs/openssl-compat/Manifest @@ -1,9 +1 @@ -DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659 -DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6 -DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32 -DIST openssl-1.1.1u.tar.gz 9892176 BLAKE2B 5de9cb856e497596ecba008bad6515eefd093849b9c66dd7447031723996f3ba66ac37a323a5f7d01b1d42df4daaceb523372f5897d5c53b935ffab91c566594 SHA512 d00aeb0b4c4676deff06ff95af7ac33dd683b92f972b4a8ae55cf384bb37c7ec30ab83c6c0745daf87cf1743a745fced6a347fd11fed4c548aa0953610ed4919 -DIST openssl-3.6.2.tar.gz 54913556 BLAKE2B 21a23c53d16e9fbfb4c6d606d6056e7bb72e15c964c43a7f02837d805584bc34917fb2527cbc7fa75de63f3b5f840c693e7b43ac95e4bf9c10dce27f130bf69f SHA512 46549ed4d6b0160adfa3e1406bc16f3083a7f3c85bdda289c1dbebd0db91433c39855dae765787ec68157faffba4cdb05a0600af4652e3e35da939e0bad8ef1e -DIST openssl-3.6.2.tar.gz.asc 833 BLAKE2B 089164a42cdbb22d688ab314fae83d3fa16fb8d0c206ce8d0fe82a670b6e5fb0859e8842d0c0f75184d8e7022086aa05feeb5193e720ef58c18c7d303a6ec157 SHA512 bc1710380b80e0b9d35fe706604357c1f801d0b6ab1481b53061e21d6f55904fe8961ec10ead5c454dc637c88586f3093df71d2210b960d65c112466422d51ff -DIST openssl-3.6.4.tar.gz 55003802 BLAKE2B 93d5fcd284a52963b476f98e9915359a1025a9487cb2d15d7437e9b9a8058050ae249f0b76b5627f589036cecda62c69aebfab6c8be2ddcf82ae7e3a6ff87804 SHA512 9e7f4039082880357969c0857f33b20a6a4306d1b5e4f8fcbd7ec8dc41edc96e87c526a1db0b8259f5000c4ced84149b03547562ce4f9df35194634a7576dac0 -DIST openssl-3.6.4.tar.gz.asc 931 BLAKE2B 59cc358251ee36f6fbbe849978b91fcb034d116f42ded469380766882d1597a94f6bd17a8fbd206071c347ee2f58eae406c2a2fff9a54fd4c58bb77f78318675 SHA512 8628b7e8559a593d635e5c73be03044f86aa6c62f83745a4cf9bba07aede486b4681900b0d770cd4086128a1543bda55f510f87656fddb09427de8fb30bcd5c4 -DIST openssl-compat-1.0.2u-versioned-symbols.patch.gz 24633 BLAKE2B 6bfad4ad27dbca0bd85bfd9521ffc844c3e93e6a1cca7c814edd49affc60ece1c706dd3aa7be2ce80857532531eac6f0f03f43c0be22a769d00d9241686eff71 SHA512 3d85aa34f2491e0e36eedc45829709e0fb552f6d558c2726b59dafa98c3e679b88497f3f7399d7565d88e727591e7d9b12f5b1e27116ba19b9a661d7f75b07a9 +DIST openssl-0.9.8zh.tar.gz 3818524 BLAKE2B 610bb4858900983cf4519fa8b63f1e03b3845e39e68884fd8bebd738cd5cd6c2c75513643af49bf9e2294adc446a6516480fe9b62de55d9b6379bf9e7c5cd364 SHA512 b97fa2468211f86c0719c68ad1781eff84f772c479ed5193d6da14bac086b4ca706e7d851209d9df3f0962943b5e5333ab0def00110fb2e517caa73c0c6674c6 diff --git a/dev-libs/openssl-compat/files/gentoo.config-1.0.2 b/dev-libs/openssl-compat/files/gentoo.config-0.9.8 index 6d4cd3112618..e74e87ee8aba 100644 --- a/dev-libs/openssl-compat/files/gentoo.config-1.0.2 +++ b/dev-libs/openssl-compat/files/gentoo.config-0.9.8 @@ -13,9 +13,8 @@ if [[ $1 == "test" ]] ; then for c in \ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \ - "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \ + "armv5b-linux-gnu |linux-generic32 -DB_ENDIAN" \ "x86_64-pc-linux-gnu |linux-x86_64" \ - "alpha-linux-gnu |linux-alpha-gcc" \ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \ "i686-pc-linux-gnu |linux-elf" \ "whatever-gentoo-freebsdX.Y |BSD-generic32" \ @@ -26,15 +25,12 @@ if [[ $1 == "test" ]] ; then "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \ "powerpc-gentOO-linux-uclibc |linux-ppc" \ "powerpc64-unk-linux-gnu |linux-ppc64" \ - "powerpc64le-linux-gnu |linux-ppc64le" \ "x86_64-apple-darwinX |darwin64-x86_64-cc" \ "powerpc64-apple-darwinX |darwin64-ppc-cc" \ "i686-apple-darwinX |darwin-i386-cc" \ "i386-apple-darwinX |darwin-i386-cc" \ "powerpc-apple-darwinX |darwin-ppc-cc" \ "i586-pc-winnt |winnt-parity" \ - "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \ - "s390x-linux-gnu |linux64-s390x" \ ;do CHOST=${c/|*} ret_want=${c/*|} @@ -55,17 +51,14 @@ fi # Detect the operating system case ${CHOST} in - *-aix*) system="aix";; - *-darwin*) system="darwin";; - *-freebsd*) system="BSD";; - *-hpux*) system="hpux";; - *-linux*) system="linux";; - *-solaris*) system="solaris";; - *-winnt*) system="winnt";; - x86_64-*-mingw*) system="mingw64";; - *mingw*) system="mingw";; - *-gnu*) system="hurd";; - *) exit 0;; + *-aix*) system="aix";; + *-darwin*) system="darwin";; + *-freebsd*) system="BSD";; + *-hpux*) system="hpux";; + *-linux*) system="linux";; + *-solaris*) system="solaris";; + *-winnt*) system="winnt";; + *) exit 0;; esac @@ -81,44 +74,29 @@ machine="" chost_machine=${CHOST%%-*} case ${system} in linux) - case ${chost_machine}:${ABI} in - aarch64*be*) machine="aarch64 -DB_ENDIAN";; - aarch64*) machine="aarch64 -DL_ENDIAN";; - alphaev56*|\ + case ${chost_machine} in + alphaev56*) machine=alpha+bwx-${compiler};; alphaev[678]*)machine=alpha+bwx-${compiler};; alpha*) machine=alpha-${compiler};; - armv[4-9]*b*) machine="armv4 -DB_ENDIAN";; - armv[4-9]*) machine="armv4 -DL_ENDIAN";; arm*b*) machine="generic32 -DB_ENDIAN";; arm*) machine="generic32 -DL_ENDIAN";; - avr*) machine="generic32 -DL_ENDIAN";; - bfin*) machine="generic32 -DL_ENDIAN";; # hppa64*) machine=parisc64;; hppa*) machine="generic32 -DB_ENDIAN";; - i[0-9]86*|\ - x86_64*:x86) machine=elf;; + i[0-9]86*) machine=elf;; ia64*) machine=ia64;; m68*) machine="generic32 -DB_ENDIAN";; mips*el*) machine="generic32 -DL_ENDIAN";; mips*) machine="generic32 -DB_ENDIAN";; - powerpc64*le*)machine=ppc64le;; powerpc64*) machine=ppc64;; - powerpc*le*) machine="generic32 -DL_ENDIAN";; powerpc*) machine=ppc;; # sh64*) machine=elf;; sh*b*) machine="generic32 -DB_ENDIAN";; sh*) machine="generic32 -DL_ENDIAN";; - # TODO: Might want to do -mcpu probing like glibc to determine a - # better default for sparc-linux-gnu targets. This logic will - # break v7 and older systems when they use it. sparc*v7*) machine="generic32 -DB_ENDIAN";; - sparc64*) machine=sparcv9 system=linux64;; - sparc*v9*) machine=sparcv9;; - sparc*v8*) machine=sparcv8;; + sparc64*) machine=sparcv9;; sparc*) machine=sparcv8;; - s390x*) machine=s390x system=linux64;; + s390x*) machine="generic64 -DB_ENDIAN";; s390*) machine="generic32 -DB_ENDIAN";; - x86_64*:x32) machine=x32;; x86_64*) machine=x86_64;; esac ;; @@ -159,17 +137,6 @@ solaris) winnt) machine=parity ;; -mingw*) - # special case ... no xxx-yyy style name - echo ${system} - ;; -hurd) - case ${chost_machine} in - i[0-9]86*) machine=x86;; - x86_64*) machine=x86_64;; - *) machine=generic32;; - esac - ;; esac diff --git a/dev-libs/openssl-compat/files/gentoo.config-1.0.4 b/dev-libs/openssl-compat/files/gentoo.config-1.0.4 deleted file mode 100644 index 735ab493c577..000000000000 --- a/dev-libs/openssl-compat/files/gentoo.config-1.0.4 +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env bash -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 -# -# Openssl doesn't play along nicely with cross-compiling -# like autotools based projects, so let's teach it new tricks. -# -# Review the bundled 'config' script to see why kind of targets -# we can pass to the 'Configure' script. - - -# Testing routines -if [[ $1 == "test" ]] ; then - for c in \ - "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \ - "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \ - "x86_64-pc-linux-gnu |linux-x86_64" \ - "alpha-linux-gnu |linux-alpha-gcc" \ - "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \ - "i686-pc-linux-gnu |linux-elf" \ - "whatever-gentoo-freebsdX.Y |BSD-generic32" \ - "i686-gentoo-freebsdX.Y |BSD-x86-elf" \ - "sparc64-alpha-freebsdX.Y |BSD-sparc64" \ - "ia64-gentoo-freebsd5.99234 |BSD-ia64" \ - "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \ - "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \ - "powerpc-gentOO-linux-uclibc |linux-ppc" \ - "powerpc64-unk-linux-gnu |linux-ppc64" \ - "powerpc64le-linux-gnu |linux-ppc64le" \ - "x86_64-apple-darwinX |darwin64-x86_64-cc" \ - "powerpc64-apple-darwinX |darwin64-ppc-cc" \ - "i686-apple-darwinX |darwin-i386-cc" \ - "i386-apple-darwinX |darwin-i386-cc" \ - "powerpc-apple-darwinX |darwin-ppc-cc" \ - "i586-pc-winnt |winnt-parity" \ - "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \ - "s390x-linux-gnu |linux64-s390x" \ - ;do - CHOST=${c/|*} - ret_want=${c/*|} - ret_got=$(CHOST=${CHOST} "$0") - - if [[ ${ret_want} == "${ret_got}" ]] ; then - echo "PASS: ${CHOST}" - else - echo "FAIL: ${CHOST}" - echo -e "\twanted: ${ret_want}" - echo -e "\twe got: ${ret_got}" - fi - done - exit 0 -fi -[[ -z ${CHOST} && -n $1 ]] && CHOST=$1 - - -# Detect the operating system -case ${CHOST} in - *-aix*) system="aix";; - *-darwin*) system="darwin";; - *-freebsd*) system="BSD";; - *-hpux*) system="hpux";; - *-linux*) system="linux";; - *-solaris*) system="solaris";; - *-winnt*) system="winnt";; - x86_64-*-mingw*) system="mingw64";; - *mingw*) system="mingw";; - *-gnu*) system="hurd";; - *) exit 0;; -esac - - -# Compiler munging -compiler="gcc" -if [[ ${CC} == "ccc" ]] ; then - compiler=${CC} -fi - - -# Detect target arch -machine="" -chost_machine=${CHOST%%-*} -case ${system} in -linux) - case ${chost_machine}:${ABI} in - aarch64*be*) machine="aarch64 -DB_ENDIAN";; - aarch64*) machine="aarch64 -DL_ENDIAN";; - alphaev56*|\ - alphaev[678]*)machine=alpha+bwx-${compiler};; - alpha*) machine=alpha-${compiler};; - armv[4-9]*b*) machine="armv4 -DB_ENDIAN";; - armv[4-9]*) machine="armv4 -DL_ENDIAN";; - arm*b*) machine="generic32 -DB_ENDIAN";; - arm*) machine="generic32 -DL_ENDIAN";; - avr*) machine="generic32 -DL_ENDIAN";; - bfin*) machine="generic32 -DL_ENDIAN";; - # hppa64*) machine=parisc64;; - hppa*) machine="generic32 -DB_ENDIAN";; - i[0-9]86*|\ - x86_64*:x86) machine=x86;; - ia64*) machine=ia64;; - loongarch64*) machine="loongarch64 -DL_ENDIAN" system=linux64;; - m68*) machine="latomic -DB_ENDIAN";; - mips*el*:o32) machine="mips32 -DL_ENDIAN";; - mips*:o32) machine="mips32 -DB_ENDIAN";; - mips*el*:n32) machine="mips64 -DL_ENDIAN";; - mips*:n32) machine="mips64 -DB_ENDIAN";; - mips*el*:n64) machine="mips64 -DL_ENDIAN" system=linux64;; - mips*:n64) machine="mips64 -DB_ENDIAN" system=linux64;; - powerpc64*le*)machine=ppc64le;; - powerpc64*) machine=ppc64;; - powerpc*le*) machine="generic32 -DL_ENDIAN";; - powerpc*) machine=ppc;; - riscv32*) machine="generic32 -DL_ENDIAN";; - riscv64*) machine="riscv64 -DL_ENDIAN" system=linux64;; - # sh64*) machine=elf;; - sh*b*) machine="generic32 -DB_ENDIAN";; - sh*) machine="generic32 -DL_ENDIAN";; - # TODO: Might want to do -mcpu probing like glibc to determine a - # better default for sparc-linux-gnu targets. This logic will - # break v7 and older systems when they use it. - sparc*v7*) machine="generic32 -DB_ENDIAN";; - sparc64*) machine=sparcv9 system=linux64;; - sparc*v9*) machine=sparcv9;; - sparc*v8*) machine=sparcv8;; - sparc*) machine=sparcv8;; - s390x*) machine=s390x system=linux64;; - s390*) machine="generic32 -DB_ENDIAN";; - x86_64*:x32) machine=x32;; - x86_64*) machine=x86_64;; - esac - ;; -BSD) - case ${chost_machine} in - alpha*) machine=generic64;; - i[6-9]86*) machine=x86-elf;; - ia64*) machine=ia64;; - sparc64*) machine=sparc64;; - x86_64*) machine=x86_64;; - *) machine=generic32;; - esac - ;; -aix) - machine=${compiler} - ;; -darwin) - case ${chost_machine} in - powerpc64) machine=ppc-cc; system=${system}64;; - powerpc) machine=ppc-cc;; - i?86*) machine=i386-cc;; - x86_64) machine=x86_64-cc; system=${system}64;; - esac - ;; -hpux) - case ${chost_machine} in - ia64) machine=ia64-${compiler} ;; - esac - ;; -solaris) - case ${chost_machine} in - i386) machine=x86-${compiler} ;; - x86_64*) machine=x86_64-${compiler}; system=${system}64;; - sparcv9*) machine=sparcv9-${compiler}; system=${system}64;; - sparc*) machine=sparcv8-${compiler};; - esac - ;; -winnt) - machine=parity - ;; -mingw*) - # special case ... no xxx-yyy style name - echo ${system} - ;; -hurd) - case ${chost_machine} in - i[0-9]86*) machine=x86;; - x86_64*) machine=x86_64;; - *) machine=generic32;; - esac - ;; -esac - - -# If we have something, show it -[[ -n ${machine} ]] && echo ${system}-${machine} diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch b/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch new file mode 100644 index 000000000000..a798164a9069 --- /dev/null +++ b/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch @@ -0,0 +1,25 @@ +--- a/Configure ++++ b/Configure +@@ -365,7 +365,7 @@ + # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it + # simply *happens* to work around a compiler bug in gcc 3.3.3, + # triggered by RIPEMD160 code. +-"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ++"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:ULTRASPARC::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + + +the -B flag is a no-op nowadays + +--- a/crypto/des/Makefile ++++ b/crypto/des/Makefile +@@ -62,7 +62,7 @@ + $(CC) $(CFLAGS) -o des des.o cbc3_enc.o $(LIB) + + des_enc-sparc.S: asm/des_enc.m4 +- m4 -B 8192 asm/des_enc.m4 > des_enc-sparc.S ++ m4 asm/des_enc.m4 > des_enc-sparc.S + + # ELF + dx86-elf.s: asm/des-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch b/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch new file mode 100644 index 000000000000..64cc7bde0504 --- /dev/null +++ b/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch @@ -0,0 +1,29 @@ +http://bugs.gentoo.org/181438 +http://bugs.gentoo.org/327421 +https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest + +make sure we respect LDFLAGS + +also make sure we don't add useless -rpath flags to the system libdir + +--- openssl-0.9.8h/Makefile.org ++++ openssl-0.9.8h/Makefile.org +@@ -180,6 +181,7 @@ + MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \ + DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \ + MAKEDEPPROG='${MAKEDEPPROG}' \ ++ LDFLAGS='${LDFLAGS}' \ + SHARED_LDFLAGS='${SHARED_LDFLAGS}' \ + KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \ + EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \ +--- openssl-0.9.8h/Makefile.shared ++++ openssl-0.9.8h/Makefile.shared +@@ -153,7 +153,7 @@ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ + SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" + +-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" ++DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)" + + #This is rather special. It's a special target with which one can link + #applications without bothering with any features that have anything to diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch b/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch new file mode 100644 index 000000000000..9fa79b9a65fb --- /dev/null +++ b/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch @@ -0,0 +1,24 @@ +http://bugs.gentoo.org/289130 + +Ripped from Fedora + +--- openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl.binutils 2009-11-12 15:17:29.000000000 +0100 ++++ openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl 2009-11-12 17:24:18.000000000 +0100 +@@ -150,7 +150,7 @@ ___ + sub BODY_20_39 { + my ($i,$a,$b,$c,$d,$e,$f)=@_; + my $j=$i+1; +-my $K=($i<40)?0x6ed9eba1:0xca62c1d6; ++my $K=($i<40)?0x6ed9eba1:-0x359d3e2a; + $code.=<<___ if ($i<79); + lea $K($xi,$e),$f + mov `4*($j%16)`(%rsp),$xi +@@ -187,7 +187,7 @@ sub BODY_40_59 { + my ($i,$a,$b,$c,$d,$e,$f)=@_; + my $j=$i+1; + $code.=<<___; +- lea 0x8f1bbcdc($xi,$e),$f ++ lea -0x70e44324($xi,$e),$f + mov `4*($j%16)`(%rsp),$xi + mov $b,$t0 + mov $b,$t1 diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch b/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch new file mode 100644 index 000000000000..c932b820425c --- /dev/null +++ b/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/639876 + +--- a/crypto/des/asm/des-586.pl ++++ b/crypto/des/asm/des-586.pl +@@ -4,7 +4,7 @@ + # Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk> + # + +-push(@INC,"perlasm","../../perlasm"); ++push(@INC,".","perlasm","../../perlasm"); + require "x86asm.pl"; + require "cbc.pl"; + require "desboth.pl"; diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-termios.patch b/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-termios.patch new file mode 100644 index 000000000000..5beb692a5b94 --- /dev/null +++ b/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-termios.patch @@ -0,0 +1,11 @@ +--- a/crypto/ui/ui_openssl.c ++++ b/crypto/ui/ui_openssl.c +@@ -186,7 +186,7 @@ + # undef SGTTY + #endif + +-#if defined(linux) && !defined(TERMIO) ++#if defined(linux) && !defined(TERMIO) && !defined(TERMIOS) + # undef TERMIOS + # define TERMIO + # undef SGTTY diff --git a/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch b/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch deleted file mode 100644 index c837e208cf6a..000000000000 --- a/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/openssl/openssl/issues/7679 - ---- a/Configurations/unix-Makefile.tmpl -+++ b/Configurations/unix-Makefile.tmpl -@@ -77,8 +77,14 @@ - # to. You're welcome. - sub dependmagic { - my $target = shift; -- -- return "$target: build_generated\n\t\$(MAKE) depend && \$(MAKE) _$target\n_$target"; -+ my $magic = <<"_____"; -+$target: build_generated depend -+ \$(MAKE) _$target -+_$target -+_____ -+ # Remove line ending -+ $magic =~ s|\R$||; -+ return $magic; - } - ''; - -} diff --git a/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch b/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch deleted file mode 100644 index c94b0323eb43..000000000000 --- a/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.francis@wdc.com> -Date: Thu, 29 Aug 2019 13:56:21 -0700 -Subject: [PATCH] Add support for io_pgetevents_time64 syscall - -32-bit architectures that are y2038 safe don't include syscalls that use -32-bit time_t. Instead these architectures have suffixed syscalls that -always use a 64-bit time_t. In the case of the io_getevents syscall the -syscall has been replaced with the io_pgetevents_time64 syscall instead. - -This patch changes the io_getevents() function to use the correct -syscall based on the avaliable syscalls and the time_t size. We will -only use the new 64-bit time_t syscall if the architecture is using a -64-bit time_t. This is to avoid having to deal with 32/64-bit -conversions and relying on a 64-bit timespec struct on 32-bit time_t -platforms. As of Linux 5.3 there are no 32-bit time_t architectures -without __NR_io_getevents. In the future if a 32-bit time_t architecture -wants to use the 64-bit syscalls we can handle the conversion. - -This fixes build failures on 32-bit RISC-V. - -Signed-off-by: Alistair Francis <alistair.francis@wdc.com> - -Reviewed-by: Richard Levitte <levitte@openssl.org> -Reviewed-by: Paul Dale <paul.dale@oracle.com> -(Merged from https://github.com/openssl/openssl/pull/9819) ---- - engines/e_afalg.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/engines/e_afalg.c b/engines/e_afalg.c -index dacbe358cb..99516cb1bb 100644 ---- a/engines/e_afalg.c -+++ b/engines/e_afalg.c -@@ -125,7 +125,23 @@ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max, - struct io_event *events, - struct timespec *timeout) - { -+#if defined(__NR_io_getevents) - return syscall(__NR_io_getevents, ctx, min, max, events, timeout); -+#elif defined(__NR_io_pgetevents_time64) -+ /* Let's only support the 64 suffix syscalls for 64-bit time_t. -+ * This simplifies the code for us as we don't need to use a 64-bit -+ * version of timespec with a 32-bit time_t and handle converting -+ * between 64-bit and 32-bit times and check for overflows. -+ */ -+ if (sizeof(timeout->tv_sec) == 8) -+ return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL); -+ else { -+ errno = ENOSYS; -+ return -1; -+ } -+#else -+# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64." -+#endif - } - - static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key, --- -2.26.2 - diff --git a/dev-libs/openssl-compat/metadata.xml b/dev-libs/openssl-compat/metadata.xml index 3f45ce74ee32..6c0881a24439 100644 --- a/dev-libs/openssl-compat/metadata.xml +++ b/dev-libs/openssl-compat/metadata.xml @@ -1,19 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> + <maintainer type="person"> + <email>chewi@gentoo.org</email> + <name>James Le Cuirot</name> </maintainer> <use> <flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag> - <flag name="quic">Enable support for QUIC (RFC 9000); a UDP-based protocol intended to replace TCP</flag> - <flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag> - <flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag> - <flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag> <flag name="tls-compression">Enable support for discouraged TLS compression</flag> - <flag name="tls-heartbeat">Enable the Heartbeat Extension in TLS and DTLS</flag> - <flag name="weak-ssl-ciphers">Build support for SSL/TLS ciphers that are considered "weak"</flag> </use> <upstream> <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id> diff --git a/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r3.ebuild b/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r3.ebuild new file mode 100644 index 000000000000..4f7b116337d8 --- /dev/null +++ b/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r3.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# this ebuild is only for the libcrypto.so.0.9.8 and libssl.so.0.9.8 SONAME for ABI compat + +EAPI="8" + +inherit flag-o-matic toolchain-funcs multilib-minimal + +#PLEVEL=$(printf "\\$(printf '%03o' $((${PV##*_p} + 96)))") +PLEVEL='h' # _p8 -> tr '[1-9]' '[a-i]' -> 'h' +MY_PV=${PV/_p*/${PLEVEL}} +MY_P=openssl-${MY_PV} +DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1" +HOMEPAGE="https://www.openssl.org/" +SRC_URI="mirror://openssl/source/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="openssl" +SLOT="0.9.8" +KEYWORDS="~amd64 ~x86" +IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test tls-compression" +RESTRICT="!bindist? ( bindist ) + test" + +RDEPEND=" + gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] ) + tls-compression? ( virtual/zlib:=[${MULTILIB_USEDEP}] ) + kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + >=dev-lang/perl-5 + test? ( + sys-apps/diffutils + sys-devel/bc + ) +" + +# Do not install any docs +DOCS=() + +PATCHES=( + "${FILESDIR}"/openssl-0.9.8e-bsd-sparc64.patch + "${FILESDIR}"/openssl-0.9.8h-ldflags.patch #181438 + "${FILESDIR}"/openssl-0.9.8m-binutils.patch #289130 + "${FILESDIR}"/openssl-0.9.8z_p8-perl-5.26.patch + "${FILESDIR}"/openssl-0.9.8z_p8-termios.patch +) + +src_prepare() { + default + + # disable fips in the build + # make sure the man pages are suffixed #302165 + # don't bother building man pages if they're disabled + sed -i \ + -e '/DIRS/s: fips : :g' \ + -e '/^MANSUFFIX/s:=.*:=ssl:' \ + -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \ + -e $(has noman FEATURES \ + && echo '/^install:/s:install_docs::' \ + || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \ + Makefile{,.org} \ + || die + # show the actual commands in the log + sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared || die + # update the enginedir path. + # punt broken config we don't care about as it fails sanity check. + # force TERMIOS because glibc no longer has TERMIO. + sed -i \ + -e '/^"debug-ben-debug-64"/d' \ + -e "/foo.*engines/s|/lib/engines|/$(get_libdir)/engines|" \ + -e 's/-DTERMIO\b/-DTERMIOS/g' \ + Configure || die + + # since we're forcing $(CC) as makedep anyway, just fix + # the conditional as always-on + # helps clang (#417795), and versioned gcc (#499818) + sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die + + # quiet out unknown driver argument warnings since openssl + # doesn't have well-split CFLAGS and we're making it even worse + # and 'make depend' uses -Werror for added fun (#417795 again) + [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments + + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed" + chmod a+rx gentoo.config || die + + append-flags -fno-strict-aliasing + append-flags -Wa,--noexecstack + + sed -i '1s,^:$,#!/usr/bin/perl,' Configure || die #141906 + sed -i '/^"debug-bodo/d' Configure || die # 0.9.8za shipped broken + ./config --test-sanity || die "I AM NOT SANE" + + multilib_copy_sources +} + +multilib_src_configure() { + unset APPS #197996 + unset SCRIPTS #312551 + + tc-export CC AR RANLIB + + # Clean out patent-or-otherwise-encumbered code + # Camellia: Royalty Free https://en.wikipedia.org/wiki/Camellia_(cipher) + # IDEA: Expired https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm + # EC: ????????? ??/??/2015 https://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography + # MDC2: Expired https://en.wikipedia.org/wiki/MDC-2 + # RC5: 5,724,428 03/03/2015 https://en.wikipedia.org/wiki/RC5 + + use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; } + echoit() { echo "$@" ; "$@" ; } + + local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal") + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout:-(openssl knows best)}" + local config="Configure" + [[ -z ${sslout} ]] && config="config" + + echoit \ + ./${config} \ + ${sslout} \ + $(use cpu_flags_x86_sse2 || echo "no-sse2") \ + enable-camellia \ + $(use_ssl !bindist ec) \ + enable-idea \ + enable-mdc2 \ + $(use_ssl !bindist rc5) \ + enable-tlsext \ + $(use_ssl gmp gmp -lgmp) \ + $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \ + $(use_ssl tls-compression zlib) \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + shared threads \ + || die "Configure failed" + + # Clean out hardcoded flags that openssl uses + local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \ + -e 's:^CFLAG=::' \ + -e 's:-fomit-frame-pointer ::g' \ + -e 's:-O[0-9] ::g' \ + -e 's:-march=[-a-z0-9]* ::g' \ + -e 's:-mcpu=[-a-z0-9]* ::g' \ + -e 's:-m[a-z0-9]* ::g' \ + ) + sed -i \ + -e "/^LIBDIR=/s|=.*|=$(get_libdir)|" \ + -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \ + -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \ + Makefile || die +} + +multilib_src_compile() { + # depend is needed to use $confopts + emake -j1 depend + emake -j1 build_libs +} + +multilib_src_test() { + emake -j1 test +} + +multilib_src_install() { + dolib.so lib{crypto,ssl}.so.0.9.8 +} diff --git a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild deleted file mode 100644 index 10f9e4f8bcc3..000000000000 --- a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit flag-o-matic toolchain-funcs multilib-minimal - -# openssl-1.0.2-patches-1.6 contain additional CVE patches -# which got fixed with this release. -# Please use 1.7 version number when rolling a new tarball! -PATCH_SET="openssl-1.0.2-patches-1.5" - -MY_P=openssl-${PV/_/-} - -# This patch set is based on the following files from Fedora 25, -# see https://src.fedoraproject.org/rpms/openssl/blob/25/f/openssl.spec -# for more details: -# - hobble-openssl (SOURCE1) -# - ec_curve.c (SOURCE12) -- MODIFIED -# - ectest.c (SOURCE13) -# - openssl-1.1.1-ec-curves.patch (PATCH37) -- MODIFIED -BINDIST_PATCH_SET="openssl-1.0.2t-bindist-1.0.tar.xz" - -DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)" -HOMEPAGE="https://www.openssl.org/" -SRC_URI="mirror://openssl/source/${MY_P}.tar.gz - bindist? ( - mirror://gentoo/bb/${BINDIST_PATCH_SET} - ) - !vanilla? ( - https://dev.gentoo.org/~chutzpah/dist/openssl/${PATCH_SET}.tar.xz - ) - mirror://gentoo/ec/openssl-compat-1.0.2u-versioned-symbols.patch.gz" - -LICENSE="openssl" -SLOT="1.0.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" -IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla tls-compression" - -RESTRICT="!bindist? ( bindist ) - test" - -RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] ) - kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] ) - tls-compression? ( >=virtual/zlib-1.2.8-r1:=[static-libs(+)?,${MULTILIB_USEDEP}] ) - !=dev-libs/openssl-1.0.2*:0 - !dev-libs/openssl:1.0.0" -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-lang/perl-5 - sctp? ( >=net-misc/lksctp-tools-1.0.12 ) - test? ( - sys-apps/diffutils - app-alternatives/bc - )" - -# Do not install any docs -DOCS=() - -S="${WORKDIR}/${MY_P}" - -MULTILIB_WRAPPED_HEADERS=( - usr/include/openssl/opensslconf.h -) - -src_prepare() { - mv "${WORKDIR}"/openssl-compat-1.0.2u-versioned-symbols.patch "${WORKDIR}"/patch || die - - if use bindist; then - mv "${WORKDIR}"/bindist-patches/hobble-openssl "${WORKDIR}" || die - bash "${WORKDIR}"/hobble-openssl || die - - cp -f "${WORKDIR}"/bindist-patches/ec_curve.c "${S}"/crypto/ec/ || die - cp -f "${WORKDIR}"/bindist-patches/ectest.c "${S}"/crypto/ec/ || die - - eapply "${WORKDIR}"/bindist-patches/ec-curves.patch - - # Also see the configure parts below: - # enable-ec \ - # $(use_ssl !bindist ec2m) \ - # $(use_ssl !bindist srp) \ - fi - - # keep this in sync with app-misc/c_rehash - SSL_CNF_DIR="/etc/ssl" - - # Make sure we only ever touch Makefile.org and avoid patching a file - # that gets blown away anyways by the Configure script in src_configure - rm -f Makefile - - if ! use vanilla ; then - eapply "${WORKDIR}"/patch/*.patch - fi - - eapply_user - - # disable fips in the build - # make sure the man pages are suffixed #302165 - # don't bother building man pages if they're disabled - sed -i \ - -e '/DIRS/s: fips : :g' \ - -e '/^MANSUFFIX/s:=.*:=ssl:' \ - -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \ - -e $(has noman FEATURES \ - && echo '/^install:/s:install_docs::' \ - || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \ - Makefile.org \ - || die - # show the actual commands in the log - sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared - - # since we're forcing $(CC) as makedep anyway, just fix - # the conditional as always-on - # helps clang (#417795), and versioned gcc (#499818) - # this breaks build with 1.0.2p, not sure if it is needed anymore - #sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die - - # quiet out unknown driver argument warnings since openssl - # doesn't have well-split CFLAGS and we're making it even worse - # and 'make depend' uses -Werror for added fun (#417795 again) - [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments - - # allow openssl to be cross-compiled - cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die - chmod a+rx gentoo.config || die - - append-flags -fno-strict-aliasing - append-flags $(test-flags-CC -Wa,--noexecstack) - append-cppflags -DOPENSSL_NO_BUF_FREELISTS - - sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906 - # The config script does stupid stuff to prompt the user. Kill it. - sed -i '/stty -icanon min 0 time 50; read waste/d' config || die - ./config --test-sanity || die "I AM NOT SANE" - - multilib_copy_sources -} - -multilib_src_configure() { - unset APPS #197996 - unset SCRIPTS #312551 - unset CROSS_COMPILE #311473 - - tc-export CC AR RANLIB RC - - # Clean out patent-or-otherwise-encumbered code - # Camellia: Royalty Free https://en.wikipedia.org/wiki/Camellia_(cipher) - # IDEA: Expired https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm - # EC: ????????? ??/??/2015 https://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography - # MDC2: Expired https://en.wikipedia.org/wiki/MDC-2 - # RC5: Expired https://en.wikipedia.org/wiki/RC5 - - use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; } - echoit() { echo "$@" ; "$@" ; } - - local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal") - - # See if our toolchain supports __uint128_t. If so, it's 64bit - # friendly and can use the nicely optimized code paths. #460790 - local ec_nistp_64_gcc_128 - # Disable it for now though #469976 - #if ! use bindist ; then - # echo "__uint128_t i;" > "${T}"/128.c - # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then - # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128" - # fi - #fi - - local sslout=$(./gentoo.config) - einfo "Use configuration ${sslout:-(openssl knows best)}" - local config="Configure" - [[ -z ${sslout} ]] && config="config" - - # Fedora hobbled-EC needs 'no-ec2m', 'no-srp' - # Make sure user flags don't get added *yet* to avoid duplicated - # flags. - CFLAGS= LDFLAGS= echoit \ - ./${config} \ - ${sslout} \ - $(use cpu_flags_x86_sse2 || echo "no-sse2") \ - enable-camellia \ - enable-ec \ - $(use_ssl !bindist ec2m) \ - $(use_ssl !bindist srp) \ - ${ec_nistp_64_gcc_128} \ - enable-idea \ - enable-mdc2 \ - enable-rc5 \ - enable-tlsext \ - $(use_ssl asm) \ - $(use_ssl gmp gmp -lgmp) \ - $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \ - $(use_ssl rfc3779) \ - $(use_ssl sctp) \ - $(use_ssl sslv2 ssl2) \ - $(use_ssl sslv3 ssl3) \ - $(use_ssl tls-heartbeat heartbeats) \ - $(use_ssl tls-compression zlib) \ - --prefix="${EPREFIX}"/usr \ - --openssldir="${EPREFIX}"${SSL_CNF_DIR} \ - --libdir=$(get_libdir) \ - shared threads \ - || die - - # Clean out hardcoded flags that openssl uses - local DEFAULT_CFLAGS=$(grep ^CFLAG= Makefile | LC_ALL=C sed \ - -e 's:^CFLAG=::' \ - -e 's:\(^\| \)-fomit-frame-pointer::g' \ - -e 's:\(^\| \)-O[^ ]*::g' \ - -e 's:\(^\| \)-march=[^ ]*::g' \ - -e 's:\(^\| \)-mcpu=[^ ]*::g' \ - -e 's:\(^\| \)-m[^ ]*::g' \ - -e 's:^ *::' \ - -e 's: *$::' \ - -e 's: \+: :g' \ - -e 's:\\:\\\\:g' - ) - - # Now insert clean default flags with user flags - sed -i \ - -e "/^CFLAG/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \ - -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \ - Makefile || die -} - -multilib_src_compile() { - # depend is needed to use $confopts; it also doesn't matter - # that it's -j1 as the code itself serializes subdirs - emake -j1 V=1 depend - emake build_libs -} - -multilib_src_test() { - emake -j1 test -} - -multilib_src_install() { - dolib.so lib{crypto,ssl}.so.${SLOT} -} diff --git a/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild b/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild deleted file mode 100644 index 1e66e479a373..000000000000 --- a/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo flag-o-matic toolchain-funcs multilib-minimal - -MY_P=openssl-${PV/_/-} -DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)" -HOMEPAGE="https://www.openssl.org/" -SRC_URI="mirror://openssl/source/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="openssl" -SLOT="$(ver_cut 1-3)" -if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi -IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla weak-ssl-ciphers" -RESTRICT="!test? ( test )" - -RDEPEND=" - !=dev-libs/openssl-1.1.1*:0 - tls-compression? ( >=virtual/zlib-1.2.8-r1:=[static-libs(+)?,${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-lang/perl-5 - sctp? ( >=net-misc/lksctp-tools-1.0.12 ) - test? ( - sys-apps/diffutils - app-alternatives/bc - kernel_linux? ( sys-process/procps ) - ) -" - -# Do not install any docs -DOCS=() - -PATCHES=( - # General patches which are suitable to always apply - # If they're Gentoo specific, add to USE=-vanilla logic in src_prepare! - "${FILESDIR}"/${PN/-compat}-1.1.0j-parallel_install_fix.patch # bug #671602 - "${FILESDIR}"/${PN/-compat}-1.1.1i-riscv32.patch -) - -pkg_setup() { - [[ ${MERGE_TYPE} == binary ]] && return - - # must check in pkg_setup; sysctl doesn't work with userpriv! - if use test && use sctp; then - # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel" - # if sctp.auth_enable is not enabled. - local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null) - if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then - die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!" - fi - fi -} - -src_prepare() { - # Allow openssl to be cross-compiled - cp "${FILESDIR}"/gentoo.config-1.0.4 gentoo.config || die - chmod a+rx gentoo.config || die - - # Keep this in sync with app-misc/c_rehash - SSL_CNF_DIR="/etc/ssl" - - # Make sure we only ever touch Makefile.org and avoid patching a file - # that gets blown away anyways by the Configure script in src_configure - rm -f Makefile - - if ! use vanilla ; then - PATCHES+=( - # Add patches which are Gentoo-specific customisations here - ) - fi - - default - - if use test && use sctp && has network-sandbox ${FEATURES}; then - einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..." - rm test/recipes/80-test_ssl_new.t || die - fi - - # Quiet out unknown driver argument warnings since openssl - # doesn't have well-split CFLAGS and we're making it even worse - # and 'make depend' uses -Werror for added fun (bug #417795 again) - tc-is-clang && append-flags -Qunused-arguments - - # We really, really need to build OpenSSL w/ strict aliasing disabled. - # It's filled with violations and it *will* result in miscompiled - # code. This has been in the ebuild for > 10 years but even in 2022, - # it's still relevant: - # - https://github.com/llvm/llvm-project/issues/55255 - # - https://github.com/openssl/openssl/issues/18225 - # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057 - # Don't remove the no strict aliasing bits below! - filter-flags -fstrict-aliasing - append-flags -fno-strict-aliasing - - append-cppflags -DOPENSSL_NO_BUF_FREELISTS - - append-flags $(test-flags-CC -Wa,--noexecstack) - - # Remove test target when FEATURES=test isn't set - if ! use test ; then - sed \ - -e '/^$config{dirs}/s@ "test",@@' \ - -i Configure || die - fi - - if use prefix && [[ ${CHOST} == *-solaris* ]] ; then - # use GNU ld full option, not to confuse it on Solaris - sed -i \ - -e 's/-Wl,-M,/-Wl,--version-script=/' \ - -e 's/-Wl,-h,/-Wl,--soname=/' \ - Configurations/10-main.conf || die - - # fix building on Solaris 10 - # https://github.com/openssl/openssl/issues/6333 - sed -i \ - -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \ - Configurations/10-main.conf || die - fi - - local sslout=$(./gentoo.config) - einfo "Using configuration: ${sslout:-(openssl knows best)}" - local config="perl Configure" - [[ -z ${sslout} ]] && config="sh config -v" - - # The config script does stupid stuff to prompt the user. Kill it. - sed -i '/stty -icanon min 0 time 50; read waste/d' config || die - edo ${config} ${sslout} --test-sanity - - multilib_copy_sources -} - -multilib_src_configure() { - # bug #197996 - unset APPS - # bug #312551 - unset SCRIPTS - # bug #311473 - unset CROSS_COMPILE - - tc-export AR CC CXX RANLIB RC - - use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; } - - local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal") - - # See if our toolchain supports __uint128_t. If so, it's 64bit - # friendly and can use the nicely optimized code paths, bug #460790. - #local ec_nistp_64_gcc_128 - # - # Disable it for now though (bug #469976) - # Do NOT re-enable without substantial discussion first! - # - #echo "__uint128_t i;" > "${T}"/128.c - #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then - # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128" - #fi - - local sslout=$(./gentoo.config) - einfo "Use configuration ${sslout:-(openssl knows best)}" - local config="perl Configure" - [[ -z ${sslout} ]] && config="sh config -v" - - # "disable-deprecated" option breaks too many consumers. - # Don't set it without thorough revdeps testing. - # Make sure user flags don't get added *yet* to avoid duplicated - # flags. - local myeconfargs=( - ${sslout} - - $(use cpu_flags_x86_sse2 || echo "no-sse2") - enable-camellia - enable-ec - enable-ec2m - enable-sm2 - enable-srp - $(use elibc_musl && echo "no-async") - ${ec_nistp_64_gcc_128} - enable-idea - enable-mdc2 - enable-rc5 - $(use_ssl sslv3 ssl3) - $(use_ssl sslv3 ssl3-method) - $(use_ssl asm) - $(use_ssl rfc3779) - $(use_ssl sctp) - $(use test || echo "no-tests") - $(use_ssl tls-compression zlib) - $(use_ssl tls-heartbeat heartbeats) - $(use_ssl weak-ssl-ciphers) - - --prefix="${EPREFIX}"/usr - --openssldir="${EPREFIX}"${SSL_CNF_DIR} - --libdir=$(get_libdir) - - shared - threads - ) - - edo ${config} "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake all -} - -multilib_src_test() { - emake -j1 test -} - -multilib_src_install() { - dolib.so lib{crypto,ssl}.so.$(ver_cut 1-2 "${SLOT}") -} diff --git a/dev-libs/openssl-compat/openssl-compat-3.6.2.ebuild b/dev-libs/openssl-compat/openssl-compat-3.6.2.ebuild deleted file mode 100644 index 86d925410287..000000000000 --- a/dev-libs/openssl-compat/openssl-compat-3.6.2.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc - -inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig - -MY_P=openssl-${PV/_/-} - -DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)" -HOMEPAGE="https://openssl-library.org/" -SRC_URI=" - https://github.com/openssl/openssl/releases/download/${MY_P}/${MY_P}.tar.gz - verify-sig? ( - https://github.com/openssl/openssl/releases/download/${MY_P}/${MY_P}.tar.gz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="Apache-2.0" -SLOT="$(ver_cut 1)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_x86_sse2 +quic rfc3779 sctp test tls-compression vanilla weak-ssl-ciphers" -RESTRICT="!test? ( test )" - -RDEPEND=" - !=dev-libs/openssl-$(ver_cut 1)*:0 - tls-compression? ( >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-lang/perl-5 - sctp? ( >=net-misc/lksctp-tools-1.0.12 ) - test? ( - sys-apps/diffutils - app-alternatives/bc - sys-process/procps - ) - verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 ) -" - -# Do not install any docs -DOCS=() - -pkg_setup() { - [[ ${MERGE_TYPE} == binary ]] && return - - # must check in pkg_setup; sysctl doesn't work with userpriv! - if use test && use sctp ; then - # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel" - # if sctp.auth_enable is not enabled. - local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null) - if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then - die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!" - fi - fi -} - -src_prepare() { - # Keep this in sync with app-misc/c_rehash - SSL_CNF_DIR="/etc/ssl" - - # Make sure we only ever touch Makefile.org and avoid patching a file - # that gets blown away anyways by the Configure script in src_configure - rm -f Makefile || die - - if ! use vanilla ; then - PATCHES+=( - # Add patches which are Gentoo-specific customisations here - ) - fi - - default - - if use test && use sctp && has network-sandbox ${FEATURES} ; then - einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..." - rm test/recipes/80-test_ssl_new.t || die - fi - - # Test fails depending on kernel configuration, bug #699134 - rm test/recipes/30-test_afalg.t || die - - # Quiet out unknown driver argument warnings since openssl - # doesn't have well-split CFLAGS and we're making it even worse - # and 'make depend' uses -Werror for added fun (bug #417795 again) - tc-is-clang && append-flags -Qunused-arguments - - # We really, really need to build OpenSSL w/ strict aliasing disabled. - # It's filled with violations and it *will* result in miscompiled - # code. This has been in the ebuild for > 10 years but even in 2022, - # it's still relevant: - # - https://github.com/llvm/llvm-project/issues/55255 - # - https://github.com/openssl/openssl/issues/12247 - # - https://github.com/openssl/openssl/issues/18225 - # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057 - # Don't remove the no strict aliasing bits below! - filter-flags -fstrict-aliasing - append-flags -fno-strict-aliasing - # The OpenSSL developers don't test with LTO right now, it leads to various - # warnings/errors (which may or may not be false positives), it's considered - # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663. - filter-lto - - append-flags $(test-flags-CC -Wa,--noexecstack) - - # bug #895308 -- check inserts GNU ld-compatible arguments - [[ ${CHOST} == *-darwin* ]] || append-atomic-flags - # Configure doesn't respect LIBS - export LDLIBS="${LIBS}" - - multilib_copy_sources -} - -multilib_src_configure() { - # bug #197996 - unset APPS - # bug #312551 - unset SCRIPTS - # bug #311473 - unset CROSS_COMPILE - - tc-export AR CC CXX RANLIB RC - - use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; } - - local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4") - einfo "Using configuration: ${sslout:-(openssl knows best)}" - - # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features - local myeconfargs=( - ${sslout} - - no-docs - $(use cpu_flags_x86_sse2 || echo "no-sse2") - enable-camellia - enable-ec - enable-ec2m - enable-sm2 - enable-srp - $(use elibc_musl && echo "no-async") - enable-idea - enable-mdc2 - enable-rc5 - $(use_ssl asm) - $(use quic && echo "enable-quic") - $(use_ssl rfc3779) - $(use_ssl sctp) - $(use test || echo "no-tests") - $(use_ssl tls-compression zlib) - $(use_ssl weak-ssl-ciphers) - - --prefix="${EPREFIX}/usr" - --openssldir="${EPREFIX}${SSL_CNF_DIR}" - --libdir=$(get_libdir) - - shared - threads - ) - - edo perl Configure "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake build_sw -} - -multilib_src_test() { - emake -j1 test -} - -multilib_src_install() { - dolib.so lib{crypto,ssl}.so.$(ver_cut 1) -} diff --git a/dev-libs/openssl-compat/openssl-compat-3.6.4.ebuild b/dev-libs/openssl-compat/openssl-compat-3.6.4.ebuild deleted file mode 100644 index 50b62afb81ee..000000000000 --- a/dev-libs/openssl-compat/openssl-compat-3.6.4.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc - -inherit edo flag-o-matic toolchain-funcs multilib-minimal multiprocessing -inherit verify-sig - -MY_P=openssl-${PV/_/-} - -DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)" -HOMEPAGE="https://openssl-library.org/" -SRC_URI=" - https://github.com/openssl/openssl/releases/download/${MY_P}/${MY_P}.tar.gz - verify-sig? ( - https://github.com/openssl/openssl/releases/download/${MY_P}/${MY_P}.tar.gz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="Apache-2.0" -SLOT="$(ver_cut 1)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_x86_sse2 +quic rfc3779 sctp test tls-compression vanilla weak-ssl-ciphers" -RESTRICT="!test? ( test )" - -RDEPEND=" - !=dev-libs/openssl-$(ver_cut 1)*:0 - tls-compression? ( >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-lang/perl-5 - sctp? ( >=net-misc/lksctp-tools-1.0.12 ) - test? ( - sys-apps/diffutils - app-alternatives/bc - sys-process/procps - ) - verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 ) -" - -# Do not install any docs -DOCS=() - -pkg_setup() { - [[ ${MERGE_TYPE} == binary ]] && return - - # must check in pkg_setup; sysctl doesn't work with userpriv! - if use test && use sctp ; then - # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel" - # if sctp.auth_enable is not enabled. - local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null) - if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then - die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!" - fi - fi -} - -src_prepare() { - # Keep this in sync with app-misc/c_rehash - SSL_CNF_DIR="/etc/ssl" - - # Make sure we only ever touch Makefile.org and avoid patching a file - # that gets blown away anyways by the Configure script in src_configure - rm -f Makefile || die - - if ! use vanilla ; then - PATCHES+=( - # Add patches which are Gentoo-specific customisations here - ) - fi - - default - - if use test && use sctp && has network-sandbox ${FEATURES} ; then - einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..." - rm test/recipes/80-test_ssl_new.t || die - fi - - # Test fails depending on kernel configuration, bug #699134 - rm test/recipes/30-test_afalg.t || die - - # Quiet out unknown driver argument warnings since openssl - # doesn't have well-split CFLAGS and we're making it even worse - # and 'make depend' uses -Werror for added fun (bug #417795 again) - tc-is-clang && append-flags -Qunused-arguments - - # We really, really need to build OpenSSL w/ strict aliasing disabled. - # It's filled with violations and it *will* result in miscompiled - # code. This has been in the ebuild for > 10 years but even in 2022, - # it's still relevant: - # - https://github.com/llvm/llvm-project/issues/55255 - # - https://github.com/openssl/openssl/issues/12247 - # - https://github.com/openssl/openssl/issues/18225 - # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057 - # Don't remove the no strict aliasing bits below! - filter-flags -fstrict-aliasing - append-flags -fno-strict-aliasing - # The OpenSSL developers don't test with LTO right now, it leads to various - # warnings/errors (which may or may not be false positives), it's considered - # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663. - filter-lto - - append-flags $(test-flags-CC -Wa,--noexecstack) - - # bug #895308 -- check inserts GNU ld-compatible arguments - [[ ${CHOST} == *-darwin* ]] || append-atomic-flags - # Configure doesn't respect LIBS - export LDLIBS="${LIBS}" - - multilib_copy_sources -} - -multilib_src_configure() { - # bug #197996 - unset APPS - # bug #312551 - unset SCRIPTS - # bug #311473 - unset CROSS_COMPILE - - tc-export AR CC CXX RANLIB RC - - use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; } - - local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4") - einfo "Using configuration: ${sslout:-(openssl knows best)}" - - # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features - local myeconfargs=( - ${sslout} - - no-docs - $(use cpu_flags_x86_sse2 || echo "no-sse2") - enable-camellia - enable-ec - enable-ec2m - enable-sm2 - enable-srp - $(use elibc_musl && echo "no-async") - enable-idea - enable-mdc2 - enable-rc5 - $(use_ssl asm) - $(use quic && echo "enable-quic") - $(use_ssl rfc3779) - $(use_ssl sctp) - $(use test || echo "no-tests") - $(use_ssl tls-compression zlib) - $(use_ssl weak-ssl-ciphers) - - --prefix="${EPREFIX}/usr" - --openssldir="${EPREFIX}${SSL_CNF_DIR}" - --libdir=$(get_libdir) - - shared - threads - ) - - edo perl Configure "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake build_sw -} - -multilib_src_test() { - # See https://github.com/openssl/openssl/blob/master/test/README.md for options. - # - # VFP = show subtests verbosely and show failed tests verbosely - # Normal V=1 would show everything verbosely but this slows things down. - # - # -j1 here for https://github.com/openssl/openssl/issues/21999, but it - # shouldn't matter as tests were already built earlier, and HARNESS_JOBS - # controls running the tests. - emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test -} - -multilib_src_install() { - dolib.so lib{crypto,ssl}.so.$(ver_cut 1) -} diff --git a/dev-util/codex/Manifest b/dev-util/codex/Manifest index b7f8cf72330f..1ecbfe8befc9 100644 --- a/dev-util/codex/Manifest +++ b/dev-util/codex/Manifest @@ -4,7 +4,6 @@ DIST codex-rust-v0.155.0-crates.tar.xz 157941648 BLAKE2B fd3afda982a21c614e0eb96 DIST crossterm-45fecb9508105988f42fe6ff0441783ed3717f92.gh.tar.gz 144786 BLAKE2B 18577acd2586a50723657e77b304d7bd309208d7ce597d315d13d7e36c90ac08f15510053ad1e927798b0edabc75fc8e54f1f2ac4978215084c0cf84573193e8 SHA512 aa5fd475a306000032fa0a68c758d81056920c68fd001ce632e0fbc11d70efd37def5786a677f3f4cd2e17b76672eda6bb53a517ba90a18e8dc312c390987786 DIST libz-ng-sys-1.1.16.crate 478122 BLAKE2B 7c1be97251029732cd3a8c77dad8a492193282b5fddf40df480ef3a35a49f5d25c7dc183d81aa267722276156c8b97243742117686d078f2d3a566546fa83d58 SHA512 c7d1b062a06b283ee2d398ff456f13634ed1d2d436ea2b8a55f19fbbad47bc419e068b0f9e805221321062b8c5ad309dd3e5d466741780549ae3e5299eee06e1 DIST libz-sys-1.1.20.crate 830422 BLAKE2B 26265b1faf04f7d0cfd751ddf003585b1be59fcf8fde3ddfd86f18cc3e2d5c3b62a808f47c01329a57759d14fe6283cd94a72eda46d5c5031249df0f1696ab03 SHA512 9b537e7c01553e782be145223c6d174601ade3a950bfd0eb4ea09658da5b8910cf0d0c5984672f9d198f73d5aa63d21e0c20c4c44ff7d0a017ee11ae4ecf4859 -DIST mxc-6cd3d58f05d3447e67109cfb75e042803b843ca4.gh.tar.gz 5985947 BLAKE2B f2c48e8d16586407986dee718cc2aa9bc58174e6e9e1a13b36bcc5a9aae7d9f033863479d077e2e579a21d07914043fcac52d0981feb9230109336675fe28485 SHA512 ac2ce0b3a30a0e0faff40a31fea16d44a7eea1c40cce3bbb8fa98319d221a04b5ab27085620c1929d4c1d17b3cefea1e3e0586a8246a8569199e417e804ddbba DIST nucleo-4253de9faabb4e5c6d81d946a5e35a90f87347ee.gh.tar.gz 86782 BLAKE2B a812a2d2f08df818ac7b13b800f51c4229ea1f968668b1224fbc1fd82fb4e045f6b2c536ec6d2647a579097efbddaf041f4b7b356107679156aaa3ca5a9d4068 SHA512 354061278efce55defb30b9ee2ef5cdab745ab56d7d113f6f47a8ac174b4215ec6efe15c15bef0e3d907350182c0d189071e9d7d17d40e807d4db5361682f4e0 DIST ratatui-9b2ad1298408c45918ee9f8241a6f95498cdbed2.gh.tar.gz 566574 BLAKE2B 97f09fda6a798afb00067debab30b89d35aa00bfd284d2ef95fd6176aaa680121a8eee9b8dbe605e6230a6e72ead7b5d4e57ddf4892bcfe93f2fcbbafaba88d2 SHA512 b2ab8bcf19cfd649b8fbbc6752b628f69e79b09e8f8258ea9112ce4348dee512d9e718b5310fc73de65239b51b2b1b593942974f9698bd080616ab389093f4ef DIST rules_rust-b56cbaa8465e74127f1ea216f813cd377295ad81.gh.tar.gz 3951333 BLAKE2B e369b7ccc25326726340fced4c8f8f9181f02f45be9d5f24d00201999a2b11c42d010e7623429b1910db7fdfdf4c202e061a5ba5db722d3126ee26d9597d7e0d SHA512 3f2ef3d7940096fa34b85ee0d9979085fe99c7d2ae8c5ed9399bd5cf8370a31fa93d16c752f22166b42d30c2b7f9f921f7a963928519592e3ffd588644d3b1c7 diff --git a/dev-util/codex/codex-0.155.0.ebuild b/dev-util/codex/codex-0.155.0.ebuild index e4cd743774c1..ed997086a050 100644 --- a/dev-util/codex/codex-0.155.0.ebuild +++ b/dev-util/codex/codex-0.155.0.ebuild @@ -23,24 +23,16 @@ CRATES=" " declare -A GIT_CRATES=( - [appcontainer_common]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/backends/appcontainer/common' [crossterm]='https://github.com/openai-oss-forks/crossterm;45fecb9508105988f42fe6ff0441783ed3717f92;crossterm-%commit%' - [learning_mode_core]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/core/learning_mode_core' - [learning_mode_windows]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/backends/learning_mode/windows' [libwebrtc]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/libwebrtc' - [mxc_config_contract]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/core/mxc_config_contract' - [mxc_telemetry]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/mxc_telemetry' - [process_security_environment_spec]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/core/generated/process_security_environment_specification' [livekit-protocol]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-protocol' [livekit-runtime]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-runtime' [nucleo-matcher]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%/matcher' [nucleo]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%' [ratatui]='https://github.com/nornagon/ratatui;9b2ad1298408c45918ee9f8241a6f95498cdbed2;ratatui-%commit%' - [sandbox_spec]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/core/generated/base_container_specification' [runfiles]='https://github.com/dzbarsky/rules_rust;b56cbaa8465e74127f1ea216f813cd377295ad81;rules_rust-%commit%/rust/runfiles' [tokio-tungstenite]='https://github.com/openai-oss-forks/tokio-tungstenite;132f5b39c862e3a970f731d709608b3e6276d5f6;tokio-tungstenite-%commit%' [tungstenite]='https://github.com/openai-oss-forks/tungstenite-rs;9200079d3b54a1ff51072e24d81fd354f085156f;tungstenite-rs-%commit%' - [wxc_common]='https://github.com/microsoft/mxc;6cd3d58f05d3447e67109cfb75e042803b843ca4;mxc-%commit%/src/core/wxc_common' [webrtc-sys-build]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys/build' [webrtc-sys]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys' ) diff --git a/gui-apps/waybar/Manifest b/gui-apps/waybar/Manifest index 7aa821dfbe1e..c008aafd6d83 100644 --- a/gui-apps/waybar/Manifest +++ b/gui-apps/waybar/Manifest @@ -1,5 +1 @@ -DIST waybar-0.10.4.tar.gz 309411 BLAKE2B 907273e6f1371252aad05212b4c59eabe1662167659d22073ee3bf649d8ee43be852b996dd7b86eecd0384b833cd2d7b9eed69b6b3292cb0b9cdbeb88c9e2391 SHA512 e6b25e242c67cae6566c5db9f4cba55ec4fb57cd7345ca3f5d24126ecf5bde150fb8d5cd14f80d3462f81254e1789986c28e3ebdb4227e8c5c8ddcf10fcfd49c -DIST waybar-0.11.0.tar.gz 317607 BLAKE2B f2407335e00f02cbf946d95cfcd409dd148917839fd73d52bec1a0c77e041022e81ad7efcde2bd4394356d92686a25b2ca345319fee5ac393202a483db339f93 SHA512 6bd23a469205662e524e53dd8798c4dce6ed371e5106f34644540e2f89804181753814f74b45645185b933c43dc4a0eabb99633936433fdadc25a9cce58b06b0 -DIST waybar-0.12.0.tar.gz 319730 BLAKE2B 861eacae9ab9571dc09259055b48ff739915de92745de04af4d621de029feb9e5b225ae7f590ea95883c993b12a7be45b164a90d823a322fe4d533a33b3fe689 SHA512 f9c70a0f7eef97ae5da788b07eb2d4bf792bee02786e71e7ebd6669109a1cd48275d05286c876f031638d9f6e947cf733f1efa5e47974fda89a8080ad062c5e8 -DIST waybar-0.14.0.tar.gz 341661 BLAKE2B 257f179dfb3af6c1fd2ce927e7134e641666aa6ac35c5ebbe6fa44c94c1c0100e2efc91faf461be56835a5a4148c2ccaa84a0289e75561ddbe398f5ae17e5886 SHA512 dc3d18f7117be8cce5979029110770699b0d9d737337c3cf27361d6ceda6fcde33dac9781e406a70eb24c9e0e95e3801d47e81d44bfb61c311510fb30dd975a7 DIST waybar-0.15.0.tar.gz 355671 BLAKE2B 3f0eb6cbf4ba189ddd37e82678ef87f877f6f48cf0bb699624c5d697c7164b11c3e25bf8fe382564c1e5891a6070d7c7e6d3009f8461a7087294dffccb78de95 SHA512 f267c1ad2af1e4e74c3d8c966009a013c0b5c2849bfaf312b3b91e9d6f6856dc5466118f308208948118ea1de0cf70986cc3b592cc830f84d634b8518c5b8c9e diff --git a/gui-apps/waybar/files/meson-fix-build.patch b/gui-apps/waybar/files/meson-fix-build.patch deleted file mode 100644 index cee64a56a395..000000000000 --- a/gui-apps/waybar/files/meson-fix-build.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 69c61c3d9ae8f7397d64570412655007ea086c56 Mon Sep 17 00:00:00 2001 -From: ShengYi Hung <aokblast@FreeBSD.org> -Date: Sun, 23 Aug 2026 12:45:10 +0800 -Subject: [PATCH] meson: Fix unwinding error in libunwind over glibc - -glibc's pthread_cancel dlopens libgcc_s.so.1 and uses its unwinder, -while libc++abi's personality routine resolves the Unwind* accessors -from the global scope, where LLVM libunwind wins. This causes the two -unwinders to interpret each other's unwind context incorrectly, and -cancelling a thread segfaults. Pull libgcc_s into DT_NEEDED before -libc++abi/libunwind so all Unwind* symbols resolve to the same unwinder. ---- - meson.build | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 5dc7338d5f..88be32e27b 100644 ---- a/meson.build -+++ b/meson.build -@@ -17,7 +17,17 @@ cpp_link_args = [] - - if get_option('libcxx') - cpp_args += ['-stdlib=libc++'] -- cpp_link_args += ['-stdlib=libc++', '-lc++abi'] -+ cpp_link_args += ['-stdlib=libc++'] -+ # glibc's pthread_cancel dlopens libgcc_s.so.1 and forces the unwind through -+ # that unwinder, while libc++abi's personality routine resolves the _Unwind_* -+ # accessors through the global scope, where LLVM libunwind wins. The two read -+ # each other's unwind context as their own, so cancelling a thread -+ # (SleeperThread::stop) segfaults. Pull libgcc_s into DT_NEEDED ahead of -+ # libc++abi/libunwind so every _Unwind_* symbol resolves to one unwinder. -+ if compiler.has_link_argument('-lgcc_s') -+ cpp_link_args += ['-Wl,--push-state,--no-as-needed', '-lgcc_s', '-Wl,--pop-state'] -+ endif -+ cpp_link_args += ['-lc++abi'] - endif - - if compiler.has_link_argument('-lc++fs') diff --git a/gui-apps/waybar/files/tray-icons-fix.patch b/gui-apps/waybar/files/tray-icons-fix.patch deleted file mode 100644 index 95bf11ffca16..000000000000 --- a/gui-apps/waybar/files/tray-icons-fix.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/src/modules/sni/item.cpp b/src/modules/sni/item.cpp -index 8afb39fb3..6c4ec8c06 100644 ---- a/src/modules/sni/item.cpp -+++ b/src/modules/sni/item.cpp -@@ -104,11 +104,9 @@ void Item::proxyReady(Glib::RefPtr<Gio::AsyncResult>& result) { - this->updateImage(); - - } catch (const Glib::Error& err) { -- spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, -- std::string(err.what())); -+ spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, err.what()); - } catch (const std::exception& err) { -- spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, -- std::string(err.what())); -+ spdlog::error("Failed to create DBus Proxy for {} {}: {}", bus_name, object_path, err.what()); - } - } - -@@ -126,15 +124,14 @@ ToolTip get_variant<ToolTip>(const Glib::VariantBase& value) { - result.text = get_variant<Glib::ustring>(container.get_child(2)); - auto description = get_variant<Glib::ustring>(container.get_child(3)); - if (!description.empty()) { -- result.text = fmt::format("<b>{}</b>\n{}", std::string(result.text), std::string(description)); -+ result.text = fmt::format("<b>{}</b>\n{}", result.text, description); - } - return result; - } - - void Item::setProperty(const Glib::ustring& name, Glib::VariantBase& value) { - try { -- spdlog::trace("Set tray item property: {}.{} = {}", id.empty() ? bus_name : id, -- std::string(name), get_variant<std::string>(value)); -+ spdlog::trace("Set tray item property: {}.{} = {}", id.empty() ? bus_name : id, name, value); - - if (name == "Category") { - category = get_variant<std::string>(value); -@@ -179,12 +176,10 @@ void Item::setProperty(const Glib::ustring& name, Glib::VariantBase& value) { - } - } catch (const Glib::Error& err) { - spdlog::warn("Failed to set tray item property: {}.{}, value = {}, err = {}", -- id.empty() ? bus_name : id, std::string(name), get_variant<std::string>(value), -- std::string(err.what())); -+ id.empty() ? bus_name : id, name, value, err.what()); - } catch (const std::exception& err) { - spdlog::warn("Failed to set tray item property: {}.{}, value = {}, err = {}", -- id.empty() ? bus_name : id, std::string(name), get_variant<std::string>(value), -- std::string(err.what())); -+ id.empty() ? bus_name : id, name, value, err.what()); - } - } - -@@ -226,9 +221,9 @@ void Item::processUpdatedProperties(Glib::RefPtr<Gio::AsyncResult>& _result) { - - this->updateImage(); - } catch (const Glib::Error& err) { -- spdlog::warn("Failed to update properties: {}", std::string(err.what())); -+ spdlog::warn("Failed to update properties: {}", err.what()); - } catch (const std::exception& err) { -- spdlog::warn("Failed to update properties: {}", std::string(err.what())); -+ spdlog::warn("Failed to update properties: {}", err.what()); - } - update_pending_.clear(); - } -@@ -250,7 +245,7 @@ static const std::map<std::string_view, std::set<std::string_view>> signal2props - - void Item::onSignal(const Glib::ustring& sender_name, const Glib::ustring& signal_name, - const Glib::VariantContainerBase& arguments) { -- spdlog::trace("Tray item '{}' got signal {}", id, std::string(signal_name)); -+ spdlog::trace("Tray item '{}' got signal {}", id, signal_name); - auto changed = signal2props.find(signal_name.raw()); - if (changed != signal2props.end()) { - if (update_pending_.empty()) { -diff --git a/subprojects/fmt.wrap b/subprojects/fmt.wrap -index 42b615963..fd508477f 100644 ---- a/subprojects/fmt.wrap -+++ b/subprojects/fmt.wrap -@@ -1,13 +1,13 @@ - [wrap-file] --directory = fmt-11.0.1 --source_url = https://github.com/fmtlib/fmt/archive/11.0.1.tar.gz --source_filename = fmt-11.0.1.tar.gz --source_hash = 7d009f7f89ac84c0a83f79ed602463d092fbf66763766a907c97fd02b100f5e9 --patch_filename = fmt_11.0.1-1_patch.zip --patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.1-1/get_patch --patch_hash = 0a8b93d1ee6d84a82d3872a9bfb4c3977d8a53f7f484d42d1f7ed63ed496d549 --source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.1-1/fmt-11.0.1.tar.gz --wrapdb_version = 11.0.1-1 -+directory = fmt-11.0.2 -+source_url = https://github.com/fmtlib/fmt/archive/11.0.2.tar.gz -+source_filename = fmt-11.0.2.tar.gz -+source_hash = 6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f -+patch_filename = fmt_11.0.2-1_patch.zip -+patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.2-1/get_patch -+patch_hash = 90c9e3b8e8f29713d40ca949f6f93ad115d78d7fb921064112bc6179e6427c5e -+source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.2-1/fmt-11.0.2.tar.gz -+wrapdb_version = 11.0.2-1 - - [provide] - fmt = fmt_dep diff --git a/gui-apps/waybar/files/waybar-0.15.0-add-hyprland-lua-ipc.patch b/gui-apps/waybar/files/waybar-0.15.0-add-hyprland-lua-ipc.patch new file mode 100644 index 000000000000..c28cba9cc8bf --- /dev/null +++ b/gui-apps/waybar/files/waybar-0.15.0-add-hyprland-lua-ipc.patch @@ -0,0 +1,163 @@ +commit 37d6ad727c0973e343bf4bf07031f61aba772d56 +Author: Higor Prado <higorevop@gmail.com> + + fix(hyprland/workspaces): adapt dispatch commands for Lua IPC protocol + +diff --git a/include/modules/hyprland/backend.hpp b/include/modules/hyprland/backend.hpp +index 2e0ef657..84e056fa 100644 +--- a/include/modules/hyprland/backend.hpp ++++ b/include/modules/hyprland/backend.hpp +@@ -3,6 +3,7 @@ + #include <filesystem> + #include <list> + #include <mutex> ++#include <optional> + #include <string> + #include <thread> + #include <utility> +@@ -34,6 +35,10 @@ class IPC { + Json::Value getSocket1JsonReply(const std::string& rq); + static std::filesystem::path getSocketFolder(const char* instanceSig); + ++ /// Dispatch a Hyprland command. Automatically uses the correct protocol ++ /// (legacy text or Lua-based) depending on the running Hyprland version. ++ static std::string dispatch(const std::string& dispatcher, const std::string& arg); ++ + protected: + static std::filesystem::path socketFolder_; + +@@ -41,6 +46,15 @@ class IPC { + void socketListener(); + void parseIPC(const std::string&); + ++ /// Detect whether the running Hyprland uses the Lua-based IPC protocol. ++ /// Returns true for Hyprland >= 0.54 (Lua config), false for older versions. ++ static bool isLuaProtocol(); ++ ++ /// Build a Lua-format dispatch command string. ++ static std::string buildLuaDispatch(const std::string& dispatcher, const std::string& arg); ++ ++ static std::optional<bool> s_luaProtocolDetected_; // cached detection result ++ + std::thread ipcThread_; + std::mutex callbackMutex_; + util::JsonParser parser_; +diff --git a/src/modules/hyprland/backend.cpp b/src/modules/hyprland/backend.cpp +index 7060d304..1f772ecb 100644 +--- a/src/modules/hyprland/backend.cpp ++++ b/src/modules/hyprland/backend.cpp +@@ -10,11 +10,13 @@ + #include <unistd.h> + + #include <filesystem> ++#include <optional> + #include <string> + + namespace waybar::modules::hyprland { + + std::filesystem::path IPC::socketFolder_; ++std::optional<bool> IPC::s_luaProtocolDetected_; + + std::filesystem::path IPC::getSocketFolder(const char* instanceSig) { + static std::mutex folderMutex; +@@ -243,4 +245,69 @@ Json::Value IPC::getSocket1JsonReply(const std::string& rq) { + return parser_.parse(reply); + } + ++bool IPC::isLuaProtocol() { ++ if (s_luaProtocolDetected_.has_value()) { ++ return *s_luaProtocolDetected_; ++ } ++ ++ // Probe: send a harmless old-style dispatch and check the error. ++ // In Lua-based Hyprland (>= 0.54) the error contains "hl.dispatch". ++ // In older versions it returns "ok" or a different error. ++ auto reply = getSocket1Reply("dispatch workspace __waybar_probe__"); ++ bool luaProto = reply.find("hl.dispatch") != std::string::npos; ++ ++ if (luaProto) { ++ spdlog::info("Hyprland IPC: detected Lua-based dispatch protocol (Hyprland >= 0.54)"); ++ } else { ++ spdlog::info("Hyprland IPC: detected legacy dispatch protocol"); ++ } ++ ++ s_luaProtocolDetected_ = luaProto; ++ return luaProto; ++} ++ ++std::string IPC::buildLuaDispatch(const std::string& dispatcher, const std::string& arg) { ++ // Map old-style dispatchers to the new Lua hl.dsp API. ++ // ++ // Old format: dispatch workspace 1 ++ // New format: /dispatch hl.dsp.focus({ workspace = "1" }) ++ // ++ // Old format: dispatch focusworkspaceoncurrentmonitor 2 ++ // New format: /dispatch hl.dsp.focus({ workspace = "2", monitor = "current" }) ++ // ++ // Old format: dispatch togglespecialworkspace name ++ // New format: /dispatch hl.dsp.workspace.toggle_special("name") ++ ++ if (dispatcher == "workspace") { ++ return "/dispatch hl.dsp.focus({ workspace = \"" + arg + "\" })"; ++ } ++ if (dispatcher == "focusworkspaceoncurrentmonitor") { ++ return "/dispatch hl.dsp.focus({ workspace = \"" + arg + "\", monitor = \"current\" })"; ++ } ++ if (dispatcher == "togglespecialworkspace") { ++ if (arg.empty()) { ++ return "/dispatch hl.dsp.workspace.toggle_special()"; ++ } ++ return "/dispatch hl.dsp.workspace.toggle_special(\"" + arg + "\")"; ++ } ++ ++ // Fallback for any other dispatcher: try the old format wrapped in dispatch(). ++ // This may not work for all dispatchers, but it's a reasonable default. ++ spdlog::warn("Hyprland IPC: unknown dispatcher '{}' in Lua mode, attempting generic format", ++ dispatcher); ++ return "/dispatch hl.dsp." + dispatcher + "(\"" + arg + "\")"; ++} ++ ++std::string IPC::dispatch(const std::string& dispatcher, const std::string& arg) { ++ if (isLuaProtocol()) { ++ return getSocket1Reply(buildLuaDispatch(dispatcher, arg)); ++ } ++ // Legacy format: "dispatch <dispatcher> <arg>" ++ std::string cmd = "dispatch " + dispatcher; ++ if (!arg.empty()) { ++ cmd += " " + arg; ++ } ++ return getSocket1Reply(cmd); ++} ++ + } // namespace waybar::modules::hyprland +diff --git a/src/modules/hyprland/workspace.cpp b/src/modules/hyprland/workspace.cpp +index 4cdd8910..b8090bd0 100644 +--- a/src/modules/hyprland/workspace.cpp ++++ b/src/modules/hyprland/workspace.cpp +@@ -71,20 +71,20 @@ bool Workspace::handleClicked(GdkEventButton* bt) const { + try { + if (id() > 0) { // normal + if (m_workspaceManager.moveToMonitor()) { +- m_ipc.getSocket1Reply("dispatch focusworkspaceoncurrentmonitor " + std::to_string(id())); ++ IPC::dispatch("focusworkspaceoncurrentmonitor", std::to_string(id())); + } else { +- m_ipc.getSocket1Reply("dispatch workspace " + std::to_string(id())); ++ IPC::dispatch("workspace", std::to_string(id())); + } + } else if (!isSpecial()) { // named (this includes persistent) + if (m_workspaceManager.moveToMonitor()) { +- m_ipc.getSocket1Reply("dispatch focusworkspaceoncurrentmonitor name:" + name()); ++ IPC::dispatch("focusworkspaceoncurrentmonitor", "name:" + name()); + } else { +- m_ipc.getSocket1Reply("dispatch workspace name:" + name()); ++ IPC::dispatch("workspace", "name:" + name()); + } + } else if (id() != -99) { // named special +- m_ipc.getSocket1Reply("dispatch togglespecialworkspace " + name()); ++ IPC::dispatch("togglespecialworkspace", name()); + } else { // special +- m_ipc.getSocket1Reply("dispatch togglespecialworkspace"); ++ IPC::dispatch("togglespecialworkspace", ""); + } + return true; + } catch (const std::exception& e) { diff --git a/gui-apps/waybar/metadata.xml b/gui-apps/waybar/metadata.xml index edf4918ea016..67943badec38 100644 --- a/gui-apps/waybar/metadata.xml +++ b/gui-apps/waybar/metadata.xml @@ -1,17 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>julien@jroy.ca</email> - <name>Julien Roy</name> - </maintainer> - <maintainer type="person" proxied="yes"> - <email>gentoo@jonas-toth.eu</email> - <name>Jonas Toth</name> - </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> + <maintainer type="person"> + <email>aruhier@mailbox.org</email> + <name>Anthony Ruhier</name> </maintainer> <use> <flag name="backlight">Enable module that controls the current backlight level</flag> diff --git a/gui-apps/waybar/waybar-0.10.4-r1.ebuild b/gui-apps/waybar/waybar-0.10.4-r1.ebuild deleted file mode 100644 index 02de587d2d29..000000000000 --- a/gui-apps/waybar/waybar-0.10.4-r1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson - -DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" -HOMEPAGE="https://github.com/Alexays/Waybar" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" -else - SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" - S="${WORKDIR}/${PN^}-${PV}" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="evdev experimental jack +libinput +logind mpd mpris network pipewire pulseaudio sndio systemd test tray +udev upower wifi" -REQUIRED_USE=" - upower? ( logind ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=app-text/scdoc-1.9.2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/wayland-scanner - virtual/pkgconfig -" -RDEPEND=" - dev-cpp/cairomm:0 - dev-cpp/glibmm:2 - dev-cpp/gtkmm:3.0 - dev-libs/glib:2 - dev-libs/jsoncpp:= - dev-libs/libsigc++:2 - >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.10.0:= - dev-libs/date:= - dev-libs/wayland - gui-libs/gtk-layer-shell - media-video/pipewire:= - x11-libs/gtk+:3[wayland] - x11-libs/libxkbcommon - evdev? ( dev-libs/libevdev ) - jack? ( virtual/jack ) - libinput? ( dev-libs/libinput:= ) - logind? ( - || ( sys-apps/systemd - sys-auth/elogind ) - ) - mpd? ( media-libs/libmpdclient ) - mpris? ( >=media-sound/playerctl-2 ) - network? ( dev-libs/libnl:3 ) - pipewire? ( media-video/wireplumber:0/0.5 ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - systemd? ( sys-apps/systemd:= ) - tray? ( - dev-libs/libayatana-appindicator - dev-libs/libdbusmenu[gtk3] - ) - udev? ( virtual/libudev:= ) - upower? ( sys-power/upower:= ) - wifi? ( sys-apps/util-linux ) -" -DEPEND="${RDEPEND} - dev-libs/wayland-protocols - test? ( dev-cpp/catch:0 ) -" - -src_configure() { - local emesonargs=( - -Dman-pages=enabled - -Dcava=disabled - $(meson_feature evdev libevdev) - $(meson_feature jack) - $(meson_feature libinput) - $(meson_feature logind) - $(meson_feature mpd) - $(meson_feature mpris) - $(meson_feature network libnl) - $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) - $(meson_feature pipewire) - $(meson_feature sndio) - $(meson_feature systemd) - $(meson_feature test tests) - $(meson_feature tray dbusmenu-gtk) - $(meson_feature udev libudev) - $(meson_feature upower upower_glib) - $(meson_feature wifi rfkill) - $(meson_use experimental) - ) - meson_src_configure -} diff --git a/gui-apps/waybar/waybar-0.11.0-r1.ebuild b/gui-apps/waybar/waybar-0.11.0-r1.ebuild deleted file mode 100644 index 845a6694bb69..000000000000 --- a/gui-apps/waybar/waybar-0.11.0-r1.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson - -DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" -HOMEPAGE="https://github.com/Alexays/Waybar" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" -else - SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" - S="${WORKDIR}/${PN^}-${PV}" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="evdev experimental jack +libinput +logind mpd mpris network pipewire pulseaudio sndio systemd test tray +udev upower wifi" -REQUIRED_USE=" - upower? ( logind ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=app-text/scdoc-1.9.2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/wayland-scanner - virtual/pkgconfig -" -RDEPEND=" - dev-cpp/cairomm:0 - dev-cpp/glibmm:2 - dev-cpp/gtkmm:3.0 - dev-libs/glib:2 - dev-libs/jsoncpp:= - dev-libs/libsigc++:2 - >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.10.0:= - dev-libs/date:= - dev-libs/wayland - gui-libs/gtk-layer-shell - media-video/pipewire:= - x11-libs/gtk+:3[wayland] - x11-libs/libxkbcommon - evdev? ( dev-libs/libevdev ) - jack? ( virtual/jack ) - libinput? ( dev-libs/libinput:= ) - logind? ( - || ( sys-apps/systemd - sys-auth/elogind ) - ) - mpd? ( media-libs/libmpdclient ) - mpris? ( >=media-sound/playerctl-2 ) - network? ( dev-libs/libnl:3 ) - pipewire? ( media-video/wireplumber:0/0.5 ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - systemd? ( sys-apps/systemd:= ) - tray? ( - dev-libs/libayatana-appindicator - dev-libs/libdbusmenu[gtk3] - ) - udev? ( virtual/libudev:= ) - upower? ( sys-power/upower:= ) - wifi? ( sys-apps/util-linux ) -" -DEPEND="${RDEPEND} - dev-libs/wayland-protocols - test? ( dev-cpp/catch:0 ) -" - -PATCHES=( - "${FILESDIR}"/tray-icons-fix.patch -) - -src_configure() { - local emesonargs=( - -Dman-pages=enabled - -Dcava=disabled - $(meson_feature evdev libevdev) - $(meson_feature jack) - $(meson_feature libinput) - $(meson_feature logind) - $(meson_feature mpd) - $(meson_feature mpris) - $(meson_feature network libnl) - $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) - $(meson_feature pipewire) - $(meson_feature sndio) - $(meson_feature systemd) - $(meson_feature test tests) - $(meson_feature tray dbusmenu-gtk) - $(meson_feature udev libudev) - $(meson_feature upower upower_glib) - $(meson_feature wifi rfkill) - $(meson_use experimental) - ) - meson_src_configure -} diff --git a/gui-apps/waybar/waybar-0.11.0.ebuild b/gui-apps/waybar/waybar-0.11.0.ebuild deleted file mode 100644 index 20a16f9595aa..000000000000 --- a/gui-apps/waybar/waybar-0.11.0.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson - -DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" -HOMEPAGE="https://github.com/Alexays/Waybar" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" -else - SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64" - S="${WORKDIR}/${PN^}-${PV}" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="evdev experimental jack +libinput +logind mpd mpris network pipewire pulseaudio sndio systemd test tray +udev upower wifi" -REQUIRED_USE=" - upower? ( logind ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=app-text/scdoc-1.9.2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/wayland-scanner - virtual/pkgconfig -" -RDEPEND=" - dev-cpp/cairomm:0 - dev-cpp/glibmm:2 - dev-cpp/gtkmm:3.0 - dev-libs/glib:2 - dev-libs/jsoncpp:= - dev-libs/libsigc++:2 - >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.10.0:= - dev-libs/date:= - dev-libs/wayland - gui-libs/gtk-layer-shell - media-video/pipewire:= - x11-libs/gtk+:3[wayland] - x11-libs/libxkbcommon - evdev? ( dev-libs/libevdev ) - jack? ( virtual/jack ) - libinput? ( dev-libs/libinput:= ) - logind? ( - || ( sys-apps/systemd - sys-auth/elogind ) - ) - mpd? ( media-libs/libmpdclient ) - mpris? ( >=media-sound/playerctl-2 ) - network? ( dev-libs/libnl:3 ) - pipewire? ( media-video/wireplumber:0/0.5 ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - systemd? ( sys-apps/systemd:= ) - tray? ( - dev-libs/libayatana-appindicator - dev-libs/libdbusmenu[gtk3] - ) - udev? ( virtual/libudev:= ) - upower? ( sys-power/upower:= ) - wifi? ( sys-apps/util-linux ) -" -DEPEND="${RDEPEND} - dev-libs/wayland-protocols - test? ( dev-cpp/catch:0 ) -" - -src_configure() { - local emesonargs=( - -Dman-pages=enabled - -Dcava=disabled - $(meson_feature evdev libevdev) - $(meson_feature jack) - $(meson_feature libinput) - $(meson_feature logind) - $(meson_feature mpd) - $(meson_feature mpris) - $(meson_feature network libnl) - $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) - $(meson_feature pipewire) - $(meson_feature sndio) - $(meson_feature systemd) - $(meson_feature test tests) - $(meson_feature tray dbusmenu-gtk) - $(meson_feature udev libudev) - $(meson_feature upower upower_glib) - $(meson_feature wifi rfkill) - $(meson_use experimental) - ) - meson_src_configure -} diff --git a/gui-apps/waybar/waybar-0.12.0.ebuild b/gui-apps/waybar/waybar-0.12.0.ebuild deleted file mode 100644 index 93a8f6ef1466..000000000000 --- a/gui-apps/waybar/waybar-0.12.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson optfeature - -DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" -HOMEPAGE="https://github.com/Alexays/Waybar" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" -else - SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" - S="${WORKDIR}/${PN^}-${PV}" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="evdev experimental jack +libinput +logind mpd mpris network pipewire pulseaudio sndio systemd test tray +udev upower wifi" -REQUIRED_USE=" - upower? ( logind ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=app-text/scdoc-1.9.2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/wayland-scanner - virtual/pkgconfig -" -RDEPEND=" - dev-cpp/cairomm:0 - dev-cpp/glibmm:2 - dev-cpp/gtkmm:3.0 - dev-libs/glib:2 - dev-libs/jsoncpp:= - dev-libs/libsigc++:2 - >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.10.0:= - dev-libs/date:= - dev-libs/wayland - >=gui-libs/gtk-layer-shell-0.9.0 - media-video/pipewire:= - x11-libs/gtk+:3[wayland] - x11-libs/libxkbcommon - evdev? ( dev-libs/libevdev ) - jack? ( virtual/jack ) - libinput? ( dev-libs/libinput:= ) - logind? ( - || ( sys-apps/systemd - sys-auth/elogind ) - ) - mpd? ( media-libs/libmpdclient ) - mpris? ( >=media-sound/playerctl-2 ) - network? ( dev-libs/libnl:3 ) - pipewire? ( media-video/wireplumber:0/0.5 ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - systemd? ( sys-apps/systemd:= ) - tray? ( - dev-libs/libayatana-appindicator - dev-libs/libdbusmenu[gtk3] - ) - udev? ( virtual/libudev:= ) - upower? ( sys-power/upower:= ) - wifi? ( sys-apps/util-linux ) -" -DEPEND="${RDEPEND} - dev-libs/wayland-protocols - test? ( dev-cpp/catch:0 ) -" - -src_configure() { - local emesonargs=( - -Dman-pages=enabled - -Dcava=disabled - $(meson_feature evdev libevdev) - $(meson_feature jack) - $(meson_feature libinput) - $(meson_feature logind) - $(meson_feature mpd) - $(meson_feature mpris) - $(meson_feature network libnl) - $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) - $(meson_feature pipewire) - $(meson_feature sndio) - $(meson_feature systemd) - $(meson_feature test tests) - $(meson_feature tray dbusmenu-gtk) - $(meson_feature udev libudev) - $(meson_feature upower upower_glib) - $(meson_feature wifi rfkill) - $(meson_use experimental) - ) - meson_src_configure -} - -pkg_postinst() { - optfeature "default icons support" "media-fonts/fontawesome" -} diff --git a/gui-apps/waybar/waybar-0.14.0.ebuild b/gui-apps/waybar/waybar-0.14.0.ebuild deleted file mode 100644 index 494b727a9d27..000000000000 --- a/gui-apps/waybar/waybar-0.14.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson optfeature toolchain-funcs - -DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" -HOMEPAGE="https://github.com/Alexays/Waybar" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" -else - SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" - S="${WORKDIR}/${PN^}-${PV}" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio sndio systemd test tray +udev upower wifi" -REQUIRED_USE=" - upower? ( logind ) - backlight? ( udev logind ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=app-text/scdoc-1.9.2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/wayland-scanner - virtual/pkgconfig -" -RDEPEND=" - dev-cpp/cairomm:0 - dev-cpp/glibmm:2 - dev-cpp/gtkmm:3.0 - dev-libs/glib:2 - dev-libs/jsoncpp:= - dev-libs/libsigc++:2 - >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.10.0:= - dev-libs/date:= - dev-libs/wayland - >=gui-libs/gtk-layer-shell-0.9.0 - media-video/pipewire:= - x11-libs/gtk+:3[wayland] - x11-libs/libxkbcommon - evdev? ( dev-libs/libevdev ) - gps? ( sci-geosciences/gpsd:= ) - jack? ( virtual/jack ) - libinput? ( dev-libs/libinput:= ) - logind? ( - systemd? ( sys-apps/systemd ) - !systemd? ( sys-auth/elogind ) - ) - mpd? ( media-libs/libmpdclient ) - mpris? ( >=media-sound/playerctl-2 ) - network? ( dev-libs/libnl:3 ) - pipewire? ( media-video/wireplumber:0/0.5 ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - systemd? ( sys-apps/systemd:= ) - tray? ( - dev-libs/libayatana-appindicator - dev-libs/libdbusmenu[gtk3] - ) - udev? ( virtual/libudev:= ) - upower? ( sys-power/upower:= ) - wifi? ( sys-apps/util-linux ) -" -DEPEND="${RDEPEND} - dev-libs/wayland-protocols - test? ( dev-cpp/catch:0 ) -" -PATCHES=( - "${FILESDIR}"/meson-fix-build.patch -) - -src_configure() { - local cxx_stdlib=$(tc-get-cxx-stdlib) - einfo "C++ standard library: ${cxx_stdlib:-unknown}" - local libcxx=false - if [[ ${cxx_stdlib} == libc++ ]]; then - libcxx=true - fi - - local emesonargs=( - -Dlibcxx=${libcxx} - -Dman-pages=enabled - -Dcava=disabled # depends on LukashonakV/cava fork, but media-sound/cava is karlstav/cava - $(meson_feature evdev libevdev) - $(meson_feature gps) - $(meson_feature jack) - $(meson_feature libinput) - $(meson_feature logind) - $(meson_feature mpd) - $(meson_feature mpris) - $(meson_feature network libnl) - $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) - $(meson_feature pipewire) - $(meson_feature sndio) - $(meson_feature systemd) - $(meson_feature test tests) - $(meson_feature tray dbusmenu-gtk) - $(meson_feature udev libudev) - $(meson_feature upower upower_glib) - $(meson_feature wifi rfkill) - $(meson_use backlight login-proxy) - $(meson_use experimental) - $(meson_use niri) # communicates by socket with gui-wm/niri::guru - ) - meson_src_configure -} - -pkg_postinst() { - optfeature "default icons support" "media-fonts/fontawesome" -} diff --git a/gui-apps/waybar/waybar-0.15.0.ebuild b/gui-apps/waybar/waybar-0.15.0.ebuild index 2589ddedf9b2..cf6efc752dcf 100644 --- a/gui-apps/waybar/waybar-0.15.0.ebuild +++ b/gui-apps/waybar/waybar-0.15.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit meson optfeature toolchain-funcs +inherit meson optfeature DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors" HOMEPAGE="https://github.com/Alexays/Waybar" @@ -13,16 +13,20 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git" else SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" + KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${PN^}-${PV}" fi LICENSE="MIT" SLOT="0" -IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio screencast sndio systemd test tray +udev upower wifi" +IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio sndio systemd test tray +udev upower wifi" +# USE=udev is temporarily required until upstream fixes +# conditional libudev support: +# https://codeberg.org/hyproverlay/hyproverlay/issues/77 REQUIRED_USE=" upower? ( logind ) backlight? ( udev logind ) + udev " RESTRICT="!test? ( test )" @@ -33,8 +37,6 @@ BDEPEND=" dev-util/wayland-scanner virtual/pkgconfig " - -# dev-libs/date not used if C++ library supports chrono RDEPEND=" dev-cpp/cairomm:0 dev-cpp/glibmm:2 @@ -43,10 +45,11 @@ RDEPEND=" dev-libs/jsoncpp:= dev-libs/libsigc++:2 >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.15.2:= + >=dev-libs/spdlog-1.10.0:= dev-libs/date:= dev-libs/wayland >=gui-libs/gtk-layer-shell-0.9.0 + media-video/pipewire:= x11-libs/gtk+:3[wayland] x11-libs/libxkbcommon evdev? ( dev-libs/libevdev ) @@ -62,7 +65,6 @@ RDEPEND=" network? ( dev-libs/libnl:3 ) pipewire? ( media-video/wireplumber:0/0.5 ) pulseaudio? ( media-libs/libpulse ) - screencast? ( media-video/pipewire:= ) sndio? ( media-sound/sndio:= ) systemd? ( sys-apps/systemd:= ) tray? ( @@ -78,20 +80,14 @@ DEPEND="${RDEPEND} test? ( dev-cpp/catch:0 ) " +# add-hyprland-lua-ipc: add lua support in hyprland IPC. +# https://github.com/Alexays/Waybar/commit/e17c0d9f0a73acc370df60ec8c532b1ed2385c73 PATCHES=( - "${FILESDIR}"/meson-fix-build.patch + "${FILESDIR}"/${P}-add-hyprland-lua-ipc.patch ) src_configure() { - local cxx_stdlib=$(tc-get-cxx-stdlib) - einfo "C++ standard library: ${cxx_stdlib:-unknown}" - local libcxx=false - if [[ ${cxx_stdlib} == libc++ ]]; then - libcxx=true - fi - local emesonargs=( - -Dlibcxx=${libcxx} -Dman-pages=enabled -Dcava=disabled # depends on LukashonakV/cava fork, but media-sound/cava is karlstav/cava $(meson_feature evdev libevdev) @@ -103,8 +99,8 @@ src_configure() { $(meson_feature mpris) $(meson_feature network libnl) $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) # module for changing the volume for pipewire with wireplumber - $(meson_feature screencast pipewire) # module for checking whether the screen is recorded + $(meson_feature pipewire wireplumber) + $(meson_feature pipewire) $(meson_feature sndio) $(meson_feature systemd) $(meson_feature test tests) diff --git a/gui-apps/waybar/waybar-9999.ebuild b/gui-apps/waybar/waybar-9999.ebuild index 8f2f8e832c5e..306b03eecf07 100644 --- a/gui-apps/waybar/waybar-9999.ebuild +++ b/gui-apps/waybar/waybar-9999.ebuild @@ -19,10 +19,14 @@ fi LICENSE="MIT" SLOT="0" -IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio screencast sndio systemd test tray +udev upower wifi" +IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio sndio systemd test tray +udev upower wifi" +# USE=udev is temporarily required until upstream fixes +# conditional libudev support: +# https://codeberg.org/hyproverlay/hyproverlay/issues/77 REQUIRED_USE=" upower? ( logind ) backlight? ( udev logind ) + udev " RESTRICT="!test? ( test )" @@ -33,8 +37,6 @@ BDEPEND=" dev-util/wayland-scanner virtual/pkgconfig " - -# dev-libs/date not used if C++ library supports chrono RDEPEND=" dev-cpp/cairomm:0 dev-cpp/glibmm:2 @@ -43,10 +45,11 @@ RDEPEND=" dev-libs/jsoncpp:= dev-libs/libsigc++:2 >=dev-libs/libfmt-8.1.1:= - >=dev-libs/spdlog-1.15.2:= + >=dev-libs/spdlog-1.10.0:= dev-libs/date:= dev-libs/wayland >=gui-libs/gtk-layer-shell-0.9.0 + media-video/pipewire:= x11-libs/gtk+:3[wayland] x11-libs/libxkbcommon evdev? ( dev-libs/libevdev ) @@ -62,7 +65,6 @@ RDEPEND=" network? ( dev-libs/libnl:3 ) pipewire? ( media-video/wireplumber:0/0.5 ) pulseaudio? ( media-libs/libpulse ) - screencast? ( media-video/pipewire:= ) sndio? ( media-sound/sndio:= ) systemd? ( sys-apps/systemd:= ) tray? ( @@ -91,8 +93,8 @@ src_configure() { $(meson_feature mpris) $(meson_feature network libnl) $(meson_feature pulseaudio) - $(meson_feature pipewire wireplumber) # module for changing the volume for pipewire with wireplumber - $(meson_feature screencast pipewire) # module for checking whether the screen is recorded + $(meson_feature pipewire wireplumber) + $(meson_feature pipewire) $(meson_feature sndio) $(meson_feature systemd) $(meson_feature test tests) diff --git a/media-libs/glew/glew-1.10.0-r101.ebuild b/media-libs/glew/glew-1.10.0-r101.ebuild deleted file mode 100644 index ee2ce0348197..000000000000 --- a/media-libs/glew/glew-1.10.0-r101.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit multilib-minimal toolchain-funcs - -DESCRIPTION="The OpenGL Extension Wrangler Library" -HOMEPAGE="https://glew.sourceforge.net/" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz" - -LICENSE="BSD MIT" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x64-solaris" - -RDEPEND=">=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] - !=media-libs/glew-1.10*:0" - -DEPEND="${RDEPEND} - x11-base/xorg-proto - x11-libs/libX11" - -DOCS="" - -src_prepare() { - default - - sed -i \ - -e '/$(CC) $(CFLAGS) -o/s:$(CFLAGS):$(CFLAGS) $(LDFLAGS):' \ - -e '/glew.lib:/s|lib/$(LIB.STATIC) ||' \ - -e '/glew.lib.mx:/s|lib/$(LIB.STATIC.MX) ||' \ - Makefile || die - - # don't do stupid Solaris specific stuff that won't work in Prefix - cp config/Makefile.linux config/Makefile.solaris || die - - multilib_copy_sources -} - -glew_system() { - # Set the SYSTEM variable instead of probing. #523444 #595280 - case ${CHOST} in - *linux*) echo "linux" ;; - *-darwin*) echo "darwin" ;; - *-solaris*) echo "solaris" ;; - mingw*|*-mingw*) echo "mingw" ;; - *) die "Unknown system ${CHOST}" ;; - esac -} - -set_opts() { - myglewopts=( - AR="$(tc-getAR)" - STRIP=true - CC="$(tc-getCC)" - LD="$(tc-getCC) ${LDFLAGS}" - SYSTEM="$(glew_system)" - M_ARCH="" - LDFLAGS.EXTRA="" - LDFLAGS.GL="-lGL" # Don't need X libs! - POPT="${CFLAGS}" - ) -} - -multilib_src_compile() { - set_opts - emake glew.lib{,.mx} "${myglewopts[@]}" -} - -multilib_src_install() { - newlib.so lib/libGLEW.so.${SLOT}.* libGLEW.so.${SLOT} - newlib.so lib/libGLEWmx.so.${SLOT}.* libGLEWmx.so.${SLOT} -} diff --git a/media-libs/glew/glew-1.6.0-r101.ebuild b/media-libs/glew/glew-1.6.0-r101.ebuild deleted file mode 100644 index 81b28e0c3d1b..000000000000 --- a/media-libs/glew/glew-1.6.0-r101.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit multilib-minimal toolchain-funcs - -DESCRIPTION="The OpenGL Extension Wrangler Library" -HOMEPAGE="https://glew.sourceforge.net/" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz" - -LICENSE="BSD MIT" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x64-solaris" - -RDEPEND=">=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]" - -DEPEND="${RDEPEND} - x11-base/xorg-proto - x11-libs/libX11" - -DOCS="" - -src_prepare() { - default - - sed -i \ - -e '/$(CC) $(CFLAGS) -o/s:$(CFLAGS):$(CFLAGS) $(LDFLAGS):' \ - -e '/glew.lib:/s|lib/$(LIB.STATIC) ||' \ - -e '/glew.lib.mx:/s|lib/$(LIB.STATIC.MX) ||' \ - Makefile || die - - # don't do stupid Solaris specific stuff that won't work in Prefix - cp config/Makefile.linux config/Makefile.solaris || die - - multilib_copy_sources -} - -glew_system() { - # Set the SYSTEM variable instead of probing. #523444 #595280 - case ${CHOST} in - *linux*) echo "linux" ;; - *-darwin*) echo "darwin" ;; - *-solaris*) echo "solaris" ;; - mingw*|*-mingw*) echo "mingw" ;; - *) die "Unknown system ${CHOST}" ;; - esac -} - -set_opts() { - myglewopts=( - AR="$(tc-getAR)" - STRIP=true - CC="$(tc-getCC)" - LD="$(tc-getCC) ${LDFLAGS}" - SYSTEM="$(glew_system)" - M_ARCH="" - LDFLAGS.EXTRA="" - LDFLAGS.GL="-lGL" # Don't need X libs! - POPT="${CFLAGS}" - ) -} - -multilib_src_compile() { - set_opts - emake glew.lib{,.mx} "${myglewopts[@]}" -} - -multilib_src_install() { - newlib.so lib/libGLEW.so.${SLOT}.* libGLEW.so.${SLOT} - newlib.so lib/libGLEWmx.so.${SLOT}.* libGLEWmx.so.${SLOT} -} diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest index abc4eb73b776..0231335f26e0 100644 --- a/media-video/ffmpeg/Manifest +++ b/media-video/ffmpeg/Manifest @@ -12,6 +12,8 @@ DIST ffmpeg-8.1.2.tar.xz 11710924 BLAKE2B b37849fd89cdbc336700227c804d7642e0d2e4 DIST ffmpeg-8.1.2.tar.xz.asc 520 BLAKE2B d9a3ad0773cfba32c13d0ac29c88d0c3ebf53ccacc6a6c539f9b4f030181964acbedc8f7b846601e62d1c1bdefc34a31293970097f6d793438426c686da3bed9 SHA512 11d47bb4e7cb6ed388647d5ed7ba4f740b279e3d5bbe2caf97ffe486a62bb05ce0c1c3bf8c020c34818db935a967d18ac27071630e3357ddf1c549741eadd6a5 DIST ffmpeg-9.0.1.tar.xz 12036420 BLAKE2B 85b3b175211dfc013ae5df3ffd2bf2a1fd68f682f6b63d1a1a3aa431b7a8b5ef15c41108a6fa1ef2b15e6677f182ab02e48e0b56d3f301ef8e1777a473e8dd82 SHA512 be8cdfca64886f2ec5cd2359f8db6a998ee759d105b10ade9b2a7b640356ad56ab0ff50218fce7b6312462f15f98d90ac9d197a3b02a23771754d2714fec628d DIST ffmpeg-9.0.1.tar.xz.asc 520 BLAKE2B b245773f3ea48ab1865d4565ef85fbfdf7dc567ddabbc8089b89070d2bc123a73c8ead41541d21339db38dccc568ca0e1062622fe429aec7b5a074b2836de58e SHA512 b076445e542acbdfa91bf1a2ee0d9e8057a2ce452c39e830765637bb0a665249357097022573acb96ebd675224dfec7945338ae317c3ad807a3d08759e056be0 +DIST ffmpeg-9.0.2.tar.xz 12040788 BLAKE2B c768e75f3b129d7e51131ebe36813fdddbf8087637a15d3bad6e10a73b1d4fc815deee189809ff51750c5e00c4df401134417c911a3c97393d40e56cf3fd8308 SHA512 7756f8434371b9bc1d01cf578bf49014e058b0869c3c1df05030f5f4035f1def64b2e7dba3cf340da4dc8dd9239dd5f894530c9e45793ac27876807079aa546a +DIST ffmpeg-9.0.2.tar.xz.asc 520 BLAKE2B 40a4efcfaa1d4bef589e2542b148c052d846f73c73af0269dda0b1c7a6c89a713f50414f72b2361cc8c8e23e7174eac41636d78627816653b4b4f51d0857a5c1 SHA512 40aa5a40fd8abab7f2b29ec2a0ae8c85e5e9543cfd5035ae83e63ce0688650f9b127f62efc5eccf80e39275a548f0edb0866eb21f7544d81ce0731aebadbbf46 DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158 DIST ffmpeg-rpi-7.1.1.patch 847869 BLAKE2B efc3fef1810034b40eee1f637499171529fc6027c4fc0ef66da587c704a7742b454903aa060b21305e1d9a714eb31d96cd93f93d7cadb5815a0de22ac040b9e1 SHA512 a3f9013aec9b17e0fc1689d946e57e251a88eac3f9e7856d46fe9614fea29211feaf106d32a31f97c0e8c83c1685ca454c31f9bcb5dafb669a0933d683e581c8 DIST ffmpeg-soc-8.1.patch 702636 BLAKE2B 425247f9f41d13d706a9f7de00c14ad5606987e10a01c320c0b6a9091e0f340d0c34230b1a945c53c8bddc472105a6a6dbd96421e11f855f9427d1c4f7342028 SHA512 f24ae85846d98b1bdcde0d80916236c83497042edd6eb6c7b7f650c4fe787a04b6aa56cee89afa1f115501dd65edf2b120e4997b02d5f8e8a4a46edfd5ead387 diff --git a/media-video/ffmpeg/ffmpeg-9.0.2.ebuild b/media-video/ffmpeg/ffmpeg-9.0.2.ebuild new file mode 100644 index 000000000000..3af698d0c87f --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-9.0.2.ebuild @@ -0,0 +1,628 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic multilib-minimal toolchain-funcs udev + +FFMPEG_SOC_PATCH= +FFMPEG_SUBSLOT=61.63.63 # avutil.avcodec.avformat SONAME + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + https://git.ffmpeg.org/ffmpeg.git + https://github.com/FFmpeg/FFmpeg.git + ) +else + inherit verify-sig + SRC_URI=" + https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz + verify-sig? ( https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz.asc ) + ${FFMPEG_SOC_PATCH:+" + soc? ( https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH} ) + "} + " + S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat + # unkeyworded for testing + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +DESCRIPTION="Complete solution to record/convert/stream audio and video" +HOMEPAGE=" + https://ffmpeg.org/ + https://code.ffmpeg.org/FFmpeg/FFmpeg/ +" + +[[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1 + +FFMPEG_IUSE_MAP=( + # [+]flag[:[^][!]opt1,...][@<v3|nonfree>]], ^ = native-only, ! = override + # remember to keep LICENSE, REQUIRED_USE, and RESTRICT in sync + X:libxcb,libxcb-shape,libxcb-shm,libxcb-xfixes,xlib + alsa + amf + amrenc:libvo-amrwbenc@v3 + amr:libopencore-amrnb,libopencore-amrwb@v3 + appkit + bluray:libbluray + bs2b:libbs2b + bzip2:bzlib + cairo + cdio:libcdio + chromaprint + codec2:libcodec2 + cuda-clang:cuda-llvm + +dav1d:libdav1d + ${FFMPEG_UNSLOTTED:+doc:^htmlpages} + +drm:libdrm + dvd:libdvdnav,libdvdread + fdk:libfdk-aac@nonfree + flite:libflite + +fontconfig:libfontconfig + frei0r + fribidi:libfribidi + gcrypt + gme:libgme + gmp:@v3 + +gnutls # unused if USE=openssl, default for bug #905113,#917627 + +gpl + gsm:libgsm + iec61883:libiec61883 + ieee1394:libdc1394 + jack:libjack + jpeg2k:libopenjpeg + jpegxl:libjxl + kvazaar:libkvazaar + ladspa + lame:libmp3lame + lcms:lcms2 + libaom + libaribb24:@v3 # reminder: req use on gpl unneeded if >=1.0.4 (not in tree) + +libass + libcaca + libilbc + liblc3 + libplacebo + librtmp:librtmp + libsoxr + lv2 + lzma + modplug:libmodplug + nvenc:cuvid,ffnvcodec,nvdec,nvenc + opencolorio:^libopencolorio # no multilib + ocr:libtesseract + openal + opencl + opengl + openh264:libopenh264 + openmpt:libopenmpt + openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl + opus:libopus + pulseaudio:libpulse + qrcode:libqrencode + qsv:libvpl + quirc:libquirc + rabbitmq:^librabbitmq # no multilib + rav1e:^librav1e # no multilib + rist:^librist # no multilib + rubberband:librubberband + samba:libsmbclient@v3 # GPL-3+ only + sdl:sdl2 + snappy:libsnappy + sndio + speex:libspeex + srt:libsrt + ssh:libssh + svg:librsvg + svt-av1:libsvtav1 + theora:libtheora + +truetype:libfreetype,libharfbuzz + twolame:libtwolame + v4l:libv4l2 + vaapi + vdpau + vidstab:libvidstab + vmaf:libvmaf + vorbis:libvorbis + vpx:libvpx + # vulkan-static: it still uses shared, only means no dlopen() + vulkan:vulkan,vulkan-static + webp:libwebp + x264:libx264 + x265:libx265 + +xml:libxml2 + xvid:libxvid + zeromq:^libzmq # no multilib + zimg:libzimg + +zlib + zvbi:libzvbi +) + +# all-rights is used to express the GPL incompatibility (RESTRICT=bindist) +LICENSE=" + gpl? ( + GPL-2+ + amr? ( GPL-3+ ) amrenc? ( GPL-3+ ) libaribb24? ( GPL-3+ ) + gmp? ( GPL-3+ ) openssl? ( GPL-3+ ) + fdk? ( all-rights-reserved ) + ) + !gpl? ( + LGPL-2.1+ + amr? ( LGPL-3+ ) amrenc? ( LGPL-3+ ) libaribb24? ( LGPL-3+ ) + gmp? ( LGPL-3+ ) + ) + samba? ( GPL-3+ ) +" +[[ ${FFMPEG_UNSLOTTED} ]] && : 0 || : "$(ver_cut 1)" +SLOT="${_}/${FFMPEG_SUBSLOT}" +IUSE=" + ${FFMPEG_IUSE_MAP[*]%:*} + ${FFMPEG_UNSLOTTED:+chromium} + ${FFMPEG_SOC_PATCH:+soc} +" +REQUIRED_USE=" + cuda-clang? ( nvenc ) + fribidi? ( truetype ) + gmp? ( !librtmp ) + libplacebo? ( vulkan ) + libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl ) + rubberband? ( gpl ) samba? ( gpl ) vidstab? ( gpl ) x264? ( gpl ) + x265? ( gpl ) xvid? ( gpl ) + ${FFMPEG_UNSLOTTED:+chromium? ( opus )} + ${FFMPEG_SOC_PATCH:+soc? ( drm )} +" +RESTRICT="gpl? ( fdk? ( bindist ) )" + +# dlopen: amdgpu-pro-amf +COMMON_DEPEND=" + virtual/libiconv[${MULTILIB_USEDEP}] + X? ( + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXv[${MULTILIB_USEDEP}] + x11-libs/libxcb:=[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + amr? ( media-libs/opencore-amr[${MULTILIB_USEDEP}] ) + amrenc? ( media-libs/vo-amrwbenc[${MULTILIB_USEDEP}] ) + bluray? ( media-libs/libbluray:=[${MULTILIB_USEDEP}] ) + bs2b? ( media-libs/libbs2b[${MULTILIB_USEDEP}] ) + bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) + cairo? ( x11-libs/cairo[${MULTILIB_USEDEP}] ) + cdio? ( dev-libs/libcdio-paranoia:=[${MULTILIB_USEDEP}] ) + chromaprint? ( media-libs/chromaprint:=[${MULTILIB_USEDEP}] ) + codec2? ( media-libs/codec2:=[${MULTILIB_USEDEP}] ) + dav1d? ( media-libs/dav1d:=[${MULTILIB_USEDEP}] ) + dvd? ( + media-libs/libdvdnav[${MULTILIB_USEDEP}] + media-libs/libdvdread:=[${MULTILIB_USEDEP}] + ) + drm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) + fdk? ( media-libs/fdk-aac:=[${MULTILIB_USEDEP}] ) + flite? ( app-accessibility/flite[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) + frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) + fribidi? ( dev-libs/fribidi[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gme? ( media-libs/game-music-emu[${MULTILIB_USEDEP}] ) + gmp? ( dev-libs/gmp:=[${MULTILIB_USEDEP}] ) + gnutls? ( !openssl? ( + net-libs/gnutls:=[${MULTILIB_USEDEP}] + ) ) + gsm? ( media-sound/gsm[${MULTILIB_USEDEP}] ) + iec61883? ( + media-libs/libiec61883[${MULTILIB_USEDEP}] + sys-libs/libavc1394[${MULTILIB_USEDEP}] + sys-libs/libraw1394[${MULTILIB_USEDEP}] + ) + ieee1394? ( + media-libs/libdc1394:2=[${MULTILIB_USEDEP}] + sys-libs/libraw1394[${MULTILIB_USEDEP}] + ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] ) + jpegxl? ( media-libs/libjxl:=[${MULTILIB_USEDEP}] ) + kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] ) + lame? ( media-sound/lame[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2[${MULTILIB_USEDEP}] ) + libaom? ( media-libs/libaom:=[${MULTILIB_USEDEP}] ) + libaribb24? ( media-libs/aribb24[${MULTILIB_USEDEP}] ) + libass? ( media-libs/libass:=[${MULTILIB_USEDEP}] ) + libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] ) + libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] ) + liblc3? ( >=media-sound/liblc3-1.1[${MULTILIB_USEDEP}] ) + libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] ) + librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] ) + lv2? ( + media-libs/lilv[${MULTILIB_USEDEP}] + media-libs/lv2[${MULTILIB_USEDEP}] + ) + lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] ) + modplug? ( media-libs/libmodplug[${MULTILIB_USEDEP}] ) + opencolorio? ( media-libs/opencolorio:= ) + ocr? ( app-text/tesseract:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] ) + openh264? ( media-libs/openh264:=[${MULTILIB_USEDEP}] ) + openmpt? ( media-libs/libopenmpt[${MULTILIB_USEDEP}] ) + openssl? ( >=dev-libs/openssl-3:=[${MULTILIB_USEDEP}] ) + opus? ( media-libs/opus[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + qrcode? ( media-gfx/qrencode:=[${MULTILIB_USEDEP}] ) + qsv? ( media-libs/libvpl:=[${MULTILIB_USEDEP}] ) + quirc? ( media-libs/quirc:=[${MULTILIB_USEDEP}] ) + rabbitmq? ( net-libs/rabbitmq-c:= ) + rav1e? ( >=media-video/rav1e-0.5:=[capi] ) + rist? ( net-libs/librist ) + rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] ) + samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] ) + sdl? ( + media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}] + libplacebo? ( media-libs/libsdl2[vulkan] ) + ) + snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + speex? ( media-libs/speex[${MULTILIB_USEDEP}] ) + srt? ( net-libs/srt:=[${MULTILIB_USEDEP}] ) + ssh? ( net-libs/libssh:=[sftp,${MULTILIB_USEDEP}] ) + svg? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + >=gnome-base/librsvg-2.52:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + ) + svt-av1? ( >=media-libs/svt-av1-0.9:=[${MULTILIB_USEDEP}] ) + theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] ) + truetype? ( + media-libs/freetype:2[${MULTILIB_USEDEP}] + media-libs/harfbuzz:=[${MULTILIB_USEDEP}] + ) + twolame? ( media-sound/twolame[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( media-libs/libva:=[X?,${MULTILIB_USEDEP}] ) + vdpau? ( + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libvdpau[${MULTILIB_USEDEP}] + ) + vidstab? ( media-libs/vidstab[${MULTILIB_USEDEP}] ) + vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] ) + vorbis? ( media-libs/libvorbis[${MULTILIB_USEDEP}] ) + vpx? ( media-libs/libvpx:=[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] ) + x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] ) + x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] ) + xml? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) + xvid? ( media-libs/xvid[${MULTILIB_USEDEP}] ) + zeromq? ( net-libs/zeromq:= ) + zimg? ( media-libs/zimg[${MULTILIB_USEDEP}] ) + zlib? ( virtual/zlib:=[${MULTILIB_USEDEP}] ) + zvbi? ( media-libs/zvbi[${MULTILIB_USEDEP}] ) + ${FFMPEG_SOC_PATCH:+" + soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + "} +" +RDEPEND=" + ${COMMON_DEPEND} + amf? ( media-video/amdgpu-pro-amf ) +" +DEPEND=" + ${COMMON_DEPEND} + X? ( x11-base/xorg-proto ) + amf? ( >=media-libs/amf-headers-1.5.2 ) + kernel_linux? ( >=sys-kernel/linux-headers-6 ) + ladspa? ( media-libs/ladspa-sdk ) + nvenc? ( >=media-libs/nv-codec-headers-12.1.14.0 ) + opencl? ( dev-util/opencl-headers ) + vulkan? ( + dev-util/spirv-headers + >=dev-util/vulkan-headers-1.4.317 + ) +" +BDEPEND=" + app-alternatives/awk + virtual/pkgconfig + amd64? ( dev-lang/nasm ) + cuda-clang? ( llvm-core/clang:*[llvm_targets_NVPTX] ) + vulkan? ( media-libs/shaderc ) + ${FFMPEG_UNSLOTTED:+" + dev-lang/perl + doc? ( sys-apps/texinfo ) + "} +" +[[ ${PV} != 9999 ]] && + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )" + +DOCS=( CREDITS Changelog README.md doc/APIchanges ) +[[ ${PV} != 9999 ]] && DOCS+=( RELEASE_NOTES ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libavutil/avconfig.h +) + +PATCHES=( + "${FILESDIR}"/ffmpeg-6.1-opencl-parallel-gmake-fix.patch +) + +pkg_pretend() { + # TODO: drop this after a few months + if has_version "${CATEGORY}/${PN}[mp3]" && use !lame; then #952971 + ewarn "${PN}'s 'mp3' USE was renamed to 'lame', please enable it" + ewarn "if wish to keep the ability to encode using media-sound/lame." + ewarn "This is *not* needed if only want mp3 playback." + fi +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] || return + + if use chromaprint && has_version 'media-libs/chromaprint[tools]'; then + ewarn "media-libs/chromaprint is installed with USE=tools which links to" + ewarn "ffmpeg, and USE=chromaprint is enabled on ffmpeg which links to" + ewarn "chromaprint (circular). This may cause issues when updating ffmpeg." + ewarn + ewarn "If get a build failure with 'ERROR: chromaprint not found' or so," + ewarn "first rebuild chromaprint with USE=-tools, then rebuild ffmpeg, and" + ewarn "then finally rebuild chromaprint with USE=tools again (bug #862996)." + fi + + [[ ${EXTRA_FFMPEG_CONF} ]] && # drop this eventually + die "EXTRA_FFMPEG_CONF is set in the environment, please use EXTRA_ECONF instead" +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + use verify-sig && + verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \ + "${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc + default + fi +} + +src_prepare() { + in_iuse chromium && PATCHES+=( "${FILESDIR}"/chromium-r3.patch ) + in_iuse soc && use soc && PATCHES+=( "${DISTDIR}"/${FFMPEG_SOC_PATCH} ) + + default + + # respect user preferences + sed -i '/cflags -fdiagnostics-color/d' configure || die + + # handle here to avoid repeating for each ABI below (bug #923491) + FFMPEG_ENABLE_LTO= + if tc-is-lto; then + : "$(get-flag -flto)" # get -flto=<val> (e.g. =thin) + FFMPEG_ENABLE_LTO=--enable-lto${_#-flto} + + tc-ld-is-mold && tc-is-clang && FFMPEG_ENABLE_LTO= #963835 + fi + filter-lto +} + +multilib_src_configure() { + local conf=( "${S}"/configure ) # not autotools-based + + local prefix=${EPREFIX}/usr + if [[ ! ${FFMPEG_UNSLOTTED} ]]; then + prefix+=/lib/ffmpeg${SLOT%/*} + # could get SONAME clashes, so prefer rpath over LDPATH + conf+=( + --enable-rpath + --disable-doc + ) + fi + + conf+=( + --prefix="${prefix}" + --libdir="${prefix}"/$(get_libdir) + --shlibdir="${prefix}"/$(get_libdir) + --mandir="${prefix}"/share/man + --docdir="${EPREFIX}"/usr/share/doc/${PF}/html + + --ar="$(tc-getAR)" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --nm="$(tc-getNM)" + --pkg-config="$(tc-getPKG_CONFIG)" + --ranlib="$(tc-getRANLIB)" + --disable-stripping + + # overrides users' -g/-O, let *FLAGS handle these + --disable-debug + --disable-optimizations + --optflags=' ' + + # pass option over *FLAGS due to special logic (bug #566282,#754654) + ${FFMPEG_ENABLE_LTO} + + # basic defaults that should not really need a USE + --enable-iconv + --enable-pic + --enable-shared + --disable-static + $(multilib_native_enable manpages) # needs pod2man + --disable-podpages + --disable-txtpages + + # disabled primarily due to being unpackaged + --disable-decklink + --disable-libaribcaption + --disable-libdavs2 + --disable-libklvanc + --disable-liblcevc-dec + --disable-libmpeghdec + --disable-libmysofa + --disable-liboapv + --disable-libonnxruntime + --disable-libopenvino + --disable-libshine + --disable-libsvtjpegxs + --disable-libtls + --disable-libuavs3d + --disable-libvvenc + --disable-libxavs + --disable-libxavs2 + --disable-libxevd + --disable-libxevdb + --disable-libxeve + --disable-libxeveb + --disable-ohcodec + --disable-pocketsphinx + --disable-rkmpp + --disable-vapoursynth + --disable-whisper + + # disabled for other or additional reasons + --disable-cuda-nvcc # prefer cuda-llvm for less issues + --disable-liblensfun # https://trac.ffmpeg.org/ticket/9112 (abandoned?) + --disable-libmfx # prefer libvpl for USE=qsv + --disable-libopencv # leaving for later due to circular opencv[ffmpeg] + --disable-libtensorflow # causes headaches, and is gone + --disable-libtorch # support may need special attention (bug #936127) + --disable-mbedtls # messy with slots, tests underlinking issues + --disable-mmal # prefer USE=soc + + # to avoid obscure issues like bug #915384 and simplify the ebuild, + # not passing the following (use EXTRA_ECONF if really must): + # --cpu: adds -march=<exact> after the user's more adapted + # =native, its logic also does not account for -mno-* + # --disable/enable-<cpufeature>: safer to detect at runtime + ) + + in_iuse soc && use soc && + conf+=( + --enable-libudev + --enable-sand + --enable-v4l2-request + ) + + # broken on x32 (bug #427004), and not PIC safe on x86 (bug #916067) + [[ ${ABI} == @(x32|x86) ]] && conf+=( --disable-asm ) + + # disable due to asm-related failures on ppc (bug #951464, ppc64be) + # https://trac.ffmpeg.org/ticket/9604 (ppc64el) + # https://trac.ffmpeg.org/ticket/10955 (ppc64el) + # (review re-enabling if resolved, or if debian allows it again) + use ppc || use ppc64 && conf+=( --disable-asm ) + + if tc-is-cross-compiler; then + conf+=( + --enable-cross-compile + --arch="$(tc-arch-kernel)" + --cross-prefix="${CHOST}-" + --host-cc="$(tc-getBUILD_CC)" + ) + case ${CHOST} in + *mingw32*) conf+=( --target-os=mingw32 );; + *linux*) conf+=( --target-os=linux );; + esac + elif use arm; then + # TODO?: could *always* pass tc-arch-kernel, albeit that function + # is meant for the kernel and just mostly matches by accident + conf+=( --arch=arm ) #969514 + fi + + # skipping tests is handled at configure-time + local skip_tests=() + + # tests known failing on BE arches, skip for now given potential + # fixes are complex and would rather wait for fixed release + # (shouldn't impact most BE users, scarcely used features) + # https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/22564 + # https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22274 + [[ $(tc-endian) == big ]] && + skip_tests+=( + filter-drawvg-video + vsynth{1,2,3}-ffvhuff420p12 + ) + + # zlib-ng is not bitexact w/ zlib producing mismatching md5sum (bug #965737) + has_version 'sys-libs/zlib-ng[compat]' && + skip_tests+=( + lavf-{apng{,.png},gray16be.png,png,rgb48be.png} + mov-mp4-frag-flush + vsynth{1,2,3}-{flashsv,mpng,zlib} + ) + + (( ${#skip_tests[@]} )) && + conf+=( --ignore-tests=$(IFS=,; echo "${skip_tests[*]}") ) + + # import options from FFMPEG_IUSE_MAP + local flag license mod v + local -A optmap=() licensemap=() + for v in "${FFMPEG_IUSE_MAP[@]}"; do + [[ ${v} =~ \+?([^:]+):?([^@]*)@?(.*) ]] || die "${v}" + flag=${BASH_REMATCH[1]} + license=${BASH_REMATCH[3]} + v=${BASH_REMATCH[2]:-${flag}} + for v in ${v//,/ }; do + mod=${v::1} + v=${v#[\!\^]} + if [[ ${mod} == '!' ]]; then + if use ${flag}; then + optmap[${v}]=--disable-${v} + unset licensemap[${v}] + fi + elif [[ ! -v optmap[${v}] ]]; then + if [[ ${mod} == '^' ]]; then + optmap[${v}]=$(multilib_native_use_enable ${flag} ${v}) + else + optmap[${v}]=$(use_enable ${flag} ${v}) + fi + use ${flag} && licensemap[${v}]=${license} + fi + done + done + for license in "${licensemap[@]}"; do + case ${license} in + v3ifgpl) use gpl || continue ;& + v3) optmap[v3]=--enable-version3 ;; + nonfree) use gpl && optmap[nonfree]=--enable-nonfree ;; + esac + done + conf+=( + "${optmap[@]}" + ${EXTRA_ECONF} + ) + + einfo "${conf[*]}" + "${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log" +} + +multilib_src_compile() { + mkdir -p fftools/resources/ || die #965687 + mkdir -p libav{codec,filter}/vulkan/ || die #974907 + + emake V=1 + + in_iuse chromium && use chromium && multilib_is_native_abi && + emake V=1 libffmpeg +} + +multilib_src_test() { + local -x LD_LIBRARY_PATH=$(printf %s: "${BUILD_DIR}"/lib*)${LD_LIBRARY_PATH} + emake V=1 -k fate +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install + in_iuse chromium && use chromium && multilib_is_native_abi && + emake V=1 DESTDIR="${D}" install-libffmpeg +} + +multilib_src_install_all() { + in_iuse soc && use soc && udev_dorules "${FILESDIR}"/60-dma-heap-ffmpeg.rules + einstalldocs +} + +pkg_postinst() { + in_iuse soc && use soc && udev_reload +} + +pkg_postrm() { + in_iuse soc && use soc && udev_reload +} diff --git a/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild b/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild deleted file mode 100644 index 60f674d398fd..000000000000 --- a/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) - -inherit unpacker udev multilib-minimal - -MY_PV_1=$(ver_cut 1) -MY_PV_12=$(ver_cut 1-2) - -DESCRIPTION="SDRplay API/HW driver for all RSPs" -HOMEPAGE="https://www.sdrplay.com" -SRC_URI="http://www.sdrplay.com/software/SDRplay_RSP_API-Linux-${PV}.run" - -LICENSE="SDRplay" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="virtual/libusb:1 - virtual/udev" -RDEPEND="${DEPEND}" - -S="${WORKDIR}" - -QA_PREBUILT="usr/lib64/libmirsdrapi-rsp.so.${MY_PV_12} -usr/lib32/libmirsdrapi-rsp.so.${MY_PV_12}" - -multilib_src_install_all() { - insinto /usr/include/ - doins mirsdrapi-rsp.h - - udev_dorules 66-mirics.rules - udev_reload -} - -multilib_src_install() { - if [ "${MULTILIB_ABI_FLAG}" = "abi_x86_32" ]; then - dolib.so "${S}/i686/libmirsdrapi-rsp.so.${MY_PV_12}" - fi - - if [ "${MULTILIB_ABI_FLAG}" = "abi_x86_64" ]; then - dolib.so "${S}/x86_64/libmirsdrapi-rsp.so.${MY_PV_12}" - fi - - dosym libmirsdrapi-rsp.so.${MY_PV_12} "${EROOT}/usr/$(get_libdir)/libmirsdrapi-rsp.so.${MY_PV_1}" - dosym libmirsdrapi-rsp.so.${MY_PV_1} "${EROOT}/usr/$(get_libdir)/libmirsdrapi-rsp.so" -} diff --git a/sys-block/hpssacli/hpssacli-2.40.13.0-r2.ebuild b/sys-block/hpssacli/hpssacli-2.40.13.0-r2.ebuild deleted file mode 100644 index b52f1d77c8a2..000000000000 --- a/sys-block/hpssacli/hpssacli-2.40.13.0-r2.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit pax-utils rpm - -MY_PV=$(ver_rs 2 '-') - -DESCRIPTION="HPE Smart Storage Administrator (HPE SSA) CLI (HPSSACLI, formerly HPACUCLI)" -HOMEPAGE="http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_04bffb688a73438598fef81ddd" -SRC_URI=" - amd64? ( https://downloads.linux.hpe.com/SDR/repo/spp/RHEL/6/x86_64/current/${PN}-${MY_PV}.x86_64.rpm ) - x86? ( https://downloads.linux.hpe.com/SDR/repo/spp/RHEL/6/i686/current/${PN}-${MY_PV}.i386.rpm )" - -LICENSE="hpe" -SLOT="0" -KEYWORDS="-* amd64 x86" -RESTRICT="mirror bindist" - -RDEPEND="elibc_glibc? ( >sys-libs/glibc-2.14 ) - >=sys-libs/libunwind-0.99 - >=sys-process/procps-3.3.6" - -DOCS=( license.txt readme.txt ) - -MY_HPSSACLI_BASEDIR="/opt/hp/hpssacli" - -QA_PREBUILT="${MY_HPSSACLI_BASEDIR:1}/hpssa*.bin" -QA_EXECSTACK="${MY_HPSSACLI_BASEDIR:1}/hpssa*.bin" - -src_unpack() { - rpm_src_unpack - - mkdir "${S}" || die "Failed to create '${S}'" -} - -src_prepare() { - default - - # Create a clean $S - mv "${WORKDIR}"/opt/hp/hpssacli/bld/hpss* "${S}" || die "Failed to to copy 'hpss*' related files" - mv "${S}"/hpssacli.license "${S}"/license.txt || die "Renaming hpssacli.license failed!" - mv "${S}"/hpssacli*.txt "${S}"/readme.txt || die "Renaming hpssacli*.txt failed!" - rm -rf "${WORKDIR}"/opt || die "Failed to cleanup '${WORKDIR}/opt'" - rm -rf "${WORKDIR}"/usr || die "Failed to cleanup '${WORKDIR}/usr'" -} - -src_install() { - newsbin "${FILESDIR}"/"${PN}-wrapper" ${PN} - dosym ${PN} /usr/sbin/hpssascripting - - exeinto "${MY_HPSSACLI_BASEDIR}" - for bin in "${S}"/hpssa{cli,scripting}; do - local basename=$(basename "${bin}") - newexe "${bin}" ${basename}.bin - done - - dodoc "${DOCS[@]}" - - pax-mark m "${D}${HPSSACLI_BASEDIR}"/*.bin -} diff --git a/sys-block/hpssacli/hpssacli-3.40.3.0-r1.ebuild b/sys-block/hpssacli/hpssacli-3.40.3.0-r1.ebuild deleted file mode 100644 index 1ec8e9744d5c..000000000000 --- a/sys-block/hpssacli/hpssacli-3.40.3.0-r1.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit pax-utils rpm - -MY_PV=$(ver_rs 2 '-') - -DESCRIPTION="HPE Smart Storage Administrator (HPE SSA) CLI (HPSSACLI, formerly HPACUCLI)" -HOMEPAGE="https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_688838b13b194c7abe1aa98584" -SRC_URI="https://downloads.linux.hpe.com/SDR/repo/spp/2019.03.0/packages/ssacli-${MY_PV}.x86_64.rpm" - -LICENSE="hpe" -SLOT="0" -KEYWORDS="-* amd64" -RESTRICT="mirror bindist" - -RDEPEND=" - elibc_glibc? ( sys-libs/glibc ) - sys-libs/libunwind - sys-process/procps" - -DOCS=( license.txt readme.txt ) - -MY_HPSSACLI_BASEDIR="/opt/hp/hpssacli" - -QA_PREBUILT="${MY_HPSSACLI_BASEDIR:1}/hpssa*.bin" -QA_EXECSTACK="${MY_HPSSACLI_BASEDIR:1}/hpssa*.bin" - -src_unpack() { - rpm_src_unpack - - mkdir "${S}" || die "Failed to create '${S}'" -} - -src_prepare() { - default - - # Create a clean $S - mv "${WORKDIR}"/opt/smartstorageadmin/ssacli/bin/ssa* "${S}" || die "Failed to to copy 'ssa*' related files" - mv "${S}"/ssacli "${S}"/hpssacli || die "Renaming ssacli failed!" - mv "${S}"/ssascripting "${S}"/hpssascripting || die "Renaming ssascripting failed!" - mv "${S}"/ssacli.license "${S}"/license.txt || die "Renaming ssacli.license failed!" - mv "${S}"/ssacli*.txt "${S}"/readme.txt || die "Renaming ssacli*.txt failed!" - rm -r "${WORKDIR}"/opt || die "Failed to cleanup '${WORKDIR}/opt'" - rm -r "${WORKDIR}"/usr || die "Failed to cleanup '${WORKDIR}/usr'" -} - -src_install() { - newsbin "${FILESDIR}"/"${PN}-wrapper" ${PN} - dosym ${PN} /usr/sbin/hpssascripting - - exeinto "${MY_HPSSACLI_BASEDIR}" - for bin in "${S}"/hpssa{cli,scripting}; do - local basename=$(basename "${bin}") - newexe "${bin}" ${basename}.bin - done - - dodoc "${DOCS[@]}" - - pax-mark m "${D}${HPSSACLI_BASEDIR}"/*.bin -} diff --git a/sys-devel/gcc/gcc-8.5.0-r2.ebuild b/sys-devel/gcc/gcc-8.5.0-r2.ebuild deleted file mode 100644 index 50c75bcc3a77..000000000000 --- a/sys-devel/gcc/gcc-8.5.0-r2.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -# Maintenance notes and explanations of GCC handling are on the wiki: -# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc - -TOOLCHAIN_PATCH_SUFFIX="xz" -TOOLCHAIN_HAS_TESTS=1 -PATCH_VER="5" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit toolchain - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND="" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.13 ) - >=${CATEGORY}/binutils-2.20" - -if [[ ${CATEGORY} != cross-* ]] ; then - PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -fi diff --git a/sys-firmware/vgabios/vgabios-0.7a-r1.ebuild b/sys-firmware/vgabios/vgabios-0.7a-r1.ebuild deleted file mode 100644 index 84a7f9b665bc..000000000000 --- a/sys-firmware/vgabios/vgabios-0.7a-r1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Can't really call them backports when they're fixes that upstream -# won't carry -FIXES=1 - -DESCRIPTION="VGA BIOS implementation" -HOMEPAGE="http://www.nongnu.org/vgabios/" -SRC_URI="https://savannah.gnu.org/download/${PN}/${P}.tgz - https://dev.gentoo.org/~cardoe/distfiles/${P}-fixes-${FIXES}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="binary debug" -BDEPEND="!binary? ( sys-devel/dev86 )" - -src_prepare() { - if [[ -n ${FIXES} ]] ; then - eapply patches/*.patch - fi - - default -} - -src_compile() { - if ! use binary ; then - emake clean # Necessary to clean up the pre-built pieces - emake biossums - emake - fi -} - -src_install() { - insinto /usr/share/vgabios - - # Stock VGABIOS - newins VGABIOS-lgpl-latest.bin vgabios.bin - use debug && newins VGABIOS-lgpl-latest.debug.bin vgabios.debug.bin - - # Cirrus - newins VGABIOS-lgpl-latest.cirrus.bin vgabios-cirrus.bin - use debug && newins VGABIOS-lgpl-latest.cirrus.debug.bin \ - vgabios-cirrus.debug.bin - - if ! use binary ; then - # QXL - newins VGABIOS-lgpl-latest.qxl.bin vgabios-qxl.bin - use debug && newins VGABIOS-lgpl-latest.qxl.debug.bin \ - vgabios-qxl.debug.bin - - # Standard VGA - newins VGABIOS-lgpl-latest.stdvga.bin vgabios-stdvga.bin - use debug && newins VGABIOS-lgpl-latest.stdvga.debug.bin \ - vgabios-stdvga.debug.bin - - # VMWare - newins VGABIOS-lgpl-latest.vmware.bin vgabios-vmware.bin - use debug && newins VGABIOS-lgpl-latest.vmware.debug.bin \ - vgabios-vmware.debug.bin - else - ewarn "USE=binary only includes default & cirrus bios builds" - fi -} diff --git a/sys-firmware/vgabios/vgabios-0.7a.ebuild b/sys-firmware/vgabios/vgabios-0.7a.ebuild deleted file mode 100644 index 85d6d4c72bce..000000000000 --- a/sys-firmware/vgabios/vgabios-0.7a.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Can't really call them backports when they're fixes that upstream -# won't carry -FIXES=1 - -DESCRIPTION="VGA BIOS implementation" -HOMEPAGE="http://www.nongnu.org/vgabios/" -SRC_URI="https://savannah.gnu.org/download/${PN}/${P}.tgz - https://dev.gentoo.org/~cardoe/distfiles/${P}-fixes-${FIXES}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="debug" - -BDEPEND="amd64? ( sys-devel/dev86 ) - x86? ( sys-devel/dev86 )" - -src_prepare() { - if [[ -n ${FIXES} ]] ; then - eapply patches/*.patch - fi - - default -} - -src_compile() { - if use amd64 || use x86 ; then - emake clean # Necessary to clean up the pre-built pieces - emake biossums - emake - fi -} - -src_install() { - insinto /usr/share/vgabios - - if use amd64 || use x86 ; then - # Stock VGABIOS - newins VGABIOS-lgpl-latest.bin vgabios.bin - use debug && newins VGABIOS-lgpl-latest.debug.bin vgabios.debug.bin - - # Cirrus - newins VGABIOS-lgpl-latest.cirrus.bin vgabios-cirrus.bin - use debug && newins VGABIOS-lgpl-latest.cirrus.debug.bin \ - vgabios-cirrus.debug.bin - - # QXL - newins VGABIOS-lgpl-latest.qxl.bin vgabios-qxl.bin - use debug && newins VGABIOS-lgpl-latest.qxl.debug.bin \ - vgabios-qxl.debug.bin - - # Standard VGA - newins VGABIOS-lgpl-latest.stdvga.bin vgabios-stdvga.bin - use debug && newins VGABIOS-lgpl-latest.stdvga.debug.bin \ - vgabios-stdvga.debug.bin - - # VMWare - newins VGABIOS-lgpl-latest.vmware.bin vgabios-vmware.bin - use debug && newins VGABIOS-lgpl-latest.vmware.debug.bin \ - vgabios-vmware.debug.bin - else - doins bins/* - fi -} |
