[packages/intellij-idea-ultimate] new, created from phpstorm.spec

glen glen at pld-linux.org
Mon Sep 30 14:29:27 CEST 2013


commit 7975955df6c77c1de81ccd2ec84adae1d0814f9e
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Mon Sep 30 15:28:05 2013 +0300

    new, created from phpstorm.spec

 idea.desktop                |  10 ++++
 intellij-idea-ultimate.spec | 128 ++++++++++++++++++++++++++++++++++++++++++++
 xdg-paths.patch             |  44 +++++++++++++++
 3 files changed, 182 insertions(+)
---
diff --git a/intellij-idea-ultimate.spec b/intellij-idea-ultimate.spec
new file mode 100644
index 0000000..3d674f0
--- /dev/null
+++ b/intellij-idea-ultimate.spec
@@ -0,0 +1,128 @@
+%define		product	idea
+%define		proddir	%{product}-IU
+%include	/usr/lib/rpm/macros.java
+Summary:	IntelliJ IDEA - The Most Intelligent Java IDE
+Name:		intellij-idea-ultimate
+Version:	12.1.4
+Release:	0.8
+License:	IntelliJ IDEA Commercial
+Group:		Development/Tools
+Source0:	http://download-ln.jetbrains.com/idea/ideaIU-%{version}.tar.gz
+# NoSource0-md5:	b3a2e34a607453f1d6bddffdf0a162a3
+NoSource:	0
+Source1:	%{product}.desktop
+Patch0:		xdg-paths.patch
+URL:		http://www.jetbrains.org/
+BuildRequires:	desktop-file-utils
+BuildRequires:	rpm-javaprov
+BuildRequires:	rpmbuild(macros) >= 1.596
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	desktop-file-utils
+Requires:	jre >= 1.6
+Suggests:	jdk >= 1.6
+Conflicts:	intellij-idea
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+# disable debuginfo package, not useful
+%define		_enable_debug_packages	0
+
+# don't strip fsnotifier, it's size is checked for "outdated binary"
+# https://bugs.archlinux.org/task/34703
+# http://git.jetbrains.org/?p=idea/community.git;a=blob;f=platform/platform-impl/src/com/intellij/openapi/vfs/impl/local/FileWatcher.java;h=004311b96a35df1ffc2c87baba78a8b2a8809f7d;hb=376b939fd6d6ec4c12191a5f90503d9d62c501da#l173
+%define		_noautostrip	.*/fsnotifier.*
+
+# use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix)
+# this allows to install both arch files and to use 32bit jdk on 64bit os
+%define		_appdir		%{_prefix}/lib/%{proddir}
+
+# rpm5 is so damn slow, so i use this for development:
+%define		_noautoreqfiles	.*\.jar
+
+%description
+IntelliJ IDEA is a code-centric IDE focused on developer productivity.
+The editor deeply understands your code and knows its way around the
+codebase, makes great suggestions right when you need them, and is
+always ready to help you shape your code.
+
+%package libs
+Summary:	Libraries for IntelliJ IDEA
+Group:		Libraries/Java
+%if "%{_rpmversion}" >= "5"
+BuildArch:	noarch
+%endif
+
+%description libs
+Libraries for IntelliJ IDEA.
+
+%prep
+%setup -qn %{proddir}-129.713
+%patch0 -p1
+
+# keep only single arch files (don't want to pull 32bit deps by default),
+# if you want to mix, install rpm from both arch
+%ifarch %{ix86}
+rm bin/%{product}64.vmoptions
+rm bin/fsnotifier64
+rm bin/libbreakgen64.so
+rm bin/libyjpagent-linux64.so
+%endif
+%ifarch %{x8664}
+rm bin/%{product}.vmoptions
+rm bin/fsnotifier
+rm bin/libbreakgen.so
+rm bin/libyjpagent-linux.so
+%endif
+chmod a+rx bin/*.so bin/fsnotifier*
+mv bin/%{product}.png .
+
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}}
+cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test
+cp -a$l bin help lib license plugins $RPM_BUILD_ROOT%{_appdir}
+cp -p %{product}.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{product}.png
+ln -s %{_pixmapsdir}/%{product}.png $RPM_BUILD_ROOT%{_appdir}/bin/%{product}.png
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
+ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product}
+
+desktop-file-validate $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+%update_desktop_database
+
+%postun
+%update_desktop_database
+
+# base package contains arch specific files
+%files
+%defattr(644,root,root,755)
+%doc Install-Linux-tar.txt
+%attr(755,root,root) %{_bindir}/%{product}
+%dir %{_appdir}/bin
+%{_appdir}/bin/%{product}*.vmoptions
+%{_appdir}/bin/%{product}.png
+%{_appdir}/bin/%{product}.properties
+%{_appdir}/bin/appletviewer.policy
+%{_appdir}/bin/log.xml
+%attr(755,root,root) %{_appdir}/bin/%{product}.sh
+%attr(755,root,root) %{_appdir}/bin/inspect.sh
+%attr(755,root,root) %{_appdir}/bin/fsnotifier*
+%attr(755,root,root) %{_appdir}/bin/libbreakgen*.so
+%attr(755,root,root) %{_appdir}/bin/libyjpagent*.so
+%{_desktopdir}/%{product}.desktop
+%{_pixmapsdir}/%{product}.png
+
+# this package contains arch independant files
+%files libs
+%defattr(644,root,root,755)
+%dir %{_appdir}
+%{_appdir}/lib
+%{_appdir}/license
+%{_appdir}/plugins
+%{_appdir}/help
diff --git a/idea.desktop b/idea.desktop
new file mode 100644
index 0000000..2877bc5
--- /dev/null
+++ b/idea.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=IntelliJ IDEA Ultimate Edition
+GenericName=IntelliJ IDEA UE
+Comment=Development Environment for Java and Groovy
+Type=Application
+Categories=Development;IDE;Java;
+Exec=idea %F
+TryExec=idea
+StartupNotify=true
+Icon=idea
diff --git a/xdg-paths.patch b/xdg-paths.patch
new file mode 100644
index 0000000..ff20d22
--- /dev/null
+++ b/xdg-paths.patch
@@ -0,0 +1,44 @@
+--- idea-IU-129.713/bin/idea.sh~	2013-06-10 12:27:34.000000000 +0300
++++ idea-IU-129.713/bin/idea.sh	2013-09-30 12:48:36.835154099 +0300
+@@ -163,8 +163,11 @@
+   fi
+ fi
+ 
++CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/IntelliJIdea"
++CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/IntelliJIdea"
++
+ COMMON_JVM_ARGS="\"-Xbootclasspath/a:$IDE_HOME/lib/boot.jar\" -Didea.paths.selector=IntelliJIdea12 $IDE_PROPERTIES_PROPERTY"
+-IDE_JVM_ARGS=""
++IDE_JVM_ARGS="-Dwebide.config.dir=$CONFIG_DIR -Dwebide.cache.dir=$CACHE_DIR"
+ ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS"
+ 
+ CLASSPATH="$IDE_HOME/lib/bootstrap.jar"
+--- idea-IU-129.713/bin/idea.properties~	2013-06-10 12:39:20.000000000 +0300
++++ idea-IU-129.713/bin/idea.properties	2013-09-30 12:46:17.547680955 +0300
+@@ -5,22 +5,22 @@
+ #---------------------------------------------------------------------
+ # Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes
+ #---------------------------------------------------------------------
+-# idea.config.path=${user.home}/.IntelliJIdea/config
++idea.config.path=${webide.config.dir}
+ 
+ #---------------------------------------------------------------------
+ # Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes
+ #---------------------------------------------------------------------
+-# idea.system.path=${user.home}/.IntelliJIdea/system
++idea.system.path=${webide.cache.dir}
+ 
+ #---------------------------------------------------------------------
+ # Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes
+ #---------------------------------------------------------------------
+-# idea.plugins.path=${user.home}/.IntelliJIdea/config/plugins
++idea.plugins.path=${webide.config.dir}/plugins
+ 
+ #---------------------------------------------------------------------
+ # Uncomment this option if you want to customize path to IDE logs folder. Make sure you're using forward slashes.
+ #---------------------------------------------------------------------
+-# idea.log.path=${user.home}/.IntelliJIdea/system/log
++idea.log.path=${webide.cache.dir}/log
+ 
+ #---------------------------------------------------------------------
+ # Maximum file size (kilobytes) IDE should provide code assistance for.
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/intellij-idea-ultimate.git/commitdiff/7975955df6c77c1de81ccd2ec84adae1d0814f9e



More information about the pld-cvs-commit mailing list