Skip to content

Instantly share code, notes, and snippets.

@Elinvention
Created April 15, 2019 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Elinvention/12d11825c6fefee0c5ff714bf3d89b63 to your computer and use it in GitHub Desktop.
Save Elinvention/12d11825c6fefee0c5ff714bf3d89b63 to your computer and use it in GitHub Desktop.
yuzu-qt-git PKGBUILD
# Maintainer: Zion Nimchuk <zionnimchuk@gmail.com>
_pkgbase='yuzu'
pkgbase="$_pkgbase-git"
pkgname=("$_pkgbase-git" "$_pkgbase-qt-git")
pkgver=r11307.1f4dfb399
pkgrel=1
pkgdesc="An experimental open-source Nintendo Switch emulator/debugger"
arch=('i686' 'x86_64')
url="https://github.com/yuzu-emu/yuzu/"
license=('GPL2')
makedepends=('git' 'cmake' 'sdl2' 'qt5-base' 'shared-mime-info' 'desktop-file-utils' 'python2')
source=("$_pkgbase::git+https://github.com/yuzu-emu/yuzu"
'git+https://github.com/yuzu-emu/ext-boost'
'git+https://github.com/philsquared/Catch'
'git+https://github.com/MerryMage/dynarmic'
'git+https://github.com/herumi/xbyak'
'git+https://github.com/fmtlib/fmt'
'git+https://github.com/svn2github/inih'
'git+https://github.com/yuzu-emu/unicorn'
'git+https://github.com/lz4/lz4'
'git+https://github.com/ogniK5377/opus'
'git+https://github.com/DarkLordZach/mbedtls'
'git+https://github.com/kinetiknz/cubeb'
# Add new sirit submodule (https://github.com/yuzu-emu/yuzu/pull/2235)
'git+https://github.com/ReinUsesLisp/sirit.git'
# sirit submodule dependencies
'git+https://github.com/KhronosGroup/SPIRV-Headers.git'
# cubeb submodule dependencies
'git+https://github.com/arsenm/sanitizers-cmake')
md5sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
pkgver() {
cd "$srcdir/$_pkgbase"
echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}
prepare() {
cd "$srcdir/$_pkgbase"
mkdir -p build
git submodule init
git config submodule.boost.url "$srcdir/ext-boost"
git config submodule.catch.url "$srcdir/Catch"
git config submodule.dynarmic.url "$srcdir/dynarmic"
git config submodule.xbyak.url "$srcdir/xbyak"
git config submodule.fmt.url "$srcdir/fmt"
git config submodule.inih.url "$srcdir/inih"
git config submodule.unicorn.url "$srcdir/unicorn"
git config submodule.opus.url "$srcdir/opus"
git config submodule.mbedtls.url "$srcdir/mbedtls"
git config submodule.cubeb.url "$srcdir/cubeb"
git config submodule.sirit.url "$srcdir/sirit"
git submodule update
cd externals/cubeb
git config submodule.cmake/sanitizers-cmake.url "$srcdir/sanitizers-cmake"
git submodule update
cd ../sirit
git config submodule.SPIRV-Headers.url "$srcdir/SPIRV-Headers"
git submodule update --init # not sure why I need --init here
}
build() {
cd "$srcdir/$_pkgbase/build"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release
make
}
package_yuzu-git() {
depends=('sdl2' 'libpng')
install -Dm755 "$srcdir/$_pkgbase/build/bin/yuzu-cmd" "$pkgdir/usr/bin/${_pkgbase}-cmd"
}
package_yuzu-qt-git() {
depends=('qt5-base' 'sdl2' 'shared-mime-info' 'desktop-file-utils')
optdepends=('libxkbcommon-x11: for X11 support'
'qt5-wayland: for Wayland support')
cd "$srcdir/$_pkgbase/build"
# screw cubeb and it's shitty cmake
mkdir -p "$srcdir/$_pkgbase/include/cubeb"
make DESTDIR="$pkgdir/" install
rm "$pkgdir/usr/bin/${_pkgbase}-cmd"
}
@ShalokShalom
Copy link

Hi there and thanks for this fix. Do you know why all these git sources exist? Why not casual packages?

@Elinvention
Copy link
Author

No I don't. In fact I don't know much about AUR packages in general... but I guess this way is easier to make the package.

@ShalokShalom
Copy link

You simply use the names of the dependencies in the depends= line instead. In 6 years, I have never seen such a package and I am uncertain what or whatnot could happen by doing so. Especially considering colliding libraries, when you load them next to each other.
https://wiki.archlinux.org/index.php/PKGBUILD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment