mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Update to 1.2.2-57.
PR: 210796 Submitted by: tkato432 yahoo com Sponsored by: Absolight
This commit is contained in:
parent
c6d0fb430d
commit
9e3e94a314
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418020
11 changed files with 3681 additions and 239 deletions
|
@ -2,85 +2,121 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= giacxcas
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVISION= 10
|
||||
DISTVERSION= 1.2.2-57
|
||||
CATEGORIES= math
|
||||
MASTER_SITES= http://www-fourier.ujf-grenoble.fr/~parisse/giac/ \
|
||||
http://www.math.jussieu.fr/~han/xcas/sources/v2/
|
||||
DISTFILES= fltk-giac.tar.gz CoCoALib-0.9950.tgz giac-${PORTVERSION}.tar.gz
|
||||
MASTER_SITES= http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/:giac \
|
||||
http://www-fourier.ujf-grenoble.fr/~parisse/giac/freebsd/
|
||||
DISTFILES= giac_${DISTVERSION}${EXTRACT_SUFX}:giac \
|
||||
CoCoALib-0.9950.tgz \
|
||||
fltk-giac.tar.gz
|
||||
DIST_SUBDIR= ${PORTNAME}
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= Computer algebra system by Bernard Parisse
|
||||
|
||||
BROKEN= unfetchable
|
||||
DEPRECATED= Broken for more than 6 months
|
||||
EXPIRATION_DATE= 2016-07-04
|
||||
COMMENT= Computer algebra system
|
||||
|
||||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
BUILD_DEPENDS= bash:shells/bash \
|
||||
${LOCALBASE}/lib/libntl.a:math/ntl
|
||||
BUILD_DEPENDS= bash:shells/bash
|
||||
LIB_DEPENDS= libgmp.so:math/gmp \
|
||||
libpng.so:graphics/png \
|
||||
libpari.so:math/pari \
|
||||
libmpfr.so:math/mpfr \
|
||||
libgsl.so:math/gsl \
|
||||
liblapack.so:math/lapack
|
||||
libgsl.so:math/gsl
|
||||
RUN_DEPENDS= xdg-open:devel/xdg-utils
|
||||
|
||||
NO_CDROM= French documentation is for non-commercial use only
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
USES= desktop-file-utils gettext gmake jpeg libtool shebangfix
|
||||
USES= blaslapack desktop-file-utils fortran gettext gmake jpeg \
|
||||
libtool readline shebangfix
|
||||
USE_GL= gl
|
||||
USE_XORG= x11 xcursor xft xi
|
||||
USE_XORG= x11 xcursor xext xft xi xinerama
|
||||
USE_TEX= latex:build dvipsk:build
|
||||
USE_LDCONFIG= yes
|
||||
# Warning: don't remove the USE_GCC without a runtime test *after* make install
|
||||
USE_GCC= yes
|
||||
DOCSDIR= ${PREFIX}/share/doc/giac
|
||||
PORTDOCS= *
|
||||
DATADIR= ${PREFIX}/share/giac
|
||||
PORTDATA= *
|
||||
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
|
||||
INSTALL_TARGET= install-strip
|
||||
INSTALLS_ICONS= yes
|
||||
|
||||
CONFIGURE_ENV= X_LIBS=-lX11
|
||||
CPPFLAGS+= -I${FLTKDEV-GIAC} -I${COCOALIB-GIAC}/include -I${LOCALBASE}/include
|
||||
LDFLAGS+= -L${FLTKDEV-GIAC}/lib -L${COCOALIB-GIAC}/lib -L${LOCALBASE}/lib
|
||||
CXXFLAGS+= -I${LOCALBASE}/include
|
||||
CPPFLAGS+= -I${COCOALIB-GIAC}/include \
|
||||
-I${FLTKDEV-GIAC} \
|
||||
-I${LOCALBASE}/include
|
||||
LDFLAGS+= -L${COCOALIB-GIAC}/lib \
|
||||
-L${FLTKDEV-GIAC}/lib \
|
||||
-L${LOCALBASE}/lib
|
||||
|
||||
WRKSRC= ${WRKDIR}/giac-${PORTVERSION}
|
||||
WRKSRC= ${WRKDIR}/giac-${DISTVERSION:C/-[0-9]*//}
|
||||
FLTKDEV-GIAC= ${WRKDIR}/fltk-1.3.0
|
||||
COCOALIB-GIAC= ${WRKDIR}/CoCoALib-0.9950
|
||||
|
||||
DATADIR= ${PREFIX}/share/giac
|
||||
DOCSDIR= ${PREFIX}/share/doc/giac
|
||||
EXAMPLESDIR= ${PREFIX}/share/examples/giac
|
||||
|
||||
INFO= giac_es giac_us
|
||||
|
||||
OPTIONS_DEFINE= DOCS EXAMPLES
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
#NB: built of giacxcas with USE_GCC and nlt is successfull if the ntl port is also
|
||||
# installed with USE_GCC
|
||||
.if ${OSVERSION} >= 1000000
|
||||
CONFIGURE_ARGS+= --disable-ntl
|
||||
.else
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/libntl.a:math/ntl
|
||||
.endif
|
||||
|
||||
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 ${WRKSRC}/xcas.desktop
|
||||
.if ${OSVERSION} >= 1000000
|
||||
@${REINPLACE_CMD} -e 's|friend class Fl_Group;|friend class Fl_Group;friend class Fl_X;|' \
|
||||
${FLTKDEV-GIAC}/FL/Fl_Widget.H
|
||||
.endif
|
||||
${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
|
||||
|
||||
pre-configure:
|
||||
cd ${COCOALIB-GIAC} && \
|
||||
./configure --with-libgmp=${LOCALBASE}/lib/libgmp.a --with-cxx=${CXX}&& \
|
||||
${MAKE_CMD} library && \
|
||||
cd ${FLTKDEV-GIAC} && \
|
||||
./configure --prefix=${FLTKDEV-GIAC} \
|
||||
&& cd src && ${MAKE}
|
||||
@(cd ${COCOALIB-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \
|
||||
--with-libgmp=${LOCALBASE}/lib/libgmp.a \
|
||||
--with-cxx="${CXX}")
|
||||
@(cd ${FLTKDEV-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \
|
||||
--prefix=${FLTKDEV-GIAC} \
|
||||
CXX="${CXX}" CXXFLAGS="${CXXFLAGS}")
|
||||
|
||||
pre-build:
|
||||
@(cd ${COCOALIB-GIAC} && ${DO_MAKE_BUILD} \
|
||||
CXXFLAGS_SPECIFIC="${CXXFLAGS}" library)
|
||||
@(cd ${FLTKDEV-GIAC}/src && ${DO_MAKE_BUILD})
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${LN} -sf ../doc/giac ${STAGEDIR}${DATADIR}/doc
|
||||
|
||||
post-install-EXAMPLES-on:
|
||||
@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} "Exemples [a-z]*" \
|
||||
${STAGEDIR}${EXAMPLESDIR})
|
||||
@${LN} -sf ../examples/giac ${STAGEDIR}${DATADIR}/examples
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
SHA256 (giacxcas/fltk-giac.tar.gz) = 538243c536a62e562bc26dec1c54454f54ce614cc540371f5ccfe71d8ed27cf7
|
||||
SIZE (giacxcas/fltk-giac.tar.gz) = 4776876
|
||||
SHA256 (giacxcas/giac_1.2.2-57.tar.gz) = a1d03bf191f49362c98a3c6941082393129b286febe643c5534bd6aebaeabef6
|
||||
SIZE (giacxcas/giac_1.2.2-57.tar.gz) = 50571933
|
||||
SHA256 (giacxcas/CoCoALib-0.9950.tgz) = b30d840593e1930c1629467918b508c429e0a983ef0d1343eab570f238275678
|
||||
SIZE (giacxcas/CoCoALib-0.9950.tgz) = 4120680
|
||||
SHA256 (giacxcas/giac-1.1.0.tar.gz) = 2464613ff477a6f7c53dc5dfba6015bf2320ce634742a2aa4aeb8c7196eae6ef
|
||||
SIZE (giacxcas/giac-1.1.0.tar.gz) = 46376334
|
||||
SHA256 (giacxcas/fltk-giac.tar.gz) = 538243c536a62e562bc26dec1c54454f54ce614cc540371f5ccfe71d8ed27cf7
|
||||
SIZE (giacxcas/fltk-giac.tar.gz) = 4776876
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
--- src/Graph3d.cc.orig 2014-05-01 10:34:20.000000000 +0200
|
||||
+++ src/Graph3d.cc 2014-05-01 10:22:33.000000000 +0200
|
||||
@@ -582,7 +582,7 @@
|
||||
// surface without grid evaluation, should not happen!
|
||||
void glsurface(const vecteur & point,const gen & uv,double umin,double umax,double vmin,double vmax,int nu,int nv,int draw_mode,GIAC_CONTEXT){
|
||||
double u=umin,v=vmin,deltau=(umax-umin)/nu,deltav=(vmax-vmin)/nv;
|
||||
- gen prevline[nv+1];//,line[nv+1];
|
||||
+ gen * prevline=new gen[nv+1];//,line[nv+1]; //cf clang
|
||||
vecteur curuv(2);
|
||||
gen old,current;
|
||||
curuv[0]=u;
|
||||
@@ -615,6 +615,7 @@
|
||||
cerr << endl;
|
||||
*/
|
||||
}
|
||||
+ delete [] prevline; //cf clang
|
||||
}
|
||||
|
||||
unsigned int line_stipple(unsigned int i){
|
|
@ -1,20 +0,0 @@
|
|||
--- src/gausspol.h.orig 2014-05-01 12:46:28.000000000 +0200
|
||||
+++ src/gausspol.h 2014-05-01 12:36:38.000000000 +0200
|
||||
@@ -440,7 +440,7 @@
|
||||
U u,prevu=0;
|
||||
int k;
|
||||
int count=0;
|
||||
-#if defined(GIAC_NO_OPTIMIZATIONS) || ((defined(VISUALC) || defined(__APPLE__)) && !defined(GIAC_VECTOR))
|
||||
+#if defined(GIAC_NO_OPTIMIZATIONS) || ((defined(VISUALC) || defined(__APPLE__) ||defined(__clang__)) && !defined(GIAC_VECTOR))
|
||||
if (0){ count=0; }
|
||||
#else
|
||||
if (pdim<=POLY_VARS){
|
||||
@@ -551,7 +551,7 @@
|
||||
convert_from<T,U>(it,itend,deg,jt,0);
|
||||
return;
|
||||
}
|
||||
-#if defined(HAVE_PTHREAD_H) && !defined(EMCC)
|
||||
+#if defined(HAVE_PTHREAD_H) && !defined(EMCC) &&!defined(__clang__)
|
||||
unsigned taille=itend-it;
|
||||
if (nthreads>1
|
||||
&& int(taille)>nthreads*1000
|
|
@ -1,11 +0,0 @@
|
|||
--- src/index.cc.orig 2014-05-01 10:55:21.000000000 +0200
|
||||
+++ src/index.cc 2014-05-01 10:54:07.000000000 +0200
|
||||
@@ -339,7 +339,7 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
-#if !defined(GIAC_NO_OPTIMIZATIONS) && (defined(GIAC_VECTOR) || (!defined(VISUALC) && !defined(__APPLE__) && !defined(BESTA_WIN32_TARGET)))
|
||||
+#if !defined(GIAC_NO_OPTIMIZATIONS) && (defined(GIAC_VECTOR) || (!defined(VISUALC)&& !defined(__clang__) && !defined(__APPLE__) && !defined(BESTA_WIN32_TARGET)))
|
||||
index_t index_m::iref() const {
|
||||
if ( (taille % 2)==0)
|
||||
return riptr->i;
|
|
@ -1,20 +0,0 @@
|
|||
--- src/index.h.orig 2013-11-28 09:39:20.000000000 +0100
|
||||
+++ src/index.h 2014-05-01 12:12:57.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
#endif
|
||||
///////////////////////////////////////////
|
||||
|
||||
-#if defined UNORDERED_MAP && !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(VISUALC)
|
||||
+#if defined UNORDERED_MAP && !defined(__APPLE__) && !defined(__clang__) && !defined(VISUALC)
|
||||
#include <tr1/unordered_map>
|
||||
#define HASH_MAP_NAMESPACE std::tr1
|
||||
#define hash_map unordered_map
|
||||
@@ -243,7 +243,7 @@
|
||||
// capacity of deg_t by direct addressing
|
||||
const int POLY_VARS=POLY_VARS_DIRECT+POLY_VARS_OTHER-1;
|
||||
|
||||
-#if defined(GIAC_NO_OPTIMIZATIONS) || ((defined(VISUALC) || defined(__APPLE__)) && !defined(GIAC_VECTOR))
|
||||
+#if defined(GIAC_NO_OPTIMIZATIONS) || ((defined(VISUALC) || defined(__APPLE__) ||defined(__clang__)) && !defined(GIAC_VECTOR))
|
||||
class index_m {
|
||||
public:
|
||||
ref_index_t * riptr;
|
|
@ -1,26 +0,0 @@
|
|||
--- src/modfactor.cc.orig 2014-05-01 13:30:20.000000000 +0200
|
||||
+++ src/modfactor.cc 2014-05-01 13:29:26.000000000 +0200
|
||||
@@ -1316,11 +1316,13 @@
|
||||
}
|
||||
try {
|
||||
int n=q.lexsorted_degree();
|
||||
- inttype tab[n+1]; // dense rep of the polynomial
|
||||
+ inttype * tab=new inttype[n+1]; // dense rep of the polynomial
|
||||
inttype * result[n]; // array of dense rep of the polynomial
|
||||
int resultdeg[n];
|
||||
- if (!polynome2tab(q,n,tab))
|
||||
+ if (!polynome2tab(q,n,tab)){
|
||||
+ delete [] tab; //cf clang
|
||||
return false;
|
||||
+ }
|
||||
// cerr << "NTL factor begins" << endl;
|
||||
int size=ntlfactor(tab,n,result,resultdeg,debug);
|
||||
// cerr << "NTL factor end" << endl;
|
||||
@@ -1329,6 +1331,7 @@
|
||||
v.push_back(tab2polynome(result[i],resultdeg[i]));
|
||||
delete [] result[i];
|
||||
}
|
||||
+ delete [] tab; // cf clang
|
||||
} catch (std::runtime_error & e){
|
||||
}
|
||||
#ifdef HAVE_LIBPTHREAD
|
|
@ -1,33 +0,0 @@
|
|||
--- src/modpoly.cc.orig 2014-05-01 13:30:07.000000000 +0200
|
||||
+++ src/modpoly.cc 2014-05-01 13:29:45.000000000 +0200
|
||||
@@ -4455,12 +4455,17 @@
|
||||
return giac_gcd_modular_algo1(p,q,d);
|
||||
bool res=true;
|
||||
try {
|
||||
- inttype tabp[np+1]; // dense rep of the polynomial
|
||||
- if (!polynome2tab(p,np,tabp))
|
||||
+ inttype * tabp=new inttype[np+1]; // dense rep of the polynomial
|
||||
+ if (!polynome2tab(p,np,tabp)){
|
||||
+ delete [] tabp; //cf clang
|
||||
return false;
|
||||
- inttype tabq[nq+1]; // dense rep of the polynomial
|
||||
- if (!polynome2tab(q,nq,tabq))
|
||||
+ }
|
||||
+ inttype * tabq=new inttype[nq+1]; // dense rep of the polynomial
|
||||
+ if (!polynome2tab(q,nq,tabq)){
|
||||
+ delete [] tabp; //cf clang
|
||||
+ delete [] tabq; //cf clang
|
||||
return false;
|
||||
+ }
|
||||
int nd;
|
||||
inttype * res;
|
||||
ntlgcd(tabp,np,tabq,nq,res,nd);
|
||||
@@ -4471,6 +4476,8 @@
|
||||
p = p/d;
|
||||
q = q/d;
|
||||
}
|
||||
+ delete [] tabp; // cf clang
|
||||
+ delete [] tabq; // cf clang
|
||||
} catch(std::runtime_error & e){
|
||||
res=false;
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
--- src/threaded.h.orig 2014-03-27 14:21:00.000000000 +0100
|
||||
+++ src/threaded.h 2014-05-01 10:44:15.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
return os << std::endl;
|
||||
}
|
||||
|
||||
-#ifdef VISUALC
|
||||
+#if defined VISUALC || defined __clang__
|
||||
template<class T>
|
||||
class vector_size64:public std::vector<T>{
|
||||
};
|
||||
@@ -1869,7 +1869,7 @@
|
||||
// degree of product wrt to the main variable
|
||||
// will launch deg1v+1 threads to compute each degree
|
||||
pthread_t tab[deg1v+1];
|
||||
- threadmult_t<T,U> arg[deg1v+1];
|
||||
+ threadmult_t<T,U> * arg=new threadmult_t<T,U>[deg1v+1];//pr clang
|
||||
possible_size=0;
|
||||
int res=0;
|
||||
int i=deg1v;
|
||||
@@ -1940,6 +1940,7 @@
|
||||
res=pthread_create(&tab[i],(pthread_attr_t *) NULL,do_threadmult<T,U>,(void *) &arg[i]);
|
||||
if (res){
|
||||
// should cancel previous threads and delete created arg[i].vptr
|
||||
+ delete [] arg;//pr clang
|
||||
return false;
|
||||
}
|
||||
} // end initial thread creation
|
||||
@@ -1973,6 +1974,7 @@
|
||||
res=pthread_create(&tab[i],(pthread_attr_t *) NULL,do_threadmult<T,U>,(void *) &arg[i]);
|
||||
if (res){
|
||||
// should cancel previous threads and delete created arg[i].vptr
|
||||
+ delete [] arg; //cf clang
|
||||
return false;
|
||||
}
|
||||
in_progress[j]=i;
|
||||
@@ -2051,6 +2053,7 @@
|
||||
}
|
||||
if (debug_infolevel>30)
|
||||
std::cerr << "End copy " << clock() << std::endl;
|
||||
+ delete [] arg; //cf clang
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,24 +1,18 @@
|
|||
General purpose computer algebra system by Bernard Parisse released under
|
||||
GPLv3. French documentation by Renee De Graeve is for non-commercial use
|
||||
only. The package consists of:
|
||||
General purpose computer algebra system released under GPLv3. French
|
||||
documentation by Renee De Graeve is for non-commercial use only. The
|
||||
package consists of:
|
||||
|
||||
- a C++ library (libgiac). It is build on C and C++ libraries:
|
||||
PARI, NTL (arithmetic), CoCoA (Groebner basis), GSL (numerics),
|
||||
GMP (big integers), MPFR (bigfloats) and provides algorithms for
|
||||
basic polynomial operations (product, GCD) and symbolic
|
||||
computations (simplifications, limits/series, symbolic
|
||||
integration, summation, ...). The library can be configured to
|
||||
accept Maple or TI syntax to ease the transition for users of
|
||||
these systems.
|
||||
- a command line interpreter (icas or giac). It can be called from texmacs.
|
||||
- a FLTK-based GUI (xcas). It is a GUI for symbolic computation
|
||||
with several modules added: 2-d and 3-d graphics, dynamic 2-d and
|
||||
3-d geometry (exact or numeric), spreadsheet, programming
|
||||
environment.
|
||||
|
||||
Bernard Parisse is the main author of the CAS of HP40G and HP49G calculators.
|
||||
|
||||
This port is statically linked against snapshots of FLTK-1.3.x
|
||||
(http://www.fltk.org) and of CoCoALib (http://cocoa.dima.unige.it/cocoalib)
|
||||
- C++ library (libgiac). It is build on C and C++ libraries: PARI,
|
||||
NTL (arithmetic), CoCoA (Groebner basis), GSL (numerics), GMP
|
||||
(big integers), MPFR (bigfloats) and provides algorithms for basic
|
||||
polynomial operations (product, GCD) and symbolic computations
|
||||
(simplifications, limits/series, symbolic integration, summation,
|
||||
...). The library can be configured to accept Maple or TI syntax
|
||||
to ease the transition for users of these systems.
|
||||
- Command line interpreter (icas or giac). It can be called from
|
||||
texmacs.
|
||||
- FLTK-based GUI (xcas). It is a GUI for symbolic computation with
|
||||
several modules added: 2-d and 3-d graphics, dynamic 2-d and 3-d
|
||||
geometry (exact or numeric), spreadsheet, programming environment.
|
||||
|
||||
WWW: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue