From e2bfe7bf0e8bfebc403105747dbf5e8e7f577ec3 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Wed, 8 Dec 2010 21:39:46 -0500 Subject: [PATCH] Fix python installation in comedilib-9999.ebuild. Also: * Install demo code when `doc` USE flag is set. * Don't install comedi_calibrate man page, since we don't install a comedi_calibrate binary. --- Manifest | 3 +- comedilib-9999.ebuild | 68 +++++++++++++++++++++++++++-- files/comedilib-9999-setup.py.patch | 27 ++++++++++++ 3 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 files/comedilib-9999-setup.py.patch diff --git a/Manifest b/Manifest index cb7805a..e5cc93d 100644 --- a/Manifest +++ b/Manifest @@ -1,3 +1,4 @@ -EBUILD comedilib-9999.ebuild 1196 RMD160 d6c67195995b59c509553e8643286668e2b4f213 SHA1 0271ff01fb36619157f994e93d503273f2d4d2b0 SHA256 a7d668f9ec5f0a16605b3c2ae1ea5ce975647ae9a9a699f508f5cc26701c8ea9 +AUX comedilib-9999-setup.py.patch 956 RMD160 721be9715cf1058fb2e9407f36da04fa6cb8b95f SHA1 56c894ed915b29ab9f91fd327bd8b5c932c12161 SHA256 74f03d023d93c0cebb7e0463146e95a5abe5140501472fc2fca2ef36cb11e207 +EBUILD comedilib-9999.ebuild 2315 RMD160 28f2de82032185e52c0a0e236757c23d633bd125 SHA1 9a8c39761d158a06828e2e864483655906ecfab4 SHA256 0bf0d85ecd629907bc0e4130de69be16d0fdef98eafd33d7d70c4449f0a63121 MISC ChangeLog 1168 RMD160 62c9992630de85e02a25d5a4cc077386211b8859 SHA1 bc9d91fff9c4f05804d564f5e55fd63ed99c3426 SHA256 6766a0d3f76055ed559975a91df6f2876289f129248fa739853da0d2606bec9f MISC metadata.xml 247 RMD160 6735f3a5dd2d7a2b70589d1693f35d54291b7147 SHA1 c015969fe50967340dd050a44cb9f8a30b5e34a5 SHA256 9e65060e5f9d0a50d28c7a69d9c27fed6c3037fdd3e420cc276627fde2794f72 diff --git a/comedilib-9999.ebuild b/comedilib-9999.ebuild index 8edeeb8..0ca12c6 100644 --- a/comedilib-9999.ebuild +++ b/comedilib-9999.ebuild @@ -4,7 +4,10 @@ EAPI="2" -#inherit eutils +PYTHON_DEPEND="python? 2" +RESTRICT_PYTHON_ABIS="3.*" + +inherit distutils if [[ ${PV} == "9999" ]] ; then ECVS_SERVER="cvs.comedi.org:/cvs/comedi" @@ -24,6 +27,9 @@ KEYWORDS="x86" LICENSE="LGPL-2.1" SLOT="0" +PYTHON_MODNAME="comedi" +DISTUTILS_SETUP_FILES="${S}/swig/python/setup.py" + DEPEND=">=sci-misc/comedi-headers-${PV} sys-devel/flex sys-devel/bison @@ -38,23 +44,77 @@ DEPEND=">=sci-misc/comedi-headers-${PV} doc? ( app-text/xmlto )" RDEPEND="" -src_compile() + +src_prepare() { if [ "${PV}" == "9999" ] ; then ./autogen.sh fi + if use python ; then + epatch "${FILESDIR}/${P}"-setup.py.patch + cd "${S}/swig/python" + ln -s ../comedi.i + distutils_src_prepare + cd "${S}" + fi +} + +src_configure() +{ + #$(use_enable python python-binding) econf \ - $(use_enable python python-binding) \ + --disable-python-binding \ $(use_enable ruby ruby-binding) \ - $(use_enable doc docbook-binding) \ + $(use_enable doc docbook) \ || die "econf failed" +} + +src_compile() +{ emake || die "emake failed" + if use python ; then + cd "${S}/swig/python" + distutils_src_compile + cd "${S}" + fi } src_install() { emake DESTDIR="${D}" install || die "emake install failed" keepdir /var/calibrations + if use doc ; then + local DOCINTO="/usr/share/doc/${PF}" + local DDOCINTO="${D}${DOCINTO}" + # convert to `dodoc -r` once recursive dodoc is available in EAPI 4 + insinto ${DOCINTO} + doins -r demo || die "doins failed" + rm -rf ${DDOCINTO}/demo/CVS + rm -rf ${DDOCINTO}/demo/Makefile.am + rm -rf ${DDOCINTO}/demo/perl + if use python ; then + rm -rf ${DDOCINTO}/demo/python/CVS + else + rm -rf ${DDOCINTO}/demo/python + fi + fi + if use python ; then + cd "${S}/swig/python" + distutils_src_install + cd "${S}" + fi # comedi.h already installed by sci-misc/comedi-headers rm ${D}/usr/include/comedi.h || die "failed to remove comedi.h" + # comedi_calibrate is a separate package + rm ${D}/usr/share/man/man8/comedi_calibrate.8* +} + +pkg_postinst() +{ + distutils_pkg_postinst +} + +pkg_postrm() +{ + distutils_pkg_postrm } diff --git a/files/comedilib-9999-setup.py.patch b/files/comedilib-9999-setup.py.patch new file mode 100644 index 0000000..e394282 --- /dev/null +++ b/files/comedilib-9999-setup.py.patch @@ -0,0 +1,27 @@ +diff --git a/swig/python/setup.py b/swig/python/setup.py +index 4c0c1eb..6fc1870 100644 +--- a/swig/python/setup.py ++++ b/swig/python/setup.py +@@ -3,15 +3,17 @@ from distutils.core import setup, Extension + module1 = Extension('_comedi', + define_macros = [('MAJOR_VERSION','0'), + ('MINOR_VERSION','1')], +- include_dirs = ['../include'], +- library_dirs = ['../lib'], ++ include_dirs = ['../../include'], ++ library_dirs = ['../../lib'], ++ swig_opts=['-I../../include'], + libraries = ['comedi'], +- sources = ['comedi_wrap.c']) ++ sources = ['comedi.i']) + +-setup (name='_comedi', ++setup (name='comedi', + version = '0.1', + description = 'Python wrapper module for the Comedi data-acquisition drivers', + author = 'Bryan E. Cole', + author_email = 'bryan.cole@teraview.co.uk', + long_description = ''' Wrapper for the Comedi data-acquisition library ''', +- ext_modules = [module1]) ++ ext_modules = [module1], ++ py_modules = ['comedi']) -- 2.26.2