diff --git a/sci-visualization/gle/Manifest b/sci-visualization/gle/Manifest index 9c5cfd67b18bf..7c2ee7b2cda0d 100644 --- a/sci-visualization/gle/Manifest +++ b/sci-visualization/gle/Manifest @@ -1,4 +1,7 @@ DIST gle-4.3.5.pdf 4050569 BLAKE2B 1d5010ff92ce41180b9a91eddb0c3b410e2264b4e3a73012eaa8592eadf3229890f0a90b6b850ef76c880827a767828fad2b6bea62a4f15f6642cdca52b6851f SHA512 ea65a8968830a642731bb66d0a8d00a932efcf4812104b31289f7faecf998db7c838b58a4b652430f781c90b954e3079231012c326e4f53b3f62c715b4dd892b DIST gle-4.3.5.tar.gz 1804056 BLAKE2B 31c72b9e7204a0dcc48ceff700b8e6db07c052fcdb1a676bf3f53944fcf581b82c46073a4dfa9e20f316d0be977846c7361669691007da903ec7e477464c7b85 SHA512 80f109bfa2969335a8d6ca75fd4fb18363e0ed51df127729e7e31370a651e7590fe33681031784eaeac8c1cb6c084d7809bd989955ce04b6729c76ebaf0a712a +DIST gle-4.3.6.tar.gz 1808371 BLAKE2B 98cada36d0c142c054ff12d207b5fdaa381b57af0aee241552e792e7b1328b6a5d90c70a6d84ea3dad5808cd14ccfa5d3c434186e7d6ac3d4be353313401c8fb SHA512 033dffe19a348f9d69ab3f0af5d185b72f9837d4c9369d2b5d64f4981851c46042ef35d98a41c8e10808d4a1d278263edd8e4efb2195ca6f6459f3941aa7384e +DIST gle-library-4.3.6.tar.gz 1639461 BLAKE2B a87dfe84a298272bae2d03b251052c66a453bfe086ca82b23a9de513ef056ea0d3d2a85abba10a77151a3f03db726702e656a0b8f40dc61c923246c62f038888 SHA512 cb6461cb7bcad4ddac21591c2a258c0f3f96e22e2f09ec2458488a325d7a97ffc93d59bedd3b405a98a93b5934d720313f344972515a98de22452e7535a6920a DIST gle-library.tar.gz 1073620 BLAKE2B 051f9584dbf3195c7598ae54b12ab8d373e8054e8ff4c3d1dfed70319c29c5cb8bb1f0baff127768bcf9e36e4f52be3b3238e786e1598d1cdfbd6d1af6d6bdd3 SHA512 af6a46f2bd945714679eb9d8ca4c70ca9a741cf6652590eb3a8d9422059f49ce3d2c33418c37899bd54f9e0bc0085ae82ffd2f2b84b77879e2f2d09a0026d12a +DIST gle-manual-4.3.6.tar.gz 364976 BLAKE2B 20dbcb918ff55c24590afeff6d6f4aa84db020e0b6f09f840d4cab24f5418c34317d3e1868c86d161850643148a2fe387c07cfa32f2d3460943a4e85f7b61082 SHA512 afdb972a18ccbf54fe50eb0d39ec67fc1775ae4ba9aadb73a4f5c25ed5ceaca36c0addf2a398bb621b8a015d140cf46f4e3799b26141e346b48a0d4445f1dd02 DIST gle-mode.el.gz 7359 BLAKE2B bcbc61651f87f3ee1d079fc0a0de38788523a5ee33f56087b89f4e15b9ef5ee4010cf47679c38da3dfae1954ddbfee4728d10c0af6530f645ff63ab2b219da09 SHA512 c8d291c23f53346d8a44b7d95d737da88c6ec0af597fb8298a564a5567a9e9a0db658d14c3cb43157d58614e65cf2293eaeb01528a7a49722a2da07e16f940e1 diff --git a/sci-visualization/gle/files/cmake-cmp0177.patch b/sci-visualization/gle/files/cmake-cmp0177.patch new file mode 100644 index 0000000000000..29fc17d71e3e2 --- /dev/null +++ b/sci-visualization/gle/files/cmake-cmp0177.patch @@ -0,0 +1,33 @@ +diff '--color=auto' -r -U3 src.orig/CMakeLists.txt src/CMakeLists.txt +--- src.orig/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/CMakeLists.txt 2025-05-09 15:38:00.286727733 +0700 +@@ -3,8 +3,9 @@ + # + cmake_minimum_required (VERSION 3.18) + cmake_policy(SET CMP0091 NEW) # windows static runtimes selection +-#cmake_policy(SET CMP0167 NEW) # The FindBoost module is removed. only for cmake 3.30 and later live with the warning for now ++cmake_policy(SET CMP0167 NEW) # The FindBoost module is removed. only for cmake 3.30 and later live with the warning for now + cmake_policy(SET CMP0074 NEW) # uses _ROOT variables. ++cmake_policy(SET CMP0177 NEW) # normalize DESTINATION paths + include(CheckIncludeFile) + include(CheckIncludeFiles) + include(CheckIncludeFileCXX) +diff '--color=auto' -r -U3 src.orig/gle/CMakeLists.txt src/gle/CMakeLists.txt +--- src.orig/gle/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/gle/CMakeLists.txt 2025-05-09 15:37:46.627110918 +0700 +@@ -1,3 +1,4 @@ ++cmake_policy(SET CMP0177 NEW) # normalize DESTINATION paths + + set(GLE_SOURCES + bitmap/img2ps.cpp +diff '--color=auto' -r -U3 src.orig/TeX/CMakeLists.txt src/TeX/CMakeLists.txt +--- src.orig/TeX/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/TeX/CMakeLists.txt 2025-05-09 15:37:46.627335526 +0700 +@@ -44,6 +44,7 @@ + # CONFIGURATIONS Release Debug + # DESTINATION . + # ) ++cmake_policy(SET CMP0177 NEW) # normalize DESTINATION paths + + install(FILES + init.tex diff --git a/sci-visualization/gle/files/install-dirs.patch b/sci-visualization/gle/files/install-dirs.patch new file mode 100644 index 0000000000000..f73cf75ab0a9f --- /dev/null +++ b/sci-visualization/gle/files/install-dirs.patch @@ -0,0 +1,65 @@ +diff '--color=auto' -r -U3 src.orig/CMakeLists.txt src/CMakeLists.txt +--- src.orig/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/CMakeLists.txt 2025-05-07 13:15:48.636179953 +0700 +@@ -580,18 +580,17 @@ + + # documentation file installation in doc folder + install(FILES +- ../doc/LICENSE.txt + ../doc/README.txt + ../doc/ChangeLog.txt + CONFIGURATIONS Release Debug +- DESTINATION ./doc ++ DESTINATION ./${GLEDOC} + ) + # + # -- install include files from gle-library repo + # + install(DIRECTORY + ${GLE_EXAMPLES_LIBRARY_PATH}/include/ +- DESTINATION ./gleinc ++ DESTINATION ./share/gle/gleinc + CONFIGURATIONS Release Debug + OPTIONAL + PATTERN "*.gle" +@@ -602,7 +601,7 @@ + # + install(FILES + ${GLE_USER_MANUAL_PATH}/gle-manual.pdf +- DESTINATION ./doc ++ DESTINATION ./${GLEDOC} + CONFIGURATIONS Release Debug + OPTIONAL + ) +diff '--color=auto' -r -U3 src.orig/fonts/CMakeLists.txt src/fonts/CMakeLists.txt +--- src.orig/fonts/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/fonts/CMakeLists.txt 2025-05-07 13:15:15.580233720 +0700 +@@ -310,5 +310,5 @@ + ${FMT_FILES} + ${FVE_FILES} + CONFIGURATIONS Release Debug +- DESTINATION font) ++ DESTINATION ./share/gle/font) + +diff '--color=auto' -r -U3 src.orig/gle/CMakeLists.txt src/gle/CMakeLists.txt +--- src.orig/gle/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/gle/CMakeLists.txt 2025-05-07 13:15:15.580978515 +0700 +@@ -201,5 +201,5 @@ + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/glerc + CONFIGURATIONS Release Debug +- DESTINATION . ) ++ DESTINATION ./share/gle ) + +diff '--color=auto' -r -U3 src.orig/TeX/CMakeLists.txt src/TeX/CMakeLists.txt +--- src.orig/TeX/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/TeX/CMakeLists.txt 2025-05-07 13:15:15.581572441 +0700 +@@ -48,7 +48,7 @@ + install(FILES + init.tex + CONFIGURATIONS Release Debug +- DESTINATION . ++ DESTINATION ./share/gle + ) + # make the inittex.ini in the install folder + install(CODE diff --git a/sci-visualization/gle/files/qgle.sh b/sci-visualization/gle/files/qgle.sh new file mode 100644 index 0000000000000..13ec7070df985 --- /dev/null +++ b/sci-visualization/gle/files/qgle.sh @@ -0,0 +1,3 @@ +#!/bin/sh +export GLE_TOP=/usr/share/gle +exec /usr/bin/qgle.bin $* diff --git a/sci-visualization/gle/files/zstd-shared.patch b/sci-visualization/gle/files/zstd-shared.patch new file mode 100644 index 0000000000000..8d80486d4efa8 --- /dev/null +++ b/sci-visualization/gle/files/zstd-shared.patch @@ -0,0 +1,28 @@ +diff '--color=auto' -r -U3 src.orig/gle/CMakeLists.txt src/gle/CMakeLists.txt +--- src.orig/gle/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/gle/CMakeLists.txt 2025-05-07 12:09:15.269438466 +0700 +@@ -129,10 +129,10 @@ + + if(ZSTD_FOUND) + target_link_libraries ( gle LINK_PUBLIC +- zstd::libzstd_static ++ zstd::libzstd_shared + ) + target_link_libraries ( gle-graphics LINK_PUBLIC +- zstd::libzstd_static ++ zstd::libzstd_shared + ) + endif() + +diff '--color=auto' -r -U3 src.orig/gui/CMakeLists.txt src/gui/CMakeLists.txt +--- src.orig/gui/CMakeLists.txt 2025-04-04 21:33:02.000000000 +0700 ++++ src/gui/CMakeLists.txt 2025-05-07 12:09:48.146105759 +0700 +@@ -102,7 +102,7 @@ + + if(ZSTD_FOUND) + list(APPEND QGLE_LIBRARIES +- zstd::libzstd_static ++ zstd::libzstd_shared + ) + endif() + diff --git a/sci-visualization/gle/gle-4.3.6.ebuild b/sci-visualization/gle/gle-4.3.6.ebuild new file mode 100644 index 0000000000000..3b482c3597125 --- /dev/null +++ b/sci-visualization/gle/gle-4.3.6.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE=Release +inherit cmake elisp-common flag-o-matic + +DESCRIPTION="Graphics Layout Engine" +HOMEPAGE="https://glx.sourceforge.io/ https://github.com/vlabella/GLE/" +SRC_URI="https://github.com/vlabella/GLE/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/vlabella/gle-library/archive/refs/tags/v${PV}.tar.gz -> ${PN}-library-${PV}.tar.gz + doc? ( https://github.com/vlabella/gle-manual/archive/refs/tags/v${PV}.tar.gz -> ${PN}-manual-${PV}.tar.gz ) + emacs? ( https://dev.gentoo.org/~grozin/gle-mode.el.gz )" +S="${WORKDIR}"/GLE-${PV}/src +LICENSE="BSD GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc emacs gui manip" + +DEPEND="app-text/ghostscript-gpl + app-text/poppler + dev-libs/boost + media-libs/libpng + media-libs/tiff + sys-libs/zlib + media-libs/libjpeg-turbo + x11-libs/cairo + x11-libs/pixman + gui? ( + media-libs/freeglut + media-libs/glu + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtopengl:5 + dev-qt/qtwidgets:5 + ) + manip? ( sys-libs/ncurses:0 ) + emacs? ( app-editors/emacs:* )" +RDEPEND="${DEPEND} + virtual/latex-base" +BDEPEND="kde-frameworks/extra-cmake-modules + doc? ( virtual/latex-base )" + +PATCHES=( "${FILESDIR}"/install-dirs.patch "${FILESDIR}"/zstd-shared.patch "${FILESDIR}"/cmake-cmp0177.patch ) +SITEFILE="64${PN}-gentoo.el" + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/927779 + # https://github.com/vlabella/GLE/issues/35 + filter-lto + + local mycmakeargs=( + -DGLEDOC=share/doc/${PF} + -DGLE_EXAMPLES_LIBRARY_PATH="${WORKDIR}"/gle-library-${PV} + -DBUILD_GUI=$(usex gui) + -DBUILD_MANIP=$(usex manip) + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use emacs && elisp-compile "${WORKDIR}"/*.el + + # I don't really understand why is this hack needed + sed -e 's/|+//' -i "${BUILD_DIR}"/gle/cmake_install.cmake +} + +src_install() { + cmake_src_install + mv "${D}"/usr/bin/gle "${D}"/usr/bin/gle.bin + newbin "${FILESDIR}"/gle.sh gle + mv "${D}"/usr/bin/qgle "${D}"/usr/bin/qgle.bin + newbin "${FILESDIR}"/qgle.sh qgle + GLE_TOP="${D}"/usr/share/${PN} "${D}"/usr/bin/gle.bin -mkinittex + if use doc; then + pushd "$WORKDIR"/gle-manual-${PV} > /dev/null || die "pushd gle_manual failed" + patch -p1 < "FILESDIR"/latexmk.patch + export GLE_TOP="${D}"/usr/share/gle + export PATH="${D}"/usr/bin:${PATH} + make -f Makefile.gcc GLE="${D}"/usr/bin/gle.bin + dodoc gle-manual.pdf + popd > /dev/null + fi + if use emacs; then + elisp-install ${PN} "${WORKDIR}"/*.el "${WORKDIR}"/*.elc + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sci-visualization/gle/metadata.xml b/sci-visualization/gle/metadata.xml index 436234231cdcb..bcd80dd91c436 100644 --- a/sci-visualization/gle/metadata.xml +++ b/sci-visualization/gle/metadata.xml @@ -15,6 +15,9 @@ range of facilities for producing publication-quality graphs, diagrams, posters and slides. + + Build data manipulation program + vlabella/gle glx