Skip to content
This repository has been archived by the owner on Jan 10, 2025. It is now read-only.

Commit

Permalink
[+] Kitty #28
Browse files Browse the repository at this point in the history
  • Loading branch information
Azathothas committed Sep 6, 2024
1 parent 5e3e629 commit cc589f3
Show file tree
Hide file tree
Showing 4 changed files with 214 additions and 0 deletions.
99 changes: 99 additions & 0 deletions .github/scripts/aarch64_Linux/bins/kitty.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env bash

#-------------------------------------------------------#
#Sanity Checks
if [ "$BUILD" != "YES" ] || \
[ -z "$BINDIR" ] || \
[ -z "$EGET_EXCLUDE" ] || \
[ -z "$EGET_TIMEOUT" ] || \
[ -z "$GIT_TERMINAL_PROMPT" ] || \
[ -z "$GIT_ASKPASS" ] || \
[ -z "$GITHUB_TOKEN" ] || \
[ -z "$SYSTMP" ] || \
[ -z "$TMPDIRS" ]; then
#exit
echo -e "\n[+]Skipping Builds...\n"
exit 1
fi
#-------------------------------------------------------#

#-------------------------------------------------------#
##Main
export SKIP_BUILD="NO" #YES, in case of deleted repos, broken builds etc
if [ "$SKIP_BUILD" == "NO" ]; then
#kitty : Cross-platform, fast, feature-rich, GPU based terminal
export BIN="kitty"
export SOURCE_URL="https://github.com/kovidgoyal/kitty"
echo -e "\n\n [+] (Building | Fetching) $BIN :: $SOURCE_URL\n"
##Build
pushd "$($TMPDIRS)" >/dev/null 2>&1
nix bundle --bundler "github:ralismark/nix-appimage" "nixpkgs#kitty" --log-format bar-with-logs
##Copy
sudo rsync -av --copy-links "./kitty.AppImage" "./kitty.AppImage.tmp"
sudo chown -R "$(whoami):$(whoami)" "./kitty.AppImage.tmp" && chmod -R 755 "./kitty.AppImage.tmp"
du -sh "./kitty.AppImage.tmp" && file "./kitty.AppImage.tmp"
##Extract
APPIMAGE="$(realpath .)/kitty.AppImage.tmp" && export APPIMAGE="${APPIMAGE}"
OFFSET="$(${APPIMAGE} --appimage-offset)" && export OFFSET="${OFFSET}"
tail -c +"$(($OFFSET + 1))" "${APPIMAGE}" > "./squash.tmp"
#unsquashfs -force -dest "./squash_tmp/" "./squash.tmp"
"${APPIMAGE}" --appimage-extract >/dev/null && rm -f "${APPIMAGE}"
OWD="$(realpath .)" && export OWD="${OWD}"
APPIMAGE_EXTRACT="$(realpath "./squashfs-root")" && export APPIMAGE_EXTRACT="${APPIMAGE_EXTRACT}"
##Patch
if [ -d "${APPIMAGE_EXTRACT}" ] && [ "$(find "${APPIMAGE_EXTRACT}" -mindepth 1 -print -quit 2>/dev/null)" ]; then
#Media
cd "${APPIMAGE_EXTRACT}"
mkdir -p "./usr/share/applications" && mkdir -p "./usr/share/metainfo"
SHARE_DIR="$(find "." -path '*share/*kitty*' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | awk -F'/share/' '{print $1}')/share" && export SHARE_DIR="${SHARE_DIR}"
#usr/{applications,bash-completion,icons,metainfo,kitty,zsh}
rsync -av --copy-links \
--include="*/" \
--include="*.desktop" \
--include="*.png" \
--include="*.svg" \
--include="*.xml" \
--exclude="*" \
"${SHARE_DIR}/" "./usr/share/" && ls "./usr/share/"
##Appdata/AppStream
# find "." -path '*share/*kitty*' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp {} "./usr/share/metainfo/"' ; cp "./usr/share/metainfo/kitty.metainfo.xml" "./usr/share/metainfo/kitty.appdata.xml"
#Icon
find "." -path '*/apps/*.png' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp "{}" ./kitty.png'
find "." -maxdepth 1 -type f -name '*.svg' -exec sh -c 'convert "$0" "${0%.svg}.png"' {} \; 2>/dev/null
cp "./kitty.png" "./.DirIcon"
##Desktop
find "." -path '*kitty*.desktop' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp {} "./kitty.desktop"'
sed 's/Icon=[^ ]*/Icon=kitty/' -i "./kitty.desktop" 2>/dev/null
#(Re)Pack
cd "${OWD}"
curl -qfsSL "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$(uname -m).AppImage" -o "./appimagetool" && chmod +x "./appimagetool"
ARCH="$(uname -m)" "./appimagetool" --comp "zstd" \
--mksquashfs-opt -root-owned \
--mksquashfs-opt -no-xattrs \
--mksquashfs-opt -noappend \
--mksquashfs-opt -b --mksquashfs-opt "1M" \
--mksquashfs-opt -mkfs-time --mksquashfs-opt "0" \
--mksquashfs-opt -Xcompression-level --mksquashfs-opt "22" \
"${APPIMAGE_EXTRACT}" "$BINDIR/kitty.AppImage"
#Meta
du -sh "$BINDIR/kitty.AppImage" && file "$BINDIR/kitty.AppImage"
#clean
unset APPIMAGE APPIMAGE_EXTRACT OFFSET OWD SHARE_DIR
fi
#Fetch
eval "$EGET_TIMEOUT" eget "$SOURCE_URL" --asset "kitten-linux-arm64" "$EGET_EXCLUDE" --to "$BINDIR/kitten"
#End
nix-collect-garbage >/dev/null 2>&1 ; popd >/dev/null 2>&1
fi
#-------------------------------------------------------#

