dev-libs/liblouis: bump to 3.13.0 with various ebuild fixes
authorMart Raudsepp <leio@gentoo.org>
Sun, 19 Apr 2020 07:34:46 +0000 (10:34 +0300)
committerMart Raudsepp <leio@gentoo.org>
Sun, 19 Apr 2020 08:15:15 +0000 (11:15 +0300)
* Use a subslot for liblouis.so soname, as it frequently changes and
  brltty links to it
* BDEPEND on setuptools with USE=python - eclass doesn't do it for
  us because we are DISTUTILS_OPTIONAL=1
* Use proper upstream release tarball, instead of tag snapshot,
  thus removing the need to eautoreconf
* Add automagic libyaml test dependency
* Add support for python 3.7 and 3.8
* Comment why DOCS/HTML_DOCS and einstalldocs are set and done after
  python conditional code, and use default src_install instead of
  emake and einstalldocs separately
* Drop legacy wide-unicode python required use - this was only
  relevant for python2, support of which was dropped in 3.10.0 ebuild
  by now

There is still an automagic dep on texinfo (makeinfo) for building
or not building some documentation, which remains like that, but
can't fix everything at once here.

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
dev-libs/liblouis/Manifest
dev-libs/liblouis/liblouis-3.13.0.ebuild [new file with mode: 0644]

index 3bfe01c31b4de3569c418b58c797bbd2f69b729c..e8d3c656cf3be5b4e37e2c5915974cf8bae30cad 100644 (file)
@@ -1 +1,2 @@
 DIST liblouis-3.10.0.tar.gz 13335626 BLAKE2B a4c7f81f15c202c0e1030119f805e218dd51852af57065c441241f4e182828036372750231726802adbb835a7af05ccbf029316da376f3f89dd62ae9d833f838 SHA512 e05d42ba352b1336b10ecd3d320c2bed33250cd636767ecd77837530577c537de4f4e806ddaf1ed7e8b9ec766c84adf6ab045595235c1020f2bb31ba791f3833
+DIST liblouis-3.13.0.tar.gz 14683684 BLAKE2B 9596fac30ee8512498826ea11c3fe4d9dfba6706166938852242533f1fadde9ca8e363ea1364ebb4266b366ee49863d84ad757f8634d90e48dd8c562c31e9e8d SHA512 68f0205dc55a106c5707f959c1c0d3c121dfe62f263a664e6bec0780bee65cce2fb5d7033ae1c8312d1d79f7ccaf650af71906e8651b60f11219758e41051b61
diff --git a/dev-libs/liblouis/liblouis-3.13.0.ebuild b/dev-libs/liblouis/liblouis-3.13.0.ebuild
new file mode 100644 (file)
index 0000000..c9ac3b4
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+DESCRIPTION="An open-source braille translator and back-translator"
+HOMEPAGE="https://github.com/liblouis/liblouis"
+SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/20"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/help2man
+       python? ( ${PYTHON_DEPS}
+               >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
+       )
+       test? ( dev-libs/libyaml )
+"
+
+src_prepare() {
+       default
+
+       if use python; then
+               pushd python > /dev/null
+               distutils-r1_src_prepare
+               popd > /dev/null
+       fi
+}
+
+src_configure() {
+       econf --enable-ucs4
+}
+
+src_compile() {
+       default
+
+       if use python; then
+               pushd python > /dev/null
+               # setup.py imports liblouis to get the version number,
+               # and this causes the shared library to be dlopened
+               # at build-time.  Hack around it with LD_PRELOAD.
+               # Thanks ArchLinux.
+               LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
+                       distutils-r1_src_compile
+               popd > /dev/null
+       fi
+}
+
+src_install() {
+       if use python; then
+               pushd python > /dev/null
+               LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
+                       distutils-r1_src_install
+               popd > /dev/null
+       fi
+
+       # These need to be after distutils src_install, or it'll try to install them from under python/ as well
+       DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
+       HTML_DOCS=( doc/liblouis.html )
+       default
+}