sci-visualization/gle: ebuild improvements

Signed-off-by: Andrey Grozin <grozin@gentoo.org>
This commit is contained in:
Andrey Grozin
2022-12-24 13:20:51 +07:00
parent edb14c0e15
commit f8a5416a5d
9 changed files with 206 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST gle-4.3.3.tar.gz 1788614 BLAKE2B 3f608a8dad32d02b06808d5b2cfe4a2beb2c076c74e2972be2e94fe56bf24190b9cc7c69f45f1b02d399354f827c43722029871d6355bc0e4abe003f71b2bf82 SHA512 191dde025828f3376c7241e0580fcd459c743fe947f69cc3be1345b43c1d2587852a0d002dfdab7d8b7b45fd30e6bf4e8a4b5c73bcc2f3ce2fd08aa41d799b03
DIST gle-c++17.patch.gz 18738 BLAKE2B e0d91aedf2121897336be72d8ad5878be95cf15982b38efb2fda86605d6e0f01b792013a9ab6407692254e5c074630daede05bcf97f349541dd979b21eb2ff15 SHA512 3bc4e335577f94eafd140cd64f2ada1926b1679c113de1f0bb0dd1afed67210470340470b19d89dae4ae1ef433f05120332a465711afb4e637e3cf0c6db68ace
DIST gle-graphics-4.2.5f-src.tar.gz 2330270 BLAKE2B 46435a2366a278a88786a2dd0e0cbcc48d3ba2fc6d895fb07c81216089a10b2223b2ba692b951ee01a6ab014e84cce9aa3969d063ddf7d04501820aa33084c5c SHA512 d459b24577c9c3f8825c368f864532c97d0a37c94018276a60c941d17dce0e55fe738f7eda3227a47848f2fb32fea1dcec29d9751a5be92cde4d8d38a2eeb0f5
DIST gle-library.tar.gz 1073620 BLAKE2B 051f9584dbf3195c7598ae54b12ab8d373e8054e8ff4c3d1dfed70319c29c5cb8bb1f0baff127768bcf9e36e4f52be3b3238e786e1598d1cdfbd6d1af6d6bdd3 SHA512 af6a46f2bd945714679eb9d8ca4c70ca9a741cf6652590eb3a8d9422059f49ce3d2c33418c37899bd54f9e0bc0085ae82ffd2f2b84b77879e2f2d09a0026d12a
DIST gle-manual.pdf.gz 1878050 BLAKE2B 6ebd3c0214ab8aee3e5a32d1e1cdf1c001cd09325c80a506a1e41f4eb3ec8869b75083c741a5cf8b2f3faf1d2cb0c6cfeca835daa284263598f749109904cc11 SHA512 7cc796626fa19541558004250a4a5b206ead7ba704c76fd948693aca144e70926b8213ee8b062841bffedc631eb39a255d69387bbee4a5acc7edc6d093e3113f

View File

