You are not logged in.

#1 2025-11-28 19:56:26

teckk
Member
Registered: 2013-02-21
Posts: 575

[Solved]Trying to get rid of Qt5.

I'm trying to move my machine over to Qt6 finally, so that I can get rid of Qt5. There will be less to update every time. The push was prompted by qt5-webengine moving to AUR.

I've got all of my software/tools/web browsers ported over to Qt6.

The only thing I have left using Qt5 is sqlitebrowser. I can't find anything in Qt6, Gtk3, or even a python module that will match it. Not in the repo.

I looked at sqlitebrowser website, no mention of a qt6 release.

I looked at the wiki. Sqliteman is Qt5.

I've looked through the AUR. Most of it requires other AUR packages, or is jre/jdk, or is dated.

Does the forum know of any sqlite database editor that rivals sqlitebrowser, in how easy and well it works, with the functionality it has, that is not Qt5, Gtk2? Or are you experienced enough that you use sqlite from cli?

What are you using?

Last edited by teckk (2025-11-29 01:55:30)

Offline

#2 2025-11-28 20:09:05

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,675

Online

#3 2025-11-28 20:28:13

teckk
Member
Registered: 2013-02-21
Posts: 575

Re: [Solved]Trying to get rid of Qt5.

Oh ok, didn't see that. Thanks. sqlitebrowser for qt6.

Offline

#4 2025-11-28 22:49:56

teckk
Member
Registered: 2013-02-21
Posts: 575

Re: [Solved]Trying to get rid of Qt5.

Follow up:

I did not use git. I wanted to see how it worked, how it compiled, to learn the hard way, to have a working code tree, and compile into an executable.

I got the source tree.
https://github.com/sqlitebrowser/sqlite … master.zip

Decompressed it into a directory.

Had to install

pacman -S qt6-tools qt6-5compat

Already had qt6 for other software. This is what I now have installed.

extra/qt6-5compat 6.10.0-1 (qt6) [installed]
extra/qt6-base 6.10.0-1 (qt6) [installed]
extra/qt6-declarative 6.10.0-1 (qt6) [installed]
extra/qt6-multimedia 6.10.0-1 (qt6) [installed]
extra/qt6-multimedia-ffmpeg 6.10.0-1 [installed]
extra/qt6-positioning 6.10.0-1 (qt6) [installed]
extra/qt6-shadertools 6.10.0-1 (qt6) [installed]
extra/qt6-svg 6.10.0-1 (qt6) [installed]
extra/qt6-tools 6.10.0-1 (qt6) [installed]
extra/qt6-translations 6.10.0-1 (qt6) [installed]
extra/qt6-webchannel 6.10.0-1 (qt6) [installed]
extra/qt6-webengine 6.10.0-1 (qt6) [installed]
extra/qt6ct 0.11-2

Because you are going to ask, what the exact depends are. Not all of those for sure.

Ran

cmake -DQT_MAJOR=Qt6 .

Then, on an old machine.

make -j2

Watched tv and drank cofee for a while... This would br faster on a newer machine. If I can build it on a old dual core machine, then anyone can.

Got lots of warnings. Like most any compile.

/sqliteBrQt6/sqlitebrowser-master/libs/qscintilla_2.14.1/Qt5Qt6/qsciscintillabase.cpp:693:62: warning: ‘QPoint QDropEvent::pos() const’ is deprecated: Use position().toPoint() [-Wdeprecated-declarations]
  693 |                        Scintilla::Point(e->pos().x(), e->pos().y()), false,

 
Only took 5-6 min.

Proof:
https://0x0.st/K4YU.png
https://0x0.st/K4YD.png

And as you can see by Qt6 version, I'm not up to date. I built everything against what I have on the machine. I'll do a pacman -Syu one of these days.

That code tree works. Got it from gihub. Anyone who wants is welcome to make a AUR page for this. Just need the depends, and run cmake with above. Dont need git or anything else. Obviously dont need qt6-webengine.

I think just:
qt6-base qt6-tools qt6-5compat and the source tree.

Edit:
My qt6 theme sucks a little. I might have to revisit that.

Last edited by teckk (2025-11-28 22:51:57)

Offline

#5 2025-11-29 00:33:37

teckk
Member
Registered: 2013-02-21
Posts: 575

Re: [Solved]Trying to get rid of Qt5.

And after learning about that it dawned on me. Since the code tree already has the qt6 commits in it.

I think that this is so. For the current PKGBUILD in the repo. I think that both can be built from the same source.

Qt5 PKGBUILD

pkgname=sqlitebrowser
pkgver=3.13.1
pkgrel=2
pkgdesc="A light GUI editor for SQLite databases, built on top of Qt"
url="https://sqlitebrowser.org"
arch=('x86_64')
license=('GPL-3.0-only')
depends=('glibc' 'gcc-libs' 'qt5-base' 'qt5-svg' 'hicolor-icon-theme' 'sqlcipher'
         'qcustomplot' 'qhexedit2' 'qscintilla-qt5' 'libqcustomplot.so' 'libqhexedit.so')
