Package Base Details: citra-git

Git Clone URL: https://aur.archlinux.org/citra-git.git (read-only, click to copy)
Submitter: ceri
Maintainer: HurricanePootis
Last Packager: HurricanePootis
Votes: 73
Popularity: 0.37
First Submitted: 2014-05-01 08:32 (UTC)
Last Updated: 2023-06-06 04:56 (UTC)

Latest Comments

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

noabody commented on 2023-05-08 00:56 (UTC)

FYI: Build fails when package robin-map is installed on system. It's an upstream issue of some sort. robin-map isn't really used by anything that I can see. Probably easier to just remove it.

CMake Error at src/video_core/CMakeLists.txt:130 (target_link_libraries):
  Target "video_core" links to:

    tsl::robin_map

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

archang commented on 2023-04-26 21:13 (UTC)

The lastest commit has changed the URL of submodule SoundTouch to https://codeberg.org/soundtouch/soundtouch.git

marc00077 commented on 2023-04-18 18:43 (UTC)

Thanks!

HurricanePootis commented on 2023-04-17 03:07 (UTC)

@marc00077 I fixed it

marc00077 commented on 2023-04-16 23:43 (UTC) (edited on 2023-04-16 23:46 (UTC) by marc00077)

Build fails for me with the following error: In file included from /home/xxxx/citra-git/src/citra/externals/dynarmic/src/dynarmic/backend/block_range_information.cpp:6: /home/xxxx/citra-git/src/citra/externals/dynarmic/src/dynarmic/../dynarmic/backend/block_range_information.h:12:10: fatal error: tsl/robin_set.h: No such file or directory 12 | #include <tsl/robin_set.h> | ^~~~~~~~~~~~~~~~~

Tested without using aur wrappers. Any ideas?

HurricanePootis commented on 2023-04-11 16:58 (UTC)

Thanks

timschumi commented on 2023-04-11 15:43 (UTC)

To be honest, I thought that I already disowned that package a long time ago since I no longer regularly use Citra. I added you as a comaintainer, let's see if that sticks if I disown the package now.

HurricanePootis commented on 2023-04-11 06:21 (UTC) (edited on 2023-04-11 07:28 (UTC) by HurricanePootis)

Hey, I am the maintainer of citra-canary-git, and I took a look at your PKGBUILD, and I'd thought it would be better of ours looked a like. Mainly, the changes I did were the the sources(), more accurate depends() and makedepends(), use GCC by default (that's what upstream does for yuzu and citra), and have a more explicit and updated set of building options, like using system libraries for more stuff.

I hope you enjoy my contribution, and I myself wouldn't mind being a citra-git co-maintainer, as I already co-maintain yuzu-mainline-git, and I already mentioned citra-canary-git. I have experience and talk with the yuzu team from time to time to make sure my PKGBUILDs are up to date

diff --git a/PKGBUILD b/PKGBUILD
index 3f518c3..12e0b87 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,123 +6,138 @@
 _pkgbase='citra'
 pkgbase="$_pkgbase-git"
 pkgname=("$_pkgbase-git" "$_pkgbase-qt-git")
-pkgver=r9391.9c6035f25
+pkgver=r9504.ddde883a5
 pkgrel=1
 pkgdesc="An experimental open-source Nintendo 3DS emulator/debugger"
 arch=('i686' 'x86_64')
 url="https://github.com/citra-emu/citra/"
 license=('GPL2')
