summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Smedstad2023-09-02 09:39:03 +0200
committerCarl Smedstad2023-09-02 09:53:56 +0200
commit5f4d748015d67f7c671bec430c1f3e272bc93ac1 (patch)
treec8a2ff47362fc81d0f95aa68a45bd06fd19c7da4
parent5390ec4cf19fab8a605e1cd64e81770d7928b4be (diff)
downloadaur-5f4d748015d67f7c671bec430c1f3e272bc93ac1.tar.gz
Publish version 1.16.0-1
-rw-r--r--.SRCINFO14
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD111
-rw-r--r--remove-unnecessary-dev-dependencies.patch61
4 files changed, 172 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1e1ad1756daf..461c3c3b6c42 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,20 @@
pkgbase = ruby-css_parser
- pkgdesc = Ruby CSS parser.
- pkgver = 1.10.0
+ pkgdesc = Ruby CSS parser
+ pkgver = 1.16.0
pkgrel = 1
url = https://github.com/premailer/css_parser
arch = any
license = MIT
+ checkdepends = ruby-maxitest
+ checkdepends = ruby-rake
+ checkdepends = ruby-webrick
makedepends = ruby-rdoc
depends = ruby
depends = ruby-addressable
- noextract = css_parser-1.10.0.gem
options = !emptydirs
- source = https://rubygems.org/downloads/css_parser-1.10.0.gem
- sha1sums = ea4c6e292b321cba45eacfae323926a8f94785dc
+ source = https://github.com/premailer/css_parser/archive/v1.16.0/css_parser-v1.16.0.tar.gz
+ source = remove-unnecessary-dev-dependencies.patch
+ sha256sums = 90faa9d5c6575a84ec12902c782944d5bd190ed12f3ccd677bcaf39b664e41f7
+ sha256sums = 815847fe7d39e97d7012a2f9d5027c3718144c3f4c2bf429c5b300b2311f6832
pkgname = ruby-css_parser
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..c9f9d0b909a4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*
+!.gitignore
+!PKGBUILD
+!.SRCINFO
+!remove-unnecessary-dev-dependencies.patch
diff --git a/PKGBUILD b/PKGBUILD
index e4ee9f62892f..2f6c57d6c041 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,23 +1,106 @@
-# Maintainer: Anatoly Bashmakov <anatoly at posteo dot net>
+# Maintainer: Carl Smedstad <carl.smedstad at protonmail dot com>
+# Contirbutor: Anatoly Bashmakov <anatoly at posteo dot net>
-_gemname=css_parser
-pkgname=ruby-$_gemname
-pkgver=1.10.0
+pkgname=ruby-css_parser
+_name=${pkgname#ruby-}
+pkgver=1.16.0
pkgrel=1
-pkgdesc='Ruby CSS parser.'
+pkgdesc="Ruby CSS parser"
arch=(any)
-url='https://github.com/premailer/css_parser'
+url="https://github.com/premailer/css_parser"
license=(MIT)
-depends=(ruby ruby-addressable)
+depends=(
+ ruby
+ ruby-addressable
+)
makedepends=(ruby-rdoc)
+checkdepends=(
+ ruby-maxitest
+ ruby-rake
+ ruby-webrick
+)
options=(!emptydirs)
-source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem)
-sha1sums=('ea4c6e292b321cba45eacfae323926a8f94785dc')
-noextract=($_gemname-$pkgver.gem)
+
+source=(
+ "$url/archive/v$pkgver/$_name-v$pkgver.tar.gz"
+ "remove-unnecessary-dev-dependencies.patch"
+)
+sha256sums=(
+ '90faa9d5c6575a84ec12902c782944d5bd190ed12f3ccd677bcaf39b664e41f7'
+ '815847fe7d39e97d7012a2f9d5027c3718144c3f4c2bf429c5b300b2311f6832'
+)
+
+_archive="$_name-$pkgver"
+
+prepare() {
+ cd "$_archive"
+
+ # Update gemspec/Gemfile to allow newer version of the dependencies
+ sed --in-place --regexp-extended 's|~>|>=|g' "$_name.gemspec"
+
+ # Remove lockfile & unnecessary dev dependencies
+ rm Gemfile.lock
+ patch --strip=1 --input="$srcdir/remove-unnecessary-dev-dependencies.patch"
+}
+
+build() {
+ cd "$_archive"
+
+ local _gemdir
+ _gemdir="$(gem env gemdir)"
+
+ gem build "$_name.gemspec"
+
+ gem install \
+ --local \
+ --verbose \
+ --ignore-dependencies \
+ --no-user-install \
+ --install-dir "tmp_install/$_gemdir" \
+ --bindir "tmp_install/usr/bin" \
+ "$_name-$pkgver.gem"
+
+ # Remove unrepreducible files
+ rm --force --recursive --verbose \
+ "tmp_install/$_gemdir/cache/" \
+ "tmp_install/$_gemdir/gems/$_name-$pkgver/vendor/" \
+ "tmp_install/$_gemdir/doc/$_name-$pkgver/ri/ext/"
+
+ find "tmp_install/$_gemdir/gems/" \
+ -type f \
+ \( \
+ -iname "*.o" -o \
+ -iname "*.c" -o \
+ -iname "*.so" -o \
+ -iname "*.time" -o \
+ -iname "gem.build_complete" -o \
+ -iname "Makefile" \
+ \) \
+ -delete
+
+ find "tmp_install/$_gemdir/extensions/" \
+ -type f \
+ \( \
+ -iname "mkmf.log" -o \
+ -iname "gem_make.out" \
+ \) \
+ -delete
+}
+
+check() {
+ cd "$_archive"
+
+ local _gemdir
+ _gemdir="$(gem env gemdir)"
+
+ GEM_HOME="tmp_install/$_gemdir" rake test
+}
package() {
- local _gemdir="$(ruby -e 'puts Gem.default_dir')"
- gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem
- rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem"
- install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/MIT-LICENSE" "$pkgdir/usr/share/licenses/$pkgname/MIT-LICENSE"
+ cd "$_archive"
+
+ cp --archive --verbose tmp_install/* "$pkgdir"
+
+ install --verbose -D --mode=0644 MIT-LICENSE --target-directory "$pkgdir/usr/share/licenses/$pkgname"
+ install --verbose -D --mode=0644 ./*.md --target-directory "$pkgdir/usr/share/doc/$pkgname"
}
diff --git a/remove-unnecessary-dev-dependencies.patch b/remove-unnecessary-dev-dependencies.patch
new file mode 100644
index 000000000000..21cd8fdc23bd
--- /dev/null
+++ b/remove-unnecessary-dev-dependencies.patch
@@ -0,0 +1,61 @@
+diff --unified --recursive --text css_parser-1.16.0.orig/css_parser.gemspec css_parser-1.16.0/css_parser.gemspec
+--- css_parser-1.16.0.orig/css_parser.gemspec 2023-09-02 09:48:15.366045139 +0200
++++ css_parser-1.16.0/css_parser.gemspec 2023-09-02 09:49:44.213048287 +0200
+@@ -19,12 +19,7 @@
+
+ s.add_runtime_dependency 'addressable'
+
+- s.add_development_dependency 'benchmark-ips'
+- s.add_development_dependency 'bump'
+ s.add_development_dependency 'maxitest'
+- s.add_development_dependency 'memory_profiler'
+ s.add_development_dependency 'rake'
+- s.add_development_dependency 'rubocop', '>= 1.8'
+- s.add_development_dependency 'rubocop-rake'
+ s.add_development_dependency 'webrick'
+ end
+diff --unified --recursive --text css_parser-1.16.0.orig/Rakefile css_parser-1.16.0/Rakefile
+--- css_parser-1.16.0.orig/Rakefile 2023-09-02 09:48:15.362711792 +0200
++++ css_parser-1.16.0/Rakefile 2023-09-02 09:49:20.419626516 +0200
+@@ -1,41 +1,8 @@
+ # frozen_string_literal: true
+
+-require 'bundler/setup'
+-require 'bundler/gem_tasks'
+ require 'rake/testtask'
+-require 'rubocop/rake_task'
+-require 'bump/tasks'
+-
+-task default: [:rubocop, :test]
+
+ Rake::TestTask.new do |test|
+ test.pattern = 'test/**/test*.rb'
+ test.verbose = true
+ end
+-
+-RuboCop::RakeTask.new
+-
+-desc 'Run a performance evaluation.'
+-task :benchmark do
+- require 'css_parser'
+-
+- require 'benchmark/ips'
+- require 'memory_profiler'
+-
+- fixtures_dir = Pathname.new(__dir__).join('test/fixtures')
+- import_css_path = fixtures_dir.join('import1.css').to_s.freeze
+- complex_css_path = fixtures_dir.join('complex.css').to_s.freeze
+-
+- Benchmark.ips do |x|
+- x.report('import1.css loading') { CssParser::Parser.new.load_file!(import_css_path) }
+- x.report('complex.css loading') { CssParser::Parser.new.load_file!(complex_css_path) }
+- end
+-
+- puts
+-
+- report = MemoryProfiler.report { CssParser::Parser.new.load_file!(import_css_path) }
+- puts "Loading `import1.css` allocated #{report.total_allocated} objects, #{report.total_allocated_memsize / 1024} KiB"
+-
+- report = MemoryProfiler.report { CssParser::Parser.new.load_file!(complex_css_path) }
+- puts "Loading `complex.css` allocated #{report.total_allocated} objects, #{report.total_allocated_memsize / 1024} KiB"
+-end