aboutsummaryrefslogtreecommitdiff
blob: dd8495937b94effe80be2648419e2b5c8a15e71c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
PYTHON_COMPAT=( python3_{8..10} )

inherit font python-any-r1

NOTO_PV="2.034"
DESCRIPTION="A color emoji font with a flat visual style, designed and used by Twitter"
HOMEPAGE="https://twemoji.twitter.com"
SRC_URI="https://github.com/googlefonts/noto-emoji/archive/refs/tags/v${NOTO_PV}.tar.gz -> ${P}-noto.tar.gz
	https://github.com/twitter/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/noto-emoji-${NOTO_PV}"

LICENSE="Apache-2.0 CC-BY-4.0 MIT OFL-1.1"
SLOT="0"
KEYWORDS="~amd64"

BDEPEND="
	${PYTHON_DEPS}
	app-arch/zopfli
	$(python_gen_any_dep '
		>=dev-python/fonttools-4.7.0[${PYTHON_USEDEP}]
		>=dev-python/nototools-0.2.13[${PYTHON_USEDEP}]
	')
	media-gfx/pngquant
	x11-libs/cairo
	|| ( media-gfx/imagemagick[png] media-gfx/graphicsmagick[png] )
"

RESTRICT="binchecks strip"

DOCS=( CONTRIBUTING.md FOLDERS.md LEGACY.md README.md )

PATCHES=(
	# https://github.com/googlei18n/noto-emoji/issues/240
	"${FILESDIR}"/noto-build-path.patch
	# Be more verbose
	"${FILESDIR}"/noto-pngquant-verbose.patch

)

FONT_S="${S}"
FONT_SUFFIX="ttf"
FONT_CONF=( "${FILESDIR}"/75-${PN}.conf )

python_check_deps() {
	has_version -b "dev-python/fonttools[${PYTHON_USEDEP}]" &&
	has_version -b "dev-python/nototools[${PYTHON_USEDEP}]"
}

pkg_setup() {
	font_pkg_setup
}

src_unpack() {
	default

	mv "${WORKDIR}"/${P}/assets "${S}" || die
	mv "${WORKDIR}"/${P}/*.md "${S}" || die
}

src_prepare() {
	default

	# Be more verbose
	sed -i -e 's:\(@$(ZOPFLIPNG) -y "$<" "$@"\) 1> /dev/null 2>&1:\1:g' Makefile || die

	# Based on Fedora patch to allow graphicsmagick usage
	if has_version -b media-gfx/graphicsmagick; then
		eapply "${FILESDIR}/noto-use-gm.patch"
	fi

	sed NotoColorEmoji.tmpl.ttx.tmpl \
		-e "s/Noto Color Emoji/${PN^}/" \
		-e "s/NotoColorEmoji/${PN^}/" \
		-e "s/Copyright .* Google Inc\./Twitter, Inc and other contributors./" \
		-e "s/ Version .*/ ${PV}/" \
		-e "s/.*is a trademark.*//" \
		-e "s/Google, Inc\./Twitter, Inc and other contributors/" \
		-e "s,http://www.google.com/get/noto/,https://twemoji.twitter.com," \
		-e "s/.*is licensed under.*/      Creative Commons Attribution 4.0 International/" \
		-e "s,http://scripts.sil.org/OFL,http://creativecommons.org/licenses/by/4.0/," \
		> ${PN^}.tmpl.ttx.tmpl || die

	pushd assets/72x72 || die
	for png in *.png; do
		mv ${png} emoji_u${png//-/_} || die
	done
}

src_compile() {
	python_setup
	einfo "Building fonts..."

	emake EMOJI=${PN^} EMOJI_SRC_DIR="assets/72x72" \
		FLAGS= BODY_DIMENSIONS=76x72 \
		BYPASS_SEQUENCE_CHECK=true \
		VIRTUAL_ENV=true
}

src_install() {
	rm NotoColorEmoji_WindowsCompatible.ttf *.tmpl.ttf || die

	# Don't lose fancy emoji icons
	insinto /usr/share/icons/${PN}/72/emotes/
	doins assets/72x72/*.png

	insinto /usr/share/icons/${PN}/scalable/emotes/
	doins assets/svg/*.svg

	font_src_install

	einstalldocs
}