]> git.pld-linux.org Git - SPECS.git/blob - atom.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / atom.spec
1 # BUILDING:
2 # https://github.com/atom/atom/blob/master/docs/build-instructions/linux.md
3
4 Summary:        A hackable text editor for the 21st century
5 Name:           atom
6 Version:        1.2.4
7 Release:        0.5
8 License:        MIT
9 Group:          Applications/Editors
10 Source0:        https://github.com/atom/atom/releases/download/v%{version}/%{name}.x86_64.rpm
11 # NoSource0-md5:        2c1b984e9e2ce95449987006386463ca
12 # no point storing it in distfiles, this package is no ready
13 NoSource:       0
14 URL:            https://atom.io/
15 BuildRequires:  rpm-utils
16 Suggests:       apm
17 ExclusiveArch:  %{x8664}
18 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
19
20 %define         _appdir         %{_libdir}/%{name}
21
22 # internal caps not to provide
23 %define         int_caps        libgcrypt.so.11 libnode.so libnotify.so.4
24
25 # list of files (regexps) which don't generate Provides
26 %define         _noautoprovfiles        %{_libdir}/%{name}
27 # list of script capabilities (regexps) not to be used in Provides
28 %define         _noautoprov                     %{int_caps}
29 %define         _noautoreq              %{_noautoprov}
30
31 %description
32 Atom is a desktop application based on web technologies. Like other
33 desktop apps, it has its own icon in the dock, native menus and
34 dialogs, and full access to the file system.
35
36 Open the dev tools, however, and Atom's web-based core shines through.
37 Whether you're tweaking the look of Atom's interface with CSS or
38 adding major features with HTML and JavaScript, it's never been easier
39 to take control of your editor.
40
41 %package -n apm
42 Summary:        Atom Package Manager
43 Group:          Development/Tools
44 URL:            https://github.com/atom/apm
45
46 %description -n apm
47 Discover and install Atom packages powered by atom.io
48
49 You can configure apm via a ~/.atom/.apmrc file similarly to npm
50 config.
51
52 %prep
53 %setup -qcT
54 SOURCE=%{SOURCE0}
55 version=$(rpm -qp --nodigest --nosignature --qf '%{V}' $SOURCE)
56 test version:${version} = version:%{version}
57 rpm2cpio $SOURCE | cpio -i -d
58
59 mv usr/share/icons .
60 mv usr/share/applications/* .
61 mv usr/share/atom .
62 mv usr/bin .
63
64 mv atom/LICENSE .
65 mv atom/chromedriver/LICENSE LICENSE.chromedrive
66
67 # unneeded
68 mv atom/resources/app/atom.sh .
69
70 # remove empty locales
71 find atom/locales -size 0 | xargs rm -v
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{_bindir},%{_appdir}}
76
77 cp -a atom/* $RPM_BUILD_ROOT%{_appdir}
78
79 ln -s %{_appdir}/atom $RPM_BUILD_ROOT%{_bindir}
80 ln -s %{_appdir}/resources/app/apm/bin/apm $RPM_BUILD_ROOT%{_bindir}/apm
81
82 %clean
83 rm -rf $RPM_BUILD_ROOT
84
85 %files
86 %defattr(644,root,root,755)
87 %doc LICENSE LICENSE.chromedrive
88 %attr(755,root,root) %{_bindir}/atom
89 %dir %{_appdir}
90 %{_appdir}/version
91 %{_appdir}/*.bin
92 %{_appdir}/content_shell.pak
93 %{_appdir}/icudtl.dat
94 %attr(755,root,root) %{_appdir}/atom
95 %attr(755,root,root) %{_appdir}/libgcrypt.so.11
96 %attr(755,root,root) %{_appdir}/libnode.so
97 %attr(755,root,root) %{_appdir}/libnotify.so.4
98 %dir %{_appdir}/chromedriver
99 %attr(755,root,root) %{_appdir}/chromedriver/chromedriver
100
101 %{_appdir}/locales
102
103 %dir %{_appdir}/resources
104 %{_appdir}/resources/LICENSE.md
105 %dir %{_appdir}/resources/app
106
107 %{_appdir}/resources/app.asar
108 %{_appdir}/resources/atom.asar
109
110 # needed?
111 %{_appdir}/resources/app.asar.unpacked
112
113 %files -n apm
114 %defattr(644,root,root,755)
115 %attr(755,root,root) %{_bindir}/apm
116
117 # too many files to list, assume file permissions
118 %defattr(-,root,root,-)
119 %{_appdir}/resources/app/apm
This page took 1.103294 seconds and 3 git commands to generate.