diff --git a/math/giacxcas/Makefile b/math/giacxcas/Makefile index e801cd49834f..c38026301124 100644 --- a/math/giacxcas/Makefile +++ b/math/giacxcas/Makefile @@ -1,143 +1,153 @@ PORTNAME= giacxcas -DISTVERSION= 1.6.0-7 -PORTREVISION= 4 +DISTVERSION= 1.9.0-21 CATEGORIES= math MASTER_SITES= http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/:giac \ http://cocoa.dima.unige.it/cocoalib/tgz/:cocoa \ http://www-fourier.ujf-grenoble.fr/~parisse/giac/freebsd/ DISTFILES= giac_${DISTVERSION}${EXTRACT_SUFX}:giac \ CoCoALib-${COCOA_LIB_VERSION}.tgz:cocoa \ fltk-giac.tar.gz DIST_SUBDIR= ${PORTNAME} MAINTAINER= yuri@FreeBSD.org COMMENT= Computer algebra system WWW= https://www-fourier.ujf-grenoble.fr/~parisse/giac.html LICENSE= GPLv3 DOC LICENSE_COMB= multi LICENSE_NAME_DOC= French documentation LICENSE_TEXT_DOC= French documentation is for non-commercial use only LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING LICENSE_PERMS_DOC= dist-mirror pkg-mirror auto-accept LICENSE_DISTFILES_DOC= giac_${DISTVERSION}${EXTRACT_SUFX} BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libao.so:audio/libao \ libcurl.so:ftp/curl \ libfontconfig.so:x11-fonts/fontconfig \ libgsl.so:math/gsl \ libglpk.so:math/glpk \ libgmp.so:math/gmp \ libecm.so:math/gmp-ecm \ libmpfr.so:math/mpfr \ libmpfi.so:math/mpfi \ libpari.so:math/pari \ libpng.so:graphics/png \ + libnauty.so:math/nauty \ + libcliquer.so:math/cliquer \ libsamplerate.so:audio/libsamplerate RUN_DEPENDS= xdg-open:devel/xdg-utils USES= blaslapack compiler:c++14-lang desktop-file-utils fortran \ gettext gl gmake gnome jpeg libtool localbase ncurses perl5 \ - readline shebangfix xorg + python readline shebangfix xorg GNU_CONFIGURE= yes USE_GL= gl USE_XORG= x11 xcursor xext xft xi xinerama USE_TEX= latex:build dvipsk:build USE_PERL5= run USE_LDCONFIG= yes # Warning: don't remove the USE_GCC without a runtime test *after* make install #USE_GCC= yes CONFIGURE_ENV= ac_cv_lib_X11_main=yes \ ac_cv_lib_cocoa_main=yes \ ac_cv_lib_fltk_gl_main=yes \ ac_cv_lib_fltk_main=yes \ ac_cv_lib_fltk_images_main=yes \ ac_cv_lib_jpeg_main=yes -SHEBANG_FILES= src/pgiac +SHEBANG_FILES= src/pgiac micropython-1.12/docs/conf.py + INSTALL_TARGET= install-strip COCOA_LIB_VERSION= 0.99700 CPPFLAGS+= -I${COCOALIB-GIAC}/include \ -I${FLTKDEV-GIAC} \ -Wno-narrowing LDFLAGS+= -L${COCOALIB-GIAC}/lib \ -L${FLTKDEV-GIAC}/lib WRKSRC= ${WRKDIR}/giac-${DISTVERSION:C/-[0-9]*//} FLTKDEV-GIAC= ${WRKDIR}/fltk-1.3.0 COCOALIB-GIAC= ${WRKDIR}/CoCoALib-${COCOA_LIB_VERSION} TEST_TARGET= check DATADIR= ${PREFIX}/share/giac DOCSDIR= ${PREFIX}/share/doc/giac EXAMPLESDIR= ${PREFIX}/share/examples/giac INFO= giac_es giac_us OPTIONS_DEFINE= DOCS EXAMPLES #NB: built of giacxcas with USE_GCC and nlt is successfull if the ntl port is also # installed with USE_GCC CONFIGURE_ARGS+= --disable-ntl +CONFIGURE_ARGS+= --disable-micropy # it causes SEGV in xcas in the nlr_push call from execute_from_lexer@main.c PORTDOCS= * PORTEXAMPLES= * post-extract: @${FIND} ${WRKSRC}/examples/Exemples -name "._*" -delete post-patch: @${GREP} -Rl --null /bin/bash ${COCOALIB-GIAC} | ${XARGS} -0 \ ${REINPLACE_CMD} -e 's|/bin/bash|/usr/bin/env bash|' @${REINPLACE_CMD} -e '/^SUBDIR/s|examples||' \ ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's|/usr/bin|${LOCALBASE}/bin|' \ ${WRKSRC}/xcas.applications @${REINPLACE_CMD} -e 's|cp -f \*|$$(INSTALL_DATA) WARNINGS [a-z]*|' \ ${WRKSRC}/doc/el/*/Makefile.in @${REINPLACE_CMD} -e '/browser=/s|"mozilla"|"xdg-open"|' \ ${WRKSRC}/src/global.cc @${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} \ ${REINPLACE_CMD} -e 's|$$(prefix)/share/giac/doc|$$(docdir)|' @${FIND} ${COCOALIB-GIAC} -name "Makefile" | ${XARGS} \ ${REINPLACE_CMD} -e \ 's|\($$(MAKE) \)-s |\1|; s|\([[:blank:]]\)@|\1|' @${REINPLACE_CMD} -e '/.SILENT:/s|^|#|' \ ${FLTKDEV-GIAC}/makeinclude.in ${SED} -i ".orig" -Ee 's|char \*last = style \+ strlen\(style\) - 2|char *last = pretty|' \ -Ee 's|\*style = 0|last = style + strnlen(style, ENDOFBUFFER) - 2; *style = 0|' \ ${FLTKDEV-GIAC}/src/fl_set_fonts_xft.cxx pre-configure: ${REINPLACE_CMD} -e 's|/usr/lib /usr/lib64 /usr/lib32 /usr/local /opt/local/lib /sw/lib /usr/sfw/lib|${LOCALBASE}/lib|' \ -e '/libgmp.a/s|find|#find|' \ -e 's|-name libgmp.so|-type f -name "libgmp.so.*"|' \ ${COCOALIB-GIAC}/configuration/gmp-find.sh ${REINPLACE_CMD} -e 's|^protected:|public:|' ${FLTKDEV-GIAC}/FL/Fl_Widget.H .for f in icas.cc path.h ${REINPLACE_CMD} -e 's|/usr/local/share/giac/doc|${DOCSDIR}|' \ ${WRKSRC}/src/${f} .endfor ${FIND} ${WRKSRC}/doc -type f | ${XARGS} ${GREP} -l 'share/giac/doc' | \ ${XARGS} ${REINPLACE_CMD} -e 's|/usr/local/share/giac/doc|${DOCSDIR}|' + ${FIND} ${WRKSRC}/micropython-1.12 -type f | ${XARGS} \ + ${GREP} -l "/usr/bin/env python3" | ${XARGS} \ + ${REINPLACE_CMD} -e 's|/usr/bin/env python3|${PYTHON_CMD}|' + ${FIND} ${WRKSRC}/micropython-1.12 -type f | ${XARGS} \ + ${GREP} -l "python3 \|'python3'\|= python3\|^python3" | ${XARGS} \ + ${REINPLACE_CMD} -e "s|python3 |${PYTHON_CMD} |;s|'python3'|'${PYTHON_CMD}'|" \ + -e "s|= python3|= ${PYTHON_CMD}|;s|^python3|${PYTHON_CMD}|" @(cd ${COCOALIB-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \ --with-cxx="${CXX}") @(cd ${FLTKDEV-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \ --prefix=${FLTKDEV-GIAC} \ CXX="${CXX}" CXXFLAGS="${CXXFLAGS}") post-configure: # malloc.h on 13-CURRENT is missing mallinfo and compilation fails after it is discovered @${FIND} ${WRKSRC} -name config.h | ${XARGS} ${REINPLACE_CMD} -e 's|#define HAVE_MALLOC_H 1|/* #undef HAVE_MALLOC_H */|' pre-build: @cd ${COCOALIB-GIAC} && ${DO_MAKE_BUILD} \ CXXFLAGS_SPECIFIC="${CXXFLAGS}" library @cd ${FLTKDEV-GIAC}/src && ${DO_MAKE_BUILD} post-install-EXAMPLES-on: cd ${WRKSRC}/examples && ${COPYTREE_SHARE} "Exemples [a-z]*" \ ${STAGEDIR}${EXAMPLESDIR} .include diff --git a/math/giacxcas/distinfo b/math/giacxcas/distinfo index 807597ca8920..f9aa7979bfef 100644 --- a/math/giacxcas/distinfo +++ b/math/giacxcas/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1594838401 -SHA256 (giacxcas/giac_1.6.0-7.tar.gz) = 77d8df21e814c28c11bca41f15ceb9eed0ea7a0f4406dbe0ca80b27f46b86fdf -SIZE (giacxcas/giac_1.6.0-7.tar.gz) = 77157868 +TIMESTAMP = 1663844960 +SHA256 (giacxcas/giac_1.9.0-21.tar.gz) = 120cd16f2e033817302d2a03a22bd413dc1d85df8b225ba4f76b93a7805b07fe +SIZE (giacxcas/giac_1.9.0-21.tar.gz) = 103871108 SHA256 (giacxcas/CoCoALib-0.99700.tgz) = e9de0f4859946c8882414fc9f3756d5995961b0fcf6b477ac8e27636b41ca002 SIZE (giacxcas/CoCoALib-0.99700.tgz) = 5431651 SHA256 (giacxcas/fltk-giac.tar.gz) = 538243c536a62e562bc26dec1c54454f54ce614cc540371f5ccfe71d8ed27cf7 SIZE (giacxcas/fltk-giac.tar.gz) = 4776876 diff --git a/math/giacxcas/files/patch-micropython-1.12_py_dynruntime.mk b/math/giacxcas/files/patch-micropython-1.12_py_dynruntime.mk new file mode 100644 index 000000000000..66f09b1c0b30 --- /dev/null +++ b/math/giacxcas/files/patch-micropython-1.12_py_dynruntime.mk @@ -0,0 +1,20 @@ +--- micropython-1.12/py/dynruntime.mk.orig 2020-04-13 05:21:17 UTC ++++ micropython-1.12/py/dynruntime.mk +@@ -24,8 +24,6 @@ CFLAGS += -std=c99 + + CFLAGS += -I. -I$(MPY_DIR) + CFLAGS += -std=c99 +-CFLAGS += -Os +-CFLAGS += -Wall -Werror -DNDEBUG + CFLAGS += -DNO_QSTR + CFLAGS += -DMP_CONFIGFILE='<$(CONFIG_H)>' + CFLAGS += -fpic -fno-common +@@ -126,7 +124,7 @@ $(BUILD)/%.o: %.c $(CONFIG_H) Makefile + # Build .o from .c source files + $(BUILD)/%.o: %.c $(CONFIG_H) Makefile + $(ECHO) "CC $<" +- $(Q)$(CROSS)gcc $(CFLAGS) -o $@ -c $< ++ $(Q)$(CC) $(CFLAGS) -o $@ -c $< + + # Build .mpy from .py source files + $(BUILD)/%.mpy: %.py diff --git a/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk b/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk new file mode 100644 index 000000000000..f2598ec00531 --- /dev/null +++ b/math/giacxcas/files/patch-micropython-1.12_py_mkenv.mk @@ -0,0 +1,27 @@ +--- micropython-1.12/py/mkenv.mk.orig 2020-04-13 05:21:17 UTC ++++ micropython-1.12/py/mkenv.mk +@@ -46,15 +46,15 @@ PYTHON = python3 + TOUCH = touch + PYTHON = python3 + +-AS = $(CROSS_COMPILE)as +-CC = $(CROSS_COMPILE)gcc +-CXX = $(CROSS_COMPILE)g++ +-GDB = $(CROSS_COMPILE)gdb +-LD = $(CROSS_COMPILE)ld +-OBJCOPY = $(CROSS_COMPILE)objcopy +-SIZE = $(CROSS_COMPILE)size +-STRIP = $(CROSS_COMPILE)strip +-AR = $(CROSS_COMPILE)ar ++#AS = $(CROSS_COMPILE)as ++#CC = $(CROSS_COMPILE)gcc ++#CXX = $(CROSS_COMPILE)g++ ++#GDB = $(CROSS_COMPILE)gdb ++#LD = $(CROSS_COMPILE)ld ++#OBJCOPY = $(CROSS_COMPILE)objcopy ++#SIZE = $(CROSS_COMPILE)size ++#STRIP = $(CROSS_COMPILE)strip ++#AR = $(CROSS_COMPILE)ar + ifeq ($(MICROPY_FORCE_32BIT),1) + CC += -m32 + CXX += -m32 diff --git a/math/giacxcas/files/patch-micropython-1.12_xcas_Makefile b/math/giacxcas/files/patch-micropython-1.12_xcas_Makefile new file mode 100644 index 000000000000..016f0ef3a2b8 --- /dev/null +++ b/math/giacxcas/files/patch-micropython-1.12_xcas_Makefile @@ -0,0 +1,15 @@ +--- micropython-1.12/xcas/Makefile.orig 2022-04-11 07:52:40 UTC ++++ micropython-1.12/xcas/Makefile +@@ -3,9 +3,9 @@ -include mpconfigport.mk + -include mpconfigport.mk + + #PREFIX=/usr/bin/ +-CC = $(PREFIX)gcc # gcc-4.7 works if gcc is gcc-4.4 +-CXX = $(PREFIX)g++ +-LD = $(PREFIX)ld ++#CC = $(PREFIX)gcc # gcc-4.7 works if gcc is gcc-4.4 ++#CXX = $(PREFIX)g++ ++#LD = $(PREFIX)ld + + # define main target + PROG = libmicropython.a diff --git a/math/giacxcas/files/patch-src_Editeur.cc b/math/giacxcas/files/patch-src_Editeur.cc new file mode 100644 index 000000000000..767730070f9d --- /dev/null +++ b/math/giacxcas/files/patch-src_Editeur.cc @@ -0,0 +1,11 @@ +--- src/Editeur.cc.orig 2022-03-09 17:34:39 UTC ++++ src/Editeur.cc +@@ -2924,7 +2924,7 @@ namespace xcas { + Fl_Text_Buffer * b = new Fl_Text_Buffer; + editor=new Xcas_Text_Editor(x,y+L,w,h-L,b,l); + editor->Fl_Text_Display::textsize(labelsize()); +- editor->Fl_Text_Display::linenumber_width(3*labelsize()); ++ // editor->Fl_Text_Display::linenumber_width(3*labelsize()); + editor->labelsize(labelsize()); + log = 0; + if (logo){ diff --git a/math/giacxcas/files/patch-src_Makefile.in b/math/giacxcas/files/patch-src_Makefile.in new file mode 100644 index 000000000000..426f193d3f31 --- /dev/null +++ b/math/giacxcas/files/patch-src_Makefile.in @@ -0,0 +1,11 @@ +--- src/Makefile.in.orig 2022-04-11 07:52:40 UTC ++++ src/Makefile.in +@@ -283,7 +283,7 @@ LIBOBJS = @LIBOBJS@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ + LIBOBJS = @LIBOBJS@ +-LIBS = @LIBS@ ++LIBS = @LIBS@ @LIBINTL@ + LIBTERMCAP = @LIBTERMCAP@ + LIBTOOL = @LIBTOOL@ + LIPO = @LIPO@ diff --git a/math/giacxcas/files/patch-src_icas.cc b/math/giacxcas/files/patch-src_icas.cc new file mode 100644 index 000000000000..8a6b89ec23b9 --- /dev/null +++ b/math/giacxcas/files/patch-src_icas.cc @@ -0,0 +1,12 @@ +--- src/icas.cc.orig 2022-04-11 07:52:40 UTC ++++ src/icas.cc +@@ -47,6 +47,9 @@ using namespace std; + //#include // For reading arguments from file + #include + #include ++#if defined(__FreeBSD__) ++#include ++#endif + #include "gen.h" + #include "index.h" + #include "sym2poly.h" diff --git a/math/giacxcas/files/patch-src_qjsgiac.c b/math/giacxcas/files/patch-src_qjsgiac.c new file mode 100644 index 000000000000..12b21992bc60 --- /dev/null +++ b/math/giacxcas/files/patch-src_qjsgiac.c @@ -0,0 +1,11 @@ +--- src/qjsgiac.c.orig 2021-03-20 11:09:33 UTC ++++ src/qjsgiac.c +@@ -41,6 +41,8 @@ + #include + #elif defined(__linux__) + #include ++#elif defined(__FreeBSD__) ++#include + #endif + + #ifdef NSPIRE_NEWLIB diff --git a/math/giacxcas/files/patch-src_quickjs-libc.c b/math/giacxcas/files/patch-src_quickjs-libc.c new file mode 100644 index 000000000000..34ba89847a41 --- /dev/null +++ b/math/giacxcas/files/patch-src_quickjs-libc.c @@ -0,0 +1,24 @@ +--- src/quickjs-libc.c.orig 2021-03-20 11:09:33 UTC ++++ src/quickjs-libc.c +@@ -58,8 +58,11 @@ char ** environ=&ptr; + char ** environ=&ptr; + #endif + +-#if defined(__APPLE__) ++#if defined(__APPLE__) || defined(__FreeBSD__) ++extern char **environ; + typedef sig_t sighandler_t; ++#endif ++#if defined(__APPLE__) + #if !defined(environ) + #include + #define environ (*_NSGetEnviron()) +@@ -3613,6 +3616,8 @@ void js_std_set_worker_new_context_func(JSContext *(*f + #define OS_PLATFORM "darwin" + #elif defined(EMSCRIPTEN) + #define OS_PLATFORM "js" ++#elif defined(__FreeBSD__) ++#define OS_PLATFORM "freebsd" + #else + #define OS_PLATFORM "linux" + #endif diff --git a/math/giacxcas/files/patch-src_quickjs.c b/math/giacxcas/files/patch-src_quickjs.c new file mode 100644 index 000000000000..c330699c7c28 --- /dev/null +++ b/math/giacxcas/files/patch-src_quickjs.c @@ -0,0 +1,11 @@ +--- src/quickjs.c.orig 2021-03-23 12:33:15 UTC ++++ src/quickjs.c +@@ -41,6 +41,8 @@ + #include + #elif defined(__linux__) + #include ++#elif defined(__FreeBSD__) ++#include + #endif + + #ifdef EMCC diff --git a/math/giacxcas/pkg-plist b/math/giacxcas/pkg-plist index b734ed2d5c3e..31ee349bc0e6 100644 --- a/math/giacxcas/pkg-plist +++ b/math/giacxcas/pkg-plist @@ -1,112 +1,128 @@ bin/cas_help bin/en_cas_help bin/es_cas_help bin/fr_cas_help bin/giac bin/hevea2mml bin/icas bin/pgiac bin/xcas bin/xcasnew include/giac/alg_ext.h +include/giac/bf2gmp.h include/giac/cocoa.h include/giac/config.h include/giac/csturm.h +include/giac/cutils.h include/giac/derive.h include/giac/desolve.h include/giac/dispatch.h include/giac/ezgcd.h +include/giac/fenv.h include/giac/first.h include/giac/fraction.h include/giac/gauss.h include/giac/gausspol.h include/giac/gen.h include/giac/giac.h include/giac/giacPCH.h include/giac/giacintl.h include/giac/global.h include/giac/gmp_replacements.h include/giac/graphe.h include/giac/graphtheory.h include/giac/help.h include/giac/identificateur.h include/giac/ifactor.h include/giac/index.h include/giac/input_lexer.h include/giac/input_parser.h include/giac/intg.h include/giac/intgab.h include/giac/isom.h +include/giac/js.h include/giac/k_csdk.h include/giac/k_defs.h include/giac/kdisplay.h include/giac/lexer_tab_int.h +include/giac/libbf.h +include/giac/libregexp-opcode.h +include/giac/libregexp.h +include/giac/libunicode-table.h +include/giac/libunicode.h include/giac/lin.h +include/giac/list.h include/giac/lpsolve.h include/giac/maple.h include/giac/markup.h include/giac/mathml.h include/giac/misc.h include/giac/modfactor.h include/giac/modpoly.h include/giac/monomial.h include/giac/moyal.h include/giac/myostream.h include/giac/nautywrapper.h include/giac/optimization.h include/giac/pari.h include/giac/permu.h include/giac/plot.h include/giac/plot3d.h include/giac/poly.h include/giac/prog.h +include/giac/qjsgiac.h include/giac/quater.h +include/giac/quickjs-atom.h +include/giac/quickjs-libc.h +include/giac/quickjs-opcode.h +include/giac/quickjs.h include/giac/risch.h include/giac/rpn.h include/giac/series.h include/giac/signalprocessing.h include/giac/solve.h include/giac/sparse.h include/giac/static.h include/giac/static_extern.h include/giac/static_help.h include/giac/static_lexer.h include/giac/static_lexer_.h include/giac/subst.h include/giac/sym2poly.h include/giac/symbolic.h include/giac/tex.h include/giac/threaded.h include/giac/ti89.h include/giac/tinymt32.h include/giac/tinymt32_license.h include/giac/unary.h include/giac/usual.h include/giac/vecteur.h include/giac/vector.h lib/libgiac.a lib/libgiac.so lib/libgiac.so.0 lib/libgiac.so.0.0.0 share/application-registry/xcas.applications share/applications/xcas.desktop %%DATADIR%%/aide_cas share/icons/hicolor/128x128/apps/xcas.png share/icons/hicolor/128x128/mimetypes/application-x-xcas.png share/icons/hicolor/16x16/apps/xcas.png share/icons/hicolor/16x16/mimetypes/application-x-xcas.png share/icons/hicolor/256x256/apps/xcas.png share/icons/hicolor/256x256/mimetypes/application-x-xcas.png share/icons/hicolor/32x32/apps/xcas.png share/icons/hicolor/32x32/mimetypes/application-x-xcas.png share/icons/hicolor/64x64/apps/xcas.png share/icons/hicolor/64x64/mimetypes/application-x-xcas.png share/locale/de/LC_MESSAGES/giac.mo share/locale/el/LC_MESSAGES/giac.mo share/locale/en/LC_MESSAGES/giac.mo share/locale/es/LC_MESSAGES/giac.mo share/locale/fr/LC_MESSAGES/giac.mo share/locale/it/LC_MESSAGES/giac.mo share/locale/pt/LC_MESSAGES/giac.mo share/locale/zh/LC_MESSAGES/giac.mo +share/metainfo/xcas.metainfo.xml share/pixmaps/xcas.xpm