mirror of
https://github.com/feather-wallet/feather.git
synced 2025-01-18 16:54:33 +00:00
build: wayland support
This commit is contained in:
parent
0195bdc59c
commit
91cfdd6df8
18 changed files with 233 additions and 16 deletions
27
contrib/depends/packages/libffi.mk
Normal file
27
contrib/depends/packages/libffi.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
package := libffi
|
||||
$(package)_version := 3.4.2
|
||||
$(package)_download_path := https://github.com/libffi/$(package)/releases/download/v$($(package)_version)
|
||||
$(package)_file_name := libffi-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash := 540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := --enable-option-checking --disable-dependency-tracking
|
||||
$(package)_config_opts += --disable-shared --enable-static --disable-docs
|
||||
$(package)_config_opts += --disable-multi-os-directory
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
|
@ -19,7 +19,7 @@ define $(package)_preprocess_cmds
|
|||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
meson setup --cross-file toolchain.txt build
|
||||
meson setup --cross-file toolchain.txt build -Dxkb-config-root=/usr/share/X11/xkb -Dxkb-config-extra-path=/app/share/X11/xkb
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
|
30
contrib/depends/packages/native_expat.mk
Normal file
30
contrib/depends/packages/native_expat.mk
Normal file
|
@ -0,0 +1,30 @@
|
|||
package=native_expat
|
||||
$(package)_version=2.6.3
|
||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
|
||||
$(package)_file_name=expat-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=17aa6cfc5c4c219c09287abfc10bc13f0c06f30bb654b28bfe6f567ca646eb79
|
||||
$(package)_build_subdir=build
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DEXPAT_BUILD_TOOLS=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_EXAMPLES=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_TESTS=OFF
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) -S .. -B .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share lib/cmake
|
||||
endef
|
27
contrib/depends/packages/native_libffi.mk
Normal file
27
contrib/depends/packages/native_libffi.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
package := native_libffi
|
||||
$(package)_version := 3.4.2
|
||||
$(package)_download_path := https://github.com/libffi/$(package)/releases/download/v$($(package)_version)
|
||||
$(package)_file_name := libffi-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash := 540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := --enable-option-checking --disable-dependency-tracking
|
||||
$(package)_config_opts += --enable-shared --disable-static --disable-docs
|
||||
$(package)_config_opts += --disable-multi-os-directory
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
|
@ -4,6 +4,7 @@ $(package)_download_path=https://download.qt.io/official_releases/qt/6.8/$($(pac
|
|||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=1bad481710aa27f872de6c9f72651f89a6107f0077003d0ebfcc9fd15cba3c75
|
||||
$(package)_linux_dependencies=native_wayland
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches = dont_hardcode_pwd.patch
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
|
@ -24,10 +25,14 @@ $(package)_qtmultimedia_sha256_hash=28766aa562fa7aa7dfa8420defd6ece90a891a0496b8
|
|||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=44692dc93482374bf3b39e96c881fa08275f0bf82958b68a7e3c796b76d4c4cb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=175758591638ebf1c6fbb66ac11c7fa0eb8d4ed52e9243cc59075d06a6a2060a
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtmultimedia_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtshadertools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwayland_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts_release = -release
|
||||
|
@ -119,7 +124,8 @@ $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_f
|
|||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtsvg_file_name),$($(package)_qtsvg_file_name),$($(package)_qtsvg_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash))
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwayland_file_name),$($(package)_qtwayland_file_name),$($(package)_qtwayland_sha256_hash))
|
||||
endef
|
||||
|
||||
define $(package)_extract_cmds
|
||||
|
@ -129,6 +135,7 @@ define $(package)_extract_cmds
|
|||
echo "$($(package)_qtsvg_sha256_hash) $($(package)_source_dir)/$($(package)_qtsvg_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtmultimedia_sha256_hash) $($(package)_source_dir)/$($(package)_qtmultimedia_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtwayland_sha256_hash) $($(package)_source_dir)/$($(package)_qtwayland_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir qtbase && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||
|
@ -139,7 +146,9 @@ define $(package)_extract_cmds
|
|||
mkdir qtmultimedia && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtmultimedia_file_name) -C qtmultimedia && \
|
||||
mkdir qtshadertools && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \
|
||||
mkdir qtwayland && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtwayland_file_name) -C qtwayland
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
|
18
contrib/depends/packages/native_wayland.mk
Normal file
18
contrib/depends/packages/native_wayland.mk
Normal file
|
@ -0,0 +1,18 @@
|
|||
package := native_wayland
|
||||
$(package)_version := 1.23.1
|
||||
$(package)_download_path := https://gitlab.freedesktop.org/wayland/wayland/-/releases/$($(package)_version)/downloads/
|
||||
$(package)_file_name := wayland-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash := 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
|
||||
$(package)_dependencies := native_expat native_libffi
|
||||
|
||||
define $(package)_config_cmds
|
||||
meson setup build -Dprefix="$(build_prefix)" -Ddtd_validation=false -Ddocumentation=false -Dtests=false
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
ninja -C build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
DESTDIR=$($(package)_staging_dir) ninja -C build install
|
||||
endef
|
|
@ -1,8 +1,8 @@
|
|||
packages := boost openssl unbound qrencode libsodium polyseed hidapi abseil protobuf libusb zlib libgpg-error libgcrypt expat libzip zxing-cpp
|
||||
native_packages := native_qt native_abseil native_protobuf
|
||||
|
||||
linux_packages := eudev libfuse libsquashfuse zstd appimage_runtime
|
||||
linux_native_packages =
|
||||
linux_packages := eudev libfuse libsquashfuse zstd appimage_runtime wayland libffi
|
||||
linux_native_packages := native_expat native_libffi native_wayland
|
||||
|
||||
x86_64_linux_packages := flatstart
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ $(package)_file_name=qtbase-$($(package)_suffix)
|
|||
$(package)_sha256_hash=1bad481710aa27f872de6c9f72651f89a6107f0077003d0ebfcc9fd15cba3c75
|
||||
$(package)_darwin_dependencies=openssl native_qt
|
||||
$(package)_mingw32_dependencies=openssl native_qt
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus wayland native_wayland
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches += guix_cross_lib_path.patch
|
||||
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
|
||||
|
@ -41,11 +41,15 @@ $(package)_qtmultimedia_sha256_hash=28766aa562fa7aa7dfa8420defd6ece90a891a0496b8
|
|||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=44692dc93482374bf3b39e96c881fa08275f0bf82958b68a7e3c796b76d4c4cb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=175758591638ebf1c6fbb66ac11c7fa0eb8d4ed52e9243cc59075d06a6a2060a
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwebsockets_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtmultimedia_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtshadertools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwayland_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts += -DQT_HOST_PATH=$(build_prefix)/qt-host
|
||||
|
@ -133,6 +137,15 @@ $(package)_config_opts_linux += -DQT_FEATURE_vulkan=OFF
|
|||
$(package)_config_opts_linux += -DQT_FEATURE_backtrace=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_dbus=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_dbus_linked=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_client=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_server=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_drm_egl_server_buffer=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-shm-emulation-server-buffer=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-fullscreen-shell-v1=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-ivi-shell=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-wl-shell=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-xdg-shell-v5=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-xdg-shell-v6=OFF
|
||||
$(package)_config_opts_linux += -DBUILD_WITH_PCH=OFF
|
||||
|
||||
$(package)_config_opts_mingw32 += -DQT_QMAKE_TARGET_MKSPEC=win32-g++
|
||||
|
@ -168,7 +181,8 @@ $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_fi
|
|||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtsvg_file_name),$($(package)_qtsvg_file_name),$($(package)_qtsvg_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwebsockets_file_name),$($(package)_qtwebsockets_file_name),$($(package)_qtwebsockets_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash))
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwayland_file_name),$($(package)_qtwayland_file_name),$($(package)_qtwayland_sha256_hash))
|
||||
endef
|
||||
|
||||
define $(package)_extract_cmds
|
||||
|
@ -179,6 +193,7 @@ define $(package)_extract_cmds
|
|||
echo "$($(package)_qtwebsockets_sha256_hash) $($(package)_source_dir)/$($(package)_qtwebsockets_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtmultimedia_sha256_hash) $($(package)_source_dir)/$($(package)_qtmultimedia_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtwayland_sha256_hash) $($(package)_source_dir)/$($(package)_qtwayland_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir qtbase && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||
|
@ -191,7 +206,9 @@ define $(package)_extract_cmds
|
|||
mkdir qtmultimedia && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtmultimedia_file_name) -C qtmultimedia && \
|
||||
mkdir qtshadertools && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \
|
||||
mkdir qtwayland && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtwayland_file_name) -C qtwayland
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
|
31
contrib/depends/packages/wayland.mk
Normal file
31
contrib/depends/packages/wayland.mk
Normal file
|
@ -0,0 +1,31 @@
|
|||
package := wayland
|
||||
$(package)_version := 1.23.1
|
||||
$(package)_download_path := https://gitlab.freedesktop.org/wayland/wayland/-/releases/$($(package)_version)/downloads/
|
||||
$(package)_file_name := wayland-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash := 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
|
||||
$(package)_dependencies=native_wayland libffi expat
|
||||
$(package)_patches = toolchain.txt
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp $($(package)_patch_dir)/toolchain.txt toolchain.txt && \
|
||||
sed -i -e 's|@host_prefix@|$(host_prefix)|' \
|
||||
-e 's|@build_prefix@|$(build_prefix)|' \
|
||||
-e 's|@cc@|$($(package)_cc)|' \
|
||||
-e 's|@cxx@|$($(package)_cxx)|' \
|
||||
-e 's|@ar@|$($(package)_ar)|' \
|
||||
-e 's|@strip@|$(host_STRIP)|' \
|
||||
-e 's|@arch@|$(host_arch)|' \
|
||||
toolchain.txt
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
PKG_CONFIG_LIBDIR="$(host_prefix)/lib/pkgconfig:$(build_prefix)/lib/pkgconfig" PKG_CONFIG_PATH="$(build_prefix)/lib/pkgconfig" meson setup --cross-file toolchain.txt build -Ddtd_validation=false -Ddocumentation=false -Dprefer_static=true -Ddefault_library=static -Dtests=false -Dscanner=false
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
ninja -C build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
DESTDIR=$($(package)_staging_dir) ninja -C build install
|
||||
endef
|
|
@ -32,7 +32,7 @@ list(APPEND CMAKE_MODULE_PATH "${__qt6_qtbase_src_path}/cmake/3rdparty/kwin")
|
|||
set(QT_NO_CREATE_TARGETS TRUE)
|
||||
set(QT_SUPERBUILD TRUE)
|
||||
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtshadertools;qtmultimedia" CACHE STRING "Submodules to build")
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtshadertools;qtmultimedia;qtwayland" CACHE STRING "Submodules to build")
|
||||
|
||||
foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
message(NOTICE "Configuring '${module}'")
|
||||
|
|
20
contrib/depends/patches/native_wayland/toolchain.txt
Normal file
20
contrib/depends/patches/native_wayland/toolchain.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
[binaries]
|
||||
c = '@cc@'
|
||||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = '@arch@'
|
||||
cpu = '@arch@'
|
||||
endian = 'little'
|
||||
|
||||
[project options]
|
||||
tests = false
|
||||
documentation = false
|
||||
dtd_validation = false
|
||||
|
||||
[built-in options]
|
||||
prefix = '@build_prefix@'
|
|
@ -32,7 +32,7 @@ list(APPEND CMAKE_MODULE_PATH "${__qt6_qtbase_src_path}/cmake/3rdparty/kwin")
|
|||
set(QT_NO_CREATE_TARGETS TRUE)
|
||||
set(QT_SUPERBUILD TRUE)
|
||||
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtwebsockets;qtshadertools;qtmultimedia" CACHE STRING "Submodules to build")
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtwebsockets;qtshadertools;qtmultimedia;qtwayland" CACHE STRING "Submodules to build")
|
||||
|
||||
foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
message(NOTICE "Configuring '${module}'")
|
||||
|
|
15
contrib/depends/patches/wayland/toolchain.txt
Normal file
15
contrib/depends/patches/wayland/toolchain.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
[binaries]
|
||||
c = '@cc@'
|
||||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = '@arch@'
|
||||
cpu = '@arch@'
|
||||
endian = 'little'
|
||||
|
||||
[built-in options]
|
||||
prefix = '@host_prefix@'
|
|
@ -32,7 +32,7 @@ cd files
|
|||
cp /feather/contrib/depends/x86_64-linux-gnu/bin/startup .
|
||||
|
||||
# Copy feather binary
|
||||
cp /feather-bin feather
|
||||
cp /outdir/feather feather
|
||||
|
||||
# Copy metadata
|
||||
cp -r /feather/contrib/flatpak/share .
|
||||
|
@ -47,6 +47,7 @@ GUIX_PROFILE=$(get_store_path "profile")
|
|||
GUIX_GLIBC=$(get_store_path "glibc")
|
||||
GUIX_FONTCONFIG=$(get_store_path "fontconfig")
|
||||
GUIX_GCC=$(get_store_path "gcc")
|
||||
GUIX_KEYBOARD_CONFIG=$(get_store_path "keyboard-config")
|
||||
|
||||
# Patch Feather binary
|
||||
patchelf --set-interpreter "/${GUIX_GLIBC}/lib/ld-linux-x86-64.so.2" feather
|
||||
|
@ -82,6 +83,8 @@ ln -s "/run/host/fonts-cache" share/fonts-cache
|
|||
ln -s "/${GUIX_PROFILE}/share/locale" share/locale
|
||||
ln -s "/${GUIX_PROFILE}/share/xml" share/xml
|
||||
|
||||
ln -s "/${GUIX_KEYBOARD_CONFIG}/share/X11" share/X11
|
||||
|
||||
# Setup profile symlink
|
||||
ln -s "/${GUIX_PROFILE}" profile
|
||||
|
||||
|
|
|
@ -461,7 +461,7 @@ EOF
|
|||
|
||||
case "$OPTIONS" in
|
||||
pack)
|
||||
FEATHER_BIN="$(outdir_for_host "$host")/feather"
|
||||
OUTDIR="$(outdir_for_host "$host")"
|
||||
export VERSION=${VERSION}
|
||||
time-machine pack -S /profile=. --manifest="${PWD}/contrib/guix/pack.scm"
|
||||
PACK=$(time-machine pack --manifest="${PWD}/contrib/guix/pack.scm")
|
||||
|
@ -473,7 +473,7 @@ EOF
|
|||
--share="$PACK"=/pack \
|
||||
--share="$(outdir_for_host "$host")"=/output \
|
||||
--share="$LOGDIR_BASE"=/logdir-base \
|
||||
--share="$FEATHER_BIN"=/feather-bin \
|
||||
--share="$OUTDIR"=/outdir \
|
||||
--keep-failed \
|
||||
--fallback \
|
||||
--user="user" \
|
||||
|
|
|
@ -6,7 +6,9 @@
|
|||
(guix download)
|
||||
((guix licenses) #:prefix license:)
|
||||
(guix packages)
|
||||
(guix utils))
|
||||
(guix utils)
|
||||
(gnu packages xorg)
|
||||
)
|
||||
|
||||
(define utf8-locales
|
||||
(make-glibc-utf8-locales
|
||||
|
@ -18,4 +20,5 @@
|
|||
(append
|
||||
(list nss-certs
|
||||
fontconfig
|
||||
utf8-locales)))
|
||||
utf8-locales
|
||||
xkeyboard-config)))
|
||||
|
|
|
@ -18,6 +18,10 @@ if (WITH_SCANNER)
|
|||
MultimediaWidgets)
|
||||
endif()
|
||||
|
||||
IF (UNIX AND NOT APPLE)
|
||||
list(APPEND QT_COMPONENTS WaylandClient)
|
||||
endif()
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS ${QT_COMPONENTS})
|
||||
|
||||
if (CHECK_UPDATES)
|
||||
|
@ -292,12 +296,17 @@ if (WITH_SCANNER)
|
|||
)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
target_link_libraries(feather PRIVATE Qt::WaylandClient)
|
||||
endif()
|
||||
|
||||
if(STATIC AND APPLE)
|
||||
target_link_libraries(feather PRIVATE Qt6::QDarwinCameraPermissionPlugin)
|
||||
endif()
|
||||
|
||||
if(STATIC AND UNIX AND NOT APPLE)
|
||||
target_link_libraries(feather PRIVATE Qt6::QComposePlatformInputContextPlugin)
|
||||
target_link_libraries(feather PRIVATE Qt6::QWaylandIntegrationPlugin)
|
||||
endif()
|
||||
|
||||
if(DEPENDS AND UNIX AND NOT APPLE)
|
||||
|
@ -305,6 +314,11 @@ if(DEPENDS AND UNIX AND NOT APPLE)
|
|||
find_library(LIBXAU_LIBRARY Xau REQUIRED)
|
||||
message(STATUS "libXau: libraries at ${LIBXAU_LIBRARY}")
|
||||
target_link_libraries(XCB::XCB INTERFACE ${LIBXAU_LIBRARY})
|
||||
|
||||
# make sure Wayland::Client links to libffi
|
||||
find_library(LIBFFI_LIBRARY ffi REQUIRED)
|
||||
message(STATUS "libffi: libraries at ${LIBFFI_LIBRARY}")
|
||||
target_link_libraries(Wayland::Client INTERFACE ${LIBFFI_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(STACK_TRACE AND CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
|
@ -339,4 +353,4 @@ if(APPLE)
|
|||
file(COPY "${CMAKE_SOURCE_DIR}/src/assets/images/appicons/appicon.icns" DESTINATION "${CMAKE_SOURCE_DIR}/installed/feather.app/Contents/Resources/" )
|
||||
endif()
|
||||
|
||||
qt_finalize_executable(feather)
|
||||
qt_finalize_executable(feather)
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
#if defined(Q_OS_LINUX) && defined(STATIC)
|
||||
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
|
||||
Q_IMPORT_PLUGIN(QComposePlatformInputContextPlugin) // Needed for dead keys on Linux
|
||||
Q_IMPORT_PLUGIN(QWaylandIntegrationPlugin)
|
||||
Q_IMPORT_PLUGIN(QWaylandXdgShellIntegrationPlugin)
|
||||
Q_IMPORT_PLUGIN(QWaylandBradientDecorationPlugin)
|
||||
#endif
|
||||
|
||||
#if defined(Q_OS_MAC) && defined(STATIC)
|
||||
|
|
Loading…
Reference in a new issue