diff --git a/extra/src/graphics/cairo.ecmp b/extra/src/graphics/cairo.ecmp new file mode 100644 index 00000000..18575f84 --- /dev/null +++ b/extra/src/graphics/cairo.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/fontconfig.ecmp b/extra/src/graphics/fontconfig.ecmp new file mode 100644 index 00000000..132f42f8 --- /dev/null +++ b/extra/src/graphics/fontconfig.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/freetype.ecmp b/extra/src/graphics/freetype.ecmp new file mode 100644 index 00000000..d147b8c4 --- /dev/null +++ b/extra/src/graphics/freetype.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/fribidi.ecmp b/extra/src/graphics/fribidi.ecmp new file mode 100644 index 00000000..0480c71a --- /dev/null +++ b/extra/src/graphics/fribidi.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/glslang.ecmp b/extra/src/graphics/glslang.ecmp new file mode 100644 index 00000000..e944f4e4 --- /dev/null +++ b/extra/src/graphics/glslang.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/harfbuzz.ecmp b/extra/src/graphics/harfbuzz.ecmp new file mode 100644 index 00000000..2c55467d --- /dev/null +++ b/extra/src/graphics/harfbuzz.ecmp @@ -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 diff --git a/extra/src/graphics/libXau.ecmp b/extra/src/graphics/libXau.ecmp new file mode 100644 index 00000000..80eab9e7 --- /dev/null +++ b/extra/src/graphics/libXau.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/libdrm.ecmp b/extra/src/graphics/libdrm.ecmp new file mode 100644 index 00000000..e3cc4aba --- /dev/null +++ b/extra/src/graphics/libdrm.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/libjpeg-turbo.ecmp b/extra/src/graphics/libjpeg-turbo.ecmp new file mode 100644 index 00000000..9f913085 --- /dev/null +++ b/extra/src/graphics/libjpeg-turbo.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/libpng.ecmp b/extra/src/graphics/libpng.ecmp new file mode 100644 index 00000000..5f2f91f2 --- /dev/null +++ b/extra/src/graphics/libpng.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/libxcb.ecmp b/extra/src/graphics/libxcb.ecmp new file mode 100644 index 00000000..81ad3b55 --- /dev/null +++ b/extra/src/graphics/libxcb.ecmp @@ -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 \ No newline at end of file diff --git a/extra/src/graphics/mesa.ecmp b/extra/src/graphics/mesa.ecmp new file mode 100644 index 00000000..cf7fa655 --- /dev/null +++ b/extra/src/graphics/mesa.ecmp @@ -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? , if unsure - type 'auto'. +Which Vulkan drivers should be built? , 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 \ No newline at end of file diff --git a/extra/src/graphics/pango.ecmp b/extra/src/graphics/pango.ecmp new file mode 100644 index 00000000..ea269757 --- /dev/null +++ b/extra/src/graphics/pango.ecmp @@ -0,0 +1,34 @@ +[info] +name = pango +type = src +version = 1.54.0 +url = https://download.gnome.org/sources/pango/ + +[dependencies] +cairo +fontconfig +harfbuzz +fribidi +glib +xorg-libs + +[description] +Pango is a library for laying out and rendering text, with an emphasis on internationalization. +It can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. + +[files] +pango-1.54.0.tar.xz https://download.gnome.org/sources/pango/1.54/pango-1.54.0.tar.xz 8a9eed75021ee734d7fc0fdf3a65c3bba51dfefe4ae51a9b414a60c70b2d1ed8 + +[download] +tar -xf pango-1.54.0.tar.xz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr \ + --buildtype=release \ + --wrap-mode=nofallback \ + .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/graphics/pixman.ecmp b/extra/src/graphics/pixman.ecmp new file mode 100644 index 00000000..a1b6a5c3 --- /dev/null +++ b/extra/src/graphics/pixman.ecmp @@ -0,0 +1,22 @@ +[info] +name = pixman +type = src +version = 0.43.4 +url = https://www.cairographics.org + +[description] +The Pixman package contains a library that provides low-level pixel manipulation features such as image compositing and trapezoid rasterization. + +[files] +pixman-0.43.4.tar.gz https://www.cairographics.org/releases/pixman-0.43.4.tar.gz a0624db90180c7ddb79fc7a9151093dc37c646d8c38d3f232f767cf64b85a226 + +[download] +tar -xzf pixman-0.43.4.tar.gz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/graphics/seatd.ecmp b/extra/src/graphics/seatd.ecmp new file mode 100644 index 00000000..958786ea --- /dev/null +++ b/extra/src/graphics/seatd.ecmp @@ -0,0 +1,22 @@ +[info] +name = seatd +type = src +version = 0.8.0 +url = https://git.sr.ht/~kennylevinsen/seatd/ + +[description] +A minimal seat management daemon, and a universal seat management library. + +[files] +seatd-0.8.0.tar.gz https://git.sr.ht/~kennylevinsen/seatd/archive/0.8.0.tar.gz a562a44ee33ccb20954a1c1ec9a90ecb2db7a07ad6b18d0ac904328efbcf65a0 + +[download] +tar -xzf seatd-0.8.0.tar.gz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/graphics/util-macros.ecmp b/extra/src/graphics/util-macros.ecmp new file mode 100644 index 00000000..f4485db8 --- /dev/null +++ b/extra/src/graphics/util-macros.ecmp @@ -0,0 +1,22 @@ +[info] +name = util-macros +type = src +version = 1.20.0 +url = https://www.x.org/pub/individual/util/ +environment = xorg-build-env + +[dependencies] +xorg-build-env + +[description] +The util-macros package contains the m4 macros used by all of the Xorg packages. + +[files] +util-macros-1.20.0.tar.xz https://www.x.org/pub/individual/util/util-macros-1.20.0.tar.xz 0b86b262dbe971edb4ff233bc370dfad9f241d09f078a3f6d5b7f4b8ea4430db + +[download] +tar -xf util-macros-1.20.0.tar.xz + +[install] +./configure $XORG_CONFIG +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/graphics/xcb-proto.ecmp b/extra/src/graphics/xcb-proto.ecmp new file mode 100644 index 00000000..97fbf8cd --- /dev/null +++ b/extra/src/graphics/xcb-proto.ecmp @@ -0,0 +1,24 @@ +[info] +name = xcb-proto +type = src +version = 1.16.0 +url = https://xorg.freedesktop.org/archive/individual/proto/ +environment = xorg-build-env + +[optional] +xorg-build-env +libxml2 + +[description] +The xcb-proto package provides the XML-XCB protocol descriptions that libxcb uses to generate the majority of its code and API. + +[files] +xcb-proto-1.16.0.tar.xz https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.16.0.tar.xz a75a1848ad2a89a82d841a51be56ce988ff3c63a8d6bf4383ae3219d8d915119 + +[download] +tar -xf xcb-proto-1.16.0.tar.xz + +[install] +PYTHON=python3 ./configure $XORG_CONFIG +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/graphics/xkeyboard-config.ecmp b/extra/src/graphics/xkeyboard-config.ecmp new file mode 100644 index 00000000..867206ea --- /dev/null +++ b/extra/src/graphics/xkeyboard-config.ecmp @@ -0,0 +1,27 @@ +[info] +name = xkeyboard-config +type = src +version = 2.42 +url = https://www.x.org/pub/individual/data/xkeyboard-config +environment = xorg-build-env + +[dependencies] +xorg-build-env +xorg-libs + +[description] +The XKeyboardConfig package contains the keyboard configuration database for the X Window System. + +[files] +xkeyboard-config-2.42.tar.xz https://www.x.org/pub/individual/data/xkeyboard-config/xkeyboard-config-2.42.tar.xz a6b06ebfc1f01fc505f2f05f265f95f67cc8873a54dd247e3c2d754b8f7e0807 + +[download] +tar -xf xkeyboard-config-2.42.tar.xz + +[install] +mkdir build && +cd build && + +meson setup --prefix=$XORG_PREFIX --buildtype=release .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/graphics/xorg-build-env.ecmp b/extra/src/graphics/xorg-build-env.ecmp new file mode 100644 index 00000000..f24b679e --- /dev/null +++ b/extra/src/graphics/xorg-build-env.ecmp @@ -0,0 +1,38 @@ +[info] +name = xorg-build-env +type = src +version = 7.0 + +[description] +The Xorg Build Environment is some preps for all the apps of xorg + +[exports] +XORG_PREFIX=/usr +XORG_CONFIG=--prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static + +[download] +mkdir xorg-build-env-7.0 + +[install] +export XORG_PREFIX="/usr" + +export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \ + --localstatedir=/var --disable-static" + +mkdir $BUILD_ROOT/etc/ +mkdir $BUILD_ROOT/etc/profile.d/ +mkdir $BUILD_ROOT/etc/sudoers.d/ + +cat > $BUILD_ROOT/etc/profile.d/xorg.sh << EOF +XORG_PREFIX="$XORG_PREFIX" +XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static" +export XORG_PREFIX XORG_CONFIG +EOF + +cat > $BUILD_ROOT/etc/sudoers.d/xorg << EOF +Defaults env_keep += XORG_PREFIX +Defaults env_keep += XORG_CONFIG +EOF + +[special] +chmod 644 /etc/profile.d/xorg.sh \ No newline at end of file diff --git a/extra/src/graphics/xorg-libs.ecmp b/extra/src/graphics/xorg-libs.ecmp new file mode 100644 index 00000000..1e73a96d --- /dev/null +++ b/extra/src/graphics/xorg-libs.ecmp @@ -0,0 +1,152 @@ +[info] +name = xorg-libs +type = src +version = 7 +url = https://www.x.org/pub/individual/lib/ +environment = xorg-build-env + +[dependencies] +xorg-build-env +libxcb +fontconfig + +[description] +The Xorg libraries provide library routines that are used within all X Window applications. + +[files] +xtrans-1.5.0.tar.xz https://www.x.org/pub/individual/lib/xtrans-1.5.0.tar.xz 1ba4b703696bfddbf40bacf25bce4e3efb2a0088878f017a50e9884b0c8fb1bd +libX11-1.8.7.tar.xz https://www.x.org/pub/individual/lib/libX11-1.8.7.tar.xz 05f267468e3c851ae2b5c830bcf74251a90f63f04dd7c709ca94dc155b7e99ee +libXext-1.3.6.tar.xz https://www.x.org/pub/individual/lib/libXext-1.3.6.tar.xz edb59fa23994e405fdc5b400afdf5820ae6160b94f35e3dc3da4457a16e89753 +libFS-1.0.9.tar.xz https://www.x.org/pub/individual/lib/libFS-1.0.9.tar.xz 597379438b3242ccc7d7b0fc432dc6c844eca0d4a82a7b82518bfeb203fc208a +libICE-1.1.1.tar.xz https://www.x.org/pub/individual/lib/libICE-1.1.1.tar.xz 03e77afaf72942c7ac02ccebb19034e6e20f456dcf8dddadfeb572aa5ad3e451 +libSM-1.2.4.tar.xz https://www.x.org/pub/individual/lib/libSM-1.2.4.tar.xz fdcbe51e4d1276b1183da77a8a4e74a137ca203e0bcfb20972dd5f3347e97b84 +libXScrnSaver-1.2.4.tar.xz https://www.x.org/pub/individual/lib/libXScrnSaver-1.2.4.tar.xz 75cd2859f38e207a090cac980d76bc71e9da99d48d09703584e00585abc920fe +libXt-1.3.0.tar.xz https://www.x.org/pub/individual/lib/libXt-1.3.0.tar.xz 52820b3cdb827d08dc90bdfd1b0022a3ad8919b57a39808b12591973b331bf91 +libXmu-1.1.4.tar.xz https://www.x.org/pub/individual/lib/libXmu-1.1.4.tar.xz 210de3ab9c3e9382572c25d17c2518a854ce6e2c62c5f8315deac7579e758244 +libXpm-3.5.17.tar.xz https://www.x.org/pub/individual/lib/libXpm-3.5.17.tar.xz 64b31f81019e7d388c822b0b28af8d51c4622b83f1f0cb6fa3fc95e271226e43 +libXaw-1.0.15.tar.xz https://www.x.org/pub/individual/lib/libXaw-1.0.15.tar.xz ab35f70fde9fb02cc71b342f654846a74328b74cb3a0703c02d20eddb212754a +libXfixes-6.0.1.tar.xz https://www.x.org/pub/individual/lib/libXfixes-6.0.1.tar.xz b695f93cd2499421ab02d22744458e650ccc88c1d4c8130d60200213abc02d58 +libXcomposite-0.4.6.tar.xz https://www.x.org/pub/individual/lib/libXcomposite-0.4.6.tar.xz fe40bcf0ae1a09070eba24088a5eb9810efe57453779ec1e20a55080c6dc2c87 +libXrender-0.9.11.tar.xz https://www.x.org/pub/individual/lib/libXrender-0.9.11.tar.xz bc53759a3a83d1ff702fb59641b3d2f7c56e05051fa0cfa93501166fa782dc24 +libXcursor-1.2.1.tar.xz https://www.x.org/pub/individual/lib/libXcursor-1.2.1.tar.xz 46c143731610bafd2070159a844571b287ac26192537d047a39df06155492104 +libXdamage-1.1.6.tar.xz https://www.x.org/pub/individual/lib/libXdamage-1.1.6.tar.xz 52733c1f5262fca35f64e7d5060c6fcd81a880ba8e1e65c9621cf0727afb5d11 +libfontenc-1.1.7.tar.xz https://www.x.org/pub/individual/lib/libfontenc-1.1.7.tar.xz c0d36991faee06551ddbaf5d99266e97becdc05edfae87a833c3ff7bf73cfec2 +libXfont2-2.0.6.tar.xz https://www.x.org/pub/individual/lib/libXfont2-2.0.6.tar.xz 74ca20017eb0fb3f56d8d5e60685f560fc85e5ff3d84c61c4cb891e40c27aef4 +libXft-2.3.8.tar.xz https://www.x.org/pub/individual/lib/libXft-2.3.8.tar.xz 5e8c3c4bc2d4c0a40aef6b4b38ed2fb74301640da29f6528154b5009b1c6dd49 +libXi-1.8.1.tar.xz https://www.x.org/pub/individual/lib/libXi-1.8.1.tar.xz 89bfc0e814f288f784202e6e5f9b362b788ccecdeb078670145eacd8749656a7 +libXinerama-1.1.5.tar.xz https://www.x.org/pub/individual/lib/libXinerama-1.1.5.tar.xz 5094d1f0fcc1828cb1696d0d39d9e866ae32520c54d01f618f1a3c1e30c2085c +libXrandr-1.5.4.tar.xz https://www.x.org/pub/individual/lib/libXrandr-1.5.4.tar.xz 1ad5b065375f4a85915aa60611cc6407c060492a214d7f9daf214be752c3b4d3 +libXres-1.2.2.tar.xz https://www.x.org/pub/individual/lib/libXres-1.2.2.tar.xz 9a7446f3484b9b7538ac5ee30d2c1ce9e5b7fbbaf1440e02f6cca186a1fa745f +libXtst-1.2.4.tar.xz https://www.x.org/pub/individual/lib/libXtst-1.2.4.tar.xz 84f5f30b9254b4ffee14b5b0940e2622153b0d3aed8286a3c5b7eeb340ca33c8 +libXv-1.0.12.tar.xz https://www.x.org/pub/individual/lib/libXv-1.0.12.tar.xz aaf7fa09f689f7a2000fe493c0d64d1487a1210db154053e9e2336b860c63848 +libXvMC-1.0.14.tar.xz https://www.x.org/pub/individual/lib/libXvMC-1.0.14.tar.xz e4be9eb6b6bafdbbf81f47f7163047215376e45e2dc786d0ea6181c930725ed9 +libXxf86dga-1.1.6.tar.xz https://www.x.org/pub/individual/lib/libXxf86dga-1.1.6.tar.xz be44427579808fe3a217d59f51cae756a26913eb6e4c8738ccab65ff56d7980f +libXxf86vm-1.1.5.tar.xz https://www.x.org/pub/individual/lib/libXxf86vm-1.1.5.tar.xz 247fef48b3e0e7e67129e41f1e789e8d006ba47dba1c0cdce684b9b703f888e7 +libpciaccess-0.18.tar.xz https://www.x.org/pub/individual/lib/libpciaccess-0.18.tar.xz 5461b0257d495254346f52a9c329b44b346262663675d3fecdb204a7e7c262a9 +libxkbfile-1.1.3.tar.xz https://www.x.org/pub/individual/lib/libxkbfile-1.1.3.tar.xz a9b63eea997abb9ee6a8b4fbb515831c841f471af845a09de443b28003874bec +libxshmfence-1.3.2.tar.xz https://www.x.org/pub/individual/lib/libxshmfence-1.3.2.tar.xz 870df257bc40b126d91b5a8f1da6ca8a524555268c50b59c0acd1a27f361606f +libXpresent-1.0.1.tar.xz https://www.x.org/pub/individual/lib/libXpresent-1.0.1.tar.xz b964df9e5a066daa5e08d2dc82692c57ca27d00b8cc257e8e960c9f1cf26231b + +[download] +cat > list << "EOF" +xtrans-1.5.0.tar.xz +libX11-1.8.7.tar.xz +libXext-1.3.6.tar.xz +libFS-1.0.9.tar.xz +libICE-1.1.1.tar.xz +libSM-1.2.4.tar.xz +libXScrnSaver-1.2.4.tar.xz +libXt-1.3.0.tar.xz +libXmu-1.1.4.tar.xz +libXpm-3.5.17.tar.xz +libXaw-1.0.15.tar.xz +libXfixes-6.0.1.tar.xz +libXcomposite-0.4.6.tar.xz +libXrender-0.9.11.tar.xz +libXcursor-1.2.1.tar.xz +libXdamage-1.1.6.tar.xz +libfontenc-1.1.7.tar.xz +libXfont2-2.0.6.tar.xz +libXft-2.3.8.tar.xz +libXi-1.8.1.tar.xz +libXinerama-1.1.5.tar.xz +libXrandr-1.5.4.tar.xz +libXres-1.2.2.tar.xz +libXtst-1.2.4.tar.xz +libXv-1.0.12.tar.xz +libXvMC-1.0.14.tar.xz +libXxf86dga-1.1.6.tar.xz +libXxf86vm-1.1.5.tar.xz +libpciaccess-0.18.tar.xz +libxkbfile-1.1.3.tar.xz +libxshmfence-1.3.2.tar.xz +libXpresent-1.0.1.tar.xz +EOF +mkdir xorg-libs-7 +cp ./*.tar.xz xorg-libs-7/ + +[install] + +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XORG_PREFIX/lib/pkgconfig +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XORG_PREFIX/share/pkgconfig +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BUILD_ROOT$XORG_PREFIX/lib/pkgconfig +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BUILD_ROOT$XORG_PREFIX/share/pkgconfig + +LIBRARY_PATH=$LIBRARY_PATH:$XORG_PREFIX/lib +C_INCLUDE_PATH=$C_INCLUDE_PATH:$XORG_PREFIX/include +CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$XORG_PREFIX/include +LIBRARY_PATH=$LIBRARY_PATH:$BUILD_ROOT$XORG_PREFIX/lib +C_INCLUDE_PATH=$C_INCLUDE_PATH:$BUILD_ROOT$XORG_PREFIX/include +CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$BUILD_ROOT$XORG_PREFIX/include + +for package in $(grep -v '^#' ../list | awk '{print $1}') +do + packagedir=${package%.tar.?z*} + + echo "" + echo " HERE:" + echo " Building $packagedir in $PWD with $PKG_CONFIG_PATH" + echo "" + + tar -xf $package + pushd $packagedir + docdir="--docdir=$XORG_PREFIX/share/doc/$packagedir" + + case $packagedir in + libXfont2-[0-9]* ) + PKG_CONFIG_PATH=$PKG_CONFIG_PATH ./configure $XORG_CONFIG $docdir --disable-devel-docs + ;; + + libXt-[0-9]* ) + PKG_CONFIG_PATH=$PKG_CONFIG_PATH ./configure $XORG_CONFIG $docdir \ + --with-appdefaultdir=/etc/X11/app-defaults + ;; + + libXpm-[0-9]* ) + PKG_CONFIG_PATH=$PKG_CONFIG_PATH ./configure $XORG_CONFIG $docdir --disable-open-zfile + ;; + + libpciaccess* ) + mkdir build + cd build + PKG_CONFIG_PATH=$PKG_CONFIG_PATH meson setup --prefix=$XORG_PREFIX --buildtype=release .. && + LIBRARY_PATH=$LIBRARY_PATH C_INCLUDE_PATH=$C_INCLUDE_PATH CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH LD_RUN_PATH=$LIBRARY_PATH ninja && + DESTDIR=$BUILD_ROOT ninja install && + popd # $packagedir + continue # for loop + ;; + + * ) + PKG_CONFIG_PATH=$PKG_CONFIG_PATH ./configure $XORG_CONFIG $docdir + ;; + esac + + LIBRARY_PATH=$LIBRARY_PATH C_INCLUDE_PATH=$C_INCLUDE_PATH CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH LD_RUN_PATH=$LIBRARY_PATH make && + make DESTDIR=$BUILD_ROOT install && + popd + rm -rf $packagedir + libtool --finish $BUILD_ROOT/usr/lib +done + +[special] +/sbin/ldconfig \ No newline at end of file diff --git a/extra/src/graphics/xorgproto.ecmp b/extra/src/graphics/xorgproto.ecmp new file mode 100644 index 00000000..e7f1bd73 --- /dev/null +++ b/extra/src/graphics/xorgproto.ecmp @@ -0,0 +1,39 @@ +[info] +name = xorgproto +type = src +version = 2023.2 +url = https://xorg.freedesktop.org/archive/individual/proto/ +environment = xorg-build-env + +[dependencies] +xorg-build-env +util-macros + +[optional] +fop +libxslt +xmlto + +[files] +xorgproto-2023.2.tar.xz https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2023.2.tar.xz + +[description] +The xorgproto package provides the header files required to build the X Window system, +and to allow other applications to build against the installed X Window system. + +[files] +xorgproto-2023.2.tar.xz https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2023.2.tar.xz b61fbc7db82b14ce2dc705ab590efc32b9ad800037113d1973811781d5118c2c + +[download] +tar -xf xorgproto-2023.2.tar.xz + +[install] +mkdir build +cd build + +meson --prefix=$XORG_PREFIX -Dlegacy=true .. +ninja +DESTDIR=$BUILD_ROOT ninja install + +[special] +mv -v $XORG_PREFIX/share/doc/xorgproto{,-2023.2} \ No newline at end of file diff --git a/extra/src/lib/glib.ecmp b/extra/src/lib/glib.ecmp new file mode 100644 index 00000000..2a19aa17 --- /dev/null +++ b/extra/src/lib/glib.ecmp @@ -0,0 +1,34 @@ +[info] +name = glib +type = src +version = 2.80.4 +url = https://download.gnome.org/sources/glib/ + +[dependencies] +gobject-introspection + +[optional] +gdb +Mako + +[description] +The GLib package contains low-level libraries useful for providing data structure handling for C, +portability wrappers and interfaces for runtime functionality such as an event loop, threads, dynamic loading and an object system. + +[files] +glib-2.80.4.tar.xz https://download.gnome.org/sources/glib/2.80/glib-2.80.4.tar.xz 24e029c5dfc9b44e4573697adf33078a9827c48938555004b3b9096fa4ea034f + +[download] +tar -xf glib-2.80.4.tar.xz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D introspection=enabled \ + -D man-pages=enabled && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/gobject-introspection.ecmp b/extra/src/lib/gobject-introspection.ecmp new file mode 100644 index 00000000..28ee6d17 --- /dev/null +++ b/extra/src/lib/gobject-introspection.ecmp @@ -0,0 +1,34 @@ +[info] +name = gobject-introspection +type = src +version = 1.80.1 +url = https://download.gnome.org/sources/gobject-introspection/ + +[dependencies] +packaging +libxslt +pcre2 + +[optional] +gdb +Mako + +[description] +The GLib package contains low-level libraries useful for providing data structure handling for C, +portability wrappers and interfaces for runtime functionality such as an event loop, threads, dynamic loading and an object system. + +[files] +gobject-introspection-1.80.1.tar.xz https://download.gnome.org/sources/gobject-introspection/1.80/gobject-introspection-1.80.1.tar.xz a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8 + +[download] +tar -xf gobject-introspection-1.80.1.tar.xz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=/usr \ + --buildtype=release && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libclc.ecmp b/extra/src/lib/libclc.ecmp new file mode 100644 index 00000000..11d0b260 --- /dev/null +++ b/extra/src/lib/libclc.ecmp @@ -0,0 +1,27 @@ +[info] +name = libclc +type = src +version = 18.1.7.src +url = https://github.com/llvm/llvm-project/ + +[dependencies] +spirv-llvm-translator + +[description] +The libclc package contains an implementation of the library requirements of the OpenCL C programming language, as specified by the OpenCL 1.1 Specification. + +[files] +libclc-18.1.7.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.7/libclc-18.1.7.src.tar.xz bf99fdabd64ebfc688775754edf4c6bd3ffc361906b710ee49107e03fd3db396 + +[download] +tar -xf libclc-18.1.7.src.tar.xz + +[install] +mkdir build && +cd build && + +cmake -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libdisplay-info.ecmp b/extra/src/lib/libdisplay-info.ecmp new file mode 100644 index 00000000..3fe8f7f6 --- /dev/null +++ b/extra/src/lib/libdisplay-info.ecmp @@ -0,0 +1,25 @@ +[info] +name = libdisplay-info +type = src +version = 0.2.0 +url = https://gitlab.freedesktop.org/emersion/libdisplay-info/ + +[dependencies] +hwdata + +[description] +The libdisplay-info package provides a set of high-level and low-level functions to access detailed Extended Display Identification Data (EDID) information. + +[files] +libdisplay-info-0.2.0.tar.xz https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/0.2.0/downloads/libdisplay-info-0.2.0.tar.xz 5a2f002a16f42dd3540c8846f80a90b8f4bdcd067a94b9d2087bc2feae974176 + +[download] +tar -xf libdisplay-info-0.2.0.tar.xz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libedit.ecmp b/extra/src/lib/libedit.ecmp new file mode 100644 index 00000000..4546a627 --- /dev/null +++ b/extra/src/lib/libedit.ecmp @@ -0,0 +1,18 @@ +[info] +name = libedit +type = src +version = 20240808-3.1 +url = https://thrysoee.dk/editline/ + +[description] + This is an autotool- and libtoolized port of the NetBSD Editline library (libedit). This Berkeley-style licensed command line editor library provides generic line editing, history, and tokenization functions, similar to those found in GNU Readline. +[files] +libedit-20240808-3.1.tar.gz https://thrysoee.dk/editline/libedit-20240808-3.1.tar.gz 5f0573349d77c4a48967191cdd6634dd7aa5f6398c6a57fe037cc02696d6099f + +[download] +tar -xzf libedit-20240808-3.1.tar.gz + +[install] +./configure --prefix=/usr --disable-blacklist +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/lib/libevdev.ecmp b/extra/src/lib/libevdev.ecmp new file mode 100644 index 00000000..83f473ff --- /dev/null +++ b/extra/src/lib/libevdev.ecmp @@ -0,0 +1,29 @@ +[info] +name = libevdev +type = src +version = 1.13.2 +url = https://www.freedesktop.org/software/libevdev/ +environment = xorg-build-env + +[dependencies] +xorg-build-env + +[description] +The libevdev package contains common functions for Xorg input drivers. + +[files] +libevdev-1.13.2.tar.xz https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 + +[download] +tar -xf libevdev-1.13.2.tar.xz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=$XORG_PREFIX \ + --buildtype=release \ + -D documentation=disabled && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libinput.ecmp b/extra/src/lib/libinput.ecmp new file mode 100644 index 00000000..b411639f --- /dev/null +++ b/extra/src/lib/libinput.ecmp @@ -0,0 +1,34 @@ +[info] +name = libinput +type = src +version = 1.26.1 +url = https://gitlab.freedesktop.org/libinput/ +environment = xorg-build-env + +[dependencies] +libevdev +mtdev +xorg-build-env + +[description] +libinput is a library that handles input devices for display servers and other applications that need to directly deal with input devices. + +[files] +libinput-1.26.1.tar.gz https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.26.1/libinput-1.26.1.tar.gz 84fdd16ba0bd3a9adf6c1ffe4292b7a644b0d70f57f81f8239fd499a801189fb + +[download] +tar -xzf libinput-1.26.1.tar.gz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=$XORG_PREFIX \ + --buildtype=release \ + -D debug-gui=false \ + -D tests=false \ + -D libwacom=false \ + -D udev-dir=/usr/lib/udev && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libxkbcommon.ecmp b/extra/src/lib/libxkbcommon.ecmp new file mode 100644 index 00000000..fb29a454 --- /dev/null +++ b/extra/src/lib/libxkbcommon.ecmp @@ -0,0 +1,30 @@ +[info] +name = libxkbcommon +type = src +version = 1.7.0 +url = https://www.x.org/pub/individual/data/xkeyboard-config +environment = xorg-build-env + +[dependencies] +xorg-build-env +xkeyboard-config + +[description] +libxkbcommon is a keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB specification. + +[files] +libxkbcommon-1.7.0.tar.xz https://xkbcommon.org/download/libxkbcommon-1.7.0.tar.xz 65782f0a10a4b455af9c6baab7040e2f537520caa2ec2092805cdfd36863b247 + +[download] +tar -xf libxkbcommon-1.7.0.tar.xz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D enable-docs=false && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/libxslt.ecmp b/extra/src/lib/libxslt.ecmp new file mode 100644 index 00000000..00fe0987 --- /dev/null +++ b/extra/src/lib/libxslt.ecmp @@ -0,0 +1,22 @@ +[info] +name = libxslt +type = src +version = 1.1.42 +url = https://download.gnome.org/sources/libxslt/ + +[description] +The PCRE2 package contains a new generation of the Perl Compatible Regular Expression libraries. +These are useful for implementing regular expression pattern matching using the same syntax and semantics as Perl. + +[files] +libxslt-1.1.42.tar.xz https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.42.tar.xz 85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb + +[download] +tar -xf libxslt-1.1.42.tar.xz + +[install] +./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/libxslt-1.1.42 && +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/lib/mtdev.ecmp b/extra/src/lib/mtdev.ecmp new file mode 100644 index 00000000..3e0ef31c --- /dev/null +++ b/extra/src/lib/mtdev.ecmp @@ -0,0 +1,19 @@ +[info] +name = mtdev +type = src +version = 1.1.7 +url = https://bitmath.org/code/mtdev/ + +[description] +The mtdev package contains Multitouch Protocol Translation Library which is used to transform all variants of kernel MT (Multitouch) events to the slotted type B protocol. + +[files] +mtdev-1.1.7.tar.bz2 https://bitmath.org/code/mtdev/mtdev-1.1.7.tar.bz2 a107adad2101fecac54ac7f9f0e0a0dd155d954193da55c2340c97f2ff1d814e + +[download] +tar -xjf mtdev-1.1.7.tar.bz2 + +[install] +./configure --prefix=/usr --disable-static && +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/lib/pcre2.ecmp b/extra/src/lib/pcre2.ecmp new file mode 100644 index 00000000..164a13af --- /dev/null +++ b/extra/src/lib/pcre2.ecmp @@ -0,0 +1,29 @@ +[info] +name = pcre2 +type = src +version = 10.44 +url = https://github.com/PCRE2Project/ + +[description] +The PCRE2 package contains a new generation of the Perl Compatible Regular Expression libraries. +These are useful for implementing regular expression pattern matching using the same syntax and semantics as Perl. + +[files] +pcre2-10.44.tar.bz2 https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/pcre2-10.44.tar.bz2 d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96 + +[download] +tar -xjf pcre2-10.44.tar.bz2 + +[install] +./configure --prefix=/usr \ + --docdir=/usr/share/doc/pcre2-10.44 \ + --enable-unicode \ + --enable-jit \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libreadline \ + --disable-static && +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/lib/spirv-headers.ecmp b/extra/src/lib/spirv-headers.ecmp new file mode 100644 index 00000000..3a0510d4 --- /dev/null +++ b/extra/src/lib/spirv-headers.ecmp @@ -0,0 +1,24 @@ +[info] +name = spirv-headers +type = src +version = 1.3.290.0 +url = https://github.com/KhronosGroup/SPIRV-Headers/ + +[description] +The SPIRV-Headers package contains headers that allow for applications to use the SPIR-V language and instruction set with Vulkan. +SPIR-V is a binary intermediate language for representing graphical shader stages and compute kernels for multiple Khronos APIs, including OpenGL and Vulkan. + +[files] +SPIRV-Headers-1.3.290.0.tar.gz https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-1.3.290.0/SPIRV-Headers-1.3.290.0.tar.gz 1b9ff8a33e07814671dee61fe246c67ccbcfc9be6581f229e251784499700e24 + +[download] +tar -xzf SPIRV-Headers-1.3.290.0.tar.gz +mv ./SPIRV-Headers-vulkan-sdk-1.3.290.0 ./spirv-headers-1.3.290.0/ + +[install] +mkdir build && +cd build && + +cmake -D CMAKE_INSTALL_PREFIX=/usr -G Ninja .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/spirv-llvm-translator.ecmp b/extra/src/lib/spirv-llvm-translator.ecmp new file mode 100644 index 00000000..6ec01103 --- /dev/null +++ b/extra/src/lib/spirv-llvm-translator.ecmp @@ -0,0 +1,33 @@ +[info] +name = spirv-llvm-translator +type = src +version = 18.1.3 +url = https://github.com/KhronosGroup/SPIRV-LLVM-Translator/ + +[dependencies] +llvm +spirv-tools + +[description] +The SPIRV-LLVM-Translator package contains a library and utility for converting between LLVM IR and SPIR-V code. +This package currently only supports the OpenCL/Compute version of SPIR-V. + +[files] +SPIRV-LLVM-Translator-18.1.3.tar.gz https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/v18.1.3/SPIRV-LLVM-Translator-18.1.3.tar.gz d896f35102c3ba9e16ead7b4db53b75e6131982cdb36a3324f17c68a43598759 + +[download] +tar -xzf SPIRV-LLVM-Translator-18.1.3.tar.gz +mv ./SPIRV-LLVM-Translator-18.1.3/ ./spirv-llvm-translator-18.1.3/ + +[install] +mkdir build && +cd build && + +cmake -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release \ + -D BUILD_SHARED_LIBS=ON \ + -D CMAKE_SKIP_INSTALL_RPATH=ON \ + -D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \ + -G Ninja .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/lib/spirv-tools.ecmp b/extra/src/lib/spirv-tools.ecmp new file mode 100644 index 00000000..2a16cb7f --- /dev/null +++ b/extra/src/lib/spirv-tools.ecmp @@ -0,0 +1,32 @@ +[info] +name = spirv-tools +type = src +version = 1.3.290.0 +url = https://github.com/KhronosGroup/SPIRV-Tools/ + +[dependencies] +spirv-headers + +[description] +The SPIRV-Tools package contains libraries and utilities for processing SPIR-V modules. + +[files] +SPIRV-Tools-1.3.290.0.tar.gz https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-1.3.290.0/SPIRV-Tools-1.3.290.0.tar.gz 8f8b487e20e062c3abfbc86c4541faf767588d167b395ec94f2a7f996ef40efe + +[download] +tar -xzf SPIRV-Tools-1.3.290.0.tar.gz +mv ./SPIRV-Tools-vulkan-sdk-1.3.290.0 ./spirv-tools-1.3.290.0/ + +[install] +mkdir build && +cd build && + +cmake -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release \ + -D SPIRV_WERROR=OFF \ + -D BUILD_SHARED_LIBS=ON \ + -D SPIRV_TOOLS_BUILD_STATIC=OFF \ + -D SPIRV-Headers_SOURCE_DIR=/usr \ + -G Ninja .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/utils/Mako.ecmp b/extra/src/utils/Mako.ecmp new file mode 100644 index 00000000..bc4f42fb --- /dev/null +++ b/extra/src/utils/Mako.ecmp @@ -0,0 +1,19 @@ +[info] +name = Mako +type = src +version = 1.3.5 +url = https://files.pythonhosted.org/packages/source/M/Mako/ + +[description] +Mako is a Python module that implements hyperfast and lightweight templating for the Python platform. + +[files] +Mako-1.3.5.tar.gz https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.3.5.tar.gz 48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc + +[download] +tar -xzf Mako-1.3.5.tar.gz + +[install] +pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD +pip3 install --no-deps --target $BUILD_ROOT/usr/lib/python3.12/site-packages/ --no-index --find-links=dist --no-cache-dir --no-user Mako +mv $BUILD_ROOT/usr/lib/python3.12/site-packages/bin/ $BUILD_ROOT/usr/bin/ \ No newline at end of file diff --git a/extra/src/utils/cbindgen.ecmp b/extra/src/utils/cbindgen.ecmp new file mode 100644 index 00000000..b9b6babc --- /dev/null +++ b/extra/src/utils/cbindgen.ecmp @@ -0,0 +1,23 @@ +[info] +name = cbindgen +type = src +version = 0.27.0 +url = https://github.com/mozilla/cbindgen/ + +[dependencies] +#TODO: replace with rustc +rustup + +[description] +Cbindgen can be used to generate C bindings for Rust code. + +[files] +cbindgen-0.27.0.tar.gz https://github.com/mozilla/cbindgen/archive/v0.27.0/cbindgen-0.27.0.tar.gz af74dd0452ace58895088048873a765fffacc3ad55eea00c0f2999cc4bcf9b5d + +[download] +tar -xzf cbindgen-0.27.0.tar.gz + +[install] +cargo build --release +mkdir -p $BUILD_ROOT/usr/bin/ && +install -Dm755 target/release/cbindgen $BUILD_ROOT/usr/bin/ \ No newline at end of file diff --git a/extra/src/utils/desktop-file-utils.ecmp b/extra/src/utils/desktop-file-utils.ecmp new file mode 100644 index 00000000..f753b2e7 --- /dev/null +++ b/extra/src/utils/desktop-file-utils.ecmp @@ -0,0 +1,27 @@ +[info] +name = desktop-file-utils +type = src +version = 0.27 +url = https://www.freedesktop.org/software/desktop-file-utils/ + +[dependencies] +glib + +[description] +The Desktop File Utils package contains command line utilities for working with Desktop entries. +These utilities are used by Desktop Environments and other applications to manipulate the MIME-types- +application databases and help adhere to the Desktop Entry Specification. + +[files] +desktop-file-utils-0.27.tar.xz https://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.27.tar.xz a0817df39ce385b6621880407c56f1f298168c040c2032cedf88d5b76affe836 + +[download] +tar -xf desktop-file-utils-0.27.tar.xz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/utils/docutils.ecmp b/extra/src/utils/docutils.ecmp new file mode 100644 index 00000000..59f73f0e --- /dev/null +++ b/extra/src/utils/docutils.ecmp @@ -0,0 +1,19 @@ +[info] +name = docutils +type = src +version = 0.21.2 +url = https://files.pythonhosted.org/packages/source/d/docutils/docutils-0.21.2.tar.gz + +[description] +docutils is a set of Python modules and programs for processing plaintext docs into formats such as HTML, XML, or LaTeX. + +[files] +docutils-0.21.2.tar.gz https://files.pythonhosted.org/packages/source/d/docutils/docutils-0.21.2.tar.gz 3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f + +[download] +tar -xzf docutils-0.21.2.tar.gz + +[install] +pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD +pip3 install --no-deps --target $BUILD_ROOT/usr/lib/python3.12/site-packages/ --no-index --find-links=dist --no-cache-dir --no-user docutils +mv $BUILD_ROOT/usr/lib/python3.12/site-packages/bin/ $BUILD_ROOT/usr/bin/ \ No newline at end of file diff --git a/extra/src/utils/hwdata.ecmp b/extra/src/utils/hwdata.ecmp new file mode 100644 index 00000000..3f615d48 --- /dev/null +++ b/extra/src/utils/hwdata.ecmp @@ -0,0 +1,19 @@ +[info] +name = hwdata +type = src +version = 0.385 +url = https://github.com/vcrhonek/hwdata/archive/v0.385/hwdata-0.385.tar.gz + +[description] +The hwdata package contains current PCI and vendor id data. + +[files] +hwdata-0.385.tar.gz https://github.com/vcrhonek/hwdata/archive/v0.385/hwdata-0.385.tar.gz 577219d44d9686e8177f6291adbff7bacdd785ad4e8a8d0c4b2a14dbf850d6ac + +[download] +tar -xzf hwdata-0.385.tar.gz + +[install] +./configure --prefix=/usr --disable-blacklist +make +make DESTDIR=$BUILD_ROOT install \ No newline at end of file diff --git a/extra/src/utils/llvm.ecmp b/extra/src/utils/llvm.ecmp new file mode 100644 index 00000000..682ba235 --- /dev/null +++ b/extra/src/utils/llvm.ecmp @@ -0,0 +1,53 @@ +[info] +name = llvm +type = src +version = 18.1.7.src +url = https://github.com/llvm/llvm-project/ + +[description] +The LLVM package contains a collection of modular and reusable compiler and toolchain technologies. +The Low Level Virtual Machine (LLVM) Core libraries provide a modern source and target-independent optimizer, +along with code generation support for many popular CPUs (as well as some less common ones!). +These libraries are built around a well specified code representation known as the LLVM intermediate representation ("LLVM IR"). + +[files] +llvm-18.1.7.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.7/llvm-18.1.7.src.tar.xz 17ba3d57c3db185722c36e736a189b2110e8cb842cc9e53dcc74e938bdadb97e +clang-18.1.7.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.7/clang-18.1.7.src.tar.xz c9191e4896e43425a8fbbb29e3b25b3a83050781809fbd4d0ad2382bc4a5c43d +llvm-cmake-18.src.tar.xz https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-18.src.tar.xz 857fb826ee0e159cb1ad282790c6613e55048bd9ecb3248940689d48cbe9da96 +llvm-third-party-18.src.tar.xz https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-party-18.src.tar.xz ceb38dabc7250a3cda53fd81978d0f1b7aeaa8a3a055d5a336892665609b0f11 + +[download] +tar -xf llvm-18.1.7.src.tar.xz + +[install] +tar -xf ../llvm-cmake-18.src.tar.xz && +tar -xf ../llvm-third-party-18.src.tar.xz && +sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@llvm-cmake-18.src@' \ + -i CMakeLists.txt && +sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@llvm-third-party-18.src@' \ + -i cmake/modules/HandleLLVMOptions.cmake +tar -xf ../clang-18.1.7.src.tar.xz -C tools && +mv tools/clang-18.1.7.src tools/clang + +grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/' +sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt + +mkdir -v build && +cd build && + +CC=gcc CXX=g++ \ +cmake -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_SKIP_INSTALL_RPATH=ON \ + -D LLVM_ENABLE_FFI=ON \ + -D CMAKE_BUILD_TYPE=Release \ + -D LLVM_BUILD_LLVM_DYLIB=ON \ + -D LLVM_LINK_LLVM_DYLIB=ON \ + -D LLVM_ENABLE_RTTI=ON \ + -D LLVM_TARGETS_TO_BUILD="host;AMDGPU" \ + -D LLVM_BINUTILS_INCDIR=/usr/include \ + -D LLVM_INCLUDE_BENCHMARKS=OFF \ + -D CLANG_DEFAULT_PIE_ON_LINUX=ON \ + -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \ + -W no-dev -G Ninja .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/utils/packaging.ecmp b/extra/src/utils/packaging.ecmp new file mode 100644 index 00000000..ed5a331d --- /dev/null +++ b/extra/src/utils/packaging.ecmp @@ -0,0 +1,19 @@ +[info] +name = packaging +type = src +version = 24.1 +url = https://files.pythonhosted.org/packages/source/p/packaging/ + +[description] +The Packaging library provides utilities that implement the interoperability specifications which have clearly one correct behaviour (PEP440) or benefit- +greatly from having a single shared implementation (PEP425). This includes utilities for version handling, specifiers, markers, tags, and requirements. + +[files] +packaging-24.1.tar.gz https://files.pythonhosted.org/packages/source/p/packaging/packaging-24.1.tar.gz 026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 + +[download] +tar -xzf packaging-24.1.tar.gz + +[install] +pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD +pip3 install --no-deps --target $BUILD_ROOT/usr/lib/python3.12/site-packages/ --no-index --find-links=dist --no-cache-dir --no-user packaging \ No newline at end of file diff --git a/extra/src/utils/ply.ecmp b/extra/src/utils/ply.ecmp new file mode 100644 index 00000000..817e944e --- /dev/null +++ b/extra/src/utils/ply.ecmp @@ -0,0 +1,18 @@ +[info] +name = ply +type = src +version = 3.11 +url = https://files.pythonhosted.org/packages/source/p/ply/ + +[description] +The ply package is a 100% Python implementation of the common parsing tools 'lex' and 'yacc'. + +[files] +ply-3.11.tar.gz https://files.pythonhosted.org/packages/source/p/ply/ply-3.11.tar.gz 00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 + +[download] +tar -xzf ply-3.11.tar.gz + +[install] +pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD +pip3 install --no-deps --target $BUILD_ROOT/usr/lib/python3.12/site-packages/ --no-index --find-links=dist --no-cache-dir --no-user ply \ No newline at end of file diff --git a/extra/src/utils/rust-bindgen.ecmp b/extra/src/utils/rust-bindgen.ecmp new file mode 100644 index 00000000..fa91c8ab --- /dev/null +++ b/extra/src/utils/rust-bindgen.ecmp @@ -0,0 +1,23 @@ +[info] +name = rust-bindgen +type = src +version = 0.70.0 +url = https://github.com/rust-lang/rust-bindgen/ + +[dependencies] +#TODO: replace with rustc +rustup + +[description] +The rust-bindgen package contains a utility that generates Rust bindings from C/C++ headers. + +[files] +rust-bindgen-0.70.0.tar.gz https://github.com/rust-lang/rust-bindgen/archive/v0.70.0/rust-bindgen-0.70.0.tar.gz 9afd95f52c55147c4e01976b16f8587526f0239306a5a4610234953ab2ee7268 + +[download] +tar -xzf rust-bindgen-0.70.0.tar.gz + +[install] +cargo build --release +mkdir -p $BUILD_ROOT/usr/bin/ && +install -v -m755 target/release/bindgen $BUILD_ROOT/usr/bin \ No newline at end of file diff --git a/extra/src/utils/shared-mime-info.ecmp b/extra/src/utils/shared-mime-info.ecmp new file mode 100644 index 00000000..37938f10 --- /dev/null +++ b/extra/src/utils/shared-mime-info.ecmp @@ -0,0 +1,25 @@ +[info] +name = shared-mime-info +type = src +version = 2.4 +url = https://gitlab.freedesktop.org/xdg/shared-mime-info/ + +[dependencies] +glib + +[description] +The Shared Mime Info package contains a MIME database. This allows central updates of MIME information for all supporting applications. + +[files] +shared-mime-info-2.4.tar.gz https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.4/shared-mime-info-2.4.tar.gz 531291d0387eb94e16e775d7e73788d06d2b2fdd8cd2ac6b6b15287593b6a2de + +[download] +tar -xf shared-mime-info-2.4.tar.gz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release -D update-mimedb=true .. && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/wayland-protocols.ecmp b/extra/src/wayland-protocols.ecmp new file mode 100644 index 00000000..2191f8e8 --- /dev/null +++ b/extra/src/wayland-protocols.ecmp @@ -0,0 +1,25 @@ +[info] +name = wayland-protocols +version = 1.36 +type = src +url = https://gitlab.freedesktop.org/wayland/wayland-protocols/ + +[description] +The Wayland-Protocols package contains additional Wayland protocols that add functionality outside of protocols already in the Wayland core. + +[dependencies] +wayland + +[files] +wayland-protocols-1.36.tar.xz https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.36/downloads/wayland-protocols-1.36.tar.xz 71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92 + +[download] +tar -xf $NAME-$VERSION.tar.xz + +[install] +mkdir build && +cd build && + +meson setup --prefix=/usr --buildtype=release && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/wayland.ecmp b/extra/src/wayland.ecmp new file mode 100644 index 00000000..6b1b5d21 --- /dev/null +++ b/extra/src/wayland.ecmp @@ -0,0 +1,25 @@ +[info] +name = wayland +version = 1.23.0 +type = src +url = https://gitlab.freedesktop.org/wayland/ + +[description] +Wayland is a project to define a protocol for a compositor to talk to its clients as well as a library implementation of the protocol. + +[files] +wayland-1.23.0.tar.xz https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.23.0/downloads/wayland-1.23.0.tar.xz 05b3e1574d3e67626b5974f862f36b5b427c7ceeb965cb36a4e6c2d342e45ab2 + +[download] +tar -xf $NAME-$VERSION.tar.xz + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D documentation=false && +ninja +DESTDIR=$BUILD_ROOT ninja install \ No newline at end of file diff --git a/extra/src/weston.ecmp b/extra/src/weston.ecmp new file mode 100644 index 00000000..9ee33488 --- /dev/null +++ b/extra/src/weston.ecmp @@ -0,0 +1,66 @@ +[info] +name = weston +version = 13.0.92 +type = src +url = https://gitlab.freedesktop.org/wayland/weston/ + +[description] +Weston is a Wayland compositor designed for correctness, reliability, predictability, and performance. + +[dependencies] +wayland +wayland-protocols +libxkbcommon +pixman +libinput +libdrm +mesa +cairo +libjpeg-turbo +seatd +hwdata +pango +libdisplay-info + +[optional] +freefont + +[files] +weston-13.0.92.tar.xz https://gitlab.freedesktop.org/wayland/weston/-/releases/13.0.92/downloads/weston-13.0.92.tar.xz bdabae02683199c1cfa9bee30c83ea1d351310c5d21de02d03d1c73e9656fd62 +# This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. Attribution: wanghongliu +aurora.jpg https://upload.wikimedia.org/wikipedia/commons/e/ed/%E9%98%BF%E8%8A%99%E4%B9%90%E5%B0%94%E5%8F%B7%E5%B7%A1%E6%B4%8B%E8%88%B0_AURORA_cruiser%2C_%D0%9A%D1%80%D0%B5%D0%B9%D1%81%D0%B5%D1%80_%D0%90%D0%B2%D1%80%D0%BE%D1%80%D0%B0_-_panoramio.jpg d94b25c5b10f4edf202798a72ef0ba20f1dc9f16798090cdc46344146abbfd0b + +[download] +tar -xf $NAME-$VERSION.tar.xz +mkdir -p $BUILD_ROOT/usr/share/backgrounds/ +cp aurora.jpg $BUILD_ROOT/usr/share/backgrounds/ + +[install] +mkdir build && +cd build && + +meson setup .. \ + --prefix=/usr \ + -Dsystemd=false \ + -Dxwayland=false \ + -Dremoting=false \ + -Dpipewire=false \ + -Dimage-webp=false \ + -Dbackend-rdp=false \ + -Dbackend-x11=false \ + -Dbackend-pipewire=false \ + -Dcolor-management-lcms=false \ + -Dbackend-drm-screencast-vaapi=false && +ninja +DESTDIR=$BUILD_ROOT ninja install + +[special] +mkdir -p /etc/xdg/weston/ && +touch /etc/xdg/weston/weston.ini && +cat > /etc/xdg/weston/weston.ini << "EOF" +ABC[shell] +locking=true +background-image=/usr/share/backgrounds/aurora.jpg +background-type=scale-crop +EOF +sed -i 's/ABC//' /etc/xdg/weston/weston.ini \ No newline at end of file