Compare commits

..

1 Commits
main ... lunar

Author SHA1 Message Date
Ward from fusion-voyager-3
d7cb625189 24.0 2023-11-22 19:20:50 +03:00
42 changed files with 1866 additions and 633 deletions

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
2

View File

@ -1 +0,0 @@
4

View File

@ -1 +0,0 @@
2

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (Canary) (i386)
on:
push:
branches:
- main
paths:
- '.github/build-canary-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryi386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (Canary) (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/build-canary-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (i386)
on:
push:
branches:
- main
paths:
- '.github/build-nest-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nesti386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/build-nest-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (Canary) (i386)
on:
push:
branches:
- main
paths:
- '.github/release-canary-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryi386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (Canary) (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/release-canary-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- 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

View File

@ -1,40 +0,0 @@
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

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (i386)
on:
push:
branches:
- main
paths:
- '.github/release-nest-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nesti386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/release-nest-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- 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: Update APT Cache
run: apt-get update -y
- 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

49
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: PikaOS Package Release
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-package-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- 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: Update apt cache
run: apt-get update -y
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh
- name: Purge cache
uses: strrife/cloudflare-chunked-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
PURGE_URLS: ${{ vars.PURGE_URLS }}

49
.github/workflows/release_i386.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: PikaOS Package Release (i386)
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-i386-package-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- 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: Update apt cache
run: apt-get update -y
- name: Build Package
run: ./main32.sh
- name: Release Package
run: ./release.sh
- name: Purge cache
uses: strrife/cloudflare-chunked-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
PURGE_URLS: ${{ vars.PURGE_URLS }}

View File

@ -1,24 +0,0 @@
MIT License (With DPKG packaging compatibility)
Copyright (c) 2024 PikaOS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Notes:
The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT.

71
debian/control vendored
View File

