diff --git a/actioncable-5.2.4.4.gem b/actioncable-5.2.4.4.gem new file mode 100644 index 0000000000000000000000000000000000000000..2080033d847253798c97f806dd2b8dcee83d759d Binary files /dev/null and b/actioncable-5.2.4.4.gem differ diff --git a/actioncable-6.0.3.4.gem b/actioncable-6.0.3.4.gem deleted file mode 100644 index 1e60b6803be9eebe7dac50d3a55f355486ead071..0000000000000000000000000000000000000000 Binary files a/actioncable-6.0.3.4.gem and /dev/null differ diff --git a/recompile_js.rb b/recompile_js.rb new file mode 100644 index 0000000000000000000000000000000000000000..aef6b270e95b4999f9be16a4cbb23928688031cc --- /dev/null +++ b/recompile_js.rb @@ -0,0 +1,37 @@ + +require 'pathname' +require 'sprockets' +require 'coffee-script' +require 'action_cable' + +dir = File.dirname(__FILE__) + +root_path = Pathname.new(dir) +destination_path = root_path.join("lib/assets/compiled") + +puts 'Compiling Action Cable assets...' + +precompile_list = %w(action_cable.js) + +environment = Sprockets::Environment.new + +environment.gzip = false +Pathname.glob(root_path.join("app/assets/*/")) do |subdir| + environment.append_path subdir +end + +compile_path = root_path.join("tmp/sprockets") +compile_path.rmtree if compile_path.exist? +compile_path.mkpath + +manifest = Sprockets::Manifest.new(environment.index, compile_path) +manifest.compile(precompile_list) + +destination_path.rmtree if destination_path.exist? + +manifest.assets.each do |path, fingerprint_path| + destination_path.join(path).dirname.mkpath + FileUtils.cp(compile_path.join(fingerprint_path), destination_path.join(path)) +end + +puts 'Done' diff --git a/rubygem-actioncable.spec b/rubygem-actioncable.spec index ea7ec4906469d69778e7d12e07debaad62279db3..bda8ca02fc3870e4b49a006cd6d1836a01cfba03 100644 --- a/rubygem-actioncable.spec +++ b/rubygem-actioncable.spec @@ -1,58 +1,47 @@ -%global pkg_name %{name} - %global gem_name actioncable -%global gem_require_name %{gem_name} - -Name: rubygem-%{gem_name} -Version: 6.0.3.4 -Release: 1 -Summary: WebSocket framework for Rails -Group: Development/Languages -License: MIT -URL: https://rubyonrails.org -Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem -Source1: https://github.com/rails/rails/archive/refs/tags/v%{version}.tar.gz - -Requires: ruby(release) -Requires: ruby >= 2.5.0 -Requires: ruby(rubygems) -Requires: rubygem(actionpack) = 6.0.3.4 -Requires: rubygem(nio4r) >= 2.0 -Requires: rubygem(nio4r) < 3 -Requires: rubygem(websocket-driver) >= 0.6.1 -BuildRequires: ruby(release) -BuildRequires: ruby >= 2.5.0 -BuildRequires: rubygems-devel -BuildRequires: %{_bindir}/redis-server rubygem(redis) - -BuildArch: noarch -Provides: rubygem(%{gem_name}) = %{version} - -Obsoletes: tfm-ror52-rubygem-%{gem_name} <= 5.2.1 - +%global recompile_js 1 +Name: rubygem-%{gem_name} +Version: 5.2.4.4 +Release: 2 +Summary: WebSocket framework for Rails +License: MIT +URL: http://rubyonrails.org +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +Source1: https://github.com/rails/rails/archive/v%{version}.tar.gz +# Recompile with script extracted from +# https://github.com/rails/rails/blob/71d406697266fc2525706361b86aeb85183fe4c7/actioncable/Rakefile +Source2: recompile_js.rb +BuildRequires: ruby(release) rubygems-devel > 1.3.1 ruby >= 2.2.2 +BuildRequires: rubygem(actionpack) = %{version} rubygem(mocha) rubygem(nio4r) rubygem(puma) +BuildRequires: %{_bindir}/redis-server rubygem(redis) rubygem(websocket-driver) +%if 0%{?recompile_js} > 0 +BuildRequires: rubygem(coffee-script) rubygem(sprockets) nodejs +%endif +BuildArch: noarch %description Structure many real-time application concerns into channels over a single WebSocket connection. %package doc -Summary: Documentation for %{pkg_name} -Group: Documentation -Requires: %{pkg_name} = %{version}-%{release} -BuildArch: noarch - +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch %description doc -Documentation for %{pkg_name}. +Documentation for %{name}. %prep gem unpack %{SOURCE0} - -%setup -q -D -T -n %{gem_name}-%{version} - +%setup -q -D -T -n %{gem_name}-%{version} -a 1 +ln -s rails-%{version}/%{gem_name}/app app gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build +%if 0%{?recompile_js} > 0 +cp -a %{SOURCE2} . +rm -rf lib/assets/compiled +RUBYOPT=-Ilib ruby recompile_js.rb +%endif gem build %{gem_name}.gemspec - %gem_install %install @@ -68,14 +57,13 @@ mv test/client_test.rb{,.disable} mv test/subscription_adapter/postgresql_test.rb{,.disable} REDIS_DIR=$(mktemp -d) redis-server --dir $REDIS_DIR --pidfile $REDIS_DIR/redis.pid --daemonize yes -ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb"' +ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' kill -INT $(cat $REDIS_DIR/redis.pid) || echo end popd %files %dir %{gem_instdir} %license %{gem_instdir}/MIT-LICENSE -%{gem_instdir}/app %{gem_libdir} %exclude %{gem_cache} %{gem_spec} @@ -86,6 +74,9 @@ popd %doc %{gem_instdir}/README.md %changelog +* Thu Dec 16 2021 jiangxinyu - 5.2.4.4-2 +- revert to 5.2.4.4 + * Mon Jun 07 2021 jiangxinyu - 6.0.3.4-1 - Update to 6.0.3.4 diff --git a/v6.0.3.4.tar.gz b/v5.2.4.4.tar.gz similarity index 38% rename from v6.0.3.4.tar.gz rename to v5.2.4.4.tar.gz index 8b7dbf6f7170398becb38d554ab979ea74676b63..6191daf33e0601a05f29c470eca8d428974f5e8e 100644 Binary files a/v6.0.3.4.tar.gz and b/v5.2.4.4.tar.gz differ