Hey everyone, how do I make it so a PKGBUILD will do a recursive git clone?
source=('citra::git+https://github.com/citra-emu/citra.git#recursive')
sha256sums=('SKIP')
#recursive doesn't work, I thought it might since #branch=medusa works for medusa-emu.
And then I've got this going on too, this strange class QAction error thing. Any ideas what might be causing this?
/home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp: In constructor ‘QGBA::LoadSaveState::LoadSaveState(std::shared_ptr<QGBA::CoreController>, QWidget*)’:
/home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:59:36: error: invalid use of incomplete type ‘class QAction’
QAction* escape = new QAction(this);
^
In file included from /usr/include/qt/QtWidgets/QWidget:1,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.h:8,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:6:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of ‘class QAction’
class QAction;
^~~~~~~
/home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:60:28: error: incomplete type ‘QAction’ used in nested name specifier
connect(escape, &QAction::triggered, this, &QWidget::close);
^~~~~~~~~
/home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:61:8: error: invalid use of incomplete type ‘class QAction’
escape->setShortcut(QKeySequence("Esc"));
^~
In file included from /usr/include/qt/QtWidgets/QWidget:1,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.h:8,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:6:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of ‘class QAction’
class QAction;
^~~~~~~
/home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:62:8: error: invalid use of incomplete type ‘class QAction’
escape->setShortcutContext(Qt::WidgetWithChildrenShortcut);
^~
In file included from /usr/include/qt/QtWidgets/QWidget:1,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.h:8,
from /home/user/Compiles/medusa-emu-fresh/src/medusa/src/platform/qt/LoadSaveState.cpp:6:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of ‘class QAction’
class QAction;
Do you mean submodules ?
If so here is example:
https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git_Submodules
QAction... it could be caused by different Qt version, probably you should include header containing QAction class,
or ask their support / devs to fix it
Thanks SGOrava, I have found a fix for the --recursive option by adding this:
git submodule update --init --recursive
How does one include a header containing QAction class? I'm really not sure where to even begin with errors like these, I've tried googling, but a lot of answers I can't understand, I'm still learning how to PKGBUILD, so this is really good practice.
pkgname=citra-emu-fresh
pkgver=0
pkgrel=1
pkgdesc='An experimental open-source Nintendo 3DS emulator/debugger'
arch=('i686' 'x86_64')
url='http://www.github.com/citra-emu/citra/'
license=('GPL2')
makedepends=('git' 'cmake' 'sdl2' 'qt5-base' 'shared-mime-info' 'desktop-file-utils' 'boost')
source=('citra::git+https://github.com/citra-emu/citra.git')
sha256sums=('SKIP')
build() {
mkdir -p citra/build
cd citra
git submodule update --init --recursive
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
make -j48
}
package() {
cd citra/build
make DESTDIR="${pkgdir}" install
}
It is error in program code, file bugreport (or create issue on GitHub) to the developers.
The way how to fix it on your own is to check files reported by compiler and fix the bug, after that create patch. For this you need some knowledge which you dont have (probably).
But why are you trying to package this SW when (according to git url you used) is already in AUR ?
https://aur.archlinux.org/packages/citra-git/