commit 90cbb54868a7b7f89feb0ec90e43ec403e9880e9 Author: Christian Schendel Date: Wed Sep 3 22:27:15 2025 +0200 Initial commit diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..c389113 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = zsh-theme-powerlevel10k + pkgdesc = Powerlevel10k is a theme for Zsh. It emphasizes speed, flexibility and out-of-the-box experience. + pkgver = 1.20.0 + pkgrel = 4 + url = https://github.com/romkatv/powerlevel10k + arch = x86_64 + arch = aarch64 + license = MIT + makedepends = git + makedepends = cmake + depends = glibc + depends = zsh + optdepends = ttf-meslo-nerd-font-powerlevel10k: recommended font + optdepends = powerline-fonts: patched fonts for powerline + optdepends = ttf-font-nerd: full choice of style options + source = git+https://github.com/romkatv/powerlevel10k.git#tag=v1.20.0?signed + source = libgit2-tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6.tar.gz::https://github.com/romkatv/libgit2/archive/tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6.tar.gz + validpgpkeys = 8B060F8B9EB395614A669F2A90ACE942EB90C3DD + sha256sums = 01ea7783665a4bb0deefb9a7ac90e4af867e0a70a275aaaf3b062e114264f92d + sha256sums = 4ce11d71ee576dbbc410b9fa33a9642809cc1fa687b315f7c23eeb825b251e93 + +pkgname = zsh-theme-powerlevel10k diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb708b8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Ignore everything +* + +# But not these files... +!.gitignore +!PKGBUILD +!.SRCINFO +!LICENSE +!chroot-build +!.nvchecker.toml +!/keys +!/keys/pgp +!/keys/pgp/*.asc +!/LICENSES +!/LICENSES/*.txt +!REUSE.toml diff --git a/.nvchecker.toml b/.nvchecker.toml new file mode 100644 index 0000000..d88d21f --- /dev/null +++ b/.nvchecker.toml @@ -0,0 +1,4 @@ +[zsh-theme-powerlevel10k] +source = "git" +git = "https://github.com/romkatv/powerlevel10k.git" +prefix = "v" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b87c5e4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright Arch Linux Contributors + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/LICENSES/0BSD.txt @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..b173f0c --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,100 @@ +# Maintainer: Mark Wagie +# Contributor: Christian Rebischke +# Contributor: Jeff Henson +# Contributor: Ron Asimi +# Contributor: Roman Perepelitsa +pkgname=zsh-theme-powerlevel10k +# Whenever pkgver is updated, _libgit2ver below must also be updated. +pkgver=1.20.0 +_libgit2ver="tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6" +pkgrel=4 +pkgdesc="Powerlevel10k is a theme for Zsh. It emphasizes speed, flexibility and out-of-the-box experience." +arch=('x86_64' 'aarch64') +url='https://github.com/romkatv/powerlevel10k' +license=('MIT') +makedepends=('git' 'cmake') +depends=('glibc' 'zsh') +optdepends=( + 'ttf-meslo-nerd-font-powerlevel10k: recommended font' + 'powerline-fonts: patched fonts for powerline' + 'ttf-font-nerd: full choice of style options') + # It works well with Nerd Fonts, Source Code Pro, Font Awesome, Powerline, + # and even the default system fonts. The full choice of style options is + # available only when using Nerd Fonts. +_commit=35833ea15f14b71dbcebc7e54c104d8d56ca5268 # tags/1.20.0^0 + +# _libgit2ver depends on pkgver. They must be updated together. See libgit2_version in: +# https://raw.githubusercontent.com/romkatv/powerlevel10k/v${pkgver}/gitstatus/build.info +source=( + "git+https://github.com/romkatv/powerlevel10k.git#tag=v${pkgver}?signed" +# "powerlevel10k-${pkgver}.tar.gz::https://github.com/romkatv/powerlevel10k/archive/v${pkgver}.tar.gz" +# "https://github.com/romkatv/powerlevel10k/releases/download/v$pkgver/powerlevel10k-$pkgver.tar.gz.asc" + "libgit2-${_libgit2ver}.tar.gz::https://github.com/romkatv/libgit2/archive/${_libgit2ver}.tar.gz") +sha256sums=('01ea7783665a4bb0deefb9a7ac90e4af867e0a70a275aaaf3b062e114264f92d' + '4ce11d71ee576dbbc410b9fa33a9642809cc1fa687b315f7c23eeb825b251e93') +validpgpkeys=('8B060F8B9EB395614A669F2A90ACE942EB90C3DD') # Roman Perepelitsa + +prepare() { + cd powerlevel10k/gitstatus + + # drop -Werror + # https://github.com/romkatv/powerlevel10k/commit/45627c528b4e3d8949a1e5c72ee3fe7cac516d8d + sed -i 's/-Wall -Werror/-Wall/g' Makefile +} + +build() { + cd "libgit2-${_libgit2ver}" + cmake \ + -DCMAKE_BUILD_TYPE=None \ + -DZERO_NSEC=ON \ + -DTHREADSAFE=ON \ + -DUSE_BUNDLED_ZLIB=ON \ + -DREGEX_BACKEND=builtin \ + -DUSE_HTTP_PARSER=builtin \ + -DUSE_SSH=OFF \ + -DUSE_HTTPS=OFF \ + -DBUILD_CLAR=OFF \ + -DUSE_GSSAPI=OFF \ + -DUSE_NTLMCLIENT=OFF \ + -DBUILD_SHARED_LIBS=OFF \ + -DENABLE_REPRODUCIBLE_BUILDS=ON \ + -Wno-dev \ + . + make + + # build gitstatus + cd "$srcdir/powerlevel10k/gitstatus" + export CXXFLAGS+=" -I${srcdir}/libgit2-${_libgit2ver}/include -DGITSTATUS_ZERO_NSEC -D_GNU_SOURCE" + export LDFLAGS+=" -L${srcdir}/libgit2-${_libgit2ver}" + make +} + +package() { + cd powerlevel10k + find . -type f -exec install -D '{}' "$pkgdir/usr/share/${pkgname}/{}" ';' + + install -d "${pkgdir}/usr/share/licenses/${pkgname}" + ln -s "/usr/share/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}" + + # delete unnecessary files. See also: https://bugs.archlinux.org/task/66737 + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/obj" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/.gitignore" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/.gitattributes" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/src" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/build" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/deps" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/Makefile" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/mbuild" + rm "${pkgdir}/usr/share/${pkgname}/.gitattributes" + rm "${pkgdir}/usr/share/${pkgname}/.gitignore" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/usrbin/.gitkeep" + rm "${pkgdir}/usr/share/${pkgname}/gitstatus/.clang-format" + rm -rf "${pkgdir}/usr/share/${pkgname}/gitstatus/.vscode/" + + cd "${pkgdir}/usr/share/${pkgname}" + for file in *.zsh-theme internal/*.zsh gitstatus/*.zsh gitstatus/install; do + zsh -fc "emulate zsh -o no_aliases && zcompile -R -- $file.zwc $file" + done +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e45b4ff --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,23 @@ +version = 1 + +[[annotations]] +path = [ + "PKGBUILD", + "README.md", + "keys/**", + ".SRCINFO", + ".nvchecker.toml", + ".gitignore", + "*.install", + "*.sysusers", + "*.tmpfiles", + "*.logrotate", + "*.pam", + "*.service", + "*.socket", + "*.timer", + "*.desktop", + "*.hook", +] +SPDX-FileCopyrightText = "Arch Linux contributors" +SPDX-License-Identifier = "0BSD" diff --git a/chroot-build b/chroot-build new file mode 100755 index 0000000..f69cac8 --- /dev/null +++ b/chroot-build @@ -0,0 +1,65 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: Christian Schendel +# SPDX-License-Identifier: 0BSD + +set -euo pipefail +use_tmpfs=true +CHROOT="/tmp/mkarchroot" + +check_available_ram() { + if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then + use_tmpfs=false + fi +} + +create_chroot_directory() { + if [ $use_tmpfs ]; then + sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT + else + sudo mkdir -p "$CHROOT" + fi +} + +create_chroot_environment() { + if [[ ! -d "$CHROOT/root" ]]; then + mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel + fi +} + +build_package(){ + arch-nspawn "$CHROOT/root" pacman -Syu + if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then + makepkg --printsrcinfo >.SRCINFO + else + delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1 + fi +} + +sign_package(){ + PACKAGE="$(makepkg --packagelist)" + gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE" +} + +delete_chroot_environment() { + if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then + { + sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables" + sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines" + sudo btrfs subvolume delete "$CHROOT/root" + sudo rm -Rf $CHROOT + } >>/dev/null 2>&1 + elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then + sudo umount -f $CHROOT + fi + sudo rm -Rf $CHROOT +} + +check_available_ram +create_chroot_directory +create_chroot_environment +build_package +sign_package +delete_chroot_environment + +# vim: set ts=4 sw=4 et: diff --git a/keys/pgp/8B060F8B9EB395614A669F2A90ACE942EB90C3DD.asc b/keys/pgp/8B060F8B9EB395614A669F2A90ACE942EB90C3DD.asc new file mode 100644 index 0000000..29d612c --- /dev/null +++ b/keys/pgp/8B060F8B9EB395614A669F2A90ACE942EB90C3DD.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +7aF+yp1PGGQ24Sw= +=2mHh +-----END PGP PUBLIC KEY BLOCK-----