Skip to content

Commit

Permalink
Merge pull request #139 from AleksArt000/wayland
Browse files Browse the repository at this point in the history
Wayland
  • Loading branch information
ilovethensa authored Oct 21, 2024
2 parents c36fb29 + 18e08ea commit 1a889fa
Show file tree
Hide file tree
Showing 48 changed files with 1,496 additions and 0 deletions.
34 changes: 34 additions & 0 deletions extra/src/graphics/cairo.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[info]
name = cairo
type = src
version = 1.18.0
url = https://www.cairographics.org/

[dependencies]
libpng
pixman
glib
xorg-libs

[description]
Cairo is a 2D graphics library with support for multiple output devices.
Currently supported output targets include the X Window System, Win32, image buffers, PostScript, PDF and SVG.
Experimental backends include OpenGL, Quartz and XCB file output. Cairo is designed to produce consistent output on all-
output media while taking advantage of display hardware acceleration when available (e.g. through the X Render Extension).
The Cairo API provides operations similar to the drawing operators of PostScript and PDF.
Operations in Cairo include stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering.
All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.)

[files]
cairo-1.18.0.tar.xz https://www.cairographics.org/releases/cairo-1.18.0.tar.xz 243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64

[download]
tar -xf cairo-1.18.0.tar.xz

[install]
mkdir build &&
cd build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja
DESTDIR=$BUILD_ROOT ninja install
35 changes: 35 additions & 0 deletions extra/src/graphics/fontconfig.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[info]
name = fontconfig
type = src
version = 2.15.0
url = https://www.freedesktop.org/software/fontconfig/

[dependencies]
freetype

[description]
The Fontconfig package contains a library and support programs used for configuring and customizing font access.

[files]
fontconfig-2.15.0.tar.xz https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.xz 63a0658d0e06e0fa886106452b58ef04f21f58202ea02a94c39de0d3335d7c0e

[download]
tar -xf fontconfig-2.15.0.tar.xz

[install]
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-docs \
--docdir=/usr/share/doc/fontconfig-2.15.0 &&
make
make DESTDIR=$BUILD_ROOT install
install -v -dm755 \
$BUILD_ROOT/usr/share/{man/man{1,3,5},doc/fontconfig-2.15.0/fontconfig-devel} &&
install -v -m644 fc-*/*.1 $BUILD_ROOT/usr/share/man/man1 &&
install -v -m644 doc/*.3 $BUILD_ROOT/usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 $BUILD_ROOT/usr/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
$BUILD_ROOT/usr/share/doc/fontconfig-2.15.0/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
$BUILD_ROOT/usr/share/doc/fontconfig-2.15.0
24 changes: 24 additions & 0 deletions extra/src/graphics/freetype.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[info]
name = freetype
type = src
version = 2.13.2
url = https://downloads.sourceforge.net/freetype/

[description]
The FreeType2 package contains a library which allows applications to properly render TrueType fonts.

[files]
freetype-2.13.2.tar.xz https://downloads.sourceforge.net/freetype/freetype-2.13.2.tar.xz 12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d

[download]
tar -xf freetype-2.13.2.tar.xz

[install]
sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg &&

sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \
-i include/freetype/config/ftoption.h &&

./configure --prefix=/usr --enable-freetype-config --disable-static &&
make
make DESTDIR=$BUILD_ROOT install
22 changes: 22 additions & 0 deletions extra/src/graphics/fribidi.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[info]
name = fribidi
type = src
version = 1.0.15
url = https://github.com/fribidi/

[description]
The HarfBuzz package contains an OpenType text shaping engine.

[files]
fribidi-1.0.15.tar.xz https://github.com/fribidi/fribidi/releases/download/v1.0.15/fribidi-1.0.15.tar.xz 0bbc7ff633bfa208ae32d7e369cf5a7d20d5d2557a0b067c9aa98bcbf9967587

[download]
tar -xf fribidi-1.0.15.tar.xz

[install]
mkdir build &&
cd build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja
DESTDIR=$BUILD_ROOT ninja install
30 changes: 30 additions & 0 deletions extra/src/graphics/glslang.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[info]
name = glslang
type = src
version = 14.3.0
url = https://github.com/KhronosGroup/glslang/

[dependencies]
spirv-tools

[description]
The Glslang package contains an frontend and validator for OpenGL, OpenGL ES, and Vulkan shaders.

[files]
glslang-14.3.0.tar.gz https://github.com/KhronosGroup/glslang/archive/14.3.0/glslang-14.3.0.tar.gz be6339048e20280938d9cb399fcdd06e04f8654d43e170e8cce5a56c9a754284

[download]
tar -xzf glslang-14.3.0.tar.gz

[install]
mkdir build &&
cd build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \
-D BUILD_SHARED_LIBS=ON \
-D GLSLANG_TESTS=ON \
-G Ninja .. &&
ninja
DESTDIR=$BUILD_ROOT ninja install
34 changes: 34 additions & 0 deletions extra/src/graphics/harfbuzz.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[info]
name = harfbuzz
type = src
version = 9.0.0
url = https://github.com/harfbuzz/

[dependencies]
glib
freetype

[description]
The HarfBuzz package contains an OpenType text shaping engine.

[files]
harfbuzz-9.0.0.tar.xz https://github.com/harfbuzz/harfbuzz/releases/download/9.0.0/harfbuzz-9.0.0.tar.xz a41b272ceeb920c57263ec851604542d9ec85ee3030506d94662067c7b6ab89e

[download]
tar -xf harfbuzz-9.0.0.tar.xz

[install]
mkdir build &&
cd build &&

meson setup .. \
--prefix=/usr \
--buildtype=release &&
ninja
DESTDIR=$BUILD_ROOT ninja install

[special]
# These have to be rebuilt after harfbuzz is installed
cccp -i cairo
cccp -i freetype
cccp -i fontconfig
24 changes: 24 additions & 0 deletions extra/src/graphics/libXau.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[info]
name = libXau
type = src
version = 1.0.11
url = https://www.x.org/pub/individual/lib/
environment = xorg-build-env

[dependencies]
xorg-build-env
xorgproto

[files]
libXau-1.0.11.tar.xz https://www.x.org/pub/individual/lib/libXau-1.0.11.tar.xz f3fa3282f5570c3f6bd620244438dbfbdd580fc80f02f549587a0f8ab329bbeb

[description]
The libXau package contains a library implementing the X11 Authorization Protocol. This is useful for restricting client access to the display.

[download]
tar -xf libXau-1.0.11.tar.xz

[install]
./configure $XORG_CONFIG &&
make
make DESTDIR=$BUILD_ROOT install
32 changes: 32 additions & 0 deletions extra/src/graphics/libdrm.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[info]
name = libdrm
type = src
version = 2.4.122
url = https://dri.freedesktop.org/libdrm/
environment = xorg-build-env

[dependencies]
xorg-build-env
xorg-libs

[description]
Libdrm provides a userspace library for accessing the direct rendering manager (DRM) on operating systems that support the ioctl interface.
Libdrm is a low-level library, typically used by graphics drivers such as the Mesa DRI drivers, the X drivers, libva and similar projects.

[files]
libdrm-2.4.122.tar.xz https://dri.freedesktop.org/libdrm/libdrm-2.4.122.tar.xz d9f5079b777dffca9300ccc56b10a93588cdfbc9dde2fae111940dfb6292f251

[download]
tar -xf libdrm-2.4.122.tar.xz

[install]
mkdir build &&
cd build &&

meson setup --prefix=$XORG_PREFIX \
--buildtype=release \
-D udev=true \
-D valgrind=disabled \
.. &&
ninja
DESTDIR=$BUILD_ROOT ninja install
29 changes: 29 additions & 0 deletions extra/src/graphics/libjpeg-turbo.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[info]
name = libjpeg-turbo
type = src
version = 3.0.1
url = https://downloads.sourceforge.net/libjpeg-turbo/

[description]
libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG compression and decompression.
libjpeg is a library that implements JPEG image encoding, decoding and transcoding.

[files]
libjpeg-turbo-3.0.1.tar.gz https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-3.0.1.tar.gz 22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75

[download]
tar -xzf libjpeg-turbo-3.0.1.tar.gz

[install]
mkdir build &&
cd build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=RELEASE \
-D ENABLE_STATIC=FALSE \
-D CMAKE_INSTALL_DEFAULT_LIBDIR=lib \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-3.0.1 \
.. &&
make
make DESTDIR=$BUILD_ROOT install
23 changes: 23 additions & 0 deletions extra/src/graphics/libpng.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[info]
name = libpng
type = src
version = 1.6.43
url = https://downloads.sourceforge.net/libpng/

[description]
The libpng package contains libraries used by other programs for reading and writing PNG files.
The PNG format was designed as a replacement for GIF and, to a lesser extent, TIFF, with many improvements and extensions and lack of patent problems.

[files]
libpng-1.6.43.tar.xz https://downloads.sourceforge.net/libpng/libpng-1.6.43.tar.xz 6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c
libpng-1.6.43-apng.patch.gz https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.43-apng.patch.gz d107579e90d55386d00e6086ea750942f22a04b9ab476bba0c660770cefafe22

[download]
tar -xf libpng-1.6.43.tar.xz

[install]
gzip -cd ../libpng-1.6.43-apng.patch.gz | patch -p1

./configure --prefix=/usr --disable-static &&
make
make DESTDIR=$BUILD_ROOT install
29 changes: 29 additions & 0 deletions extra/src/graphics/libxcb.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[info]
name = libxcb
type = src
version = 1.16
url = https://xorg.freedesktop.org/archive/individual/lib/
environment = xorg-build-env

[dependencies]
xorg-build-env
libXau
xcb-proto

[description]
The libxcb package provides an interface to the X Window System protocol, which replaces the current Xlib interface.
Xlib can also use XCB as a transport layer, allowing software to make requests and receive responses with both.

[files]
libxcb-1.16.tar.xz https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.16.tar.xz 4348566aa0fbf196db5e0a576321c65966189210cb51328ea2bb2be39c711d71

[download]
tar -xf libxcb-1.16.tar.xz

[install]
./configure $XORG_CONFIG \
--without-doxygen \
--docdir='${datadir}'/doc/libxcb-1.15
LC_ALL=en_US.UTF-8 make
make
make DESTDIR=$BUILD_ROOT install
49 changes: 49 additions & 0 deletions extra/src/graphics/mesa.ecmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[info]
name = mesa
type = src
version = 24.1.6
url = https://mesa.freedesktop.org/
environment = xorg-build-env

[dependencies]
xorg-build-env
xorg-libs
libdrm
Mako

[optional]
glslang
libclc
ply
cbindgen
rust-bindgen
libedit

[inputs]
Which Gallium3D drivers should be built? <auto,r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris,crocus,i915,zink>, if unsure - type 'auto'.
Which Vulkan drivers should be built? <auto,amd,intel,intel_hasvk,nouveau,swrast,"">, if unsure - type 'auto'.

[description]
Mesa is an OpenGL compatible 3D graphics library.

[files]
mesa-24.1.6.tar.xz https://mesa.freedesktop.org/archive/mesa-24.1.6.tar.xz da94c0908d5662467369b69ed8236da1e1577141a6e7d25171a9bf56383b34e8

[download]
tar -xf mesa-24.1.6.tar.xz

[install]
mkdir build &&
cd build &&

meson setup .. \
--prefix=$XORG_PREFIX \
--buildtype=release \
-D platforms=x11,wayland \
-D gallium-drivers=$INPUT_0 \
-D vulkan-drivers=$INPUT_1 \
-D valgrind=disabled \
-D libunwind=disabled &&

ninja
DESTDIR=$BUILD_ROOT ninja install
Loading

0 comments on commit 1a889fa

Please sign in to comment.