Package Details: zellij-git 0.39.2.r55.g65a7fcf-1

Git Clone URL: https://aur.archlinux.org/zellij-git.git (read-only, click to copy)
Package Base: zellij-git
Description: A terminal multiplexer
Upstream URL: https://zellij.dev
Keywords: multiplexer terminal
Licenses: MIT
Conflicts: zellij
Provides: zellij
Submitter: henil
Maintainer: henil (alerque)
Last Packager: alerque
Votes: 6
Popularity: 0.56
First Submitted: 2021-02-10 17:10 (UTC)
Last Updated: 2024-03-26 14:44 (UTC)

Latest Comments

1 2 Next › Last »

henil commented on 2024-02-13 17:28 (UTC)

@alerque Thank you for the patch, i couldn't apply it directly due to some conflict in .SRCINFO so applied PKGBUILD and built .SRCINFO manually.

I am personally using zellij from official arch repository so I am not actively using this package.

If you actively use this package and want to maintain it I can add you as co-maintainer.

alerque commented on 2024-02-13 08:37 (UTC)

It turns out there were quite a few things wrong here. I gave it an overhaul. This patch (can be copied to a patch file, but make sure you copy the trailing empty line an the end) can be applied with git am < file.patch

From b7e94086d1c39b902f759886d8ad5babcefa25da Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Tue, 13 Feb 2024 11:32:19 +0300
Subject: [PATCH] Completely overhaul to fix deps and follow packaging
 guidelines

Style changes are to match official package in [extra] to make diffing
them easier.

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 .SRCINFO | 19 +++++++------
 PKGBUILD | 81 +++++++++++++++++++++++++++++++-------------------------
 2 files changed, 56 insertions(+), 44 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index 1ccd3cb..28db90a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,24 @@
 pkgbase = zellij-git
-   pkgdesc = A terminal workspace with batteries included
-   pkgver = r2207.17205793
+   pkgdesc = A terminal multiplexer
+   pkgver = 0.39.2.r41.gb677ffe
    pkgrel = 1
-   url = https://www.github.com/zellij-org/zellij
-   arch = i686
+   url = https://zellij.dev
    arch = x86_64
+   arch = i686
    arch = armv6h
    arch = armv7h
    license = MIT
-   makedepends = rustup
    makedepends = cargo
    makedepends = git
-   makedepends = binaryen
    makedepends = mandown
-   provides = zellij
+   makedepends = protobuf
+   depends = curl
+   depends = libcurl.so
+   depends = gcc-libs
+   depends = glibc
+   provides = zellij=0.39.2.r41.gb677ffe
    conflicts = zellij
-   source = git+https://github.com/zellij-org/zellij
+   source = git+https://www.github.com/zellij-org/zellij.git
    sha256sums = SKIP

 pkgname = zellij-git
diff --git a/PKGBUILD b/PKGBUILD
index 3e6643b..e6f8965 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,48 +1,57 @@
 # Maintainer: Henil <henil2911 + aur at gmail <.> com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
+
 pkgname=zellij-git
 _pkgname=zellij
-pkgver=r2207.17205793
-_pkgver=0.1
+pkgver=0.39.2.r41.gb677ffe
 pkgrel=1
-epoch=
-pkgdesc="A terminal workspace with batteries included"
-arch=('i686' 'x86_64' 'armv6h' 'armv7h')
-url="https://www.github.com/zellij-org/zellij"
+pkgdesc="A terminal multiplexer"
+arch=('x86_64' 'i686' 'armv6h' 'armv7h')
+url="https://zellij.dev"
+_url="https://www.github.com/$_pkgname-org/$_pkgname"
 license=('MIT')
-groups=()
-depends=()
-makedepends=('rustup' 'cargo' 'git' 'binaryen' 'mandown')
-checkdepends=()
-optdepends=()
-provides=('zellij')
+depends=(curl libcurl.so
+         gcc-libs
+         glibc)
+makedepends=(cargo
+             git
+             mandown
+             protobuf)
+provides=("zellij=$pkgver")
 conflicts=('zellij')
-options=()
-source=("git+https://github.com/zellij-org/zellij")
-sha256sums=(SKIP)
+source=("git+$_url.git")
+sha256sums=('SKIP')

-build() {
-    cd "$srcdir/$_pkgname"
-    cargo install --locked cargo-xtask
-    cargo xtask install ./zellij
-    mkdir -p assets/completions
-    ./zellij setup --generate-completion bash > assets/completions/zellij.bash
-    ./zellij setup --generate-completion fish > assets/completions/zellij.fish
-    ./zellij setup --generate-completion zsh > assets/completions/_zellij
+prepare() {
+  cd "$_pkgname"
+  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
 }

-package() {
-    cd "$srcdir/$_pkgname"
-    mkdir -p "${pkgdir}/usr/share/doc/zellij"
-    install -Dm755 ./zellij "${pkgdir}/usr/bin/zellij"
-    install -Dm644 GOVERNANCE.md "${pkgdir}/usr/share/doc/zellij/GOVERNANCE.md"
-    install -Dm644 README.md "${pkgdir}/usr/share/doc/zellij/README.md"
-    install -Dm644 assets/man/zellij.1 "${pkgdir}/usr/share/man/man1/zellij.1"
-    install -Dm644 assets/completions/zellij.bash "${pkgdir}/usr/share/bash-completion/completions/zellij"
-    install -Dm644 assets/completions/zellij.fish "${pkgdir}/usr/share/fish/vendor_completions.d/zellij.fish"
-    install -Dm644 assets/completions/_zellij "${pkgdir}/usr/share/zsh/site-functions/_zellij"
+pkgver() {
+  cd "$_pkgname"
+  git describe --long --tags --abbrev=7 --match="v*" HEAD |
+    sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
 }

-pkgver() {
-    cd "$srcdir/$_pkgname"
-    printf "r%s.%s" $(git rev-list --count HEAD) $(git rev-parse --short HEAD)
+build() {
+  cd "$_pkgname"
+  export RUSTUP_TOOLCHAIN=stable
+  export CARGO_TARGET_DIR=target
+  cargo build --release --frozen
+  ./target/release/zellij setup --generate-completion bash > target/zellij.bash
+  ./target/release/zellij setup --generate-completion fish > target/zellij.fish
+  ./target/release/zellij setup --generate-completion zsh > target/zellij.zsh
+  mandown docs/MANPAGE.md > assets/zellij.1
+}
+
+package() {
+  cd "$_pkgname"
+  install -Dm755 target/release/zellij -t "${pkgdir}/usr/bin"
+  install -Dm644 GOVERNANCE.md README.md -t "${pkgdir}/usr/share/doc/$pkgname/"
+  install -Dm644 LICENSE.md -t "${pkgdir}/usr/share/licenses/$pkgname/"
+  install -Dm644 target/zellij.bash "${pkgdir}/usr/share/bash-completion/completions/zellij"
+  install -Dm644 target/zellij.fish "${pkgdir}/usr/share/fish/vendor_completions.d/zellij.fish"
+  install -Dm644 target/zellij.zsh "${pkgdir}/usr/share/zsh/site-functions/_zellij"
+  install -Dm644 assets/zellij.1 "${pkgdir}/usr/share/man/man1/zellij.1"
+  install -Dm644 assets/zellij.desktop "${pkgdir}/usr/share/applications/zellij.desktop"
 }
-- 
2.43.0

alerque commented on 2024-02-13 07:01 (UTC) (edited on 2024-02-13 07:23 (UTC) by alerque)

This package has several issues still. It doesn't build at all in a clean chroot—which probably means dependencies are not correct (needs protoc?). Also the pkgver is not related to the release tags, the provides statement doesn't give the version, empty fields should not be defined at all, the makedepends should not be rustup, just cargo, the dependencies are not being prefetched per Arch guidelines, and possibly more. Would you accept a patch to fix these issues if I posted it here?

henil commented on 2023-04-18 06:45 (UTC)

@arlas just adding aarch64 in the list works or it requires some other changes? If it does can you submit a patch for it because i don't have a ARM machine to test it on.

Arlas commented on 2023-04-11 09:07 (UTC)

Please add aarch64 as architecture. I tested to compile it with ashari linux and an apple m1 pro and it works like a charm.

henil commented on 2021-11-04 16:02 (UTC)

@haawda my bad. fixed!

haawda commented on 2021-11-04 13:34 (UTC)

Manpage should be installed to /usr/share/man/man1.

henil commented on 2021-05-22 07:13 (UTC)

Thanks for the heads up @danisztls, I will update it.

danisztls commented on 2021-05-14 21:22 (UTC)

@henil It is not a problem per se but goes against packaging guidelines and will not be in the PATH of most users and thus can be a source of confusion.

https://wiki.archlinux.org/title/Arch_package_guidelines

henil commented on 2021-05-14 18:58 (UTC)

@danisztls Yes I kept it that way, is there any problem with that location? Do you think /usr/bin would be a better place to store it?