diff --git a/x11-libs/fox/Manifest b/x11-libs/fox/Manifest index 7a65c8fc236c8..c0d56e401954a 100644 --- a/x11-libs/fox/Manifest +++ b/x11-libs/fox/Manifest @@ -1,2 +1,3 @@ DIST fox-1.6.57.tar.gz 4284018 BLAKE2B 3efbc6188225f9444fbd347359e8b4041a08fe654acb99c48e4966e501a2f72a44863f2e9b60ae810a259951f89cfc27b9a8b6341e029627066712e0dbf20e40 SHA512 e7b91054a9ea674818803415284cb61572935d22466e446cb37ef68344e2684e8acd567f7c8a6912f939dcbcc37455119ad6a01ac30513f460d0b3937b7e6087 DIST fox-1.7.85.tar.gz 5912948 BLAKE2B ba9b224212efd91e4643e4f97bfd571802c48bf379239a4f580f820e1f6d8c8d55c321febfd42b4dfc7b366715e893365cd198c4cb9c22c5fb8c525b16b1f888 SHA512 7a67d564c69ddac1a9dec62837943ec7aabd951c72715ac12300f728f0fad3365e39cdbf7fe1ab31e0ae8cf11381d62eaeb3edb64d1773d4cd2279db4fd280d8 +DIST fox-1.7.89.tar.gz 5963863 BLAKE2B b0a2f019bf91962fb8e039901fc98d181c19637d3360ea86c507c86d985fd4a6c10c87a654588db990559421cc1d6ec49015e1e44a972da2012095d7e20d3d81 SHA512 38a9956a43b6c9af135d853b25bb0a242597f6b6c95a1a4826c29aa6a52f2c6f20ec58bff9175eca53316170ea3e23e2a87191998720ded75c4b92888cca3f6b diff --git a/x11-libs/fox/files/fox-1.7.89-sanitize.patch b/x11-libs/fox/files/fox-1.7.89-sanitize.patch new file mode 100644 index 0000000000000..61aab806f712a --- /dev/null +++ b/x11-libs/fox/files/fox-1.7.89-sanitize.patch @@ -0,0 +1,33 @@ +diff '--color=auto' -ru fox-1.7.89-orig/configure.ac fox-1.7.89/configure.ac +--- fox-1.7.89-orig/configure.ac 2026-03-03 15:59:25.946665867 +0100 ++++ fox-1.7.89/configure.ac 2026-03-03 15:59:40.625259877 +0100 +@@ -65,9 +65,6 @@ + AC_SUBST(LT_REVISION) + AC_SUBST(LT_AGE) + +-# Prevents setting flags. +-CXXFLAGS="" +- + # More secret source + AC_USE_SYSTEM_EXTENSIONS + +@@ -144,7 +141,6 @@ + CXXFLAGS="${CXXFLAGS} -O2 -DNDEBUG" + if test "${GXX}" = "yes" ; then + CXXFLAGS="${CXXFLAGS} -ffast-math -fstrict-overflow -fstrict-aliasing -finline-functions -fomit-frame-pointer " +- LDFLAGS="-s ${LDFLAGS}" + fi + fi + +diff '--color=auto' -ru fox-1.7.89-orig/Makefile.am fox-1.7.89/Makefile.am +--- fox-1.7.89-orig/Makefile.am 2026-03-03 15:59:25.954180200 +0100 ++++ fox-1.7.89/Makefile.am 2026-03-03 15:59:53.105434761 +0100 +@@ -3,7 +3,7 @@ + # For non-gcc compilers, change the options to "no-dependencies" + AUTOMAKE_OPTIONS = foreign dist-zip + +-SUBDIRS = utils include lib chart doc tests shutterbug adie pathfinder calculator controlpanel glviewer windows ++SUBDIRS = utils include lib chart doc tests shutterbug adie pathfinder calculator controlpanel glviewer + EXTRA_DIST = ADDITIONS AUTHORS INSTALL LICENSE LICENSE_ADDENDUM TRACING README fox.spec fox-config index.html aclocal.m4 + + bin_SCRIPTS = fox-config diff --git a/x11-libs/fox/fox-1.7.89.ebuild b/x11-libs/fox/fox-1.7.89.ebuild new file mode 100644 index 0000000000000..86d503d380016 --- /dev/null +++ b/x11-libs/fox/fox-1.7.89.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="C++ Toolkit for developing Graphical User Interfaces easily and effectively" +HOMEPAGE="http://www.fox-toolkit.org/" +SRC_URI="http://fox-toolkit.org/ftp/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="1.7" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="+bzip2 +jpeg +opengl tiff +truetype +zlib debug doc profile tools" + +COMMON_DEPEND=" + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + bzip2? ( app-arch/bzip2 ) + jpeg? ( media-libs/libjpeg-turbo:= ) + opengl? ( virtual/glu virtual/opengl ) + tiff? ( media-libs/tiff:= ) + truetype? ( + media-libs/fontconfig + media-libs/freetype:2 + x11-libs/libXft + ) + zlib? ( virtual/zlib:= ) +" +RDEPEND=" + ${COMMON_DEPEND} + x11-libs/fox-wrapper +" +DEPEND=" + ${COMMON_DEPEND} + x11-base/xorg-proto + x11-libs/libXt +" +BDEPEND="doc? ( app-text/doxygen )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.84-pthread_rwlock_prefer_writer_np-musl.patch + "${FILESDIR}"/${PN}-1.7.89-sanitize.patch + "${FILESDIR}"/${PN}-1.7.85-tools.patch + # fix from snapshot-1.7.86. to remove in the next release. + "${FILESDIR}"/${PN}-1.7.85-fix-metaclass-header.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # -Werror=strict-aliasing (bug #864412, bug #940648) + # Do not trust it for LTO either. + append-flags -fno-strict-aliasing + filter-lto + + use debug || append-cppflags -DNDEBUG + + # Not using --enable-release because of the options it sets like no SSP + econf \ + $(use_enable debug) \ + $(use_enable bzip2 bz2lib) \ + $(use_enable jpeg) \ + $(use_with opengl) \ + $(use_enable tiff) \ + $(use_with truetype xft) \ + $(use_enable zlib) \ + $(use_with profile profiling) \ + $(use_with tools) +} + +src_compile() { + emake + use doc && emake -C doc docs +} + +src_install() { + emake install \ + DESTDIR="${D}" \ + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ + artdir="${EPREFIX}"/usr/share/doc/${PF}/html/art \ + screenshotsdir="${EPREFIX}"/usr/share/doc/${PF}/html/screenshots + + local CP="${ED}"/usr/bin/ControlPanel + if [[ -f ${CP} ]]; then + mv "${CP}" "${ED}"/usr/bin/fox-ControlPanel-${SLOT} || \ + die "Failed to install ControlPanel" + fi + + dodoc ADDITIONS AUTHORS LICENSE_ADDENDUM README TRACING + + if use doc; then + # install class reference docs if USE=doc + docinto html + dodoc -r doc/ref + else + # remove documentation if USE=-doc + rm -rf "${ED}"/usr/share/doc/${PF}/html || die + fi + + # slot fox-config + if [[ -f ${ED}/usr/bin/fox-config ]] ; then + mv "${ED}"/usr/bin/fox-config "${ED}"/usr/bin/fox-${SLOT}-config \ + || die "failed to install fox-config" + fi + + # no static archives + find "${D}" -name '*.la' -delete || die +}