[arch-commits] Commit in ruby-rugged/trunk (2 files)

David Runge dvzrv at gemini.archlinux.org
Tue Aug 16 14:57:13 UTC 2022


    Date: Tuesday, August 16, 2022 @ 14:57:13
  Author: dvzrv
Revision: 1266632

upgpkg: ruby-rugged 1.5.0.1-1: Upgrade to 1.5.0.1.

Add patch to remove broken libgit2 detection: https://github.com/libgit2/rugged/issues/698
Apply ruby packaging guidelines.

Added:
  ruby-rugged/trunk/ruby-rugged-1.5.0.1-remove_broken_libgit2_test.patch
Modified:
  ruby-rugged/trunk/PKGBUILD

------------------------------------------------------+
 PKGBUILD                                             |   40 +++++++++++------
 ruby-rugged-1.5.0.1-remove_broken_libgit2_test.patch |   36 +++++++++++++++
 2 files changed, 62 insertions(+), 14 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-08-16 14:25:01 UTC (rev 1266631)
+++ PKGBUILD	2022-08-16 14:57:13 UTC (rev 1266632)
@@ -4,10 +4,10 @@
 
 _name=rugged
 # ideally this should match $pkgver, as package() might fail otherwise. thanks, github
-_libgit2_pkgver=1.4.3
+_libgit2_pkgver=1.5.0
 pkgname=ruby-rugged
-pkgver=1.4.3
-pkgrel=2
+pkgver=1.5.0.1
+pkgrel=1
 pkgdesc="A Ruby binding to the libgit2 linkable library"
 arch=(x86_64)
 url="https://github.com/libgit2/rugged"
@@ -19,19 +19,23 @@
 source=(
   $_name-$pkgver.tar.gz::https://github.com/libgit2/$_name/archive/v$pkgver.tar.gz
   libgit2-$_libgit2_pkgver.tar.gz::https://github.com/libgit2/libgit2/archive/v$_libgit2_pkgver.tar.gz
+  $pkgname-1.5.0.1-remove_broken_libgit2_test.patch
 )
