Compare commits

..

59 Commits
lunar ... main

Author SHA1 Message Date
Ward from fusion-voyager-3
2ad132ee7e fix i386 maybe attempt #1
All checks were successful
PikaOS Package Build & Release (i386) / build (push) Successful in 6m12s
2024-09-17 19:36:06 +03:00
Ward from fusion-voyager-3
ff4e963f21 Try fixing mesa-git again
Some checks failed
PikaOS Package Build & Release (amd64-v3 on debian) / build (push) Successful in 12m44s
PikaOS Package Build & Release (i386) / build (push) Failing after 17s
2024-09-17 19:21:31 +03:00
c2188c0003 Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 2m9s
2024-09-16 06:30:29 +02:00
3d21425253 Update .github/release-debian-v3
All checks were successful
PikaOS Package Build & Release (amd64-v3 on debian) / build (push) Successful in 11m56s
2024-09-16 06:30:17 +02:00
cd94c5a12d Update debian/rules 2024-09-16 06:30:05 +02:00
ce334a02e3 Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 2m8s
2024-09-15 21:30:10 +02:00
ce56e8e6d8 Update .github/release-nest-v3
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Has been cancelled
2024-09-15 21:29:35 +02:00
efdb2cec08 Update debian/rules 2024-09-15 21:29:13 +02:00
Ward from fusion-voyager-3
ec3420e422 fu
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 3m23s
2024-09-15 22:12:43 +03:00
Ward from fusion-voyager-3
e4907b303c
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 2m37s
2024-09-15 22:03:51 +03:00
Ward from fusion-voyager-3
3f92c21e93
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 1m36s
2024-09-15 21:50:48 +03:00
Ward from fusion-voyager-3
798a01fe84 f
All checks were successful
PikaOS Package Build & Release (amd64-v3 on debian) / build (push) Successful in 12m11s
2024-09-15 21:37:31 +03:00
Ward from fusion-voyager-3
e232b4a5e0 shti
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 3m29s
2024-09-15 21:32:41 +03:00
Ward from fusion-voyager-3
ae391fb96d fix build dep
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 1m34s
2024-09-15 21:27:16 +03:00
Ward from fusion-voyager-3
6448fcfd7c update rules
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 2m11s
2024-09-15 21:20:51 +03:00
1e6c42e4f2 Update .github/release-nest-v3
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 2m2s
2024-09-15 20:09:50 +02:00
f879753ee0 Update .github/release-nest-i386
All checks were successful
PikaOS Package Build & Release (i386) / build (push) Successful in 5m39s
2024-08-11 22:23:37 +02:00
80d57d65fd Update .github/release-nest-v3
All checks were successful
PikaOS Package Build & Release (amd64-v3) / build (push) Successful in 14m26s
2024-08-11 22:23:29 +02:00
6a77a70c41 Update debian/source/format 2024-08-11 22:23:18 +02:00
0cb3553e44 Update main.sh 2024-08-11 22:23:02 +02:00
409c37a911 Update .github/release-nest-v3
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 3m10s
2024-08-11 02:43:37 +02:00
2560c665fb Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 2m47s
2024-08-11 02:43:25 +02:00
e20c20d5b0 Update debian/source/format 2024-08-11 02:43:08 +02:00
3cbb30be2b Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Has been cancelled
2024-08-11 02:42:54 +02:00
fb54a47121 Update main.sh 2024-08-11 02:42:35 +02:00
57f8b4a63d Update .github/release-nest-v3
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 1m59s
2024-08-11 02:39:33 +02:00
92c66d1762 Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 2m0s
2024-08-11 02:39:24 +02:00
8f6a044740 Update main.sh 2024-08-11 02:39:08 +02:00
7d5b6fa68d Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Failing after 1m40s
2024-08-11 02:32:11 +02:00
bc897780a9 Update .github/release-nest-v3
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 1m43s
2024-08-11 02:32:05 +02:00
943bada916 Update main.sh 2024-08-11 02:31:47 +02:00
bd63bccb56 Update .github/release-nest-i386
Some checks failed
PikaOS Package Build & Release (i386) / build (push) Has been cancelled
2024-08-11 02:04:14 +02:00
b2878bc88d Update .github/release-nest-v3
All checks were successful
PikaOS Package Build & Release (amd64-v3) / build (push) Successful in 14m26s
2024-08-11 02:04:00 +02:00
cec18fe57f Update .github/release-canary-i386
All checks were successful
PikaOS Package Build & Release (Canary) (i386) / build (push) Successful in 5m37s
2024-08-09 20:23:25 +02:00
Ward from fusion-voyager-3
68a0e48ddc fix docs
All checks were successful
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Successful in 11m30s
2024-07-29 23:12:30 +03:00
Ward from fusion-voyager-3
211dea2b75 fix weird distro check
Some checks failed
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 10m40s
2024-07-29 22:45:04 +03:00
Ward from fusion-voyager-3
d0889bfa96 port to pika os 4
Some checks failed
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 9m24s
2024-07-29 18:47:23 +03:00
Ward from fusion-voyager-3
4f1e3321c7 port to pika os 4
Some checks failed
PikaOS Package Build Only (Canary) (i386) / build (push) Failing after 1s
PikaOS Package Build Only (Canary) (amd64-v3) / build (push) Has been cancelled
PikaOS Package Build Only (i386) / build (push) Failing after 1s
PikaOS Package Build Only (amd64-v3) / build (push) Failing after 1s
PikaOS Package Build & Release (Canary) (i386) / build (push) Failing after 1s
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 2m5s
PikaOS Package Build & Release (i386) / build (push) Failing after 0s
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 0s
2024-07-29 18:38:10 +03:00
f6f9040ac7
Update main32.sh 2024-04-09 17:43:32 +01:00
4bcd0ce687
Update main.sh 2024-04-09 17:43:18 +01:00
b0a52830f6
Update main32.sh 2024-02-27 15:04:51 +00:00
45ea9846e4
Update main.sh 2024-02-27 15:04:38 +00:00
1ef2e09a3f
Update main.sh 2024-02-27 15:02:39 +00:00
4921128572
Update control 2024-02-27 14:51:05 +00:00
Ward Nakchbandi (Cosmic Fusion)
6da9ce8095
Update main32.sh 2024-01-23 07:52:55 +03:00
Ward Nakchbandi (Cosmic Fusion)
f4f874c035
Update main.sh 2024-01-23 07:52:30 +03:00
Ward Nakchbandi (Cosmic Fusion)
68f06c7e03
Update rules 2023-11-27 21:17:35 +03:00
Ward Nakchbandi (Cosmic Fusion)
f958f8c846
Update main32.sh 2023-11-27 21:16:21 +03:00
Ward Nakchbandi (Cosmic Fusion)
64482dcdda
Update main.sh 2023-11-27 21:16:06 +03:00
Ward Nakchbandi (Cosmic Fusion)
f1dc2a4b02
Update rules 2023-11-27 20:49:34 +03:00
Ward Nakchbandi (Cosmic Fusion)
aee983e8f0
Update mesa-common-git-dev.docs 2023-11-27 20:06:14 +03:00
Ward Nakchbandi (Cosmic Fusion)
879d836f52
Update rules 2023-11-27 19:39:22 +03:00
Ward Nakchbandi (Cosmic Fusion)
41bf4917a2
Update control.in 2023-11-22 19:48:20 +03:00
Ward Nakchbandi (Cosmic Fusion)
5e2bd3b231
Update control 2023-11-22 19:47:21 +03:00
Ward from fusion-voyager-3
39daf5aa26 24.0 2023-11-22 19:22:20 +03:00
Ward Nakchbandi (Cosmic Fusion)
854c3b1ff8
2023-10-06 17:29:24 +03:00
Ward Nakchbandi (Cosmic Fusion)
50b2c25787
2023-10-06 17:13:23 +03:00
Ward Nakchbandi (Cosmic Fusion)
9d266840d2
2023-10-05 22:52:53 +03:00
Ward Nakchbandi (Cosmic Fusion)
1f12539671
2023-10-05 22:22:50 +03:00
42 changed files with 634 additions and 1867 deletions

