atom/atom.spec

174 lines
5.6 KiB
RPMSpec

Name: atom
Version: 1.55.0
Release: 3mamba
Summary: A text editor that's modern, approachable, yet hackable to the core
Group: Graphical Desktop/Applications/Utilities
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://atom.io/
Source: https://github.com/atom/atom.git/v%{version}/atom-%{version}.tar.bz2
Patch0: atom-1.55.0-use-system-git.patch
Patch1: atom-1.55.0-use-system-apm.patch
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXcursor-devel
BuildRequires: libXdamage-devel
BuildRequires: libXext-devel
BuildRequires: libXfixes-devel
BuildRequires: libXi-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXtst-devel
BuildRequires: libalsa-devel
BuildRequires: libat-spi2-atk-devel
BuildRequires: libat-spi2-core-devel
BuildRequires: libatk-devel
BuildRequires: libcairo-devel
BuildRequires: libcups-devel
BuildRequires: libdbus-devel
BuildRequires: libexpat-devel
BuildRequires: libgcc
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libglib-devel
BuildRequires: libgtk3-devel
BuildRequires: libnspr-devel
BuildRequires: libnss-devel
BuildRequires: libpango-devel
BuildRequires: libstdc++6-devel
BuildRequires: libuuid-devel
BuildRequires: libxcb-devel
## AUTOBUILDREQ-END
BuildRequires: nodejs
BuildRequires: apm
BuildRequires: git
Requires: apm
Requires: git
%description
Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
%debug_package
%prep
%setup -q
#-D -T
#:<< _EOF
%global __requires_exclude ^libffmpeg.so.*$
%global __provides_exclude_from ^%{_datadir}/atom/.*$
%patch1 -p1
%build
#:<< _EOF
ATOM_RESOURCE_PATH="${PWD}" \
npm_config_build_from_source=true \
apm install
# Use system git
cd node_modules/dugite
patch -Np1 -i %{PATCH0}
rm -rf git
cd ../..
script/build \
--build-dir=`pwd`/atom-build
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d -m 755 %{buildroot}%{_datadir}
cp -r out/atom-%{version}-amd64 %{buildroot}%{_datadir}/atom
install -d -m0755 %{buildroot}%{_bindir}
cp %{buildroot}%{_datadir}/atom/resources/app/atom.sh %{buildroot}%{_bindir}/atom
install -d -m 755 %{buildroot}%{_datadir}/applications
sed -e "s|<%= appName %>|Atom|" \
-e "s/<%= description %>/%{summary}/" \
-e "s|<%= installDir %>|/usr|" \
-e "s|<%= appFileName %>|atom|" \
-e "s|<%= iconPath %>|atom|" \
resources/linux/atom.desktop.in > %{buildroot}%{_datadir}/applications/atom.desktop
for size in 16 24 32 48 64 128 256 512 1024; do
install -D -m 644 resources/app-icons/stable/png/${size}.png \
%{buildroot}%{_datadir}/share/icons/hicolor/${size}x${size}/apps/atom.png
done
ln -sf ../../../share/icons/hicolor/1024x1024/apps/atom.png \
%{buildroot}%{_datadir}/atom/resources/atom.png
install -D -m0755 resources/linux/atom.policy %{buildroot}%{_datadir}/polkit-1/actions/atom.policy
# Remove useless stuff
find %{buildroot}%{_datadir}/atom/resources/app/apm/node_modules \
-name "*.a" -exec rm '{}' \; \
-or -name "*.bat" -exec rm '{}' \; \
-or -name "*.c" -exec rm '{}' \; \
-or -name "*.cpp" -exec rm '{}' \; \
-or -name "*.node" -exec chmod a-x '{}' \; \
-or -name "benchmark" -prune -exec rm -r '{}' \; \
-or -name "doc" -prune -exec rm -r '{}' \; \
-or -name "html" -prune -exec rm -r '{}' \; \
-or -name "man" -prune -exec rm -r '{}' \; \
-or -name "scripts" -prune -exec rm -r '{}' \; \
-or -path "*/less/gradle" -prune -exec rm -r '{}' \; \
-or -path "*/task-lists/src" -prune -exec rm -r '{}' \;
# Remove 64-bit binary in node subtree
#%ifnarch x86_64
#rm -f %{buildroot}%{_datadir}/atom/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux
#%endif
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root)
%{_bindir}/atom
%dir %{_datadir}/atom
%{_datadir}/atom/*
%attr(4755, root, root) %{_datadir}/atom/chrome-sandbox
%{_datadir}/applications/atom.desktop
%{_datadir}/polkit-1/actions/atom.policy
%{_datadir}/share/icons/hicolor/*/apps/atom.png
%doc LICENSE.md
%changelog
* Sun Mar 21 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 1.55.0-3mamba
- /usr/bin/atom: needs not to be a symlink to find atom dir
* Sat Mar 20 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 1.55.0-2mamba
- rebuilt with system apm and git
* Sat Mar 20 2021 Automatic Build System <autodist@mambasoft.it> 1.55.0-1mamba
- automatic version update by autodist
* Thu Sep 08 2016 Automatic Build System <autodist@mambasoft.it> 1.10.2-1mamba
- automatic version update by autodist
* Wed Sep 07 2016 Automatic Build System <autodist@mambasoft.it> 1.10.1-1mamba
- automatic version update by autodist
* Thu Sep 01 2016 Automatic Build System <autodist@mambasoft.it> 1.10.0-1mamba
- automatic version update by autodist
* Fri Aug 19 2016 Automatic Build System <autodist@mambasoft.it> 1.9.9-1mamba
- automatic version update by autodist
* Thu Aug 11 2016 Automatic Build System <autodist@mambasoft.it> 1.9.8-1mamba
- automatic version update by autodist
* Tue Mar 01 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.3-3mamba
- anotther fix for auto prov and req
* Mon Feb 29 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.3-2mamba
- remove automatic provides for node internal binaries
- i586: don't package a node internal 64-bit binary
* Fri Feb 19 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.3-1mamba
- package created using the webbuild interface