Skip to content
Snippets Groups Projects
Unverified Commit 6b2c0725 authored by Caleb Maclennan's avatar Caleb Maclennan
Browse files

upgpkg: 0.25.0-2: Rebuild for libgit2 1.9

parent 0125db55
No related branches found
Tags 0.22.0-1
No related merge requests found
pkgbase = jujutsu
pkgdesc = Git-compatible VCS that is both simple and powerful
pkgver = 0.25.0
pkgrel = 1
pkgrel = 2
url = https://github.com/jj-vcs/jj
arch = x86_64
license = Apache-2.0
makedepends = cargo
makedepends = cargo-edit
makedepends = cmake
depends = gcc-libs
depends = glibc
......
......@@ -7,7 +7,7 @@
pkgname=jujutsu
_pkgname=jj
pkgver=0.25.0
pkgrel=1
pkgrel=2
pkgdesc='Git-compatible VCS that is both simple and powerful'
arch=(x86_64)
url="https://github.com/jj-vcs/$_pkgname"
......@@ -21,6 +21,7 @@ depends=(gcc-libs # libgcc_s.so ld-linux-x86-64.so
zstd)
replaces=("$pkgname-bin")
makedepends=(cargo
cargo-edit
cmake) # builds vendored libz-ng
_archive="$_pkgname-$pkgver"
source=("$url/archive/refs/tags/v$pkgver/$_archive.tar.gz")
......@@ -28,6 +29,9 @@ sha256sums=('3a99528539e414a3373f24eb46a0f153d4e52f7035bb06df47bd317a19912ea3')
prepare() {
cd "$_archive"
# for libgit2-1.9 compatibility, remove when upstream does
# https://github.com/jj-vcs/jj/pull/5315
cargo upgrade -p git2@0.20.0
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
mkdir -p completions
}
......
  • Author Developer

    @orhun @dvzrv @alucryd @svenstaro @kpcyrd @bertptrs @arodseth

    Just FYI this appears to be a viable way for most Rust based projects that use git2 to build against current system libraries per libgit2-1.9.0 rebuild todo. This probably wouldn't work for all releases but since nothing much in the git2 interface seems to have changed only what version it can be built against it seems to work quite handily for this release cycle.

    Edited by Caleb Maclennan
  • Developer

    Does not work in general unfortunately; for packages that depend on Cargo (as a library) like cargo-crev, it causes a conflict. You can update the git2 dependency version for the main crate but dependencies will still pull in older version. This causes problems, as any "linked" library may only be specified once.

    I'm still looking for a good solution for cargo-crev, the only thing that "works" is vendoring git2 but I'd rather not.

  • Developer

    I've had good success asking upstreams for updates (and provided the context of this rebuild).

  • Developer

    I have now found a workaround in cargo-crev@28c53383

    I'll double-check that cargo is indeed updating, but that fix is at least two release cycles (12 weeks) away so the workaround stands.

    EDIT: Cargo main is already updated, but this hasn't hit a release yet.

    Edited by Bert Peters
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment