Skip to content

Commit

Permalink
[Snap] Update base to core22
Browse files Browse the repository at this point in the history
  • Loading branch information
past-due committed Aug 23, 2023
1 parent abe1a33 commit acd4dfe
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 46 deletions.
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*

0 comments on commit acd4dfe

Please sign in to comment.