Otherwise, we have to install the specific Tracker library, which is
versioned, so we end up with more problems.
(cherry picked from commit 1356d23d4c)
Otherwise, I might forget to update it when building for various versions
of Ubuntu, which will result in Tracker being installed in the wrong
place for most newer versions.
While the code itself supports all three API versions, we're only
supporting installing into a single version directory. Added
auto-detection to detect what version is installed, plus a manual
override using TRACKER_INSTALL_API_VERSION to explicitly specify
which version to use.
Ubuntu versions and Tracker API versions:
- 16.04: v1
- 18.04: v2
- 20.04: v2
- 22.04: v3
- 24.04: v3
[debian] rules: Explicitly specify the API version so we don't need to
install the Tracker packages when building.
Otherwise, the minimum GLib version is set to 2.66.0, which doesn't work
for most of the older Ubuntu distributions.
FIXME: Fix this such that if GLib 2.66.0 isn't found, but 2.34.0 or later
is found, it builds correctly and GTK4 is automatically disabled.
- Check for both __SNR_* and __NR_*. libseccomp-2.4.2 added the __SNR_*
macros, but Ubuntu 19.10 has libseccomp-2.4.1. (Ubuntu 20.04 has
libseccomp-2.4.2.)
- #include <linux/unistd.h> to ensure the __NR_* macros are defined.
- debian/rules: Explicitly enable seccomp and disable seccomp debugging.
Related bug report for LibreOffice:
https://bugs.documentfoundation.org/show_bug.cgi?id=125922
NOTE: dll-search.c still checks for "KDE5" for compatibility.
NOTE 2 We did NOT include "KDE5" in the forwarding plugins for
compatibility because they shouldn't be mixed-and-matched with
rom-properties versions.
It seems that the R and B channels are backwards, so we'll need to fix
that next. Other than that, both 2bpp and 4bpp decoding seems to work.
(A lot better than my terrible attempt, at least.)
[cmake] options.cmake: Added an option for PVRTC. The code is licensed
under the MIT license, but we might as well provide an option for it
because it's third-party code instead of my own code.
TODO:
- Fix R/B channel ordering.
- PVRTC-II decoding?
- Add PVRTC decoding to KTX and DDS.
cmake/options.cmake: Unset QT_SELECT initially.
Set QT_SELECT in each individual directory based on the required version.
For libunixcommon, set it, call the required program, then unset it.
This should fix all of the issues:
- Qt4: If set to 5, qmake would fail to detect Qt/X11.
- Qt5: If set to 4, the plugin path was wrong.
This is needed in order to build the KDE4 plugin on Xubuntu 18.04 when
using debuild. Exporting QT_SELECT before running debuild didn't seem
to work for me, though it does work on travis-ci (Ubuntu 14.04)...
[rp-stub] CMakeLists.txt: Install rp-stub.
rom-properties-stub.install: LIkewise.
[debian] rules: Remove rp-config and rp-thumbnail, and replace them
with symlinks. This should really be done in CMake, but that doesn't
seem to be working.
changelog will be updated before release.
README.md: Added XFCE.
- Removed the "Icon" column, since it will probably only ever apply
to Windows.
doc/COMPILING.md: Added XFCE dependencies.
Partially based on dolphin-emu:
https://packages.debian.org/sid/games/dolphin-emu
CMake's debian package generator supports generating multiple DEB
packages by component, but doesn't easily allow installing common
files in each (e.g. document files). It turns out that writing
standard Debian package rules got a lot easier now than the last
time I tried (with gens), so we'll use standard Debian rules.
NOTE: Multi-arch is enabled on the KDE 5 plugin, but not the KDE 4
plugin, since the KDE 4 plugin is installed in /usr/lib/. This
shouldn't be an issue in most cases, since most 64-bit Linux systems
don't have many 32-bit KDE applications installed.
TODO: "rom-properties" might not be a valid name due to the hyphen.
I might have to either remove the '-', change it to an underscore,
or something else...