Package Details: citra-git r9329.c7e259366-1

Git Clone URL: (read-only, click to copy)
Package Base: citra-git
Description: An experimental open-source Nintendo 3DS emulator/debugger
Upstream URL:
Licenses: GPL2
Submitter: ceri
Maintainer: timschumi
Last Packager: timschumi
Votes: 72
Popularity: 1.87
First Submitted: 2014-05-01 08:32 (UTC)
Last Updated: 2022-11-09 12:41 (UTC)

Latest Comments

1 2 3 4 5 6 .. 8 Next › Last »

RinSystem commented on 2022-11-10 11:43 (UTC)

Fair enough. Some other jobs seem to run parallel fine but citra in particular only runs on one thread. Will have to look at local stuff more closely, thanks.

timschumi commented on 2022-11-09 12:44 (UTC)

@Epsilon That is probably something that should be discussed with upstream. For now I removed the leftover files from the package manually.

@RinSystem There is already a setting in /etc/makepkg.conf that allows for changing that. Individual PKGBUILD files should not hardcode any settings for parallel compilation.

RinSystem commented on 2022-11-09 11:30 (UTC)

The makepkg for this seems to run on one thread by default. Is this intentional? Could this be run with 'make -j' instead?

Epsilon commented on 2022-11-09 03:24 (UTC) (edited on 2022-11-09 03:31 (UTC) by Epsilon)

This should rely upon robin-map instead of compiling and including it's own causing issues with other packages that rely upon robin-map.

Neko-san commented on 2022-11-08 07:14 (UTC)

The dynarmic submodule causes a compilation error

tjhexf commented on 2022-11-08 02:24 (UTC)

Need to fix submodule fetching, wont build.

mochaa commented on 2022-04-02 13:58 (UTC)

Fix fetching source when insteadOf is set to ssh in gitconfig

diff --git a/PKGBUILD b/PKGBUILD
index 5d78069..568f576 100644
@@ -15,7 +15,7 @@ license=('GPL2')
 makedepends=('git' 'cmake' 'sdl2' 'qt5-base' 'shared-mime-info' 'desktop-file-utils' 'qt5-multimedia')
-        "boost::git+"
+        "boost::git+"

ImperatorStorm commented on 2021-11-04 07:01 (UTC)

Patch to comply with

diff --git a/PKGBUILD b/PKGBUILD
index 76fb6a3..fe765fb 100644
@@ -1,20 +1,60 @@
 # Maintainer: Tim Schumacher <>
 # Contributor: Emmanuel Gil Peyrot <>
 # Contributor: ceri
+# Contributor: Imperator Storm <>
 pkgname=("$_pkgbase-git" "$_pkgbase-qt-git")
 pkgdesc="An experimental open-source Nintendo 3DS emulator/debugger"
 arch=('i686' 'x86_64')
 makedepends=('git' 'cmake' 'sdl2' 'qt5-base' 'shared-mime-info' 'desktop-file-utils' 'qt5-multimedia')
+        "boost::git+"
+        "catch::git+"
+        "cpp-jwt::git+"
+        "cubeb::git+"
+        "discord-rpc::git+"
+        "dynarmic::git+"
+        "enet::git+"
+        "fmt::git+"
+        "libressl::git+"
+        "nihistro::git+"
+        "soundtouch::git+"
+        "teakra::git+"
+        "xbyak::git+"
+        "zstd::git+"
+        "inih::git+"
+        "libusb::git+"
+        "cryptopp::git+"
+        "lodepng::git+"
+        "sanitizers-cmake::git+"
+        "googletest::git+")
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP')

 # Clang generates weird object files when LTO is enabled, breaking static libraries (.a).
 # Force-disable LTO if we are using clang.
@@ -29,10 +69,22 @@ pkgver() {

 prepare() {
    cd "$srcdir/$_pkgbase"
-   mkdir -p build
+   if [[ -d build ]]; then
+      rm -rf build
+    fi
+    mkdir build
    git submodule init
-   git submodule update --init --recursive
+   for external in boost catch cpp-jwt cubeb discord-rpc dynarmic enet fmt libressl nihistro soundtouch teakra xbyak zstd inih libusb cryptopp lodepng
+   do
+   git config submodule.$external.url "$srcdir/$external"
+   done
+   git submodule update
+   # agh, submodule has submodules
+    cd externals/cubeb
+    git submodule init
+    git config submodule.cmake/sanitizers-cmake.url "$srcdir/sanitizers-cmake"
+    git config submodule.googletest.url "$srcdir/googletest"
+    git submodule update

 build() {

timschumi commented on 2021-08-13 09:48 (UTC)

This patch fixes clang builds and builds for those who have lto enabled in their makepkg.conf. The clang fix consists of increasing the bracket-depth in the CXXFLAGS, whilst the lto fix consists of just disabling lto.

I kind of marked the E-Mail notification as read and forgot about it five minutes later. Sorry for that.

I'll look into it and apply the patch if necessary.

Does !lto or lto in makepkg.conf mean it's enabled (doesn't say in the wiki), MUST it be included in the PKGBUILD when used

"lto" means that LTO is enabled, and "!lto" ("not lto") means that it's disabled.