# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit eutils desktop SLOT="0" PV_STRING="$(ver_cut 2-6)" MY_PV="$(ver_cut 1-3)" MY_PN="PhpStorm" # distinguish settings for official stable releases and EAP-version releases if [[ "$(ver_cut 7)"x = "prex" ]] then # upstream EAP KEYWORDS="" SRC_URI="https://download.jetbrains.com/webidea/${MY_PN}-${PV_STRING}.tar.gz" else # upstream stable KEYWORDS="amd64" SRC_URI="https://download.jetbrains.com/webide/${MY_PN}-${MY_PV}.tar.gz -> ${MY_PN}-${PV_STRING}.tar.gz" fi DESCRIPTION="A complete toolset for web, mobile and enterprise development" HOMEPAGE="https://www.jetbrains.com/phpstorm" LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CDDL-1.1 codehaus-classworlds CPL-1.0 EPL-1.0 EPL-2.0 GPL-2 GPL-2-with-classpath-exception ISC JDOM LGPL-2.1 LGPL-2.1+ LGPL-3-with-linking-exception MIT MPL-1.0 MPL-1.1 OFL ZLIB" IUSE="" REQUIRED_USE="" RDEPEND=" app-arch/brotli app-arch/zstd app-crypt/p11-kit dev-libs/fribidi dev-libs/glib dev-libs/json-c dev-libs/nss dev-libs/libbsd media-libs/alsa-lib media-libs/fontconfig media-libs/freetype:2= media-libs/harfbuzz media-libs/libglvnd media-libs/libpng:0= media-fonts/dejavu media-gfx/graphite2 net-libs/gnutls net-libs/libnet net-print/cups sys-apps/dbus sys-libs/libcap sys-libs/zlib virtual/jpeg:0= x11-libs/libX11 x11-libs/libxcb x11-libs/libXext x11-libs/libXi x11-libs/libXrandr x11-libs/libXrender x11-libs/libXtst x11-libs/pango " RESTRICT="splitdebug" S="${WORKDIR}/${MY_PN}-$(ver_cut 4-6)" DIR="/opt/${PN}-${MY_PV}" QA_PREBUILT="${DIR}/*" JRE_DIR="jbr" src_prepare() { rm -vf "${S}"/help/ReferenceCardForMac.pdf || die rm -vf "${S}"/bin/fsnotifier || die rm -vf "${S}"/bin/phpstorm.vmoptions || die rm -vf "${S}"/"${JRE_DIR}"/lib/libavplugin* || die rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.so || die rm -vf "${S}"/plugins/performanceTesting/bin/*.dll || die rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.dylib || die rm -vrf "${S}"/lib/pty4j-native/linux/x86 || die rm -vrf "${S}"/lib/pty4j-native/linux/ppc64le || die rm -vf "${S}"/bin/libdbm64* || die sed -i \ -e "\$a\\\\" \ -e "\$a#-----------------------------------------------------------------------" \ -e "\$a# Disable automatic updates as these are handled through Gentoo's" \ -e "\$a# package manager. See bug #704494" \ -e "\$a#-----------------------------------------------------------------------" \ -e "\$aide.no.platform.update=Gentoo" bin/idea.properties eapply_user } src_install() { insinto "${DIR}" doins -r * fperms 755 "${DIR}"/bin/{format.sh,phpstorm.sh,inspect.sh,printenv.py,restart.py,fsnotifier64} fperms 755 "${DIR}"/"${JRE_DIR}"/bin/{jaotc,java,javac,jdb,jhsdb,jjs,jrunscript,keytool,pack200,rmid,rmiregistry,serialver,unpack200} make_wrapper "${PN}" "${DIR}/bin/${PN}.sh" newicon "bin/${PN}.png" "${PN}.png" make_desktop_entry "${PN}" "${MY_PN} ${PV}" "${PN}" "Development;IDE;" # 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 }