diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6b498672..72bc6b6c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,9 +23,6 @@ stages: - deploy 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 install ca-certificates @@ -65,17 +62,6 @@ build_deb: - '*.deb' script: - 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 install devscripts - REV=$(git log -1 --format=%h) diff --git a/debian/cargo/config b/debian/cargo/config.toml similarity index 67% rename from debian/cargo/config rename to debian/cargo/config.toml index 22f26415..48c7cd4e 100644 --- a/debian/cargo/config +++ b/debian/cargo/config.toml @@ -8,4 +8,7 @@ registry = 'https://github.com/rust-lang/crates.io-index' replace-with = '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' \ No newline at end of file diff --git a/debian/control b/debian/control index 3ad37f2d..92acf331 100644 --- a/debian/control +++ b/debian/control @@ -16,11 +16,16 @@ Build-Depends: librust-aho-corasick-dev, librust-bitflags-1-dev (>= 1.0), librust-clap-4+std-dev (>= 4.0), - 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), +# TODO: Port to GTK4/GTK4-layer-shell +# https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64 +# These dependencies have been removed from Debian. +# Building with dependencies from "crates.io", which will be +# 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-serde-derive-1-dev (>= 1.0), librust-serde-yaml-0.9-dev (>= 0.9), diff --git a/debian/control.debian-testing b/debian/control.debian-testing deleted file mode 100644 index 8cb11508..00000000 --- a/debian/control.debian-testing +++ /dev/null @@ -1,72 +0,0 @@ -Source: squeekboard -Section: x11 -Priority: optional -Maintainer: Dorota Czaplejewicz -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 diff --git a/debian/rules b/debian/rules index f4755666..5636b647 100755 --- a/debian/rules +++ b/debian/rules @@ -26,3 +26,7 @@ export RUSTFLAGS = --remap-path-prefix=$(CURDIR)=/remap-pwd $(xgot) %: 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 diff --git a/doc/hacking.md b/doc/hacking.md index 10841ff9..d370561f 100644 --- a/doc/hacking.md +++ b/doc/hacking.md @@ -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. -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 -------