makedepends=('git' 'cmake' 'ninja' 'qt5-tools')
source=("git+https://github.com/sqlitebrowser/sqlitebrowser#tag=v${pkgver}?signed")
sha256sums=('75739f9667624004259242d64c9ebcc0452e870155afde73b9619a5ef117fcbb')
validpgpkeys=('05E463FDB5802C3D00257F9C79EAD0AB3BD7DD2C'  # Justin Clift (OpenPGP key for signing git commits) <justin@postgresql.org>
              '17ABC291B166F699409851AA9503B162E0416CE3') # SeongTae Jeong (OpenPGP key for signing git commits) <seongtaejg@gmail.com>

prepare() {
	cd "${pkgname}"
	# Remove vendored libraries (we want to use our system libraries instead)
	rm -rv libs/{qcustomplot-source,qhexedit,qscintilla}
}

build() {
	cd "${pkgname}"
	cmake -B build \
		-DCMAKE_INSTALL_PREFIX='/usr' \
		-DCMAKE_BUILD_TYPE='None' \
		-DBUILD_STABLE_VERSION='ON' \
		-DENABLE_TESTING='ON' \
		-DFORCE_INTERNAL_QCUSTOMPLOT='OFF' \
		-DFORCE_INTERNAL_QSCINTILLA='OFF' \
		-DFORCE_INTERNAL_QHEXEDIT='OFF' \
		-Dsqlcipher='1' \
		-Wno-dev \
		-G Ninja
	ninja -C build
}

check() {
	cd "${pkgname}/build"
	ctest -V
}

package() {
	cd "${pkgname}"
	DESTDIR="${pkgdir}" ninja -C build install
}

Qt6 PKGBUILD

xpkgname=sqlitebrowser
pkgver=3.13.1
pkgrel=2
pkgdesc="A light GUI editor for SQLite databases, built on top of Qt"
url="https://sqlitebrowser.org"
arch=('x86_64')
license=('GPL-3.0-only')
depends=('glibc' 'gcc-libs' 'qt6-base' 'qt6-svg' 'qt6-5compat' 'hicolor-icon-theme' 'sqlcipher'
         'qcustomplot' 'qhexedit2' 'qscintilla-qt6' 'libqcustomplot.so' 'libqhexedit.so')
makedepends=('git' 'cmake' 'ninja' 'qt6-tools')
source=("git+https://github.com/sqlitebrowser/sqlitebrowser#tag=v${pkgver}?signed")
sha256sums=('75739f9667624004259242d64c9ebcc0452e870155afde73b9619a5ef117fcbb')
validpgpkeys=('05E463FDB5802C3D00257F9C79EAD0AB3BD7DD2C'  # Justin Clift (OpenPGP key for signing git commits) <justin@postgresql.org>
              '17ABC291B166F699409851AA9503B162E0416CE3') # SeongTae Jeong (OpenPGP key for signing git commits) <seongtaejg@gmail.com>

prepare() {
	cd "${pkgname}"
	# Remove vendored libraries (we want to use our system libraries instead)
	rm -rv libs/{qcustomplot-source,qhexedit,qscintilla}
}

build() {
	cd "${pkgname}"
	cmake -B build \
        -DQT_MAJOR=Qt6 \
		-DCMAKE_INSTALL_PREFIX='/usr' \
		-DCMAKE_BUILD_TYPE='None' \
		-DBUILD_STABLE_VERSION='ON' \
		-DENABLE_TESTING='ON' \
		-DFORCE_INTERNAL_QCUSTOMPLOT='OFF' \
		-DFORCE_INTERNAL_QSCINTILLA='OFF' \
		-DFORCE_INTERNAL_QHEXEDIT='OFF' \
		-Dsqlcipher='1' \
		-Wno-dev \
		-G Ninja
	ninja -C build
}

check() {
	cd "${pkgname}/build"
	ctest -V
}

package() {
	cd "${pkgname}"
	DESTDIR="${pkgdir}" ninja -C build install
}

Or is that wrong?

Edit:
Forgot to add qt6-5compat

Last edited by teckk (2025-11-29 00:50:06)

Offline

#6 2025-11-29 01:25:01

twelveeighty
Member
Registered: 2011-09-04
Posts: 1,431

Re: [Solved]Trying to get rid of Qt5.

Since the upstream official release only lists Qt5, it might be better to create the sqlitebrowser-qt6 AUR package. From the looks of it, you've done pretty much all the work needed and you could just change 'pkgname=sqlitebrowser-qt6', add the requisite comments (see AUR Submission Guidelines)  and upload it. You can also post the PKGBUILD first either in this thread or over in 'AUR Issues, Discussion and PKGBUILD Requests' if you want someone to take a look at it before you post it.

Offline

#7 2025-11-29 07:41:58

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,275

Re: [Solved]Trying to get rid of Qt5.

Open a feature request on gitlab requesting switching to Qt6. This isn't as simple as modifying the PKGBUILD, some dependencies (eg. qcustomplot) need to be also modified to build against Qt6.

Offline

Board footer

Powered by FluxBB