From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1A6BC138334 for ; Sun, 24 Mar 2019 17:17:35 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0B254E0AF3; Sun, 24 Mar 2019 17:17:32 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9B1BEE0877 for ; Sun, 24 Mar 2019 17:17:31 +0000 (UTC) Received: from tuxk10.localnet (91-119-19-8.dsl.dynamic.surfer.at [91.119.19.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: asturm@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 1AC34335C8F for ; Sun, 24 Mar 2019 17:17:29 +0000 (UTC) From: Andreas Sturmlechner To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] [PATCH] font.eclass: Port to EAPI-7 Date: Sun, 24 Mar 2019 18:17:21 +0100 Message-ID: <9898161.uzqcMZjEFU@tuxk10> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Archives-Salt: b489ba12-9b2e-407f-90cd-17ef3d0fb7d7 X-Archives-Hash: c6c178ad1b3da182fc58dd661efb0bc8 --- eclass/font.eclass | 57 +++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/eclass/font.eclass b/eclass/font.eclass index 58ec9e3..622f143 100644 --- a/eclass/font.eclass +++ b/eclass/font.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2019 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # @ECLASS: font.eclass @@ -7,12 +7,11 @@ # @BLURB: Eclass to make font installation uniform case ${EAPI:-0} in - 0|1|2|3|4|5|6) ;; - *) die "EAPI ${EAPI} is not supported by font.eclass." ;; + 0|1|2|3|4|5|6) inherit eutils ;; + 7) ;; + *) die "EAPI ${EAPI} is not supported by font.eclass." ;; esac -inherit eutils - EXPORT_FUNCTIONS pkg_setup src_install pkg_postinst pkg_postrm # @ECLASS-VARIABLE: FONT_SUFFIX @@ -68,12 +67,12 @@ font_xfont_config() { if has X ${IUSE//+} && use X ; then dir_name="${1:-${FONT_PN}}" ebegin "Creating fonts.scale & fonts.dir in ${dir_name##*/}" - rm -f "${ED}${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir} - mkfontscale "${ED}${FONTDIR}/${1//${S}/}" + rm -f "${ED%/}/${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir} + mkfontscale "${ED%/}/${FONTDIR}/${1//${S}/}" mkfontdir \ -e ${EPREFIX}/usr/share/fonts/encodings \ -e ${EPREFIX}/usr/share/fonts/encodings/large \ - "${ED}${FONTDIR}/${1//${S}/}" + "${ED%/}/${FONTDIR}/${1//${S}/}" eend $? if [[ -e fonts.alias ]] ; then doins fonts.alias @@ -103,7 +102,7 @@ font_cleanup_dirs() { local d f g generated candidate otherfile ebegin "Cleaning up font directories" - find -L "${EROOT}"usr/share/fonts/ -type d -print0 | while read -d $'\0' d; do + find -L "${EROOT%/}"/usr/share/fonts/ -type d -print0 | while read -d $'\0' d; do candidate=false otherfile=false for f in "${d}"/*; do @@ -160,7 +159,7 @@ font_pkg_setup() { # make sure we get no collisions # setup is not the nicest place, but preinst doesn't cut it - [[ -e "${EROOT}/${FONTDIR}/fonts.cache-1" ]] && rm -f "${EROOT}/${FONTDIR}/fonts.cache-1" + [[ -e "${EROOT%/}/${FONTDIR}/fonts.cache-1" ]] && rm -f "${EROOT%/}/${FONTDIR}/fonts.cache-1" } # @FUNCTION: font_src_install @@ -202,36 +201,42 @@ font_src_install() { done } +# @FUNCTION: _update_fontcache +# @DESCRIPTION: +# Updates fontcache if !prefix and media-libs/fontconfig installed +_update_fontcache() { + # TODO: cleanup after /dev/null if [[ -n ${FONT_CONF[@]} ]]; then local conffile - echo elog "The following fontconfig configuration files have been installed:" elog for conffile in "${FONT_CONF[@]}"; do - if [[ -e ${EROOT}etc/fonts/conf.avail/$(basename ${conffile}) ]]; then + if [[ -e ${EROOT%/}/etc/fonts/conf.avail/$(basename ${conffile}) ]]; then elog " $(basename ${conffile})" fi done elog elog "Use \`eselect fontconfig\` to enable/disable them." - echo fi - if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then - ebegin "Updating global fontcache" - fc-cache -fs - eend $? - else - einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)" - fi + _update_fontcache } # @FUNCTION: font_pkg_postrm @@ -241,14 +246,8 @@ font_pkg_postrm() { font_cleanup_dirs # unreadable font files = fontconfig segfaults - find "${EROOT}"usr/share/fonts/ -type f '!' -perm 0644 -print0 \ + find "${EROOT%/}"/usr/share/fonts/ -type f '!' -perm 0644 -print0 \ | xargs -0 chmod -v 0644 2>/dev/null - if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then - ebegin "Updating global fontcache" - fc-cache -fs - eend $? - else - einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)" - fi + _update_fontcache } -- 2.21.0