@@ -0,0 +1,15 @@
diff -r -U2 src.orig/makefmt/makefmt.cpp src/makefmt/makefmt.cpp
--- src.orig/makefmt/makefmt.cpp 2022-04-14 02:47:12.000000000 +0700
+++ src/makefmt/makefmt.cpp 2022-12-18 14:09:54.399896247 +0700
@@ -115,6 +115,6 @@
int main(int argc, char *argv[]) {
- char filename[80];
- char fmtname[80];
+ char filename[200];
+ char fmtname[200];
init_accents();
/* encoding file given? */
diff -r -U2 src.orig/TeX/CMakeLists.txt src/TeX/CMakeLists.txt
--- src.orig/TeX/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/TeX/CMakeLists.txt 2022-12-20 13:34:00.953502995 +0700

View File

@@ -0,0 +1,21 @@
diff -r -U2 src.orig/CMakeLists.txt src/CMakeLists.txt
--- src.orig/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/CMakeLists.txt 2022-12-20 13:03:11.386586253 +0700
@@ -130,5 +133,5 @@
string(COMPARE NOTEQUAL "${CAIRO_LIBRARIES}" "CAIRO_LIBRARIES-NOTFOUND" CAIRO_FOUND)
endif()
-find_path(CAIRO_INCLUDE_DIRS cairo.h PATHS ${CAIRO_ROOT} PATH_SUFFIXES include REQUIRED)
+find_path(CAIRO_INCLUDE_DIRS cairo.h PATHS ${CAIRO_ROOT} PATH_SUFFIXES include include/cairo REQUIRED)
if(CAIRO_FOUND)
message("-- Found CAIRO: " ${CAIRO_LIBRARIES} )
@@ -154,8 +157,8 @@
endif()
else()
- find_library(PIXMAN_LIBRARIES NAMES pixman pixmand PATHS ${PIXMAN_ROOT} PATH_SUFFIXES lib REQUIRED)
+ find_library(PIXMAN_LIBRARIES NAMES pixman pixmand pixman-1 PATHS ${PIXMAN_ROOT} PATH_SUFFIXES lib REQUIRED)
string(COMPARE NOTEQUAL "${PIXMAN_LIBRARIES}" "PIXMAN_LIBRARIES-NOTFOUND" PIXMAN_FOUND)
endif()
-find_path(PIXMAN_INCLUDE_DIRS pixman.h PATHS ${PIXMAN_ROOT} PATH_SUFFIXES include REQUIRED)
+find_path(PIXMAN_INCLUDE_DIRS pixman.h PATHS ${PIXMAN_ROOT} PATH_SUFFIXES include include/pixman-1 REQUIRED)
if(PIXMAN_FOUND)
message("-- Found PIXMAN: " ${PIXMAN_LIBRARIES} )

View File

@@ -0,0 +1,16 @@
diff -r -U2 src.orig/CMakeLists.txt src/CMakeLists.txt
--- src.orig/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/CMakeLists.txt 2022-12-20 13:03:11.386586253 +0700
@@ -164,9 +167,9 @@
# -- GHOSTscript or GHOSTPDL include directory only since gle links to installed version at runtime
#
-find_path(GDIR1 iapi.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices )
+find_path(GDIR1 iapi.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices ghostscript )
list(APPEND GHOSTPDL_INCLUDE_DIRS ${GDIR1} )
-find_path(GDIR2 gdevdsp.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices )
+find_path(GDIR2 gdevdsp.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices ghostscript )
list(APPEND GHOSTPDL_INCLUDE_DIRS ${GDIR2} )
-find_path(GDIR3 gserrors.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices )
+find_path(GDIR3 gserrors.h PATHS ${GHOSTPDL_ROOT} PATH_SUFFIXES psi base devices ghostscript )
list(APPEND GHOSTPDL_INCLUDE_DIRS ${GDIR3} )

View File

@@ -0,0 +1,20 @@
diff -r -U2 src.orig/TeX/CMakeLists.txt src/TeX/CMakeLists.txt
--- src.orig/TeX/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/TeX/CMakeLists.txt 2022-12-20 13:34:00.953502995 +0700
@@ -52,11 +52,11 @@
)
# make the inittex.ini in the install folder
-install(CODE "execute_process(COMMAND ${CMAKE_INSTALL_PREFIX}/bin/gle$<$<CONFIG:Debug>:d> -mkinittex)")
+# install(CODE "execute_process(COMMAND ${CMAKE_INSTALL_PREFIX}/bin/gle$<$<CONFIG:Debug>:d> -mkinittex)")
# explicity install inittex.ini for cpack even though its created in this directory
# from gle -mkinittex command above
-install(FILES
- ${CMAKE_INSTALL_PREFIX}/inittex.ini
- CONFIGURATIONS Release Debug
- DESTINATION .
-)
+# install(FILES
+# ${CMAKE_INSTALL_PREFIX}/inittex.ini
+# CONFIGURATIONS Release Debug
+# DESTINATION .
+# )

View File

