Skip to content

Commit

Permalink
new pkgs to gpkg
Browse files Browse the repository at this point in the history
gpkg/libwayland
gpkg/libwayland-protocols
gpkg/vulkan-tools
gpkg/mesa
gpkg/mesa-demos
gpkg/opengl
gpkg/freeglut
gpkg/glu
gpkg/glslang
gpkg/spirv-tools
gpkg/spirv-headers
gpkg/glmark2
gpkg/vkmark
gpkg/glm
gpkg/xcb-util-wm
gpkg/assimp
gpkg/alsa-lib
  • Loading branch information
askorbinovaya-kislota authored and Maxython committed Jan 12, 2024
1 parent 2f9ec5b commit 175951e
Show file tree
Hide file tree
Showing 34 changed files with 866 additions and 12 deletions.
12 changes: 12 additions & 0 deletions gpkg/alsa-lib/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
TERMUX_PKG_HOMEPAGE="https://www.alsa-project.org"
TERMUX_PKG_DESCRIPTION="An alternative implementation of Linux sound support"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=1.2.10
TERMUX_PKG_SRCURL="https://www.alsa-project.org/files/pub/lib/alsa-lib-$TERMUX_PKG_VERSION.tar.bz2"
TERMUX_PKG_SHA256="c86a45a846331b1b0aa6e6be100be2a7aef92efd405cf6bac7eef8174baa920e"
TERMUX_PKG_DEPENDS="glibc"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
--with-tmpdir=$TERMUX_PREFIX_CLASSICAL/tmp
--disable-static
"
12 changes: 12 additions & 0 deletions gpkg/assimp/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
TERMUX_PKG_HOMEPAGE=https://assimp.sourceforge.net/index.html
TERMUX_PKG_DESCRIPTION="Library to import various well-known 3D model formats in an uniform manner"
TERMUX_PKG_LICENSE="BSD"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION="5.3.1"
TERMUX_PKG_SRCURL=https://github.com/assimp/assimp/archive/v$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SHA256=a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1
TERMUX_PKG_DEPENDS="gcc-libs-glibc, zlib-glibc"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DASSIMP_BUILD_SAMPLES=OFF
-DASSIMP_WARNINGS_AS_ERRORS=OFF
"
8 changes: 8 additions & 0 deletions gpkg/freeglut/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
TERMUX_PKG_HOMEPAGE=https://freeglut.sourceforge.net/
TERMUX_PKG_DESCRIPTION="Provides functionality for small OpenGL programs"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=3.4.0
TERMUX_PKG_SRCURL=https://downloads.sourceforge.net/freeglut/freeglut-$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SHA256=3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec
TERMUX_PKG_DEPENDS="glu-glibc, libx11-glibc, libxi-glibc, libxrandr-glibc, libxxf86vm-glibc, libglvnd-glibc"
43 changes: 43 additions & 0 deletions gpkg/glm/6059c5767.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 6059c5767b8be1fdaf7b4c8bf6f435ee9f7e5f0c Mon Sep 17 00:00:00 2001
From: Krzysztof Kurek <[email protected]>
Date: Sat, 30 Jan 2021 21:08:48 +0100
Subject: [PATCH] Export the GLM target

---
CMakeLists.txt | 1 +
glm/CMakeLists.txt | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8d597db07..9b268fc1c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,6 +20,7 @@ enable_testing()

add_subdirectory(glm)
add_library(glm::glm ALIAS glm)
+install(EXPORT glm FILE glm-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake NAMESPACE glm::)

if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})

diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
index 4ff51c818..e97192cf7 100644
--- a/glm/CMakeLists.txt
+++ b/glm/CMakeLists.txt
@@ -43,7 +43,15 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
source_group("SIMD Files" FILES ${SIMD_HEADER})

add_library(glm INTERFACE)
-target_include_directories(glm INTERFACE ../)
+
+target_include_directories(glm INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+include(GNUInstallDirs)
+install(TARGETS glm EXPORT glm)
+install(DIRECTORY . DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/glm" PATTERN "CMakeLists.txt" EXCLUDE)

if(BUILD_STATIC_LIBS)
add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT}
10 changes: 10 additions & 0 deletions gpkg/glm/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
TERMUX_PKG_HOMEPAGE=https://glm.g-truc.net/
TERMUX_PKG_DESCRIPTION="C++ mathematics library for graphics software based on the GLSL specifications"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_LICENSE_FILE="copying.txt"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=0.9.9.8
TERMUX_PKG_SRCURL=https://github.com/g-truc/glm/archive/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592
TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DGLM_TEST_ENABLE=OFF"
12 changes: 12 additions & 0 deletions gpkg/glmark2/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
TERMUX_PKG_HOMEPAGE=https://github.com/glmark2/glmark2
TERMUX_PKG_DESCRIPTION="glmark2 is an OpenGL 2.0 and ES 2.0 benchmark"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=2023.01
TERMUX_PKG_SRCURL=https://github.com/glmark2/glmark2/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=8fece3fc323b643644a525be163dc4931a4189971eda1de8ad4c1712c5db3d67
TERMUX_PKG_DEPENDS="opengl-glibc, libjpeg-turbo-glibc, libx11-glibc, libpng-glibc, libwayland-glibc"
TERMUX_PKG_BUILD_DEPENDS="libwayland-protocols-glibc"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dflavors=x11-gl,x11-glesv2,x11-gl-egl,wayland-gl,wayland-glesv2
"
23 changes: 23 additions & 0 deletions gpkg/glslang/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/glslang
TERMUX_PKG_DESCRIPTION="OpenGL and OpenGL ES shader front end and validator"
TERMUX_PKG_LICENSE="BSD"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION="13.1.1"
TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/glslang/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=1c4d0a5a38c8aaf89a2d7e6093be734320599f5a6775b2726beeb05b0c054e66
TERMUX_PKG_DEPENDS="gcc-libs-glibc"
TERMUX_PKG_BUILD_DEPENDS="spirv-tools-glibc"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DALLOW_EXTERNAL_SPIRV_TOOLS=ON
"

termux_step_post_make_install() {
# build system only build static or shared at a time
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+="
-DBUILD_SHARED_LIBS=ON
"
termux_step_configure
termux_step_make
termux_step_make_install
}
27 changes: 27 additions & 0 deletions gpkg/glu/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)

Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights
Reserved.

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 including the dates of first publication and either
this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
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 SILICON
GRAPHICS, INC. 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.

