Skip to content
Snippets Groups Projects
Commit ab60fd86 authored by Jakub Jirutka's avatar Jakub Jirutka :flag_ua:
Browse files

community/gitui: upgrade to 0.16.0

parent fba9f63d
No related branches found
No related tags found
No related merge requests found
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=gitui
pkgver=0.15.0
# NOTE: If update-lockfile.patch is not applicable after bumping, apply only
# the previous patches, copy Cargo.lock to Cargo.lock.orig, run
# `cargo build --release`, interrupt it (^C) right after it starts building
# and generate a new diff (`diff -u Cargo.lock.orig Cargo.lock`).
pkgver=0.16.0
pkgrel=0
pkgdesc="Blazing fast terminal client for git"
url="https://github.com/extrawurst/gitui"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
license="MIT"
makedepends="cargo libgit2-dev openssl-dev zlib-dev"
makedepends="cargo libgit2-dev oniguruma-dev openssl-dev zlib-dev"
source="https://github.com/extrawurst/gitui/archive/v$pkgver/$pkgname-$pkgver.tar.gz
use-system-openssl.patch
use-oniguruma.patch
update-lockfile.patch
"
export LIBGIT2_SYS_USE_PKG_CONFIG=1 # use system libgit2
export LIBSSH2_SYS_USE_PKG_CONFIG=1 # use system libssh2
export RUSTONIG_DYNAMIC_LIBONIG=1 # use system libonig
build() {
cargo build --release --locked
......@@ -28,5 +35,9 @@ package() {
rm "$pkgdir"/usr/.crates*
}
sha512sums="41f01265f6a20e597db306bde382bcaf1a0a6623dfd711c959ad1bf960d91628ac5f03d73074e617e3f4adbbc09d9d36ef0f6f12f36f1c7fc5e8c801de695d02 gitui-0.15.0.tar.gz
e36a5f73bb9331c257a84acfaac11b3c88624f61205cc139dbe5c710d3200ec66991ac76beb5a77ded7f04af6e32b7d2a53b780ee550529618bcb3b184987918 use-system-openssl.patch"
sha512sums="
37430f5a8ab4477d6961ca5c9d058f222be47384e4966dd871e019113e75d773224ef829754306532bdcbccc1827ea47ddbbf05dc19748fdab34b81cd3cd89bf gitui-0.16.0.tar.gz
9b41b32968d4ec81ffd1e0b3aa6535afbdd3b8422c156e7fc74571235e9609a5af65702e48071e2954c80a0aaea914c1d8a15234504900b0733139e1387a43e4 use-system-openssl.patch
cd27d664b415c13ecbe424825e3bdd913c10c647c11c5e57d5f62d822fa4397a8f463dba35a963696c191ca860d0b014b38c0ee2f106c673de62bdd92dd9dbbf use-oniguruma.patch
096302bacd89af7f48d9526bbf56fc46b62e21c375aa540a00b0b4f150421afb15978a0d514d3939ae864fc672be52120cdcbf486e79633d0383fd7e4b31e031 update-lockfile.patch
"
Update Cargo.lock after applying use-system-openssl.patch and use-oniguruma.patch.
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -27,15 +27,6 @@
]
[[package]]
-name = "aho-corasick"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-dependencies = [
- "memchr",
-]
-
-[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -126,21 +117,6 @@
]
[[package]]
-name = "bit-set"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
-dependencies = [
- "bit-vec",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
-
-[[package]]
name = "bitflags"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -363,16 +339,6 @@
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
-name = "fancy-regex"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae91abf6555234338687bb47913978d275539235fcb77ba9863b779090b42b14"
-dependencies = [
- "bit-set",
- "regex",
-]
-
-[[package]]
name = "filetreelist"
version = "0.1.1"
dependencies = [
@@ -828,21 +794,34 @@
checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
[[package]]
-name = "openssl-probe"
-version = "0.1.4"
+name = "onig"
+version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
+checksum = "30b46fd9edbc018f0be4e366c24c46db44fac49cd01c039ae85308088b089dd5"
+dependencies = [
+ "bitflags",
+ "lazy_static",
+ "libc",
+ "onig_sys",
+]
[[package]]
-name = "openssl-src"
-version = "111.15.0+1.1.1k"
+name = "onig_sys"
+version = "69.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a"
+checksum = "ed063c96cf4c0f2e5d09324409d158b38a0a85a7b90fbd68c8cad75c495d5775"
dependencies = [
"cc",
+ "pkg-config",
]
[[package]]
+name = "openssl-probe"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
+
+[[package]]
name = "openssl-sys"
version = "0.9.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -851,7 +830,6 @@
"autocfg",
"cc",
"libc",
- "openssl-src",
"pkg-config",
"vcpkg",
]
@@ -1058,17 +1036,6 @@
]
[[package]]
-name = "regex"
-version = "1.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
name = "regex-syntax"
version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1298,11 +1265,11 @@
dependencies = [
"bincode",
"bitflags",
- "fancy-regex",
"flate2",
"fnv",
"lazy_static",
"lazycell",
+ "onig",
"plist",
"regex-syntax",
"serde",
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sun, 30 May 2021 16:19:35 +0200
Subject: [PATCH] Build syntect with onig instead of fancy-regex
Replace pure Rust fancy-regex with onig linked against system-provided
oniguruma library.
From the syntect's Readme (https://github.com/trishume/syntect):
> The advantage of fancy-regex is that it does not require the onig crate
> which requires building and linking the Oniguruma C library. Many users
> experience difficulty building the onig crate, especially on Windows
> and Webassembly.
> As far as our tests can tell this new engine is just as correct, but it
> hasn't been tested as extensively in production. It also currently seems
> to be about half the speed of the default Oniguruma engine
Oniguruma engine is faster than the fancy-regex engine and the syntect
project chose the latter as the default only to avoid difficulties with
linking Oniguruma (C library) on some platforms. That's not our case.
Moreover, gitui built with Oniguruma instead of fancy-regex is smaller
(2.9 MiB x 3.8 MiB). libonig.so is 0.5 MiB, so we saved 0.4 MiB or 0.9 MiB,
if libonig.so is already installed for some other package.
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -46,7 +46,7 @@
easy-cast = "0.4"
bugreport = "0.4"
lazy_static = "1.4"
-syntect = { version = "4.5", default-features = false, features = ["metadata", "default-fancy"]}
+syntect = { version = "4.5", default-features = false, features = ["metadata", "default-onig"]}
[target.'cfg(all(target_family="unix",not(target_os="macos")))'.dependencies]
which = "4.1"
......@@ -6,32 +6,6 @@
scopetime = { path = "../scopetime", version = "0.1" }
-git2 = { version = "0.13", features = ["vendored-openssl"] }
+git2 = { version = "0.13" }
# git2 = { path = "../../github/git2-rs", features = ["vendored-openssl"]}
# git2 = { git="https://github.com/extrawurst/git2-rs.git", rev="513a8c9", features = ["vendored-openssl"]}
rayon-core = "1.9"
crossbeam-channel = "0.5"
log = "0.4"
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -686,15 +686,6 @@
checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
[[package]]
-name = "openssl-src"
-version = "111.15.0+1.1.1k"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a"
-dependencies = [
- "cc",
-]
-
-[[package]]
name = "openssl-sys"
version = "0.9.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -703,7 +694,6 @@
"autocfg",
"cc",
"libc",
- "openssl-src",
"pkg-config",
"vcpkg",
]
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