summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/codex/Manifest8
-rw-r--r--dev-util/codex/codex-0.117.0.ebuild (renamed from dev-util/codex/codex-0.116.0.ebuild)25
-rw-r--r--dev-util/forgejo-runner/Manifest8
-rw-r--r--dev-util/forgejo-runner/forgejo-runner-12.5.3.ebuild79
-rw-r--r--dev-util/forgejo-runner/forgejo-runner-12.6.1.ebuild79
-rw-r--r--dev-util/forgejo-runner/forgejo-runner-12.7.3.ebuild (renamed from dev-util/forgejo-runner/forgejo-runner-12.7.2.ebuild)20
-rw-r--r--dev-util/forgejo-runner/forgejo-runner-9999.ebuild20
-rw-r--r--dev-util/forgejo-runner/metadata.xml5
-rw-r--r--dev-util/gemini-cli/Manifest2
-rw-r--r--dev-util/gemini-cli/gemini-cli-0.35.2.ebuild (renamed from dev-util/gemini-cli/gemini-cli-0.35.0.ebuild)0
-rw-r--r--dev-util/hyprwayland-scanner/Manifest2
-rw-r--r--dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.4.ebuild37
-rw-r--r--dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.5.ebuild37
-rw-r--r--dev-util/hyprwayland-scanner/hyprwayland-scanner-9999.ebuild37
-rw-r--r--dev-util/hyprwayland-scanner/metadata.xml25
-rw-r--r--dev-util/intellij-idea/Manifest2
-rw-r--r--dev-util/intellij-idea/intellij-idea-2026.1.ebuild207
-rw-r--r--dev-util/mingw64-runtime/Manifest1
-rw-r--r--dev-util/mingw64-runtime/mingw64-runtime-14.0.0.ebuild154
-rw-r--r--dev-util/mingw64-toolchain/Manifest2
-rw-r--r--dev-util/mingw64-toolchain/mingw64-toolchain-14.0.0.ebuild371
21 files changed, 810 insertions, 311 deletions
diff --git a/dev-util/codex/Manifest b/dev-util/codex/Manifest
index 2fff1d2cc142..1ef09ac80f3c 100644
--- a/dev-util/codex/Manifest
+++ b/dev-util/codex/Manifest
@@ -1,8 +1,12 @@
-DIST codex-0.116.0.tar.gz 6546602 BLAKE2B cef82571e88f1096f031fac23310806b132d3c7a308135d7d49eadc7d02fe27e4b75a308d091287e92b1cbf932d665d9af8605e9ed7fd8e9e9e87a6d294a8902 SHA512 22d664b46c1678e09002180b4caf89fcbaf10aab0ff395526a1c90a40b51b78b4c96bc03ff6860cf208e41f603bc1e0f3b37073e3830385399fc82f63f2cbdec
-DIST codex-rust-v0.116.0-crates.tar.xz 87136104 BLAKE2B cca8a1288c271338bc2c9f1fcccc44ed0eadfbce0cd24cb8ab983a2347592ab493eaa88ffebb7f5f181a478d273421f53bf326e555aea87e334478f6719e1f30 SHA512 c6e4bccaa9438e038d386e5b4a9cc9f0786172431e5aa38a386148be3f2e90bdd5298fb23c1d3097635876e81fd6aa4043a66a1c65dc6bad84b84b3b67e3de7c
+DIST codex-0.117.0.tar.gz 6844073 BLAKE2B 49922cc0b7ddc4f05b6494d12367d6cd72b666d02f7059202bbf7737b8f7aad3a961b0dccd0fddfe82703336f8a691f6ef62798403b60a9354667be193f8c98c SHA512 8a553512c63444a48264c2afb9fbe0ad47b3e22c7723185b1a0d70b57b06943fe443632023d778fed48435e0141351828d2410779cda88e55ae8ebc3d1685e6e
+DIST codex-rust-v0.117.0-crates.tar.xz 109804988 BLAKE2B b2531821768de9a6d13a27b7d9112591da3659bb88d49f1341e961c231f7e0de04f91d42fe99217240b6949de725bdf9fe70b2423f22cca643f546d6e5dbe474 SHA512 9996fa14ac70e63344bbe17246d386911810ff00c512246eed5bf0f537710c92ec6dc0077204f0e911d65818483ad91cdf6c1e11741e924724aee97a8e862c37
DIST crossterm-87db8bfa6dc99427fd3b071681b07fc31c6ce995.gh.tar.gz 129254 BLAKE2B 414dacc3a682c7a6dc5c9e43f185966255205d18f0522ee7eae73b5f113b4c3ea9b132e6dee81783d4ce160e4bf95aab784cf3601d666265bef4f889d5e46e68 SHA512 9dc7247d081a25d18776c9c0fd7fe3373f372950728b7fcf5ff43aaa6f7d69f11e1dbd91f92991cbe73007eb9e78c9a901b2388c27ddd6898553fdcef7fdaf44
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
+DIST rusty_v8_146.4.0_librusty_v8_release_aarch64-unknown-linux-musl.a.gz 28076631 BLAKE2B 5921c6c748b30305a664d5bb7b277050ec0c8d371cf65ebe854e4f80fb3d3305de1cc91811815ffca82105da0997de5a218c14261eae421b7eb0c48694d655a7 SHA512 5b08ca87648f5a68bd1c76f0ed639a195fd0462ecb6c12e71539c7bf76631129ca6959769b2df3442ccfb10ed4cf40f90d2c380b011481bee1b1c41397f92035
+DIST rusty_v8_146.4.0_librusty_v8_release_x86_64-unknown-linux-musl.a.gz 28580418 BLAKE2B d81319c7831c25547891cbfa0ab7343055f20b56332803b05ad384825253a6f95df4ab00095189cb29c16876682c81c57c026bda0c468aa4bc5bad90ac6184c2 SHA512 48b6d6cd7c49f6a7c930f0ab544dd853ef9e675b834ade657a85da17e6676bfefdf8cec79bd52fcf9b44d706a43ee32d87cbabc821821aef93296abd2dd03309
+DIST rusty_v8_146.4.0_src_binding_release_aarch64-unknown-linux-musl.rs 40796 BLAKE2B d404cf1a76c24e9129ecd1dbe98414b313f7505c3a5f6dee228450dc0a1853ab126834ae6f269eb52302d6cf6e1d036b3295d8d4dc2c4fa16a82d5efc2ba7056 SHA512 b8f83d78ae71361722b374acb4d2e24adc1900456107bf81e82cd677770505a98efff2ae8b8fedd911bc35e9365ad1adc66420675b6d77248c70eab03613b77f
+DIST rusty_v8_146.4.0_src_binding_release_x86_64-unknown-linux-musl.rs 40796 BLAKE2B d404cf1a76c24e9129ecd1dbe98414b313f7505c3a5f6dee228450dc0a1853ab126834ae6f269eb52302d6cf6e1d036b3295d8d4dc2c4fa16a82d5efc2ba7056 SHA512 b8f83d78ae71361722b374acb4d2e24adc1900456107bf81e82cd677770505a98efff2ae8b8fedd911bc35e9365ad1adc66420675b6d77248c70eab03613b77f
DIST tokio-tungstenite-132f5b39c862e3a970f731d709608b3e6276d5f6.gh.tar.gz 31620 BLAKE2B 139395aeb58bf9ad632efd3c9a8d58d888b55da14129529b453fbf3b49cf5323f0d89912a25b30bc238673b729f4d4ff243826c9a5a25426ba6d77913c42b041 SHA512 8784ff79f1f78be5884a085b1a89300257df2a1b7d82c6a226961fd949c9a5a6ba3d825db8db6bc5e314ee184fd2f3bd0a3bf36923744f6a708870ca7ddaf76b
DIST tungstenite-rs-9200079d3b54a1ff51072e24d81fd354f085156f.gh.tar.gz 293929 BLAKE2B c3ce0b5f2939fc6dbbe5d0d539b3e7951e40cd646232086a023a8dba96c2160c6a5e61159463a071b1c97f6150a335cf844f53aa64c4751253eb7177c3720258 SHA512 44dd8c0dc60c86a5feb047002b8f9dae167a6ddf5c23e2ca8604018bfd0a24bfa2f1457a2715586c925d0639d0cfbb64931328addbc06a645c3744927fa76e2d
diff --git a/dev-util/codex/codex-0.116.0.ebuild b/dev-util/codex/codex-0.117.0.ebuild
index 4a3cc0ac3910..bde364e97c37 100644
--- a/dev-util/codex/codex-0.116.0.ebuild
+++ b/dev-util/codex/codex-0.117.0.ebuild
@@ -31,6 +31,9 @@ declare -A GIT_CRATES=(
RUST_MIN_VER="1.93.0"
+# python3 .github/scripts/rusty_v8_bazel.py resolved-v8-crate-version
+RUSTY_V8_TAG="146.4.0"
+
inherit cargo
DESCRIPTION="Codex CLI - OpenAI's AI-powered coding agent"
@@ -42,6 +45,18 @@ HOMEPAGE="https://github.com/openai/codex"
SRC_URI="
https://github.com/openai/${PN}/archive/rust-v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/gentoo-zh-drafts/codex/releases/download/rust-v${PV}/codex-rust-v${PV}-crates.tar.xz
+ amd64? (
+ https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_x86_64-unknown-linux-musl.a.gz
+ -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_x86_64-unknown-linux-musl.a.gz
+ https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_x86_64-unknown-linux-musl.rs
+ -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_x86_64-unknown-linux-musl.rs
+ )
+ arm64? (
+ https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
+ -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_aarch64-unknown-linux-musl.a.gz
+ https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_aarch64-unknown-linux-musl.rs
+ -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_aarch64-unknown-linux-musl.rs
+ )
${CARGO_CRATE_URIS}
"
@@ -54,7 +69,7 @@ LICENSE+="
MPL-2.0 Unicode-3.0 ZLIB
"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
# Tests fail due to ring crate conflicts with system OpenSSL
RESTRICT="test"
@@ -99,7 +114,13 @@ src_prepare() {
}
src_compile() {
- cargo_src_compile --package codex-cli
+ local rusty_v8_triple
+ use amd64 && rusty_v8_triple=x86_64-unknown-linux-musl
+ use arm64 && rusty_v8_triple=aarch64-unknown-linux-musl
+
+ RUSTY_V8_ARCHIVE="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_${rusty_v8_triple}.a.gz" \
+ RUSTY_V8_SRC_BINDING_PATH="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_src_binding_release_${rusty_v8_triple}.rs" \
+ cargo_src_compile --package codex-cli
}
src_install() {
diff --git a/dev-util/forgejo-runner/Manifest b/dev-util/forgejo-runner/Manifest
index e3ff6906f423..cf75bef799d0 100644
--- a/dev-util/forgejo-runner/Manifest
+++ b/dev-util/forgejo-runner/Manifest
@@ -1,6 +1,2 @@
-DIST forgejo-runner-12.5.3-deps.tar.xz 54999260 BLAKE2B 59d88a51db7812c8b5083627bef25500b4924fbaf0d043118f75592db2d19c3514a7ff27f26cfdae8f20bdff1c7aff2a34b1d4bdec9dcd7e03ee1382e121b9f7 SHA512 48f4579a32393c235c5fd45e605bddf574a45260acd14326e609120ae3cdb4e2acf13be0ece01e390a6db7f797e633cc81e0d36c3cd96dabbcc5a624a8d9227a
-DIST forgejo-runner-12.5.3.tar.gz 3476349 BLAKE2B 343acfc40cb137fc9111b38e4a07776cab6a8f125425b5d1125065c743336f23268d0dd608b8cc2e3a51055a7d954f9c428c050efa8c3e50baa1ec7369f7f5fd SHA512 e55a5042cdb9c1e8325d0f111f8d9bdc5640c7ed1ed0cfd6e7b6bd383fbf08677d877212733eab2d2736c58c9b051074d0921a2022deeb110e77347b70a88832
-DIST forgejo-runner-12.6.1-deps.tar.xz 54995188 BLAKE2B bbc273aaa5a7ec4f071f2309070957a4f4d53581baaa498065b03aba0e2b7eb7564c25627a8bb2dd0d803190bd8c4b25ac34f5d40bfb0ca0f66d7c999eac140c SHA512 a4fa6b42d79b3eb5230ce65a44fbf8057d11705b409a5fba4e19ea05e4cd12eadd17f0ad675bcfb23c0ed48f378ed2223b1c2f7b662e19c7c080f01bf86b96ba
-DIST forgejo-runner-12.6.1.tar.gz 3481504 BLAKE2B 7dd5c22097ec46935af2854a8fd676564ec07bc06eb626a94ca89cc12af00fc35fac169495e92126d9be5dc294e928dee1b79f8a4f41bb9eed81c1653f106f6c SHA512 99f111bde4829c2292273dc5083f2499102e024b903e49de9094005ffe78db403f90af9b62e487d52e2bfb340e53a796bad73b4206a2487c9cec73049aff1c4c
-DIST forgejo-runner-12.7.2-deps.tar.xz 96855144 BLAKE2B 9eab44901f3b0648315ecec10348c3679c6200cc7b09f3a151ec0b483e43e0780311d7f972a15765abf983ce3f7bc7f65ed893ebcd1057e7c1529c760d151cb4 SHA512 e8ae9c21c5b4f4ac60d2b13bbeafffc1dcf2869bbe2f4319f521e5e03005133d3fdf9656c3692b119614521baae6cca78d706638ba285d9c1c5c1ee9d9554419
-DIST forgejo-runner-12.7.2.tar.gz 3500658 BLAKE2B 5ced7426cc6c2783e4d8c1f6fa12e3be39daa821d0edbbda6c36440426032f521631ca01b4ccdbb28d43fb64704bbcd74e5b26aaf8b1b361cbf328ca7b2f39da SHA512 20be1d9c2be48197008dc4d8ce6d950b62fc09e43e7105fd509d5e67f261acaf5470a504a6c3d09c076c6f3971a2d16f1a8d4aefadee3041ae203af21d1ebe1c
+DIST forgejo-runner-12.7.3-deps.tar.xz 96877712 BLAKE2B e2d1558baa423e1815ee3fc68c22cce6168a7c09df930c0d26a5b39f56e34b8ab16d8a8dd55bdc9db44f68a808803830be128831955c7d3da72d8e69cc72cd84 SHA512 abda81b16f2cb72c962b69d0fc49b511e92403d7b27bec9c34ad8c8ecdef8d4e4b2db52e851def249b6c41ca4f299b256a9a52d3246075bdb29a7655c23af235
+DIST forgejo-runner-12.7.3.tar.gz 3501042 BLAKE2B 6f544ee6e2e3c13427500c2699d3e4fa91331628aa0c524952720d41ce251542080c4d4f99e288161372fb5f614e5236089d76557f9b7ff89d5823f0339730d2 SHA512 34e4e38669e20058c5a6d5743986b8ce5a5cf829ba93c34cecc70f1cd42dc334c1f1cbce56e7cdf295d9d966c8ff0a9dab803e19a36c04883891adf34304af0b
diff --git a/dev-util/forgejo-runner/forgejo-runner-12.5.3.ebuild b/dev-util/forgejo-runner/forgejo-runner-12.5.3.ebuild
deleted file mode 100644
index 470d72feb4c7..000000000000
--- a/dev-util/forgejo-runner/forgejo-runner-12.5.3.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit go-module systemd
-
-DESCRIPTION="A daemon that connects to a Forgejo instance and runs jobs for CI"
-HOMEPAGE="https://code.forgejo.org/forgejo/runner https://forgejo.org/docs/next/admin/actions/"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://code.forgejo.org/forgejo/runner.git"
-else
- SRC_URI="
- https://code.forgejo.org/forgejo/runner/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz
- "
- S="${WORKDIR}/runner"
-
- KEYWORDS="~amd64 ~arm64"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="examples"
-RESTRICT="test"
-
-DEPEND="
- >=dev-lang/go-1.24.0
-"
-
-src_unpack() {
- if [[ "${PV}" == *9999* ]]; then
- git-r3_src_unpack
- go-module_live_vendor
- else
- go-module_src_unpack
- fi
-}
-
-src_compile() {
- # export version information
- # https://github.com/gentoo/guru/pull/205
- # https://forums.gentoo.org/viewtopic-p-8831646.html
- local VERSION
- if [[ "${PV}" == *9999* ]]; then
- VERSION="$(
- git describe --tags --first-parent --abbrev=7 --long --dirty --always \
- | sed -e "s/^v//g"
- )"
- else
- VERSION="${PVR}"
- fi
-
- local EXTRA_GOFLAGS_LD=(
- # "-w" # disable DWARF generation
- # "-s" # disable symbol table
- "-X=code.forgejo.org/forgejo/runner/v11/internal/pkg/ver.version=v${VERSION}"
- )
-
- GOFLAGS+=" '-ldflags=${EXTRA_GOFLAGS_LD[*]}'"
-
- ego build -tags 'netgo osusergo' -o forgejo-runner
-
- # Makefile does this
- # emake forgejo-runner
-}
-
-src_install() {
- dobin forgejo-runner
-
- systemd_dounit "contrib/forgejo-runner.service"
-
- dodoc "README.md"
- if use examples; then
- dodoc -r "examples"
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
-}
diff --git a/dev-util/forgejo-runner/forgejo-runner-12.6.1.ebuild b/dev-util/forgejo-runner/forgejo-runner-12.6.1.ebuild
deleted file mode 100644
index 470d72feb4c7..000000000000
--- a/dev-util/forgejo-runner/forgejo-runner-12.6.1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit go-module systemd
-
-DESCRIPTION="A daemon that connects to a Forgejo instance and runs jobs for CI"
-HOMEPAGE="https://code.forgejo.org/forgejo/runner https://forgejo.org/docs/next/admin/actions/"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://code.forgejo.org/forgejo/runner.git"
-else
- SRC_URI="
- https://code.forgejo.org/forgejo/runner/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz
- "
- S="${WORKDIR}/runner"
-
- KEYWORDS="~amd64 ~arm64"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="examples"
-RESTRICT="test"
-
-DEPEND="
- >=dev-lang/go-1.24.0
-"
-
-src_unpack() {
- if [[ "${PV}" == *9999* ]]; then
- git-r3_src_unpack
- go-module_live_vendor
- else
- go-module_src_unpack
- fi
-}
-
-src_compile() {
- # export version information
- # https://github.com/gentoo/guru/pull/205
- # https://forums.gentoo.org/viewtopic-p-8831646.html
- local VERSION
- if [[ "${PV}" == *9999* ]]; then
- VERSION="$(
- git describe --tags --first-parent --abbrev=7 --long --dirty --always \
- | sed -e "s/^v//g"
- )"
- else
- VERSION="${PVR}"
- fi
-
- local EXTRA_GOFLAGS_LD=(
- # "-w" # disable DWARF generation
- # "-s" # disable symbol table
- "-X=code.forgejo.org/forgejo/runner/v11/internal/pkg/ver.version=v${VERSION}"
- )
-
- GOFLAGS+=" '-ldflags=${EXTRA_GOFLAGS_LD[*]}'"
-
- ego build -tags 'netgo osusergo' -o forgejo-runner
-
- # Makefile does this
- # emake forgejo-runner
-}
-
-src_install() {
- dobin forgejo-runner
-
- systemd_dounit "contrib/forgejo-runner.service"
-
- dodoc "README.md"
- if use examples; then
- dodoc -r "examples"
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
-}
diff --git a/dev-util/forgejo-runner/forgejo-runner-12.7.2.ebuild b/dev-util/forgejo-runner/forgejo-runner-12.7.3.ebuild
index 00723ae46799..7374532d681f 100644
--- a/dev-util/forgejo-runner/forgejo-runner-12.7.2.ebuild
+++ b/dev-util/forgejo-runner/forgejo-runner-12.7.3.ebuild
@@ -22,13 +22,18 @@ fi
LICENSE="MIT"
SLOT="0"
-IUSE="examples"
-RESTRICT="test"
+IUSE="examples +docker podman lxc"
+RESTRICT="mirror test"
+REQUIRED_USE="|| ( docker podman lxc )"
DEPEND="
>=dev-lang/go-1.25.8
"
+RDEPEND="
+ acct-user/${PN}[docker=,podman=,lxc=]
+"
+
src_unpack() {
if [[ "${PV}" == *9999* ]]; then
git-r3_src_unpack
@@ -38,6 +43,17 @@ src_unpack() {
fi
}
+src_prepare() {
+ default
+
+ sed \
+ -e "/ExecStart=/s#=.*#=${EPREFIX}/usr/bin/forgejo-runner daemon -c %h/runner-config.yml#g" \
+ -e "/ExecReload=/s#=#=${EPREFIX}#g" \
+ -e "/User=/s#=.*#=${PN}#g" \
+ -e '/WorkingDirectory=/s#=.*#=~#g' \
+ -i contrib/forgejo-runner.service || die
+}
+
src_compile() {
# export version information
# https://github.com/gentoo/guru/pull/205
diff --git a/dev-util/forgejo-runner/forgejo-runner-9999.ebuild b/dev-util/forgejo-runner/forgejo-runner-9999.ebuild
index 00723ae46799..38f07dfb7c54 100644
--- a/dev-util/forgejo-runner/forgejo-runner-9999.ebuild
+++ b/dev-util/forgejo-runner/forgejo-runner-9999.ebuild
@@ -22,13 +22,18 @@ fi
LICENSE="MIT"
SLOT="0"
-IUSE="examples"
-RESTRICT="test"
+IUSE="+docker examples podman lxc"
+RESTRICT="mirror test"
+REQUIRED_USE="|| ( docker podman lxc )"
DEPEND="
>=dev-lang/go-1.25.8
"
+RDEPEND="
+ acct-user/${PN}[docker=,podman=,lxc=]
+"
+
src_unpack() {
if [[ "${PV}" == *9999* ]]; then
git-r3_src_unpack
@@ -38,6 +43,17 @@ src_unpack() {
fi
}
+src_prepare() {
+ default
+
+ sed \
+ -e "/ExecStart=/s#=.*#=${EPREFIX}/usr/bin/forgejo-runner daemon -c %h/runner-config.yml#g" \
+ -e "/ExecReload=/s#=#=${EPREFIX}#g" \
+ -e "/User=/s#=.*#=${PN}#g" \
+ -e '/WorkingDirectory=/s#=.*#=~#g' \
+ -i contrib/forgejo-runner.service || die
+}
+
src_compile() {
# export version information
# https://github.com/gentoo/guru/pull/205
diff --git a/dev-util/forgejo-runner/metadata.xml b/dev-util/forgejo-runner/metadata.xml
index 18057e10d18b..644065aa81f4 100644
--- a/dev-util/forgejo-runner/metadata.xml
+++ b/dev-util/forgejo-runner/metadata.xml
@@ -10,5 +10,10 @@
<name>Ceres Milner</name>
</maintainer>
+ <use>
+ <flag name="docker">Have forgejo-runner use <pkg>app-containers/docker</pkg></flag>
+ <flag name="podman">Have forgejo-runner use <pkg>app-containers/podman</pkg></flag>
+ <flag name="lxc">Have forgejo-runner use <pkg>app-containers/lxc</pkg></flag>
+ </use>
<origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-util/gemini-cli/Manifest b/dev-util/gemini-cli/Manifest
index b295cf750f0e..464b740713ff 100644
--- a/dev-util/gemini-cli/Manifest
+++ b/dev-util/gemini-cli/Manifest
@@ -1 +1 @@
-DIST gemini-cli-0.35.0.js 695265 BLAKE2B c32a9e25c1739f73e59fe50b48e4b7a69dd7999e4f6c164e18fcc11cb6842d5b6e4ab88be3a1c54e5ba3966786e529984417725ae051bf878f52ca88a45d37fc SHA512 c4d3c57518d4ad8d6d629401ea9e98314a5616ff27ef19c870ac9dc4db56b32d782c718aae49feb1adf8ecb0f26030513a49dd448e8f58a612a7f4bfca7e0333
+DIST gemini-cli-0.35.2.js 695265 BLAKE2B 34564abc99eace55934d9932e824817b4af039fda1e8c2a9b8137caf5a8077e931af9f9e5c682f37b07c2032f93acb29c6ae1a5a72fe3dd660dfd3f690a949aa SHA512 ba5f8e934956936bf530839bdad9c94482eee99bc0ca31ad03a5a869ef3831c2f275df9f4b030d7f51c622741e49a72eb7a88349c96040283de9e41c78092ae3
diff --git a/dev-util/gemini-cli/gemini-cli-0.35.0.ebuild b/dev-util/gemini-cli/gemini-cli-0.35.2.ebuild
index cfa9b95f65f7..cfa9b95f65f7 100644
--- a/dev-util/gemini-cli/gemini-cli-0.35.0.ebuild
+++ b/dev-util/gemini-cli/gemini-cli-0.35.2.ebuild
diff --git a/dev-util/hyprwayland-scanner/Manifest b/dev-util/hyprwayland-scanner/Manifest
deleted file mode 100644
index 92f9d94d246e..000000000000
--- a/dev-util/hyprwayland-scanner/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST hyprwayland-scanner-0.4.4.gh.tar.gz 11254 BLAKE2B 29f1f94b10f7f95f7a97e2bff1971669a55b0d3893572b1cd56879a4b31b825e459246b13f2455a0e4dee5b2710aceaa9581326cf2b90900dbd13171ac48d130 SHA512 c0f4670fa39edee43a05f9d7a3f3d60b793034cdf9e351f6cda60a72481f4a212c78ed5b4c15481df20acab86b987843691037fba0e62efe906196181c64b2eb
-DIST hyprwayland-scanner-0.4.5.gh.tar.gz 11808 BLAKE2B 9d55bd77ba964f295e11f514f240f61577bbf6afc49be1ea6bec5312605b0ff35226e394c369b9027ff800d321f16a9ea0261eaeeaebb667b59d489f1f77ffbd SHA512 21cbbcc24c1acd0a23bcd7654fe12e3af63aeb69f997da88026c1c995c2c58d135cb06b739ba7033342fb36e201103fbe34216769394eabbfb4b334d6b56274c
diff --git a/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.4.ebuild b/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.4.ebuild
deleted file mode 100644
index c942721fb2e7..000000000000
--- a/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.4.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Hyprland implementation of wayland-scanner, in and for C++"
-HOMEPAGE="https://github.com/hyprwm/hyprwayland-scanner/"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/hyprwm/hyprwayland-scanner.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/hyprwm/hyprwayland-scanner/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="amd64"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND=">=dev-libs/pugixml-1.14"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
- eerror "Hyprland requires >=sys-devel/gcc-13 to build"
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Hyprland!"
- elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
- eerror "Hyprland requires >=llvm-core/clang-16 to build"
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Hyprland!"
- fi
-}
diff --git a/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.5.ebuild b/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.5.ebuild
deleted file mode 100644
index 1549357c844f..000000000000
--- a/dev-util/hyprwayland-scanner/hyprwayland-scanner-0.4.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Hyprland implementation of wayland-scanner, in and for C++"
-HOMEPAGE="https://github.com/hyprwm/hyprwayland-scanner/"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/hyprwm/hyprwayland-scanner.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/hyprwm/hyprwayland-scanner/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND=">=dev-libs/pugixml-1.14"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
- eerror "Hyprland requires >=sys-devel/gcc-13 to build"
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Hyprland!"
- elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
- eerror "Hyprland requires >=llvm-core/clang-16 to build"
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Hyprland!"
- fi
-}
diff --git a/dev-util/hyprwayland-scanner/hyprwayland-scanner-9999.ebuild b/dev-util/hyprwayland-scanner/hyprwayland-scanner-9999.ebuild
deleted file mode 100644
index c942721fb2e7..000000000000
--- a/dev-util/hyprwayland-scanner/hyprwayland-scanner-9999.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Hyprland implementation of wayland-scanner, in and for C++"
-HOMEPAGE="https://github.com/hyprwm/hyprwayland-scanner/"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/hyprwm/hyprwayland-scanner.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/hyprwm/hyprwayland-scanner/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="amd64"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND=">=dev-libs/pugixml-1.14"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
- eerror "Hyprland requires >=sys-devel/gcc-13 to build"
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Hyprland!"
- elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
- eerror "Hyprland requires >=llvm-core/clang-16 to build"
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Hyprland!"
- fi
-}
diff --git a/dev-util/hyprwayland-scanner/metadata.xml b/dev-util/hyprwayland-scanner/metadata.xml
deleted file mode 100644
index 17397d2f15a8..000000000000
--- a/dev-util/hyprwayland-scanner/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>julien@jroy.ca</email>
- <name>Julien Roy</name>
- </maintainer>
- <maintainer type="person">
- <email>jethro.rosette@outlook.com</email>
- <name>Jethro Rosettenstein</name>
- </maintainer>
- <maintainer type="person">
- <email>johnmh@johnmh.me</email>
- <name>John M. Harris, Jr.</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <changelog>https://github.com/hyprwm/hyprwayland-scanner/releases</changelog>
- <bugs-to>https://github.com/hyprwm/hyprwayland-scanner/issues</bugs-to>
- </upstream>
- <origin>gentoo-staging</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-util/intellij-idea/Manifest b/dev-util/intellij-idea/Manifest
index ba8d66ac0c1d..505036179b54 100644
--- a/dev-util/intellij-idea/Manifest
+++ b/dev-util/intellij-idea/Manifest
@@ -1,2 +1,4 @@
DIST intellij-idea-2025.3.4-aarch64.tar.gz 1515393163 BLAKE2B 87f20459d7619ff7e30c451987783366af8f05dbabfc95994956b04bd54e572ba475cb0f4d2f74985e8ce04205502a57874b1dbffa6d1f8c591ce34b1d933fa8 SHA512 765418b62f958d30eb5d56a5446abd351e5a4bd028b3fe36923e7b7e82127db56b46e68efa6d2ce0452b757a2d64babd0afe8e2814de8809c5b67e95a9781143
DIST intellij-idea-2025.3.4.tar.gz 1520023031 BLAKE2B 7d11f1352b89dbaf51ce5bc0bb5c2c1228f02ed70bc60d786d8f6c7a00d7f4a8e17787b85ed48aefa7381f4cdc41c4e3ab56e042b759f54425acc2870f78ea1d SHA512 a094d446adfca97e36ad479542d7f6f845d2ac24699563c1bc16102c2ca6aebe980f981eaeebf84d667ec663d5aa6ff5a015440f2d3f175512fa13bc5b595404
+DIST intellij-idea-2026.1-aarch64.tar.gz 1560324895 BLAKE2B 90b072944a628a804a337efb59efc10993f4eff89111f7ea5133155b126737db15865f46cc9827468ef797e7fa83c3b7b91e0b3a8a25d4d1fca004686bb2083d SHA512 7ad9fa171b2b84208f3ef037a1973a4b19c44160115ffc7e1631393b5840d618d92bdfce6160ef98e1df334af153452d377b5e318fcc53041b22e536857fee9b
+DIST intellij-idea-2026.1.tar.gz 1565208103 BLAKE2B fa59d4dafad9dbb10e364bd83e569c211ed904266c67681dc49bd409fae3b92b3862e36b82a991983d9b3981c0f3d78b9be99a7339caabf1be4d95aedd1b24d8 SHA512 8c4be77090467ca726ef6b2cfdc18b80128054e27c504e54f6792aff10272bdc420bac1a836469be19ab98872a06efd7c5db9e3e9e1ab8a5b3ce8033a4abd21a
diff --git a/dev-util/intellij-idea/intellij-idea-2026.1.ebuild b/dev-util/intellij-idea/intellij-idea-2026.1.ebuild
new file mode 100644
index 000000000000..934b8d68639a
--- /dev/null
+++ b/dev-util/intellij-idea/intellij-idea-2026.1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit check-reqs desktop wrapper
+
+MY_PV=idea-$(ver_cut 1-2)
+
+DESCRIPTION="A complete toolset for web, mobile and enterprise development"
+HOMEPAGE="https://www.jetbrains.com/idea"
+
+SRC_URI="
+ amd64? ( https://download.jetbrains.com/idea/${MY_PV}.tar.gz -> ${P}.tar.gz )
+ arm64? ( https://download.jetbrains.com/idea/${MY_PV}-aarch64.tar.gz -> ${P}-aarch64.tar.gz )
+"
+
+S="${WORKDIR}/idea-IC-${PV}"
+LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CDDL-1.1
+ codehaus-classworlds CPL-1.0 EPL-1.0 EPL-2.0
+ GPL-2 GPL-2-with-classpath-exception ISC
+ JDOM LGPL-2.1 LGPL-2.1+ LGPL-3-with-linking-exception MIT
+ MPL-1.0 MPL-1.1 OFL-1.1 ZLIB"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="bundled-xvfb professional"
+REQUIRED_USE="professional? ( || ( bundled-xvfb !bundled-xvfb ) )
+ bundled-xvfb? ( professional )"
+
+DEPEND=">=virtual/jdk-17:*"
+
+RDEPEND="${DEPEND}
+ professional? ( bundled-xvfb? (
+ dev-libs/libpcre2
+ sys-libs/pam
+ sys-process/audit
+ )
+ !bundled-xvfb? (
+ x11-base/xorg-server[xvfb]
+ )
+ )
+ sys-libs/glibc
+ media-libs/harfbuzz
+ dev-java/jansi-native
+ virtual/zlib:=
+ x11-libs/libX11
+ x11-libs/libXrender
+ media-libs/freetype
+ x11-libs/libXext
+ dev-libs/wayland
+ x11-libs/libXi
+ x11-libs/libXtst
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXrandr
+ media-libs/alsa-lib
+ app-accessibility/at-spi2-core
+ x11-libs/cairo
+ net-print/cups
+ x11-libs/libdrm
+ media-libs/mesa
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/libdbusmenu
+ x11-libs/libxkbcommon
+ x11-libs/libXcursor
+ x11-libs/pango"
+
+QA_PREBUILT="opt/${PN}/*"
+
+BDEPEND="dev-util/patchelf"
+RESTRICT="splitdebug"
+
+pkg_pretend() {
+ CHECKREQS_DISK_BUILD="4G"
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ CHECKREQS_DISK_BUILD="4G"
+ check-reqs_pkg_pretend
+}
+
+src_unpack() {
+
+ default_src_unpack
+ if [ ! -d "$S" ]; then
+ einfo "Renaming source directory to predictable name..."
+ mv $(ls "${WORKDIR}") "idea-IC-${PV}" || die
+ fi
+}
+
+src_prepare() {
+
+ default_src_prepare
+
+ if use amd64; then
+ JRE_DIR=jre64
+ rm -vf "${S}"/plugins/cwm-plugin/quiche-native/linux-aarch64/libquiche.so
+ else
+ JRE_DIR=jre
+ rm -vf "${S}"/plugins/cwm-plugin/quiche-native/linux-x86-64/libquiche.so
+ fi
+
+ PLUGIN_DIR="${S}/${JRE_DIR}/lib/"
+
+ # rm LLDBFrontEnd after licensing questions with Gentoo License Team
+ rm -vf "${S}"/plugins/Kotlin/bin/linux/LLDBFrontend
+ rm -vf ${PLUGIN_DIR}/libavplugin*
+ rm -vf "${S}"/plugins/maven/lib/maven3/lib/jansi-native/*/libjansi*
+ rm -vrf "${S}"/lib/pty4j-native/linux/ppc64le
+ rm -vf "${S}"/bin/libdbm64*
+ rm -vf "${S}"/lib/pty4j-native/linux/mips64el/libpty.so
+
+ if [[ -d "${S}"/"${JRE_DIR}" ]]; then
+ for file in "${PLUGIN_DIR}"/{libfxplugins.so,libjfxmedia.so}
+ do
+ if [[ -f "$file" ]]; then
+ patchelf --set-rpath '$ORIGIN' $file || die
+ fi
+ done
+ fi
+
+ if ! use amd64; then
+ if [[ -d "${S}"/lib/async-profiler/ ]]; then
+ rm -v "${S}"/lib/async-profiler/amd64/libasyncProfiler.so || die
+ fi
+ fi
+ if ! use arm64; then
+ if [[ -d "${S}"/lib/async-profiler/ ]]; then
+ rm -v "${S}"/lib/async-profiler/aarch64/libasyncProfiler.so || die
+ fi
+ fi
+
+ rm -vf "${S}"/lib/pty4j-native/linux/x86-64/libpty.so
+
+ sed -i \
+ -e "\$a\\\\" \
+ -e "\$a#-----------------------------------------------------------------------" \
+ -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
+ -e "\$a# package manager. See bug #704494" \
+ -e "\$a#-----------------------------------------------------------------------" \
+ -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
+
+ patchelf --set-rpath '$ORIGIN' "jbr/lib/libjcef.so" || die
+ patchelf --set-rpath '$ORIGIN' "jbr/lib/libcef.so" || die
+ patchelf --set-rpath '$ORIGIN' "jbr/lib/jcef_helper" || die
+
+ if use bundled-xvfb; then
+ patchelf --set-rpath '$ORIGIN/../lib' "${S}"/plugins/remote-dev-server/selfcontained/bin/{Xvfb,xkbcomp} || die
+ patchelf --set-rpath '$ORIGIN' "${S}"/plugins/remote-dev-server/selfcontained/lib/lib*.so* || die
+ else
+ rm -vr "${S}"/plugins/remote-dev-server/selfcontained || die
+ sed '/export REMOTE_DEV_SERVER_IS_NATIVE_LAUNCHER/a export REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=1' \
+ -i bin/remote-dev-server.sh || die
+ fi
+
+ if ! use elibc_musl; then
+ rm plugins/platform-ijent-impl/ijent-aarch64-unknown-linux-musl-release
+ fi
+
+ eapply_user
+}
+
+src_install() {
+ local dir="/opt/${PN}"
+ local dst="${D}${dir}"
+
+ insinto "${dir}"
+ doins -r *
+ fperms 755 "${dir}"/bin/{format.sh,idea,idea.sh,inspect.sh,restarter,fsnotifier}
+
+ if [[ -d jbr ]]; then
+ fperms 755 "${dir}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,jwebserver,keytool,rmiregistry,serialver}
+
+ # Fix #763582
+ fperms 755 "${dir}"/jbr/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
+ fi
+
+ if use amd64; then
+ JRE_DIR=jre
+ JRE_DIR=jre
+ fi
+
+ JRE_BINARIES="jaotc java javapackager jjs jrunscript keytool pack200 rmid rmiregistry unpack200"
+ if [[ -d ${JRE_DIR} ]]; then
+ for jrebin in $JRE_BINARIES; do
+ fperms 755 "${dir}"/"${JRE_DIR}"/bin/"${jrebin}"
+ done
+ fi
+
+ # bundled script is always lowercase, and doesn't have -ultimate, -professional suffix.
+ local bundled_script_name="${PN#*-}.sh"
+
+ make_wrapper "${PN}" "${dir}/bin/$bundled_script_name" || die
+
+ local pngfile="$(find ${dst}/bin -maxdepth 1 -iname '*.png')"
+ newicon $pngfile "${PN}.png" || die "we died"
+ make_desktop_entry "/opt/intellij-idea/bin/idea" "IntelliJ IDEA" "${PN}" "Development;IDE;"
+
+ # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
+ mkdir -p "${D}/etc/sysctl.d/" || die
+ echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
+
+ # remove bundled harfbuzz
+ rm -f "${D}"/lib/libharfbuzz.so || die "Unable to remove bundled harfbuzz"
+}
diff --git a/dev-util/mingw64-runtime/Manifest b/dev-util/mingw64-runtime/Manifest
index bc142425c417..2d38691c3c15 100644
--- a/dev-util/mingw64-runtime/Manifest
+++ b/dev-util/mingw64-runtime/Manifest
@@ -1 +1,2 @@
DIST mingw-w64-v13.0.0.tar.bz2 10868704 BLAKE2B 60f041e9a03f70e78217d169dc0f892fef1be3d242237f842f09cc755e8bd8efc9586f6a05475b427dc46bdef3d30619ad33e9c959775b22e27fad7dff93c677 SHA512 39a22bd92465f571df1d90ac80b88dc6846998f71e4b7db79d1c9aa6e04cb3e41b632990a7238fc2c384ea67e4a77d103230db2c0d741869340d24ea79b6dda8
+DIST mingw-w64-v14.0.0.tar.bz2 11163292 BLAKE2B 30ba0d6c8f7b12e818ab9bb651eef186039a882718ebedd720ce97945c31615724745ce3f255d1212df3d7b089bb55d02c12a4d4c8edce3b5ef7c5d323bff210 SHA512 17378a0e2abbbb688468a78cb0ba261f9001a1bc6e7d0270c24c4b8b13e5c6513e8fb8e617d08102fbc772c288ad81ec3a43ca756ed28f17cc5543f717a8bb6d
diff --git a/dev-util/mingw64-runtime/mingw64-runtime-14.0.0.ebuild b/dev-util/mingw64-runtime/mingw64-runtime-14.0.0.ebuild
new file mode 100644
index 000000000000..4690c2a03d95
--- /dev/null
+++ b/dev-util/mingw64-runtime/mingw64-runtime-14.0.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit crossdev dot-a flag-o-matic toolchain-funcs
+
+DESCRIPTION="Free Win64 runtime and import library definitions"
+HOMEPAGE="https://www.mingw-w64.org/"
+SRC_URI="https://downloads.sourceforge.net/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.bz2"
+S=${WORKDIR}/mingw-w64-v${PV}
+
+LICENSE="ZPL BSD BSD-2 ISC LGPL-2+ LGPL-2.1+ MIT public-domain tools? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# default-ucrt: enabling requires to be done during the bootstrap process
+# or else will cause e.g. undefined reference to __intrinsic_setjmpex
+# (TODO?: ucrt became the upstream default in mingw-runtime-12.0.0, eventually
+# may need to consider default here too which may need a news item)
+# libraries: needs working stage2 compiler (bug #665512)
+IUSE="default-ucrt headers-only idl libraries tools"
+RESTRICT="strip" # portage would use the wrong strip executable
+
+pkg_setup() {
+ # save current state given CHOST is changed in src_configure
+ target_is_not_host && MW_CROSS=true || MW_CROSS=false
+ [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] &&
+ die "Invalid configuration, please see: https://wiki.gentoo.org/wiki/Mingw"
+}
+
+mingw-foreach_tool() {
+ use !tools || use headers-only && return
+
+ local tool=widl
+ if use !amd64 && use !x86 && use !arm64 && use !arm; then
+ einfo "Skipping widl due to unsupported platform" #853250
+ tool=
+ fi
+
+ for tool in gendef genidl ${tool}; do
+ # not using top-level --with-tools given it skips widl
+ pushd mingw-w64-tools/${tool} >/dev/null || die
+ "${@}"
+ popd >/dev/null || die
+ done
+}
+
+src_configure() {
+ lto-guarantee-fat
+
+ # native tools, see #644556
+ local toolsconf=()
+ # normally only widl is prefixed, but avoids clash with other targets
+ ${MW_CROSS} && toolsconf+=( --program-prefix=${CTARGET}- )
+
+ mingw-foreach_tool econf "${toolsconf[@]}"
+
+ MW_LDFLAGS=${LDFLAGS} # keep non-stripped for gendef not respecting it
+
+ # likely cross-compiling from here, update toolchain variables
+ if ${MW_CROSS} && [[ ! -v MINGW_BYPASS ]]; then
+ unset AR AS CC CPP CXX DLLTOOL LD NM OBJCOPY OBJDUMP RANLIB RC STRIP
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+ fi
+ CHOST=${CTARGET} # also used by strip-lto-bytecode in src_install
+
+ # 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
+ tc-is-gcc && append-flags -mno-avx
+
+ strip-unsupported-flags
+
+ # Normally mingw64 does not use dynamic linker, but at configure time it
+ # uses LDFLAGS. When -Wl,--hash-style=gnu is passed __CTORS_LIST__ /
+ # __DTORS_LIST__ is misdetected for target and binaries crash at shutdown.
+ # Note: typically also stripped by strip-unsupported-flags, but not during
+ # USE=headers-only and potentially other configurations (kept as safety).
+ filter-ldflags '-Wl,--hash-style=*'
+
+ local prefix=${EPREFIX}/usr
+ ${MW_CROSS} && prefix+=/${CTARGET}/usr
+
+ local conf=(
+ --prefix="${prefix}"
+ --libdir="${prefix}"/lib
+ --with-default-msvcrt=$(usex default-ucrt ucrt msvcrt-os)
+ $(use_with !headers-only crt)
+
+ # By default configure tries to set --sysroot=${prefix}. We disable
+ # this behaviour with --with-sysroot=no to use gcc's sysroot default.
+ # That way we can cross-build mingw64-runtime with cross-emerge.
+ --with-sysroot=no
+ )
+
+ if use !headers-only; then
+ conf+=(
+ $(use_enable idl)
+ $(use_with libraries)
+ )
+
+ # prefer tuple to determine if should do 32 or 64bits, but fall
+ # back to cpp test if missing (bug #584858, see also #840662)
+ local b32=true
+ case ${CHOST} in
+ x86_64-*) b32=false;;
+ i*86-*) ;;
+ *) [[ $($(tc-getCPP) -dM - <<<'') =~ __MINGW64__ ]] && b32=false;;
+ esac
+ ${b32} &&
+ conf+=( --enable-lib32 --disable-lib64 ) ||
+ conf+=( --disable-lib32 --enable-lib64 )
+
+ # prepare temporary headers install to build against same-version
+ mkdir ../headers || die
+ pushd ../headers >/dev/null || die
+ ECONF_SOURCE=${S} econf --prefix="${T}"/root --without-crt
+ popd >/dev/null || die
+
+ append-cppflags "-I${T}/root/include"
+ fi
+
+ econf "${conf[@]}"
+}
+
+src_compile() {
+ use headers-only || emake -C ../headers install
+ emake
+ mingw-foreach_tool emake LDFLAGS="${MW_LDFLAGS}"
+}
+
+src_install() {
+ default
+
+ mingw-foreach_tool emake DESTDIR="${D}" install
+
+ if ${MW_CROSS}; then
+ # gcc is configured to look at specific hard-coded paths for mingw #419601
+ dosym usr /usr/${CTARGET}/mingw
+ dosym usr /usr/${CTARGET}/${CTARGET}
+ dosym usr/include /usr/${CTARGET}/sys-include
+ fi
+
+ rm -r -- "${ED}"/usr/share || die
+
+ strip-lto-bytecode
+}
diff --git a/dev-util/mingw64-toolchain/Manifest b/dev-util/mingw64-toolchain/Manifest
index d1eb20463573..d2c06eba0276 100644
--- a/dev-util/mingw64-toolchain/Manifest
+++ b/dev-util/mingw64-toolchain/Manifest
@@ -1,3 +1,5 @@
DIST binutils-2.45.1.tar.xz 27962312 BLAKE2B 1ccab38659ec47f9100b61322627345fe79ebd04ed0b1e872c988edded4d292d7c9ac33d9f6ea47bf265ec823dfba60da0e84374900c15ec89e3aa9280ac020c SHA512 ea030419eba387579ab717be7e3223fc99e93b586860b06003c12489f93441640d4082736f76aa5e98233db4f46e232f536a45e471486de1f5b64e1b827c167e
+DIST binutils-2.46.0.tar.xz 28548776 BLAKE2B 9f4fd8897d237eb5003bdf439537dfc5f8c681e9ff939fb06bb8235ed298031ea4cc91611edb640ffc432199d5791289d003fe0d07acce80327dc40595a5eb9e SHA512 32f880bb4f69351f4ae54a5d00359625c6c49d8e76624fb5cffdf174c79c8d3212f66225b81c12933c6ed59604ab652560773dd92fab384b930c97a9d4e1fdf2
DIST gcc-15.2.0.tar.xz 101056276 BLAKE2B e270320978ca690e6e8f5ef06414dc13caf561f16403a3783c76fbf3dcee57e755a2d5bba922bf7fcae0bb6120443755d819b003791ae823d54589dd799804de SHA512 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de
DIST mingw-w64-v13.0.0.tar.bz2 10868704 BLAKE2B 60f041e9a03f70e78217d169dc0f892fef1be3d242237f842f09cc755e8bd8efc9586f6a05475b427dc46bdef3d30619ad33e9c959775b22e27fad7dff93c677 SHA512 39a22bd92465f571df1d90ac80b88dc6846998f71e4b7db79d1c9aa6e04cb3e41b632990a7238fc2c384ea67e4a77d103230db2c0d741869340d24ea79b6dda8
+DIST mingw-w64-v14.0.0.tar.bz2 11163292 BLAKE2B 30ba0d6c8f7b12e818ab9bb651eef186039a882718ebedd720ce97945c31615724745ce3f255d1212df3d7b089bb55d02c12a4d4c8edce3b5ef7c5d323bff210 SHA512 17378a0e2abbbb688468a78cb0ba261f9001a1bc6e7d0270c24c4b8b13e5c6513e8fb8e617d08102fbc772c288ad81ec3a43ca756ed28f17cc5543f717a8bb6d
diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-14.0.0.ebuild b/dev-util/mingw64-toolchain/mingw64-toolchain-14.0.0.ebuild
new file mode 100644
index 000000000000..640e7147a963
--- /dev/null
+++ b/dev-util/mingw64-toolchain/mingw64-toolchain-14.0.0.ebuild
@@ -0,0 +1,371 @@
+# Copyright 2022-2026 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.46.0
+GCC_PV=15.2.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:=
+ virtual/libiconv
+ virtual/zlib:=
+ 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
+)
+
+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
+ --disable-werror
+ --with-system-zlib
+ --without-debuginfod
+ --without-msgpack
+ --without-xxhash
+ --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
+
+ # TODO: can likely remove this when bump to >=gcc-15.3 (bug #966990)
+ CXX="$(tc-getCXX) -std=c++14"
+ )
+ ${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
+
+ # ucrt has not been tested and migration needs looking into, force
+ # msvcrt-os for now (if really want this either use crossdev or
+ # override using MWT_MINGW64_{HEADERS,RUNTIME}_CONF=... env vars)
+ --with-default-msvcrt=msvcrt-os
+ )
+ mwt-mingw64_headers() { ln -s ${CTARGET} "${sysroot}"/mingw || die; } #419601
+
+ local conf_mingw64_runtime=(
+ --with-crt
+ --with-default-msvcrt=msvcrt-os # match with headers
+ )
+ ${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] <path/package-name> [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
+}
+
+pkg_postrm() {
+ use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] &&
+ eselect compiler-shadow clean all
+}