1
.github/build-canary-i386 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/build-canary-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/build-nest-i386 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/build-nest-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/release-canary-i386 vendored Normal file
View File

@ -0,0 +1 @@
2

1
.github/release-canary-v3 vendored Normal file
View File

@ -0,0 +1 @@
4

1
.github/release-debian-v3 vendored Normal file
View File

@ -0,0 +1 @@
13

1
.github/release-nest-i386 vendored Normal file
View File

@ -0,0 +1 @@
14

1
.github/release-nest-v3 vendored Normal file
View File

@ -0,0 +1 @@
14

37
.github/workflows/build-canaryi386.yml vendored Normal file
View File

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

37
.github/workflows/build-canaryv3.yml vendored Normal file
View File

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

37
.github/workflows/build-nesti386.yml vendored Normal file
View File

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

37
.github/workflows/build-nestv3.yml vendored Normal file
View File

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

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

40
.github/workflows/release-canaryv3.yml vendored Normal file
View File

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

40
.github/workflows/release-debian-v3.yml vendored Executable file
View File

@ -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

40
.github/workflows/release-nesti386.yml vendored Normal file
View File

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

40
.github/workflows/release-nestv3.yml vendored Normal file
View File

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

View File

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

View File

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

24
LICENSE.md Normal file
View File

