sci-mathematics/genius: bump to 1.0.25, move to USE=gui
authorMart Raudsepp <leio@gentoo.org>
Fri, 13 Mar 2020 11:48:28 +0000 (13:48 +0200)
committerMart Raudsepp <leio@gentoo.org>
Fri, 13 Mar 2020 11:48:28 +0000 (13:48 +0200)
Closes: https://bugs.gentoo.org/711782
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
sci-mathematics/genius/Manifest
sci-mathematics/genius/files/genius-1.0.25-vte-conf-fixes.patch [new file with mode: 0644]
sci-mathematics/genius/genius-1.0.25.ebuild [new file with mode: 0644]

index 25416bdf67546e6bebd630aa688c721c554bf5c9..d38b488a22483ee446daf6d7ba341031a1250d73 100644 (file)
@@ -1,2 +1,3 @@
 DIST genius-1.0.23.tar.xz 2910332 BLAKE2B 8c9822737dfd0b445092c6b96376249093f3cfece4f0b98cb1bf62e9066336875fc014798b301686a9ffcaf5e37c1f324771c5b9e86c1578455874964427cca6 SHA512 8c64235d22734a7653468d39500ebbaa38b0ba7c25e292b4e96ddf825082584bf8c70e7ddc463b685ea01d51d3e08233b4e0cf8816a9a0e3357badb90d8e43c7
+DIST genius-1.0.25.tar.xz 2935920 BLAKE2B 9e5a58e15a1e53a64b10c662f1dea91ec80987d1be3ec208aaff76f59d1f9f5b2f9b2b1a2d6bede9c2cae5258038b2995b3bce6600471d088653b1392a1a8eb1 SHA512 ecd01acceb4cea3cb9796edaebc983ed7c0ee618737d98755882a845ddc07e1307851ef9fba75714bc33868556f03c004e03c3b9c42425293cb59a86b8af17a9
 DIST genius-reference.pdf 1024944 BLAKE2B e0058fbd266a4ed4bf29306520ac64b7ff9a970fa79b5132f5556b61a97dd985fe916c888d0d5a678528ef231a9c66310dc2affe01491c7848451b3d54f58274 SHA512 04af3870104d2320b1d4b345d74d713a0dfcdf8a228002506508f437659b3ef6037ead0b1f6b37cc335692150750b58c4007fdaaddd9540233474ccd10dac285
