dev-util/idea-ultimate: add .desktop entry for 15.* versions
authorMatthew Brewer <tomboy64@sina.cn>
Tue, 1 Dec 2015 13:14:55 +0000 (14:14 +0100)
committerMatthew Brewer <tomboy64@sina.cn>
Fri, 4 Dec 2015 23:22:12 +0000 (00:22 +0100)
dev-util/idea-ultimate/idea-ultimate-15.0.1.143.382.35-r1.ebuild [new file with mode: 0644]
dev-util/idea-ultimate/idea-ultimate-15.0.2.143.1015.7_pre.ebuild

diff --git a/dev-util/idea-ultimate/idea-ultimate-15.0.1.143.382.35-r1.ebuild b/dev-util/idea-ultimate/idea-ultimate-15.0.1.143.382.35-r1.ebuild
new file mode 100644 (file)
index 0000000..3841fca
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils versionator
+
+SLOT="0"
+PV_STRING="$(get_version_component_range 4-6)"
+MY_PV="$(get_version_component_range 1-3)"
+MY_PN="idea"
+
+DESCRIPTION="A complete toolset for web, mobile and enterprise development"
+HOMEPAGE="http://www.jetbrains.com/idea"
+SRC_URI="http://download-cf.jetbrains.com/idea/${MY_PN}IU-${MY_PV}.tar.gz -> ${MY_PN}IU-${PV_STRING}.tar.gz"
+
+LICENSE="IDEA
+       || ( IDEA_Academic IDEA_Classroom IDEA_OpenSource IDEA_Personal )"
+IUSE=""
+KEYWORDS="amd64 x86"
+
+DEPEND="!dev-util/${PN}:14
+       !dev-util/${PN}:15"
+RDEPEND="${DEPEND}
+       >=virtual/jdk-1.7:*"
+S="${WORKDIR}/${MY_PN}-IU-${PV_STRING}"
+
+QA_TEXTRELS="opt/${PN}-${MY_PV}/bin/libbreakgen.so"
+QA_PRESTRIPPED="opt/${PN}-${MY_PV}/lib/libpty/linux/x86/libpty.so
+       opt/${PN}-${MY_PV}/lib/libpty/linux/x86_64/libpty.so
+       opt/${PN}-${MY_PV}/bin/libyjpagent-linux.so
+       opt/${PN}-${MY_PV}/bin/libyjpagent-linux64.so"
+QA_WX_LOAD="
+       opt/${PN}-${MY_PV}/bin/fsnotifier-arm
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_auth.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_console.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_filesystem.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_misc.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_synchronization.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_auth.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_console.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_filesystem.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_misc.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_synchronization.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_auth.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_console.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_filesystem.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_misc.so
+       opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_synchronization.so"
+
+src_prepare() {
+       if ! use amd64; then
+               rm -r plugins/tfsIntegration/lib/native/linux/x86_64 || die
+       fi
+       if ! use arm; then
+               rm bin/fsnotifier-arm || die
+               rm -r plugins/tfsIntegration/lib/native/linux/arm || die
+       fi
+       if ! use ppc; then
+               rm -r plugins/tfsIntegration/lib/native/linux/ppc || die
+       fi
+       if ! use x86; then
+               rm -r plugins/tfsIntegration/lib/native/linux/x86 || die
+       fi
+       rm -r plugins/tfsIntegration/lib/native/solaris || die
+       rm -r plugins/tfsIntegration/lib/native/hpux || die
+}
+
+src_install() {
+       local dir="/opt/${PN}-${MY_PV}"
+
+       insinto "${dir}"
+       doins -r *
+       fperms 755 "${dir}"/bin/{idea.sh,fsnotifier{,64}}
+
+       make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh" || die
+       newicon "bin/${MY_PN}.png" "${PN}.png" || die
+       make_desktop_entry "${PN}" "IntelliJ Idea Ultimate" "${PN}" "Development;IDE;" || die
+
+       # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
+       mkdir -p "${D}/etc/sysctl.d/" || die
+       echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
+}
index dc8152b7eda0d02c348f3be78820d5da4065b06b..8c724efefa0b90cd3d7e26976f2ff757b95adc5d 100644 (file)
@@ -73,7 +73,9 @@ src_install() {
        doins -r *
        fperms 755 "${dir}"/bin/{idea.sh,fsnotifier{,64}}
 
-       make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh"
+       make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh" || die
+       newicon "bin/${MY_PN}.png" "${PN}.png" || die
+       make_desktop_entry "${PN}" "IntelliJ Idea Ultimate" "${PN}" "Development;IDE;" || die
 
        # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
        mkdir -p "${D}/etc/sysctl.d/" || die