Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
# That was needed as a workaround for me (pkalin is my overlay) ...

cd /var/portage/pkalin/
cp -a /usr/portage/media-libs/fontconfig/ media-libs/fontconfig/
wget -q "https://gitweb.gentoo.org/repo/gentoo.git/patch/media-libs/fontconfig?id=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f"
patch -R -p1 < fontconfig\?id\=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f
rm "fontconfig?id=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f"

rm media-libs/fontconfig/Manifest*
cd media-libs/fontconfig/
rm fontconfig-2.12.* fontconfig-2.13.0* files/fontconfig-2.12.* files/fontconfig-2.13.0-*
ebuild fontconfig-2.11.1-r2.ebuild digest
git add .
repoman commit

echo -e '#https://bugs.gentoo.org/649296\n=media-libs/fontconfig-2.12*' >/etc/portage/package.mask/broken_fontconfig

# fontconfig-2.11.1-r2 fails to build, probably due to sys-devel/automake-1.15.1-r2
# apparently originally merged with sys-devel/automake-1.15-r2 use BINPKG
sudo emerge -avtK fontconfig

# gvim complains with:
# gvim: symbol lookup error: /usr/lib64/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType
sudo emerge -avt x11-libs/pango

# fuller revdep-rebuild might be needed :-\
revdep-rebuild.sh -L /usr/lib64/libfontconfig.so.1

Package-Manager: Portage-2.3.24, Repoman-2.3.6
RepoMan-Options: --force
  • Loading branch information
Kalin KOZHUHAROV committed Mar 20, 2018
1 parent 13855b6 commit 6925858
Show file tree
Hide file tree
Showing 7 changed files with 291 additions and 0 deletions.
24 changes: 24 additions & 0 deletions media-libs/fontconfig/ChangeLog
@@ -0,0 +1,24 @@
*fontconfig-2.11.1-r2 (20 Mar 2018)

20 Mar 2018; <kalin@gentoo.org> +files/fontconfig-2.10.2-docbook.patch,
+files/fontconfig-2.11.1-fc-cache-r.patch,
+files/fontconfig-2.7.1-latin-reorder.patch, +fontconfig-2.11.1-r2.ebuild,
+metadata.xml:
Bug: https://bugs.gentoo.org/649296 # That was needed as a workaround for me
(pkalin is my overlay) ... cd /var/portage/pkalin/ cp -a /usr/portage/media-
libs/fontconfig/ media-libs/fontconfig/ wget -q
"https://gitweb.gentoo.org/repo/gentoo.git/patch/media-
libs/fontconfig?id=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f" patch -R -p1 <
fontconfig\?id\=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f rm
"fontconfig?id=01d8b1b08bcc63d3cfe209ab11b2942f8a32dd1f" rm media-
libs/fontconfig/Manifest* cd media-libs/fontconfig/ rm fontconfig-2.12.*
fontconfig-2.13.0* files/fontconfig-2.12.* files/fontconfig-2.13.0-* ebuild
fontconfig-2.11.1-r2.ebuild digest git add . repoman commit echo -e
'#https://bugs.gentoo.org/649296\n=media-libs/fontconfig-2.12*'
>/etc/portage/package.mask/broken_fontconfig # fontconfig-2.11.1-r2 fails to
build, probably due to sys-devel/automake-1.15.1-r2 # apparently originally
merged with sys-devel/automake-1.15-r2 use BINPKG sudo emerge -avtK fontconfig
# gvim complains with: # gvim: symbol lookup error:
/usr/lib64/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType sudo
emerge -avt x11-libs/pango # fuller revdep-rebuild might be needed :-\
revdep-rebuild.sh -L /usr/lib64/libfontconfig.so.1
7 changes: 7 additions & 0 deletions media-libs/fontconfig/Manifest
@@ -0,0 +1,7 @@
AUX fontconfig-2.10.2-docbook.patch 648 BLAKE2B 70d66ae09a0729b667a4e5e57a7cf86926fb008285f89057bdf35f241bcd047dd8ad47d858d2fad26e67824c01e9f721877bb22afb2f8ffdd5538ed05694948c SHA512 b0adb7c406445c25c96c5dc37af9e6fcc8c75a0752af255465673812bdc332ce43439a100c056744ace0dd5b3350596eedd612489c33d19a6f6cd182c08e2961
AUX fontconfig-2.11.1-fc-cache-r.patch 854 BLAKE2B e487b86db21d09e9ae83df5efd9a42cd1a7fd06dfb77b3cb97fd1a84576f4ad72637bed9f95a5aaec55d46a77388174446805d52f99592f499e9244fbddc5cc8 SHA512 6f9fc84720fab01dc86ec626501114b5e8ab979e87057c40374afd31deeed4b424e5f576734a0214b666a8b1867294da138f25d8b4fcf39e1bd99ca951ff48a4
AUX fontconfig-2.7.1-latin-reorder.patch 1701 BLAKE2B 9ac50adca6b257ebd12848ac094d3bcc211a8e326e3b8062784cee117fa90915863c5b8f6f852e67690c7c643b0a68d21959e29b0ede0653caef65d73d6f4133 SHA512 8fc514649e40ecd0c52e4fef9479e0945baa3aaa396335650bf827a983f6d9187b0f66ab97bf5b11b14917518b2e955b0a1bca126a336feafbebf754ff646d5d
DIST fontconfig-2.11.1.tar.bz2 1516095 BLAKE2B 4f78c606d198c4d721dd7fe61181f4433a562fee7f69372e64b661e4aac7750928bc158691fdbaf5ae932bda373d007f95a6d0089cda2eb50f15f599c4eb9d6f SHA512 acf4e6293e0e5521e4b8f29f4b48860ecd1d39744d0eab21c7332e56bfc3ccc63548e459243c5e425b8e5ef265f2cf065eece02460725e794041219d41188149
EBUILD fontconfig-2.11.1-r2.ebuild 4770 BLAKE2B f1cc240f9fd3631a484c33cc078c505d4b4af5e8c60baa63b9bb1112bf355e82774372ee26e85b13863c043d64e583d1c26af75fd0948f24b9f8eb6fb88a79ef SHA512 597cbd513b3407a49c40bca4ab879777f761d1ac3bf3091efdf504ce854dfc672d1721e16acc9bf8fce557ffe7f911105ae1dedcbf2ab082848b331e60ccef81
MISC ChangeLog 1521 BLAKE2B 171a3ecb036cb1ca147de6606e76c77ddd85c5d32ab39bcca22bb7386b1c13a6264cffcf785bdb4e3f1d693d43b4236f017a7251dfa694e2e4628c78d3c27594 SHA512 d64bd6beb0152d8b520716523d163f9c09ff34600d83f32dfa0e8e4528629bbd2c022bb11882b6bb313ee46c835cc60e760841196e7dbec6f2bbfea3c6083ee3
MISC metadata.xml 500 BLAKE2B 5326535fbf21d56868f15d3e5cda11bddba722762423b8831da99f9ff31bee71ed6d4e5ec62af46a7981c233c9d516068257413cb473c02657d3543619692b24 SHA512 bfc956b5196face33a60fa495b7948cd8f01802f23efd02da9da41146443b76f3d01ef5192a7541dd65e107df5e1935f73f5bfdb939c14fdde599919c7fde190
16 changes: 16 additions & 0 deletions media-libs/fontconfig/files/fontconfig-2.10.2-docbook.patch
@@ -0,0 +1,16 @@
diff --unified -uNrp fontconfig-2.10.2-orig/configure.ac fontconfig-2.10.2/configure.ac
--- fontconfig-2.10.2-orig/configure.ac 2012-11-26 09:21:13.000000000 +0100
+++ fontconfig-2.10.2/configure.ac 2013-01-05 15:40:54.541682239 +0100
@@ -570,7 +570,11 @@ AC_SUBST(XMLDIR)
# Let people not build/install docs if they don't have docbook
#

-AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
+AC_ARG_ENABLE(docbook, [ --disable-docbook Don't build documentation],,)
+
+if test x$enable_docbook != xno; then
+ AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
+fi

AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)

26 changes: 26 additions & 0 deletions media-libs/fontconfig/files/fontconfig-2.11.1-fc-cache-r.patch
@@ -0,0 +1,26 @@
From f44157c809d280e2a0ce87fb078fc4b278d24a67 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Thu, 10 Apr 2014 19:27:55 +0900
Subject: Fix fc-cache fail with -r

Do not unlink the cache even if --really-force is given.
because re-scanning process expects the cache exists.

https://bugs.freedesktop.org/show_bug.cgi?id=77252

diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c
index 99e0e9f..90ebad3 100644
--- a/fc-cache/fc-cache.c
+++ b/fc-cache/fc-cache.c
@@ -388,7 +388,7 @@ main (int argc, char **argv)
list = FcStrListCreate (updateDirs);
if (list)
{
- ret += scanDirs (list, config, FcTrue, really_force, verbose, FcFalse, &changed, NULL);
+ ret += scanDirs (list, config, FcTrue, FcFalse, verbose, FcFalse, &changed, NULL);
FcStrListDone (list);
}
FcStrSetDestroy (updateDirs);
--
cgit v0.10.2

50 changes: 50 additions & 0 deletions media-libs/fontconfig/files/fontconfig-2.7.1-latin-reorder.patch
@@ -0,0 +1,50 @@
diff -Naurp fontconfig-2.7.1-orig/conf.d/60-latin.conf fontconfig-2.7.1/conf.d/60-latin.conf
--- fontconfig-2.7.1-orig/conf.d/60-latin.conf 2009-07-10 11:09:33.000000000 -0600
+++ fontconfig-2.7.1/conf.d/60-latin.conf 2009-08-16 15:25:38.347701112 -0600
@@ -4,8 +4,8 @@
<alias>
<family>serif</family>
<prefer>
- <family>Bitstream Vera Serif</family>
<family>DejaVu Serif</family>
+ <family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
@@ -16,14 +16,14 @@
<alias>
<family>sans-serif</family>
<prefer>
- <family>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
- <family>Verdana</family>
- <family>Arial</family>
- <family>Albany AMT</family>
+ <family>Bitstream Vera Sans</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
+ <family>Arial</family>
+ <family>Albany AMT</family>
<family>Helvetica</family>
+ <family>Verdana</family>
<family>Lucida Sans Unicode</family>
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
@@ -32,14 +32,14 @@
<alias>
<family>monospace</family>
<prefer>
- <family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
+ <family>Bitstream Vera Sans Mono</family>
<family>Inconsolata</family>
+ <family>Luxi Mono</family>
+ <family>Nimbus Mono L</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
- <family>Luxi Mono</family>
- <family>Nimbus Mono L</family>
<family>Courier</family>
</prefer>
</alias>
159 changes: 159 additions & 0 deletions media-libs/fontconfig/fontconfig-2.11.1-r2.ebuild
@@ -0,0 +1,159 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=5
AUTOTOOLS_AUTORECONF=yes

inherit eutils readme.gentoo autotools-multilib

DESCRIPTION="A library for configuring and customizing font access"
HOMEPAGE="http://fontconfig.org/"
SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"

LICENSE="MIT"
SLOT="1.0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="doc static-libs"

# Purposefully dropped the xml USE flag and libxml2 support. Expat is the
# default and used by every distro. See bug #283191.

RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
>=media-libs/freetype-2.5.3-r1[${MULTILIB_USEDEP}]
abi_x86_32? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] )"
DEPEND="${RDEPEND}
virtual/pkgconfig
doc? (
=app-text/docbook-sgml-dtd-3.1*
app-text/docbook-sgml-utils[jadetex]
)"
PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
virtual/ttf-fonts"

