commit:     1963be8bc0976d927f21319d2372ef3f3e3541d1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  4 22:23:15 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb  4 22:23:56 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1963be8b

dev-util/godcc: new package, add 1.0

I've started working on eclass integration for flag-o-matic.eclass and
toolchain-funcs.eclass which will resolve some TODOs here.

Also about to report the LTO & autoconf bugs.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/godcc/Manifest              |  1 +
 dev-util/godcc/files/godbolt.stunnel |  7 +++++
 dev-util/godcc/godcc-1.0.ebuild      | 58 ++++++++++++++++++++++++++++++++++++
 dev-util/godcc/metadata.xml          |  8 +++++
 4 files changed, 74 insertions(+)

diff --git a/dev-util/godcc/Manifest b/dev-util/godcc/Manifest
new file mode 100644
index 000000000000..03bba5179fcb
--- /dev/null
+++ b/dev-util/godcc/Manifest
@@ -0,0 +1 @@
+DIST godcc-1.0.tar.gz 251780 BLAKE2B 
d0304b05d8ee2afdebf61ff5f7723f3568c3a176f697c889b4649ca56e318ab505fefde9b4790c4b0df0b624f104c5937cf45c7186eff1f4d88d41dc39beaff3
 SHA512 
eabd91502a5c09fa57aa2e4fce6c8cd281b425cee0f38cebcda5605d337554849ae991646a1acf131798bf5bc9dd1bd227e0be360a715d27c8911640bf3da5e7

diff --git a/dev-util/godcc/files/godbolt.stunnel 
b/dev-util/godcc/files/godbolt.stunnel
new file mode 100644
index 000000000000..8a39dbe82bfd
--- /dev/null
+++ b/dev-util/godcc/files/godbolt.stunnel
@@ -0,0 +1,7 @@
+sslVersion = all
+foreground = yes
+
+[remote]
+client = yes
+accept = 8888
+connect = godbolt.org:443

diff --git a/dev-util/godcc/godcc-1.0.ebuild b/dev-util/godcc/godcc-1.0.ebuild
new file mode 100644
index 000000000000..0175de4a6c68
--- /dev/null
+++ b/dev-util/godcc/godcc-1.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Full-fledged command-line interface to Compiler Explorer 
instances"
+# https://jemarch.net/godcc 404s for now
+HOMEPAGE="https://git.sr.ht/~jemarch/godcc";
+SRC_URI="https://jemarch.net/${P}.tar.gz";
+
+LICENSE="GPL-3+"
+SLOT="0"
+#KEYWORDS="~amd64"
+
+RDEPEND="dev-libs/boehm-gc"
+DEPEND="${RDEPEND}"
+# TODO: We will want a pkg_pretend check for whether the active compiler
+# supports algol68 once eclass support is there.
+BDEPEND="
+       sys-devel/gcc[algol68(-)]
+"
+
+src_configure() {
+       # This hack is needed as flag-o-matic.eclass doesn't yet support
+       # Algol 68, WIP.
+       export A68FLAGS="${A68FLAGS:--O2} -ftrampoline-impl=heap"
+
+       default
+}
+
+src_compile() {
+       # Workaround autoconf bug where configure-time A68FLAGS get
+       # clobbered to -O2 -g.
+       #
+       # -fno-lto because of -Wlto-type-mismatch with prelude
+       emake A68FLAGS="${A68FLAGS} -fno-lto"
+}
+
+src_install() {
+       default
+
+       dodoc "${FILESDIR}"/godbolt.stunnel
+}
+
+pkg_postinst() {
+       # 
https://git.sr.ht/~jemarch/godcc/tree/b49882aec95f56486bc2d08d3c324145c6a8d6c0/item/README.md
+       if [[ -z ${REPLACING_VERSIONS} ]] ; then
+               einfo "Unless running your own Compiler Explorer instance 
locally,"
+               einfo "you will likely need to run a proxy to strip HTTPS. The 
recommended"
+               einfo "setup for this is with net-misc/stunnel."
+               einfo ""
+               einfo "An example config is installed at 
${BROOT}/usr/share/doc/${PF}/godbolt.stunnel,"
+               einfo "which can be used as:"
+               einfo " # stunnel godbolt.stunnel"
+               einfo " $ export GODCC_CEHOST=localhost GODCC_CEPORT=8888"
+               einfo " $ godcc ..."
+       fi
+}

diff --git a/dev-util/godcc/metadata.xml b/dev-util/godcc/metadata.xml
new file mode 100644
index 000000000000..641cbd3703e7
--- /dev/null
+++ b/dev-util/godcc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+</pkgmetadata>

Reply via email to