commit:     844ff714334633a5ae03ac348cee75ae78423c3b
Author:     William L. Thomson Jr <wlt <AT> o-sinc <DOT> com>
AuthorDate: Fri Sep 23 23:05:20 2016 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Tue Oct  4 15:32:29 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=844ff714

dev-util/android-studio: Unbundled some stuff, fixed bug

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 <AT> gentoo.org>

 ... android-studio-2.2.0.12.145.3276617-r1.ebuild} | 39 ++++++++++++++++++++--
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/dev-util/android-studio/android-studio-2.2.0.12.145.3276617.ebuild 
b/dev-util/android-studio/android-studio-2.2.0.12.145.3276617-r1.ebuild
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 857b4d3..f2de707 100644
--- a/dev-util/android-studio/android-studio-2.2.0.12.145.3276617.ebuild
+++ b/dev-util/android-studio/android-studio-2.2.0.12.145.3276617-r1.ebuild
@@ -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

Reply via email to