Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-util/afdko/files/, dev-util/afdko/
Date: Fri, 18 Jun 2021 02:17:04
Message-Id: 1623982614.4a82cd9399f4ac19a2d798efc9687f272d1ae124.Alessandro-Barbieri@gentoo
1 commit: 4a82cd9399f4ac19a2d798efc9687f272d1ae124
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Fri Jun 18 02:08:04 2021 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Fri Jun 18 02:16:54 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4a82cd93
7
8 dev-util/afdko: initial import
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 dev-util/afdko/Manifest | 1 +
13 dev-util/afdko/afdko-3.6.2.ebuild | 66 ++++++++++++++++++++++
14 dev-util/afdko/files/afdko-3.6.2-AR-fix.patch | 22 ++++++++
15 .../afdko-3.6.2-_get_scripts-to-data_files.patch | 11 ++++
16 .../files/afdko-3.6.2-relax-hard-pinning.patch | 26 +++++++++
17 dev-util/afdko/files/afdko-nowheel.diff | 26 +++++++++
18 dev-util/afdko/metadata.xml | 5 ++
19 7 files changed, 157 insertions(+)
20
21 diff --git a/dev-util/afdko/Manifest b/dev-util/afdko/Manifest
22 new file mode 100644
23 index 000000000..9bb7f468b
24 --- /dev/null
25 +++ b/dev-util/afdko/Manifest
26 @@ -0,0 +1 @@
27 +DIST afdko-3.6.2.tar.gz 12669802 BLAKE2B 55be8d0e0f9cbca187cff9f33113dab39d15d4a96f02ca1e356e3357204bf50b52ab6575ebb1bbf7f24b1406332be25b9b34300ae383ba0f33b873c2a945fc81 SHA512 6a3ad1a268daa321f2bc68be40674bbd68cb4d9d03622aa5884823ff74d86567739e17b1152ad24af186dbba6e623fe77f448c330a08b61b9b9813e6ff1d04c5
28
29 diff --git a/dev-util/afdko/afdko-3.6.2.ebuild b/dev-util/afdko/afdko-3.6.2.ebuild
30 new file mode 100644
31 index 000000000..172f16a06
32 --- /dev/null
33 +++ b/dev-util/afdko/afdko-3.6.2.ebuild
34 @@ -0,0 +1,66 @@
35 +# Copyright 1999-2021 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +PYTHON_COMPAT=( python3_8 )
41 +
42 +inherit distutils-r1
43 +
44 +DESCRIPTION="Adobe Font Development Kit for OpenType"
45 +HOMEPAGE="https://adobe-type-tools.github.io/afdko"
46 +SRC_URI="https://github.com/adobe-type-tools/afdko/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
47 +KEYWORDS="~amd64"
48 +LICENSE="Apache-2.0"
49 +SLOT="0"
50 +RESTRICT="test" #too many failed tests
51 +
52 +RDEPEND="
53 + >=dev-python/booleanOperations-0.9[${PYTHON_USEDEP}]
54 + >=dev-python/defcon-0.7.2[${PYTHON_USEDEP}]
55 + >=dev-python/fontMath-0.6[${PYTHON_USEDEP}]
56 + dev-python/fontPens[${PYTHON_USEDEP}]
57 + >=dev-python/fonttools-4.21.1[${PYTHON_USEDEP}]
58 + >=dev-util/psautohint-2.3[${PYTHON_USEDEP}]
59 + >=dev-python/tqdm-4.58[${PYTHON_USEDEP}]
60 + >=dev-python/ufoNormalizer-0.5.3[${PYTHON_USEDEP}]
61 + >=dev-python/ufoProcessor-1.9[${PYTHON_USEDEP}]
62 +"
63 +DEPEND="${RDEPEND}"
64 +BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
65 +
66 +DOCS=( {README,NEWS}.md docs )
67 +
68 +PATCHES=(
69 + "${FILESDIR}/${PN}-nowheel.diff"
70 + "${FILESDIR}/${P}-AR-fix.patch"
71 + "${FILESDIR}/${P}-relax-hard-pinning.patch"
72 + "${FILESDIR}/${P}-_get_scripts-to-data_files.patch"
73 +)
74 +
75 +distutils_enable_tests pytest
76 +
77 +pkg_setup() {
78 + export SETUPTOOLS_SCM_PRETEND_VERSION="${PV}"
79 +}
80 +
81 +python_prepare_all() {
82 + rm docs/*.{yml,plist} || die
83 + distutils-r1_python_prepare_all
84 +}
85 +
86 +src_compile() {
87 + tc-export CC CPP AR
88 + local _d
89 + find -path '*/linux/gcc/release/Makefile' | while read _d; do
90 + emake -C "${_d%/Makefile}" XFLAGS="${CFLAGS}" || return
91 + done
92 + distutils-r1_src_compile
93 +}
94 +
95 +python_test() {
96 + local -x PYTHONPATH="${S}/python:${PYTHONPATH}"
97 + local -x PATH="${BUILD_DIR}/test/scripts:${S}/c/build_all:${PATH}"
98 + distutils_install_for_testing
99 + epytest -vv || die
100 +}
101
102 diff --git a/dev-util/afdko/files/afdko-3.6.2-AR-fix.patch b/dev-util/afdko/files/afdko-3.6.2-AR-fix.patch
103 new file mode 100644
104 index 000000000..a42f9ca96
105 --- /dev/null
106 +++ b/dev-util/afdko/files/afdko-3.6.2-AR-fix.patch
107 @@ -0,0 +1,22 @@
108 +--- a/c/public/lib/config/linux/gcc/gcc.mak
109 ++++ b/c/public/lib/config/linux/gcc/gcc.mak
110 +@@ -27,7 +27,7 @@
111 +
112 + $(LIB_TARGET): $(LIB_OBJS)
113 + mkdir -p $(LIB_DIR)
114 +- $(AR) -rvs $@ $?
115 ++ $(AR) rvs $@ $?
116 +
117 + clean:
118 + if [ "$(LIB_OBJS)" ]; then \
119 +--- a/c/public/lib/config/linux/gcc/gcc_tx.mak
120 ++++ b/c/public/lib/config/linux/gcc/gcc_tx.mak
121 +@@ -30,7 +30,7 @@
122 +
123 + $(LIB_TARGET): $(LIB_OBJS)
124 + mkdir -p $(LIB_DIR)
125 +- $(AR) -rvs $@ $?
126 ++ $(AR) rvs $@ $?
127 +
128 + clean:
129 + if [ "$(LIB_OBJS)" ]; then \
130
131 diff --git a/dev-util/afdko/files/afdko-3.6.2-_get_scripts-to-data_files.patch b/dev-util/afdko/files/afdko-3.6.2-_get_scripts-to-data_files.patch
132 new file mode 100644
133 index 000000000..cff40e488
134 --- /dev/null
135 +++ b/dev-util/afdko/files/afdko-3.6.2-_get_scripts-to-data_files.patch
136 @@ -0,0 +1,11 @@
137 +--- a/setup.py
138 ++++ b/setup.py
139 +@@ -234,7 +234,7 @@
140 + 'pytest',
141 + ],
142 + install_requires=_get_requirements(),
143 +- scripts=_get_scripts(),
144 ++ data_files=[("bin",_get_scripts())],
145 + entry_points={
146 + 'console_scripts': _get_console_scripts(),
147 + },
148
149 diff --git a/dev-util/afdko/files/afdko-3.6.2-relax-hard-pinning.patch b/dev-util/afdko/files/afdko-3.6.2-relax-hard-pinning.patch
150 new file mode 100644
151 index 000000000..4939f1a40
152 --- /dev/null
153 +++ b/dev-util/afdko/files/afdko-3.6.2-relax-hard-pinning.patch
154 @@ -0,0 +1,26 @@
155 +--- a/requirements.txt
156 ++++ b/requirements.txt
157 +@@ -1,13 +1,13 @@
158 + # 'lxml' is not a primary requirement of afdko but it's listed here because
159 + # we want to have control over the version and guarantee that the XML output
160 + # of our tools is stable
161 +-# NOTE: hard-pinning (==) here gets relaxed to >= in setup.py
162 +-lxml==4.6.2
163 +-booleanOperations==0.9.0
164 +-defcon[pens,lxml]==0.7.2
165 +-fontMath==0.6.0
166 +-fontTools[woff,ufo,lxml,unicode]==4.21.1
167 +-psautohint==2.3.0
168 +-tqdm==4.58.0
169 +-ufonormalizer==0.5.3
170 +-ufoProcessor==1.9.0
171 ++# NOTE: hard-pinning (>=) here gets relaxed to >= in setup.py
172 ++lxml>=4.6.2
173 ++booleanOperations>=0.9.0
174 ++defcon[pens,lxml]>=0.7.2
175 ++fontMath>=0.6.0
176 ++fontTools[woff,ufo,lxml,unicode]>=4.21.1
177 ++psautohint>=2.3.0
178 ++tqdm>=4.58.0
179 ++ufonormalizer>=0.5.3
180 ++ufoProcessor>=1.9.0
181
182 diff --git a/dev-util/afdko/files/afdko-nowheel.diff b/dev-util/afdko/files/afdko-nowheel.diff
183 new file mode 100644
184 index 000000000..14baff83c
185 --- /dev/null
186 +++ b/dev-util/afdko/files/afdko-nowheel.diff
187 @@ -0,0 +1,26 @@
188 +--- a/setup.py
189 ++++ b/setup.py
190 +@@ -29,7 +29,6 @@ try:
191 + except ImportError:
192 + print("afdko: setup.py requires that the Python package 'wheel' be "
193 + "installed. Try the command 'pip install wheel'.")
194 +- sys.exit(1)
195 +
196 +
197 + class InstallPlatlib(setuptools.command.install.install):
198 +@@ -246,7 +245,6 @@ def main():
199 + zip_safe=False,
200 + python_requires='>=2.7',
201 + setup_requires=[
202 +- 'wheel',
203 + 'setuptools_scm',
204 + ],
205 + tests_require=[
206 +@@ -260,7 +258,6 @@ def main():
207 + cmdclass={
208 + 'build_py': CustomBuild,
209 + 'build_scripts': CustomBuildScripts,
210 +- 'bdist_wheel': CustomBDistWheel,
211 + 'install': InstallPlatlib,
212 + },
213 + )
214
215 diff --git a/dev-util/afdko/metadata.xml b/dev-util/afdko/metadata.xml
216 new file mode 100644
217 index 000000000..46f4785f7
218 --- /dev/null
219 +++ b/dev-util/afdko/metadata.xml
220 @@ -0,0 +1,5 @@
221 +<?xml version="1.0" encoding="UTF-8"?>
222 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
223 +<pkgmetadata>
224 +<!-- maintainer needed -->
225 +</pkgmetadata>