summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-tcltk/tdom/Manifest1
-rw-r--r--dev-tcltk/tdom/files/tdom-0.9.4-useCC.patch28
-rw-r--r--dev-tcltk/tdom/tdom-0.9.5.ebuild85
3 files changed, 114 insertions, 0 deletions
diff --git a/dev-tcltk/tdom/Manifest b/dev-tcltk/tdom/Manifest
index 47dc39f63ce2..b81e0a19949f 100644
--- a/dev-tcltk/tdom/Manifest
+++ b/dev-tcltk/tdom/Manifest
@@ -1 +1,2 @@
DIST tdom-0.9.3-src.tgz 1319804 BLAKE2B 8b4c50407eaf28c002ec8399d44881b91bef346dca75370c27e06266a5fa90900528a01fc8310d8a250f551e3a627d0d2965a2e85ef8a9132010f7718e5549ce SHA512 71a589465f84721f222b6312f51ee564d11d88a82000a0e5cc1dab4653bffd57347a39936590b62a580e9df59d7266ff3ae4295fe91ff4b9e58f012e80b0cb3e
+DIST tdom-0.9.5-src.tgz 1512934 BLAKE2B 4e706d5378f2421fc21742327fe40ac106488c7523f33e90261d05c3969797fa35d7e5f785346c9a83fa6aadeff53a9e11a710d4ce32c38db332018b9e997c49 SHA512 84b35ec00744d04f184638b95d6b34f008087f48852a8734ce17c491f6d4c5f1208a8dcc041b5a3bf0253af41ab91677ab2b2d978d00807c687585e41c909979
diff --git a/dev-tcltk/tdom/files/tdom-0.9.4-useCC.patch b/dev-tcltk/tdom/files/tdom-0.9.4-useCC.patch
new file mode 100644
index 000000000000..18af36b7792b
--- /dev/null
+++ b/dev-tcltk/tdom/files/tdom-0.9.4-useCC.patch
@@ -0,0 +1,28 @@
+--- a/tclconfig/tcl.m4 2024-11-05 20:59:09.219230897 +0100
++++ b/tclconfig/tcl.m4 2024-11-05 21:01:32.642430617 +0100
+@@ -423,7 +423,6 @@
+ AC_SUBST(TCL_STUB_LIB_SPEC)
+
+ AC_MSG_CHECKING([platform])
+- hold_cc=$CC; CC="$TCL_CC"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+ #ifdef _WIN32
+ #error win32
+@@ -436,7 +435,6 @@
+ TEA_PLATFORM="windows"
+ AC_CHECK_PROG(CYGPATH, cygpath, cygpath -m, echo)
+ ])
+- CC=$hold_cc
+ AC_MSG_RESULT($TEA_PLATFORM)
+
+ # The BUILD_$pkg is to define the correct extern storage class
+--- a/configure.ac 2024-11-05 21:02:53.670413146 +0100
++++ b/configure.ac 2024-11-05 21:03:19.630087072 +0100
+@@ -30,6 +30,7 @@
+ TEA_INIT()
+
+ AC_CONFIG_AUX_DIR(tclconfig)
++AC_CONFIG_SUBDIRS([extensions/tnc extensions/example])
+
+ #--------------------------------------------------------------------
+ # Load the tclConfig.sh file
diff --git a/dev-tcltk/tdom/tdom-0.9.5.ebuild b/dev-tcltk/tdom/tdom-0.9.5.ebuild
new file mode 100644
index 000000000000..6afb469b02ac
--- /dev/null
+++ b/dev-tcltk/tdom/tdom-0.9.5.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+MY_P="tDOM-${PV}"
+
+DESCRIPTION="A XML/DOM/XPath/XSLT Implementation for Tcl"
+HOMEPAGE="https://core.tcl.tk/tdom/"
+SRC_URI="http://tdom.org/downloads/${P}-src.tgz"
+
+S="${WORKDIR}"/${P}-src
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="threads"
+
+DEPEND="
+ dev-lang/tcl:0=
+ dev-libs/expat"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.4-useCC.patch
+ "${FILESDIR}"/${PN}-0.9.3-expat.patch
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ opendir64 rewinddir64 closedir64 stat64 # used to test for Large File Support
+ arc4random_buf arc4random # used for BSD
+)
+
+src_prepare() {
+ append-libs -lm
+ sed \
+ -e 's:-O2::g' \
+ -e 's:-pipe::g' \
+ -e 's:-fomit-frame-pointer::g' \
+ -e '/SHLIB_LD_LIBS/s:\"$: ${TCL_LIB_FLAG}":g' \
+ -i tclconfig/tcl.m4 || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable threads)
+ --enable-shared
+ --with-tcl="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ cd "${S}"/unix && ECONF_SOURCE=".." econf ${myeconfargs} \
+ --disable-tdomalloc --with-expat
+ cd "${S}"/extensions/tdomhtml && econf
+ cd "${S}"/extensions/tnc && econf ${myeconfargs}
+}
+
+src_compile() {
+ local dir
+
+ for dir in "${S}"/unix "${S}"/extensions/tnc; do
+ pushd ${dir} > /dev/null
+ emake
+ popd > /dev/null
+ done
+}
+
+src_test() {
+ cd unix && default
+}
+
+src_install() {
+ local dir
+
+ dodoc CHANGES ChangeLog README*
+
+ for dir in "${S}"/unix "${S}"/extensions/tdomhtml "${S}"/extensions/tnc; do
+ pushd ${dir} > /dev/null
+ emake DESTDIR="${D}" install
+ popd > /dev/null
+ done
+}