public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 1/2] latex-package.eclass: Properly quote variables
@ 2022-04-11 15:21 Ulrich Müller
  2022-04-11 15:21 ` [gentoo-dev] [PATCH 2/2] latex-package.eclass: Support EAPI 8 Ulrich Müller
  0 siblings, 1 reply; 2+ messages in thread
From: Ulrich Müller @ 2022-04-11 15:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: tex, Ulrich Müller

Bug: https://bugs.gentoo.org/379571
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
 eclass/latex-package.eclass | 40 +++++++++++++++++++------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index 359b5177bb37..bee04b607de1 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: latex-package.eclass
@@ -103,23 +103,24 @@ latex-package_src_doinstall() {
 		case ${1} in
 			"sh")
 				while IFS= read -r -d '' i; do
-					dobin ${i}
+					dobin "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
 				;;
 
 			"sty" | "cls" | "fd" | "clo" | "def" | "cfg")
 				while IFS= read -r -d '' i; do
-					insinto ${TEXMF}/tex/latex/${PN}
-					doins ${i}
+					insinto "${TEXMF}/tex/latex/${PN}"
+					doins "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
 				;;
 
 			"dvi" | "ps" | "pdf")
 				while IFS= read -r -d '' i; do
 					insinto /usr/share/doc/${PF}
-					doins ${i}
-					dosym /usr/share/doc/${PF}/$(basename ${i}) ${TEXMF}/doc/latex/${PN}/${i}
-					docompress -x /usr/share/doc/${PF}/$(basename ${i})
+					doins "${i}"
+					dosym "/usr/share/doc/${PF}/$(basename "${i}")" \
+						"${TEXMF}/doc/latex/${PN}/${i}"
+					docompress -x "/usr/share/doc/${PF}/$(basename "${i}")"
 				done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
 				;;
 
@@ -127,17 +128,18 @@ latex-package_src_doinstall() {
 				if ! in_iuse doc || use doc ; then
 					while IFS= read -r -d '' i; do
 						[[ -n ${LATEX_PACKAGE_SKIP} ]] &&
-						has ${i##*/} ${LATEX_PACKAGE_SKIP} &&
+						has "${i##*/}" ${LATEX_PACKAGE_SKIP} &&
 						continue
 
 						einfo "Making documentation: ${i}"
 						# some macros need compiler called twice, do it here.
-						set -- pdflatex ${LATEX_DOC_ARGUMENTS} --halt-on-error --interaction=nonstopmode ${i}
+						set -- pdflatex ${LATEX_DOC_ARGUMENTS} \
+							--halt-on-error --interaction=nonstopmode "${i}"
 						if "${@}"; then
 							"${@}"
 						else
 							einfo "pdflatex failed, trying texi2dvi"
-							texi2dvi -q -c --language=latex ${i} || die
+							texi2dvi -q -c --language=latex "${i}" || die
 						fi
 					done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
 				fi
@@ -145,27 +147,27 @@ latex-package_src_doinstall() {
 
 			"tfm" | "vf" | "afm")
 				while IFS= read -r -d '' i; do
-					insinto ${TEXMF}/fonts/${1}/${SUPPLIER}/${PN}
-					doins ${i}
+					insinto "${TEXMF}/fonts/${1}/${SUPPLIER}/${PN}"
+					doins "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
 				;;
 
 			"pfb")
 				while IFS= read -r -d '' i; do
-					insinto ${TEXMF}/fonts/type1/${SUPPLIER}/${PN}
-					doins ${i}
+					insinto "${TEXMF}/fonts/type1/${SUPPLIER}/${PN}"
+					doins "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.pfb" -print0)
 				;;
 			"ttf")
 				while IFS= read -r -d '' i; do
-					insinto ${TEXMF}/fonts/truetype/${SUPPLIER}/${PN}
-					doins ${i}
+					insinto "${TEXMF}/fonts/truetype/${SUPPLIER}/${PN}"
+					doins "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.ttf" -print0)
 				;;
 			"bst")
 				while IFS= read -r -d '' i; do
-					insinto ${TEXMF}/bibtex/bst/${PN}
-					doins ${i}
+					insinto "${TEXMF}/bibtex/bst/${PN}"
+					doins "${i}"
 				done < <(find -maxdepth 1 -type f -name "*.bst" -print0)
 				;;
 
@@ -201,7 +203,7 @@ latex-package_src_compile() {
 	debug-print function $FUNCNAME $*
 	while IFS= read -r -d '' i; do
 		einfo "Extracting from ${i}"
-		latex --halt-on-error --interaction=nonstopmode ${i} || die
+		latex --halt-on-error --interaction=nonstopmode "${i}" || die
 	done < <(find -maxdepth 1 -type f -name "*.ins" -print0)
 }
 
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-dev] [PATCH 2/2] latex-package.eclass: Support EAPI 8
  2022-04-11 15:21 [gentoo-dev] [PATCH 1/2] latex-package.eclass: Properly quote variables Ulrich Müller
@ 2022-04-11 15:21 ` Ulrich Müller
  0 siblings, 0 replies; 2+ messages in thread
