Merge branch 'use-vendored-dependencies' into 'main'
Build: Use vendored dependencies for building .deb packages See merge request World/Phosh/squeekboard!659
This commit is contained in:
@ -23,9 +23,6 @@ stages:
|
|||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
# Workaround for unavailable dependencies
|
|
||||||
- mv debian/control.debian-testing debian/control
|
|
||||||
# End of workaround for unavailable dependencies
|
|
||||||
- apt-get -y update
|
- apt-get -y update
|
||||||
- apt-get -y install ca-certificates
|
- apt-get -y install ca-certificates
|
||||||
|
|
||||||
@ -65,17 +62,6 @@ build_deb:
|
|||||||
- '*.deb'
|
- '*.deb'
|
||||||
script:
|
script:
|
||||||
- rm -f ../*.deb
|
- rm -f ../*.deb
|
||||||
# Workaround for unavailable dependencies
|
|
||||||
# TODO: Port Squeekboard to GTK4/GTK4-layer-shell
|
|
||||||
# https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64
|
|
||||||
- echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
|
|
||||||
- echo "deb http://deb.debian.org/debian/ experimental main" > /etc/apt/sources.list.d/experimental.list
|
|
||||||
- echo "APT::Default-Release \"trixie\";" > /etc/apt/apt.conf.d/default-release
|
|
||||||
- apt-get -y update
|
|
||||||
- apt-get -y --no-upgrade install librust-gio-dev librust-glib-dev librust-glib-sys-dev
|
|
||||||
librust-gtk-dev librust-gtk-sys-dev
|
|
||||||
- apt-get -y --no-upgrade install -t experimental librust-serde-yaml-dev
|
|
||||||
# End of workaround for unavailable dependencies
|
|
||||||
- apt-get -y build-dep .
|
- apt-get -y build-dep .
|
||||||
- apt-get -y install devscripts
|
- apt-get -y install devscripts
|
||||||
- REV=$(git log -1 --format=%h)
|
- REV=$(git log -1 --format=%h)
|
||||||
|
|||||||
@ -8,4 +8,7 @@ registry = 'https://github.com/rust-lang/crates.io-index'
|
|||||||
replace-with = 'vendored-sources'
|
replace-with = 'vendored-sources'
|
||||||
|
|
||||||
[source.vendored-sources]
|
[source.vendored-sources]
|
||||||
directory = '/usr/share/cargo/registry'
|
# TODO: Use this instead of `../vendor`,
|
||||||
|
# after Squeekboard can also be built with Debian packages only.
|
||||||
|
# directory = '/usr/share/cargo/registry'
|
||||||
|
directory = '../vendor'
|
||||||
15
debian/control
vendored
15
debian/control
vendored
@ -16,11 +16,16 @@ Build-Depends:
|
|||||||
librust-aho-corasick-dev,
|
librust-aho-corasick-dev,
|
||||||
librust-bitflags-1-dev (>= 1.0),
|
librust-bitflags-1-dev (>= 1.0),
|
||||||
librust-clap-4+std-dev (>= 4.0),
|
librust-clap-4+std-dev (>= 4.0),
|
||||||
librust-gio+v2-58-dev (>= 0.18),
|
# TODO: Port to GTK4/GTK4-layer-shell
|
||||||
librust-glib+v2-58-dev (>= 0.18),
|
# https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64
|
||||||
librust-glib-sys-dev (>= 0.18),
|
# These dependencies have been removed from Debian.
|
||||||
librust-gtk+v3-24-dev (>= 0.18),
|
# Building with dependencies from "crates.io", which will be
|
||||||
librust-gtk-sys-dev (>= 0.18),
|
# downloaded by `cargo` during the build, still works without these.
|
||||||
|
# librust-gio+v2-58-dev (>= 0.18),
|
||||||
|
# librust-glib+v2-58-dev (>= 0.18),
|
||||||
|
# librust-glib-sys-dev (>= 0.18),
|
||||||
|
# librust-gtk+v3-24-dev (>= 0.18),
|
||||||
|
# librust-gtk-sys-dev (>= 0.18),
|
||||||
librust-maplit-1-dev (>= 1.0),
|
librust-maplit-1-dev (>= 1.0),
|
||||||
librust-serde-derive-1-dev (>= 1.0),
|
librust-serde-derive-1-dev (>= 1.0),
|
||||||
librust-serde-yaml-0.9-dev (>= 0.9),
|
librust-serde-yaml-0.9-dev (>= 0.9),
|
||||||
|
|||||||
72
debian/control.debian-testing
vendored
72
debian/control.debian-testing
vendored
@ -1,72 +0,0 @@
|
|||||||
Source: squeekboard
|
|
||||||
Section: x11
|
|
||||||
Priority: optional
|
|
||||||
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
|
|
||||||
Build-Depends:
|
|
||||||
cargo,
|
|
||||||
debhelper-compat (= 13),
|
|
||||||
meson (>=0.51.0),
|
|
||||||
ninja-build,
|
|
||||||
pkg-config,
|
|
||||||
libbsd-dev,
|
|
||||||
libfeedback-dev,
|
|
||||||
libglib2.0-dev,
|
|
||||||
libgnome-desktop-3-dev,
|
|
||||||
libgtk-3-dev,
|
|
||||||
librust-aho-corasick-dev,
|
|
||||||
librust-bitflags-1-dev (>= 1.0),
|
|
||||||
librust-clap-4+std-dev (>= 4.0),
|
|
||||||
# TODO: Port to GTK4/GTK4-layer-shell
|
|
||||||
# https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64
|
|
||||||
# These dependencies have been removed from Debian Testing.
|
|
||||||
# Building with dependencies from "crates.io" still works without these.
|
|
||||||
# librust-gio+v2-58-dev (>= 0.18),
|
|
||||||
# librust-glib+v2-58-dev (>= 0.18),
|
|
||||||
# librust-glib-sys-dev (>= 0.18),
|
|
||||||
# librust-gtk+v3-24-dev (>= 0.18),
|
|
||||||
# librust-gtk-sys-dev (>= 0.18),
|
|
||||||
librust-maplit-1-dev (>= 1.0),
|
|
||||||
librust-serde-derive-1-dev (>= 1.0),
|
|
||||||
# Currently in Debian Experimental
|
|
||||||
# librust-serde-yaml-0.9-dev (>= 0.9),
|
|
||||||
librust-thread-local-dev,
|
|
||||||
librust-xkbcommon-dev (>= 0.5),
|
|
||||||
librust-zbus-1-dev (>= 1.9),
|
|
||||||
librust-zvariant-2-dev (>= 2.10),
|
|
||||||
librust-zvariant-derive-2-dev (>= 2.10),
|
|
||||||
libwayland-dev (>= 1.16),
|
|
||||||
lsb-release,
|
|
||||||
python3,
|
|
||||||
python3-ruamel.yaml,
|
|
||||||
rustc,
|
|
||||||
wayland-protocols (>= 1.14),
|
|
||||||
Standards-Version: 4.1.3
|
|
||||||
Homepage: https://gitlab.gnome.org/World/Phosh/squeekboard
|
|
||||||
Rules-Requires-Root: no
|
|
||||||
|
|
||||||
Package: squeekboard
|
|
||||||
Architecture: linux-any
|
|
||||||
Depends:
|
|
||||||
# for Greek polytonic readability
|
|
||||||
fonts-gfs-didot-classic,
|
|
||||||
# for the Adwaita-dark theme
|
|
||||||
gnome-themes-extra-data,
|
|
||||||
${shlibs:Depends},
|
|
||||||
${misc:Depends},
|
|
||||||
Breaks:
|
|
||||||
librem5-base (<< 24),
|
|
||||||
Description: On-screen keyboard for Wayland
|
|
||||||
Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
|
|
||||||
|
|
||||||
Package: squeekboard-devel
|
|
||||||
Architecture: linux-any
|
|
||||||
Depends:
|
|
||||||
python3,
|
|
||||||
python3-gi,
|
|
||||||
${shlibs:Depends},
|
|
||||||
${misc:Depends},
|
|
||||||
Description: Resources for making Squeekboard layouts
|
|
||||||
Tools for creating and testing Squeekboard layouts:
|
|
||||||
.
|
|
||||||
* squeekboard-entry
|
|
||||||
* squeekboard-test-layout
|
|
||||||
4
debian/rules
vendored
4
debian/rules
vendored
@ -26,3 +26,7 @@ export RUSTFLAGS = --remap-path-prefix=$(CURDIR)=/remap-pwd $(xgot)
|
|||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --builddirectory=_build --buildsystem=meson
|
dh $@ --builddirectory=_build --buildsystem=meson
|
||||||
|
|
||||||
|
# TODO: Remove this, after Squeekboard can also be built with Debian packages only.
|
||||||
|
execute_before_dh_auto_configure:
|
||||||
|
cargo vendor
|
||||||
|
|||||||
@ -58,12 +58,6 @@ $ sudo apt-get -y build-dep .
|
|||||||
|
|
||||||
For an explicit list of dependencies check the `Build-Depends` entry in the [`debian/control`](debian/control) file.
|
For an explicit list of dependencies check the `Build-Depends` entry in the [`debian/control`](debian/control) file.
|
||||||
|
|
||||||
Note: Some build-dependencies are currently unavailable in Debian Testing.
|
|
||||||
To be able to install the build-dependencies with the previously mentioned commands anyway,
|
|
||||||
rename `control` in the `debian`-folder to `control.original`,
|
|
||||||
and `control.debian-testing` to `control` before using those commands.
|
|
||||||
The remaining dependencies will then be downloaded by `cargo` when building Squeekboard.
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user