diff options
Diffstat (limited to 'dev-util/idea/idea-141.ebuild')
-rw-r--r-- | dev-util/idea/idea-141.ebuild | 291 |
1 files changed, 223 insertions, 68 deletions
diff --git a/dev-util/idea/idea-141.ebuild b/dev-util/idea/idea-141.ebuild index 8f30b43..ba24f1e 100644 --- a/dev-util/idea/idea-141.ebuild +++ b/dev-util/idea/idea-141.ebuild @@ -1,14 +1,17 @@ -# Copyright open-overlay 2015 by Alex +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ EAPI=5 inherit eutils java-pkg-2 java-ant-2 versionator SLOT="0" -MY_PN="intellij-community" +#MY_PN="intellij-community" +MY_PN="idea" RESTRICT="strip" -QA_TEXTRELS="opt/${P}/bin/libbreakgen.so" +QA_TEXTRELS="opt/idea-${PV}/bin/libbreakgen.so" DESCRIPTION="IntelliJ IDEA is an intelligent Java IDE (Community Edition)" HOMEPAGE="http://jetbrains.com/idea/" @@ -41,13 +44,47 @@ CDEPEND=" dev-java/asm:3 dev-java/asm:4 dev-java/cglib:3 - dev-java/commons-commons:0 - dev-java/commons-logging:0 dev-java/commons-httpclient:3 dev-java/eclipse-ecj:4.4 dev-java/freemarker:2.3 + dev-java/guava:17 dev-java/hamcrest-core:1.3 dev-java/hamcrest-library:1.3 + dev-java/commons-net:0 + dev-java/guava:18 + dev-java/gson:2.2.2 + dev-java/jcip-annotations:0 + dev-java/jgoodies-common:0 + dev-java/jgoodies-looks:2.0 + dev-java/jna:0 + dev-java/jsch:0 + dev-java/jsr173:0 + dev-java/jsr305:0 + dev-java/jaxen:1.1 + dev-java/jzlib:1.1 + dev-java/kryo:2 + dev-java/log4j:0 + dev-java/microba:0 + dev-java/miglayout:0 + dev-java/minlog:0 + dev-java/nanoxml:0 + dev-java/reflectasm:0 + dev-java/nekohtml:0 + dev-libs/protobuf:0[java] + dev-java/reflectasm:0 + dev-java/xml-commons-resolver:0 + dev-java/rhino:1.7 + dev-java/slf4j-api:0 + dev-java/slf4j-log4j12:0 + dev-java/slf4j-simple:0 + || ( dev-java/jython:2.7 dev-java/jython:2.5 ) + dev-java/jflex:0 + dev-java/xpp3:0 + dev-java/commons-io:1 + dev-java/commons-logging:0 + dev-java/wsdl4j:0 + dev-java/commons-discovery:0 + dev-java/iso-relax:0 " DEPEND=" dev-java/antlr:0[java] @@ -57,6 +94,11 @@ DEPEND=" dev-java/hamcrest-core:0 dev-java/hamcrest-library:0 dev-java/jarjar:1 + dev-java/objenesis:0 + dev-java/mockobjects:0 + dev-java/jansi:0 + dev-java/jline:0 + dev-java/jaxb:2 >=virtual/jdk-1.7 ${CDEPEND} " @@ -67,7 +109,7 @@ RDEPEND=" # Notes: # - saxon depends on jdom:1.0 - don't we want jdom:0? be it as may be, we don't have the right saxon - somehow. -S="${WORKDIR}/${MY_PN}-${PV}" +S="${WORKDIR}/intellij-community-${PV}" EANT_BUILD_TARGET="build" EANT_GENTOO_CLASSPATH="" @@ -75,68 +117,127 @@ JAVA_REWRITE_CLASSPATH=1 java_prepare() { local dts=" - ./build/lib/commons-cli-1.2.jar ./lib/groovy/lib/commons-cli-1.2.jar + ./build/lib/commons-cli-1.2.jar ./build/lib/jarjar-1.0.jar ./lib/dev/easymockclassextension.jar ./lib/dev/easymock.jar - ./lib/dev/hamcrest-core-1.1.jar + ./lib/hamcrest-library-1.3.jar + ./lib/hamcrest-core-1.3.jar ./lib/dev/hamcrest-library-1.1.jar + ./lib/dev/hamcrest-core-1.1.jar ./lib/objenesis-1.2.jar ./lib/dev/objenesis-1.0.jar ./lib/groovy/lib/antlr-2.7.7.jar - " - for i in $dts; do - java-pkg_rm_files ${i} || die "wanted to rm ${i} but couldn't find it" - done - java-pkg_jar-from --build-only --into "${S}/build/lib" commons-cli-1 - java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" commons-cli-1 - java-pkg_jar-from --build-only --into "${S}/build/lib" jarjar-1 # jb's file has util -> ext_util and weird asm built in? - java-pkg_jar-from --build-only --into "${S}/lib/dev" easymock-3.2 - java-pkg_jar-from --build-only --into "${S}/lib/dev" easymock-classextension-3.2 - java-pkg_jar-from --build-only --into "${S}/lib/dev" hamcrest-core hamcrest-core.jar hamcrest-core-1.1.jar - java-pkg_jar-from --build-only --into "${S}/lib/dev" hamcrest-library hamcrest-library.jar hamcrest-library-1.1.jar - #java-pkg_jar-from --build-only --into "${S}/lib/dev" jmock-1.0 jmock.jar jmock-1.jar # since those are only build-deps i'm not gonna replace them. - #java-pkg_jar-from --build-only --into "${S}/lib/dev" jmock-2 jmock.jar jmock-2.jar - java-pkg_jar-from --build-only --into "${S}/lib" objenesis - java-pkg_jar-from --build-only --into "${S}/lib/dev" objenesis - java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" antlr - - local dts=" + ./plugins/svn4idea/lib/antlr.jar + ./lib/dev/mockobjects-core-0.09.jar + ./lib/groovy/lib/jansi-1.6.jar + ./lib/groovy/lib/jline-1.0.jar + ./lib/jaxb-impl.jar + ./lib/jaxb-api.jar + ./lib/jaxen-1.1.3.jar ./lib/ant/lib/ant.jar + ./lib/ant/lib/ant-testutil.jar + ./lib/ant/lib/ant-swing.jar + ./lib/ant/lib/ant-netrexx.jar ./lib/ant/lib/ant-launcher.jar - ./lib/ant/lib/ant-antlr.jar - ./lib/ant/lib/ant-apache-bcel.jar - ./lib/ant/lib/ant-apache-bsf.jar - ./lib/ant/lib/ant-apache-log4j.jar - ./lib/ant/lib/ant-apache-oro.jar - ./lib/ant/lib/ant-apache-regexp.jar - ./lib/ant/lib/ant-apache-resolver.jar - ./lib/ant/lib/ant-apache-xalan2.jar - ./lib/ant/lib/ant-commons-logging.jar - ./lib/ant/lib/ant-commons-net.jar - ./lib/ant/lib/ant-jai.jar - ./lib/ant/lib/ant-javamail.jar - ./lib/ant/lib/ant-jdepend.jar - ./lib/ant/lib/ant-jmf.jar - ./lib/ant/lib/ant-jsch.jar - ./lib/ant/lib/ant-junit.jar ./lib/ant/lib/ant-junit4.jar - ./lib/ant/lib/ant-swing.jar - ./lib/ant/lib/ant-testutil.jar - ./lib/groovy/lib/asm-4.0.jar + ./lib/ant/lib/ant-junit.jar + ./lib/ant/lib/ant-jsch.jar + ./lib/ant/lib/ant-jmf.jar + ./lib/ant/lib/ant-jdepend.jar + ./lib/ant/lib/ant-javamail.jar + ./lib/ant/lib/ant-jai.jar + ./lib/ant/lib/ant-commons-net.jar + ./lib/ant/lib/ant-commons-logging.jar + ./lib/ant/lib/ant-apache-xalan2.jar + ./lib/ant/lib/ant-apache-resolver.jar + ./lib/ant/lib/ant-apache-regexp.jar + ./lib/ant/lib/ant-apache-oro.jar + ./lib/ant/lib/ant-apache-log4j.jar + ./lib/ant/lib/ant-apache-bsf.jar + ./lib/ant/lib/ant-apache-bcel.jar + ./lib/ant/lib/ant-antlr.jar ./lib/asm.jar ./lib/asm-commons.jar + ./lib/groovy/lib/asm-4.0.jar ./lib/commons-net-3.3.jar + ./lib/src/commons-net-3.3-sources.jar ./lib/commons-logging-1.1.3.jar - ./lib/hamcrest-core-1.3.jar - ./lib/hamcrest-library-1.3.jar ./lib/ecj-4.4.jar ./lib/freemarker.jar + ./lib/guava-17.0.jar + ./lib/src/guava-17.0-sources.jar + ./plugins/maven/maven32-server-impl/lib/maven32/lib/guava-18.0.jar + ./lib/gson-2.3.jar + ./lib/src/gson-2.3-sources.jar + ./lib/jcip-annotations.jar + ./lib/jgoodies-looks-2.4.2.jar + ./lib/jgoodies-common-1.2.1.jar + ./lib/jsch-0.1.51.jar + ./lib/jsr173_1.0_api.jar + ./plugins/gradle/lib/jsr305-1.3.9.jar + ./lib/jsr305.jar + ./lib/src/jzlib-1.1.1.zip + ./lib/jzlib-1.1.1.jar + ./lib/src/kryo-src.zip + ./lib/kryo-2.22.jar + ./lib/src/log4j.zip + ./lib/src/microba-src.zip + ./lib/microba.jar + ./lib/src/miglayout-sources.jar + ./lib/miglayout-swing.jar + ./lib/minlog-1.2.jar + ./lib/src/nanoxml.zip + ./lib/nanoxml-2.2.3.jar + ./lib/nekohtml-1.9.14.jar + ./lib/protobuf-2.5.0.jar + ./lib/resolver.jar + ./lib/rhino-js-1_7R4.jar + ./lib/slf4j-api-1.7.10.jar + ./lib/slf4j-log4j12-1.7.10.jar + ./plugins/maven/maven32-server-impl/lib/maven32/lib/slf4j-api-1.7.5.jar + ./plugins/maven/maven32-server-impl/lib/maven32/lib/slf4j-simple-1.7.5.jar + ./lib/src/xpp3-1.1.4-min-src.jar + ./lib/xpp3-1.1.4-min.jar + ./python/ipnb/lib/commons-io-1.4.jar + ./plugins/maven/maven32-server-impl/lib/maven32/lib/commons-io-2.2.jar + ./plugins/maven/maven30-server-impl/lib/maven3/lib/commons-io-2.2.jar + ./plugins/gradle/lib/commons-io-1.4.jar + ./plugins/gradle/lib/jna-3.2.7.jar + ./lib/jna.jar + ./lib/src/jna-src.zip + ./plugins/tasks/tasks-core/lib/wsdl4j-1.4.jar + ./lib/jna-utils.jar + ./plugins/tasks/tasks-core/lib/commons-discovery-0.4.jar + ./xml/relaxng/lib/isorelax.jar " for i in ${dts}; do - java-pkg_rm_files ${i} || die "wanted to rm ${i} but couldn't find it" + java-pkg_rm_files ${i} || die done + + java-pkg_jar-from --build-only --into "${S}/build/lib" commons-cli-1 + java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" commons-cli-1 + java-pkg_jar-from --build-only --into "${S}/build/lib" jarjar-1 # jb's file has util -> ext_util and weird asm built in? + java-pkg_jar-from --build-only --into "${S}/lib/dev" easymock-3.2 + java-pkg_jar-from --build-only --into "${S}/lib/dev" easymock-classextension-3.2 + java-pkg_jar-from --build-only --into "${S}/lib/dev" hamcrest-core hamcrest-core.jar hamcrest-core-1.1.jar + java-pkg_jar-from --build-only --into "${S}/lib/dev" hamcrest-library hamcrest-library.jar hamcrest-library-1.1.jar + #java-pkg_jar-from --build-only --into "${S}/lib/dev" jmock-1.0 jmock.jar jmock-1.jar # since those are only build-deps i'm not gonna replace them. + #java-pkg_jar-from --build-only --into "${S}/lib/dev" jmock-2 jmock.jar jmock-2.jar + java-pkg_jar-from --build-only --into "${S}/lib" objenesis objenesis.jar objenesis-1.2.jar + java-pkg_jar-from --build-only --into "${S}/lib/dev" objenesis objenesis.jar objenesis-1.0.jar + java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" antlr + java-pkg_jar-from --build-only --into "${S}/lib/dev" mockobjects mockobjects-core.jar mockobjects-core-0.09.jar + java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" jansi + java-pkg_jar-from --build-only --into "${S}/lib/groovy/lib" jline + java-pkg_jar-from --build-only --into "${S}/lib" jaxb-2 + java-pkg_jar-from --build-only --into "${S}/lib" reflectasm + java-pkg_jar-from --build-only --into "${S}/plugins/maven/maven32-server-impl/lib/maven32/lib" slf4j-api + java-pkg_jar-from --build-only --into "${S}/plugins/maven/maven32-server-impl/lib/maven32/lib" slf4j-simple slf4j-simple.jar slf4j-simple-1.7.5.jar + java-pkg_jar-from --build-only --into "${S}/python/lib" jython-2.7 + java-pkg_jar-from --build-only --into "${S}/tools/lexer/jflex-1.4/lib" jflex + java-pkg_jar-from --into "${S}/lib/ant/lib" ant-core ant.jar java-pkg_jar-from --into "${S}/lib/ant/lib" ant-core ant-launcher.jar java-pkg_jar-from --into "${S}/lib/ant/lib" ant-antlr @@ -162,31 +263,85 @@ java_prepare() { java-pkg_jar-from --into "${S}/lib" asm-3 asm-commons.jar java-pkg_jar-from --into "${S}/lib/groovy/lib" asm-4 asm.jar asm-4.0.jar #java-pkg_jar-from --into "${S}/lib/" cglib-3 cglib.jar cglib-2.2.2.jar # our's is too new. - java-pkg_jar-from --into "${S}/lib/" commons-net # they have 3.3, we have 3.2 - java-pkg_jar-from --into "${S}/lib/" commons-logging + java-pkg_jar-from --into "${S}/lib" commons-net # they have 3.3, we have 3.2 + java-pkg_jar-from --into "${S}/lib" commons-logging commons-logging.jar commons-logging-1.1.3.jar #java-pkg_jar-from --into "${S}/lib/" commons-httpclient-3 # they made the effort to rename it to "patched"; both are 3.1 #java-pkg_jar-from --into "${S}/lib/" commons-codec # they have 1.9, we have 1.7; our's is too old java-pkg_jar-from --into "${S}/lib" hamcrest-core-1.3 hamcrest-core.jar hamcrest-core-1.3.jar java-pkg_jar-from --into "${S}/lib" hamcrest-library-1.3 hamcrest-library.jar hamcrest-library-1.3.jar - java-pkg_jar-from --into "${S}/lib/" eclipse-ecj-4.4 - java-pkg_jar-from --into "${S}/lib/" freemarker-2.3 - - # cucumber{,-core} and gherkin need java-packages. who wants ruby? + java-pkg_jar-from --into "${S}/lib" eclipse-ecj-4.4 + java-pkg_jar-from --into "${S}/lib" freemarker-2.3 + java-pkg_jar-from --into "${S}/lib" guava-17 guava.jar guava-17.0.jar + java-pkg_jar-from --into "${S}/plugins/maven/maven32-server-impl/lib/maven32/lib" guava-18 guava.jar guava-18.0.jar + java-pkg_jar-from --into "${S}/plugins/gradle/lib" guava-17 guava.jar guava-jdk5-17.0.jar # do we really wanna pose as jdk5? + java-pkg_jar-from --into "${S}/lib" gson-2.2.2 gson.jar gson-2.3.jar + java-pkg_jar-from --into "${S}/lib" jcip-annotations + java-pkg_jar-from --into "${S}/lib" jgoodies-common + #java-pkg_jar-from --into "${S}/lib" jgoodies-forms + java-pkg_jar-from --into "${S}/lib" jgoodies-looks-2.0 looks.jar jgoodies-looks-2.4.2.jar + java-pkg_jar-from --into "${S}/lib" jna + java-pkg_jar-from --into "${S}/plugins/gradle/lib" jna + java-pkg_jar-from --into "${S}/lib" jsch + java-pkg_jar-from --into "${S}/lib" jsr173 + java-pkg_jar-from --into "${S}/lib" jsr305 + java-pkg_jar-from --into "${S}/plugins/gradle/lib" jsr305 + java-pkg_jar-from --into "${S}/lib" jaxen-1.1 jaxen.jar jaxen-1.1.3.jar + java-pkg_jar-from --into "${S}/lib" jzlib-1.1 + java-pkg_jar-from --into "${S}/lib" kryo-2 kryo.jar kryo-2.22.jar + #java-pkg_jar-from --into "${S}/lib" junit + #java-pkg_jar-from --into "${S}/lib" junit-4 junit.jar junit-4.12.jar + #java-pkg_jar-from --into "${S}/lib" log4j # somehow our version is incompatible? + java-pkg_jar-from --into "${S}/lib" microba + java-pkg_jar-from --into "${S}/lib" miglayout miglayout.jar miglayout-swing.jar + java-pkg_jar-from --into "${S}/lib" minlog minlog.jar minlog-1.2.jar + java-pkg_jar-from --into "${S}/lib" nanoxml nanoxml.jar nanoxml-2.2.3.jar + java-pkg_jar-from --into "${S}/lib" nekohtml nekohtml.jar nekohtml-1.9.14.jar + #java-pkg_jar-from --into "${S}/lib" picocontainer-1 # weird stuffs. just try it man, i dare ya! + java-pkg_jar-from --into "${S}/lib" protobuf protobuf.jar protobuf-2.5.0.jar + java-pkg_jar-from --into "${S}/lib" reflectasm + java-pkg_jar-from --into "${S}/lib" xml-commons-resolver xml-commons-resolver.jar resolver.jar + java-pkg_jar-from --into "${S}/lib" rhino-1.7 js.jar rhino-js-1_7R4.jar + java-pkg_jar-from --into "${S}/lib" slf4j-api slf4j-api.jar slf4j-api-1.7.10.jar + java-pkg_jar-from --into "${S}/lib" slf4j-log4j12 slf4j-log4j12.jar slf4j-log4j12-1.7.10.jar + #java-pkg_jar-from --into "${S}/lib" snappy-1.0 snappy.jar snappy-in-java-0.3.1.jar # they use some random implementation by iq80? + #java-pkg_jar-from --into "${S}/lib" trove trove.jar trove4j.jar # apparently it's trove:0 - but J00 DOIN WEIRD STUFFZ, M8! + java-pkg_jar-from --into "${S}/lib" xpp3 xpp3.jar xpp3-1.1.4-min.jar + #java-pkg_jar-from --into "${S}/lib" velocity # somehow this contains classes from commons-collections + #java-pkg_jar-from --into "${S}/lib" swingx-1.6 swingx.jar swingx-core-1.6.2.jar # really needs 1.6.2 - our 1.6.4 has different jar structure + #java-pkg_jar-from --into "${S}/lib" xbeans-2 xbeans.jar xbean.jar # jetbrains-pimped + #java-pkg_jar-from --into "${S}/lib" xerces-1.3 + #java-pkg_jar-from --into "${S}/lib" xerces-2 # something in between needed + #java-pkg_jar-from --into "${S}/lib" xmlrpc-3 xmlrpc-client.jar xmlrpc-2.0.jar # they want xmlrpc:2 - which is not in the tree anymore + #java-pkg_jar-from --into "${S}/lib" xstream xstream.jar xstream-1.4.3.jar # they want 1.4.3 - our's is too old + #java-pkg_jar-from --into "${S}/plugins/devkit/lib" dtdparser-1.21 dtdparser.jar dtdparser-113.jar # custom jetbrains version + java-pkg_jar-from --into "${S}/python/ipnb/lib" commons-io-1 + java-pkg_jar-from --into "${S}/plugins/maven/maven32-server-impl/lib/maven32/lib" commons-io-1 + java-pkg_jar-from --into "${S}/plugins/maven/maven30-server-impl/lib/maven3/lib" commons-io-1 + java-pkg_jar-from --into "${S}/plugins/gradle/lib" commons-io-1 + java-pkg_jar-from --into "${S}/plugins/gradle/lib" jna jna.jar jna-3.2.7.jar + java-pkg_jar-from --into "${S}/lib" jna + java-pkg_jar-from --into "${S}/lib" jna platform.jar jna-utils.jar + #java-pkg_jar-from --into "${S}/plugins/testng/lib" testng # wrong version + java-pkg_jar-from --into "${S}/plugins/tasks/tasks-core/lib" wsdl4j wsdl4j.jar wsdl4j-1.4.jar + java-pkg_jar-from --into "${S}/plugins/tasks/tasks-core/lib" commons-discovery + java-pkg_jar-from --into "${S}/xml/relaxng/lib" iso-relax + #java-pkg_jar-from --into "${S}/xml/relaxng/lib" nokogiri jing.jar # nokogiri doesn't register with java. who needs ruby anyway? + #java-pkg_jar-from --into "${S}/xml/relaxng/lib" trang-core.jar # crappy crap's not building + + # cucumber-{java,core} and gherkin need java-packages. seriuosly, who wants ruby? # groovy is way outdated, wanting 2.0.4 and 2.3.9 } -#java_unpack() { -# java-ant_rewrite-classpath -#} +src_install() { + local final_dest="/opt/${MY_PN}-${PV}" + local destination="${D}${final_dest}" + local tarball="ideaIC-${PV}.SNAPSHOT.tar.gz" + local tardir=$(tar -tzf ${S}/out/artifacts/${tarball} | head -n1 | awk -F / '{ print $1 }') -#src_install() { -# local dir="/opt/${PN}" -# -# insinto "${dir}" -# doins -r * -# fperms 755 "${dir}/bin/${MY_PN}.sh" "${dir}/bin/fsnotifier" "${dir}/bin/fsnotifier64" -# -# newicon "bin/idea.png" "${PN}.png" -# make_wrapper ${PN} ${dir}/bin/${MY_PN}.sh -# make_desktop_entry ${PN} "IntelliJ IDEA(Community Edition)" ${PN} "Development;IDE" -#} + mkdir -p "${destination}" || die "Can't create directory: ${dir}" + cd "${destination}" || die "Directory not there: ${dir}" + tar xzvf "${S}/out/artifacts/${tarball}" --transform 's/\/\?'${tardir}'\///' || die "Moving idea to image directory unsuccessful." + fperms 755 "${final_dest}/bin/idea.sh" "${final_dest}/bin/fsnotifier" "${final_dest}/bin/fsnotifier64" + + make_desktop_entry "/opt/idea-IC-141.SNAPSHOT/bin/idea.sh" "IntelliJ IDEA" "/opt/idea-IC-141.SNAPSHOT/bin/idea.png" +} |