Except as contained in this notice, the name of Silicon Graphics, Inc. shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from Silicon
Graphics, Inc.
13 changes: 13 additions & 0 deletions gpkg/glu/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
TERMUX_PKG_HOMEPAGE=https://cgit.freedesktop.org/mesa/glu/
TERMUX_PKG_DESCRIPTION="Mesa OpenGL Utility library"
TERMUX_PKG_LICENSE="custom"
TERMUX_PKG_LICENSE_FILE="LICENSE"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=9.0.2
TERMUX_PKG_SRCURL=https://mesa.freedesktop.org/archive/glu/glu-$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SHA256=24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65
TERMUX_PKG_DEPENDS="gcc-libs-glibc, libglvnd-glibc"

termux_step_post_get_source() {
cp "${TERMUX_PKG_BUILDER_DIR}"/LICENSE ./
}
3 changes: 1 addition & 2 deletions gpkg/libglvnd/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v${TER
TERMUX_PKG_SHA256=2b6e15b06aafb4c0b6e2348124808cbd9b291c647299eaaba2e3202f51ff2f3d
TERMUX_PKG_DEPENDS="libxext-glibc"
TERMUX_PKG_BUILD_DEPENDS="xorgproto-glibc"
# Currently there is no mesa-glibc
#TERMUX_PKG_RECOMMENDS="mesa-glibc"
TERMUX_PKG_RECOMMENDS="mesa-glibc"

termux_step_install_license() {
install -Dm600 -t $TERMUX_PREFIX/share/doc/$TERMUX_PKG_NAME \
Expand Down
10 changes: 10 additions & 0 deletions gpkg/libwayland-protocols/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
TERMUX_PKG_HOMEPAGE=https://wayland.freedesktop.org/
TERMUX_PKG_DESCRIPTION="Wayland protocols library"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=1.31
TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${TERMUX_PKG_VERSION}/downloads/wayland-protocols-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=a07fa722ed87676ec020d867714bc9a2f24c464da73912f39706eeef5219e238
TERMUX_PKG_DEPENDS="glibc"
TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-Dtests=false"
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=1.22.0
TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/wayland/wayland/-/releases/${TERMUX_PKG_VERSION}/downloads/wayland-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842
TERMUX_PKG_DEPENDS="glibc, libffi-glibc, libexpat-glibc, libxml2-glibc"
TERMUX_PKG_DEPENDS="libffi-glibc, libexpat-glibc, libxml2-glibc"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-Ddocumentation=false"
13 changes: 13 additions & 0 deletions gpkg/libwayland/force-libm.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Without that, build fails with an undefined reference to fmod@GLIBC_2.38 in libxml2.so, on x86_64. Have no idea how could it happen.
diff -uNr a/src/meson.build b/src/meson.build
--- a/src/meson.build 2023-11-29 18:16:40.269713092 +0000
+++ b/src/meson.build 2023-11-29 18:17:04.333673708 +0000
@@ -29,7 +29,7 @@
if get_option('scanner')
# wayland-scanner

- scanner_deps = [ dependency('expat') ]
+ scanner_deps = [ dependency('expat'), cc.find_library('m') ]
scanner_args = [ '-include', 'config.h' ]

if get_option('dtd_validation')
File renamed without changes.
83 changes: 83 additions & 0 deletions gpkg/mesa-demos/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
The Mesa 3D Graphics Library

Disclaimer

Mesa is a 3-D graphics library with an API which is very similar to
that of [1]OpenGL.* To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
[2]Silicon Graphics, Inc.(SGI). However, the author does not possess an
OpenGL license from SGI, and makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with SGI. Those who
want a licensed implementation of OpenGL should contact a licensed
vendor.

Please do not refer to the library as MesaGL (for legal reasons). It's
just Mesa or The Mesa 3-D graphics library.

* OpenGL is a trademark of [3]Silicon Graphics Incorporated.

License / Copyright Information

The Mesa distribution consists of several components. Different
copyrights and licenses apply to different components. For example, the
GLX client code uses the SGI Free Software License B, and some of the
Mesa device drivers are copyrighted by their authors. See below for a
list of Mesa's main components and the license for each.

The core Mesa library is licensed according to the terms of the MIT
license. This allows integration with the XFree86, Xorg and DRI
projects.

The default Mesa license is as follows:

Copyright (C) 1999-2007 Brian Paul All Rights Reserved.

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.

Attention, Contributors

When contributing to the Mesa project you must agree to the licensing
terms of the component to which you're contributing. The following
section lists the primary components of the Mesa distribution and their
respective licenses.

Mesa Component Licenses

Component Location License
------------------------------------------------------------------
Main Mesa code src/mesa/ MIT

Device drivers src/mesa/drivers/* MIT, generally

Gallium code src/gallium/ MIT

Ext headers include/GL/glext.h Khronos
include/GL/glxext.h

GLX client code src/glx/ SGI Free Software License B

C11 thread include/c11/threads*.h Boost (permissive) emulation

In general, consult the source files for license terms.

References

1. https://www.opengl.org/
2. https://www.sgi.com/
3. https://www.sgi.com/
21 changes: 21 additions & 0 deletions gpkg/mesa-demos/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
TERMUX_PKG_HOMEPAGE=https://www.mesa3d.org
TERMUX_PKG_DESCRIPTION="OpenGL demonstration and test programs"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=9.0.0
TERMUX_PKG_SRCURL=https://mesa.freedesktop.org/archive/demos/mesa-demos-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b
TERMUX_PKG_DEPENDS="opengl-glibc, glu-glibc, freeglut-glibc"
TERMUX_PKG_BUILD_DEPENDS="glslang-glibc"
# undefined reference to `chown@GLIBC_2.1' in libdrm.so.2 on i686
# if libdrm and osmesa are enabled
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dlibdrm=disabled
-Dosmesa=disabled
-Dwith-system-data-files=true
"

termux_step_install_license() {
install -Dm600 -t $TERMUX_PREFIX/share/doc/$TERMUX_PKG_NAME \
$TERMUX_PKG_BUILDER_DIR/LICENSE
}
40 changes: 40 additions & 0 deletions gpkg/mesa/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
TERMUX_PKG_HOMEPAGE="https://www.mesa3d.org"
TERMUX_PKG_DESCRIPTION="An open-source implementation of the OpenGL specification"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_LICENSE_FILE="docs/license.rst"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION="23.2.1"
TERMUX_PKG_SRCURL="https://archive.mesa3d.org/mesa-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256="64de0616fc2d801f929ab1ac2a4f16b3e2783c4309a724c8a259b20df8bbc1cc"
TERMUX_PKG_DEPENDS="libglvnd-glibc, gcc-libs-glibc, libdrm-glibc, libllvm-glibc, libexpat-glibc, zlib-glibc, zstd-glibc, libx11-glibc, libxcb-glibc, libxext-glibc, libxfixes-glibc, libxshmfence-glibc, libxxf86vm-glibc, libwayland-glibc"
TERMUX_PKG_SUGGESTS="mesa-dev-glibc"
TERMUX_PKG_BUILD_DEPENDS="llvm-glibc, libwayland-protocols-glibc, xorgproto-glibc"
# disabling libunwind, microsoft-clc and valgrind will improve performance
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dgbm=enabled
-Degl=enabled
-Degl-native-platform=x11
-Dgles1=disabled
-Dgles2=enabled
-Ddri3=enabled
-Dglx=dri
-Dllvm=enabled
-Dplatforms=x11,wayland
-Dgallium-drivers=swrast,virgl,zink
-Dosmesa=true
-Dglvnd=true
-Dgallium-extra-hud=true
-Dgallium-nine=true
-Dcpp_rtti=false
-Dlibunwind=disabled
-Dmicrosoft-clc=disabled
-Dvalgrind=disabled
"

termux_step_pre_configure() {
case $TERMUX_ARCH in
arm|aarch64) TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dvulkan-drivers=swrast,freedreno -Dfreedreno-kmds=msm,kgsl";;
*) TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dvulkan-drivers=swrast";;
esac
export LLVM_CONFIG=$TERMUX_PREFIX/bin/llvm-config
}
16 changes: 16 additions & 0 deletions gpkg/mesa/fix-for-anon-file.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Fallback to `@TERMUX_PREFIX_CLASSICAL@/tmp` if env `XDG_RUNTIME_DIR` is not set.

--- a/src/util/anon_file.c
+++ b/src/util/anon_file.c
@@ -136,6 +136,11 @@
char *name;

path = getenv("XDG_RUNTIME_DIR");
+#ifdef __TERMUX__
+ if (!path) {
+ path = "@TERMUX_PREFIX_CLASSICAL@/tmp";
+ }
+#endif
if (!path) {
errno = ENOENT;
return -1;
Loading

0 comments on commit 175951e

Please sign in to comment.