From b3b92de25c3fc5f6bddc5e513027140591a0b2a5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 23 May 2024 00:06:40 +0100 Subject: gentoo auto-resync : 23:05:2024 - 00:06:39 --- dev-util/Manifest.gz | Bin 65473 -> 65630 bytes dev-util/git-fixup/Manifest | 3 + dev-util/git-fixup/git-fixup-1.6.1.ebuild | 26 ++ dev-util/git-fixup/metadata.xml | 11 + dev-util/intel_clc/Manifest | 6 +- dev-util/intel_clc/intel_clc-24.0.8.ebuild | 86 +++++ dev-util/intel_clc/intel_clc-24.1.0.ebuild | 87 +++++ dev-util/intel_clc/intel_clc-24.1.0_rc4.ebuild | 87 ----- dev-util/kyua/Manifest | 2 +- dev-util/kyua/kyua-0.13-r3.ebuild | 4 +- dev-util/mingw64-runtime/Manifest | 2 +- .../mingw64-runtime/mingw64-runtime-11.0.1.ebuild | 15 +- dev-util/mingw64-toolchain/Manifest | 3 +- .../files/gcc-14.1.0-no-omit-fp-ice.patch | 17 + .../mingw64-toolchain-11.0.1-r1.ebuild | 371 ++++++++++++++++++++ .../mingw64-toolchain-11.0.1.ebuild | 373 --------------------- dev-util/scanmem/Manifest | 2 +- dev-util/scanmem/scanmem-0.17.ebuild | 4 +- 18 files changed, 618 insertions(+), 481 deletions(-) create mode 100644 dev-util/git-fixup/Manifest create mode 100644 dev-util/git-fixup/git-fixup-1.6.1.ebuild create mode 100644 dev-util/git-fixup/metadata.xml create mode 100644 dev-util/intel_clc/intel_clc-24.0.8.ebuild create mode 100644 dev-util/intel_clc/intel_clc-24.1.0.ebuild delete mode 100644 dev-util/intel_clc/intel_clc-24.1.0_rc4.ebuild create mode 100644 dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch create mode 100644 dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild delete mode 100644 dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild (limited to 'dev-util') diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz index 7e5ead63caf3..d9762b1fb6ad 100644 Binary files a/dev-util/Manifest.gz and b/dev-util/Manifest.gz differ diff --git a/dev-util/git-fixup/Manifest b/dev-util/git-fixup/Manifest new file mode 100644 index 000000000000..dc9a8958a8ed --- /dev/null +++ b/dev-util/git-fixup/Manifest @@ -0,0 +1,3 @@ +DIST git-fixup-1.6.1.tar.gz 8571 BLAKE2B 4451f1af753d6bd13a5a9d11f79b313f8a2b00f2f386c89eb14e8d2af6cf9c1f424328912160d2059b173fc9f64271872a816b53de340413ef779ff6bcc21bfc SHA512 502d0a188333420ea2467bfc22bbfeefab595cc951777403baaafaa14b34c138adaee590fdc09ce71faf58d13666f85cdd8495a4039632c73d269565336c381f +EBUILD git-fixup-1.6.1.ebuild 605 BLAKE2B 9828a46a42dbe36bcfec572ef22b7cd6bd0d8322c62b6c64ab2146a50468033898872cbf6184c5a24d72a5746625753b9c24e3a61f02b8f782233c8b22d3ec63 SHA512 b613d6e8bcc1c5a7f3caccea523bbd86d90cf740e228c0bc792f34e4a4667f5f4ffe8bc9df25dc80e5fbaf00af9982251ce4cffbab6f167a82c9dd369f38719b +MISC metadata.xml 326 BLAKE2B b8184691e4b86bd7f22bff9cd90cb79102567cb3ace887cf17a3c54698187beeb691c3c9b44fb1f19fb3f2f740df8ede27cf2332875457fd7aa67c782c7b2963 SHA512 e4c375fac48763872e339566d2cb0cd84857a7cfba6b99902c470a49e775913163e88b11be4c3c9856fd8ea4367b781a22e9db96aadea8a6ec7e91762f4a58c4 diff --git a/dev-util/git-fixup/git-fixup-1.6.1.ebuild b/dev-util/git-fixup/git-fixup-1.6.1.ebuild new file mode 100644 index 000000000000..8ea2e80d5334 --- /dev/null +++ b/dev-util/git-fixup/git-fixup-1.6.1.ebuild @@ -0,0 +1,26 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://github.com/keis/git-fixup" + inherit git-r3 +else + SRC_URI="https://github.com/keis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Fighting the copy-paste element of your rebase workflow" +HOMEPAGE="https://github.com/keis/git-fixup" + +LICENSE="ISC" +SLOT="0" + +RDEPEND="! + + + + mattst88@gentoo.org + Matt Turner + + + keis/git-fixup + + diff --git a/dev-util/intel_clc/Manifest b/dev-util/intel_clc/Manifest index 432169e4a873..1e3db4a17b85 100644 --- a/dev-util/intel_clc/Manifest +++ b/dev-util/intel_clc/Manifest @@ -1,6 +1,8 @@ DIST mesa-24.0.7.tar.xz 20144724 BLAKE2B d9438e533b471445b2403e01e1fd593d83c0013b0991585f718122f1cadc6ac6bb1fb913f0fb257354ae21ddd9fe1f970ad9ac46f05d756c223ed56a11b9c9ce SHA512 77b0fae80ab0a07e2e528c113eadef0e3004b8df3e6e98fffe6fc2d8ac39f5ce7fa38ebe5c2ae32bfbac993dd7cbe288ace18ebb03cf2fb445fe7114f74dd45c -DIST mesa-24.1.0-rc4.tar.xz 28911444 BLAKE2B 66c09358acc3fa27ff74ae71a999777b93d28b0cc0f34f43c36710994b73fdc6f922977ab6062a6b46c34a29a5276896ff2e6393fa12af1312ae5cba1b1deaa3 SHA512 8c31ea253543b1f8d1329eef9e20243ca7d6eb8c9645960bc53314de85ea8e3255d72816faa94935ba92e4802351c9a29e221d7e72048681de0a490bf4c52119 +DIST mesa-24.0.8.tar.xz 20170168 BLAKE2B 1919e99e6ccbd51c8e74e55985ea9a3f47bf49c7e4260a195a609ce175eeded9fc5a56970ae35d21bc650e4bb802df484d2088b29ef3861d13942bd495891a9a SHA512 1e1be9b50c2a404a96960db87d2ba4cd1c602445f9ab8acfb6a8a023410063620c2ef891fe516afec3d830756e0b0f4309ef50c6caeefa44e164b414c4708b10 +DIST mesa-24.1.0.tar.xz 28994008 BLAKE2B 1558d20d426162bfe8cccf96107ddbf1373c8322f87f48daec73e23b283e00f95d6efd073cad9b92065928af4b9b4a339ff2d204412070eca903f77ca366e619 SHA512 4b7ed1940fc812ef4efb55978d3ffe3d0e2ae53d5b57a3baca10a52db2ba5852c5ee7e75c3739bd8d384c80bf1cba970a384250050f01f03bba98f255e12cec5 EBUILD intel_clc-24.0.7.ebuild 1741 BLAKE2B b4fc7184409bedcfec1cd559149b7d57b9a5bd708cc4aea847c47573cd194804e3435a15120914fadc4bd5f9172e946d93a9164a875809feae2cc7589a36f74e SHA512 d9825be298668fb6bc933ff6131c5a2d18b76bbcb9b6ca2176512d7a4273cf42f5fe00097478a4cd3e9c678fa53c8a95f83115c4f569ac37eebe940749ba340e -EBUILD intel_clc-24.1.0_rc4.ebuild 1745 BLAKE2B d4fdcb7b30f9df2f4d248452ea4377bd0615c6fc9e4ac70c7e579500c54e271dcd4754dcee09efbac50ca24b13a17122aee7b5aa65ed2db531ff1def231a0323 SHA512 2800777540b7b3718cbb9c137be4995f017453a5b9814d2225949692b7be9e6d28aa5253324e3b72251acd6fb0731294031d85a035b1257c3f183aeb8110e855 +EBUILD intel_clc-24.0.8.ebuild 1742 BLAKE2B d1e9907d5bf31fad49b648899ef86805c2b6fafe656e934179f9db17cdfa9a9d9a8a94ad57c6556a4f0d02b207ea32a57db8f1dfe6c5f0f1416637dcc5064644 SHA512 f1b41578a6297a7fa7bc48c16dc8fafce59bf9b58a9131168c9d9369092b5332f31e469388b35c98b799f694e43e868eec96b23ea6b9a4f745c4546c8ffc459b +EBUILD intel_clc-24.1.0.ebuild 1745 BLAKE2B d4fdcb7b30f9df2f4d248452ea4377bd0615c6fc9e4ac70c7e579500c54e271dcd4754dcee09efbac50ca24b13a17122aee7b5aa65ed2db531ff1def231a0323 SHA512 2800777540b7b3718cbb9c137be4995f017453a5b9814d2225949692b7be9e6d28aa5253324e3b72251acd6fb0731294031d85a035b1257c3f183aeb8110e855 EBUILD intel_clc-9999.ebuild 1745 BLAKE2B d4fdcb7b30f9df2f4d248452ea4377bd0615c6fc9e4ac70c7e579500c54e271dcd4754dcee09efbac50ca24b13a17122aee7b5aa65ed2db531ff1def231a0323 SHA512 2800777540b7b3718cbb9c137be4995f017453a5b9814d2225949692b7be9e6d28aa5253324e3b72251acd6fb0731294031d85a035b1257c3f183aeb8110e855 MISC metadata.xml 388 BLAKE2B 0558cfe706987a93605fb383bc2c30ff4f4cf5837ca19afd3e16d9702ea7dcd3d575579d53aacb531e1d421c8b1692eb4607d713793a89240223c031d7781a31 SHA512 e0375912a94fa92b49ed78d9a88c4eacc8b441d8b2fa117a48df2d8a958f1cf91279299aca109e24f76b27ca04f0067f83e5b8e4141f85ac64d379bca0945d2a diff --git a/dev-util/intel_clc/intel_clc-24.0.8.ebuild b/dev-util/intel_clc/intel_clc-24.0.8.ebuild new file mode 100644 index 000000000000..8bc3bb53f6ba --- /dev/null +++ b/dev-util/intel_clc/intel_clc-24.0.8.ebuild @@ -0,0 +1,86 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 16 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/intel_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64" +fi + +LICENSE="MIT SGI-B-2.0" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-libs/libclc + dev-util/spirv-tools + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND} + dev-libs/expat +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dintel-clc=enabled + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Dbuildtype=$(usex debug debug plain) + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc +} diff --git a/dev-util/intel_clc/intel_clc-24.1.0.ebuild b/dev-util/intel_clc/intel_clc-24.1.0.ebuild new file mode 100644 index 000000000000..f47259e8747d --- /dev/null +++ b/dev-util/intel_clc/intel_clc-24.1.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 16 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/intel_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT SGI-B-2.0" +SLOT="0" +IUSE="debug" + +RDEPEND=" + dev-libs/libclc + dev-util/spirv-tools + >=sys-libs/zlib-1.2.8:= + x11-libs/libdrm + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND} + dev-libs/expat +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + virtual/pkgconfig +" + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dintel-clc=enabled + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc +} diff --git a/dev-util/intel_clc/intel_clc-24.1.0_rc4.ebuild b/dev-util/intel_clc/intel_clc-24.1.0_rc4.ebuild deleted file mode 100644 index f47259e8747d..000000000000 --- a/dev-util/intel_clc/intel_clc-24.1.0_rc4.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 16 17 ) -PYTHON_COMPAT=( python3_{10..12} ) - -inherit llvm-r1 meson python-any-r1 - -MY_PV="${PV/_/-}" - -DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" -HOMEPAGE="https://mesa3d.org/" - -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}/intel_clc-${MY_PV}" - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - S="${WORKDIR}/mesa-${MY_PV}" - SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -IUSE="debug" - -RDEPEND=" - dev-libs/libclc - dev-util/spirv-tools - >=sys-libs/zlib-1.2.8:= - x11-libs/libdrm - $(llvm_gen_dep ' - dev-util/spirv-llvm-translator:${LLVM_SLOT} - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') -" -DEPEND="${RDEPEND} - dev-libs/expat -" -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - virtual/pkgconfig -" - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_configure() { - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - - use debug && EMESON_BUILDTYPE=debug - - local emesonargs=( - -Dllvm=enabled - -Dshared-llvm=enabled - -Dintel-clc=enabled - - -Dgallium-drivers='' - -Dvulkan-drivers='' - - # Set platforms empty to avoid the default "auto" setting. If - # platforms is empty meson.build will add surfaceless. - -Dplatforms='' - - -Dglx=disabled - -Dlibunwind=disabled - -Dzstd=disabled - - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -src_install() { - dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc -} diff --git a/dev-util/kyua/Manifest b/dev-util/kyua/Manifest index b662ad2d1ee2..faf04ecd235a 100644 --- a/dev-util/kyua/Manifest +++ b/dev-util/kyua/Manifest @@ -1,4 +1,4 @@ DIST kyua-0.13.tar.gz 663776 BLAKE2B 5bb6b2a7723567395baeace0b70085a631856ac98ddb304bb5300f26bc89a1a1add589486cd08f1569ca9c7534fd5071a62cdcbb519a10d59221df63c0aef932 SHA512 80ecf4fd888d4759122f3c1d1d5b06a19135e06f7bca1ef8458c7a5e78c1b6baff54969c863c93f11c40611ca256fc0334402531397b16788fb3ec701dd278ae EBUILD kyua-0.13-r2.ebuild 655 BLAKE2B 1877dd71cbe35cb0647f4813e6a251bd9f614f923e5cbfac83948c82463d93d30d85e87b86e1070050f75cd5aaa8e0bf638e0eff3b2bb1225ae60c57e4dbccd4 SHA512 1fded5caa615ff11c415b355c23961ff9e4dbc6025b6db60b0fa4fdbf903415b3fbf840d0f1e407848ebef420239fd8b89ade9d418c0aea5959ecfcfba24202b -EBUILD kyua-0.13-r3.ebuild 801 BLAKE2B 6982cc8b70992b740e9beef9e4d978582d07e512f93730a77d6d4d2321811c69e0bedaeb13c34b36d0494dc38606705d91bffcc3fa3130cd345ebbbf42f76f24 SHA512 797b117e7e85682886cf78928e15f75916df34138be0f67a0cc632afc198d7023fc3d5531430c4240b36fcbbbf78161fe1fb875ada64ff8bb7c65fc2d25dd5c5 +EBUILD kyua-0.13-r3.ebuild 798 BLAKE2B 83eda7773175e138ccb3a6a3554bbd47578ceff1f5a7abc3c7e119d5177ad604a678d727d95bf91e33467fc34a084ee8e1eb51d3ab6fafeb5b25b1cd9f499df5 SHA512 0a9f4d215c3163fbd089063c5f75f9e5a71ac2f51541d5bc2e7f81dd5a26e428c8e8309d03810ed25fb3fe62b05788251f9a3a6333e1baefd5f408cf460f195d MISC metadata.xml 321 BLAKE2B 0fd4703df1ae5e167bc3db67837bffa244560add52630c872c27c33150bc6780ee1c51db982a25323728dca8e789264e0bb3cf1734c5c3186ea93b766e672177 SHA512 77837e1a401b4eabe4ac0c82794739932e0d079556f4227e6b7e9edf70f0ef9d84280aeaaefa7723445bfdf57ebedca92479c7d92bd2a91d22cddab47e9da92d diff --git a/dev-util/kyua/kyua-0.13-r3.ebuild b/dev-util/kyua/kyua-0.13-r3.ebuild index 7b57855bf2c9..cc827541fe26 100644 --- a/dev-util/kyua/kyua-0.13-r3.ebuild +++ b/dev-util/kyua/kyua-0.13-r3.ebuild @@ -13,9 +13,7 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" IUSE="test" - -# Tests fail -RESTRICT="test" +RESTRICT="!test? ( test )" RDEPEND=" dev-db/sqlite:3 diff --git a/dev-util/mingw64-runtime/Manifest b/dev-util/mingw64-runtime/Manifest index bac21483d2ee..a83ed1d73332 100644 --- a/dev-util/mingw64-runtime/Manifest +++ b/dev-util/mingw64-runtime/Manifest @@ -1,3 +1,3 @@ DIST mingw-w64-v11.0.1.tar.bz2 10057401 BLAKE2B 3222eed35522bf95a571b11dc52ea23153068b32497676dbb2837306ba52a78e6d1c9c44a4d64d314e64583b54f6fe86dcff3e467e101acf71cebb7d2a963963 SHA512 568702100bbbb11f7f9c9596dd70df3fb2577492459cf55da38691af1504b91127cb5f3eff268850dcbaa461fdc72e4e2379f7a576fd4a0e537ee1fe42531c01 -EBUILD mingw64-runtime-11.0.1.ebuild 4778 BLAKE2B a6d839c6aefec1e96afa94beb0455b3312bc89ddb39dc6e6ff28744ce9c79fb9d388905978c2fbd521356859115ee520801cebf97f1d13628c49c7f427a7f444 SHA512 84e990ff4932127c27fcc680565728d2798e61d129c6990c6ec87dee117f2be3326ba5d741aa097d58cc03535368fd5ef9898ca77f83c47453d05493e9bdce8a +EBUILD mingw64-runtime-11.0.1.ebuild 4662 BLAKE2B 35460f47ab5dd4258518e51e2f0d75b628b23dddb30d50468b20acd8cff0a78265173b6d1163471a30ddb9b48dab3034f4e46c07ee6fbc08354b3daf74c2f3a3 SHA512 f6a2df205d562c946fdb2c86828303e7365f0d31edf26926481cad0b5c1d47599a5a2fbafbd3ea91e341356d02a69eb8f1cf55ec52789ac1d97bcd8521a00f75 MISC metadata.xml 904 BLAKE2B b7b42242ff7a39ba87ec4889295bb1229122bd20f34c163499423d989120569d5b6c69ed9490f328aa1af8a9dd3ff2ec0f07b85910e7d2eb401f40dbd670d366 SHA512 80bb5c58cf80d7233599e772a1e615ec4b4f16bd9387539a684d11e0b7196e7a3d21f1b56d18271b9a4b0544253e3fec4130ff70702ba4cf5684941ff8d49a51 diff --git a/dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild b/dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild index f2723d866456..15f76259b1af 100644 --- a/dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild +++ b/dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild @@ -65,16 +65,11 @@ src_configure() { # (primarily done for 23.0 profiles' -z, not full coverage) filter-flags '-Wl,-z,*' - if tc-is-gcc; then - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-flags -mno-avx - - # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319) - append-flags -fomit-frame-pointer - fi + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + tc-is-gcc && append-flags -mno-avx strip-unsupported-flags diff --git a/dev-util/mingw64-toolchain/Manifest b/dev-util/mingw64-toolchain/Manifest index 7c87fabe3a6a..65ce8e002e78 100644 --- a/dev-util/mingw64-toolchain/Manifest +++ b/dev-util/mingw64-toolchain/Manifest @@ -1,5 +1,6 @@ AUX gcc-12.2.0-drop-cflags-sed.patch 1077 BLAKE2B 4e0ff834cbfd4597c67d9adf2e287f2e40b746a6a6b31c52b95ab4b20292aad1931a1f64ffabd2bef611af85b643718e5a4a280d1e3b54e0a9f73b086d0dc39e SHA512 35647183fdf82bc179d94504d22a5e00a955121e888b5419a0033b7723a7e385c196096c64bf9ed59ad2c72188cb4792049ce423b226bfeb40ed379c355b91b8 AUX gcc-13.2.0-libcxx-17.patch 1158 BLAKE2B c6ea274e12b06ee9c806b6790cdaffc3bafeb555ba4487f1903a129af4329e1c80e23cfe69924acb7fbf2c0ab3f3acbad49f17436da2c8a0e364388ce8589ffa SHA512 d87824ed42aa797265cb41b93a86d01bb373730156e5f98109a6c9f7519da7c39f9c97b14bd47e0f90febd505bb029e3356a04b8911fbd6b590be06cea1aee10 +AUX gcc-14.1.0-no-omit-fp-ice.patch 595 BLAKE2B 543c4c4288f305f68eeba1df0d8e11b1539fbd063f0f9feac8f1731de50950f6b454ed90aecfe2efa854b1de3dda994ce1c31bdd443dd6f2d09f033775fe57a7 SHA512 30e48a0bf4fe5c40f2296307f2f16a80a42153fe2fc9a11516cab468cf3d9bccae7b66b8081837cc6f4b119fb3aeff36bc955ea6d24e2fe4f8e70180ce1a088a DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 @@ -7,5 +8,5 @@ DIST gcc-14.1.0.tar.xz 92265736 BLAKE2B 7efd6574b8bca081de6e31480ec0565c6d7fb773 DIST mingw-w64-v11.0.0.tar.bz2 10058657 BLAKE2B 3f7637bcc7c3f25b2141d35105ea086eab74e228d7275725ffb4f07e283fd75169dbe0900a9c29494fba9ddb2ea03bdd6ae26f06048311e9c93ae3e317c4c060 SHA512 bc1c9fd9d8593ead9375fcbe40950f06cf7616b94dc676db2793ac9b496fe3a6cc94b5793effda3b752942be0d7d01a1c37a8f221aaf178df0d4eeb0aa6d1f8d DIST mingw-w64-v11.0.1.tar.bz2 10057401 BLAKE2B 3222eed35522bf95a571b11dc52ea23153068b32497676dbb2837306ba52a78e6d1c9c44a4d64d314e64583b54f6fe86dcff3e467e101acf71cebb7d2a963963 SHA512 568702100bbbb11f7f9c9596dd70df3fb2577492459cf55da38691af1504b91127cb5f3eff268850dcbaa461fdc72e4e2379f7a576fd4a0e537ee1fe42531c01 EBUILD mingw64-toolchain-11.0.0_p2.ebuild 10880 BLAKE2B b5f3771c437e07243a53c097a0d032ae480879c52884459613b9c8e36e021c1156c54470a8312437cdcc5e7c4555968abecdaea7ca00b8616af51fed2e71ae52 SHA512 93fe213774132ea102b69b97926e2f3848fd362f7884ea632d9026e60b5cb0fbb6c3669d8a43234f6d3e748e7316be5141a93c1ad5520782a9b2eec426224193 -EBUILD mingw64-toolchain-11.0.1.ebuild 11595 BLAKE2B 1472eae8825ca5b475400e60404cbc2356d89a67525118b72c7f4d5e5d74f730b26459747c1309996d4613fd88a62fb1641618b79ce7be9e06eb20bb4622dc9e SHA512 77e707bd63e4f424f7f368e983a5baa1ca3b3dfb1ac4bde3cdc7d7da802c6fe4c753000e083afdcb42a137b2c8258fe935bd07d49bb6523c3edc5684ff6db7dd +EBUILD mingw64-toolchain-11.0.1-r1.ebuild 11538 BLAKE2B b08f6d1f0bcb401a4e9df38f1747acecf1faf04e76229023c6cc1a4785277f9d8b430877adb60f63c6a8a2ed2fbc0649122afff8f5c91cc73208e3b588d28195 SHA512 db5c662ef8205437cdc3197b4fdc2cdbedcb4b284c516aa4607677cb1fc2a790e5520b0cfcfd0e5c626556c96167947676363314fa66c352f9ff36af6f80c934 MISC metadata.xml 639 BLAKE2B 40e8fb879c8f26b7ba49bf453f242fbfd2a7950a0ec07f41945172a97ae77bdcf3ddfda741c6cf9f436efc42e9f5e72ccef67b408f62ea41335383eab76761f9 SHA512 280133ff26c17f4195635d3ab124a60d73bec1a2d841c91d89821dab18058381d30c4661f621c586ba4af31955cd902f1ef042301e04ff056ce20d0c45b7c4eb diff --git a/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch b/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch new file mode 100644 index 000000000000..a8e4c798ef17 --- /dev/null +++ b/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch @@ -0,0 +1,17 @@ +Fix ICE w/ mingw[1][2][3] when using -fno-omit-frame-pointer. + +Patch is from the proposed fix in [4]. + +[1] https://bugs.gentoo.org/932319 +[2] https://github.com/msys2/MINGW-packages/issues/20861 +[3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038 +[4] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038#c4 +--- a/gcc/gcc/fold-mem-offsets.cc ++++ b/gcc/gcc/fold-mem-offsets.cc +@@ -492,5 +492,5 @@ + rtx_insn *def = get_single_def_in_bb (insn, reg); + +- if (!def || GET_CODE (PATTERN (def)) != SET) ++ if (!def || RTX_FRAME_RELATED_P (def) || GET_CODE (PATTERN (def)) != SET) + return 0; + diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild new file mode 100644 index 000000000000..547dc68de3e9 --- /dev/null +++ b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild @@ -0,0 +1,371 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MULTILIB_COMPAT=( abi_x86_{32,64} ) +inherit edo flag-o-matic multilib-build toolchain-funcs + +# Pick versions known to work for wine+dxvk, and avoid too frequent updates +# due to slow rebuilds. Do _p1++ rather than revbump on changes (not using +# Gentoo patchsets for simplicity, their changes are mostly unneeded here). +BINUTILS_PV=2.42 +GCC_PV=14.1.0 +MINGW_PV=$(ver_cut 1-3) + +DESCRIPTION="All-in-one mingw64 toolchain intended for building Wine without crossdev" +HOMEPAGE=" + https://www.mingw-w64.org/ + https://gcc.gnu.org/ + https://sourceware.org/binutils/ +" +SRC_URI=" + https://downloads.sourceforge.net/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${MINGW_PV}.tar.bz2 + mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.xz +" +if [[ ${GCC_PV} == *-* ]]; then + SRC_URI+=" mirror://gcc/snapshots/${GCC_PV}/gcc-${GCC_PV}.tar.xz" +else + SRC_URI+=" + mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz + mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz + " +fi +S="${WORKDIR}" + +# l1:binutils+gcc, l2:gcc(libraries), l3:mingw64-runtime +LICENSE=" + GPL-3+ + LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) + ZPL BSD BSD-2 ISC LGPL-2+ LGPL-2.1+ MIT public-domain +" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+abi_x86_32 bin-symlinks custom-cflags +strip" + +RDEPEND=" + dev-libs/gmp:= + dev-libs/mpc:= + dev-libs/mpfr:= + sys-libs/zlib:= + virtual/libiconv + bin-symlinks? ( + abi_x86_64? ( + !cross-x86_64-w64-mingw32/binutils + !cross-x86_64-w64-mingw32/gcc + ) + abi_x86_32? ( + !cross-i686-w64-mingw32/binutils + !cross-i686-w64-mingw32/gcc + ) + ) +" +DEPEND="${RDEPEND}" + +QA_CONFIG_IMPL_DECL_SKIP=( + strerror_r # libstdc++ test using -Wimplicit+error +) + +PATCHES=( + "${FILESDIR}"/gcc-12.2.0-drop-cflags-sed.patch + "${FILESDIR}"/gcc-14.1.0-no-omit-fp-ice.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} == binary ]] && return + + tc-is-cross-compiler && + die "cross-compilation of the toolchain itself is unsupported" +} + +src_prepare() { + # rename directories to simplify both patching and the ebuild + mv binutils{-${BINUTILS_PV},} || die + mv gcc{-${GCC_PV},} || die + mv mingw-w64-v${MINGW_PV} mingw64 || die + + default +} + +src_compile() { + # not great but do everything in src_compile given bootstrapping + # process needs to be done in steps of configure+compile+install + # (done modular to have most package-specific things in one place) + + CTARGET=$(usex x86 i686 x86_64)-w64-mingw32 + + MWT_D=${T}/root # moved to ${D} in src_install + local mwtdir=/usr/lib/${PN} + local prefix=${EPREFIX}${mwtdir} + local sysroot=${MWT_D}${prefix} + local -x PATH=${sysroot}/bin:${PATH} + + filter-lto # requires setting up, and may be messy with mingw static libs + use custom-cflags || strip-flags # fancy flags are not realistic here + + local multilib=false + use abi_x86_32 && use abi_x86_64 && multilib=true + + # global configure flags + local conf=( + --build=${CBUILD:-${CHOST}} + --target=${CTARGET} + --{doc,info,man}dir=/.skip # let the real binutils+gcc handle docs + MAKEINFO=: #922230 + ) + + # binutils + local conf_binutils=( + --prefix="${prefix}" + --host=${CHOST} + --disable-cet + --disable-default-execstack + --disable-nls + --disable-shared + --with-system-zlib + --without-debuginfod + --without-msgpack + --without-zstd + ) + mwt-binutils() { + # symlink gcc's lto plugin for AR (bug #854516) + ln -s ../../libexec/gcc/${CTARGET}/${GCC_PV%%[.-]*}/liblto_plugin.so \ + "${sysroot}"/lib/bfd-plugins || die + } + + # gcc (minimal -- if need more, disable only in stage1 / enable in stage3) + local conf_gcc=( + --prefix="${prefix}" + --host=${CHOST} + --disable-bootstrap + --disable-cet + --disable-gcov #843989 + --disable-gomp + --disable-libquadmath + --disable-libsanitizer + --disable-libssp + --disable-libvtv + --disable-shared + --disable-werror + --with-gcc-major-version-only + --with-system-zlib + --without-isl + --without-zstd + ) + ${multilib} || conf_gcc+=( --disable-multilib ) + # libstdc++ may misdetect sys/sdt.h on systemtap-enabled system and fail + # (not passed in conf_gcc above given it is lost in sub-configure calls) + local -x glibcxx_cv_sys_sdt_h=no + + local conf_gcc_stage1=( + --enable-languages=c + --disable-libatomic + --with-sysroot="${sysroot}" + ) + local -n conf_gcc_stage2=conf_gcc_stage1 + + local conf_gcc_stage3=( + --enable-languages=c,c++ + --enable-threads=posix # needs stage3, and is required for dxvk/vkd3d + --with-sysroot="${prefix}" + --with-build-sysroot="${sysroot}" + ) + + # mingw64-runtime (split in several parts, 3 needed for gcc stages) + local conf_mingw64=( + --prefix="${prefix}"/${CTARGET} + --host=${CTARGET} + --with-sysroot=no + --without-{crt,headers} + + # mingw .dll aren't used by wine and packages wouldn't find them + # at runtime, use crossdev if need dll and proper search paths + --disable-shared + ) + + local conf_mingw64_headers=( + --enable-idl + --with-headers + ) + mwt-mingw64_headers() { ln -s ${CTARGET} "${sysroot}"/mingw || die; } #419601 + + local conf_mingw64_runtime=( --with-crt ) + ${multilib} || + conf_mingw64_runtime+=( $(usex x86 --disable-lib64 --disable-lib32 ) ) + + local conf_mingw64_libraries=( --with-libraries ) + local conf_mingw64_libraries32=( + --libdir="${prefix}"/${CTARGET}/lib32 + --with-libraries + CC="${CTARGET}-gcc -m32" + RCFLAGS="--target=pe-i386 ${RCFLAGS}" + ) + + # mingw64-runtime's idl compiler (useful not to depend on wine for widl) + local conf_widl=( --prefix="${prefix}" ) + + # mwt-build [-x] [stage-name] + # -> ./configure && make && make install && mwt-package() && mwt-package_stage() + # passes conf, conf_package, and conf_package_stage arrays to configure, and + # users can add options through environment with e.g. + # MWT_BINUTILS_CONF="--some-option" + # MWT_GCC_STAGE1_CONF="--some-gcc-stage1-only-option" + # MWT_WIDL_CONF="--some-other-option" + # EXTRA_ECONF="--global-option" (generic naming for if not reading this) + mwt-build() { + if [[ ${1} == -x ]]; then + ( + # cross-compiling, cleanup and let ./configure handle it + unset AR AS CC CPP CXX DLLTOOL LD NM OBJCOPY OBJDUMP RANLIB RC STRIP + CHOST=${CTARGET} + filter-flags '-fuse-ld=*' + filter-flags '-mfunction-return=thunk*' #878849 + + # support for stack-protector is still new and experimental + # for mingw and issues can also be harder to debug + fix for + # upstreams using it, if feeling concerned about security + # would advise to either not use wine or at least contain it + use custom-cflags || filter-flags '-fstack-protector*' #931512 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + append-flags -mno-avx + + strip-unsupported-flags + mwt-build "${@:2}" + ) + return + fi + + local id=${1##*/} + local build_dir=${WORKDIR}/${1}${2+_${2}}-build + + # econf is not allowed in src_compile and its defaults are + # mostly unused here, so use configure directly + local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) + + local -n conf_id=conf_${id} conf_id2=conf_${id}_${2} + [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" ) + [[ ${2} && ${conf_id2@a} == *a* ]] && conf+=( "${conf_id2[@]}" ) + + local -n extra_id=MWT_${id^^}_CONF extra_id2=MWT_${id^^}_${2^^}_CONF + conf+=( ${EXTRA_ECONF} ${extra_id} ${2+${extra_id2}} ) + + einfo "Building ${id}${2+ ${2}} in ${build_dir} ..." + + mkdir -p "${build_dir}" || die + pushd "${build_dir}" >/dev/null || die + + edo "${conf[@]}" + emake MAKEINFO=: V=1 + # -j1 to match bug #906155, other packages may be fragile too + emake -j1 MAKEINFO=: V=1 DESTDIR="${MWT_D}" install + + declare -f mwt-${id} >/dev/null && edo mwt-${id} + declare -f mwt-${id}_${2} >/dev/null && edo mwt-${id}_${2} + + popd >/dev/null || die + } + + # workaround race condition with out-of-source crt build (bug #879537) + mkdir -p mingw64_runtime-build/mingw-w64-crt/lib{32,64} || die + + # build with same ordering that crossdev would do + stage3 for pthreads + mwt-build binutils + mwt-build mingw64 headers + mwt-build gcc stage1 + mwt-build -x mingw64 runtime + mwt-build gcc stage2 + ${multilib} && mwt-build -x mingw64 libraries32 + mwt-build -x mingw64 libraries + mwt-build gcc stage3 + mwt-build mingw64/mingw-w64-tools/widl + # note: /could/ system-bootstrap if already installed, but gcc and + # libraries will use the system's older mingw64 headers/static-libs + # and make this potentially fragile without more workarounds/stages + + if ${multilib}; then + # Like system's gcc, `x86_64-w64-mingw32-gcc -m32` can build for x86, + # but packages expect crossdev's i686-w64-mingw32-gcc which is the same + # just without 64bit support and would rather not build the toolchain + # twice. Dirty but wrap to allow simple interoperability with crossdev. + mwt-i686_wrapper() { + printf "#!/usr/bin/env sh\nexec \"${prefix}/bin/${bin}\" ${*} "'"${@}"\n' \ + > ${bin32} || die + chmod +x ${bin32} || die + } + pushd "${sysroot}"/bin >/dev/null || die + local bin bin32 + for bin in ${CTARGET}-*; do + bin32=${bin/x86_64-w64/i686-w64} + case ${bin#${CTARGET}-} in + as) mwt-i686_wrapper --32;; + cpp|gcc|gcc-${GCC_PV%%[.-]*}|g++|widl) mwt-i686_wrapper -m32;; + ld|ld.bfd) mwt-i686_wrapper -m i386pe;; + windres) mwt-i686_wrapper --target=pe-i386;; + *) ln -s ${bin} ${bin32} || die;; + esac + done + popd >/dev/null || die + fi + + if use bin-symlinks; then + mkdir -p -- "${MWT_D}${EPREFIX}"/usr/bin/ || die + local bin + for bin in "${sysroot}"/bin/*; do + ln -rs -- "${bin}" "${MWT_D}${EPREFIX}"/usr/bin/ || die + done + fi + + # portage doesn't know the right strip executable to use for CTARGET + # and it can lead to .a mangling, notably with 32bit (breaks toolchain) + dostrip -x ${mwtdir}/{${CTARGET}/lib{,32},lib/gcc/${CTARGET}} + + # ... and instead do it here given this saves ~60MB + if use strip; then + einfo "Stripping ${CTARGET} static libraries ..." + find "${sysroot}"/{,lib/gcc/}${CTARGET} -type f -name '*.a' \ + -exec ${CTARGET}-strip --strip-unneeded {} + || die + fi +} + +src_install() { + mv -- "${MWT_D}${EPREFIX}"/* "${ED}" || die + + find "${ED}" -type f -name '*.la' -delete || die +} + +pkg_postinst() { + use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && + eselect compiler-shadow update all + + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog "Note that this package is primarily intended for Wine and related" + elog "packages to depend on without needing a manual crossdev setup." + elog + elog "Settings are oriented only for what these need and simplicity." + elog "Use sys-devel/crossdev if need full toolchain/customization:" + elog " https://wiki.gentoo.org/wiki/Mingw" + elog " https://wiki.gentoo.org/wiki/Crossdev" + fi + + local cross_gcc=cross-$(usex x86 i686 x86_64)-w64-mingw32/gcc + if has_version ${cross_gcc}; then + # encourage cleanup given users may not realize if switch by default + ewarn "${cross_gcc} is installed, note that ${PN}" + ewarn "is redundant with the *-w64-mingw32/{binutils,gcc,mingw64-runtime}" + ewarn "packages and optionally only one needs to be kept." + fi +} + +pkg_postrm() { + use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && + eselect compiler-shadow clean all +} diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild deleted file mode 100644 index adae7ba4e0d5..000000000000 --- a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild +++ /dev/null @@ -1,373 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit edo flag-o-matic multilib-build toolchain-funcs - -# Pick versions known to work for wine+dxvk, and avoid too frequent updates -# due to slow rebuilds. Do _p1++ rather than revbump on changes (not using -# Gentoo patchsets for simplicity, their changes are mostly unneeded here). -BINUTILS_PV=2.42 -GCC_PV=14.1.0 -MINGW_PV=$(ver_cut 1-3) - -DESCRIPTION="All-in-one mingw64 toolchain intended for building Wine without crossdev" -HOMEPAGE=" - https://www.mingw-w64.org/ - https://gcc.gnu.org/ - https://sourceware.org/binutils/ -" -SRC_URI=" - https://downloads.sourceforge.net/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${MINGW_PV}.tar.bz2 - mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.xz -" -if [[ ${GCC_PV} == *-* ]]; then - SRC_URI+=" mirror://gcc/snapshots/${GCC_PV}/gcc-${GCC_PV}.tar.xz" -else - SRC_URI+=" - mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz - mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz - " -fi -S="${WORKDIR}" - -# l1:binutils+gcc, l2:gcc(libraries), l3:mingw64-runtime -LICENSE=" - GPL-3+ - LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) - ZPL BSD BSD-2 ISC LGPL-2+ LGPL-2.1+ MIT public-domain -" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+abi_x86_32 bin-symlinks custom-cflags +strip" - -RDEPEND=" - dev-libs/gmp:= - dev-libs/mpc:= - dev-libs/mpfr:= - sys-libs/zlib:= - virtual/libiconv - bin-symlinks? ( - abi_x86_64? ( - !cross-x86_64-w64-mingw32/binutils - !cross-x86_64-w64-mingw32/gcc - ) - abi_x86_32? ( - !cross-i686-w64-mingw32/binutils - !cross-i686-w64-mingw32/gcc - ) - ) -" -DEPEND="${RDEPEND}" - -QA_CONFIG_IMPL_DECL_SKIP=( - strerror_r # libstdc++ test using -Wimplicit+error -) - -PATCHES=( - "${FILESDIR}"/gcc-12.2.0-drop-cflags-sed.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} == binary ]] && return - - tc-is-cross-compiler && - die "cross-compilation of the toolchain itself is unsupported" -} - -src_prepare() { - # rename directories to simplify both patching and the ebuild - mv binutils{-${BINUTILS_PV},} || die - mv gcc{-${GCC_PV},} || die - mv mingw-w64-v${MINGW_PV} mingw64 || die - - default -} - -src_compile() { - # not great but do everything in src_compile given bootstrapping - # process needs to be done in steps of configure+compile+install - # (done modular to have most package-specific things in one place) - - CTARGET=$(usex x86 i686 x86_64)-w64-mingw32 - - MWT_D=${T}/root # moved to ${D} in src_install - local mwtdir=/usr/lib/${PN} - local prefix=${EPREFIX}${mwtdir} - local sysroot=${MWT_D}${prefix} - local -x PATH=${sysroot}/bin:${PATH} - - filter-lto # requires setting up, and may be messy with mingw static libs - use custom-cflags || strip-flags # fancy flags are not realistic here - - local multilib=false - use abi_x86_32 && use abi_x86_64 && multilib=true - - # global configure flags - local conf=( - --build=${CBUILD:-${CHOST}} - --target=${CTARGET} - --{doc,info,man}dir=/.skip # let the real binutils+gcc handle docs - MAKEINFO=: #922230 - ) - - # binutils - local conf_binutils=( - --prefix="${prefix}" - --host=${CHOST} - --disable-cet - --disable-default-execstack - --disable-nls - --disable-shared - --with-system-zlib - --without-debuginfod - --without-msgpack - --without-zstd - ) - mwt-binutils() { - # symlink gcc's lto plugin for AR (bug #854516) - ln -s ../../libexec/gcc/${CTARGET}/${GCC_PV%%[.-]*}/liblto_plugin.so \ - "${sysroot}"/lib/bfd-plugins || die - } - - # gcc (minimal -- if need more, disable only in stage1 / enable in stage3) - local conf_gcc=( - --prefix="${prefix}" - --host=${CHOST} - --disable-bootstrap - --disable-cet - --disable-gcov #843989 - --disable-gomp - --disable-libquadmath - --disable-libsanitizer - --disable-libssp - --disable-libvtv - --disable-shared - --disable-werror - --with-gcc-major-version-only - --with-system-zlib - --without-isl - --without-zstd - ) - ${multilib} || conf_gcc+=( --disable-multilib ) - # libstdc++ may misdetect sys/sdt.h on systemtap-enabled system and fail - # (not passed in conf_gcc above given it is lost in sub-configure calls) - local -x glibcxx_cv_sys_sdt_h=no - - local conf_gcc_stage1=( - --enable-languages=c - --disable-libatomic - --with-sysroot="${sysroot}" - ) - local -n conf_gcc_stage2=conf_gcc_stage1 - - local conf_gcc_stage3=( - --enable-languages=c,c++ - --enable-threads=posix # needs stage3, and is required for dxvk/vkd3d - --with-sysroot="${prefix}" - --with-build-sysroot="${sysroot}" - ) - - # mingw64-runtime (split in several parts, 3 needed for gcc stages) - local conf_mingw64=( - --prefix="${prefix}"/${CTARGET} - --host=${CTARGET} - --with-sysroot=no - --without-{crt,headers} - - # mingw .dll aren't used by wine and packages wouldn't find them - # at runtime, use crossdev if need dll and proper search paths - --disable-shared - ) - - local conf_mingw64_headers=( - --enable-idl - --with-headers - ) - mwt-mingw64_headers() { ln -s ${CTARGET} "${sysroot}"/mingw || die; } #419601 - - local conf_mingw64_runtime=( --with-crt ) - ${multilib} || - conf_mingw64_runtime+=( $(usex x86 --disable-lib64 --disable-lib32 ) ) - - local conf_mingw64_libraries=( --with-libraries ) - local conf_mingw64_libraries32=( - --libdir="${prefix}"/${CTARGET}/lib32 - --with-libraries - CC="${CTARGET}-gcc -m32" - RCFLAGS="--target=pe-i386 ${RCFLAGS}" - ) - - # mingw64-runtime's idl compiler (useful not to depend on wine for widl) - local conf_widl=( --prefix="${prefix}" ) - - # mwt-build [-x] [stage-name] - # -> ./configure && make && make install && mwt-package() && mwt-package_stage() - # passes conf, conf_package, and conf_package_stage arrays to configure, and - # users can add options through environment with e.g. - # MWT_BINUTILS_CONF="--some-option" - # MWT_GCC_STAGE1_CONF="--some-gcc-stage1-only-option" - # MWT_WIDL_CONF="--some-other-option" - # EXTRA_ECONF="--global-option" (generic naming for if not reading this) - mwt-build() { - if [[ ${1} == -x ]]; then - ( - # cross-compiling, cleanup and let ./configure handle it - unset AR AS CC CPP CXX DLLTOOL LD NM OBJCOPY OBJDUMP RANLIB RC STRIP - CHOST=${CTARGET} - filter-flags '-fuse-ld=*' - filter-flags '-mfunction-return=thunk*' #878849 - - # support for stack-protector is still new and experimental - # for mingw and issues can also be harder to debug + fix for - # upstreams using it, if feeling concerned about security - # would advise to either not use wine or at least contain it - use custom-cflags || filter-flags '-fstack-protector*' #931512 - - # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then - # strip-unsupported-flags miss these during compile-only tests - # (primarily done for 23.0 profiles' -z, not full coverage) - filter-flags '-Wl,-z,*' - - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-flags -mno-avx - - # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319) - append-flags -fomit-frame-pointer - - strip-unsupported-flags - mwt-build "${@:2}" - ) - return - fi - - local id=${1##*/} - local build_dir=${WORKDIR}/${1}${2+_${2}}-build - - # econf is not allowed in src_compile and its defaults are - # mostly unused here, so use configure directly - local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) - - local -n conf_id=conf_${id} conf_id2=conf_${id}_${2} - [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" ) - [[ ${2} && ${conf_id2@a} == *a* ]] && conf+=( "${conf_id2[@]}" ) - - local -n extra_id=MWT_${id^^}_CONF extra_id2=MWT_${id^^}_${2^^}_CONF - conf+=( ${EXTRA_ECONF} ${extra_id} ${2+${extra_id2}} ) - - einfo "Building ${id}${2+ ${2}} in ${build_dir} ..." - - mkdir -p "${build_dir}" || die - pushd "${build_dir}" >/dev/null || die - - edo "${conf[@]}" - emake MAKEINFO=: V=1 - # -j1 to match bug #906155, other packages may be fragile too - emake -j1 MAKEINFO=: V=1 DESTDIR="${MWT_D}" install - - declare -f mwt-${id} >/dev/null && edo mwt-${id} - declare -f mwt-${id}_${2} >/dev/null && edo mwt-${id}_${2} - - popd >/dev/null || die - } - - # workaround race condition with out-of-source crt build (bug #879537) - mkdir -p mingw64_runtime-build/mingw-w64-crt/lib{32,64} || die - - # build with same ordering that crossdev would do + stage3 for pthreads - mwt-build binutils - mwt-build mingw64 headers - mwt-build gcc stage1 - mwt-build -x mingw64 runtime - mwt-build gcc stage2 - ${multilib} && mwt-build -x mingw64 libraries32 - mwt-build -x mingw64 libraries - mwt-build gcc stage3 - mwt-build mingw64/mingw-w64-tools/widl - # note: /could/ system-bootstrap if already installed, but gcc and - # libraries will use the system's older mingw64 headers/static-libs - # and make this potentially fragile without more workarounds/stages - - if ${multilib}; then - # Like system's gcc, `x86_64-w64-mingw32-gcc -m32` can build for x86, - # but packages expect crossdev's i686-w64-mingw32-gcc which is the same - # just without 64bit support and would rather not build the toolchain - # twice. Dirty but wrap to allow simple interoperability with crossdev. - mwt-i686_wrapper() { - printf "#!/usr/bin/env sh\nexec \"${prefix}/bin/${bin}\" ${*} "'"${@}"\n' \ - > ${bin32} || die - chmod +x ${bin32} || die - } - pushd "${sysroot}"/bin >/dev/null || die - local bin bin32 - for bin in ${CTARGET}-*; do - bin32=${bin/x86_64-w64/i686-w64} - case ${bin#${CTARGET}-} in - as) mwt-i686_wrapper --32;; - cpp|gcc|gcc-${GCC_PV%%[.-]*}|g++|widl) mwt-i686_wrapper -m32;; - ld|ld.bfd) mwt-i686_wrapper -m i386pe;; - windres) mwt-i686_wrapper --target=pe-i386;; - *) ln -s ${bin} ${bin32} || die;; - esac - done - popd >/dev/null || die - fi - - if use bin-symlinks; then - mkdir -p -- "${MWT_D}${EPREFIX}"/usr/bin/ || die - local bin - for bin in "${sysroot}"/bin/*; do - ln -rs -- "${bin}" "${MWT_D}${EPREFIX}"/usr/bin/ || die - done - fi - - # portage doesn't know the right strip executable to use for CTARGET - # and it can lead to .a mangling, notably with 32bit (breaks toolchain) - dostrip -x ${mwtdir}/{${CTARGET}/lib{,32},lib/gcc/${CTARGET}} - - # ... and instead do it here given this saves ~60MB - if use strip; then - einfo "Stripping ${CTARGET} static libraries ..." - find "${sysroot}"/{,lib/gcc/}${CTARGET} -type f -name '*.a' \ - -exec ${CTARGET}-strip --strip-unneeded {} + || die - fi -} - -src_install() { - mv -- "${MWT_D}${EPREFIX}"/* "${ED}" || die - - find "${ED}" -type f -name '*.la' -delete || die -} - -pkg_postinst() { - use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && - eselect compiler-shadow update all - - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog "Note that this package is primarily intended for Wine and related" - elog "packages to depend on without needing a manual crossdev setup." - elog - elog "Settings are oriented only for what these need and simplicity." - elog "Use sys-devel/crossdev if need full toolchain/customization:" - elog " https://wiki.gentoo.org/wiki/Mingw" - elog " https://wiki.gentoo.org/wiki/Crossdev" - fi - - local cross_gcc=cross-$(usex x86 i686 x86_64)-w64-mingw32/gcc - if has_version ${cross_gcc}; then - # encourage cleanup given users may not realize if switch by default - ewarn "${cross_gcc} is installed, note that ${PN}" - ewarn "is redundant with the *-w64-mingw32/{binutils,gcc,mingw64-runtime}" - ewarn "packages and optionally only one needs to be kept." - fi -} - -pkg_postrm() { - use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && - eselect compiler-shadow clean all -} diff --git a/dev-util/scanmem/Manifest b/dev-util/scanmem/Manifest index e3fb5e4522ca..2caae4d93a3a 100644 --- a/dev-util/scanmem/Manifest +++ b/dev-util/scanmem/Manifest @@ -1,5 +1,5 @@ AUX scanmem-0.17-musl-tests.patch 1321 BLAKE2B 2ab513443d9cbe62f82c021d7235f8f64912a49e3d24be1a8cb99297a04fffb146b9e71d84f390688b2a76cf9903e65f1c60c47267149e2434da3e0fe41fcdb5 SHA512 78a8571012e95c99326cde10085076afd591bfac1ea2f7a7d2f59f480d5add5e6f992a63aa261dc602efacdc6dd44a0bab05c000d827f72952a3d09e029d36ac AUX scanmem-0.17-musl.patch 2674 BLAKE2B a7d78a52d5201b1a59e4572b59285530d35b43630b4721f9d4c0d9bc1003363b62c26ba95b95da224c29d7a3caedf1982dc85afdf52d86188a1bf5d48d2a8a14 SHA512 3cc85e681037e38dcbf8d613ef22b1e8765df912a8c590af7249c484d932a6a280a4290951a3c27e40b2002b2c21f0662d99e665a463f3f785bf2a3192b3d696 DIST scanmem-0.17.tar.gz 220489 BLAKE2B b1ae07f96fd736e9ca6a5d55ad2d6b06b7d0dc4828915e0f2adaa2d58b053d9734ccd7425fb5391289249f838773cf3f9a81dbe76bacd42f41203d27dcffed05 SHA512 6d74f3d1d3492d41cabc342cfd1189815536dcbd57857d8a92e05c5dcaebcb9b1df886aee706c56eaf3344737070ea0fe852eef164ef3fe7907f66c626d8523e -EBUILD scanmem-0.17.ebuild 1167 BLAKE2B 99e21fd89ceb4a91d889c356f22d6750a3354c65235f93d85c405cf8aefd9a4ae030d12586948b35fdc519db741f632264e62a429cd078402c68e40414f05590 SHA512 f37fa28f1c2a50e8a2e6679d56780b37ae9ca7af86062c4b6514e378406721c70fb56f4989af9ab51a6b744359a6c120aea01a927b1b755c0293ace18ce8dda6 +EBUILD scanmem-0.17.ebuild 1168 BLAKE2B 778015bc5ca46343895467bea79733fb7df2dd93ae9867cd97045edec2b0944ebc06ac8738c5b19a0e84f9e1dc4ab7b19f69e08bceb16705f9736254c81dd935 SHA512 2e2c714efb96ee0b5551a7e40398d1c32205460a99f5f9a70a510fb3454ccde3049e917fd5bcbc4df39ccf66fcadb66925fe63528a55575c011b4f1edfe05584 MISC metadata.xml 318 BLAKE2B 081a868e03192346a1d251caa782751d0cdc831607a57bc08b67df34737496152df6477d769da51fcfac1a2d81aa419c2e8588b27cd3f89c5dd91eb84b0f88cc SHA512 eafbe8d2c6d06413368968db5aacd89981ad7963a04b5870601c7defb9ffb515a8398ca9a8182ad10cf23d05f8fd2d7c0f681811391cd2446bd1ccc1bc9fe34d diff --git a/dev-util/scanmem/scanmem-0.17.ebuild b/dev-util/scanmem/scanmem-0.17.ebuild index d5fa59b488bc..410f42161110 100644 --- a/dev-util/scanmem/scanmem-0.17.ebuild +++ b/dev-util/scanmem/scanmem-0.17.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit autotools python-single-r1 DESCRIPTION="Locate and modify variables in executing processes" -- cgit v1.2.3