@ -0,0 +1,24 @@
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,26 +2,28 @@ Source: mesa-git
Section: graphics
Priority: optional
Maintainer: First Mate Rummey <fmrummey@gmail.com>
XSBC-Original-Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
XSBC-Original-Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uploaders: Andreas Boll <aboll@debian.org>
Standards-Version: 4.1.4
Build-Depends:
debhelper-compat (= 12),
directx-headers-dev (>= 1.602.0) [linux-amd64 linux-arm64],
glslang-tools [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
meson (>= 0.45),
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],
meson (>= 1.4.0),
quilt (>= 0.63-8.2~),
pkg-config,
libdrm-dev (>= 2.4.107-4),
pkgconf,
libdrm-dev (>= 2.4.121),
libx11-dev,
libxxf86vm-dev,
libexpat1-dev,
libflatbuffers-dev [linux-arm64],
libsensors-dev [!hurd-any],
libxfixes-dev,
libxext-dev,
libva-dev (>= 1.6.0) [linux-any kfreebsd-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
libvulkan-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libva-dev (>= 1.6.0) [linux-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.5) [linux-any],
libvulkan-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
x11proto-dev,
linux-libc-dev (>= 2.6.31) [linux-any],
libx11-xcb-dev,
@ -35,31 +37,39 @@ Build-Depends:
libxcb-sync-dev,
libxrandr-dev,
libxshmfence-dev (>= 1.1),
libxtensor-dev [linux-arm64],
libzstd-dev,
lua5.4 [arm64 armel armhf],
python3,
python3-mako,
python3-ply,
python3-yaml,
python3-pycparser [arm64 armhf],
python3-setuptools,
flex,
bison,
libelf-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
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-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel 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-cpp15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclc-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
wayland-protocols (>= 1.24),
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],
wayland-protocols (>= 1.34),
zlib1g-dev,
libglvnd-core-dev (>= 1.3.2),
valgrind [amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x],
rustc [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
bindgen [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
llvm-spirv-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
libclc-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
libllvmspirvlib-15-dev,
valgrind [amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x],
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-18 [amd64 arm64 armel armhf 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 ppc64 riscv64 x32],
librust-syn-dev [amd64 arm64 armhf ppc64 riscv64 x32],
Rules-Requires-Root: no
Vcs: https://salsa.debian.org/xorg-team/lib/mesa.git
Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git
Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa
Homepage: https://mesa3d.org/
@ -276,6 +286,19 @@ Multi-Arch: same
Description: transitional dummy package
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
Section: libdevel
Architecture: any
@ -563,7 +586,7 @@ Section: libs
Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
Pre-Depends: ${misc:Pre-Depends}
Depends: libmesa-git,
libclc-15,
libclc-17,
ocl-icd-libopencl1 | libopencl1,
${shlibs:Depends},
${misc:Depends},

38
debian/control.in vendored
View File

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

View File

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

View File

@ -1,40 +0,0 @@
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 +1,2 @@
usr/share/drirc.d/00-mesa-defaults.conf
usr/lib/*/libgallium-*.so

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1,35 +0,0 @@
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,6 +5,3 @@ usr/share/vulkan/icd.d/*.json
usr/share/vulkan/implicit_layer.d/*.json
usr/lib/*/libvulkan_*.so
usr/lib/*/libVkLayer_*.so
# microsoft
#usr/bin/spirv2dxil
#usr/lib/x86_64-linux-gnu/libspirv_to_dxil.*

View File

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

View File

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

View File

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

201
debian/rules vendored
View File

@ -13,86 +13,77 @@ 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 = 17
LLVM_VERSION = 18
RUST_VERSION = 1.80
export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH)
export PATH:=/usr/lib/rust-$(RUST_VERSION)/bin/:$(PATH)
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)
ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
export DEB_BUILD_MAINT_OPTIONS=optimize=+lto
else
ifneq (,$(filter $(DEB_HOST_ARCH), armhf))
# Workaround for a variant of LP: #725126
buildflags = \
$(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), ppc64el))
# Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/5315
buildflags = \
$(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
buildflags = \
$(shell DEB_CFLAGS_MAINT_APPEND="-Wall -O1" DEB_CXXFLAGS_MAINT_APPEND="-Wall -O1" dpkg-buildflags --export=configure)
endif
endif
export DEB_BUILD_MAINT_OPTIONS=optimize=-lto
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
DEB_CFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls
DEB_CXXFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls
else ifneq (,$(filter $(DEB_HOST_ARCH), m68k))
# This library has huge jump tables: Debian #1067207
DEB_CFLAGS_MAINT_APPEND += -mlong-jump-table-offsets
DEB_CXXFLAGS_MAINT_APPEND += -mlong-jump-table-offsets
else ifneq (,$(filter $(DEB_HOST_ARCH), sh4))
# Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143
DEB_CFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple
DEB_CXXFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple
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
GALLIUM_DRIVERS = swrast
GALLIUM_DRIVERS =
VULKAN_DRIVERS =
VULKAN_LAYERS =
confflags_DRI3 = -Ddri3=disabled
confflags_OSMESA = -Dosmesa=true
confflags_SSE2 = -Dsse2=true
confflags_TEFLON = -Dteflon=false
LLVM_ARCHS = amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
RUSTICL_ARCHS = amd64 arm64 armel armhf mips64el mipsel ppc64el s390x
VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x
WINE_ARCHS = amd64 arm64 armel armhf i386 powerpc
LLVM_ARCHS = amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 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
WSL_ARCHS = amd64 arm64
# 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
GALLIUM_DRIVERS += r300 r600
# 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
GALLIUM_DRIVERS += nouveau r300 r600 virgl
confflags_DIRECT_RENDERING = -Dglx-direct=true
confflags_GBM = -Dgbm=enabled
confflags_GALLIUM += -Dgallium-extra-hud=true
confflags_GALLIUM += -Dgallium-vdpau=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
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
# GALLIUM_DRIVERS += freedreno asahi #9697
GALLIUM_DRIVERS += freedreno
# XXX - broken
#GALLIUM_DRIVERS += asahi
endif
# etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64
@ -101,25 +92,22 @@ else
VULKAN_DRIVERS += broadcom freedreno panfrost
endif
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 riscv64))
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 loong64 riscv64))
GALLIUM_DRIVERS += lima
endif
# Build intel drivers on archs where libdrm-intel is installed
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))
GALLIUM_DRIVERS += svga
GALLIUM_DRIVERS += crocus i915 iris svga
VULKAN_DRIVERS += intel intel_hasvk
# svga needs xa state tracker
confflags_GALLIUM += -Dgallium-xa=enabled
VULKAN_DRIVERS += intel intel_hasvk
endif
ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
confflags_GALLIUM += -Dintel-clc=enabled
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)))
confflags_VALGRIND += -Dvalgrind=enabled
endif
@ -129,24 +117,17 @@ else
GALLIUM_DRIVERS += d3d12
VULKAN_DRIVERS += microsoft-experimental
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.
# It's also required for building OpenCL support.
ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_ARCHS)))
GALLIUM_DRIVERS += radeonsi zink
GALLIUM_DRIVERS += radeonsi zink llvmpipe
# 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
else
# drop virtio from armel, it doesn't build
ifneq (,$(filter $(DEB_HOST_ARCH), armel))
VULKAN_DRIVERS += amd swrast
else
VULKAN_DRIVERS += amd swrast virtio
endif
VULKAN_LAYERS += device-select intel-nullhw overlay
@ -155,30 +136,46 @@ else
# Build rusticl for archs where rustc is available
ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS)))
ifeq ($(DEB_DISTRIBUTION), jammy)
confflags_GALLIUM += -Dgallium-rusticl=false
else
ifneq ($(DEB_DISTRIBUTION), xxx)
confflags_GALLIUM += -Dgallium-rusticl=true
else
confflags_GALLIUM += -Dgallium-rusticl=false
endif
endif
ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS)))
VULKAN_DRIVERS += nouveau
endif
# nine makes sense only on archs that build wine
ifneq (,$(filter $(DEB_HOST_ARCH), $(WINE_ARCHS)))
confflags_GALLIUM += -Dgallium-nine=true
endif
else
GALLIUM_DRIVERS += softpipe
confflags_GALLIUM += -Dllvm=disabled
endif
ifeq (,$(filter pkg.mesa.nolibva,$(DEB_BUILD_PROFILES)))
confflags_GALLIUM += -Dgallium-va=enabled
confflags_GALLIUM += -Dvideo-codecs="vc1dec, h264dec, h264enc, h265dec, h265enc, vp9dec, av1dec, av1enc"
confflags_GALLIUM += -Dvideo-codecs="all"
endif
# Teflon only supports arm64
ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
confflags_TEFLON = -Dteflon=true
endif
endif
#ifeq ($(DEB_HOST_ARCH), i386)
# confflags_SSE2 = -Dsse2=false
#endif
empty:=
space := $(empty) $(empty)
comma := ,
EGL_PLATFORMS := $(patsubst %,'%',$(EGL_PLATFORMS))
EGL_PLATFORMS_LIST := $(subst $(space),$(comma),$(EGL_PLATFORMS))
GALLIUM_DRIVERS := $(patsubst %,'%',$(GALLIUM_DRIVERS))
GALLIUM_DRIVERS_LIST := $(subst $(space),$(comma),$(GALLIUM_DRIVERS))
VULKAN_DRIVERS := $(patsubst %,'%',$(VULKAN_DRIVERS))
@ -186,44 +183,58 @@ VULKAN_DRIVERS_LIST := $(subst $(space),$(comma),$(VULKAN_DRIVERS))
VULKAN_LAYERS := $(patsubst %,'%',$(VULKAN_LAYERS))
VULKAN_LAYERS_LIST := $(subst $(space),$(comma),$(VULKAN_LAYERS))
confflags_EGL = -Dplatforms="$(EGL_PLATFORMS)"
confflags_GLES = -Dgles1=disabled -Dgles2=enabled
confflags_GALLIUM += -Dgallium-drivers="[$(GALLIUM_DRIVERS_LIST)]"
confflags += \
-Ddri-drivers-path=/usr/lib/$(DEB_HOST_MULTIARCH)/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-layers="[$(VULKAN_LAYERS_LIST)]" \
-Dglvnd=true \
-Dglvnd=enabled \
-Dshared-glapi=enabled \
-Dgallium-omx=disabled \
-Db_ndebug=true \
-Dbuild-tests=true \
-Dtools=drm-shim \
$(confflags_DIRECT_RENDERING) \
$(confflags_GBM) \
$(confflags_DRI3) \
$(confflags_EGL) \
$(confflags_GALLIUM) \
$(confflags_GLES) \
$(confflags_OSMESA) \
$(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
sed -i 's/-.*//' VERSION
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
rm -rf $$(find -name Makefile.in)
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
find -name '*.pyc' -delete
find -name '__pycache__' -delete
if [ -f subprojects/rewrite ]; then \
rm -rf subprojects; \
mv subprojects-save subprojects; \
fi
dh_clean
override_dh_auto_configure:
override_dh_auto_configure: rewrite_wrap_files
dpkg-parsechangelog | awk '/^Version:/ {print $$2}' > VERSION
$(buildflags) dh_auto_configure -- \
$(confflags)
@ -250,13 +261,16 @@ override_dh_installchangelogs:
override_dh_install:
# purge .la files
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
# use -f to ensure we notice disappearing files:
rm debian/tmp/usr/lib/*/libglapi.so
rm debian/tmp/usr/lib/*/libEGL_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
rm -f debian/tmp/usr/lib/*/libgrl.a
@ -279,14 +293,24 @@ override_dh_install:
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
mv debian/tmp/etc/OpenCL/vendors/rusticl.icd \
debian/mesa-opencl-icd-git/etc/OpenCL/vendors
install -m755 -d debian/mesa-opencl-icd-git/usr/lib/${DEB_HOST_MULTIARCH}/
mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libRusticlOpenCL* \
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
@ -297,9 +321,6 @@ override_dh_install:
install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \
done
override_dh_missing:
dh_missing --fail-missing
override_dh_makeshlibs:
dh_makeshlibs -a -- -c0
@ -315,8 +336,10 @@ gentarball:
regen_control:
sed -e"s,@LLVM_VERSION@,$(LLVM_VERSION),g" \
-e"s,@RUST_VERSION@,$(RUST_VERSION),g" \
-e"s,@LLVM_ARCHS@,$(LLVM_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,@WINE_ARCHS@,$(WINE_ARCHS),g" \
debian/control.in > debian/control

24
main.sh
View File

@ -1,20 +1,36 @@
#! /bin/bash
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
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/
cd ./mesa-git
git submodule update --init
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
sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Git /' ./VERSION
touch 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
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
# Get build deps
apt-get build-dep ./ -y
# Build package
#LOGNAME=root dh_make --createorig -y -l -p mesa-git_"$VERSION" || echo "dh-make: Ignoring Last Error"
dpkg-buildpackage --no-sign
# Move the debs to output

View File

@ -1,23 +0,0 @@
#! /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/

2
patches/series Normal file
View File

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

10
pika-build-config/amd64-v3.sh Executable file
View File

@ -0,0 +1,10 @@
#! /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

5
pika-build-config/i386.sh Executable file
View File

@ -0,0 +1,5 @@
#! /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,8 +1,2 @@
# send debs to server
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:'
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/