summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXenHat2023-10-13 22:10:50 -0400
committerXenHat2023-10-13 22:10:50 -0400
commite15f0004e01fb3c3bf31a719314ce6328be6bd89 (patch)
tree3333d9b9f78cd96b542e9519348750c3cf124057
parent6ccdca8044b970058a46af9f263db8bd6a65cd31 (diff)
downloadaur-e15f0004e01fb3c3bf31a719314ce6328be6bd89.tar.gz
new template
-rwxr-xr-xPKGBUILD158
1 files changed, 0 insertions, 158 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 1a54180d298c..8987683ece30 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,161 +1,3 @@
-# Maintainer: Xenhat Hex (aur@xenh.at)
-# Contributor: Justin Jagieniak <justin@jagieniak.net>
-# Contributor: Rye Mutt
-#
-# shellcheck disable=2034,3030,2154
-pkgname=alchemy-next-viewer-nosystemd-git
-pkgver=7.0.53233.2078abd1ba
-pkgrel=1
-pkgdesc="A Second Life client with focus on performance and code correctness."
-arch=('x86_64')
-license=('LGPL')
-options=('!buildflags' '!lto' '!strip')
-url="https://www.alchemyviewer.org"
-depends=(glu libgl libiconv libidn libjpeg-turbo libpng libxss libxml2 mesa nss openal sdl2 vlc xdg-desktop-portal zlib)
-makedepends=('gcc' 'python-virtualenv' 'python-pip' 'git' 'xz')
-optdepends=(
- 'alsa-lib: ALSA support'
- 'freealut: OpenAL support'
- 'gamemode: Gamemode support'
- 'lib32-libidn11: SLVoice support'
- 'lib32-libsndfile: SLVoice support'
- 'lib32-util-linux: SLVoice support'
- 'lib32-gstreamer0.10: SLVoice support'
- 'libpulse: PulseAudio support'
- 'mesa-libgl: Intel, Radeon, Nouveau support'
- 'nvidia-libgl: NVIDIA support'
- 'nvidia-utils: NVIDIA support'
- 'wine: More up-to-date, less buggy SLVoice support'
-)
-provides=('alchemy-viewer')
-install=alchemy.install
-source=("${pkgname}"::'git+https://git.alchemyviewer.org/alchemy/alchemy-next.git#branch='"${AL_BRANCH_OVERRIDE:-main}")
-sha256sums=('SKIP')
-_distname="Alchemy-Config-NoSystemd"
-
# template start; name=nosystemd-git; version=1.0;
-depends+=(libelogind)
-conflicts+=("alchemy-next-viewer-systemd-git")
-
-# template start; name=pkgver; version=1.0;
-pkgver() {
- cd "${pkgname}" || exit 1
- (
- set -o pipefail
- vwr_version=$(cat indra/newview/VIEWER_VERSION.txt)
- rev=$(git rev-list --count HEAD)
- short=$(git rev-parse --short HEAD)
- printf "%s.%s.%s" "${vwr_version}" "${rev}" "${short}"
-)
-}
-# template end;
-
-# template start; name=prepare; version=1.0;
-prepare() {
- cd ${srcdir} || exit
- echo "Creating virtual environment in $PWD"
- virtualenv ".venv" -p python3
- source "${srcdir}/.venv/bin/activate"
-
- echo "Installing build toolchain..."
- pip3 install --upgrade certifi --quiet
- pip3 install --upgrade llbase --quiet
- pip3 install --no-cache --upgrade autobuild --quiet
- pip3 install --upgrade cmake ninja
-}
# template end;
-# template start; name=build; version=1.0;
-build() {
- cd "${pkgname}" || exit 1
- source "${srcdir}/.venv/bin/activate"
- if command -v schedtool >/dev/null 2>&1; then
- # Set current shell and all descendents as SCHED_BATCH, see schedtool(8)
- schedtool -B $$
- prefix_cmd='schedtool -B -n20 -e '
- fi
- build_jobs=$(nproc)
- if [[ -z "$NO_SMART_JOB_COUNT" ]]; then
- if [[ ${build_jobs} -gt 1 ]]; then
- jobs=1
- # The viewer requires an average of 2GB of memory per core to link
- # Note: Behaviour change compared to the previous versions:
- # This script will no longer try to allocate build memory into swap
- # This is bad practice, and swap should be reserved to evict process
- # memory from physical ram to make place for the current workset.
- # This script will now try to check if swap is present and sufficent
- # for the current used memory to be stored in swap before allocating,
- # and will fallback to conservative allocation if swap is not available
- gigperlinkprocess=2
- mempercorekb=$((gigperlinkprocess * 1048576))
- requiredmemorykb=$(($(nproc) * mempercorekb))
- free_output="$(free --kilo --total | tail -n+2 | tr -s ' ')"
- physical_output=$(grep "Mem:" <<<"$free_output")
- #total_output=$(grep Total: <<< "$free_output")
- usedmemorykbphysical=$(cut -d ' ' -f 3 <<<"$physical_output")
- totalmemorykbphysical=$(cut -d ' ' -f 2 <<<"$physical_output")
- swap_output=$(grep Swap: <<<"$free_output")
- # Determine available swap space
- availableswapkb=0
- if [[ -n "$swap_output" ]]; then
- availableswapkb=$(cut -d ' ' -f 4 <<<"$swap_output")
- fi
- availablememorykbphysical=$(cut -d ' ' -f 7 <<<"$free_output")
- echo "Total memory: $totalmemorykbphysical (includes swap)"
- echo "Available memory: $availablememorykbphysical"
- echo "Required memory: $requiredmemorykb"
- echo "Available physical memory on this system: $((availablememorykbphysical / 1024 / 1024)) GB"
- echo "Estimated required memory to build with all cores: $((requiredmemorykb / 1024 / 1024)) GB"
- if [[ ${requiredmemorykb} -gt ${availablememorykbphysical} ]]; then
- echo "Warning: Not enough available physical memory to build with all cores"
- if [[ ${usedmemorykbphysical} -lt ${availableswapkb} ]]; then
- # use all physical ram as swap will do its job
- echo "There is enough free swap to store the currently used memory"
- jobs=$(((totalmemorykbphysical / 1024 / 1024) / gigperlinkprocess))
- else
- # Not enough swap to hold ram contents, calculate manually
- echo "Allocating build jobs according to available physical memory ("$((availablememorykbphysical / 1024 / 1024))"/"$((requiredmemorykb / 1024 / 1024))"GB)..."
- # FIXME: Goes one iteration beyond what it should
- while [[ $((jobs * mempercorekb)) -lt ${availablememorykbphysical} ]]; do
- jobs=$((jobs + 1))
- echo -e "${jobs} jobs would consume $(((jobs * mempercorekb) / 1024 / 1024))GB"
- done
- # Back off one job count. Not sure why I have to do this but
- # the loop is doing one extra iteration.
- jobs=$((jobs - 1))
- fi
- build_jobs=${jobs}
- echo "Computed job count: ${build_jobs}"
- fi
- fi
- fi
- export AUTOBUILD_CPU_COUNT=$build_jobs
- AL_CMAKE_CONFIG=(
- -DLL_TESTS:BOOL=ON
- -DDISABLE_FATAL_WARNINGS=ON
- -DUSE_LTO:BOOL=OFF
- -DVIEWER_CHANNEL="Alchemy Test"
- )
- echo "BUILDENV: ${BUILDENV[*]}"
- if [[ " ${BUILDENV[*]} " =~ ' ccache ' ]] && command -v ccache; then
- echo "------ Will Use CCACHE ------"
- CMAKE_CXX_COMPILER_LAUNCHER="$(which ccache)"
- export CMAKE_CXX_COMPILER_LAUNCHER
- fi
- $prefix_cmd autobuild configure -A 64 -c ReleaseOS -- "${AL_CMAKE_CONFIG[@]}"
- echo "Building with ${AUTOBUILD_CPU_COUNT} jobs (adjusted)"
- $prefix_cmd autobuild build -A64 -c ReleaseOS --no-configure
- }
-# template end;
-
-# template start; name=package; version=1.0;
-package() {
- mkdir -p "${pkgdir}/opt"
- mkdir -p "${pkgdir}/usr/local/share/applications"
- # Patch shortcut to avoid duplicated entries
- sed -i 's;Name=Alchemy;Name=Alchemy (git build);' "${pkgname}/build-linux-64/newview/packaged/etc/refresh_desktop_app_entry.sh"
- sed -i 's;alchemy-viewer\.desktop;'"${pkgname}\.desktop"';' "${pkgname}/build-linux-64/newview/packaged/etc/refresh_desktop_app_entry.sh"
- mv "${pkgname}/build-linux-64/newview/packaged" "${pkgdir}/opt/${pkgname}"
-}
-# template end;
-# template end;