[arch-commits] Commit in jasper/trunk (PKGBUILD fix-opengl-linking.patch)
Antonio Rojas
arojas at gemini.archlinux.org
Sun Apr 24 11:37:57 UTC 2022
Date: Sunday, April 24, 2022 @ 11:37:57
Author: arojas
Revision: 443896
-ffat-lto-objects, follow cmake guidelines, fix build
Added:
jasper/trunk/fix-opengl-linking.patch
Modified:
jasper/trunk/PKGBUILD
--------------------------+
PKGBUILD | 15 ++++---
fix-opengl-linking.patch | 85 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 94 insertions(+), 6 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-04-24 11:26:27 UTC (rev 443895)
+++ PKGBUILD 2022-04-24 11:37:57 UTC (rev 443896)
@@ -4,7 +4,7 @@
pkgbase=jasper
pkgname=('jasper' 'jasper-doc')
pkgver=2.0.33
-pkgrel=1
+pkgrel=2
pkgdesc='Software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard'
url='https://www.ece.uvic.ca/~mdadams/jasper/'
arch=('x86_64')
@@ -12,16 +12,20 @@
makedepends=('glibc' 'libjpeg' 'freeglut' 'libxmu' 'glu' 'cmake' 'doxygen')
options=('staticlibs')
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/mdadams/jasper/archive/version-${pkgver}.tar.gz
- jasper-1.900.1-fix-filename-buffer-overflow.patch)
+ jasper-1.900.1-fix-filename-buffer-overflow.patch
+ fix-opengl-linking.patch)
sha512sums=('ff88c4b55d52803786520e4f0db10f7cb7cd7642694c866ea7859bc79e409590469fc2c63afe522c7f8b0c00062c155c0fe3b83b8928e319173a3ec9fea3e09e'
- 'b8d798bf75523c5db263783e42c653dd0cb03deee90be32eddf878bb6893cca02abadd94de6a8c737a5b7fe76f7fb245979f010765e6a95fc520b215e3a2a7f0')
+ 'b8d798bf75523c5db263783e42c653dd0cb03deee90be32eddf878bb6893cca02abadd94de6a8c737a5b7fe76f7fb245979f010765e6a95fc520b215e3a2a7f0'
+ 'e59788285d5def5391eabe07ed934fd2839357c81edf8f016a4a99b935a8ab0d8b54a82071586b3f79125b7317e01bad8d9c678ad808f2b09710d33a29a1b8f1')
b2sums=('29cd29cf1af285f6054a969991674b12c968b42d70970a1a460fe43e25047b56d2b96a614d0723d9def6c09c9c6b1bdb04289bdcd8cf348449271e5c975074db'
- '9b1927a437ed9b32491f07a210600b5a7d10711ec954dadc030a8238b67e9c6d1a8e67956fd7a5515e7060f0a1651fa86763e21d6d20592f8f00e9d3260722a1')
+ '9b1927a437ed9b32491f07a210600b5a7d10711ec954dadc030a8238b67e9c6d1a8e67956fd7a5515e7060f0a1651fa86763e21d6d20592f8f00e9d3260722a1'
+ 'f459a8891fae03236bc17695655b2a1e05cdc4456e644c2deb219d82e24472d816b93b44e3cbe73403a82736bb5b36becd2076402341eb0a1c7362aace58f915')
prepare() {
cd ${pkgbase}-version-${pkgver}
patch -p1 < "${srcdir}/jasper-1.900.1-fix-filename-buffer-overflow.patch"
sed -r 's|(CMAKE_SKIP_BUILD_RPATH) FALSE|\1 TRUE|g' -i CMakeLists.txt
+ patch -p1 < ../fix-opengl-linking.patch # Fix linking to OpenGL libraries
}
build() {
@@ -29,8 +33,7 @@
local options=(
-DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_INSTALL_LIBDIR=lib
- -DCMAKE_BUILD_TYPE=Release
+ -DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects"
-DJAS_ENABLE_OPENGL=ON
-DJAS_ENABLE_LIBJPEG=ON
-DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=OFF
Added: fix-opengl-linking.patch
===================================================================
--- fix-opengl-linking.patch (rev 0)
+++ fix-opengl-linking.patch 2022-04-24 11:37:57 UTC (rev 443896)
@@ -0,0 +1,85 @@
+diff --git a/build/cmake/modules/JasOpenGL.cmake b/build/cmake/modules/JasOpenGL.cmake
+index b58b8de..4e58ead 100644
+--- a/build/cmake/modules/JasOpenGL.cmake
++++ b/build/cmake/modules/JasOpenGL.cmake
+@@ -5,50 +5,28 @@
+ if (JAS_ENABLE_OPENGL)
+ set(OpenGL_GL_PREFERENCE GLVND)
+ find_package(OpenGL ${JAS_REQUIRED})
+- message("OpenGL library found: ${OPENGL_FOUND}")
+-else()
+- set(OPENGL_FOUND false)
+-endif()
+-if (JAS_ENABLE_OPENGL AND OPENGL_FOUND)
+- set(JAS_HAVE_OPENGL 0)
+- message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
+- message("OpenGL libraries: ${OPENGL_LIBRARIES}")
++ if (TARGET OpenGL::GL)
++ message("OpenGL library found: ${OPENGL_FOUND}")
++ message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
++ message("OpenGL libraries: ${OPENGL_LIBRARIES}")
++ endif()
+ find_package(GLUT ${JAS_REQUIRED})
+- message("GLUT library found: ${GLUT_FOUND}")
+- if (GLUT_FOUND)
++ if (TARGET GLUT::GLUT)
+ message("GLUT include directory: ${GLUT_INCLUDE_DIR}")
+ message("GLUT libraries: ${GLUT_LIBRARIES}")
+- set(CMAKE_REQUIRED_INCLUDES ${GLUT_INCLUDE_DIR})
++ endif()
++ if((TARGET OpenGL::GL) AND (TARGET GLUT::GLUT))
+ check_include_files(GL/glut.h JAS_HAVE_GL_GLUT_H)
+ check_include_files(glut.h JAS_HAVE_GLUT_H)
+ if (JAS_HAVE_GL_GLUT_H OR JAS_HAVE_GLUT_H)
++ set(JAS_OPENGL_TARGETS GLUT::GLUT OpenGL::GL)
++ if (TARGET OpenGL::GLU)
++ set(JAS_OPENGL_TARGETS ${JAS_OPENGL_TARGETS} OpenGL::GLU)
++ endif()
+ set(JAS_HAVE_OPENGL 1)
+- include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+ else()
+ message(WARNING "The header files GL/glut.h and glut.h both appear to be missing.")
+ message(WARNING "Disabling OpenGL.")
+ endif()
+ endif()
+- # On some systems (e.g., Fedora 21), there is a bug in the cmake code
+- # that detects GLUT libraries. The following ugliness is a workaround for
+- # this problem.
+- if (NOT GLUT_Xmu_LIBRARY OR NOT GLUT_Xmi_LIBRARY)
+- if (NOT GLUT_Xmu_LIBRARY)
+- set(GLUT_Xmu_LIBRARY "")
+- message(WARNING "Clearing bogus value for GLUT_Xmu_LIBRARY.")
+- message(WARNING "Your version of CMake may be buggy.")
+- endif()
+- if (NOT GLUT_Xmi_LIBRARY)
+- set(GLUT_Xmi_LIBRARY "")
+- message(WARNING "Clearing bogus value for GLUT_Xmi_LIBRARY.")
+- message(WARNING "Your version of CMake may be buggy.")
+- endif()
+- set(GLUT_LIBRARIES "${GLUT_glut_LIBRARY}")
+- endif()
+-else()
+- set(JAS_HAVE_OPENGL 0)
+- set(OPENGL_INCLUDE_DIR "")
+- set(OPENGL_LIBRARIES "")
+- set(GLUT_INCLUDE_DIR "")
+- set(GLUT_LIBRARIES "")
+ endif()
+diff --git a/src/appl/CMakeLists.txt b/src/appl/CMakeLists.txt
+index 1b865de..3d0c57b 100644
+--- a/src/appl/CMakeLists.txt
++++ b/src/appl/CMakeLists.txt
+@@ -22,10 +22,9 @@ set(man_pages "${man_pages}" imgcmp.1)
+ # The jiv program (which requires GLUT)
+ if(JAS_HAVE_OPENGL)
+ add_executable(jiv jiv.c)
+- target_include_directories(jiv PUBLIC
+- ${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+- target_link_libraries(jiv libjasper ${JPEG_LIBRARIES} ${GLUT_LIBRARIES}
+- ${OPENGL_LIBRARIES} ${MATH_LIBRARY})
++ target_link_libraries(jiv libjasper
++ ${JPEG_LIBRARIES} ${HEIF_LIBRARIES} ${JAS_OPENGL_TARGETS}
++ ${JAS_OPENGL_TARGETS} ${MATH_LIBRARY} ${THREAD_LIBRARY})
+ set(programs "${programs}" jiv)
+ set(man_pages "${man_pages}" jiv.1)
+ else()
More information about the arch-commits
mailing list