sys-devel/parity-9999: follow upstream development
authorMichael Haubenwallner <haubi@gentoo.org>
Tue, 3 Jul 2018 14:35:22 +0000 (16:35 +0200)
committerMichael Haubenwallner <haubi@gentoo.org>
Tue, 3 Jul 2018 14:36:24 +0000 (16:36 +0200)
Package-Manager: Portage-2.3.24, Repoman-2.3.6

sys-devel/parity/metadata.xml
sys-devel/parity/parity-9999.ebuild

index c0714eac500cbc133059bbdd770fb1d088ab12b4..2d8ffbadd1381c814ee4c589f1bafbcf3f7b63a8 100644 (file)
@@ -6,7 +6,18 @@
                <name>Michael Haubenwallner</name>
        </maintainer>
        <upstream>
-               <remote-id type="sourceforge">parity</remote-id>
                <remote-id type="github">haubi/parity</remote-id>
        </upstream>
+       <use>
+               <flag name="vc7_0">Enable support for Visual Studio 2002</flag>
+               <flag name="vc7_1">Enable support for Visual Studio 2003</flag>
+               <flag name="vc8_0">Enable support for Visual Studio 2005</flag>
+               <flag name="vc9_0">Enable support for Visual Studio 2008</flag>
+               <flag name="vc10_0">Enable support for Visual Studio 2010</flag>
+               <flag name="vc11_0">Enable support for Visual Studio 2012</flag>
+               <flag name="vc12_0">Enable support for Visual Studio 2013</flag>
+               <flag name="vc14_0">Enable support for Visual Studio 2015</flag>
+               <flag name="vc15_0">Enable support for Visual Studio 2017</flag>
+               <flag name="vc_x86">Enable support for 32bit Visual Studio compilers</flag>
+       </use>
 </pkgmetadata>
index 381b4c753823f1215492565615d7e82bd9903e83..24a6582d4eab15ebb40f105a6756791c7b1a2743 100644 (file)
@@ -14,9 +14,15 @@ fi
 DESCRIPTION="A POSIX to native Win32 Cross-Compiler Tool (requires Visual Studio)"
 HOMEPAGE="https://github.com/haubi/parity"
 
+parity-vcarchs() { echo x86 ; }
+parity-vcvers() { echo 7_0 7_1 8_0 9_0 10_0 11_0 12_0 14_0 15_0 ; }
+
 LICENSE="LGPL-3"
 SLOT="0"
-IUSE=""
+IUSE="$(
+       for a in $(parity-vcarchs); do echo "+vc_${a}"; done
+       for v in $(parity-vcvers); do echo "+vc${v}"; done
+)"
 
 if [[ ${PV} == 9999 ]]; then
        src_prepare() {
@@ -25,30 +31,40 @@ if [[ ${PV} == 9999 ]]; then
        }
 fi
 
-src_install() {
-       emake DESTDIR="${D}" install || die "emake install failed"
-
-       # create i586-pc-winnt-g[++|cc|..] links..
-       local exeext=
-
-       [[ -f ${ED}usr/bin/parity.gnu.gcc.exe ]] && exeext=.exe
-
-       # create cross compiler syms, also for former versioned winnt profiles
-       local v t
-       for v in "" 5.2 6.1; do
-               dosym /usr/bin/parity.gnu.gcc${exeext} /usr/bin/i586-pc-winnt${v}-c++
-               dosym /usr/bin/parity.gnu.gcc${exeext} /usr/bin/i586-pc-winnt${v}-g++
-               for t in gcc ld windres ar nm ranlib strip; do
-                       if [[ -e "${ED}"usr/bin/parity.gnu.${t}${exeext} ]]; then
-                               dosym /usr/bin/parity.gnu.${t}${exeext} /usr/bin/i586-pc-winnt${v}-${t}
-                       else
-                               dosym /usr/bin/parity.gnu.${t} /usr/bin/i586-pc-winnt${v}-${t}
-                       fi
-               done
+parity-enabled-vcarchs() {
+       local enabled= a
+       for a in $(parity-vcarchs) ; do
+               if use vc_${a} ; then
+                       enabled+=",${a}"
+               fi
+       done
+       echo ${enabled#,}
+}
+
+parity-enabled-vcvers() {
+       local enabled= v
+       for v in $(parity-vcvers) ; do
+               if use vc${v} ; then
+                       enabled+=",${v/_/.}"
+               fi
        done
+       echo ${enabled#,}
+}
+
+src_configure() {
+       local myconf=(
+               --enable-msvc-archs="$(parity-enabled-vcarchs)"
+               --enable-msvc-versions="$(parity-enabled-vcvers)"
+               --disable-default-msvc-version
+       )
+       econf "${myconf[@]}"
+}
 
-       # we don't need the header files installed by parity... private
-       # header files are supported with a patch from 2.1.0-r1 onwards,
-       # so they won't be there anymore, but -f does the job in any case.
-       rm -f "${ED}"/usr/include/*.h
+pkg_postinst() {
+       if [[ -n ${ROOT%/} ]] ; then
+               einfo "To enable all available MSVC versions, on the target machine please run:"
+               einfo " '${EPREFIX}/usr/bin/parity-setup' --enable-all"
+       else
+               "${EPREFIX}"/usr/bin/parity-setup --enable-all
+       fi
 }