PATCHES=(
"${FILESDIR}"/${PN}-2.7.1-latin-reorder.patch # 130466
"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
"${FILESDIR}"/${PN}-2.11.1-fc-cache-r.patch # 531748
)

MULTILIB_CHOST_TOOLS=(
/usr/bin/fc-cache$(get_exeext)
)

pkg_setup() {
DOC_CONTENTS="Please make fontconfig configuration changes using
\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
overwritten. If you need to reset your configuration to upstream defaults,
delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
}

src_configure() {
local addfonts
# harvest some font locations, such that users can benefit from the
# host OS's installed fonts
case ${CHOST} in
*-darwin*)
addfonts=",/Library/Fonts,/System/Library/Fonts"
;;
*-solaris*)
[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
addfonts=",/usr/X/lib/X11/fonts/TrueType"
[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
;;
*-linux-gnu)
use prefix && [[ -d /usr/share/fonts ]] && \
addfonts=",/usr/share/fonts"
;;
esac

local myeconfargs=(
$(use_enable doc docbook)
# always enable docs to install manpages
--enable-docs
--localstatedir="${EPREFIX}"/var
--with-default-fonts="${EPREFIX}"/usr/share/fonts
--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}" \
--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
)

autotools-multilib_src_configure
}

multilib_src_install() {
default

# XXX: avoid calling this multiple times, bug #459210
if multilib_is_native_abi; then
# stuff installed from build-dir
emake -C doc DESTDIR="${D}" install-man

insinto /etc/fonts
doins fonts.conf
fi
}

multilib_src_install_all() {
einstalldocs
prune_libtool_files --all

#fc-lang directory contains language coverage datafiles
#which are needed to test the coverage of fonts.
insinto /usr/share/fc-lang
doins fc-lang/*.orth

dodoc doc/fontconfig-user.{txt,pdf}

if [[ -e ${ED}usr/share/doc/fontconfig/ ]]; then
mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
rm -rf "${ED}"usr/share/doc/fontconfig
fi

# Changes should be made to /etc/fonts/local.conf, and as we had
# too much problems with broken fonts.conf we force update it ...
echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
doenvd "${T}"/37fontconfig

# As of fontconfig 2.7, everything sticks their noses in here.
dodir /etc/sandbox.d
echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig

readme.gentoo_create_doc
}

pkg_preinst() {
# Bug #193476
# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
# config files. If we install as-is, we'll blow away user settings.
ebegin "Syncing fontconfig configuration to system"
if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
for file in "${EROOT}"/etc/fonts/conf.avail/*; do
f=${file##*/}
if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
else
[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
fi
done
fi
eend $?
}

pkg_postinst() {
einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete

readme.gentoo_print_elog

if [[ ${ROOT} = / ]]; then
multilib_pkg_postinst() {
ebegin "Creating global font cache for ${ABI}"
"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
eend $?
}

multilib_parallel_foreach_abi multilib_pkg_postinst
fi
}
9 changes: 9 additions & 0 deletions media-libs/fontconfig/metadata.xml
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>fonts@gentoo.org</email>
<name>Fonts</name>
</maintainer>
<longdescription>Fontconfig is a font configuration and customization library, which does not depend on the X Window System. It is designed to locate fonts within the system and select them according to requirements specified by applications.</longdescription>
</pkgmetadata>

0 comments on commit 6925858

Please sign in to comment.