From f59d8a7b966318f23087094ba03ca25797af9e8d Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Sun, 9 Feb 2020 20:31:24 +0100 Subject: [PATCH] Use open-ended dependencies. Ruby has the unfortunate habit of being way too strict in its semantic versioning. In this case, we think it's better to use open-ended dependencies for now, as most repository packages do. In the event that stuff breaks, we can reconsider this. For now it seems to work just fine. Unfortunately, this does require us to rebuild the gem file from source. This is slightly more work, but we believe the experience will be better for everyone in the end. --- .SRCINFO | 13 +++---------- PKGBUILD | 31 +++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 3f207eb..1e42862 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = jekyll pkgdesc = A simple, blog aware, static site generator. pkgver = 4.0.0 - pkgrel = 2 + pkgrel = 3 url = https://github.com/jekyll/jekyll arch = any license = MIT @@ -12,18 +12,12 @@ pkgbase = jekyll depends = ruby-jekyll-watch>=2.0 depends = ruby-kramdown>=2.1.0 depends = ruby-liquid>=4.0 - depends = ruby-liquid<5.0 depends = ruby-mercenary>=0.3.3 - depends = ruby-mercenary<0.4 depends = ruby-pathutil>=0.9 - depends = ruby-pathutil<1.0 depends = ruby-rouge>1.7 - depends = ruby-rouge<4.0 depends = ruby-safe_yaml>=1.0 - depends = ruby-safe_yaml<2.0 depends = ruby-i18n>=1 depends = ruby-em-websocket>=0.5 - depends = ruby-em-websocket<1.0 depends = ruby-kramdown-parser-gfm depends = ruby-terminal-table optdepends = ruby-minima: Default theme for Jekyll @@ -34,10 +28,9 @@ pkgbase = jekyll provides = ruby-jekyll conflicts = ruby-jekyll replaces = ruby-jekyll - noextract = jekyll-4.0.0.gem options = !emptydirs - source = https://rubygems.org/downloads/jekyll-4.0.0.gem - sha256sums = 4a1dc48895d525bfb98cd562bf03ab6dd2727b5795360877c90e12670b9fec3a + source = jekyll-4.0.0.tar.gz::https://github.com/jekyll/jekyll/archive/v4.0.0.tar.gz + sha256sums = 262547c5c6365b73ef45da79005ecd08600f3f398ac0d071439abf0f11fc35a1 pkgname = jekyll diff --git a/PKGBUILD b/PKGBUILD index 3e7af83..7d9bc98 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,7 +6,7 @@ _gemname=jekyll pkgname=$_gemname pkgver=4.0.0 -pkgrel=2 +pkgrel=3 pkgdesc='A simple, blog aware, static site generator.' arch=('any') url='https://github.com/jekyll/jekyll' @@ -17,13 +17,13 @@ depends=('ruby>=2.1.0' 'ruby-jekyll-sass-converter>=2.0' 'ruby-jekyll-watch>=2.0' 'ruby-kramdown>=2.1.0' - 'ruby-liquid>=4.0' 'ruby-liquid<5.0' - 'ruby-mercenary>=0.3.3' 'ruby-mercenary<0.4' - 'ruby-pathutil>=0.9' 'ruby-pathutil<1.0' - 'ruby-rouge>1.7' 'ruby-rouge<4.0' - 'ruby-safe_yaml>=1.0' 'ruby-safe_yaml<2.0' + 'ruby-liquid>=4.0' + 'ruby-mercenary>=0.3.3' + 'ruby-pathutil>=0.9' + 'ruby-rouge>1.7' + 'ruby-safe_yaml>=1.0' 'ruby-i18n>=1' - 'ruby-em-websocket>=0.5' 'ruby-em-websocket<1.0' + 'ruby-em-websocket>=0.5' 'ruby-kramdown-parser-gfm' 'ruby-terminal-table' ) @@ -37,11 +37,22 @@ provides=("$pkgname=$pkgver" "ruby-jekyll") conflicts=('ruby-jekyll') replaces=('ruby-jekyll') options=(!emptydirs) -source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) -noextract=($_gemname-$pkgver.gem) -sha256sums=('4a1dc48895d525bfb98cd562bf03ab6dd2727b5795360877c90e12670b9fec3a') +source=(${pkgname}-${pkgver}.tar.gz::https://github.com/jekyll/jekyll/archive/v${pkgver}.tar.gz) +sha256sums=('262547c5c6365b73ef45da79005ecd08600f3f398ac0d071439abf0f11fc35a1') + +prepare() { + cd ${_gemname}-${pkgver} + sed -r 's|~>|>=|g' -i ${_gemname}.gemspec # don't give a fuck about rubys bla bla + sed 's|git ls-files -z|find -type f -print0\|sed "s,\\\\./,,g"|' -i ${_gemname}.gemspec +} + +build() { + cd ${_gemname}-${pkgver} + gem build ${_gemname}.gemspec +} package() { + cd ${_gemname}-${pkgver} 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"