From: Ulrich Müller @ 2022-04-11 15:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: tex, Ulrich Müller

Create symlinks with dosym -r. Use debug-print-function. Document TEXMF.

Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
 eclass/latex-package.eclass | 39 +++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index bee04b607de1..426444ba0427 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -7,7 +7,7 @@
 # @AUTHOR:
 # Matthew Turk <satai@gentoo.org>
 # Martin Ehmsen <ehmsen@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: An eclass for easy installation of LaTeX packages
 # @DESCRIPTION:
 # This eClass is designed to be easy to use and implement.  The vast majority of
@@ -51,6 +51,12 @@
 # you must either grab each file individually, or find a place to mirror an
 # archive of them.  (iBiblio)
 
+case ${EAPI} in
+	7) inherit eapi8-dosym ;;
+	8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 if [[ -z ${_LATEX_PACKAGE_ECLASS} ]]; then
 _LATEX_PACKAGE_ECLASS=1
 
@@ -58,14 +64,11 @@ RDEPEND="virtual/latex-base"
 DEPEND="${RDEPEND}
 	>=sys-apps/texinfo-4.2-r5"
 
-case ${EAPI:-0} in
-	[0-6])
-		die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;;
-	7)	;;
-	*)	die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;;
-esac
-
 HOMEPAGE="http://www.tug.org/"
+
+# @ECLASS_VARIABLE: TEXMF
+# @DESCRIPTION:
+# Top-level installation path.
 TEXMF="/usr/share/texmf-site"
 
 # @ECLASS_VARIABLE: SUPPLIER
@@ -90,7 +93,7 @@ LATEX_DOC_ARGUMENTS=""
 # It installs the files found in the current directory to the standard locations
 # for a TeX installation
 latex-package_src_doinstall() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 
 	# Avoid generating font cache outside of the sandbox
 	export VARTEXFONTS="${T}/fonts"
@@ -118,7 +121,9 @@ latex-package_src_doinstall() {
 				while IFS= read -r -d '' i; do
 					insinto /usr/share/doc/${PF}
 					doins "${i}"
-					dosym "/usr/share/doc/${PF}/$(basename "${i}")" \
+					local dosym=dosym
+					[[ ${EAPI} == 7 ]] && dosym=dosym8
+					${dosym} -r "/usr/share/doc/${PF}/$(basename "${i}")" \
 						"${TEXMF}/doc/latex/${PN}/${i}"
 					docompress -x "/usr/share/doc/${PF}/$(basename "${i}")"
 				done < <(find -maxdepth 1 -type f -name "*.${1}" -print0)
@@ -200,7 +205,7 @@ latex-package_src_doinstall() {
 # Calls latex for each *.ins in the current directory in order to generate the
 # relevant files that will be installed
 latex-package_src_compile() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 	while IFS= read -r -d '' i; do
 		einfo "Extracting from ${i}"
 		latex --halt-on-error --interaction=nonstopmode "${i}" || die
@@ -211,7 +216,7 @@ latex-package_src_compile() {
 # @DESCRIPTION:
 # Installs the package
 latex-package_src_install() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 	latex-package_src_doinstall all
 	einstalldocs
 }
@@ -221,7 +226,7 @@ latex-package_src_install() {
 # Calls latex-package_rehash to ensure the TeX installation is consistent with
 # the kpathsea database
 latex-package_pkg_postinst() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 	latex-package_rehash
 }
 
@@ -230,7 +235,7 @@ latex-package_pkg_postinst() {
 # Calls latex-package_rehash to ensure the TeX installation is consistent with
 # the kpathsea database
 latex-package_pkg_postrm() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 	latex-package_rehash
 }
 
@@ -238,10 +243,10 @@ latex-package_pkg_postrm() {
 # @DESCRIPTION:
 # Rehashes the kpathsea database, according to the current TeX installation
 latex-package_rehash() {
-	debug-print function $FUNCNAME $*
+	debug-print-function "${FUNCNAME}" "$@"
 	texmf-update
 }
 
-EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm
-
 fi
+
+EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-04-11 15:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-11 15:21 [gentoo-dev] [PATCH 1/2] latex-package.eclass: Properly quote variables Ulrich Müller
2022-04-11 15:21 ` [gentoo-dev] [PATCH 2/2] latex-package.eclass: Support EAPI 8 Ulrich Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox