Skip to content
Merged
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
96 changes: 62 additions & 34 deletions snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ grade: stable
base: core24
platforms:
amd64:
arm64:
compression: lzo

slots:
Expand All @@ -32,6 +33,13 @@ package-repositories:
architectures: [amd64, i386]
key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C
key-server: keyserver.ubuntu.com
- type: apt
url: http://ports.ubuntu.com/ubuntu-ports/
suites: [noble, noble-updates]
components: [main, universe]
architectures: [arm64]
key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C
key-server: keyserver.ubuntu.com
- type: apt
# FIXME: We need to enable both 32-bit and 64-bit architectures
# for this PPA, but Snapcraft doesn't let us do that with the
Expand All @@ -41,7 +49,7 @@ package-repositories:
url: http://ppa.launchpad.net/kisak/kisak-mesa/ubuntu
suites: [noble]
components: [main]
architectures: [amd64, i386]
architectures: [amd64, i386, arm64]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't get any arm64 packages from the kisak PPAs, so lets not include that in the architectures list.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do, right? https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa/+packages shows builds for arm64, and my on arm64 section stages some of the mesa packages provided by that PPA.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do, right? https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa/+packages shows builds for arm64, and my on arm64 section stages some of the mesa packages provided by that PPA.

Oh, you are right! I'm surprised they build for other arches.

key-id: EB8B81E14DA65431D7504EA8F63F0F2B90935439
key-server: keyserver.ubuntu.com

Expand All @@ -51,32 +59,51 @@ parts:
build-packages:
- execstack
stage-packages:
- libdrm2:i386
- libdrm2:amd64
- libglx-mesa0:i386
- libglx-mesa0:amd64
- libgl1:i386
- libgl1:amd64
- libgl1-mesa-dri:i386
- libgl1-mesa-dri:amd64
- libvkd3d1:amd64
- mesa-va-drivers:amd64
- mesa-va-drivers:i386
- mesa-vdpau-drivers:amd64
- mesa-vdpau-drivers:i386
- mesa-vulkan-drivers:amd64
- mesa-vulkan-drivers:i386
- va-driver-all:amd64
- va-driver-all:i386
- va-driver:i386
- libvdpau-va-gl1:amd64
- libdrm-common
- vulkan-tools # For testing/debugging
- mesa-utils # For testing/debugging
# Only needed in the kisak branches, oibaf picks these up from the PPA
- libxml2:i386
- libxml2:amd64
- libstdc++6
- on amd64:
- libdrm2:i386
- libdrm2:amd64
- libglx-mesa0:i386
- libglx-mesa0:amd64
- libgl1:i386
- libgl1:amd64
- libgl1-mesa-dri:i386
- libgl1-mesa-dri:amd64
- libvkd3d1:amd64
- mesa-va-drivers:amd64
- mesa-va-drivers:i386
- mesa-vdpau-drivers:amd64
- mesa-vdpau-drivers:i386
- mesa-vulkan-drivers:amd64
- mesa-vulkan-drivers:i386
- va-driver-all:amd64
- va-driver-all:i386
- va-driver:i386
- libvdpau-va-gl1:amd64
- libdrm-common
- vulkan-tools # For testing/debugging
- mesa-utils # For testing/debugging
# Only needed in the kisak branches, oibaf picks these up from the PPA
- libxml2:i386
- libxml2:amd64
- libstdc++6
- on arm64:
- libdrm2
- libglx-mesa0
- libgl1
- libgl1-mesa-dri
- libvkd3d1
- mesa-va-drivers
- mesa-vdpau-drivers
- mesa-vulkan-drivers
- va-driver-all
- libvdpau-va-gl1
- va-driver
- libdrm-common
- vulkan-tools # For testing/debugging
- mesa-utils # For testing/debugging
# Only needed in the kisak branches, oibaf picks these up from the PPA
- libxml2
- libstdc++6
stage:
- -usr/share/doc
- -usr/share/man
Expand All @@ -94,10 +121,11 @@ parts:
craftctl default
# Set the snap version from the mesa package version
craftctl set version=$(dpkg-parsechangelog -l $CRAFT_PART_INSTALL/usr/share/doc/mesa-va-drivers/changelog*gz -S Version | cut -c -32)
# Clear execstack
for f in usr/lib/*/libvkd3d-shader.so.* usr/lib/*/libvkd3d.so.*; do
if [ -f $f ]; then
execstack -c $f
fi
done

if [[ "$CRAFT_ARCH_BUILD_FOR" == "amd64" ]]; then
# Clear execstack
for f in usr/lib/*/libvkd3d-shader.so.* usr/lib/*/libvkd3d.so.*; do
if [ -f $f ]; then
execstack -c $f
fi
done
fi