#-------------------------------------------------------#
##Cleanup
unset SKIP_BUILD ; export BUILT="YES"
#In case of zig polluted env
unset AR CC CFLAGS CXX CPPFLAGS CXXFLAGS DLLTOOL HOST_CC HOST_CXX LDFLAGS LIBS OBJCOPY RANLIB
#In case of go polluted env
unset GOARCH GOOS CGO_ENABLED CGO_CFLAGS
#PKG Config
unset PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH
#-------------------------------------------------------#
8 changes: 8 additions & 0 deletions .github/scripts/aarch64_Linux/bins/kitty.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "kitty"
description: "Cross-platform, fast, feature-rich, GPU based terminal"
web_url: "https://sw.kovidgoyal.net/kitty/"
repo_url: "https://github.com/kovidgoyal/kitty"
path: "/"
bins:
- "kitty.AppImage"
- "kitten"
99 changes: 99 additions & 0 deletions .github/scripts/x86_64_Linux/bins/kitty.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env bash

#-------------------------------------------------------#
#Sanity Checks
if [ "$BUILD" != "YES" ] || \
[ -z "$BINDIR" ] || \
[ -z "$EGET_EXCLUDE" ] || \
[ -z "$EGET_TIMEOUT" ] || \
[ -z "$GIT_TERMINAL_PROMPT" ] || \
[ -z "$GIT_ASKPASS" ] || \
[ -z "$GITHUB_TOKEN" ] || \
[ -z "$SYSTMP" ] || \
[ -z "$TMPDIRS" ]; then
#exit
echo -e "\n[+]Skipping Builds...\n"
exit 1
fi
#-------------------------------------------------------#

