From 6ca5d30c235fc8a43331cc95dd268c715ebc1517 Mon Sep 17 00:00:00 2001 From: CapCreeperGR Date: Mon, 8 Jul 2024 12:03:55 +0000 Subject: [PATCH] Initial Commit --- pkg.info | 9 +++++++++ post_install.sh | 7 +++++++ post_remove.sh | 7 +++++++ source-files/zprofile | 33 +++++++++++++++++++++++++++++++ source-files/zshrc | 6 ++++++ source.sh | 46 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 108 insertions(+) create mode 100644 pkg.info create mode 100644 post_install.sh create mode 100644 post_remove.sh create mode 100644 source-files/zprofile create mode 100644 source-files/zshrc create mode 100644 source.sh diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..414f056 --- /dev/null +++ b/pkg.info @@ -0,0 +1,9 @@ +name: zsh +description: A powerful interactive shell +version: 5.9 +url: https://www.zsh.org/ +license: custom +architecture: any +keep: etc/zsh/ +make_depends: texinfo,libcap,gdbm,libcap +type: source diff --git a/post_install.sh b/post_install.sh new file mode 100644 index 0000000..ed0dae4 --- /dev/null +++ b/post_install.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +SHELL="/bin/zsh" + +if ! grep "${SHELL}" "$BPM_ROOT"/etc/shells; then + echo "${SHELL}" | tee -a "$BPM_ROOT"/etc/shells +fi diff --git a/post_remove.sh b/post_remove.sh new file mode 100644 index 0000000..1b3c5f1 --- /dev/null +++ b/post_remove.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +SHELL="/bin/zsh" + +if grep "${SHELL}" "$BPM_ROOT"/etc/shells; then + sed -i "s|${SHELL}|d" "$BPM_ROOT"/etc/shells +fi diff --git a/source-files/zprofile b/source-files/zprofile new file mode 100644 index 0000000..ed4f23c --- /dev/null +++ b/source-files/zprofile @@ -0,0 +1,33 @@ +# /etc/zprofile + +# Function to easily append a directory to PATH +append_path() { + if [ -z "$1" ]; then + return 1 + elif ! [ -d "$1" ]; then + return 1 + fi + export PATH="$PATH":"$1" +} + +# Appending paths +append_path '/usr/sbin' +append_path '/usr/local/bin' +append_path '/usr/local/sbin' + +# Source locale.conf +if [ -f /etc/locale.conf ]; then + set -a + . /etc/locale.conf + set +a +fi + +# Unsetting functions +unset -f append_path + +# Run /etc/zshrc if in an interactive terminal +if [[ $- == *i* ]] +then + . /etc/zshrc +fi + diff --git a/source-files/zshrc b/source-files/zshrc new file mode 100644 index 0000000..f16bba1 --- /dev/null +++ b/source-files/zshrc @@ -0,0 +1,6 @@ +# /etc/zsh + +# Setting zsh prompt if not in chroot +if ! [ -f /tmp/is_chroot ]; then + export PROMPT="[%n@%m %1~]$ " +fi diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..d494775 --- /dev/null +++ b/source.sh @@ -0,0 +1,46 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +DOWNLOAD="https://sourceforge.net/projects/zsh/files/zsh/${BPM_PKG_VERSION}/zsh-${BPM_PKG_VERSION}.tar.xz/download" +FILENAME="${DOWNLOAD##*/}" + +# The prepare function is executed in the root of the temp directory +# This function is used for downloading files and putting them into the correct location +prepare() { + wget "$DOWNLOAD" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + sed -e 's/set_from_init_file/texinfo_&/' -i Doc/Makefile.in + sed 's|/etc/z|/etc/zsh/z|g' -i Doc/*.* + ./configure --prefix=/usr --sysconfdir=/etc/zsh --enable-etcdir=/etc/zsh --enable-cap --enable-gdbm + make + + makeinfo Doc/zsh.texi --html -o Doc/html + makeinfo Doc/zsh.texi --plaintext -o zsh.txt + makeinfo Doc/zsh.texi --html --no-split --no-headers -o zsh.html +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + make check +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + make DESTDIR="$BPM_OUTPUT" install + mkdir -p "$BPM_OUTPUT"/usr/share/{info,doc/zs + make DESTDIR="$BPM_OUTPUT" infodir=/usr/share/info install.info + make DESTDIR="$BPM_OUTPUT" htmldir=/usr/share/doc/zsh/html install.html + mkdir -p "$BPM_OUTPUT"/usr/share/doc/zsh/ + install -v -m644 zsh.{html,txt} Etc/FAQ "$BPM_OUTPUT"/usr/share/doc/zsh + install -Dm 644 ../zprofile "$BPM_OUTPUT"/etc/zsh/zprofile + install -Dm 644 ../zshrc "$BPM_OUTPUT"/etc/zsh/zshrc + install -Dm 644 LICENCE "$BPM_OUTPUT"/usr/share/licenses/zsh/COPYING +}