diff --git a/.github/release-debian-v3 b/.github/release-debian-v3 new file mode 100644 index 0000000..9d60796 --- /dev/null +++ b/.github/release-debian-v3 @@ -0,0 +1 @@ +11 \ No newline at end of file diff --git a/.github/workflows/release-debian-v3.yml b/.github/workflows/release-debian-v3.yml new file mode 100755 index 0000000..c8de2ec --- /dev/null +++ b/.github/workflows/release-debian-v3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (amd64-v3 on debian) + +on: + push: + branches: + - main + paths: + - '.github/release-debian-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: debian:sid + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - name: Update APT Cache + run: apt-get update -y && apt install -y git devscripts dh-make nodejs npm sudo rsync ssh + + - uses: actions/checkout@v3 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/debian/control b/debian/control index 2f79fd0..19bbf20 100644 --- a/debian/control +++ b/debian/control @@ -1,14 +1,16 @@ Source: mesa Section: graphics Priority: optional -Maintainer: Debian X Strike Force -Uploaders: Andreas Boll +Maintainer: Ki'Sak +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Ki'Sak Standards-Version: 4.1.4 Build-Depends: debhelper-compat (= 13), directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], flatbuffers-compiler [linux-arm64], glslang-tools [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + glslang-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], meson (>= 1.4.0), quilt (>= 0.63-8.2~), pkgconf, @@ -49,24 +51,23 @@ Build-Depends: libelf-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], libwayland-dev (>= 1.15.0) [linux-any], libwayland-egl-backend-dev (>= 1.15.0) [linux-any], - llvm-18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclang-18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclang-cpp18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclc-18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclc-18 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclc-15 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + llvm-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclang-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclang-cpp17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclc-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclc-17 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], wayland-protocols (>= 1.34), zlib1g-dev, libglvnd-core-dev (>= 1.3.2), valgrind [amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x], - rustc (>= 1.73) [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], - rustfmt [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], - bindgen (>= 0.66.1~) [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], - cbindgen [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], - llvm-spirv-18 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], - libllvmspirvlib-18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - librust-paste-dev [amd64 arm64 armhf i386 ppc64 riscv64 x32], - librust-syn-dev (>= 2.0.68) [amd64 arm64 armhf i386 ppc64 riscv64 x32], + rustc (>= 1.73) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + rustfmt [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + bindgen (>= 0.66.1~) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + cbindgen [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + llvm-spirv-17 [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + libllvmspirvlib-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + librust-paste-dev [amd64 arm64 armhf ppc64 riscv64 x32], + librust-syn-dev [amd64 arm64 armhf ppc64 riscv64 x32], Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa @@ -420,7 +421,7 @@ Section: libs Architecture: amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 Pre-Depends: ${misc:Pre-Depends} Depends: - libclc-18, + libclc-17, ocl-icd-libopencl1 | libopencl1, ${shlibs:Depends}, ${misc:Depends}, diff --git a/debian/control.in b/debian/control.in index 0e896f2..7ea22a3 100644 --- a/debian/control.in +++ b/debian/control.in @@ -1,14 +1,16 @@ Source: mesa Section: graphics Priority: optional -Maintainer: Debian X Strike Force -Uploaders: Andreas Boll +Maintainer: Ki'Sak +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Ki'Sak Standards-Version: 4.1.4 Build-Depends: debhelper-compat (= 13), directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], flatbuffers-compiler [linux-arm64], glslang-tools [@LLVM_ARCHS@], + glslang-dev [@LLVM_ARCHS@], meson (>= 1.4.0), quilt (>= 0.63-8.2~), pkgconf, @@ -54,7 +56,6 @@ Build-Depends: libclang-cpp@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclc-@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclc-@LLVM_VERSION@ [@LLVM_ARCHS@], - libclc-15 [@LLVM_ARCHS@], wayland-protocols (>= 1.34), zlib1g-dev, libglvnd-core-dev (>= 1.3.2), @@ -66,7 +67,7 @@ Build-Depends: llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@], libllvmspirvlib-@LLVM_VERSION@-dev [@LLVM_ARCHS@], librust-paste-dev [@NVK_ARCHS@], - librust-syn-dev (>= 2.0.68) [@NVK_ARCHS@], + librust-syn-dev [@NVK_ARCHS@], Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa diff --git a/debian/mesa-vulkan-drivers.install b/debian/mesa-vulkan-drivers.install index 12f72b2..f119c62 100644 --- a/debian/mesa-vulkan-drivers.install +++ b/debian/mesa-vulkan-drivers.install @@ -1,7 +1,9 @@ usr/bin/mesa-overlay-control.py +#dozen usr/bin/spirv2dxil usr/share/drirc.d/00-radv-defaults.conf usr/share/vulkan/explicit_layer.d/*.json usr/share/vulkan/icd.d/*.json usr/share/vulkan/implicit_layer.d/*.json usr/lib/*/libvulkan_*.so usr/lib/*/libVkLayer_*.so +#dozen usr/lib/*/libspirv_to_dxil.* diff --git a/debian/rules b/debian/rules index a4daf4a..7812fff 100755 --- a/debian/rules +++ b/debian/rules @@ -13,10 +13,11 @@ DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) # for finding the correct llvm-config when meson doesn't know about it yet -LLVM_VERSION = 18 +LLVM_VERSION = 17 export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH) export DEB_BUILD_MAINT_OPTIONS=optimize=-lto +export MESON_PACKAGE_CACHE_DIR=/usr/share/cargo/registry/ DEB_CFLAGS_MAINT_APPEND := -Wall DEB_CXXFLAGS_MAINT_APPEND := -Wall @@ -43,7 +44,7 @@ buildflags = $(shell \ dpkg-buildflags --export=configure) EGL_PLATFORMS = x11 -GALLIUM_DRIVERS = softpipe +GALLIUM_DRIVERS = VULKAN_DRIVERS = VULKAN_LAYERS = @@ -53,13 +54,14 @@ confflags_SSE2 = -Dsse2=true confflags_TEFLON = -Dteflon=false LLVM_ARCHS = amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 -RUSTICL_ARCHS = amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32 -NVK_ARCHS = amd64 arm64 armhf i386 ppc64 riscv64 x32 +RUSTICL_ARCHS = amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32 +NVK_ARCHS = amd64 arm64 armhf ppc64 riscv64 x32 VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x WINE_ARCHS = amd64 arm64 armel armhf i386 # hurd doesn't do direct rendering ifeq ($(DEB_HOST_ARCH_OS), hurd) + GALLIUM_DRIVERS += softpipe confflags_DIRECT_RENDERING = -Dglx-direct=false confflags_GBM = -Dgbm=disabled else @@ -108,8 +110,11 @@ else endif # WSL supports only amd64 and arm64 + DOZEN_INSTALLED=no ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64)) GALLIUM_DRIVERS += d3d12 + VULKAN_DRIVERS += microsoft-experimental + DOZEN_INSTALLED=yes endif # LLVM is required for building r300g, radeonsi and llvmpipe drivers. @@ -134,7 +139,6 @@ else endif ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS))) - export MESON_PACKAGE_CACHE_DIR=/usr/share/cargo/registry/ VULKAN_DRIVERS += nouveau endif @@ -143,6 +147,7 @@ else confflags_GALLIUM += -Dgallium-nine=true endif else + GALLIUM_DRIVERS += softpipe confflags_GALLIUM += -Dllvm=disabled endif @@ -209,7 +214,6 @@ rewrite_wrap_files: touch subprojects/rewrite override_dh_clean: regen_control - dpkg-parsechangelog | awk '/^Version:/ {print $$2}' | sed 's/-.*//;s/~/-/' > VERSION rm -rf .pc rm -rf build rm -rf configure bin/config.guess bin/config.sub config.h.in @@ -227,7 +231,6 @@ override_dh_clean: regen_control dh_clean override_dh_auto_configure: rewrite_wrap_files - dpkg-parsechangelog | awk '/^Version:/ {print $$2}' > VERSION $(buildflags) dh_auto_configure -- \ $(confflags) @@ -294,6 +297,11 @@ override_dh_install: debian/mesa-opencl-icd/usr/lib/${DEB_HOST_MULTIARCH}/ endif + # Conditionally enable install of dozen files + if test "$(DOZEN_INSTALLED)" = "yes"; then \ + sed -i -e "s|#dozen\ ||g" debian/mesa-vulkan-drivers.install; \ + fi + dh_install -a # Install bug control and script: diff --git a/debian/source/local-options b/debian/source/local-options deleted file mode 100644 index d15e007..0000000 --- a/debian/source/local-options +++ /dev/null @@ -1,27 +0,0 @@ -# ignore symlinks from git, use source files from the tarball -extend-diff-ignore = src/mesa/drivers/dri/r200/.*radeon_.* - -## The following files aren't shipped in the upstream tarball - -# Android Makefiles -extend-diff-ignore = Android.*mk|CleanSpec\.mk - -# coding-style and other config files -extend-diff-ignore = \.clang-format|\.dir-locals\.el|\.editorconfig|\.mailmap|\.travis\.yml|appveyor\.yml - -# misc. files and scripts used by Mesa developers but not required for the build -extend-diff-ignore = include/drm-uapi/README|src/compiler/glsl/int64\.glsl|src/compiler/nir/README|src/gallium/drivers/vc4/kernel/README|src/util/sha1/README|REVIEWERS|scripts/get_reviewer\.pl|bin/\.cherry-ignore|bin/bugzilla_mesa\.sh|bin/get-extra-pick-list\.sh|bin/get-fixes-pick-list\.sh|bin/get-pick-list\.sh|bin/get-typod-pick-list\.sh|bin/perf-annotate-jit|bin/shortlog_mesa\.sh|src/intel/blorp/TODO|src/mesa/drivers/dri/gen-symbol-redefs\.py|src/mesa/drivers/dri/r200/Doxyfile - -# radeonsi GLSL lit tests (for developers only) -extend-diff-ignore = src/gallium/drivers/radeonsi/glsl_tests/ - -# dead code -extend-diff-ignore = src/gallium/auxiliary/gallivm/f.cpp - -# empty Makefile.sources -extend-diff-ignore = src/gallium/drivers/pl111/Makefile.sources - -# CI -extend-diff-ignore = .gitlab-ci|.gitlab-ci.yml - -extend-diff-ignore = VERSION diff --git a/debian/upstream/metadata b/debian/upstream/metadata deleted file mode 100644 index 6a1aa29..0000000 --- a/debian/upstream/metadata +++ /dev/null @@ -1,4 +0,0 @@ -Bug-Database: https://gitlab.freedesktop.org/mesa/mesa/-/issues -Bug-Submit: https://gitlab.freedesktop.org/mesa/mesa/-/issues/new -Repository: https://gitlab.freedesktop.org/mesa/mesa.git -Repository-Browse: https://gitlab.freedesktop.org/mesa/mesa diff --git a/debian/watch b/debian/watch index eef874d..3f32f31 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,4 @@ +#git=git://anongit.freedesktop.org/mesa/mesa version=3 opts="uversionmangle=s/-rc/~rc/,dversionmangle=s/\+repack//,pgpsigurlmangle=s/$/.sig/,pasv" \ https://mesa.freedesktop.org/archive/mesa-(.*)\.tar\.xz