@@ -0,0 +1,9 @@
diff -r -U2 src.orig/CMakeLists.txt src/CMakeLists.txt
--- src.orig/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/CMakeLists.txt 2022-12-20 13:03:11.386586253 +0700
@@ -398,5 +401,4 @@
# documentation file installation in doc folder
install(FILES
- ../doc/LICENSE.txt
../doc/README.txt
../doc/ChangeLog.txt

View File

@@ -0,0 +1,20 @@
diff -r -U2 src.orig/gui/CMakeLists.txt src/gui/CMakeLists.txt
--- src.orig/gui/CMakeLists.txt 2022-04-14 02:47:12.000000000 +0700
+++ src/gui/CMakeLists.txt 2022-12-19 10:21:59.026388957 +0700
@@ -54,11 +54,14 @@
$<$<PLATFORM_ID:Windows>:qgle.rc>
)
-# no jpeg as its contianed in Qt
+# no jpeg as its contained in Qt
+# but need to add JPEG for Linux!
+# order matters: first static files (and libgle), then dynamic libraries
target_link_libraries ( qgle LINK_PUBLIC
+ libgle-graphics_s
${ZLIB_LIBRARIES}
+ ${JPEG_LIBRARIES}
${TIFF_LIBRARIES}
${PNG_LIBRARIES}
${PIXMAN_LIBRARIES}
- libgle-graphics_s
Qt::Core
Qt::Gui

View File

@@ -0,0 +1,10 @@
diff -r -U2 src.orig/gui/main.cpp src/gui/main.cpp
--- src.orig/gui/main.cpp 2022-04-14 02:47:12.000000000 +0700
+++ src/gui/main.cpp 2022-12-19 10:21:59.046388957 +0700
@@ -277,5 +277,5 @@
#endif
#ifdef Q_OS_LINUX
- Q_IMPORT_PLUGIN(QWaylandIntegrationPlugin)
+ // Q_IMPORT_PLUGIN(QWaylandIntegrationPlugin)
#endif
QLocale curLocale("C");

View File

@@ -0,0 +1,94 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake elisp-common
DESCRIPTION="Graphics Layout Engine"
HOMEPAGE="http://glx.sourceforge.io/ https://github.com/vlabella/GLE/"
IUSE="doc emacs"
LIB_VERSION="d476418f006b001dc7f47dcafb413c0557fa44a7"
SRC_URI="https://github.com/vlabella/GLE/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/vlabella/gle-library/archive/${LIB_VERSION}.tar.gz -> ${PN}-library.tar.gz
https://dev.gentoo.org/~grozin/gle-c++17.patch.gz
doc? ( https://dev.gentoo.org/~grozin/gle-manual.pdf.gz )
emacs? ( https://dev.gentoo.org/~grozin/gle-mode.el.gz )"
S="${WORKDIR}"/GLE-${PV}/src
LICENSE="BSD GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="app-text/ghostscript-gpl
dev-libs/boost
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtopengl:5
dev-qt/qtwidgets:5
media-libs/freeglut
media-libs/glu
media-libs/libpng
media-libs/tiff
sys-libs/zlib
media-libs/libjpeg-turbo
x11-libs/cairo
x11-libs/pixman
emacs? ( app-editors/emacs:* )"
RDEPEND="${DEPEND}
virtual/latex-base"
PATCHES=( \
"${WORKDIR}"/${PN}-c++17.patch \
"${FILESDIR}"/cairo-pixman.patch \
"${FILESDIR}"/ghostscript.patch \
"${FILESDIR}"/link.patch \
"${FILESDIR}"/array.patch \
"${FILESDIR}"/wayland.patch \
"${FILESDIR}"/install.patch \
"${FILESDIR}"/lic.patch \
)
SITEFILE="64${PN}-gentoo.el"
src_configure() {
local mycmakeargs=(
-DGLE_EXAMPLES_LIBRARY_PATH="${WORKDIR}"/gle-library-${LIB_VERSION}
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
use emacs && elisp-compile "${WORKDIR}"/*.el
}
src_install() {
pushd "${WORKDIR}"/${P}_build > /dev/null || die "pushd failed"
newbin gle/gle gle.bin
dobin gui/qgle
insinto /usr/share/${PN}
doins gle/glerc
doins -r gle/font
popd > /dev/null
newbin "${FILESDIR}"/gle.sh gle
dodoc ../doc/README.txt ../doc/ChangeLog.txt
doins TeX/init.tex
mv "${WORKDIR}"/gle-library-${LIB_VERSION}/include "${WORKDIR}"/gle-library-${LIB_VERSION}/gleinc || die "mv failed"
doins -r "${WORKDIR}"/gle-library-${LIB_VERSION}/gleinc
GLE_TOP="${D}"/usr/share/${PN} "${D}"/usr/bin/gle.bin -mkinittex
use doc && dodoc "${WORKDIR}"/*.pdf
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
}