diff --git a/sci-mathematics/genius/files/genius-1.0.25-vte-conf-fixes.patch b/sci-mathematics/genius/files/genius-1.0.25-vte-conf-fixes.patch
new file mode 100644 (file)
index 0000000..54d3a65
--- /dev/null
@@ -0,0 +1,173 @@
+From 3b0ffaf91894a70d5d3eefcf587a258cdc818a8f Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Fri, 13 Mar 2020 00:37:32 +0200
+Subject: [PATCH] Clean up vte configure.ac handling
+
+---
+ configure.ac    | 113 +-----------------------------------------------
+ src/Makefile.am |   2 -
+ 2 files changed, 2 insertions(+), 113 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6c70c5c9..9d8e76a8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,9 +19,9 @@ PKG_PROG_PKG_CONFIG
+ dnl ================= Requirements ================================================
++VTE_REQUIRED=0.50.0
+ GTK_REQUIRED=3.21.4
+ GLIB_REQUIRED=2.41.1
+-PANGO_REQUIRED=1.22.0
+ GTKSOURCEVIEW4_REQUIRED=3.99.7
+ GIO_REQUIRED=2.16.0
+@@ -123,7 +123,7 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
+ AC_SUBST(GLIB_CFLAGS)
+ AC_SUBST(GLIB_LIBS)
+-GENIUS_MODULES="amtk-5 gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GIO_REQUIRED"
++GENIUS_MODULES="amtk-5 gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GIO_REQUIRED vte-2.91 >= $VTE_REQUIRED"
+ if test "x$use_gnome" = "xyes" ; then
+   echo " 
+@@ -260,115 +260,6 @@ AC_ARG_ENABLE(update-mimedb,
+ AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
+-####
+-# VTE STUFF, this is all temporary pending a port to gtk 3.0 in the star trek future
+-# FIXME: OK this happened, so things ought to be properly "whacked" (removed)
+-
+-AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
+-AC_DEFINE_UNQUOTED(VTE_DEFAULT_EMULATION,"xterm",[The default terminal type to be emulated.])
+-VTE_DEFAULT_EMULATION="xterm"
+-AC_SUBST(VTE_DEFAULT_EMULATION)
+-
+-# Check for headers.
+-AC_CHECK_HEADERS(sys/select.h sys/syslimits.h sys/termios.h sys/un.h sys/wait.h stropts.h termios.h wchar.h)
+-AC_HEADER_TIOCGWINSZ
+-
+-# Check for PTY handling functions.
+-AC_CHECK_FUNCS([cfmakeraw fork setsid setpgid getpgid getpt grantpt unlockpt ptsname ptsname_r tcgetattr tcsetattr])
+-
+-# Pull in the right libraries for various functions which might not be
+-# bundled into an exploded libc.
+-AC_CHECK_FUNC(socket,[have_socket=1],AC_CHECK_LIB(socket,socket,[have_socket=1; LIBS="$LIBS -lsocket"]))
+-AC_CHECK_FUNC(socketpair,[have_socketpair=1],AC_CHECK_LIB(socket,socketpair,[have_socketpair=1; LIBS="$LIBS -lsocket"]))
+-AC_CHECK_FUNC(recvmsg,[have_recvmsg=1],AC_CHECK_LIB(socket,recvmsg,[have_recvmsg=1; LIBS="$LIBS -lsocket -lnsl"]))
+-if test x$have_socket = x1 ; then
+-      AC_DEFINE(HAVE_SOCKET,1,[Define if you have the socket function.])
+-fi
+-if test x$have_socketpair = x1 ; then
+-      AC_DEFINE(HAVE_SOCKETPAIR,1,[Define if you have the socketpair function.])
+-fi
+-if test x$have_recvmsg = x1 ; then
+-      AC_DEFINE(HAVE_RECVMSG,1,[Define if you have the recvmsg function.])
+-fi
+-AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
+-AC_CHECK_FUNCS([ceil floor])
+-
+-# Look for tgetent
+-
+-AC_CHECK_FUNC([tgetent],[vte_cv_termcap_lib=libc],
+-  [AC_CHECK_LIB([ncurses],[tgetent],[vte_cv_termcap_lib=libncurses],
+-    [AC_CHECK_LIB([tinfo],[tgetent],[vte_cv_termcap_lib=libtinfo],
+-      [AC_CHECK_LIB([curses],[tgetent],[vte_cv_termcap_lib=libcurses],
+-        [AC_CHECK_LIB([termcap],[tgetent],[vte_cv_termcap_lib=libtermcap],
+-          [vte_cv_termcap_lib=])])])])])
+-
+-case "$vte_cv_termcap_lib" in
+-  libc)       # FIXME: which headers to include here?
+-              ;;
+-  libncurses) # We need ncurses.h and term.h, or ncurses/curses.h and ncurses/term.h
+-              AC_CHECK_HEADERS([ncurses.h term.h],[],
+-                [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
+-                  [AC_MSG_ERROR([ncurses headers not found])])])
+-              LIBS="-lncurses $LIBS"
+-              ;;
+-  libtinfo)   # Need ncurses/curses.h and ncurses/term.h
+-              AC_CHECK_HEADERS([ncurses.h term.h],[],
+-                [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
+-                  [AC_MSG_ERROR([ncurses headers not found])])])
+-              LIBS="-ltinfo $LIBS"
+-              ;;
+-  libcurses)  # Need curses.h and term.h
+-              AC_CHECK_HEADERS([curses.h term.h],[],
+-                [AC_MSG_ERROR([curses headers not found])],
+-                [[#ifdef HAVE_CURSES_H
+-                  #include <curses.h>
+-                  #endif]])
+-              LIBS="-lcurses $LIBS"
+-              ;;
+-  libtermcap) # Need termcap.h
+-              AC_CHECK_HEADERS([termcap.h],[],
+-                [AC_MSG_ERROR([termcap headers not found])])
+-              LIBS="-ltermcap $LIBS"
+-              ;;
+-  *)          AC_MSG_ERROR([tgetent not found in any library]) ;;
+-esac
+-
+-# Search for the required modules.
+-
+-# We have a direct dependency on X11 on gdk-x11, see bug #613525
+-AC_MSG_CHECKING([for GDK target])
+-GDK_TARGET="$($PKG_CONFIG --variable target gdk-3.0)"
+-AC_MSG_RESULT([$GDK_TARGET])
+-case "$GDK_TARGET" in
+-  x11) PLATFORM_PKGS="x11 cairo-xlib" ;;
+-  *) PLATFORM_PKGS="" ;;
+-esac
+-
+-VTE_PKGS="vte-2.91"
+-PKG_CHECK_MODULES([VTE],[$VTE_PKGS])
+-AC_SUBST([VTE_PKGS])
+-
+-wcs_funcs_includes="
+-#ifdef HAVE_STRING_H
+-# if !STDC_HEADERS && HAVE_MEMORY_H
+-#  include <memory.h>
+-# endif
+-# include <string.h>
+-#else
+-# ifdef HAVE_STRINGS_H
+-#  include <strings.h>
+-# endif
+-#endif
+-#ifdef HAVE_WCHAR_H
+-# include <wchar.h>
+-#endif
+-"
+-
+-AC_CHECK_TYPES(wint_t, AC_DEFINE(HAVE_WINT_T, , [Defined when the wint_t type is supported]), ,$wcs_funcs_includes)
+-
+-
+-########
+-
+ AC_OUTPUT([
+ genius.spec
+ Makefile
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8408becd..f58eb689 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -22,7 +22,6 @@ AM_CPPFLAGS = \
+       -I$(top_builddir)/ve                                    \
+       -I$(top_builddir)/gtkextra                              \
+       $(WARN_CFLAGS)                                          \
+-      $(VTE_CFLAGS)                                           \
+       $(BINRELOC_CFLAGS)                                      \
+       $(GMP_INCLUDEDIR)                                       \
+       $(GENIUS_CFLAGS)                                        \
+@@ -102,7 +101,6 @@ gnome_genius_LDADD = \
+       @LEXLIB@                                \
+       $(INTLLIBS)                             \
+       $(GENIUS_LIBS)                          \
+-      $(VTE_LIBS)                             \
+       $(GENIUS_NOGUI_LIBS)                    \
+       $(GSV_LIBS)                             \
+       @READLINE_LIB@                          \
+-- 
+2.20.1
+
diff --git a/sci-mathematics/genius/genius-1.0.25.ebuild b/sci-mathematics/genius/genius-1.0.25.ebuild
new file mode 100644 (file)
index 0000000..8d7c541
--- /dev/null
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="Genius Mathematics Tool and the GEL Language"
+HOMEPAGE="https://www.jirka.org/genius.html"
+SRC_URI="${SRC_URI}
+       doc? ( https://www.jirka.org/${PN}-reference.pdf )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +gui"
+
+RDEPEND="
+       >=dev-libs/glib-2.41.1:2
+       dev-libs/gmp:0=
+       dev-libs/mpfr:0=
+       sys-libs/ncurses:0=
+       sys-libs/readline:0=
+       gui? (
+               >=x11-libs/gtk+-3.21.4:3
+               >=x11-libs/gtksourceview-3.99.7:4
+               gui-libs/amtk:5
+               >=x11-libs/vte-0.50.0:2.91 )
+"
+DEPEND="${RDEPEND}
+       dev-util/gtk-update-icon-cache
+       dev-util/intltool
+       sys-devel/autoconf-archive
+       sys-devel/flex
+       virtual/yacc
+" # eautoreconf needs sys-devel/autoconf-archive
+# dev-util/gtk-update-icon-cache because configure checks for it for some reason and never calls it with DESTDIR set..
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.0.24-no_scrollkeeper.patch"
+       "${FILESDIR}/${P}-vte-conf-fixes.patch"
+)
+
+src_configure() {
+       # Unrecognized --disable-scrollkeeper warning comes from gnome2.eclass adding it based on grep, but upstream has them commented out in .ac with "#" instead of "dnl"
+       gnome2_src_configure \
+               $(use_enable gui gnome) \
+               --enable-nls \
+               --disable-extra-gcc-optimization \
+               --disable-static
+}
+
+src_install() {
+       use doc && DOCS+=" ${DISTDIR}/${PN}-reference.pdf"
+       gnome2_src_install
+}