[PATCH] fix building on certain RHEL-derived distributions
James Brown via reportlab-users <[email protected]> Fri, 26 Aug 2022 11:57:13 -0700
| Newsgroups | gmane.comp.python.reportlab.user |
|---|---|
| Message-ID | <CALgeuKxxHqmZtOzBhSbmurEqWce88LZ+UK+bZjavFEGHE-mRig@mail.gmail.com> |
--===============5597887616004942060==
Content-Type: multipart/alternative; boundary="00000000000057bcca05e7297c5d"
--00000000000057bcca05e7297c5d
Content-Type: text/plain; charset="UTF-8"
On some RHEL-derived Linux distributions, ft2build.h is in a different
directory (/usr/include) than the rest of the freetype headers (
/usr/include/freetype2); reportlab can't build in that configuration,
because it uses ft2build.h to determine the freetype include path.
This is a very small patch which adds the subdirectory "freetype2" in
whatever directory ft2build.h was found to the include search list, if it
exists. This shouldn't break anything, since it's added after the existing
paths.
diff -r 4f30137c136e setup.py
--- a/setup.py Wed Aug 03 13:24:40 2022 +0100
+++ b/setup.py Fri Aug 26 18:55:40 2022 +0000
@@ -12,6 +12,7 @@
dirname = os.path.dirname
basename = os.path.basename
splitext = os.path.splitext
+exists = os.path.exists
addrSize = 64 if sys.maxsize > 2**32 else 32
sysconfig_platform = sysconfig.get_platform()
@@ -304,6 +305,9 @@
if mif:
d = dirname(mif)
I = [dirname(d), d]
+ subdir = pjoin(d, 'freetype2')]
+ if exists(subdir):
+ I.append(subdir)
ftv = freetypeVersion(findFile(d,'freetype.h'),'22')
else:
print('!!!!! cannot find ft2build.h')
--
James Brown
Infrastructure Architect @ easypost.com
--00000000000057bcca05e7297c5d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_default" style=3D""><span style=3D"fon=
t-family:"times new roman",serif">On some RHEL-derived Linux dist=
ributions, ft2build.h is in a different directory (</span><font face=3D"mon=
ospace">/usr/include</font><font face=3D"times new roman, serif">) than the=
rest of the freetype headers (</font><font face=3D"monospace">/usr/include=
/freetype2</font><font face=3D"times new roman, serif">); reportlab can'=
;t build in that configuration, because it uses ft2build.h to determine the=
freetype include path.=C2=A0</font></div><div class=3D"gmail_default" styl=
e=3D"font-family:times new roman,serif"><br></div><div class=3D"gmail_defau=
lt" style=3D"font-family:times new roman,serif">This is a very small patch =
which adds the subdirectory "freetype2" in whatever directory ft2=
build.h was found to the include search list, if it exists. This shouldn=
9;t break anything, since it's added after the existing paths.</div><di=
v class=3D"gmail_default" style=3D"font-family:times new roman,serif"><br><=
/div><div class=3D"gmail_default" style=3D""><font face=3D"monospace">diff =
-r 4f30137c136e setup.py<br>--- a/setup.py Wed Aug 03 13:24:40 2022 +0100<b=
r>+++ b/setup.py Fri Aug 26 18:55:40 2022 +0000<br>@@ -12,6 +12,7 @@<br>=C2=
=A0dirname =3D os.path.dirname<br>=C2=A0basename =3D os.path.basename<br>=
=C2=A0splitext =3D os.path.splitext<br>+exists =3D os.path.exists<br>=C2=A0=
addrSize =3D 64 if sys.maxsize > 2**32 else 32<br>=C2=A0sysconfig_platfo=
rm =3D sysconfig.get_platform()<br><br>@@ -304,6 +305,9 @@<br>=C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0if mif:<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0d =3D dirname(mif)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0I =3D [dirname(d), d]<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0subd=
ir =3D pjoin(d, 'freetype2')]<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0if exists(subdir):<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0I.append(subdir)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0ftv =3D freetypeVersion(findFile(d,'freetype.h'),'22'=
;)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0else:<br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0print('!!!!! cannot find ft2build.h')</font=
><br></div><div><br></div>-- <br><div dir=3D"ltr" class=3D"gmail_signature"=
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr">=
<span style=3D"font-family:times new roman,serif">James Brown</span><div><s=
pan style=3D"font-family:times new roman,serif">Infrastructure Architect @ =
<a href=3D"http://easypost.com" target=3D"_blank">easypost.com</a></span></=
div></div></div></div></div></div>
--00000000000057bcca05e7297c5d--
--===============5597887616004942060==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline