Skip to content

Commit 306ef4c

Browse files
authored
Merge branch 'main' into sessions
2 parents 7c43fe7 + 9f29a40 commit 306ef4c

4 files changed

Lines changed: 22 additions & 19 deletions

File tree

build_files/hypercube/99-tests.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ REQUIRED_PACKAGES=(
1919
"quickshell"
2020
# Terminals
2121
"ghostty"
22+
"zellij"
2223
# Dev tools
2324
"neovim"
2425
"lazygit"
@@ -48,8 +49,6 @@ REQUIRED_FILES=(
4849
# Config files
4950
"/etc/fish/config.fish"
5051
"/etc/zellij/config.kdl"
51-
# zellij ships as a static binary (not an rpm), so check the file directly
52-
"/usr/bin/zellij"
5352
"/usr/share/hypercube/config/starship/starship.toml"
5453
# Theming
5554
"/usr/share/themes/Tokyonight-Dark/gtk-3.0/gtk.css"

build_files/hyprland/01-hyprland-desktop.sh

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,10 @@ dnf5 -y install \
5656
### Fish Shell (set as default)
5757
dnf5 -y install fish
5858

59-
### Terminal multiplexer - zellij
60-
# zellij isn't packaged in the ublue/Fedora repos (`dnf install zellij` ->
61-
# "No match"), so install the official static musl binary. The base image is
62-
# amd64-only (no platform matrix in build.yml), so x86_64 is sufficient. Pinned
63-
# for reproducibility. Gives the host the same Ctrl+Space multiplexer keymap
64-
# (installed to /etc/zellij/config.kdl by 03-hypercube-configs.sh) as devcube.
65-
#
66-
# TODO(#198): a COPR spec now exists at packages/zellij/zellij.spec. Once the
67-
# `zellij` package is configured + built in the binarypie/hypercube COPR (already
68-
# enabled in base/01-base-system.sh), replace this block with `dnf5 -y install
69-
# zellij` and move the test in hypercube/99-tests.sh back to REQUIRED_PACKAGES.
70-
ZELLIJ_VERSION=0.44.3
71-
curl -fsSL "https://github.com/zellij-org/zellij/releases/download/v${ZELLIJ_VERSION}/zellij-x86_64-unknown-linux-musl.tar.gz" \
72-
| tar -xz -C /usr/bin zellij
73-
chmod 0755 /usr/bin/zellij
59+
### Terminal multiplexer - zellij (from Hypercube COPR)
60+
# Gives the host the same Ctrl+Space multiplexer keymap (installed to
61+
# /etc/zellij/config.kdl by 03-hypercube-configs.sh) as devcube.
62+
dnf5 -y install zellij
7463

7564
### Terminal - Ghostty (from scottames COPR)
7665
dnf5 -y copr enable scottames/ghostty

packages/zellij/zellij.spec

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
Name: zellij
77
Version: 0.44.3
8-
Release: 1%{?dist}
8+
Release: 2%{?dist}
99
Summary: A terminal workspace and multiplexer
1010

1111
License: MIT
@@ -38,6 +38,14 @@ export RUSTUP_HOME=%{_builddir}/.rustup
3838
export CARGO_HOME=%{_builddir}/.cargo
3939
export PATH="${CARGO_HOME}/bin:${PATH}"
4040

41+
# Link against the chroot's system OpenSSL (pulled in via BuildRequires:
42+
# pkgconfig(openssl)) instead of letting the openssl-sys crate vendor and
43+
# compile its own copy. The vendored build runs OpenSSL's ./Configure, whose
44+
# perl needs FindBin.pm — not present in the minimal mock chroot — so it fails
45+
# with "Can't locate FindBin.pm in @INC". Using the system lib also skips
46+
# compiling OpenSSL from source entirely, which is faster.
47+
export OPENSSL_NO_VENDOR=1
48+
4149
# Read the Rust channel this release pins (rust-toolchain.toml, currently
4250
# "1.92.0") and install exactly that with rustup. Reading it from the source
4351
# tree means bumping Version above is all it takes to follow a new zellij — the
@@ -75,6 +83,11 @@ mkdir -p %{buildroot}%{_datadir}/fish/vendor_completions.d
7583
%{_datadir}/fish/vendor_completions.d/%{name}.fish
7684

7785
%changelog
86+
* Sun Jun 28 2026 Hypercube <hypercube@binarypie.dev> - 0.44.3-2
87+
- Set OPENSSL_NO_VENDOR=1 so openssl-sys links the chroot's system OpenSSL
88+
instead of vendoring its own copy, which failed to configure (missing
89+
perl FindBin.pm in the minimal mock chroot)
90+
7891
* Wed Jun 24 2026 Hypercube <hypercube@binarypie.dev> - 0.44.3-1
7992
- Initial package for Hypercube
8093
- Build with rustup-managed toolchain (per upstream rust-toolchain.toml) so the

scripts/packages/config.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ declare -gA PACKAGE_REPOS=(
3535
[lazyjournal]="Lifailon/lazyjournal"
3636
[lazysql]="jorgerojas26/lazysql"
3737
[resterm]="unkn0wn-root/resterm"
38+
[zellij]="zellij-org/zellij"
3839

3940
# Other
4041
[glaze]="stephenberry/glaze"
@@ -73,6 +74,7 @@ declare -gA PACKAGE_DEPS=(
7374
[lazyjournal]=""
7475
[lazysql]=""
7576
[resterm]=""
77+
[zellij]=""
7678
[lua55]=""
7779

7880
# Packages with dependencies
@@ -93,7 +95,7 @@ declare -gA PACKAGE_DEPS=(
9395

9496
# Build batches (packages in same batch can build in parallel)
9597
declare -gA BUILD_BATCHES=(
96-
[1]="hyprutils hyprwayland-scanner hyprland-protocols hyprwire glaze uwsm eza starship lazygit quickshell livesys-scripts wifitui resvg yazi bluetui iamb meli lazyjournal lazysql resterm lua55"
98+
[1]="hyprutils hyprwayland-scanner hyprland-protocols hyprwire glaze uwsm eza starship lazygit quickshell livesys-scripts wifitui resvg yazi bluetui iamb meli lazyjournal lazysql resterm zellij lua55"
9799
[2]="hyprlang hyprgraphics aquamarine"
98100
[3]="hyprcursor hyprland-qt-support"
99101
[4]="hyprland hyprlock hypridle xdg-desktop-portal-hyprland hyprpolkitagent hyprtoolkit"

0 commit comments

Comments
 (0)