# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python2_7 ) DB_COMMIT="bdf02cbf0a8d017c6c1bddeffd6f03d5d90695ed" DB_DIR="rafaelmartins-${PN}-db-${DB_COMMIT:0:7}" inherit distutils-r1 eutils DESCRIPTION="A tool that generates and installs ebuilds for Octave-Forge" HOMEPAGE="https://github.com/rafaelmartins/g-octave" SRC_URI="mirror://github/rafaelmartins/${PN}/${P}.tar.gz https://github.com/rafaelmartins/${PN}-db/tarball/${DB_COMMIT} -> ${PN}-db-${DB_COMMIT:0:7}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="doc test" DEPEND="doc? ( >=dev-python/sphinx-1.0 )" RDEPEND="sys-apps/portage" python_prepare_all() { local PATCHES=( "${FILESDIR}/${P}-add_cave_support.patch" "${FILESDIR}/${P}-fix-sourceforge-svn-root.patch" "${FILESDIR}/${P}-fix-Makefile.patch" ) sed -i -e 's/^has_fetch.*$/has_fetch = False/' scripts/g-octave \ || die 'failed to patch the g-octave main script' distutils-r1_python_prepare_all } python_compile_all() { if use doc; then emake -C docs html || die 'failed to compile the documentation.' fi } python_install_all() { local HTML_DOCS=( ${PN}.html ) doman ${PN}.1 || die 'doman failed.' if use doc; then mv docs/_build/{html,sphinx} || die 'mv failed.' HTML_DOCS+=( docs/_build/sphinx ) fi distutils-r1_python_install_all } python_test() { "${EPYTHON}" scripts/run_tests.py || die 'test failed.' } pkg_postinst() { elog elog 'To be able to use g-octave with the shipped package database, please' elog 'edit your configuration file, clean your db directory and run:' elog " emerge --config =${PF}" elog elog "If you are upgrading from =${PN}-0.3, please read this:" elog "http://g-octave.readthedocs.org/en/latest/upgrading/#from-0-3-to-0-4" elog elog 'Please install the package manager that you want to use before run g-octave' elog } pkg_config() { local db="$(g-octave --config db)" mkdir -p "${db}" || die 'mkdir failed.' einfo "Extracting g-octave database files to: ${db}" tar -xzf "${DISTDIR}/${PN}-db-${DB_COMMIT:0:7}.tar.gz" -C "${db}" || die 'tar failed.' rm -rf "${db}"/{patches,octave-forge,info.json,manifest.json,timestamp} || die 'rm db files failed.' mv -f "${db}/${DB_DIR}"/* "${db}" || die 'mv failed.' rm -rf "${db}/${DB_DIR}" || die 'rm db dir failed.' }