Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snap] Update base to core22 #3352

Merged
merged 1 commit into from
Aug 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .ci/snap/install_vulkan_sdk.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

TARGET_BUILD_ARCH="$("${SNAPCRAFT_PART_SRC}/.ci/snap/snapcraft_build_get_target_arch.sh")"
TARGET_BUILD_ARCH="$("${CRAFT_PART_SRC}/.ci/snap/snapcraft_build_get_target_arch.sh")"

echo "[install_vulkan_sdk.sh]"
echo "Target Arch: $TARGET_BUILD_ARCH"
Expand All @@ -10,8 +10,8 @@ if [ "$TARGET_BUILD_ARCH" = "amd64" ]; then
echo "Installing Vulkan SDK"

# Add Vulkan SDK repo
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add -
wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.231-focal.list https://packages.lunarg.com/vulkan/1.3.231/lunarg-vulkan-1.3.231-focal.list
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc
wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.231-jammy.list https://packages.lunarg.com/vulkan/1.3.231/lunarg-vulkan-1.3.231-jammy.list
apt update
apt install --yes vulkan-sdk

Expand Down
8 changes: 4 additions & 4 deletions .ci/snap/snapcraft-stable-overrides.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ parts:
source-type: git
override-pull: |
# Obtain the desired tag from the .stable_tag file
echo "SNAPCRAFT_PROJECT_DIR=$SNAPCRAFT_PROJECT_DIR"
STABLE_TAG_CONFIG="$SNAPCRAFT_PROJECT_DIR/.stable_tag"
echo "CRAFT_PROJECT_DIR=$CRAFT_PROJECT_DIR"
STABLE_TAG_CONFIG="$CRAFT_PROJECT_DIR/.stable_tag"
TAG_REF=$(cat "${STABLE_TAG_CONFIG}")
echo "TAG_REF=$TAG_REF"

snapcraftctl pull
craftctl default

echo "git submodule deinit --all"
git submodule deinit --all
Expand All @@ -23,7 +23,7 @@ parts:
git checkout "${TAG_REF}"
echo "git submodule update"
git submodule update --init
snapcraftctl set-version "$TAG_REF"
craftctl set version="$TAG_REF"

# Write out important release config environment variables
cat > .snapenv <<EOENV
Expand Down
10 changes: 5 additions & 5 deletions .ci/snap/snapcraft_build_get_target_arch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
echoerr() { echo "$@" 1>&2; }

BUILDTIME_TARGET_ARCH=""
if [ -n "${SNAPCRAFT_TARGET_ARCH}" ]; then
# SNAPCRAFT_TARGET_ARCH is available - use it!
BUILDTIME_TARGET_ARCH="${SNAPCRAFT_TARGET_ARCH}"
if [ -n "${CRAFT_TARGET_ARCH}" ]; then
# CRAFT_TARGET_ARCH is available - use it!
BUILDTIME_TARGET_ARCH="${CRAFT_TARGET_ARCH}"
else
# If SNAPCRAFT_TARGET_ARCH is not available, parse the SNAPCRAFT_ARCH_TRIPLET and convert it
case ${SNAPCRAFT_ARCH_TRIPLET%%-*} in
# If CRAFT_TARGET_ARCH is not available, parse the CRAFT_ARCH_TRIPLET and convert it
case ${CRAFT_ARCH_TRIPLET%%-*} in
x86_64)
BUILDTIME_TARGET_ARCH="amd64"
;;
Expand Down
62 changes: 28 additions & 34 deletions .snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: warzone2100 # no spaces, all lower-case
adopt-info: warzone2100 # specify the *part* name
confinement: strict
grade: stable
base: core20
base: core22

# Enable LZO compression for the snap
compression: lzo
Expand All @@ -18,17 +18,16 @@ architectures:
layout:
/usr/share/vulkan:
symlink: $SNAP/usr/share/vulkan
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so
# # Try the following once base is updated to core22
# /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_broadcom.so:
# symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_broadcom.so
# /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_freedreno.so:
# symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_freedreno.so
# /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_lvp.so:
# symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_lvp.so
/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_intel.so:
symlink: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_intel.so
/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_radeon.so:
symlink: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_radeon.so
/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_broadcom.so:
symlink: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_broadcom.so
/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_freedreno.so:
symlink: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_freedreno.so
/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_lvp.so:
symlink: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/libvulkan_lvp.so

plugs:
wz2100-sequences:
Expand All @@ -39,7 +38,7 @@ plugs:

