app-office/texmacs: bump to 1.99.9
authorAndrey Grozin <grozin@gentoo.org>
Wed, 19 Jun 2019 04:43:20 +0000 (11:43 +0700)
committerAndrey Grozin <grozin@gentoo.org>
Wed, 19 Jun 2019 04:43:20 +0000 (11:43 +0700)
Thanks to Aaron W. Swenson for the ebuild
Suggested-by: Aaron W. Swenson <titanofold@gentoo.org>
Bug: https://bugs.gentoo.org/show_bug.cgi?id=436400
Closes: https://bugs.gentoo.org/show_bug.cgi?id=666470
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Andrey Grozin <grozin@gentoo.org>
app-office/texmacs/Manifest
app-office/texmacs/files/texmacs-1.99.9-guile-remove-deprecated.patch [new file with mode: 0644]
app-office/texmacs/texmacs-1.99.9.ebuild [new file with mode: 0644]

index 74e06e2af0e8e790bfd2e64a647ff2fe29a662de..41721d8cca2aae2d12ae6236c9cb1d30ed072131 100644 (file)
@@ -1 +1,2 @@
 DIST TeXmacs-1.99.6-src.tar.gz 25081652 BLAKE2B 08d0a141ff1b8ab59def50c636d917f9290488031d6f7f4343be4a04af44d8994dc791eb23a2a2b71b7a853a3a90482313062fbfc045cf585afdf8f1f8d2a5f3 SHA512 2e262037654493075cc4a3d47b93de08c3ad2d6f10ce5fe814a8046b38d327c5dd88c1575dff7e2145f1541f9765dc50ec5abcd63146090eea98ab5db9d103ee
