dev-util/android-studio: Unbundled some stuff, fixed bug
authorWilliam L. Thomson Jr <wlt@o-sinc.com>
Fri, 23 Sep 2016 23:05:20 +0000 (19:05 -0400)
committerJason Zaman <perfinion@gentoo.org>
Tue, 4 Oct 2016 15:32:29 +0000 (23:32 +0800)
1. Unbundled jdk posing as a jre, replaced with symlink to system vm/jdk
2. Unbundled a few jars for system installed, more can be done, as
   usually several deps in gentoo are outdated so need to be updated
3. Unbundling jre/jdk fixes bug #594584, otherwise that directory needs
   to be added to the list of fperms. Using system should be a better
   approach, and will be updated with security updates, etc.
4. chmod gradle/gradle-*/bin/gradle because fperms does not work with
   globs.

Package-Manager: portage-2.3.1
Signed-off-by: Jason Zaman <perfinion@gentoo.org>
dev-util/android-studio/android-studio-2.2.0.12.145.3276617-r1.ebuild [moved from dev-util/android-studio/android-studio-2.2.0.12.145.3276617.ebuild with 66% similarity]

similarity index 66%
rename from dev-util/android-studio/android-studio-2.2.0.12.145.3276617.ebuild
rename to dev-util/android-studio/android-studio-2.2.0.12.145.3276617-r1.ebuild
index 857b4d36824c4b67faa57f10f5344bb1079e059a..f2de70746970ac279353c756799e03a2330bd637 100644 (file)
@@ -3,7 +3,7 @@
 # $Id$
 
 EAPI=6
-inherit eutils versionator
+inherit eutils java-pkg-2 versionator
 
 RESTRICT="strip"
 QA_PREBUILT="opt/${PN}/bin/libbreakgen*.so opt/${PN}/bin/fsnotifier*"
@@ -24,10 +24,16 @@ SLOT="0"
 IUSE="selinux"
 KEYWORDS="~amd64 ~x86"
 
-DEPEND="app-arch/zip"
+DEPEND="app-arch/zip
+       dev-java/commons-logging:0
+       dev-java/log4j:0"
+
+#      dev-java/guava:18
 RDEPEND=">=virtual/jdk-1.7
        selinux? ( sec-policy/selinux-android )
        >=app-arch/bzip2-1.0.6-r4
+       dev-java/commons-logging:0
+       dev-java/log4j:0
        >=dev-libs/expat-2.1.0-r3
        >=dev-libs/libffi-3.0.13-r1
        >=media-libs/fontconfig-2.10.92
@@ -49,12 +55,39 @@ RDEPEND=">=virtual/jdk-1.7
        >=x11-libs/libxshmfence-1.1"
 S=${WORKDIR}/${PN}
 
+java_prepare() {
+       eapply_user
+       # This is really a bundled jdk not a jre
+       rm -R "${S}/jre" || die "Could not remove bundled jdk"
+
+       # Replace bundled jars with system
+       # has problems with newer jdom:0 not updated to jdom:2
+       cd "${S}/lib"
+       local JARS="commons-logging log4j"
+       local j
+       for j in ${JARS}; do
+               rm -v ${j/:*/}*.jar
+               java-pkg_jar-from ${j}
+       done
+}
+
+src_compile() {
+       :
+}
+
 src_install() {
        local dir="/opt/${PN}"
 
        insinto "${dir}"
+       # Replaced bundled jre with system vm/jdk
+       # This is really a bundled jdk not a jre
        doins -r *
-       fperms 755 "${dir}/bin/studio.sh" "${dir}/bin/fsnotifier" "${dir}/bin/fsnotifier64"
+
+       rm -rf "${D}${dir}/jre" || die
+       dosym "/etc/java-config-2/current-system-vm" "${dir}/jre"
+
+       fperms 755 "${dir}/bin/studio.sh" "${dir}"/bin/fsnotifier{,64}
+       chmod 755 "${D}${dir}"/gradle/gradle-*/bin/gradle || die
 
        newicon "bin/studio.png" "${PN}.png"
        make_wrapper ${PN} ${dir}/bin/studio.sh