@ -2,28 +2,26 @@ Source: mesa-git
Section: graphics Section: graphics
Priority: optional Priority: optional
Maintainer: First Mate Rummey <fmrummey@gmail.com> Maintainer: First Mate Rummey <fmrummey@gmail.com>
XSBC-Original-Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> XSBC-Original-Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Uploaders: Andreas Boll <aboll@debian.org> Uploaders: Andreas Boll <aboll@debian.org>
Standards-Version: 4.1.4 Standards-Version: 4.1.4
Build-Depends: Build-Depends:
debhelper-compat (= 13), debhelper-compat (= 12),
directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], directx-headers-dev (>= 1.602.0) [linux-amd64 linux-arm64],
flatbuffers-compiler [linux-arm64], glslang-tools [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
glslang-tools [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], meson (>= 0.45),
meson (>= 1.4.0),
quilt (>= 0.63-8.2~), quilt (>= 0.63-8.2~),
pkgconf, pkg-config,
libdrm-dev (>= 2.4.121), libdrm-dev (>= 2.4.107-4),
libx11-dev, libx11-dev,
libxxf86vm-dev, libxxf86vm-dev,
libexpat1-dev, libexpat1-dev,
libflatbuffers-dev [linux-arm64],
libsensors-dev [!hurd-any], libsensors-dev [!hurd-any],
libxfixes-dev, libxfixes-dev,
libxext-dev, libxext-dev,
libva-dev (>= 1.6.0) [linux-any] <!pkg.mesa.nolibva>, libva-dev (>= 1.6.0) [linux-any kfreebsd-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.5) [linux-any], libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
libvulkan-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], libvulkan-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
x11proto-dev, x11proto-dev,
linux-libc-dev (>= 2.6.31) [linux-any], linux-libc-dev (>= 2.6.31) [linux-any],
libx11-xcb-dev, libx11-xcb-dev,
@ -37,39 +35,31 @@ Build-Depends:
libxcb-sync-dev, libxcb-sync-dev,
libxrandr-dev, libxrandr-dev,
libxshmfence-dev (>= 1.1), libxshmfence-dev (>= 1.1),
libxtensor-dev [linux-arm64],
libzstd-dev, libzstd-dev,
lua5.4 [arm64 armel armhf],
python3, python3,
python3-mako, python3-mako,
python3-ply, python3-ply,
python3-yaml,
python3-pycparser [arm64 armhf],
python3-setuptools, python3-setuptools,
flex, flex,
bison, bison,
libelf-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], libelf-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libwayland-dev (>= 1.15.0) [linux-any], libwayland-dev (>= 1.15.0) [linux-any],
libwayland-egl-backend-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], llvm-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel 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-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclang-cpp18-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], libclang-cpp15-dev [amd64 arm64 armel armhf i386 mips64el mipsel 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-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclc-18 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], wayland-protocols (>= 1.24),
wayland-protocols (>= 1.34),
zlib1g-dev, zlib1g-dev,
libglvnd-core-dev (>= 1.3.2), libglvnd-core-dev (>= 1.3.2),
valgrind [amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x], valgrind [amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x],
rustc (>= 1.73) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], rustc [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
rustfmt [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], bindgen [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
bindgen (>= 0.66.1~) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], llvm-spirv-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
cbindgen [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], libclc-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
llvm-spirv-18 [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], libllvmspirvlib-15-dev,
libllvmspirvlib-18-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 Rules-Requires-Root: no
Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs: https://salsa.debian.org/xorg-team/lib/mesa.git
Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa
Homepage: https://mesa3d.org/ Homepage: https://mesa3d.org/
@ -286,19 +276,6 @@ Multi-Arch: same
Description: transitional dummy package Description: transitional dummy package
This is a transitional dummy package, it can be safely removed. This is a transitional dummy package, it can be safely removed.
Package: mesa-teflon-delegate-git
Section: libs
Architecture: arm64
Depends:
${shlibs:Depends},
${misc:Depends},
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Description: Mesa TensorFlow Lite external delegate
TensorFlow Lite delegate which can make use of NPUs to accelerate ML
inference. It is implemented in the form of a external delegate, a shared
library which the TensorFlow Lite runtime can load at startup.
Package: libegl1-mesa-git-dev Package: libegl1-mesa-git-dev
Section: libdevel Section: libdevel
Architecture: any Architecture: any
@ -586,7 +563,7 @@ Section: libs
Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
Depends: libmesa-git, Depends: libmesa-git,
libclc-17, libclc-15,
ocl-icd-libopencl1 | libopencl1, ocl-icd-libopencl1 | libopencl1,
${shlibs:Depends}, ${shlibs:Depends},
${misc:Depends}, ${misc:Depends},

38
debian/control.in vendored
View File

@ -2,27 +2,25 @@ Source: mesa-git
Section: graphics Section: graphics
Priority: optional Priority: optional
Maintainer: First Mate Rummey <fmrummey@gmail.com> Maintainer: First Mate Rummey <fmrummey@gmail.com>
XSBC-Original-Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> XSBC-Original-Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Uploaders: Andreas Boll <aboll@debian.org> Uploaders: Andreas Boll <aboll@debian.org>
Standards-Version: 4.1.4 Standards-Version: 4.1.4
Build-Depends: Build-Depends:
debhelper-compat (= 13), debhelper-compat (= 12),
directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], directx-headers-dev (>= 1.602.0) [linux-amd64 linux-arm64],
flatbuffers-compiler [linux-arm64],
glslang-tools [@LLVM_ARCHS@], glslang-tools [@LLVM_ARCHS@],
meson (>= 1.4.0), meson (>= 0.45),
quilt (>= 0.63-8.2~), quilt (>= 0.63-8.2~),
pkgconf, pkg-config,
libdrm-dev (>= 2.4.121), libdrm-dev (>= 2.4.107-4),
libx11-dev, libx11-dev,
libxxf86vm-dev, libxxf86vm-dev,
libexpat1-dev, libexpat1-dev,
libflatbuffers-dev [linux-arm64],
libsensors-dev [!hurd-any], libsensors-dev [!hurd-any],
libxfixes-dev, libxfixes-dev,
libxext-dev, libxext-dev,
libva-dev (>= 1.6.0) [linux-any] <!pkg.mesa.nolibva>, libva-dev (>= 1.6.0) [linux-any kfreebsd-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.5) [linux-any], libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
libvulkan-dev [@LLVM_ARCHS@], libvulkan-dev [@LLVM_ARCHS@],
x11proto-dev, x11proto-dev,
linux-libc-dev (>= 2.6.31) [linux-any], linux-libc-dev (>= 2.6.31) [linux-any],
@ -37,14 +35,10 @@ Build-Depends:
libxcb-sync-dev, libxcb-sync-dev,
libxrandr-dev, libxrandr-dev,
libxshmfence-dev (>= 1.1), libxshmfence-dev (>= 1.1),
libxtensor-dev [linux-arm64],
libzstd-dev, libzstd-dev,
lua5.4 [arm64 armel armhf],
python3, python3,
python3-mako, python3-mako,
python3-ply, python3-ply,
python3-yaml,
python3-pycparser [arm64 armhf],
python3-setuptools, python3-setuptools,
flex, flex,
bison, bison,
@ -55,21 +49,17 @@ Build-Depends:
libclang-@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclang-@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclang-cpp@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclang-cpp@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclc-@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclc-@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclc-@LLVM_VERSION@ [@LLVM_ARCHS@], wayland-protocols (>= 1.24),
wayland-protocols (>= 1.34),
zlib1g-dev, zlib1g-dev,
libglvnd-core-dev (>= 1.3.2), libglvnd-core-dev (>= 1.3.2),
valgrind [@VALGRIND_ARCHS@], valgrind [@VALGRIND_ARCHS@],
rustc (>= 1.73) [@RUSTICL_ARCHS@], rustc [@RUSTICL_ARCHS@],
rustfmt [@RUSTICL_ARCHS@], bindgen [@RUSTICL_ARCHS@],
bindgen (>= 0.66.1~) [@RUSTICL_ARCHS@],
cbindgen [@RUSTICL_ARCHS@],
llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@], llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@],
libllvmspirvlib-@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclc-@LLVM_VERSION@ [@RUSTICL_ARCHS@],
librust-paste-dev [@NVK_ARCHS@], libllvmspirvlib-@LLVM_VERSION@-dev,
librust-syn-dev [@NVK_ARCHS@],
Rules-Requires-Root: no Rules-Requires-Root: no
Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs: https://salsa.debian.org/xorg-team/lib/mesa.git
Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa
Homepage: https://mesa3d.org/ Homepage: https://mesa3d.org/

2
debian/libegl-mesa0-git.symbols vendored Normal file
View File

@ -0,0 +1,2 @@
libEGL_mesa.so.0 libegl-mesa0-git #MINVER#
__egl_Main@Base 17.0.0~

40
debian/libgbm1-git.symbols vendored Normal file
View File

@ -0,0 +1,40 @@
libgbm.so.1 libgbm1-git #MINVER#
| libgbm1-private
gbm_bo_create@Base 7.11~1
gbm_bo_create_with_modifiers2@Base 21.3.0~rc1
gbm_bo_create_with_modifiers@Base 17.1.0~rc2
gbm_bo_destroy@Base 7.11~1
gbm_bo_get_bpp@Base 17.3.0~rc1
gbm_bo_get_device@Base 8.1~0
gbm_bo_get_fd@Base 10.2~0
gbm_bo_get_fd_for_plane@Base 21.1.0
gbm_bo_get_format@Base 8.1~0
gbm_bo_get_handle@Base 7.11~1
gbm_bo_get_handle_for_plane@Base 17.1.0~rc2
gbm_bo_get_height@Base 7.11~1
gbm_bo_get_modifier@Base 17.1.0~rc2
gbm_bo_get_offset@Base 17.1.0~rc2
gbm_bo_get_plane_count@Base 17.1.0~rc2
gbm_bo_get_stride@Base 8.1~0
gbm_bo_get_stride_for_plane@Base 17.1.0~rc2
gbm_bo_get_user_data@Base 8.1~0
gbm_bo_get_width@Base 7.11~1
gbm_bo_import@Base 8.1~0
gbm_bo_map@Base 12.0.0~0
gbm_bo_set_user_data@Base 8.1~0
gbm_bo_unmap@Base 12.0.0~0
gbm_bo_write@Base 8.1~0
gbm_create_device@Base 7.11~1
gbm_device_destroy@Base 7.11~1
gbm_device_get_backend_name@Base 7.11~1
gbm_device_get_fd@Base 7.11~1
gbm_device_get_format_modifier_plane_count@Base 17.3.0~rc1
gbm_device_is_format_supported@Base 8.1~0
gbm_format_get_name@Base 19.0.0~rc5
gbm_surface_create@Base 8.1~0
gbm_surface_create_with_modifiers2@Base 21.3.0~rc1
gbm_surface_create_with_modifiers@Base 17.1.0~rc2
gbm_surface_destroy@Base 8.1~0
gbm_surface_has_free_buffers@Base 8.1~0
gbm_surface_lock_front_buffer@Base 8.1~0
gbm_surface_release_buffer@Base 8.1~0