-depends=('ffmpeg')
-makedepends=('git' 'cmake' 'sdl2' 'qt5-base' 'shared-mime-info' 'desktop-file-utils' 'qt5-multimedia')
-source=("$_pkgbase::git+https://github.com/citra-emu/citra"
-        "boost::git+https://github.com/citra-emu/ext-boost/"
-        "catch::git+https://github.com/catchorg/Catch2"
-        "cpp-jwt::git+https://github.com/arun11299/cpp-jwt"
-        "cubeb::git+https://github.com/mozilla/cubeb"
-        "discord-rpc::git+https://github.com/discord/discord-rpc"
-        "dynarmic::git+https://github.com/merryhime/dynarmic"
-        "enet::git+https://github.com/lsalzman/enet"
-        "fmt::git+https://github.com/fmtlib/fmt"
-        "libressl::git+https://github.com/citra-emu/ext-libressl-portable"
-        "nihistro::git+https://github.com/neobrain/nihstro"
-        "soundtouch::git+https://github.com/citra-emu/ext-soundtouch"
-        "teakra::git+https://github.com/wwylele/teakra"
-        "xbyak::git+https://github.com/herumi/xbyak"
-        "zstd::git+https://github.com/facebook/zstd"
-        "inih::git+https://github.com/benhoyt/inih"
-        "libusb::git+https://github.com/libusb/libusb"
-        "cryptopp::git+https://github.com/weidai11/cryptopp"
-        "lodepng::git+https://github.com/lvandeve/lodepng"
-        "sanitizers-cmake::git+https://github.com/arsenm/sanitizers-cmake"
-        "googletest::git+https://github.com/google/googletest")
-sha256sums=('SKIP'
-            '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.
-if [ "$CXX" = "clang++" ]; then
-   options=('!lto')
-fi
+depends=('ffmpeg' 'boost-libs' 'speexdsp')
+makedepends=('git' 'cmake' 'python' 'doxygen' 'rapidjson' 'llvm' 'boost' 'qt5-tools')
+source=("$_pkgbase::git+https://github.com/citra-emu/citra.git"
+        "boost::git+https://github.com/citra-emu/ext-boost.git"
+        "nihstro::git+https://github.com/neobrain/nihstro.git"
+        "soundtouch::git+https://github.com/citra-emu/ext-soundtouch.git"
+        "catch2::git+https://github.com/catchorg/Catch2"
+        "dynarmic::git+https://github.com/merryhime/dynarmic.git"
+        "git+https://github.com/herumi/xbyak.git"
+        "git+https://github.com/fmtlib/fmt.git"
+        "git+https://github.com/lsalzman/enet.git"
+        "git+https://github.com/benhoyt/inih.git"
+        "libressl::git+https://github.com/citra-emu/ext-libressl-portable.git"
+        "git+https://github.com/libusb/libusb.git"
+        "git+https://github.com/mozilla/cubeb"
+        "git+https://github.com/discord/discord-rpc.git"
+        "git+https://github.com/arun11299/cpp-jwt.git"
+        "git+https://github.com/wwylele/teakra.git"
+        "git+https://github.com/lvandeve/lodepng.git"
+        "git+https://github.com/facebook/zstd.git"
+        "git+https://github.com/lemenkov/libyuv.git"
+        "sdl2::git+https://github.com/libsdl-org/SDL"
+        "git+https://github.com/abdes/cryptopp-cmake.git"
+        "git+https://github.com/weidai11/cryptopp.git"
+        # cubeb's submodule
+        "git+https://github.com/google/googletest"
+        "git+https://github.com/arsenm/sanitizers-cmake"
+        #dynarmic's zydis submodule
+        "zycore::git+https://github.com/zyantific/zycore-c"
+        )
+md5sums=('SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         'SKIP'
+         '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)"
+    cd "$srcdir/$_pkgbase"
+    echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
 }

 prepare() {
-   cd "$srcdir/$_pkgbase"
-
-   if [[ -d build ]]; then
-       rm -rf build
-   fi
-   mkdir build
-
-   git submodule init
-   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 -c protocol.file.allow=always 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 -c protocol.file.allow=always submodule update
+    cd "$srcdir/$_pkgbase"
+    for submodule in {boost,nihstro,soundtouch,catch2,dynarmic,xbyak,fmt,enet,libressl,cubeb,discord-rpc,cpp-jwt,teakra,zstd,libyuv,cryptopp-cmake,cryptopp,sdl2,lodepng,libusb,inih};
+    do
+    git config --file=.gitmodules submodule.${submodule}.url "$srcdir/${submodule}"
+    done
+    git -c protocol.file.allow=always submodule update --init
+
+    cd "$srcdir/$_pkgbase/externals/cubeb"
+    git config --file=.gitmodules submodule.googletest.url "$srcdir/googletest"
+    git config --file=.gitmodules submodule."cmake/sanitizers-cmake".url "$srcdir/sanitizers-cmake"
+    git -c protocol.file.allow=always submodule update --init
+
+    cd "$srcdir/$_pkgbase/externals/dynarmic/externals/zydis"
+    git config --file=.gitmodules submodule.dependencies/zycore.url "$srcdir/zycore"
+    git -c protocol.file.allow=always submodule update --init
 }

 build() {
-   cd "$srcdir/$_pkgbase/build"
-
-   # Bump the expression nesting limit for clang
-   if [ "$CXX" = "clang++" ]; then
-       CXXFLAGS+=" -fbracket-depth=649"
-   fi
-
-   cmake .. \
-     -DCMAKE_INSTALL_PREFIX=/usr \
-     -DCMAKE_BUILD_TYPE=Release \
-     -DENABLE_FFMPEG_AUDIO_DECODER=ON \
-     -DUSE_SYSTEM_CURL=ON
-   make
+    cd "$srcdir/"
+    
+    # Trick the compiler into thinking we're building from a continuous
+    # integration tool so the build number is correctly shown in the title
+    #export CI=true
+    #export TRAVIS=true
+    #export TRAVIS_REPO_SLUG=citra-emu/citra-canary
+    #export TRAVIS_TAG=$(git describe --tags)
+    
+    # Fix to help cmake find libusb
+    CXXFLAGS+=" -I/usr/include/libusb-1.0"
+    
+    [[ -d build ]] && rm -rf build
+
+    cmake -B build -S "$_pkgbase" \
+      -DCMAKE_INSTALL_PREFIX=/usr \
+      -DCMAKE_BUILD_TYPE=Release \
+      -DENABLE_QT_TRANSLATION=ON \
+      -DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON \
+      -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
+      -DUSE_DISCORD_PRESENCE=ON \
+      -DENABLE_FFMPEG_VIDEO_DUMPER=ON \
+      -DENABLE_FFMPEG_AUDIO_DECODER=ON \
+      -DUSE_SYSTEM_BOOST=ON \
+      -DUSE_SYSTEM_SDL2=ON \
+      -Wno-dev
+
+    cmake --build build   
 }

 check() {
-   cd "$srcdir/$_pkgbase/build"
-   make test
+    ctest --test-dir build
 }

 package_citra-git() {
-   depends=('sdl2' 'libpng')
+   depends+=('sdl2' 'libpng')

-   install -Dm755 "$srcdir/$_pkgbase/build/bin/Release/citra" "$pkgdir/usr/bin/citra"
+   install -Dm755 "$srcdir/build/bin/Release/citra" "$pkgdir/usr/bin/citra"
 }

 package_citra-qt-git() {
-   depends=('qt5-base' 'qt5-multimedia' 'sdl2' 'shared-mime-info' 'desktop-file-utils')
+   depends+=('qt5-base' 'qt5-multimedia' 'sdl2' 'shared-mime-info' 'desktop-file-utils' 'hicolor-icon-theme')
    optdepends=('libxkbcommon-x11: for X11 support'
                'qt5-wayland: for Wayland support')

-   cd "$srcdir/$_pkgbase/build"
+   cd "$srcdir/build"
    make DESTDIR="$pkgdir/" install
    rm "$pkgdir/usr/bin/citra"

Epsilon commented on 2023-01-17 17:22 (UTC) (edited on 2023-01-17 17:24 (UTC) by Epsilon)

It also conflicts with xbyak and dynarmic. Full conflict list https://pastebin.com/Pq8Zd1Tp