summaryrefslogtreecommitdiffstats
path: root/rubygem-propshaft.spec
blob: 96a929128f77af31f468ded336e5dd03f21b3909 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Generated from propshaft-1.1.0.gem by gem2rpm -*- rpm-spec -*-
%global gem_name propshaft

Name: rubygem-%{gem_name}
Version: 1.1.0
Release: 1%{?dist}
Summary: Deliver assets for Rails
License: MIT
URL: https://github.com/rails/propshaft
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
# git clone http://github.com/rails/propshaft.git && cd propshaft
# git archive -v -o propshaft-1.1.0-tests.tar.gz v1.1.0 test/
Source1: %{gem_name}-%{version}%{?prerelease}-tests.tar.gz

BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: ruby >= 2.7.0
BuildRequires: rubygem(actioncable)
BuildRequires: rubygem(railties)
BuildArch: noarch

%description
Propshaft is an asset pipeline library for Rails. It's built for an era where
bundling assets to save on HTTP connections is no longer urgent, where
JavaScript and CSS are either compiled by dedicated Node.js bundlers or served
directly to the browsers, and where increases in bandwidth have made the need
for minification less pressing. These factors allow for a dramatically simpler
and faster asset pipeline compared to previous options, like Sprockets.


%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch

%description doc
Documentation for %{name}.

%prep
%setup -q -n %{gem_name}-%{version} -b 1

%build
# Create the gem as gem install only works on a gem file
gem build ../%{gem_name}-%{version}.gemspec

# %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
# by default, so that we can move it into the buildroot in %%install
%gem_install

%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
        %{buildroot}%{gem_dir}/



%check
( cd .%{gem_instdir}
ln -s %{builddir}/test .

# Remove Bundler usage.
sed -i '/Bundler.require/ s/^/#/' test/dummy/config/application.rb

# Rails 7.0 returns just `500` error code. Can be enabled with Rails 8.0, where
# this test passes just fine.
sed -i "/get sample_load_nonexistent_assets_url/i\      skip" \
  test/propshaft_integration_test.rb

ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
)

%files
%dir %{gem_instdir}
%license %{gem_instdir}/MIT-LICENSE
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}

%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/README.md
%{gem_instdir}/Rakefile

%changelog
* Fri Mar 21 2025 Vít Ondruch <vondruch@redhat.com> - 1.1.0-1
- Initial package