From 5ef1706431c49b103b6375412e4ce4d928d3aa74 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Thu, 8 May 2025 17:15:30 +0300 Subject: [PATCH] Initial Commit --- pkg.info | 9 +++++++++ source.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 pkg.info create mode 100644 source.sh diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..a55fa61 --- /dev/null +++ b/pkg.info @@ -0,0 +1,9 @@ +name: mesa +description: Open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more +version: 24.3.4 +url: https://www.mesa3d.org/ +license: MIT and BSD-3-Clause and SGI-B-2.0 +architecture: any +depends: ["expat","gcc","glibc","libdrm","libelf","libglvnd","libx11","libxcb","libxext","libxshmfence","libxfixes","libxxf86vm","llvm","spirv-tools","zlib","zstd"] +make_depends: ["cbindgen","glslang","libclc","libva","libvdpau","libxrandr","meson","python-mako","python-ply","python-pyyaml","python-setuptools","rust-bindgen","rustc","valgrind","vulkan-loader","wayland-protocols","xcb-util-keysyms","xorgproto"] +type: source diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..137dacf --- /dev/null +++ b/source.sh @@ -0,0 +1,54 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +DOWNLOAD="https://archive.mesa3d.org/mesa-${BPM_PKG_VERSION}.tar.xz" +#DOWNLOAD="https://mesa.freedesktop.org/archive/mesa-${BPM_PKG_VERSION}.tar.xz" +FILENAME="${DOWNLOAD##*/}" + +# The prepare function is executed in the root of the temp directory +# This function is used for downloading files and putting them into the correct location +prepare() { + wget "$DOWNLOAD" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + mkdir build + cd build + + meson setup --prefix=/usr \ + --libdir=/usr/lib \ + --buildtype=release \ + -Dbuild-tests=true \ + -Dplatforms=x11,wayland \ + -Dgallium-drivers=auto \ + -Dvulkan-drivers=auto \ + -Dglvnd=enabled \ + -Dvalgrind=enabled \ + -Dvideo-codecs=all \ + -Dlibunwind=disabled .. + ninja +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + cd build + ninja test +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + cd build + DESTDIR="$BPM_OUTPUT" ninja install + + install -d "$BPM_OUTPUT"/usr/share/licenses/mesa + cp ../docs/license.rst "$BPM_OUTPUT"/usr/share/licenses/mesa/license.rst + + install -d "$BPM_OUTPUT"/usr/share/doc/ + cp -r ../docs/ "$BPM_OUTPUT"/usr/share/doc/mesa +}