apm/apm.spec

106 lines
3.4 KiB
RPMSpec
Raw Permalink Normal View History

Name: apm
Version: 2.6.1
Release: 1mamba
Summary: Atom Package Manager
Group: System/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://github.com/atom/apm
Source: https://github.com/atom/apm.git/v%{version}/apm-%{version}.tar.bz2
Patch0: apm-2.6.1-no-scripts.patch
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: libglib-devel
BuildRequires: libsecret-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
BuildRequires: node-gyp
BuildRequires: nodejs
Requires: nodejs
%description
Atom Package Manager - Discover and install Atom packages powered by atom.io.
#% debug_package
%prep
%setup -q
#-D -T
#:<< _EOF
# From Arch Linux
# Don't download binary Node
%patch0 -p1
rm BUNDLED_NODE_VERSION script/*
%build
#:<< _EOF
npm install
npx coffee --compile --output lib src
npm uninstall coffee-script coffeelint express jasmine-focused shx node-gyp
cd node_modules/git-utils
#patch -Np1 -i "${srcdir}/git-utils.patch"
node-gyp rebuild
cd ../..
npm pack
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d -m755 %{buildroot}%{_prefix}/lib/node_modules/atom-package-manager
tar -xf atom-package-manager-*.tgz --strip-components 1 \
-C %{buildroot}%{_prefix}/lib/node_modules/atom-package-manager
cp -r node_modules %{buildroot}%{_prefix}/lib/node_modules/atom-package-manager
install -d -m755 %{buildroot}%{_bindir}
ln -s \
$(realpath --relative-to=%{buildroot}%{_bindir} %{buildroot}%{_prefix}/lib/node_modules/atom-package-manager/bin/apm) \
%{buildroot}%{_bindir}
ln -s /usr/bin/node %{buildroot}%{_prefix}/lib/node_modules/atom-package-manager/bin/node
# Remove useless stuff
find %{buildroot}%{_prefix}/lib \
-name ".*" -prune -exec rm -r '{}' \; \
-or -name "*.a" -exec rm '{}' \; \
-or -name "*.bat" -exec rm '{}' \; \
-or -name "*.mk" -exec rm '{}' \; \
-or -path "*/git-utils/binding.gyp" -exec rm '{}' \; \
-or -path "*/git-utils/src/*.cc" -exec rm '{}' \; \
-or -path "*/git-utils/src/*.h" -exec rm '{}' \; \
-or -path "*/keytar/binding.gyp" -exec rm '{}' \; \
-or -path "*/keytar/src" -prune -exec rm -r '{}' \; \
-or -path "*/oniguruma/binding.gyp" -exec rm '{}' \; \
-or -path "*/oniguruma/src" -prune -exec rm -r '{}' \; \
-or -name "appveyor.yml" -exec rm '{}' \; \
-or -name "benchmark" -prune -exec rm -r '{}' \; \
-or -name "binding.Makefile" -exec rm '{}' \; \
-or -name "config.gypi" -exec rm '{}' \; \
-or -name "deps" -prune -exec rm -r '{}' \; \
-or -name "doc" -prune -exec rm -r '{}' \; \
-or -name "html" -prune -exec rm -r '{}' \; \
-or -name "Makefile" -exec rm '{}' \; \
-or -name "man" -prune -exec rm -r '{}' \; \
-or -name "obj.target" -prune -exec rm -r '{}' \; \
-or -name "samples" -prune -exec rm -r '{}' \; \
-or -name "scripts" -prune -exec rm -r '{}' \; \
-or -name "test" -prune -exec rm -r '{}' \; \
-or -name "tests" -prune -exec rm -r '{}' \;
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root)
%{_bindir}/apm
%dir %{_prefix}/lib/node_modules/atom-package-manager
%{_prefix}/lib/node_modules/atom-package-manager/*
%doc LICENSE.md
%changelog
* Sat Mar 20 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.1-1mamba
- package created using the webbuild interface