-sha512sums=('412116c07b00554f2fe2b73212c455e05008143555ba9704b1ffc19494b0533a3c42ac7112b3762771aec41321ff354f5f330dcb00443697bb463512426f3f2a'
-            '3dfa16c1c705b99fbda55e5e86e67703621d6f8fb62a03cfe998c834d242f33f4200fc0b6bc5d32fe5254c8b8e845259688e4bea9c2dbfc2b7df91841c335d28')
-b2sums=('56d7651a0ee2e5542a39f08786e0e97a77f1cce284efe52b72bf85658ad096d2936cca7c340498261b0468f2ca5962ae0554abeb060c48354c97984d152898ac'
-        '9308100ede912eae9d1fa4011c67f88f225aa11a49adf845389559fcbc213f31b0f91e4a5b496d282d42ac7f843f03c4ef7236f2d200331c615013d1250f6c31')
+sha512sums=('ae7cac3cf86c1889efb72e32e5fdbde15a31abf7ebf19c9c9b01a63b633fd4bfb3fef809c6003a9e6a2043dadad219eceb562447e2b0cd9ea06c52784bec12b7'
+            '7a32b27cd32bd03ce7be6c127317f82a4ac6f16615c3234699676781f4858d057edb0410b2fe36fd2e634b00748a8b0be17f23809e09a7602ba48185134300f7'
+            '7cf8c8f5ad361e8a88633d3ee75f15f5ece14c4d68471c7724b9b2752e2833efb4b01dbc50535b4a0b5a7c8cf36b4b610bc6c3f773cea8cea9a452d8f991bc40')
+b2sums=('e8a89a8b47a6b3165ac4eaccb9ba4f8b4b204bc1f40dc7b2d705b73e9bebc91ee1230dbddea487af8d5ea25cc84932eb6cf428adb638bcdecf867de59c154aa4'
+        '4108de0e8fc6a02e4172f47cb69cdfe8c85a0a72235432ca58b02d94e0bcb8390caf0c710060772551cc3a392291778ae14b561256c6d88058d0ae5a277f2fbf'
+        '28e7d1d61402dbedf19343013ead01175d7353b9c0bf965530662f0182a4942717889552479c8f145512c5ebae93425a74c3fe4060b91bbe5d30917f0d9ac5c0')
 
 prepare() {
+  # remove broken and useless libgit2 "version check":
+  # https://github.com/libgit2/rugged/issues/698
+  patch -Np1 -d $_name-$pkgver -i ../$pkgname-1.5.0.1-remove_broken_libgit2_test.patch
+
   cd $_name-$pkgver
   # we don't do version pinning
   sed -r 's|~>|>=|g' -i $_name.gemspec
-  # remove broken and useless libgit2 "version check":
-  # https://github.com/libgit2/rugged/issues/698
-  sed '68,90d' -i ext/rugged/extconf.rb
   # source tarball doesn't include vendored libgit2 version, which is only
   # needed for test fixtures (resources): https://github.com/libgit2/rugged/issues/801
   mv -v ../libgit2-$_libgit2_pkgver/* vendor/libgit2
@@ -59,14 +63,19 @@
 
 package() {
   local _gemdir="$(gem env gemdir)"
-
   depends+=(libgit2.so)
 
   cd $_name-$pkgver
-  gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" pkg/$_name-$pkgver.gem
-  install -vDm 644 "$pkgdir/$_gemdir/gems/$_name-$pkgver/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
-  install -vDm 644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/$pkgname"
+  gem install \
+    --local \
+    --verbose \
+    --ignore-dependencies \
+    --no-user-install \
+    --install-dir "$pkgdir/$_gemdir" \
+    --bindir "$pkgdir/usr/bin" \
+    "pkg/$_name-$pkgver.gem"
 
+  # remove unrepreducible files
   rm -frv \
     "$pkgdir/$_gemdir/cache/" \
     "$pkgdir/$_gemdir/gems/$_name-$pkgver/vendor/" \
@@ -91,4 +100,7 @@
       -iname "gem_make.out" \
     \) \
     -delete
+
+  install -vDm 644 "$pkgdir/$_gemdir/gems/$_name-$pkgver/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
+  install -vDm 644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/$pkgname"
 }

Added: ruby-rugged-1.5.0.1-remove_broken_libgit2_test.patch
===================================================================
--- ruby-rugged-1.5.0.1-remove_broken_libgit2_test.patch	                        (rev 0)
+++ ruby-rugged-1.5.0.1-remove_broken_libgit2_test.patch	2022-08-16 14:57:13 UTC (rev 1266632)
@@ -0,0 +1,36 @@
+diff -ruN a/ext/rugged/extconf.rb b/ext/rugged/extconf.rb
+--- a/ext/rugged/extconf.rb	2022-07-27 14:36:43.000000000 +0200
++++ b/ext/rugged/extconf.rb	2022-08-16 16:50:55.253886438 +0200
+@@ -65,32 +65,6 @@
+ 
+ if arg_config("--use-system-libraries", !!ENV['RUGGED_USE_SYSTEM_LIBRARIES'])
+   puts "Building Rugged using system libraries.\n"
+-
+-  dir_config('git2').any? or pkg_config('libgit2')
+-
+-  major = minor = nil
+-
+-  File.readlines(File.join(LIBGIT2_DIR, "include", "git2", "version.h")).each do |line|
+-    if !major && (matches = line.match(/^#define LIBGIT2_VER_MAJOR ([0-9]+)$/))
+-      major = matches[1]
+-      next
+-    end
+-
+-    if !minor && (matches = line.match(/^#define LIBGIT2_VER_MINOR ([0-9]+)$/))
+-      minor = matches[1]
+-      next
+-    end
+-
+-    break if major && minor
+-  end
+-
+-  try_compile(<<-SRC) or abort "libgit2 version is not compatible, expected ~> #{major}.#{minor}.0"
+-#include <git2/version.h>
+-
+-#if LIBGIT2_VER_MAJOR != #{major} || LIBGIT2_VER_MINOR != #{minor}
+-#error libgit2 version is not compatible
+-#endif
+-  SRC
+ else
+   if !find_executable('cmake')
+     abort "ERROR: CMake is required to build Rugged."



More information about the arch-commits mailing list