Commit Graph

34 Commits

Author SHA1 Message Date
David Korth
53b74e0467 [debian] rules: Explicitly specify the Tracker API version, again.
Otherwise, we have to install the specific Tracker library, which is
versioned, so we end up with more problems.

(cherry picked from commit 1356d23d4c)
2025-05-10 21:04:30 -04:00
David Korth
ee887913a6 [debian] rules: Set TRACKER_INSTALL_API_VERSION=AUTO.
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.
2025-04-20 16:50:54 -04:00
David Korth
4e5ce09a05 [tracker] Enable the INSTALL rules.
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.
2024-03-30 10:55:41 -04:00
David Korth
2dbeff1ae0 [debian] rules: Explicitly specify -DENABLE_OPENMP=ON. 2023-08-20 10:59:58 -04:00
David Korth
56b0b16c76 [debian] rules: Work around $(shell pwd) pointing to the base directory, not the build directory.
Add both $(shell pwd)/build/lib and $(shell pwd)/lib .

Not sure how this worked for v2.2...

(cherry picked from commit a071a985b2)
2023-07-31 21:17:06 -04:00
David Korth
753efb4a6f [debian] rules: Enable verbosity on tests.
We're using --gtest_brief, so only failure and overall success messages
will be printed.

This will make it easier to diagnose PPA test errors.
2023-07-05 18:30:43 -04:00
David Korth
db875e03e4 [debian] Reverted to the Ubuntu 16.04 versions.
Retained the -DENABLE_LTO=OFF change, since gcc-5 doesn't seem to
like doing LTO with the UI frontends anymore.
2023-07-01 21:48:01 -04:00
David Korth
354dcfdd78 [debian] 2.2: Build for Ubuntu 20.04 "Focal" Fossa.
Main changes:
- Disabled GTK+ 2.x builds. (XFCE)
- Disabled KDE 4.x builds.
- Enabled system libzstd.
2023-07-01 18:00:58 -04:00
David Korth
d117f8df70 [debian] 2.2: Build for Ubuntu 18.04 "Bionic" Beaver. 2023-07-01 17:38:59 -04:00
David Korth
f26eb78c67 [debian] rules: Disable LTO for Ubuntu 16.04 "Xenial" Xerus. 2023-07-01 16:29:10 -04:00
David Korth
c3efad1368 [debian] rules: Explicitly disable GTK4 for now.
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.
2022-12-24 12:36:32 -05:00
David Korth
3c4345bb3b [debian] Add a libromdata1 package for libromdata.so.1.0.
Added dependencies to the various packages.

rules: Set LD_LIBRARY_PATH so tests will run correctly when libromdata
isn't installed system-wide.
2022-06-21 18:59:40 -04:00
David Korth
9e92bab93e [debian] rules: Remove XFCE3, MATE, CINNAMON; renamed GNOME to GTK3. 2020-07-12 17:25:40 -04:00
David Korth
558a1b007c [rp-stub] Create symlinks in CMakeLists.txt, not debian/rules. 2020-07-12 13:17:01 -04:00
David Korth
63be14b7a2 Backported seccomp() fixes from the Ubuntu 19.10 "Eoan" Ermine branch.
- 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.
2020-03-14 00:25:22 -04:00
David Korth
c3f48b43a7 Enable PCH in the Debian, travis-ci, and AppVeyor builds.
It was enabled by default on AppVeyor, but now we're explicit.

This should reduce build times slightly on the Ubuntu PPA servers and
travis-ci.
2020-02-23 12:52:15 -05:00
David Korth
9e7ae715b4 Added seccomp to the Debian files, travis.sh, and COMPILING.md. 2020-02-14 22:32:06 -05:00
David Korth
71a9b61cd8 Renamed the KDE5 frontend to KF5 to match upstream branding guidelines.
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.
2020-01-19 13:28:17 -05:00
David Korth
01eb4732a9 [debian] rules: Explicitly enable installation of AppArmor profiles. 2020-01-19 13:05:49 -05:00
David Korth
527dd6892f [debian] Added Nemo (Cinnamon) rules. 2019-12-15 15:56:51 -05:00
David Korth
e51803a4fe [librptexture] Use the PowerVR Native SDK (well, a subset) to decode PVRTC.
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.
2019-12-10 22:01:21 -05:00
David Korth
1f7b7952b9 debian/rules: Explicitly specify XFCE3, GNOME, and MATE build options.
The defaults here are correct for Ubuntu 16.04.
2019-08-04 15:36:33 -04:00
David Korth
cc354750e5 Clean up QT_SELECT so we no longer need it set by the caller.
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.
2018-06-02 15:40:59 -04:00
David Korth
1c0c174205 [debian] rules: export QT_SELECT=qt4
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)...
2018-06-02 13:53:47 -04:00
David Korth
ec70ad2777 [debian] rules: Enable LTO. 2018-06-02 13:41:01 -04:00
David Korth
6ec2e0b724 debian/rules: Disable LTO for now, since the KDE5 build is failing with LTO enabled.
Failing on Ubuntu 16.04, gcc-5.4.0.
2017-07-04 14:48:45 -04:00
David Korth
8fb2de04e8 [debian] Fix an unstripped binary issue with rp-thumbnail.
[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.
2017-06-17 17:23:24 -04:00
David Korth
24bcaba234 Explicitly enable JPEG in all builds.
debian/control: Added a build-time dependency on libjpeg-dev.
2017-02-26 20:15:25 -05:00
David Korth
71e0ef5dfa Merge branch 'merge/DankRank/feature/rpcli'
Conflicts:
	debian/control
2017-01-07 19:33:27 -05:00
David Korth
6833007ce4 Fixed some issues with split debug files.
cmake/options.cmake: Force disable INSTALL_DEBUG if SPLIT_DEBUG is off.

debian/rules: Set INSTALL_DEBUG=OFF.
2017-01-07 19:05:13 -05:00
David Korth
1441226090 [rpcli] Install rpcli.
rpcli is a program, so it's in a new component called "program".

[debian] New package rom-properties-cli. This package contains rp-cli.
2017-01-07 18:48:04 -05:00
David Korth
026e5afba6 [debian] Added a package for rom-properties-xfce.
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.
2017-01-02 00:35:12 -05:00
David Korth
9771ada930 [debian] rules: Disable our own split debug functionality in favor of debhelper.
Note that we can't specify per-distro Build-Depends, so we'll have to
rely on the package builder to have the correct packages installed.

- Debian: debhelper >= 9.20151219
- Ubuntu: pkg-create-debsym

The Depends variable *can* be customized per-distro:
https://raphaelhertzog.com/2010/09/27/different-dependencies-between-debian-and-ubuntu-but-common-source-package/
2016-10-23 21:00:27 -04:00
David Korth
bd1955d98d [debian] Initial rules for Debian packaging.
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...
2016-10-20 23:03:29 -04:00