apps:
warzone2100:
extensions: [gnome-3-38]
extensions: [gnome]
command: usr/bin/warzone2100-launcher.sh warzone2100
common-id: net.wz2100.warzone2100 # should match the appdata/metainfo file's <id> field
desktop: usr/share/applications/net.wz2100.warzone2100.desktop
Expand Down Expand Up @@ -71,8 +70,8 @@ parts:
- --disable-nas
- --disable-oss
override-build: |
snapcraftctl build
sed -i 's|"/usr"|"'"$SNAPCRAFT_STAGE/usr"'"|g' "$SNAPCRAFT_PART_INSTALL/usr/lib/cmake/SDL2/sdl2-config.cmake"
craftctl default
sed -i 's|"/usr"|"'"$CRAFT_STAGE/usr"'"|g' "$CRAFT_PART_INSTALL/usr/lib/cmake/SDL2/sdl2-config.cmake"
build-packages:
- git
- libdbus-1-dev
Expand Down Expand Up @@ -136,8 +135,8 @@ parts:
plugin: nil
source: .
override-build: |
mkdir -p "${SNAPCRAFT_PART_INSTALL}/usr/bin"
cp -av "${SNAPCRAFT_PART_SRC}/pkg/snap/warzone2100-launcher.sh" "${SNAPCRAFT_PART_INSTALL}/usr/bin/"
mkdir -p "${CRAFT_PART_INSTALL}/usr/bin"
cp -av "${CRAFT_PART_SRC}/pkg/snap/warzone2100-launcher.sh" "${CRAFT_PART_INSTALL}/usr/bin/"

warzone2100:
after: [sdl, launcher]
Expand All @@ -148,27 +147,27 @@ parts:
# and icon. Use the installed path relative to the Snap's root
- usr/share/metainfo/net.wz2100.warzone2100.appdata.xml
override-pull: |
snapcraftctl pull
craftctl default
SNAP_VERSION_DESC=$(git describe --always | sed 's/[^a-zA-Z0-9\.\:\+\~\-]/~/g')
snapcraftctl set-version "${SNAP_VERSION_DESC}"
craftctl set version="${SNAP_VERSION_DESC}"
git submodule update --init
override-build: |
echo "SNAPCRAFT_TARGET_ARCH=${SNAPCRAFT_TARGET_ARCH}"
echo "SNAPCRAFT_ARCH_TRIPLET=${SNAPCRAFT_ARCH_TRIPLET}"
echo "CRAFT_TARGET_ARCH=${CRAFT_TARGET_ARCH}"
echo "CRAFT_ARCH_TRIPLET=${CRAFT_ARCH_TRIPLET}"

# Install Vulkan SDK
. "${SNAPCRAFT_PART_SRC}/.ci/snap/install_vulkan_sdk.sh"
. "${CRAFT_PART_SRC}/.ci/snap/install_vulkan_sdk.sh"

if [ -f ".snapenv" ]; then set -a; source .snapenv; set +a; fi
set +u
if [ -z "$WZ_DISTRIBUTOR" ]; then export WZ_DISTRIBUTOR="UNKNOWN"; fi
cmake -S "$SNAPCRAFT_PART_SRC" -B. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DWZ_ENABLE_WARNINGS:BOOL=ON -DWZ_DISTRIBUTOR:STRING="${WZ_DISTRIBUTOR}" -DWZ_OUTPUT_NAME_SUFFIX="${WZ_OUTPUT_NAME_SUFFIX}" -DWZ_NAME_SUFFIX="${WZ_NAME_SUFFIX}" -G"Ninja"
cmake -S "$CRAFT_PART_SRC" -B. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DWZ_ENABLE_WARNINGS:BOOL=ON -DWZ_DISTRIBUTOR:STRING="${WZ_DISTRIBUTOR}" -DWZ_OUTPUT_NAME_SUFFIX="${WZ_OUTPUT_NAME_SUFFIX}" -DWZ_NAME_SUFFIX="${WZ_NAME_SUFFIX}" -G"Ninja"
cmake --build . -- -j$SNAPCRAFT_PARALLEL_BUILD_COUNT
DESTDIR=$SNAPCRAFT_PART_INSTALL cmake --build . -- install
DESTDIR=$CRAFT_PART_INSTALL cmake --build . -- install

# Include the icon's path in the desktop file, not just the name.
# This needs to happen post-build or the build versioning will show as "modified locally"
sed -i -E 's|Icon=(.*)|Icon=/usr/share/icons/\1.png|' $SNAPCRAFT_PART_INSTALL/usr/share/applications/net.wz2100.warzone2100.desktop
sed -i -E 's|Icon=(.*)|Icon=/usr/share/icons/\1.png|' $CRAFT_PART_INSTALL/usr/share/applications/net.wz2100.warzone2100.desktop
build-packages:
- asciidoctor
- g++
Expand Down Expand Up @@ -228,16 +227,11 @@ parts:
- warzone2100
plugin: nil
build-snaps: # List all content-snaps and base snaps you're using here
- core20
- core22
- gtk-common-themes
- gnome-3-38-2004
- gnome-42-2204
override-prime: |
set -eux
for snap in "core20" "gtk-common-themes" "gnome-3-38-2004"; do # List all content-snaps and base snaps you're using here
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
for snap in "core22" "gtk-common-themes" "gnome-42-2204"; do # List all content-snaps and base snaps you're using here
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$CRAFT_PRIME/{}" \;
done
# The following is required while using core18 + gnome-3-34
# See: https://forum.snapcraft.io/t/undefined-symbol-hb-buffer-set-invisible-glyph-with-gnome-3-34/24287
rm -f $SNAPCRAFT_PRIME/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libharfbuzz.so.0*
rm -f $SNAPCRAFT_PRIME/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libgio-2.0.so.0*
rm -f $SNAPCRAFT_PRIME/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libglib-2.0.so.0*
Loading