+DIST TeXmacs-1.99.9-src.tar.gz 30109108 BLAKE2B 182db26c645e1445780f8e153f7283eb517ec3aa8be6ce137b6c305df33657f15c3efb57198e81f8dd9e1682b3bf1c6c0ff6f3798c54bcb74aedb8b3cef67b40 SHA512 96971060536007e542cd3e1789f07bcc30ceda01cbf32cabf43e3a5e61a2ba15f604e49601d891a956732d90d224353f8dac495be05677758146206b549f9d1f
diff --git a/app-office/texmacs/files/texmacs-1.99.9-guile-remove-deprecated.patch b/app-office/texmacs/files/texmacs-1.99.9-guile-remove-deprecated.patch
new file mode 100644 (file)
index 0000000..183c771
--- /dev/null
@@ -0,0 +1,295 @@
+diff -Naruw TeXmacs-1.99.9-src.orig/CMakeLists.txt TeXmacs-1.99.9-src/CMakeLists.txt
+--- TeXmacs-1.99.9-src.orig/CMakeLists.txt     2019-02-01 04:33:32.000000000 -0500
++++ TeXmacs-1.99.9-src/CMakeLists.txt  2019-06-02 17:13:47.980498170 -0400
+@@ -274,7 +274,6 @@
+ elseif(Guile_VERSION_STRING VERSION_LESS 3.0)
+   set(CONFIG_GUILE_SERIAL "D")
+   set(GUILE_D 1)
+-  set(SCM_SIZET size_t)
+ else(Guile_VERSION_STRING VERSION_LESS 1.6)
+   message(ERROR "Not Guile serial A,B,C or D???")
+ endif(Guile_VERSION_STRING VERSION_LESS 1.6)
+@@ -286,7 +285,7 @@
+ MESSAGE(STATUS "Checking the size_t of guile strings")
+-CHECK_C_SOURCE_COMPILES(  "#include <guile/gh.h>
++CHECK_CXX_SOURCE_COMPILES(  "#include <guile/gh.h>
+   #include <libguile.h>
+   void print_string (SCM s) {
+     int len_r;
+diff -Naruw TeXmacs-1.99.9-src.orig/src/CMakeLists.txt.orig TeXmacs-1.99.9-src/src/CMakeLists.txt.orig
+--- TeXmacs-1.99.9-src.orig/src/CMakeLists.txt.orig    1969-12-31 19:00:00.000000000 -0500
++++ TeXmacs-1.99.9-src/src/CMakeLists.txt.orig 2019-06-02 17:12:44.654011478 -0400
+@@ -0,0 +1,32 @@
++
++add_library(texmacs_body STATIC ${TeXmacs_All_SRCS})
++
++add_executable (${TeXmacs_binary_name}
++  ./Texmacs/Texmacs/texmacs.cpp
++)
++
++target_link_libraries (${TeXmacs_binary_name}
++  texmacs_body
++  ${TeXmacs_Libraries}
++)
++
++if (APPLE)
++  set(MACOSX_BUNDLE_DISPLAY_NAME TeXmacs)
++  set_target_properties (${TeXmacs_binary_name}
++    PROPERTIES
++    MACOSX_BUNDLE TRUE
++    MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in
++    DEBUG_OUTPUT_NAME ${TeXmacs_binary_name}${EXE_DEBUG_EXTENSION}
++    RELEASE_OUTPUT_NAME ${TeXmacs_binary_name}
++    RUNTIME_OUTPUT_DIRECTORY ${TEXMACS_BINARY_DIR}
++  )
++else (APPLE)
++  set_target_properties (${TeXmacs_binary_name}
++    PROPERTIES
++    DEBUG_OUTPUT_NAME ${TeXmacs_binary_name}${EXE_DEBUG_EXTENSION}
++    RELEASE_OUTPUT_NAME ${TeXmacs_binary_name}
++    RUNTIME_OUTPUT_DIRECTORY ${TEXMACS_BINARY_DIR}
++  )
++  install (TARGETS ${TeXmacs_binary_name} DESTINATION lib/texmacs/TeXmacs/bin)
++endif (APPLE)
++
+diff -Naruw TeXmacs-1.99.9-src.orig/src/CMakeLists.txt.rej TeXmacs-1.99.9-src/src/CMakeLists.txt.rej
+--- TeXmacs-1.99.9-src.orig/src/CMakeLists.txt.rej     1969-12-31 19:00:00.000000000 -0500
++++ TeXmacs-1.99.9-src/src/CMakeLists.txt.rej  2019-06-02 17:12:44.654011478 -0400
+@@ -0,0 +1,19 @@
++--- CMakeLists.txt    (revision 11761)
+++++ CMakeLists.txt    (working copy)
++@@ -274,7 +274,6 @@
++ elseif (Guile_VERSION_STRING VERSION_LESS 3.0)
++   set (CONFIG_GUILE_SERIAL "D")
++   set (GUILE_D 1)
++-  set (SCM_SIZET size_t)
++ else (Guile_VERSION_STRING VERSION_LESS 1.6)
++   message (ERROR "Not Guile serial A,B,C or D???")
++ endif (Guile_VERSION_STRING VERSION_LESS 1.6)
++@@ -286,7 +285,7 @@
++ 
++ message (STATUS "Checking the size_t of guile strings")
++ 
++-check_c_source_compiles ("
+++check_cxx_source_compiles ("
++ #include <guile/gh.h>
++ #include <libguile.h>
++ void print_string (SCM s) {
+diff -Naruw TeXmacs-1.99.9-src.orig/src/Scheme/Guile/guile_tm.cpp TeXmacs-1.99.9-src/src/Scheme/Guile/guile_tm.cpp
+--- TeXmacs-1.99.9-src.orig/src/Scheme/Guile/guile_tm.cpp      2018-03-23 08:44:53.000000000 -0400
++++ TeXmacs-1.99.9-src/src/Scheme/Guile/guile_tm.cpp   2019-06-02 17:13:10.420604916 -0400
+@@ -85,19 +85,34 @@
+ #ifndef DEBUG_ON
+ static SCM
+ TeXmacs_lazy_eval_file (char *file) {
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_lazy_catch (SCM_BOOL_T,
+                                   (scm_t_catch_body) scm_c_primitive_load, file,
+                                   (scm_t_catch_handler) TeXmacs_lazy_catcher, file);
++#else
++  return scm_c_with_throw_handler (SCM_BOOL_T,
++                                   (scm_t_catch_body) scm_c_primitive_load, file,
++                                   (scm_t_catch_handler) TeXmacs_lazy_catcher,
++                                   file, 0);
++#endif
+ }
+ #endif
+ static SCM
+ TeXmacs_eval_file (char *file) {
+ #ifndef DEBUG_ON
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_catch (SCM_BOOL_T,
+                              (scm_t_catch_body) TeXmacs_lazy_eval_file, file,
+                              (scm_t_catch_handler) TeXmacs_catcher, file);
+ #else
++  return scm_c_catch (SCM_BOOL_T,
++                      (scm_t_catch_body) TeXmacs_lazy_eval_file, file,
++                      (scm_t_catch_handler) TeXmacs_catcher, file, NULL, NULL);
++
++#endif
++
++#else
+   return      scm_c_primitive_load (file);                                                                             
+ #endif
+ }
+@@ -121,19 +136,33 @@
+ #ifndef DEBUG_ON
+ static SCM
+ TeXmacs_lazy_eval_string (char *s) {
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_lazy_catch (SCM_BOOL_T,
+                                   (scm_t_catch_body) scm_c_eval_string, s,
+                                   (scm_t_catch_handler) TeXmacs_lazy_catcher, s);
++#else
++  return scm_c_with_throw_handler (SCM_BOOL_T,
++                                   (scm_t_catch_body) scm_c_eval_string, s,
++                                   (scm_t_catch_handler) TeXmacs_lazy_catcher,
++                                   s, 0);
++#endif
+ }
+ #endif
+ static SCM
+ TeXmacs_eval_string (char *s) {
+ #ifndef DEBUG_ON
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_catch (SCM_BOOL_T,
+                              (scm_t_catch_body) TeXmacs_lazy_eval_string, s,
+                              (scm_t_catch_handler) TeXmacs_catcher, s);
+ #else
++  return scm_c_catch (SCM_BOOL_T,
++                      (scm_t_catch_body) TeXmacs_lazy_eval_string, s,
++                      (scm_t_catch_handler) TeXmacs_catcher, s, NULL, NULL);
++
++#endif
++#else
+   return  scm_c_eval_string(s);
+ #endif
+ }
+@@ -180,19 +209,35 @@
+ #ifndef DEBUG_ON
+ static SCM
+ TeXmacs_lazy_call_scm (arg_list* args) {
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_lazy_catch (SCM_BOOL_T,
+                                   (scm_t_catch_body) TeXmacs_call, (void*) args,
+-                                  (scm_t_catch_handler) TeXmacs_lazy_catcher, (void*) args);
++                                  (scm_t_catch_handler) TeXmacs_lazy_catcher,
++                                  (void*) args);
++#else
++  return scm_c_with_throw_handler (SCM_BOOL_T,
++                                   (scm_t_catch_body) TeXmacs_call, (void*) args,
++                                   (scm_t_catch_handler) TeXmacs_lazy_catcher,
++                                   (void*) args, 0);
++
++#endif
+ }
+ #endif
+ static SCM
+ TeXmacs_call_scm (arg_list *args) {
+ #ifndef DEBUG_ON
++#if (defined(GUILE_A) || defined(GUILE_B))
+   return scm_internal_catch (SCM_BOOL_T,
+                              (scm_t_catch_body) TeXmacs_lazy_call_scm, (void*) args,
+                              (scm_t_catch_handler) TeXmacs_catcher, (void*) args);
+ #else
++  return scm_c_catch (SCM_BOOL_T,
++                      (scm_t_catch_body) TeXmacs_lazy_call_scm, (void*) args,
++                      (scm_t_catch_handler) TeXmacs_catcher, (void*) args,
++                      NULL, NULL);
++#endif
++#else
+   return TeXmacs_call(args);
+ #endif
+ }
+@@ -443,7 +488,11 @@
+   return SCM_BOOL_F;
+ }
++#ifdef GUILE_A
+ static scm_sizet
++#else
++static size_t
++#endif
+ free_blackbox (SCM blackbox_smob) {
+   blackbox *ptr = (blackbox *) SCM_CDR (blackbox_smob);
+ #ifdef DEBUG_ON
+diff -Naruw TeXmacs-1.99.9-src.orig/src/Scheme/Guile/guile_tm.hpp TeXmacs-1.99.9-src/src/Scheme/Guile/guile_tm.hpp
+--- TeXmacs-1.99.9-src.orig/src/Scheme/Guile/guile_tm.hpp      2018-06-28 04:13:37.000000000 -0400
++++ TeXmacs-1.99.9-src/src/Scheme/Guile/guile_tm.hpp   2019-06-02 17:13:22.220571381 -0400
+@@ -83,8 +83,8 @@
+ #define scm_is_double scm_is_real
+ #define scm_new_procedure(name,r,a,b,c) scm_c_define_gsubr(name,a,b,c,(scm_t_subr)r)
+ #define scm_lookup_string(name) scm_variable_ref(scm_c_lookup(name))
+-#define scm_long2scm scm_long2num
+-#define scm_scm2long(x) scm_num2long(x,SCM_ARG1,"scm2long")
++#define scm_long2scm scm_from_long
++#define scm_scm2long(x) scm_to_long(x,SCM_ARG1,"scm2long")
+ #define scm_double2scm scm_from_double
+ #define scm_scm2double scm_to_double
+ #define scm_str2scm scm_from_locale_stringn
+@@ -103,8 +103,8 @@
+ #define scm_is_double scm_is_real
+ #define scm_new_procedure(name,r,a,b,c) scm_c_define_gsubr(name,a,b,c,r)
+ #define scm_lookup_string(name) scm_variable_ref(scm_c_lookup(name))
+-#define scm_long2scm scm_long2num
+-#define scm_scm2long(x) scm_num2long(x,SCM_ARG1,"scm2long")
++#define scm_long2scm scm_from_long
++#define scm_scm2long(x) scm_to_long(x,SCM_ARG1,"scm2long")
+ #define scm_double2scm scm_from_double
+ #define scm_scm2double scm_to_double
+ #define scm_str2scm scm_from_locale_stringn
+diff -Naruw TeXmacs-1.99.9-src.orig/src/Scheme/Tiny/tinyscheme_tm.cpp TeXmacs-1.99.9-src/src/Scheme/Tiny/tinyscheme_tm.cpp
+--- TeXmacs-1.99.9-src.orig/src/Scheme/Tiny/tinyscheme_tm.cpp  2017-09-28 09:44:11.000000000 -0400
++++ TeXmacs-1.99.9-src/src/Scheme/Tiny/tinyscheme_tm.cpp       2019-06-02 17:13:27.543889585 -0400
+@@ -139,22 +139,6 @@
+ /******************************************************************************
+  * Evaluation of files
+  ******************************************************************************/
+-#if 0
+-static scm
+-TeXmacs_lazy_eval_file (char *file) {
+-      
+-      return scm_internal_lazy_catch (scm_BOOL_T,
+-                                                                      (scm_t_catch_body) scm_c_primitive_load, file,
+-                                                                      (scm_t_catch_handler) TeXmacs_lazy_catcher, file);
+-}
+-
+-static scm
+-TeXmacs_eval_file (char *file) {
+-      return scm_internal_catch (scm_BOOL_T,
+-                                                         (scm_t_catch_body) TeXmacs_lazy_eval_file, file,
+-                                                         (scm_t_catch_handler) TeXmacs_catcher, file);
+-}
+-#endif 
+ scm
+ eval_scheme_file (string file) {
+       //static int cumul= 0;
+@@ -172,21 +156,6 @@
+ /******************************************************************************
+  * Evaluation of strings
+  ******************************************************************************/
+-#if 0
+-static scm
+-TeXmacs_lazy_eval_string (char *s) {
+-      return scm_internal_lazy_catch (scm_BOOL_T,
+-                                                                      (scm_t_catch_body) scm_c_eval_string, s,
+-                                                                      (scm_t_catch_handler) TeXmacs_lazy_catcher, s);
+-}
+-
+-static scm
+-TeXmacs_eval_string (char *s) {
+-      return scm_internal_catch (scm_BOOL_T,
+-                                                         (scm_t_catch_body) TeXmacs_lazy_eval_string, s,
+-                                                         (scm_t_catch_handler) TeXmacs_catcher, s);
+-}
+-#endif
+ scm
+ eval_scheme (string s) {
+       // cout << "Eval] " << s << "\n";
+@@ -214,21 +183,7 @@
+               }
+       }
+ }
+-#if 0
+-static scm
+-TeXmacs_lazy_call_scm (arg_list* args) {
+-      return scm_internal_lazy_catch (scm_BOOL_T,
+-                                                                      (scm_t_catch_body) TeXmacs_call, (void*) args,
+-                                                                      (scm_t_catch_handler) TeXmacs_lazy_catcher, (void*) args);
+-}
+-static scm
+-TeXmacs_call_scm (arg_list *args) {
+-      return scm_internal_catch (scm_BOOL_T,
+-                                                         (scm_t_catch_body) TeXmacs_lazy_call_scm, (void*) args,
+-                                                         (scm_t_catch_handler) TeXmacs_catcher, (void*) args);
+-}
+-#endif
+ scm
+ call_scheme (scm fun) {
+       scm a[]= { fun }; arg_list args= { 0, a };
diff --git a/app-office/texmacs/texmacs-1.99.9.ebuild b/app-office/texmacs/texmacs-1.99.9.ebuild
new file mode 100644 (file)
index 0000000..f8602df
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils xdg-utils gnome2-utils qmake-utils
+
+MY_P=${P/tex/TeX}-src
+
+DESCRIPTION="Wysiwyg text processor with high-quality maths"
+HOMEPAGE="http://www.texmacs.org/"
+SRC_URI="ftp://ftp.texmacs.org/pub/TeXmacs/tmftp/source/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug jpeg netpbm sqlite svg spell"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+       app-text/ghostscript-gpl
+       <dev-scheme/guile-1.9[debug?,deprecated]
+       media-libs/freetype
+       x11-apps/xmodmap
+       x11-libs/libXext
+       virtual/latex-base
+       >=dev-qt/qtcore-5.9.1:5
+       >=dev-qt/qtgui-5.9.1:5
+       >=dev-qt/qtwidgets-5.9.1:5
+       >=dev-qt/qtprintsupport-5.9.1:5
+       sqlite? ( dev-db/sqlite )
+       jpeg? ( || ( media-gfx/imagemagick media-gfx/jpeg2ps ) )
+       netpbm? ( media-libs/netpbm )
+       spell? ( app-text/aspell )
+       svg? ( || ( media-gfx/inkscape gnome-base/librsvg:2 ) )
+"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.99.2-desktop.patch
+
+       # remove new/delete declarations, bug 590002
+       "${FILESDIR}"/${PN}-1.99-remove-new-declaration.patch
+
+       "${FILESDIR}"/${PN}-1.99.6-math_util.patch
+
+       # fix build failure on 32-bit systems, bug #652054
+       #       "${FILESDIR}"/${PN}-1.99.6-guile-size_t.patch
+       "${FILESDIR}"/${PN}-1.99.9-guile-remove-deprecated.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DUSE_SQLITE3=$(usex sqlite 1 0)
+               -DDEBUG_ASSERT=$(usex debug 1 0)
+       )
+       cmake-utils_src_configure
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+       gnome2_icon_cache_update
+}