[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