#-------------------------------------------------------#
##Main
export SKIP_BUILD="NO" #YES, in case of deleted repos, broken builds etc
if [ "$SKIP_BUILD" == "NO" ]; then
#kitty : Cross-platform, fast, feature-rich, GPU based terminal
export BIN="kitty"
export SOURCE_URL="https://github.com/kovidgoyal/kitty"
echo -e "\n\n [+] (Building | Fetching) $BIN :: $SOURCE_URL\n"
##Build
pushd "$($TMPDIRS)" >/dev/null 2>&1
nix bundle --bundler "github:ralismark/nix-appimage" "nixpkgs#kitty" --log-format bar-with-logs
##Copy
sudo rsync -av --copy-links "./kitty.AppImage" "./kitty.AppImage.tmp"
sudo chown -R "$(whoami):$(whoami)" "./kitty.AppImage.tmp" && chmod -R 755 "./kitty.AppImage.tmp"
du -sh "./kitty.AppImage.tmp" && file "./kitty.AppImage.tmp"
##Extract
APPIMAGE="$(realpath .)/kitty.AppImage.tmp" && export APPIMAGE="${APPIMAGE}"
OFFSET="$(${APPIMAGE} --appimage-offset)" && export OFFSET="${OFFSET}"
tail -c +"$(($OFFSET + 1))" "${APPIMAGE}" > "./squash.tmp"
#unsquashfs -force -dest "./squash_tmp/" "./squash.tmp"
"${APPIMAGE}" --appimage-extract >/dev/null && rm -f "${APPIMAGE}"
OWD="$(realpath .)" && export OWD="${OWD}"
APPIMAGE_EXTRACT="$(realpath "./squashfs-root")" && export APPIMAGE_EXTRACT="${APPIMAGE_EXTRACT}"
##Patch
if [ -d "${APPIMAGE_EXTRACT}" ] && [ "$(find "${APPIMAGE_EXTRACT}" -mindepth 1 -print -quit 2>/dev/null)" ]; then
#Media
cd "${APPIMAGE_EXTRACT}"
mkdir -p "./usr/share/applications" && mkdir -p "./usr/share/metainfo"
SHARE_DIR="$(find "." -path '*share/*kitty*' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | awk -F'/share/' '{print $1}')/share" && export SHARE_DIR="${SHARE_DIR}"
#usr/{applications,bash-completion,icons,metainfo,kitty,zsh}
rsync -av --copy-links \
--include="*/" \
--include="*.desktop" \
--include="*.png" \
--include="*.svg" \
--include="*.xml" \
--exclude="*" \
"${SHARE_DIR}/" "./usr/share/" && ls "./usr/share/"
##Appdata/AppStream
# find "." -path '*share/*kitty*' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp {} "./usr/share/metainfo/"' ; cp "./usr/share/metainfo/kitty.metainfo.xml" "./usr/share/metainfo/kitty.appdata.xml"
#Icon
find "." -path '*/apps/*.png' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp "{}" ./kitty.png'
find "." -maxdepth 1 -type f -name '*.svg' -exec sh -c 'convert "$0" "${0%.svg}.png"' {} \; 2>/dev/null
cp "./kitty.png" "./.DirIcon"
##Desktop
find "." -path '*kitty*.desktop' | awk '{ print length, $0 }' | sort -n | cut -d" " -f2- | head -n 1 | xargs -I {} sh -c 'cp {} "./kitty.desktop"'
sed 's/Icon=[^ ]*/Icon=kitty/' -i "./kitty.desktop" 2>/dev/null
#(Re)Pack
cd "${OWD}"
curl -qfsSL "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$(uname -m).AppImage" -o "./appimagetool" && chmod +x "./appimagetool"
ARCH="$(uname -m)" "./appimagetool" --comp "zstd" \
--mksquashfs-opt -root-owned \
--mksquashfs-opt -no-xattrs \
--mksquashfs-opt -noappend \
--mksquashfs-opt -b --mksquashfs-opt "1M" \
--mksquashfs-opt -mkfs-time --mksquashfs-opt "0" \
--mksquashfs-opt -Xcompression-level --mksquashfs-opt "22" \
"${APPIMAGE_EXTRACT}" "$BINDIR/kitty.AppImage"
#Meta
du -sh "$BINDIR/kitty.AppImage" && file "$BINDIR/kitty.AppImage"
#clean
unset APPIMAGE APPIMAGE_EXTRACT OFFSET OWD SHARE_DIR
fi
#Fetch
eval "$EGET_TIMEOUT" eget "$SOURCE_URL" --asset "kitten-linux-amd64" "$EGET_EXCLUDE" --to "$BINDIR/kitten"
#End
nix-collect-garbage >/dev/null 2>&1 ; popd >/dev/null 2>&1
fi
#-------------------------------------------------------#

#-------------------------------------------------------#
##Cleanup
unset SKIP_BUILD ; export BUILT="YES"
#In case of zig polluted env
unset AR CC CFLAGS CXX CPPFLAGS CXXFLAGS DLLTOOL HOST_CC HOST_CXX LDFLAGS LIBS OBJCOPY RANLIB
#In case of go polluted env
unset GOARCH GOOS CGO_ENABLED CGO_CFLAGS
#PKG Config
unset PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH
#-------------------------------------------------------#
8 changes: 8 additions & 0 deletions .github/scripts/x86_64_Linux/bins/kitty.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "kitty"
description: "Cross-platform, fast, feature-rich, GPU based terminal"
web_url: "https://sw.kovidgoyal.net/kitty/"
repo_url: "https://github.com/kovidgoyal/kitty"
path: "/"
bins:
- "kitty.AppImage"
- "kitten"

0 comments on commit cc589f3

Please sign in to comment.