summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/htmltidy')
-rw-r--r--app-text/htmltidy/Manifest3
-rw-r--r--app-text/htmltidy/files/11CVE-2015-5522.patch34
-rw-r--r--app-text/htmltidy/files/htmltidy-20090325-tidyrc.patch31
-rw-r--r--app-text/htmltidy/files/htmltidy-5.10.26-strip-O2-flag.patch12
-rw-r--r--app-text/htmltidy/files/htmltidy-5.8.0-no_static_lib.patch37
-rw-r--r--app-text/htmltidy/files/htmltidy-5.8.0-ol_type.patch29
-rw-r--r--app-text/htmltidy/htmltidy-20090325-r2.ebuild79
-rw-r--r--app-text/htmltidy/htmltidy-5.8.0-r2.ebuild74
-rw-r--r--app-text/htmltidy/metadata.xml14
9 files changed, 151 insertions, 162 deletions
diff --git a/app-text/htmltidy/Manifest b/app-text/htmltidy/Manifest
index 64a9b40c6242..4df9f10537d4 100644
--- a/app-text/htmltidy/Manifest
+++ b/app-text/htmltidy/Manifest
@@ -1,2 +1 @@
-DIST tidy-20090325-doc.tar.bz2 13319 BLAKE2B c55c5e10cdfbf0eb62685955cad24f628c21e612bd12c41018c139b3b93db95cc201888f6766d7f68f2d1c4d4cfb2cab25b668eff0d2d241462f4cf9b65e79e1 SHA512 0224d1f839f3829a9c879eba8a98ceee3b0c9f8bfe1721076859714428d534f492acd11e49992fccc2e45afd64d79067793c90f7af06d623ef89e7c16dfee35b
-DIST tidy-20090325.tar.bz2 382016 BLAKE2B 3373e94d54cfef866e701e2e258be821b8749dbbbc37b10e4e4e4ba6d7f5995676161ac11bc6a2497f5e02c3907f680fabe9ac6dec2f2365aeb39c03b9697e0a SHA512 daeab2c3dd7f1248a5dbc1585267a8fdb0be09a940b79c3e53c97051f692cf85ea9f0a267f37e1c877054b77efb836d422a1e7ff61b22b383a2d2ac08939b970
+DIST htmltidy-5.8.0.tar.gz 1015303 BLAKE2B e8e48cfdcfffb7c7ac494f71ba709361e21fcbe5cfbd56c29d9d67ffe11fcdc20aa03aace65e6dc5315988dc0dd1fc148be616549f4f84f37928e662633bd7ec SHA512 f352165bdda5d1fca7bba3365560b64d6f70a4e010821cd246cde43bed5c23cea3408d461d3f889110fd35ec9b68aa2b4e95412b07775eb852b7ee1745007a44
diff --git a/app-text/htmltidy/files/11CVE-2015-5522.patch b/app-text/htmltidy/files/11CVE-2015-5522.patch
deleted file mode 100644
index b4d6158ea04a..000000000000
--- a/app-text/htmltidy/files/11CVE-2015-5522.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c18f27a58792f7fbd0b30a0ff50d6b40a82f940d Mon Sep 17 00:00:00 2001
-From: Geoff McLane <ubuntu@geoffair.info>
-Date: Wed, 3 Jun 2015 20:26:03 +0200
-Subject: [PATCH] Issue #217 - avoid len going negative, ever...
-
----
- src/lexer.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/lexer.c b/src/lexer.c
-index 376a3d8..664f806 100644
---- a/src/lexer.c
-+++ b/src/lexer.c
-@@ -3739,16 +3740,17 @@ static tmbstr ParseValue( TidyDocImpl* doc, ctmbstr name,
- /* and prompts attributes unless --literal-attributes is set to yes */
- /* #994841 - Whitespace is removed from value attributes */
-
-- if (munge &&
-+ /* Issue #217 - Also only if/while (len > 0) - MUST NEVER GO NEGATIVE! */
-+ if ((len > 0) && munge &&
- TY_(tmbstrcasecmp)(name, "alt") &&
- TY_(tmbstrcasecmp)(name, "title") &&
- TY_(tmbstrcasecmp)(name, "value") &&
- TY_(tmbstrcasecmp)(name, "prompt"))
- {
-- while (TY_(IsWhite)(lexer->lexbuf[start+len-1]))
-+ while (TY_(IsWhite)(lexer->lexbuf[start+len-1]) && (len > 0))
- --len;
-
-- while (TY_(IsWhite)(lexer->lexbuf[start]) && start < len)
-+ while (TY_(IsWhite)(lexer->lexbuf[start]) && (start < len) && (len > 0))
- {
- ++start;
- --len;
diff --git a/app-text/htmltidy/files/htmltidy-20090325-tidyrc.patch b/app-text/htmltidy/files/htmltidy-20090325-tidyrc.patch
deleted file mode 100644
index 942a61e1464c..000000000000
--- a/app-text/htmltidy/files/htmltidy-20090325-tidyrc.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: tidy-20090325/include/platform.h
-===================================================================
---- tidy-20090325.orig/include/platform.h
-+++ tidy-20090325/include/platform.h
-@@ -24,7 +24,7 @@ extern "C" {
- */
-
- /* #define TIDY_CONFIG_FILE "/etc/tidy_config.txt" */ /* original */
--/* #define TIDY_CONFIG_FILE "/etc/tidyrc" */
-+#define TIDY_CONFIG_FILE "/etc/tidyrc"
- /* #define TIDY_CONFIG_FILE "/etc/tidy.conf" */
-
- /*
-@@ -33,7 +33,7 @@ extern "C" {
- It enables tidy to find config files named ~/.tidyrc if
- the HTML_TIDY environment variable is not set.
- */
--/* #define TIDY_USER_CONFIG_FILE "~/.tidyrc" */
-+#define TIDY_USER_CONFIG_FILE "~/.tidyrc"
-
- /*
- Uncomment the following #define if your
-@@ -48,7 +48,7 @@ extern "C" {
- Contributed by Todd Lewis.
- */
-
--/* #define SUPPORT_GETPWNAM */
-+#define SUPPORT_GETPWNAM
-
-
- /* Enable/disable support for Big5 and Shift_JIS character encodings */
diff --git a/app-text/htmltidy/files/htmltidy-5.10.26-strip-O2-flag.patch b/app-text/htmltidy/files/htmltidy-5.10.26-strip-O2-flag.patch
deleted file mode 100644
index 4c805cf2226f..000000000000
--- a/app-text/htmltidy/files/htmltidy-5.10.26-strip-O2-flag.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN tidy.old/configure.in tidy-26/configure.in
---- tidy.old/configure.in 2006-02-13 17:17:49.000000000 +0100
-+++ tidy-26/configure.in 2006-02-13 17:17:20.000000000 +0100
-@@ -72,7 +72,7 @@
- if test $debug_build = yes; then
- CFLAGS="$save_cflags -g"
- else
-- CFLAGS="-O2 $save_cflags"
-+ CFLAGS="$save_cflags"
- fi
- #
- # =============================================
diff --git a/app-text/htmltidy/files/htmltidy-5.8.0-no_static_lib.patch b/app-text/htmltidy/files/htmltidy-5.8.0-no_static_lib.patch
new file mode 100644
index 000000000000..476db036730f
--- /dev/null
+++ b/app-text/htmltidy/files/htmltidy-5.8.0-no_static_lib.patch
@@ -0,0 +1,37 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -393,34 +393,7 @@
+ endif ()
+
+
+-#------------------------------------------------------------------------
+-# Static Library
+-# The static library always builds.
+-#------------------------------------------------------------------------
+-set(name tidy-static)
+-add_library ( ${name} STATIC ${CFILES} ${HFILES} ${LIBHFILES} )
+-if (WIN32)
+- set_target_properties( ${name} PROPERTIES
+- OUTPUT_NAME ${LIB_NAME}_static )
+-else ()
+- set_target_properties( ${name} PROPERTIES
+- OUTPUT_NAME ${LIB_NAME} )
+-
+-endif ()
+-if (NOT TIDY_CONSOLE_SHARED) # user wants default static linkage
+- list ( APPEND add_LIBS ${name} )
+-endif ()
+-install(TARGETS ${name}
+- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+- )
+ install( FILES ${HFILES} DESTINATION ${INCLUDE_INSTALL_DIR} )
+-if(MSVC)
+- # install(FILES $<TARGET_PDB_FILE:${name}> DESTINATION lib OPTIONAL)
+- INSTALL(FILES ${PROJECT_BINARY_DIR}/${name}.dir/Debug/${name}.pdb
+- DESTINATION lib CONFIGURATIONS Debug )
+-endif()
+
+ #------------------------------------------------------------------------
+ # Dynamic Library
diff --git a/app-text/htmltidy/files/htmltidy-5.8.0-ol_type.patch b/app-text/htmltidy/files/htmltidy-5.8.0-ol_type.patch
new file mode 100644
index 000000000000..22d716f01561
--- /dev/null
+++ b/app-text/htmltidy/files/htmltidy-5.8.0-ol_type.patch
@@ -0,0 +1,29 @@
+https://github.com/htacg/tidy-html5/issues/1012
+https://bugs.gentoo.org/916074
+
+commit e411ad0d2582471fe0961900b2789ee8b5b9cc4c
+Author: Markus Pister <pister@absint.com>
+Date: Wed Jan 5 08:30:10 2022 +0100
+
+ Attribute 'type' in tag 'ol' allowed for (X)HTML5
+
+ Mark the attribute 'type' as allowed for tag 'ol' in (X)HTML5.
+
+ The attribute type was deprecated in HTML4. This decision was reverted
+ for HTML5, see
+
+ https://www.w3.org/TR/2014/NOTE-html5-diff-20141209/#changed-attributes
+
+ This fixes htacg#1012.
+
+--- a/src/attrdict.c
++++ b/src/attrdict.c
+@@ -2321,7 +2321,7 @@ const AttrVersion TY_(W3CAttrsFor_OL)[] =
+ { TidyAttr_START, xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
+ { TidyAttr_STYLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
+ { TidyAttr_TITLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
+- { TidyAttr_TYPE, xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx },
++ { TidyAttr_TYPE, xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
+ { TidyAttr_XMLNS, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|XB10|HT50|XH50 }, /* CORE override */
+ { TidyAttr_XML_LANG, xxxx|xxxx|xxxx|xxxx|X10T|xxxx|xxxx|X10F|xxxx|xxxx|X10S|XH11|XB10|xxxx|XH50 }, /* CORE override */
+ INCLUDE_CORE_ATTRIBS
diff --git a/app-text/htmltidy/htmltidy-20090325-r2.ebuild b/app-text/htmltidy/htmltidy-20090325-r2.ebuild
deleted file mode 100644
index dcca33053d66..000000000000
--- a/app-text/htmltidy/htmltidy-20090325-r2.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-MY_PN="tidy"
-MY_P="${MY_PN}-${PV}"
-
-inherit epatch autotools
-
-DESCRIPTION="Tidy the layout and correct errors in HTML and XML documents"
-HOMEPAGE="http://tidy.sourceforge.net/"
-SRC_URI="mirror://gentoo/${MY_P}.tar.bz2
- mirror://gentoo/${MY_P}-doc.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- # Required to setup the source dist for autotools
- einfo "Setting up autotools for source build"
- cp -R ./build/gnuauto/* . || die "could not prepare autotools environment"
-
- # Stop tidy from appending -O2 to our CFLAGS
- epatch "${FILESDIR}"/htmltidy-5.10.26-strip-O2-flag.patch
-
- # Define /etc/tidyrc for system wide config, bug 154834
- epatch "${FILESDIR}"/htmltidy-20090325-tidyrc.patch
-
- # Fix security bug 561452
- epatch "${FILESDIR}"/11CVE-2015-5522.patch
-
- eautoreconf
-}
-
-src_compile() {
- default
-
- if use doc ; then
- doxygen htmldoc/doxygen.cfg || die "error making apidocs"
- fi
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm -f {} +
-
- # Now the man page is provided as an xsl file, which
- # we can't use until htmltidy is merged.
- # I have generated the man page and quickref which is on
- # the mirrors. (bug #132429)
- doman "${WORKDIR}"/"${MY_P}"-doc/tidy.1
-
- # Fix name before installing
- mv "${WORKDIR}"/"${MY_P}"-doc/quickref-html \
- "${WORKDIR}"/"${MY_P}"-doc/quickref.html
-
- cd "${S}"/htmldoc
- # Install basic html documentation
- dohtml *.html *.css *.gif "${WORKDIR}"/"${MY_P}"-doc/quickref.html
-
- # If use 'doc' is set, then we also want to install the
- # api documentation
- use doc && dohtml -r api
-}
diff --git a/app-text/htmltidy/htmltidy-5.8.0-r2.ebuild b/app-text/htmltidy/htmltidy-5.8.0-r2.ebuild
new file mode 100644
index 000000000000..a0d767ef3275
--- /dev/null
+++ b/app-text/htmltidy/htmltidy-5.8.0-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+inherit cmake ruby-ng
+
+MY_PN="tidy-html5"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tidy the layout and correct errors in HTML and XML documents"
+HOMEPAGE="https://www.html-tidy.org/"
+SRC_URI="https://github.com/htacg/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/58" # subslot is SOVERSION
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="deprecated test"
+
+RESTRICT="!test? ( test )"
+ruby_add_bdepend "test? ( dev-ruby/thor dev-ruby/tty-editor )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-no_static_lib.patch
+ "${FILESDIR}"/${PN}-5.8.0-ol_type.patch
+)
+
+DOCS=( README.md README/CHANGELOG.md )
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ use test && ruby-ng_pkg_setup
+}
+
+src_unpack() {
+ # suppress ruby-ng export
+ default
+}
+
+src_prepare() {
+ # suppress ruby-ng export
+ cmake_src_prepare
+}
+
+src_compile() {
+ # suppress ruby-ng export
+ cmake_src_compile
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTIDY_CONSOLE_SHARED=ON
+ )
+ use deprecated && mycmakeargs+=(
+ -DBUILD_TAB2SPACE=ON
+ -DTIDY_COMPAT_HEADERS=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cd regression_testing || die
+ rm -f Gemfile.lock
+ ${RUBY} ./test.rb test -t "${BUILD_DIR}/tidy" || die "Test execution failed"
+}
+
+src_install() {
+ cmake_src_install
+ use deprecated && dobin "${BUILD_DIR}"/tab2space
+}
diff --git a/app-text/htmltidy/metadata.xml b/app-text/htmltidy/metadata.xml
index 295e70001214..88aa1fd61eb2 100644
--- a/app-text/htmltidy/metadata.xml
+++ b/app-text/htmltidy/metadata.xml
@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
<upstream>
- <remote-id type="cpe">cpe:/a:html-tidy:tidy</remote-id>
- <remote-id type="sourceforge">tidy</remote-id>
+ <remote-id type="cpe">cpe:/a:htacg:tidy</remote-id>
+ <remote-id type="github">htacg/tidy-html5</remote-id>
</upstream>
+ <use>
+ <flag name="deprecated">Install tools and header files which are now considered deprecated</flag>
+ </use>
</pkgmetadata>