Skip to content

Commit

Permalink
feat(ares-emu-git): update
Browse files Browse the repository at this point in the history
  • Loading branch information
xiota committed Dec 31, 2024
1 parent eba272a commit c0ee88d
Show file tree
Hide file tree
Showing 6 changed files with 173 additions and 94 deletions.
2 changes: 0 additions & 2 deletions ares-emu-git/.CI/config
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
BUILDER_CACHE_SOURCES=true
CI_PACKAGE_BUMP=141.r34.g4691971-1/2
CI_PKGBUILD_SOURCE=https://aur.archlinux.org/ares-emu-avx-git.git
15 changes: 12 additions & 3 deletions ares-emu-git/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,34 +1,43 @@
pkgbase = ares-emu-avx-git
pkgdesc = Multi-system emulator focused on accuracy and preservation
pkgver = 138.r54.gfc7cdb5
pkgver = 141.r46.g8433666
pkgrel = 1
url = https://github.com/ares-emulator/ares
arch = x86_64
license = ISC
makedepends = clang
makedepends = cmake
makedepends = git
makedepends = lld
makedepends = mesa
makedepends = ninja
depends = gtk3
depends = libao
depends = libgl
depends = libpulse
depends = librashader
depends = libretro-shaders
depends = libudev.so
depends = openal
depends = sdl2
provides = ares-emu=138
provides = ares-emu=141
conflicts = ares-emu
source = ares-emu::git+https://github.com/ares-emulator/ares.git
source = PKGBUILD.git
source = PKGBUILD.stable
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP

pkgname = ares-emu-avx-git
depends = gtk3
depends = libao
depends = libgl
depends = libpulse
depends = librashader
depends = libretro-shaders
depends = libudev.so
depends = openal
depends = sdl2
depends = librashader
depends = vulkan-driver
depends = vulkan-icd-loader
4 changes: 4 additions & 0 deletions ares-emu-git/.nvchecker.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[ares-emu-avx-git]
source = "git"
git = "https://github.com/ares-emulator/ares.git"
prefix = "v"
101 changes: 12 additions & 89 deletions ares-emu-git/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Maintainer:

## useful links
## links
# https://ares-emu.net/
# https://github.com/ares-emulator/ares

Expand All @@ -15,101 +15,24 @@ unset _pkgtype
# basic info
_pkgname="ares-emu"
pkgname="$_pkgname${_pkgtype:-}"
pkgver=138.r54.gfc7cdb5
pkgver=141.r46.g8433666
pkgrel=1
pkgdesc="Multi-system emulator focused on accuracy and preservation"
url="https://github.com/ares-emulator/ares"
license=("ISC")
arch=('x86_64')

depends=(
'gtk3'
'libao'
'libgl'
'libpulse'
'libudev.so' # systemd-libs
'openal'
'sdl2'
)
makedepends=(
'clang'
'git'
'lld'
'mesa'
)

if [ "${_build_git::1}" != "t" ]; then
_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git")
sha256sums=("SKIP")

prepare() {
cd "$_pkgsrc"
_tag=$(git tag | grep -Ev '[A-Za-z]{2}' | sort -rV | head -1)
git checkout -f "$_tag"
}

pkgver() {
cd "$_pkgsrc"
git describe --tag | sed -E 's/^[^0-9]+//'
}
source "PKGBUILD.stable"
else
provides=("$_pkgname=${pkgver%%.r*}")
conflicts=("$_pkgname")

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git")
sha256sums=("SKIP")

pkgver() {
cd "$_pkgsrc"
git describe --long --tags --abbrev=7 --exclude='*[a-zA-Z][a-zA-Z]*' \
| sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g'
}
source "PKGBUILD.git"
fi

build() {
export CC CXX CFLAGS CXXFLAGS LDFLAGS
CC=clang
CXX=clang++
LDFLAGS+=" -fuse-ld=lld"

if [[ "${_build_avx::1}" == "t" ]]; then
CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
fi

# respect compiler flags
find "$_pkgsrc" -name "GNUmakefile" -exec sed -E -e 's@^(\s*)\b(flags \+=) -march=.*$@\1\2 -Qunused-arguments '"${CXXFLAGS}"'@' -i {} \;

# respect linker flags
find "$_pkgsrc" -name "GNUmakefile" -exec sed -E -e 's&(\+@\$\(compiler\))&\1 -Qunused-arguments '"${LDFLAGS}"' &' -i {} \;

make -C "$_pkgsrc/desktop-ui" hiro=gtk3 compiler=clang++ build=optimized
}

package() {
depends+=(
'librashader'
'vulkan-driver'
'vulkan-icd-loader'
)

# exec
install -Dm755 "$_pkgsrc/desktop-ui/out/ares" -t "$pkgdir/usr/bin/"

# icon, launcher
install -Dm644 "$_pkgsrc/desktop-ui/resource/ares.png" -t "$pkgdir/usr/share/pixmaps/"
install -Dm644 "$_pkgsrc/desktop-ui/resource/ares.desktop" -t "$pkgdir/usr/share/applications/"

# shaders and databases
install -dm755 "$pkgdir/usr/share/ares"
cp --reflink=auto -a "$_pkgsrc/thirdparty/slang-shaders/" "$pkgdir/usr/share/ares/Shaders/"
cp --reflink=auto -a "$_pkgsrc/mia/Database/" "$pkgdir/usr/share/ares/Database/"

# license
install -Dm644 "$_pkgsrc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

# permissions
chmod -R u+rwX,go+rX,go-w "$pkgdir/"
}
source+=(
'PKGBUILD.git'
'PKGBUILD.stable'
)
sha256sums+=(
'SKIP'
'SKIP'
)
69 changes: 69 additions & 0 deletions ares-emu-git/PKGBUILD.git
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
depends=(
'gtk3'
'libao'
'libgl'
'libpulse'
'librashader' # AUR
'libretro-shaders'
'libudev.so' # systemd-libs
'openal'
'sdl2'
)
makedepends=(
'clang'
'cmake'
'git'
'lld'
'mesa'
'ninja'
)

provides=("$_pkgname=${pkgver%%.r*}")
conflicts=("$_pkgname")

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git")
sha256sums=("SKIP")

pkgver() {
cd "$_pkgsrc"
git describe --long --tags --abbrev=7 --exclude='*[a-zA-Z][a-zA-Z]*' \
| sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g'
}

build() {
export CC CXX CFLAGS CXXFLAGS LDFLAGS
CC=clang
CXX=clang++
LDFLAGS+=" -fuse-ld=lld"

if [[ "${_build_avx::1}" == "t" ]]; then
CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
fi

local _cmake_options=(
-B build
-S "$_pkgsrc"
-G Ninja
-DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_PREFIX='/usr'
-DARES_BUNDLE_SHADERS=OFF
-DARES_SKIP_DEPS=ON
-DBUILD_TESTING=OFF
-Wno-dev
)

cmake "${_cmake_options[@]}"
cmake --build build
}

package() {
depends+=(
'vulkan-driver'
'vulkan-icd-loader'
)

DESTDIR="$pkgdir" cmake --install build
install -Dm644 "$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
76 changes: 76 additions & 0 deletions ares-emu-git/PKGBUILD.stable
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
depends=(
'gtk3'
'libao'
'libgl'
'libpulse'
'libudev.so' # systemd-libs
'openal'
'sdl2'
)
makedepends=(
'clang'
'git'
'lld'
'mesa'
)

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git")
sha256sums=("SKIP")

prepare() {
cd "$_pkgsrc"
_tag=$(git tag | grep -Ev '[A-Za-z]{2}' | sort -rV | head -1)
git checkout -f "$_tag"
}

pkgver() {
cd "$_pkgsrc"
git describe --tag | sed -E 's/^[^0-9]+//'
}

build() {
export CC CXX CFLAGS CXXFLAGS LDFLAGS
CC=clang
CXX=clang++
LDFLAGS+=" -fuse-ld=lld"

if [[ "${_build_avx::1}" == "t" ]]; then
CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
fi

# respect compiler flags
find "$_pkgsrc" -name "GNUmakefile" -exec sed -E -e 's@^(\s*)\b(flags \+=) -march=.*$@\1\2 -Qunused-arguments '"${CXXFLAGS}"'@' -i {} \;

# respect linker flags
find "$_pkgsrc" -name "GNUmakefile" -exec sed -E -e 's&(\+@\$\(compiler\))&\1 -Qunused-arguments '"${LDFLAGS}"' &' -i {} \;

make -C "$_pkgsrc/desktop-ui" hiro=gtk3 compiler=clang++ build=optimized
}

package() {
depends+=(
'librashader'
'vulkan-driver'
'vulkan-icd-loader'
)

# exec
install -Dm755 "$_pkgsrc/desktop-ui/out/ares" -t "$pkgdir/usr/bin/"

# icon, launcher
install -Dm644 "$_pkgsrc/desktop-ui/resource/ares.png" -t "$pkgdir/usr/share/pixmaps/"
install -Dm644 "$_pkgsrc/desktop-ui/resource/ares.desktop" -t "$pkgdir/usr/share/applications/"

# shaders and databases
install -dm755 "$pkgdir/usr/share/ares"
cp --reflink=auto -a "$_pkgsrc/thirdparty/slang-shaders/" "$pkgdir/usr/share/ares/Shaders/"
cp --reflink=auto -a "$_pkgsrc/mia/Database/" "$pkgdir/usr/share/ares/Database/"

# license
install -Dm644 "$_pkgsrc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

# permissions
chmod -R u+rwX,go+rX,go-w "$pkgdir/"
}

0 comments on commit c0ee88d

Please sign in to comment.