View File

@ -1,2 +1 @@
usr/share/drirc.d/00-mesa-defaults.conf usr/share/drirc.d/00-mesa-defaults.conf
usr/lib/*/libgallium-*.so

1300
debian/libglx-mesa0-git.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

6
debian/libglx-mesa0.symbols-git.hurd vendored Normal file
View File

@ -0,0 +1,6 @@
libGLX_mesa.so.0 libglx-mesa0-git
__glx_Main@Base 17.0.0~
glAreTexturesResidentEXT@Base 0
glDeleteTexturesEXT@Base 0
glGenTexturesEXT@Base 0
glIsTextureEXT@Base 0

35
debian/libxatracker2-git.symbols vendored Normal file
View File

@ -0,0 +1,35 @@
libxatracker.so.2 libxatracker2-git #MINVER#
xa_composite_allocation@Base 0
xa_composite_check_accelerated@Base 0
xa_composite_done@Base 0
xa_composite_prepare@Base 0
xa_composite_rect@Base 0
xa_context_create@Base 0
xa_context_default@Base 0
xa_context_destroy@Base 0
xa_context_flush@Base 0
xa_copy@Base 0
xa_copy_done@Base 0
xa_copy_prepare@Base 0
xa_fence_destroy@Base 0
xa_fence_get@Base 0
xa_fence_wait@Base 0
xa_format_check_supported@Base 0
xa_solid@Base 0
xa_solid_done@Base 0
xa_solid_prepare@Base 0
xa_surface_create@Base 0
xa_surface_dma@Base 0
xa_surface_format@Base 0
xa_surface_from_handle2@Base 11.1.0~
xa_surface_from_handle@Base 0
xa_surface_handle@Base 0
xa_surface_map@Base 0
xa_surface_redefine@Base 0
xa_surface_ref@Base 0
xa_surface_unmap@Base 0
xa_surface_unref@Base 0
xa_tracker_create@Base 0
xa_tracker_destroy@Base 0
xa_tracker_version@Base 0
xa_yuv_planar_blit@Base 0

View File

@ -5,3 +5,6 @@ usr/share/vulkan/icd.d/*.json
usr/share/vulkan/implicit_layer.d/*.json usr/share/vulkan/implicit_layer.d/*.json
usr/lib/*/libvulkan_*.so usr/lib/*/libvulkan_*.so
usr/lib/*/libVkLayer_*.so usr/lib/*/libVkLayer_*.so
# microsoft
#usr/bin/spirv2dxil
#usr/lib/x86_64-linux-gnu/libspirv_to_dxil.*

View File

@ -0,0 +1,35 @@
From a4f14e7239780b02af8d74669c5458d4b0957d4d Mon Sep 17 00:00:00 2001
From: Roland Stigge <stigge@antcom.de>
Date: Sun, 2 Mar 2014 19:52:56 +0100
Subject: [PATCH] gallium: fix build failure on powerpcspe
In the case of powerpc, mesa activates some altivec instructions
that are unknown on the powerpcspe architecture (see
https://wiki.debian.org/PowerPCSPEPort), causing a build failure as the
'vand' opcode is not recognized by the assembler.
This patch fixes this by preventing the PPC-specialcasing in case of
powerpcspe (__NO_FPRS__ is only defined there).
https://bugs.debian.org/695746
---
src/gallium/include/pipe/p_config.h | 2 ++
1 file changed, 2 insertions(+)
--- a/src/util/detect_arch.h
+++ b/src/util/detect_arch.h
@@ -70,12 +70,14 @@
#endif
#endif
+#ifndef __NO_FPRS__
#if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__) || defined(__PPC64__)
#define DETECT_ARCH_PPC 1
#if defined(__ppc64__) || defined(__PPC64__)
#define DETECT_ARCH_PPC_64 1
#endif
#endif
+#endif
#if defined(__s390x__)
#define DETECT_ARCH_S390 1

153
debian/patches/revert-af1ee8e01044.diff vendored Normal file
View File

@ -0,0 +1,153 @@
From 0c3587a2f8e1b6cfadf9a4bbb6ae4b2c3e14a651 Mon Sep 17 00:00:00 2001
From: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Date: Sun, 10 Apr 2022 22:54:36 -0300
Subject: [PATCH] Revert "egl/wayland: deprecate drm_handle_format() and
drm_handle_capabilities()"
Commit af1ee8e010441f8f2ed8c77065b159652a4ac9fe dropped support to
wl_drm, as we thought that most compositors from active projects were
already supporting zwp_linux_dmabuf_v1.
But that's not true, so revert this commit in order to give these
projects a longer transition period.
Note that we didn't add back the support to GEM name API, and that was
on purpose.
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
---
src/egl/drivers/dri2/egl_dri2.h | 1 +
src/egl/drivers/dri2/platform_wayland.c | 59 +++++++++++++++++++------
2 files changed, 47 insertions(+), 13 deletions(-)
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index 89158993efdd..1c840a966b3c 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -284,6 +284,7 @@ struct dri2_egl_display
struct zwp_linux_dmabuf_feedback_v1 *wl_dmabuf_feedback;
struct dmabuf_feedback_format_table format_table;
bool authenticated;
+ uint32_t capabilities;
char *device_name;
#endif
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index e9ecf6d1e716..19fad8bfa08e 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -1344,7 +1344,7 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy,
struct dri2_egl_surface *dri2_surf,
__DRIimage *image)
{
- struct wl_buffer *ret;
+ struct wl_buffer *ret = NULL;
EGLBoolean query;
int width, height, fourcc, num_planes;
uint64_t modifier = DRM_FORMAT_MOD_INVALID;
@@ -1448,11 +1448,28 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy,
ret = zwp_linux_buffer_params_v1_create_immed(params, width, height,
fourcc, 0);
zwp_linux_buffer_params_v1_destroy(params);
+ } else {
+ struct wl_drm *wl_drm =
+ dri2_surf ? dri2_surf->wl_drm_wrapper : dri2_dpy->wl_drm;
+ int fd, stride;
+
+ if (num_planes > 1)
+ return NULL;
+
+ query = dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_FD, &fd);
+ query &= dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_STRIDE, &stride);
+ if (!query) {
+ if (fd >= 0)
+ close(fd);
+ return NULL;
+ }
- return ret;
+ ret = wl_drm_create_prime_buffer(wl_drm, fd, width, height, fourcc, 0,
+ stride, 0, 0, 0, 0);
+ close(fd);
}
- return NULL;
+ return ret;
}
static EGLBoolean
@@ -1699,16 +1716,21 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device)
static void
drm_handle_format(void *data, struct wl_drm *drm, uint32_t format)
{
- /* deprecated, as compositors already support the dma-buf protocol extension
- * and so we can rely on dmabuf_handle_modifier() to receive formats and
- * modifiers */
+ struct dri2_egl_display *dri2_dpy = data;
+ int visual_idx = dri2_wl_visual_idx_from_fourcc(format);
+
+ if (visual_idx == -1)
+ return;
+
+ BITSET_SET(dri2_dpy->formats.formats_bitmap, visual_idx);
}
static void
drm_handle_capabilities(void *data, struct wl_drm *drm, uint32_t value)
{
- /* deprecated, as compositors already support the dma-buf protocol extension
- * and so we can rely on it to create wl_buffer's */
+ struct dri2_egl_display *dri2_dpy = data;
+
+ dri2_dpy->capabilities = value;
}
static void
@@ -2077,13 +2099,12 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
wl_registry_add_listener(dri2_dpy->wl_registry,
&registry_listener_drm, dri2_dpy);
- /* The compositor must expose the dma-buf interface. */
- if (roundtrip(dri2_dpy) < 0 || dri2_dpy->wl_dmabuf == NULL)
+ if (roundtrip(dri2_dpy) < 0)
goto cleanup;
/* Get default dma-buf feedback */
- if (zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >=
- ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) {
+ if (dri2_dpy->wl_dmabuf && zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >=
+ ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) {
dmabuf_feedback_format_table_init(&dri2_dpy->format_table);
dri2_dpy->wl_dmabuf_feedback =
zwp_linux_dmabuf_v1_get_default_feedback(dri2_dpy->wl_dmabuf);
@@ -2091,7 +2112,6 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
&dmabuf_feedback_listener, dri2_dpy);
}
- /* Receive events from the interfaces */
if (roundtrip(dri2_dpy) < 0)
goto cleanup;
@@ -2178,6 +2198,19 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
dri2_wl_setup_swap_interval(disp);
+ if (dri2_dpy->wl_drm) {
+ /* To use Prime, we must have _DRI_IMAGE v7 at least. createImageFromFds
+ * support indicates that Prime export/import is supported by the driver.
+ * We deprecated the support to GEM names API, so we bail out if the
+ * driver does not suport Prime. */
+ if (!(dri2_dpy->capabilities & WL_DRM_CAPABILITY_PRIME) ||
+ (dri2_dpy->image->base.version < 7) ||
+ (dri2_dpy->image->createImageFromFds == NULL)) {
+ _eglLog(_EGL_WARNING, "wayland-egl: display does not support prime");
+ goto cleanup;
+ }
+ }
+
if (dri2_dpy->is_different_gpu &&
(dri2_dpy->image->base.version < 9 ||
dri2_dpy->image->blitImage == NULL)) {
--
GitLab

3
debian/patches/series vendored Normal file
View File

@ -0,0 +1,3 @@
#07_gallium-fix-build-failure-on-powerpcspe.diff
#path_max.diff
#src_glx_dri_common.h.diff

197
debian/rules vendored
View File

@ -13,77 +13,86 @@ DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) 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 # for finding the correct llvm-config when meson doesn't know about it yet
LLVM_VERSION = 18 LLVM_VERSION = 17
RUST_VERSION = 1.80
export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH) export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH)
export PATH:=/usr/lib/rust-$(RUST_VERSION)/bin/:$(PATH)
ifneq (,$(filter $(DEB_HOST_ARCH), amd64)) export DEB_BUILD_MAINT_OPTIONS=optimize=-lto
export DEB_BUILD_MAINT_OPTIONS=optimize=+lto
ifeq (,$(filter $(DEB_HOST_ARCH), armhf ppc64el sh3 sh4))
buildflags = \
$(shell DEB_CFLAGS_MAINT_APPEND=-Wall DEB_CXXFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure)
else else
export DEB_BUILD_MAINT_OPTIONS=optimize=-lto ifneq (,$(filter $(DEB_HOST_ARCH), armhf))
endif
export MESON_PACKAGE_CACHE_DIR=/usr/share/cargo/registry/
DEB_CFLAGS_MAINT_APPEND := -Wall
DEB_CXXFLAGS_MAINT_APPEND := -Wall
ifneq (,$(filter $(DEB_HOST_ARCH), armhf))
# Workaround for a variant of LP: #725126 # Workaround for a variant of LP: #725126
DEB_CFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls buildflags = \
DEB_CXXFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" DEB_CXXFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" dpkg-buildflags --export=configure)
else ifneq (,$(filter $(DEB_HOST_ARCH), m68k)) else
# This library has huge jump tables: Debian #1067207 ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el))
DEB_CFLAGS_MAINT_APPEND += -mlong-jump-table-offsets # Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/5315
DEB_CXXFLAGS_MAINT_APPEND += -mlong-jump-table-offsets buildflags = \
else ifneq (,$(filter $(DEB_HOST_ARCH), sh4)) $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -O2" DEB_CXXFLAGS_MAINT_APPEND="-Wall -O2" dpkg-buildflags --export=configure)
else
# Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143 # Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143
DEB_CFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple buildflags = \
DEB_CXXFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -O1" DEB_CXXFLAGS_MAINT_APPEND="-Wall -O1" dpkg-buildflags --export=configure)
endif
endif
endif endif
buildflags = $(shell \
DEB_CFLAGS_MAINT_APPEND='$(DEB_CFLAGS_MAINT_APPEND)' \
DEB_CXXFLAGS_MAINT_APPEND='$(DEB_CXXFLAGS_MAINT_APPEND)' \
dpkg-buildflags --export=configure)
EGL_PLATFORMS = x11 EGL_PLATFORMS = x11
GALLIUM_DRIVERS = GALLIUM_DRIVERS = swrast
VULKAN_DRIVERS = VULKAN_DRIVERS =
VULKAN_LAYERS = VULKAN_LAYERS =
confflags_DRI3 = -Ddri3=disabled
confflags_OSMESA = -Dosmesa=true confflags_OSMESA = -Dosmesa=true
confflags_SSE2 = -Dsse2=true confflags_SSE2 = -Dsse2=true
confflags_TEFLON = -Dteflon=false
LLVM_ARCHS = amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 LLVM_ARCHS = amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
RUSTICL_ARCHS = amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32 RUSTICL_ARCHS = amd64 arm64 armel armhf mips64el mipsel ppc64el s390x
NVK_ARCHS = amd64 arm64 armhf ppc64 riscv64 x32 VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x
VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x WINE_ARCHS = amd64 arm64 armel armhf i386 powerpc
WINE_ARCHS = amd64 arm64 armel armhf i386
WSL_ARCHS = amd64 arm64 WSL_ARCHS = amd64 arm64
# hurd doesn't do direct rendering # hurd doesn't do direct rendering
ifeq ($(DEB_HOST_ARCH_OS), hurd) ifeq ($(DEB_HOST_ARCH_OS), hurd)
GALLIUM_DRIVERS += softpipe
confflags_DIRECT_RENDERING = -Dglx-direct=false confflags_DIRECT_RENDERING = -Dglx-direct=false
confflags_GBM = -Dgbm=disabled confflags_GBM = -Dgbm=disabled
else else
# Non-Linux ports lack epoll, so wayland isn't ready yet: GALLIUM_DRIVERS += r300 r600
# https://gitlab.freedesktop.org/wayland/wayland/-/issues/72
# hurd also lacks *_CLOEXEC
EGL_PLATFORMS += wayland
GALLIUM_DRIVERS += nouveau r300 r600 virgl
confflags_DIRECT_RENDERING = -Dglx-direct=true confflags_DIRECT_RENDERING = -Dglx-direct=true
confflags_GBM = -Dgbm=enabled confflags_GBM = -Dgbm=enabled
confflags_GALLIUM += -Dgallium-extra-hud=true confflags_GALLIUM += -Dgallium-extra-hud=true
confflags_GALLIUM += -Dgallium-vdpau=enabled confflags_GALLIUM += -Dgallium-vdpau=enabled
confflags_GALLIUM += -Dlmsensors=enabled confflags_GALLIUM += -Dlmsensors=enabled
# radv/lavapipe needs LLVM and the Vulkan loader, so only build on the subset of
# arches where we have LLVM enabled and where the Vulkan loader is built.
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64))
VULKAN_DRIVERS += amd swrast virtio
# ifeq ($(DEB_DISTRIBUTION), noble)
# ifeq (,$(filter $(DEB_HOST_ARCH), i386))
# VULKAN_DRIVERS += nouveau-experimental
# endif
# endif
endif
# Only enable amd on riscv64, swrast needs CPU JIT support which doesn't work properly yet
ifneq (,$(filter $(DEB_HOST_ARCH), riscv64))
VULKAN_DRIVERS += amd
confflags_GALLIUM += -Ddraw-use-llvm=false
endif
ifeq ($(DEB_HOST_ARCH_OS), linux)
confflags_DRI3 = -Ddri3=enabled
# Gallium drivers which require kernel support, not yet ported to non-Linux
GALLIUM_DRIVERS += nouveau virgl
# Freedreno requires arm in addition # Freedreno requires arm in addition
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU))) ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
# GALLIUM_DRIVERS += freedreno asahi #9697
GALLIUM_DRIVERS += freedreno GALLIUM_DRIVERS += freedreno
# XXX - broken
#GALLIUM_DRIVERS += asahi
endif endif
# etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64 # etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64
@ -92,22 +101,25 @@ else
VULKAN_DRIVERS += broadcom freedreno panfrost VULKAN_DRIVERS += broadcom freedreno panfrost
endif endif
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 loong64 riscv64)) ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 riscv64))
GALLIUM_DRIVERS += lima GALLIUM_DRIVERS += lima
endif endif
# Build intel drivers on archs where libdrm-intel is installed
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))
GALLIUM_DRIVERS += crocus i915 iris svga GALLIUM_DRIVERS += svga
VULKAN_DRIVERS += intel intel_hasvk
# svga needs xa state tracker # svga needs xa state tracker
confflags_GALLIUM += -Dgallium-xa=enabled confflags_GALLIUM += -Dgallium-xa=enabled
VULKAN_DRIVERS += intel intel_hasvk
endif endif
ifneq (,$(filter $(DEB_HOST_ARCH), amd64)) ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
confflags_GALLIUM += -Dintel-clc=enabled confflags_GALLIUM += -Dintel-clc=enabled
endif endif
# Non-Linux ports lack epoll, so wayland isn't ready yet:
# https://gitlab.freedesktop.org/wayland/wayland/-/issues/72
# hurd also lacks *_CLOEXEC
EGL_PLATFORMS += ,wayland
ifneq (,$(filter $(DEB_HOST_ARCH), $(VALGRIND_ARCHS))) ifneq (,$(filter $(DEB_HOST_ARCH), $(VALGRIND_ARCHS)))
confflags_VALGRIND += -Dvalgrind=enabled confflags_VALGRIND += -Dvalgrind=enabled
endif endif
@ -117,17 +129,24 @@ else
GALLIUM_DRIVERS += d3d12 GALLIUM_DRIVERS += d3d12
VULKAN_DRIVERS += microsoft-experimental VULKAN_DRIVERS += microsoft-experimental
endif endif
endif
# Build intel drivers on archs where libdrm-intel is installed
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32))
GALLIUM_DRIVERS += iris crocus i915
endif
# LLVM is required for building r300g, radeonsi and llvmpipe drivers. # LLVM is required for building r300g, radeonsi and llvmpipe drivers.
# It's also required for building OpenCL support. # It's also required for building OpenCL support.
ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_ARCHS))) ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_ARCHS)))
GALLIUM_DRIVERS += radeonsi zink llvmpipe GALLIUM_DRIVERS += radeonsi zink
# drop virtio from armel, it doesn't build # Only enable amd on riscv64, swrast needs CPU JIT support which doesn't work properly yet
ifneq (,$(filter $(DEB_HOST_ARCH), armel)) ifneq (,$(filter $(DEB_HOST_ARCH), riscv64))
VULKAN_DRIVERS += amd swrast VULKAN_DRIVERS += amd
confflags_GALLIUM += -Ddraw-use-llvm=false
else else
VULKAN_DRIVERS += amd swrast virtio VULKAN_DRIVERS += amd swrast
endif endif
VULKAN_LAYERS += device-select intel-nullhw overlay VULKAN_LAYERS += device-select intel-nullhw overlay
@ -136,46 +155,30 @@ else
# Build rusticl for archs where rustc is available # Build rusticl for archs where rustc is available
ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS))) ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS)))
ifneq ($(DEB_DISTRIBUTION), xxx) ifeq ($(DEB_DISTRIBUTION), jammy)
confflags_GALLIUM += -Dgallium-rusticl=true
else
confflags_GALLIUM += -Dgallium-rusticl=false confflags_GALLIUM += -Dgallium-rusticl=false
else
confflags_GALLIUM += -Dgallium-rusticl=true
endif endif
endif endif
ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS)))
VULKAN_DRIVERS += nouveau
endif
# nine makes sense only on archs that build wine # nine makes sense only on archs that build wine
ifneq (,$(filter $(DEB_HOST_ARCH), $(WINE_ARCHS))) ifneq (,$(filter $(DEB_HOST_ARCH), $(WINE_ARCHS)))
confflags_GALLIUM += -Dgallium-nine=true confflags_GALLIUM += -Dgallium-nine=true
endif endif
else else
GALLIUM_DRIVERS += softpipe
confflags_GALLIUM += -Dllvm=disabled confflags_GALLIUM += -Dllvm=disabled
endif endif
ifeq (,$(filter pkg.mesa.nolibva,$(DEB_BUILD_PROFILES))) ifeq (,$(filter pkg.mesa.nolibva,$(DEB_BUILD_PROFILES)))
confflags_GALLIUM += -Dgallium-va=enabled confflags_GALLIUM += -Dgallium-va=enabled
confflags_GALLIUM += -Dvideo-codecs="all" confflags_GALLIUM += -Dvideo-codecs="vc1dec, h264dec, h264enc, h265dec, h265enc, vp9dec, av1dec, av1enc"
endif
# Teflon only supports arm64
ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
confflags_TEFLON = -Dteflon=true
endif endif
endif endif
#ifeq ($(DEB_HOST_ARCH), i386)
# confflags_SSE2 = -Dsse2=false
#endif
empty:= empty:=
space := $(empty) $(empty) space := $(empty) $(empty)
comma := , comma := ,
EGL_PLATFORMS := $(patsubst %,'%',$(EGL_PLATFORMS))
EGL_PLATFORMS_LIST := $(subst $(space),$(comma),$(EGL_PLATFORMS))
GALLIUM_DRIVERS := $(patsubst %,'%',$(GALLIUM_DRIVERS)) GALLIUM_DRIVERS := $(patsubst %,'%',$(GALLIUM_DRIVERS))
GALLIUM_DRIVERS_LIST := $(subst $(space),$(comma),$(GALLIUM_DRIVERS)) GALLIUM_DRIVERS_LIST := $(subst $(space),$(comma),$(GALLIUM_DRIVERS))
VULKAN_DRIVERS := $(patsubst %,'%',$(VULKAN_DRIVERS)) VULKAN_DRIVERS := $(patsubst %,'%',$(VULKAN_DRIVERS))
@ -183,58 +186,44 @@ VULKAN_DRIVERS_LIST := $(subst $(space),$(comma),$(VULKAN_DRIVERS))
VULKAN_LAYERS := $(patsubst %,'%',$(VULKAN_LAYERS)) VULKAN_LAYERS := $(patsubst %,'%',$(VULKAN_LAYERS))
VULKAN_LAYERS_LIST := $(subst $(space),$(comma),$(VULKAN_LAYERS)) VULKAN_LAYERS_LIST := $(subst $(space),$(comma),$(VULKAN_LAYERS))
confflags_EGL = -Dplatforms="$(EGL_PLATFORMS)"
confflags_GLES = -Dgles1=disabled -Dgles2=enabled confflags_GLES = -Dgles1=disabled -Dgles2=enabled
confflags_GALLIUM += -Dgallium-drivers="[$(GALLIUM_DRIVERS_LIST)]" confflags_GALLIUM += -Dgallium-drivers="[$(GALLIUM_DRIVERS_LIST)]"
confflags += \ confflags += \
-Ddri-drivers-path=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \ -Ddri-drivers-path=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \
-Ddri-search-path='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \ -Ddri-search-path='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \
-Dplatforms="[$(EGL_PLATFORMS_LIST)]" \
-Dvulkan-drivers="[$(VULKAN_DRIVERS_LIST)]" \ -Dvulkan-drivers="[$(VULKAN_DRIVERS_LIST)]" \
-Dvulkan-layers="[$(VULKAN_LAYERS_LIST)]" \ -Dvulkan-layers="[$(VULKAN_LAYERS_LIST)]" \
-Dglvnd=enabled \ -Dglvnd=true \
-Dshared-glapi=enabled \ -Dshared-glapi=enabled \
-Dgallium-omx=disabled \
-Db_ndebug=true \ -Db_ndebug=true \
-Dbuild-tests=true \ -Dbuild-tests=true \
-Dtools=drm-shim \ -Dtools=drm-shim \
$(confflags_DIRECT_RENDERING) \ $(confflags_DIRECT_RENDERING) \
$(confflags_GBM) \ $(confflags_GBM) \
$(confflags_DRI3) \
$(confflags_EGL) \
$(confflags_GALLIUM) \ $(confflags_GALLIUM) \
$(confflags_GLES) \ $(confflags_GLES) \
$(confflags_OSMESA) \ $(confflags_OSMESA) \
$(confflags_SSE2) \ $(confflags_SSE2) \
$(confflags_VALGRIND) \ $(confflags_VALGRIND)
$(confflags_TEFLON)
rewrite_wrap_files:
cp -r subprojects subprojects-save
for crate in paste proc-macro2 quote syn unicode-ident; \
do \
export crate_namever=`basename $$MESON_PACKAGE_CACHE_DIR/$$crate-*`; \
sed -e"/source.*/d" -e"s,$${crate}-.*,$${crate_namever}," -i subprojects/$${crate}.wrap; \
done
touch subprojects/rewrite
override_dh_clean: regen_control override_dh_clean: regen_control
dpkg-parsechangelog | awk '/^Version:/ {print $$2}' | sed 's/-.*//;s/~/-/' > VERSION sed -i 's/-.*//' VERSION
rm -rf .pc rm -rf .pc
rm -rf build rm -rf build
rm -rf configure bin/config.guess bin/config.sub config.h.in rm -rf configure bin/config.guess bin/config.sub config.h.in
rm -rf $$(find -name Makefile.in) rm -rf $$(find -name Makefile.in)
rm -rf bin/install-sh bin/ltmain.sh rm -rf bin/install-sh bin/ltmain.sh
rm -rf src/intel/vulkan/grl/parser.out
rm -rf src/intel/vulkan/grl/parsetab.py
for file in debian/*.links.in; do rm -f $${file%%.in}; done for file in debian/*.links.in; do rm -f $${file%%.in}; done
find -name '*.pyc' -delete find -name '*.pyc' -delete
find -name '__pycache__' -delete find -name '__pycache__' -delete
if [ -f subprojects/rewrite ]; then \
rm -rf subprojects; \
mv subprojects-save subprojects; \
fi
dh_clean dh_clean
override_dh_auto_configure: rewrite_wrap_files override_dh_auto_configure:
dpkg-parsechangelog | awk '/^Version:/ {print $$2}' > VERSION dpkg-parsechangelog | awk '/^Version:/ {print $$2}' > VERSION
$(buildflags) dh_auto_configure -- \ $(buildflags) dh_auto_configure -- \
$(confflags) $(confflags)
@ -261,16 +250,13 @@ override_dh_installchangelogs:
override_dh_install: override_dh_install:
# purge .la files # purge .la files
find debian/tmp/ -name '*.la' -exec rm '{}' ';' find debian/tmp/ -name '*.la' -exec rm '{}' ';'
find debian/tmp/usr/bin -name 'mme_*_sim_hw_test' -exec rm '{}' ';'
# Get rid of some files which aren't installed. Do not # Get rid of some files which aren't installed. Do not
# use -f to ensure we notice disappearing files: # use -f to ensure we notice disappearing files:
rm debian/tmp/usr/lib/*/libglapi.so rm debian/tmp/usr/lib/*/libglapi.so
rm debian/tmp/usr/lib/*/libEGL_mesa.so rm debian/tmp/usr/lib/*/libEGL_mesa.so
rm debian/tmp/usr/lib/*/libGLX_mesa.so rm debian/tmp/usr/lib/*/libGLX_mesa.so
ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS)))
rm debian/tmp/usr/bin/mme_fermi_sim_hw_test
rm debian/tmp/usr/bin/mme_tu104_sim_hw_test
endif
# use -f here though # use -f here though
rm -f debian/tmp/usr/lib/*/libgrl.a rm -f debian/tmp/usr/lib/*/libgrl.a
@ -293,24 +279,14 @@ override_dh_install:
endif endif
endif endif
ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS))) ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS)))
install -m755 -d debian/mesa-opencl-icd-git/etc/OpenCL/vendors install -m755 -d debian/mesa-opencl-icd-git/etc/OpenCL/vendors
mv debian/tmp/etc/OpenCL/vendors/rusticl.icd \ mv debian/tmp/etc/OpenCL/vendors/rusticl.icd \
debian/mesa-opencl-icd-git/etc/OpenCL/vendors debian/mesa-opencl-icd-git/etc/OpenCL/vendors
install -m755 -d debian/mesa-opencl-icd-git/usr/lib/${DEB_HOST_MULTIARCH}/ install -m755 -d debian/mesa-opencl-icd-git/usr/lib/${DEB_HOST_MULTIARCH}/
mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libRusticlOpenCL* \ mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libRusticlOpenCL* \
debian/mesa-opencl-icd-git/usr/lib/${DEB_HOST_MULTIARCH}/ debian/mesa-opencl-icd-git/usr/lib/${DEB_HOST_MULTIARCH}/
endif endif
# Copy spirv2dxil and its dependencies on architectures that support WSL/Dozen (dzn)
ifneq (,$(filter $(DEB_HOST_ARCH), $(WSL_ARCHS)))
install -m755 -d debian/mesa-vulkan-drivers-git/usr/bin
mv debian/tmp/usr/bin/spirv2dxil \
debian/mesa-vulkan-drivers-git/usr/bin
install -m755 -d debian/mesa-vulkan-drivers-git/usr/lib/${DEB_HOST_MULTIARCH}/
mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libspirv_to_dxil.* \
debian/mesa-vulkan-drivers-git/usr/lib/${DEB_HOST_MULTIARCH}/
endif
dh_install -a dh_install -a
@ -321,6 +297,9 @@ endif
install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \ install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \
done done
override_dh_missing:
dh_missing --fail-missing
override_dh_makeshlibs: override_dh_makeshlibs:
dh_makeshlibs -a -- -c0 dh_makeshlibs -a -- -c0
@ -336,10 +315,8 @@ gentarball:
regen_control: regen_control:
sed -e"s,@LLVM_VERSION@,$(LLVM_VERSION),g" \ sed -e"s,@LLVM_VERSION@,$(LLVM_VERSION),g" \
-e"s,@RUST_VERSION@,$(RUST_VERSION),g" \
-e"s,@LLVM_ARCHS@,$(LLVM_ARCHS),g" \ -e"s,@LLVM_ARCHS@,$(LLVM_ARCHS),g" \
-e"s,@RUSTICL_ARCHS@,$(RUSTICL_ARCHS),g" \ -e"s,@RUSTICL_ARCHS@,$(RUSTICL_ARCHS),g" \
-e"s,@NVK_ARCHS@,$(NVK_ARCHS),g" \
-e"s,@VALGRIND_ARCHS@,$(VALGRIND_ARCHS),g" \ -e"s,@VALGRIND_ARCHS@,$(VALGRIND_ARCHS),g" \
-e"s,@WINE_ARCHS@,$(WINE_ARCHS),g" \ -e"s,@WINE_ARCHS@,$(WINE_ARCHS),g" \
debian/control.in > debian/control debian/control.in > debian/control

24
main.sh
View File

@ -1,36 +1,20 @@
#! /bin/bash #! /bin/bash
set -e set -e
source ./pika-build-config.sh
echo "$PIKA_BUILD_ARCH" > pika-build-arch
VERSION="24.4"
# TEMP I386 SPECFIC FIX
if [[ "$PIKA_BUILD_ARCH" == "i386" ]]
then
wget http://ftp.us.debian.org/debian/pool/main/s/spirv-llvm-translator-18/libllvmspirvlib18.1_18.1.4-1_i386.deb -O ./32bit-spirv.deb
wget http://ftp.us.debian.org/debian/pool/main/s/spirv-llvm-translator-18/libllvmspirvlib-18-dev_18.1.4-1_i386.deb -O ./32bit-spirv-dev.deb
apt install -y ./32bit-spirv-dev.deb ./32bit-spirv.deb
fi
#
# Clone Upstream # Clone Upstream
git clone https://gitlab.freedesktop.org/mesa/mesa mesa-git git clone https://gitlab.freedesktop.org/mesa/mesa ./mesa-git
cp -rvf ./debian ./mesa-git/ cp -rvf ./debian ./mesa-git/
cd ./mesa-git cd ./mesa-git
for i in $(cat ../patches/series) ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done git submodule update --init
sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Git /' ./VERSION sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Git /' ./VERSION
touch debian/changelog touch debian/changelog
echo -e "mesa-git ($VERSION."$(date '+%Y%m%d')".git."$(git rev-parse --short HEAD)") pika; urgency=medium\n\n * New GIT Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog echo -e "mesa-git (24.0-100pika"$(date '+%Y%m%d')".git.1."$(git rev-parse --short HEAD)") lunar; urgency=medium\n\n * New GIT Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
# Get build deps # Get build deps
apt-get build-dep ./ -y apt-get build-dep ./ -y
# Build package # Build package
#LOGNAME=root dh_make --createorig -y -l -p mesa-git_"$VERSION" || echo "dh-make: Ignoring Last Error"
dpkg-buildpackage --no-sign dpkg-buildpackage --no-sign
# Move the debs to output # Move the debs to output

23
main32.sh Executable file
View File

@ -0,0 +1,23 @@
#! /bin/bash
set -e
# Clone Upstream
git clone https://gitlab.freedesktop.org/mesa/mesa ./mesa-git
cp -rvf ./debian ./mesa-git/
cd ./mesa-git
git submodule update --init
sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Git /' ./VERSION
touch debian/changelog
echo -e "mesa-git (24.0-99pika"$(date '+%Y%m%d')".git.1."$(git rev-parse --short HEAD)") lunar; urgency=medium\n\n * New GIT Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
# Get build deps
apt-get build-dep ./ -y
# Build package
dpkg-buildpackage --no-sign
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

View File

@ -1,2 +0,0 @@
#path_max.diff
#src_glx_dri_common.h.diff

View File

@ -1,10 +0,0 @@
#! /bin/bash
export PIKA_BUILD_ARCH="amd64-v3"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_BUILD_OPTIONS="nocheck notest terse"
export DPKG_GENSYMBOLS_CHECK_LEVEL=0

View File

@ -1,5 +0,0 @@
#! /bin/bash
export PIKA_BUILD_ARCH="i386"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_OPTIONS="nocheck notest terse"
export DPKG_GENSYMBOLS_CHECK_LEVEL=0

View File

@ -1,2 +1,8 @@
# send debs to server # send debs to server
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/ rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/
# add debs to repo
ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pika-main /srv/www/incoming/'
# publish the repo
ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite lunar filesystem:pikarepo:'