dev-util/scons: Use git directory structure for workdir
authorMichał Górny <mgorny@gentoo.org>
Wed, 9 May 2018 15:13:59 +0000 (17:13 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 9 May 2018 15:25:51 +0000 (17:25 +0200)
Reuse the same directory structure as used in SCons git to make user
patch application easier.

dev-util/scons/scons-3.0.1.ebuild

index 99e628bd1033502282886bc69f454f5399e06286..1a6f2c59360e3e2723a7d14730525733bb7c7a4e 100644 (file)
@@ -21,25 +21,36 @@ SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="doc test"
 
+S=${WORKDIR}/${P}/src
+
 src_unpack() {
+       # use the git directory structure, but put pregenerated release
+       # inside src/ subdirectory to make our life easier
        if use test; then
                unpack "${P}.gh.tar.gz"
-               mv "${P}" "${P}-full" || die
+               rm -r "${P}/src" || die
+       else
+               mkdir "${P}" || die
        fi
+
+       cd "${P}" || die
        unpack "${P}.tar.gz"
+       mv "${P}" src || die
 }
 
-python_prepare_all() {
+src_prepare() {
+       # apply patches relatively to top directory
+       cd "${WORKDIR}/${P}" || die
+       distutils-r1_src_prepare
+
        # remove half-broken, useless custom commands
        # and fix manpage install location
        sed -i -e '/cmdclass/,/}$/d' \
-               -e '/data_files/s:man/:share/man/:' setup.py || die
-
-       distutils-r1_python_prepare_all
+               -e '/data_files/s:man/:share/man/:' "${S}"/setup.py || die
 }
 
 python_test() {
-       cd "${WORKDIR}/${P}-full" || die
+       cd "${WORKDIR}/${P}" || die
        "${EPYTHON}" runtest.py -as \
                -j "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" \
                --builddir "${BUILD_DIR}/lib" ||