Merge branch 'workaround-for-unavailable-dependencies' into 'main'
CI: Add workaround for unavailable dependencies See merge request World/Phosh/squeekboard!633
This commit is contained in:
		@ -23,7 +23,9 @@ stages:
 | 
				
			|||||||
  - deploy
 | 
					  - deploy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
before_script:
 | 
					before_script:
 | 
				
			||||||
  - echo "deb http://deb.debian.org/debian/ experimental main" > /etc/apt/sources.list.d/experimental.list
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -46,7 +48,6 @@ build_meson:
 | 
				
			|||||||
      - _build
 | 
					      - _build
 | 
				
			||||||
    expire_in: 3h
 | 
					    expire_in: 3h
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y install -t experimental librust-serde-yaml-dev
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - apt-get -y build-dep .
 | 
				
			||||||
    - meson . _build/ -Ddepdatadir=/usr/share -Dfind_orphans=true --werror
 | 
					    - meson . _build/ -Ddepdatadir=/usr/share -Dfind_orphans=true --werror
 | 
				
			||||||
    - ninja -C _build install
 | 
					    - ninja -C _build install
 | 
				
			||||||
@ -63,9 +64,18 @@ build_deb:
 | 
				
			|||||||
      - '*.deb'
 | 
					      - '*.deb'
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - rm -f ../*.deb
 | 
					    - rm -f ../*.deb
 | 
				
			||||||
    - apt-get -y install -t experimental librust-serde-yaml-dev
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - apt-get -y build-dep .
 | 
				
			||||||
    - apt-get -y install devscripts
 | 
					    - apt-get -y install devscripts
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
 | 
					    - 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
 | 
				
			||||||
    - REV=$(git log -1 --format=%h)
 | 
					    - REV=$(git log -1 --format=%h)
 | 
				
			||||||
    - VER=$(dpkg-parsechangelog -SVersion)
 | 
					    - VER=$(dpkg-parsechangelog -SVersion)
 | 
				
			||||||
    - DEBFULLNAME="Librem5 CI"
 | 
					    - DEBFULLNAME="Librem5 CI"
 | 
				
			||||||
@ -83,7 +93,6 @@ build_reference:
 | 
				
			|||||||
    paths:
 | 
					    paths:
 | 
				
			||||||
      - _build/doc
 | 
					      - _build/doc
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y install -t experimental librust-serde-yaml-dev
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - apt-get -y build-dep .
 | 
				
			||||||
    - apt-get -y install cargo
 | 
					    - apt-get -y install cargo
 | 
				
			||||||
    - cd _build
 | 
					    - cd _build
 | 
				
			||||||
@ -98,7 +107,6 @@ test:
 | 
				
			|||||||
    - job: build_meson
 | 
					    - job: build_meson
 | 
				
			||||||
      artifacts: true
 | 
					      artifacts: true
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y install -t experimental librust-serde-yaml-dev
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - apt-get -y build-dep .
 | 
				
			||||||
    - apt-get -y install clang-tidy
 | 
					    - apt-get -y install clang-tidy
 | 
				
			||||||
    - ninja -C _build test
 | 
					    - ninja -C _build test
 | 
				
			||||||
@ -111,7 +119,6 @@ test_style:
 | 
				
			|||||||
  stage: test
 | 
					  stage: test
 | 
				
			||||||
  needs: []
 | 
					  needs: []
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - apt-get -y install -t experimental librust-serde-yaml-dev
 | 
					 | 
				
			||||||
    - apt-get -y build-dep .
 | 
					    - apt-get -y build-dep .
 | 
				
			||||||
    - tools/style-check_source
 | 
					    - tools/style-check_source
 | 
				
			||||||
  except:
 | 
					  except:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										71
									
								
								debian/control.debian-testing
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								debian/control.debian-testing
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
@ -58,6 +58,12 @@ 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