]> git.pld-linux.org Git - packages/clion.git/blob - clion.spec
put bundled cmake and gdb to subpackage, make them optional
[packages/clion.git] / clion.spec
1 %define         bid     140.1740.3
2 %define         rel     0.5
3 %define         product clion
4 %include        /usr/lib/rpm/macros.java
5 Summary:        C/C++ IDE
6 Name:           clion
7 # About says "Version 1", but lets see first what first version will be
8 Version:        0
9 Release:        0.%{bid}.%{rel}
10 # TODO: figure out what's the licensing and redistribution
11 License:        ?
12 Group:          Development/Tools
13 Source0:        http://download.jetbrains.com/cpp/%{product}-%{bid}.tar.gz
14 # NoSource0-md5:        af28ecedc672920503013ff457ed38df
15 NoSource:       0
16 Source1:        %{product}.desktop
17 Patch0:         pld.patch
18 URL:            http://www.jetbrains.com/clion/
19 BuildRequires:  jpackage-utils
20 BuildRequires:  rpm-javaprov
21 BuildRequires:  rpmbuild(macros) >= 1.300
22 BuildRequires:  unzip
23 Requires:       jre >= 1.6
24 Suggests:       %{name}-cmake
25 Suggests:       %{name}-gdb
26 Suggests:       cmake
27 Suggests:       gdb
28 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30 # don't strip fsnotifier, it's size is checked for "outdated binary"
31 # https://bugs.archlinux.org/task/34703
32 # 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
33 %define         _noautostrip    .*/fsnotifier.*
34
35 # use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix)
36 # this allows to install both arch files and to use 32bit jdk on 64bit os
37 %define         _appdir         %{_prefix}/lib/%{product}
38
39 %description
40 Smart Editor. Code better, refactor easily
41
42 Knowing your code through and through, CLion can take care of the
43 routine while you focus on the important things. Boost your
44 productivity with the keyboard-centric approach (Vim-emulation plugin
45 is also available in plugin repository), full coding assistance, smart
46 and relevant code completion, fast project navigation, intelligent
47 intention actions, and reliable refactorings.
48
49 %package cmake
50 Summary:        Cross-platform, open-source make system
51 Summary(pl.UTF-8):      Wieloplatformowy system make o otwartych źródłach
52 Group:          Development/Building
53 Requires:       %{name} = %{version}-%{release}
54
55 %description cmake
56 This package contains bundled CMake 2.8.12.2.
57
58 %package gdb
59 Summary:        A GNU source-level debugger for C, C++ and Fortran
60 Summary(pl.UTF-8):      Symboliczny odpluskwiacz dla C i innych języków
61 Group:          Development/Building
62 Requires:       %{name} = %{version}-%{release}
63
64 %description gdb
65 This package contains bundled GDB 7.8
66
67 %prep
68 %setup -qn %{product}-%{bid}
69
70 # keep only single arch files (don't want to pull 32bit deps by default),
71 # if you want to mix, install rpm from both arch
72 %ifarch %{ix86}
73 rm bin/fsnotifier64
74 rm bin/libyjpagent-linux64.so
75 rm bin/libbreakgen64.so
76 rm bin/%{product}64.vmoptions
77 rm -r lib/libpty/linux/x86_64
78 %endif
79 %ifarch %{x8664}
80 rm bin/fsnotifier
81 rm bin/libyjpagent-linux.so
82 rm bin/libbreakgen.so
83 #rm bin/%{product}.vmoptions
84 rm -r lib/libpty/linux/x86
85 %endif
86 rm -r lib/libpty/{macosx,win}
87 chmod a+rx bin/*.so bin/fsnotifier*
88 mv bin/%{product}.svg .
89
90 %patch0 -p1
91
92 # cleanup backups after patching
93 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
94
95 %install
96 rm -rf $RPM_BUILD_ROOT
97 install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}}
98 cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test
99 cp -a$l bin help lib license plugins $RPM_BUILD_ROOT%{_appdir}
100 ln -s %{_pixmapsdir}/%{product}.svg $RPM_BUILD_ROOT%{_appdir}/bin
101 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
102 cp -p %{product}.svg $RPM_BUILD_ROOT%{_pixmapsdir}
103 ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product}
104
105 %clean
106 rm -rf $RPM_BUILD_ROOT
107
108 %files
109 %defattr(644,root,root,755)
110 %attr(755,root,root) %{_bindir}/%{product}
111 %dir %{_appdir}
112 %{_appdir}/help
113 %{_appdir}/license
114 %{_appdir}/plugins
115 %dir %{_appdir}/bin
116 %ifnarch %{ix86}
117 %{_appdir}/bin/%{product}*.vmoptions
118 %endif
119 %{_appdir}/bin/%{product}.svg
120 %{_appdir}/bin/idea.properties
121 %{_appdir}/bin/log.xml
122 %attr(755,root,root) %{_appdir}/bin/%{product}.sh
123 %attr(755,root,root) %{_appdir}/bin/inspect.sh
124 %attr(755,root,root) %{_appdir}/bin/fsnotifier*
125 %attr(755,root,root) %{_appdir}/bin/libbreakgen*.so
126 %attr(755,root,root) %{_appdir}/bin/libyjpagent-linux*.so
127 %dir %{_appdir}/lib
128 %{_appdir}/lib/*.jar
129 %dir %{_appdir}/lib/libpty
130 %dir %{_appdir}/lib/libpty/linux
131 %dir %{_appdir}/lib/libpty/linux/x86*
132 %attr(755,root,root) %{_appdir}/lib/libpty/linux/x86*/libpty.so
133 %{_desktopdir}/%{product}.desktop
134 %{_pixmapsdir}/%{product}.svg
135
136 %files cmake
137 %defattr(644,root,root,755)
138 %defattr(-,root,root,-)
139 %{_appdir}/bin/cmake
140
141 %files gdb
142 %defattr(644,root,root,755)
143 %defattr(-,root,root,-)
144 %{_appdir}/bin/gdb
This page took 0.075632 seconds and 4 git commands to generate.