diff --git a/dev-lang/wabt/Manifest b/dev-lang/wabt/Manifest index d6ea4bf431..5e55c4adab 100644 --- a/dev-lang/wabt/Manifest +++ b/dev-lang/wabt/Manifest @@ -1,3 +1,3 @@ -DIST WebAssembly-testsuite-c2a67a575ddc815ff2212f68301d333e5e30a923.tar.gz 625713 BLAKE2B 0adffe3b0e60f0decbc9a0207b6a0e7137b5eb3eb405a781d51837689305ad4c41edff6cf37479b897b28545c70040fc64c67665e6529c75b817a417f794656d SHA512 c93506a5d79c36a76c0cc021a279964e47e28e523eb5dba8ce549df318c9b0c7198070b7aa27a8e632f8892349fea94c6260039e95b06d95cff8b952edced566 +DIST WebAssembly-testsuite-cbc54d77065e5202bcb69e0d1c53ceccc29a7984.tar.gz 801487 BLAKE2B 10eaf749a944cbf1279ac4bb967d4d0c7f793a11ba9c293ac4cbd9304ab26f02aaf7bd534637dc8886045663e5724f958dde54033d44c86f8289da2700e160fa SHA512 ed1761f69c03d9b69fc1e4e6bc25a5b69e4f15a19ba26bc110851e9a68e71cd718e7cf2c76cd8dcf82f0f5321102654b450aadb39cd3cb37a3cdc2669d6f6e75 DIST WebAssembly-wasm-c-api-b6dd1fb658a282c64b029867845bc50ae59e1497.tar.gz 57078 BLAKE2B 393e9ae9d3a641dd9ef0517322bc840b8d45fcf911529b1a7200e7d2baed5af4470ded4d29ca7c2c70f98c4065aee9dae823660bcb4d207b0b6a4bebb29e1f75 SHA512 5d3eec2184f8b66e2358b85f416afaea172f24155a61c9412a9d9374aa50347cf0ebe940f35727bc8c0ffe287033b967cc97a857feab6aa9e5098458e72b4fd0 -DIST wabt-1.0.34.tar.gz 1226317 BLAKE2B f6acc1783f704a4b25a063f13be1e57263f11cd76e91e6bf59f111b9ba7bc17999550cc88c69a1b8e586f40656ce000560378767f96b331e115e8c60032e6be5 SHA512 93be77d18b2311276af2abff8a954f3d029b1689ba8c89e1c3f0d199ddc0af505ffaa8489fbe0df4fc8beae1a37c645971d63794ff440e305042ff1b94bd83ef +DIST wabt-1.0.37.tar.gz 1405595 BLAKE2B 65bc51df2bb6e25488d2fd202e834effe8c6bc0a04a48075d9a7057d203acb9f6e35f7524211b5dffd62ed05d1b171da969b72b13340d06e913cb6b7886a2871 SHA512 446622858458553f56187cf17e9435168837ac093f81f81852f12b0aeb7e6e542c5ac1fbce1dde1265107add52cc3f2cacf0c2cf25154d168080b8bece15e21b diff --git a/dev-lang/wabt/wabt-1.0.34.ebuild b/dev-lang/wabt/wabt-1.0.37.ebuild similarity index 86% rename from dev-lang/wabt/wabt-1.0.34.ebuild rename to dev-lang/wabt/wabt-1.0.37.ebuild index ba800fa1be..cbe74d3e74 100644 --- a/dev-lang/wabt/wabt-1.0.34.ebuild +++ b/dev-lang/wabt/wabt-1.0.37.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{11..13} ) -EGIT_COMMIT_TESTSUITE="c2a67a575ddc815ff2212f68301d333e5e30a923" +EGIT_COMMIT_TESTSUITE="cbc54d77065e5202bcb69e0d1c53ceccc29a7984" EGIT_COMMIT_WASM_C_API="b6dd1fb658a282c64b029867845bc50ae59e1497" inherit cmake python-any-r1 @@ -57,14 +57,13 @@ src_prepare() { rm -r third_party/wasm-c-api || die mv "${WORKDIR}/wasm-c-api-${EGIT_COMMIT_WASM_C_API}" third_party/wasm-c-api || die - rm -v fuzz-in/wasm/stuff.wasm wasm2c/examples/fac/fac.wasm || die + rm -v fuzz-in/wasm/stuff.wasm wasm2c/benchmarks/dhrystone/dhrystone.wasm || die - use test || rm -v third_party/wasm-c-api/example/*.wasm || die + if ! use test; then + rm -v third_party/wasm-c-api/example/*.wasm || die + fi sed -i 's;default_compiler =.*;default_compiler = os.getenv("CC", "cc");' test/run-spec-wasm2c.py || die - - # Broken tests - rm test/wasm2c/spec/simd_lane.txt test/wasm2c/spec/simd_load.txt } src_configure() { diff --git a/net-misc/freetube-bin/Manifest b/net-misc/freetube-bin/Manifest index b598d4c0cf..464890bb76 100644 --- a/net-misc/freetube-bin/Manifest +++ b/net-misc/freetube-bin/Manifest @@ -1 +1 @@ -DIST freetube-bin-0.23.6_beta.deb 76278756 BLAKE2B 2bf3fae3e39320674e89df1c1a081a51b4ca47d7dbaf68ab10ae0c1ba51644700206385537d4f573d05b6491667d570acb76fc10cbbd7957f00d6f935747984d SHA512 ad56197d81b4eb354a07e7521cd95265adccc9c6107961cd204795ed24f6be61716329b0654eb9a60a80c0891b105259873538bdf84b01021536dd5c105d28fd +DIST freetube-bin-0.23.7_beta.deb 76267818 BLAKE2B 53414c908b24ce1a177696b50c9337a029ba8b14c7d74d6c3d0008ad9a6ab2a71b42e367b048356a46ae87df3650fe658d04926ebfd2099b412ec7b462f611d3 SHA512 2389720907fd316eb9d2277489eca6e5165f16e3710553536729e372a2672dd381e44e3e3e706d726e077e0283fafa573e83e77cd75292dd9dfa97fa5d05169e diff --git a/net-misc/freetube-bin/freetube-bin-0.23.6_beta.ebuild b/net-misc/freetube-bin/freetube-bin-0.23.7_beta.ebuild similarity index 100% rename from net-misc/freetube-bin/freetube-bin-0.23.6_beta.ebuild rename to net-misc/freetube-bin/freetube-bin-0.23.7_beta.ebuild diff --git a/sys-devel/clang-bloomberg-p2996/Manifest b/sys-devel/clang-bloomberg-p2996/Manifest new file mode 100644 index 0000000000..6c556cd4b9 --- /dev/null +++ b/sys-devel/clang-bloomberg-p2996/Manifest @@ -0,0 +1 @@ +DIST clang-bloomberg-p2996-21.0.0_p20250702.tar.gz 240748568 BLAKE2B 07d1e5dfab32031ddbc5f7f86a7cfef9f751c7db71af1aea8c87bfb9a4819c5f47907d2c1a35fb929f28974df1413d394a6cef35324b6dc49e224ae3d6b4afe8 SHA512 f9304170c1f139e25fa17ba20eeb39e4612eedd853b7889d194fd526081c6a3eff05077bb9ae954360ee600b7419a8d63cb9171bcac8ba8694ae62b0413f891c diff --git a/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-21.0.0_p20250702.ebuild b/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-21.0.0_p20250702.ebuild new file mode 100644 index 0000000000..51d35a04ad --- /dev/null +++ b/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-21.0.0_p20250702.ebuild @@ -0,0 +1,241 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake prefix python-utils-r1 + +DESCRIPTION="Clang fork implementing experimental support for P2996 (Reflection for C++26)" +HOMEPAGE="https://github.com/bloomberg/clang-p2996" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD MIT public-domain rc" +SLOT="0" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/bloomberg/clang-p2996.git" + EGIT_BRANCH="p2996" +else + GIT_COMMIT="d77eff1cbd78fd065668acf93b1f5f400d39134d" + SRC_URI="https://github.com/bloomberg/clang-p2996/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/clang-p2996-${GIT_COMMIT}" + KEYWORDS="~amd64" +fi + +ALL_LLVM_TARGETS="AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai LoongArch M68k MSP430 Mips NVPTX PowerPC RISCV SPIRV Sparc SystemZ VE WebAssembly +X86 XCore Xtensa" +IUSE="+debug +default-reflection-latest +pie" +for target in ${ALL_LLVM_TARGETS}; do + IUSE+=" ${target%${target#+}}llvm_targets_${target#+}" +done + +# TODO +RDEPEND="sys-libs/zlib:0=" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/21.0.0_p20250702-unknown-reflection.patch" + "${FILESDIR}/21.0.0_p20250702-uninitialized.patch" +) + +CMAKE_USE_DIR="$S/llvm" + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + use default-reflection-latest && eapply "${FILESDIR}/21.0.0_p20250702-enable-reflection-latest.patch" + + cmake_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + clang/lib/Lex/InitHeaderSearch.cpp \ + clang/lib/Driver/ToolChains/Darwin.cpp || die + + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" clang/lib/Driver/ToolChains/Linux.cpp || die + fi +} + +src_configure() { + local targets=() + for target in ${ALL_LLVM_TARGETS}; do + use llvm_targets_${target#+} && targets+=("${target#+}") + done + if [ ${#targets[@]} -eq 0 ]; then + die "At least one LLVM target must be enabled" + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/bloomberg-p2996" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_HOST_TRIPLE="${CHOST}" + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_ENABLE_PROJECTS="clang" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_TARGETS_TO_BUILD="$(IFS=';'; echo "${targets[*]}")" + -DLLVM_INCLUDE_BENCHMARKS=OFF + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_BUILD_TESTS=OFF + -DLLVM_INSTALL_GTEST=OFF + + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_ZLIB=FORCE_ON + + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_USE_COMPILER_RT=OFF + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + + -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang/bloomberg-p2996" + -DCLANG_CONFIG_FILE_USER_DIR="~/.config/clang" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/bloomberg-p2996" + -DCLANG_LINK_CLANG_DYLIB=ON + -DCLANG_INCLUDE_TESTS=OFF + + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) + + -DPython3_EXECUTABLE="${PYTHON}" + + -DOCAMLFIND=NO + ) + + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +_doclang_cfg() { + local triple="${1}" + + local tool + for tool in clang{,++,-cpp}; do + newins - "${triple}-${tool}.cfg" <<-EOF + # This configuration file is used by ${triple}-${tool} driver. + @../${triple}-${tool}.cfg + @gentoo-plugins.cfg + @gentoo-runtimes.cfg + EOF + + if [[ ! -f "${ED}/etc/clang/bloomberg-p2996/bloomberg-p2996-${tool}.cfg" ]]; then + dosym "${triple}-${tool}.cfg" "/etc/clang/bloomberg-p2996/bloomberg-p2996-${tool}.cfg" + fi + done + + # Install symlinks for triples with other vendor strings since some + # programs insist on mangling the triple. + local vendor + for vendor in gentoo pc unknown; do + local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}" + for tool in clang{,++,-cpp}; do + if [[ ! -f "${ED}/etc/clang/bloomberg-p2996/${vendor_triple}-${tool}.cfg" ]]; then + dosym "${triple}-${tool}.cfg" "/etc/clang/bloomberg-p2996/${vendor_triple}-${tool}.cfg" + fi + done + done +} + +doclang_cfg() { + #local triple=$(get_abi_CHOST "${abi}") + local triple=${CHOST} + + _doclang_cfg ${triple} + + # LLVM may have different arch names in some cases. For example in x86 + # profiles the triple uses i686, but llvm will prefer i386 if invoked + # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will + # be used if invoked through ${CHOST}-clang{,++,-cpp} though. + # + # To make sure the correct triples are installed, + # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp + # and compare with CHOST values in profiles. + + local abi=${triple%%-*} + case ${abi} in + armv4l|armv4t|armv5tel|armv6j|armv7a) + _doclang_cfg ${triple/${abi}/arm} + ;; + i686) + _doclang_cfg ${triple/${abi}/i386} + ;; + sparc) + _doclang_cfg ${triple/${abi}/sparcel} + ;; + sparc64) + _doclang_cfg ${triple/${abi}/sparcv9} + ;; + esac +} + +src_install() { + cmake_src_install + + # Rename programs and update symlinks + cd "${D}/usr/lib/llvm/bloomberg-p2996/bin" || die + for file in *; do + if [[ -f "${file}" && -x "${file}" && ! -L "${file}" ]]; then + # Rename regular, executable files + mv "${file}" "bloomberg-p2996-${file}" || die "Failed to rename ${file}" + elif [[ -L "${file}" ]]; then + # Update symlink to point to renamed target + local target + target=$(readlink "${file}") || die "Failed to read symlink ${file}" + ln -sf "bloomberg-p2996-${target}" "bloomberg-p2996-${file}" || die "Failed to update symlink ${file}" + rm "${file}" || die "Failed to remove original symlink ${file}" + fi + done + + local ldpath="${EPREFIX}/usr/lib/llvm/bloomberg-p2996/$(get_libdir)" + newenvd - "60llvm-bloomberg-p2996" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/bloomberg-p2996/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/bloomberg-p2996/bin" + LDPATH="${ldpath}:${ldpath}/${CHOST}" + _EOF_ + + insinto "/etc/clang/bloomberg-p2996" + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-bloomberg-p2996::guru. + # It is used to control the default runtimes using by clang. + + --rtlib=libgcc + --unwindlib=libgcc + --stdlib=libc++ + -fuse-ld=bfd + -L${ldpath}/${CHOST} + EOF + newins - gentoo-plugins.cfg <<-EOF + # This file is used to load optional LLVM plugins. + EOF + + doclang_cfg + + rm -r "${D}/usr/share/man" || die +} + +pkg_postinst() { + elog "Binaries are installed with a 'bloomberg-p2996-' prefix," + elog "e.g.: bloomberg-p2996-clang++" + use default-reflection-latest && \ + elog "Pass -fno-reflection-latest to disable reflection support." || \ + elog "Pass -freflection-latest to enable reflection support." +} diff --git a/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-9999.ebuild b/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-9999.ebuild index edfa2f9645..018f082c63 100644 --- a/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-9999.ebuild +++ b/sys-devel/clang-bloomberg-p2996/clang-bloomberg-p2996-9999.ebuild @@ -3,17 +3,24 @@ EAPI=8 -inherit cmake git-r3 prefix python-utils-r1 +inherit cmake prefix python-utils-r1 DESCRIPTION="Clang fork implementing experimental support for P2996 (Reflection for C++26)" HOMEPAGE="https://github.com/bloomberg/clang-p2996" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD MIT public-domain rc" SLOT="0" -KEYWORDS="" -EGIT_REPO_URI="https://github.com/bloomberg/clang-p2996.git" -EGIT_BRANCH="p2996" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/bloomberg/clang-p2996.git" + EGIT_BRANCH="p2996" +else + GIT_COMMIT="" + SRC_URI="https://github.com/bloomberg/clang-p2996/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/clang-p2996-${GIT_COMMIT}" + KEYWORDS="~amd64" +fi ALL_LLVM_TARGETS="AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai LoongArch M68k MSP430 Mips NVPTX PowerPC RISCV SPIRV Sparc SystemZ VE WebAssembly +X86 XCore Xtensa" IUSE="+debug +default-reflection-latest +pie" @@ -26,8 +33,8 @@ RDEPEND="sys-libs/zlib:0=" DEPEND="${RDEPEND}" PATCHES=( - "${FILESDIR}/unknown-reflection.patch" - "${FILESDIR}/uninitialized.patch" + "${FILESDIR}/21.0.0_p20250702-unknown-reflection.patch" + "${FILESDIR}/21.0.0_p20250702-uninitialized.patch" ) CMAKE_USE_DIR="$S/llvm" @@ -37,7 +44,7 @@ src_prepare() { mkdir -p x/y || die BUILD_DIR=${WORKDIR}/x/y/clang - use default-reflection-latest && eapply "${FILESDIR}/enable-reflection-latest.patch" + use default-reflection-latest && eapply "${FILESDIR}/21.0.0_p20250702-enable-reflection-latest.patch" cmake_src_prepare diff --git a/sys-devel/clang-bloomberg-p2996/files/enable-reflection-latest.patch b/sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-enable-reflection-latest.patch similarity index 100% rename from sys-devel/clang-bloomberg-p2996/files/enable-reflection-latest.patch rename to sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-enable-reflection-latest.patch diff --git a/sys-devel/clang-bloomberg-p2996/files/uninitialized.patch b/sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-uninitialized.patch similarity index 100% rename from sys-devel/clang-bloomberg-p2996/files/uninitialized.patch rename to sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-uninitialized.patch diff --git a/sys-devel/clang-bloomberg-p2996/files/unknown-reflection.patch b/sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-unknown-reflection.patch similarity index 100% rename from sys-devel/clang-bloomberg-p2996/files/unknown-reflection.patch rename to sys-devel/clang-bloomberg-p2996/files/21.0.0_p20250702-unknown-reflection.patch