I’m trying to compile a certain QT app and hopefully contribute it to Nixpkgs:
http://equalx.sourceforge.net/
The download is from here: EqualX - Downloads and documentation for building from source is here: EqualX - Documentation
I’ve tried first testing the compilation of it in a nix-shell
(direnv to be exact…) with this shell.nix
:
with import <nixpkgs> {};
pkgs.mkShell {
buildInputs = [
exempi
qt5.qmake
qt5.qtbase
pkg-config
];
}
I build it with the commands:
$ qmake equalx.pro
$ make
But the build fails with:
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG_OUTPUT -DUNIX_PLATFORM -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB
-DQT_CORE_LIB -I. -I/usr/include/exempi-2.0 -Iinclude -Iinclude/Library -Iinclude/BookmarksPanel -Iinclude/HistoryPanel -I/nix/store/05izlf
i7gzyk3nj6fafdsp1wsnn2mbcx-exempi-2.5.1/include/exempi-2.0 -I/nix/store/05izlfi7gzyk3nj6fafdsp1wsnn2mbcx-exempi-2.5.1/include -isystem /nix
/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtWidgets -isystem /nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.1
2.5-dev/include/QtGui -isystem /nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtSql -isystem /nix/store/kv6mipfp13cl
4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtCore -Itmp -I/nix/store/09kinq7pbr3an3ch1nn7y82ckpfzbxkv-mesa-19.2.4-dev/include -I. -I/ni
x/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/mkspecs/linux-g++ -o DialogPreferences.o src/DialogPreferences.cpp
src/DialogPreferences.cpp: In member function ‘void DialogPreferences::setCurrentExportType(QAction*)’:
src/DialogPreferences.cpp:81:36: error: invalid use of incomplete type ‘class QAction’
setCurrentExportType(actionType->data().toString());
^~
In file included from /nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtWidgets/qdialog.h:44,
from /nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtWidgets/qfiledialog.h:47,
from /nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtWidgets/QFileDialog:1,
from src/DialogPreferences.cpp:21:
/nix/store/kv6mipfp13cl4m39c33a7kn0b3yzjs1v-qtbase-5.12.5-dev/include/QtWidgets/qwidget.h:68:7: note: forward declaration of ‘class QActio
’
class QAction;
^~~~~~~
make: *** [Makefile:955: DialogPreferences.o] Error 1
I’ve talked with the developer over email and he says that QT is probably installed incorrectly…
I noticed there’s also the qmakeHook
derivation which might have been a better choice if I was packaging it straight to Nixpkgs but I’d really like to test it with a local build first before trying to build it inside nixpkgs
.