Repository navigation
Conversation
This is to let QtKeychain find the dbus library.
|
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
erikjv
marked this pull request as draft
September 28, 2026 15:49
Add with_egl, with_libjpeg, and qtwayland options to match the artifact builder's conanfile, ensuring the pre-built packages in Artifactory have matching package IDs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ensures package IDs match by using the exact same option declarations in the same format (default_options dict vs configure method). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Change build_type from Release to RelWithDebInfo for debug symbols. Fix compiler.version from 13 to 11 to match AlmaLinux 9's GCC. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This header no longer exists on master. It was incorrectly kept during the cherry-pick conflict resolution. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
glib pulls in libffi which fails to build with Apple clang 17. glib is only needed on Linux (for D-Bus); on macOS harfbuzz works without it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Standalone script that runs cmake --install into an AppDir and calls linuxdeploy to produce an AppImage. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When qmake is not on PATH, search the Conan cache as a fallback. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt needs QT_PLUGIN_PATH and QML2_IMPORT_PATH to find Qt plugins when Qt is installed in a non-standard location (e.g. Conan cache). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt crashes with a filesystem_error when a plugin directory (e.g. printsupport) doesn't exist in the Qt prefix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removes NO_STRIP=1 so debug symbols are stripped, significantly reducing AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Split linuxdeploy into populate + package steps with a full file listing in between, to identify unnecessary files for size reduction. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove dev files (headers, cmake, static libs), unnecessary Qt modules (Designer, Help, UiTools, Test, WaylandCompositor), tool translations, and other build artifacts to reduce AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The two-step linuxdeploy flow (populate then package) doesn't strip automatically. Add an explicit strip step in the cleanup phase. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove FluentWinUI3 (Windows-only), Imagine, NativeStyle, Particles, VectorImage, ShaderTools, and additional tool translations to reduce AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These are pulled in by -devel packages in the build container but are not needed at runtime (Athena/Xt widgets, unused X extensions). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
erikjv
force-pushed
the
feat/conan-artifactory
branch
from
October 6, 2026 17:00
db3443c to
535c154
Compare
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The bundled glib crashes with a type registration assertion when it loads GIO modules compiled against a different system glib version. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Conan Qt recipe creates transitive link dependencies that pull Designer, Help, UiTools, QuickTest, ShaderTools, PrintSupport, and WaylandCompositor into the binary. Removing them from the AppDir causes crashes due to symbol resolution falling back to system libs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These require a Conan Qt package rebuild before they take effect. - designer/assistant: we only need linguist tools from qttools - md4c: markdown rendering in text widgets is not needed Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Qt 6.8.3 -> 6.11.1 - zlib 1.3.1 -> 1.3.2 - sqlite3 3.49.1 -> 3.51.3 - openssl 3.4.2 -> 3.4.8 - Minimum Qt version in CMakeLists bumped to 6.11 Requires CCI sync (owncloud/conan-center-index#65) and a Conan package rebuild before the client can be built. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upstream pruned cmake/3.30.0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Matches CMAKE_OSX_DEPLOYMENT_TARGET in CMakeLists.txt and the minimum macOS version supported by Qt 6.11. Added cross-reference comments to keep both in sync. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
544 QML designer support files were being bundled by linuxdeploy-plugin-qt. These are only used by Qt Designer, not at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract the Conan package lib paths from the binary's RPATH and prepend them to LD_LIBRARY_PATH before running linuxdeploy. This ensures linuxdeploy bundles the Conan-built glib (2.86) instead of the system glib from the build container, avoiding version conflicts on the target system. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
readelf may report RUNPATH instead of RPATH. Also add || true to prevent pipefail from aborting on empty grep results. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace fragile shell grep/sed pipeline with a Python script that reliably parses readelf output across distributions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy resolves dependencies from system paths, not LD_LIBRARY_PATH. Pre-populate the AppDir with Conan-built shared libraries (glib, libffi, libsecret, etc.) so linuxdeploy finds them there instead of bundling incompatible system versions from the build container. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Only copy from lib directories, not plugin directories. Qt plugins are handled separately by linuxdeploy-plugin-qt via QT_PLUGIN_PATH. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt expects plugins at usr/plugins/ when it finds the corresponding Qt libs in usr/lib/. Copy Qt plugins from Conan cache preserving the subdirectory structure. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Enable --verbosity=2 for easier debugging. Create platforminputcontexts dir in both Qt prefix and AppDir to prevent linuxdeploy-plugin-qt crash. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt crashes when it finds a Qt module whose plugin directory doesn't exist in the AppDir. Instead of listing individual dirs, copy the entire Qt plugins tree from the Conan Qt prefix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mkdir -p the plugins dir before copying, and drop -n flag so Conan-built plugins overwrite any system ones. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt crashes when iterating a plugin category that doesn't exist as a directory, even if no plugins were built for it. Create all standard plugin subdirectories unconditionally. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt runs qmlimportscanner during QML deployment. It needs to be on PATH. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
qmake -query QT_INSTALL_PREFIX returns the AppDir path when a qt.conf is present there. Derive the Qt Conan directory from qmake's actual filesystem location instead, so qmlimportscanner and plugins are found in the Conan cache. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Setting QT_PLUGIN_PATH causes linuxdeploy-plugin-qt to iterate all plugin dirs in that path, crashing on missing subdirectories (e.g. printsupport when PrintSupport is disabled). Without QT_PLUGIN_PATH, it uses qmake -query QT_INSTALL_PLUGINS which works correctly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
linuxdeploy-plugin-qt iterates plugin dirs from qmake -query and crashes on any missing subdirectory. Create all standard Qt plugin directories in both locations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cp without -a dereferences symlinks, tripling the AppDir size (libQt6Gui.so, .so.6, .so.6.11.1 each as full copies instead of the last one being real and the others being symlinks). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Qt's glib event loop integration causes a constructor ordering crash in AppImage: Qt6Core initializes before libgobject and calls gobject type system functions that aren't ready yet. The client doesn't need glib integration — Qt's own event loop works for all our use cases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
glib was statically linked into libownCloudLibSync, creating duplicate glib symbols that shadowed the dynamic glib at runtime. This caused gobject's type system initialization to fail because it used the uninitialized static copy instead of the initialized dynamic one. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
glib was statically linked into client libraries, causing duplicate glib symbols that crashed gobject's type system initialization in AppImage. Only needed on Linux where glib is a transitive dependency via libsecret. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Avoids building libselinux from source (persistent download failures). The client doesn't need glib's SELinux file label support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove --verbosity=2 from linuxdeploy (debug noise). Remove GIO_MODULE_DIR from runenv hook (no longer needed with glib built as shared). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Python script that produces a .pkg installer from a conan build output. Handles cmake install, dylib bundling, install name fixup, macdeployqt, Qt translations, and packagesbuild. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cherry-picked and rebased from #12179 onto current master.
Test plan
conan build . --profile=.conan/profiles/ubuntu-latest-x86_64.conanprofile