forked from Lainports/freebsd-ports
20190818: - Interpreter and compiler have been improved to work correct, when a derived struct overrides an element of the parent struct. Many thanks go to Zachary Menzies, for reporting this error and for providing a test program. - In the FAQ the explanation, why Seed7 uses UTF-32, has been improved. An explanation of the database abstraction layer, which provides an database independent API, has also been added to the FAQ. - In the manual the chapter about the deprecated function removeAnyFile() has been replaced by a chapter about the function removeTree(). - The program db7.sd7 (Database Inspector) has been improved quote a table name from the catalog when doing a select. - The program sql7.sd7 has been improved to allow the execution of SQL statements from a file. The function getSqlStatement has been added, which reads a semicolon terminated SQL statement from a file. - The library tar.s7i has been improved to accept extended headers with meta data (PAX format) also when a tar file is opened as file system with openTar(). The function readMinimumOfHead has been improved to do this. - A code page for JIS X 0201 encoding has been added to charsets.s7i. - The program err.sd7 has been improved to contain test cases, where UTF-16 surrogate characters and non Unicode characters are written as Seed7 string escape sequences. - In sql_oci.c the function sqlOpenOci() has been improved to allow opening a database with host name, port and database name. This way a database can be opened without an entry in tnsnames.ora. The type connectDataRecord and the function setupConnectData() have been added to sql_oci.c. - The functions sqlOpenMy (in sql_my.c) and sqlOpenPost (in sql_post.c) have been improved to allow opening a database with host name, port and database name. Now host, port and dbName are parameters. Before the functions split the parameter dbName into host and database name. Specifying a port was not possible. - In sql_odbc.c the function sqlOpenOdbc() has been improved to allow opening a database with ODBC driver name, server name and database name. This way a database can be opened without specifying a data source in the ODBC Data Source Administrator (in the Control Panel). The type connectDataRecord and the functions getRegularName(), wstriSearchCh(), wstriSearch(), connectToServer(), connectToDriver() and driverConnect() have been added to sql_odbc.c. A definition of SQL_NEED_DATA has been added to db_odbc.h. - In sql_rtl.c the function sqlErrMessage() has been improved to allow database error messages encoded in UTF-8. - The function sqlOpen() has been removed from sql_rtl.c. - The function width() has been added to string.s7i and seed7_05.s7i. This function computes the sum of the character widths in a string. A character width can be 0 (for control characters), 1 (for normal printable characters) and 2 (for fullwidth characters, e.g. KANJI). - The library console.s7i has been improved to use the function
81 lines
2.4 KiB
Makefile
81 lines
2.4 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20190818
|
|
PORTREVISION= 0
|
|
CATEGORIES= lang
|
|
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
|
|
DISTNAME= ${PORTNAME}_${DISTVERSION}
|
|
|
|
MAINTAINER= gahr@FreeBSD.org
|
|
COMMENT= High-level, extensible programming language
|
|
|
|
# The language libraries are licensed under the LGPL21 license. Starting from
|
|
# version 05_20140601, the compiler libraries are also distributed. These are
|
|
# licensed under the GPLv2 and can be found in ${PREFIX}/lib/seed7/lib/comp.
|
|
LICENSE= GPLv2 LGPL21
|
|
LICENSE_COMB= multi
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386 sparc64
|
|
|
|
LIB_DEPENDS= libodbc.so:databases/unixODBC
|
|
|
|
USES= mysql:client ncurses pgsql sqlite tar:tgz
|
|
|
|
OPTIONS_DEFINE= DOCS EXAMPLES
|
|
|
|
USE_XORG= x11
|
|
WANT_PGSQL= client
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}/src
|
|
MAKE_ENV+= S7_LIB_DIR=${S7_LIB_DIR} \
|
|
SEED7_LIBRARY=${SEED7_LIBRARY} \
|
|
C_COMPILER=${CC} \
|
|
CPLUSPLUS_COMPILER=${CPP}
|
|
|
|
SEED7_LIBRARY= ${PREFIX}/lib/${PORTNAME}/lib
|
|
S7_LIB_DIR= ${PREFIX}/lib/${PORTNAME}/bin
|
|
S7_LIBS= s7_comp.a s7_con.a s7_draw.a s7_data.a seed7_05.a
|
|
|
|
PORTEXAMPLES= *
|
|
PORTDOCS= *
|
|
|
|
MAKEFILE= mk_freebsd.mk
|
|
|
|
post-patch:
|
|
${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
|
|
-e 's|^CFLAGS = |CFLAGS = -I${NCURSESINC} |' \
|
|
${WRKSRC}/${MAKEFILE}
|
|
|
|
do-build:
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} depend
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} s7 s7c
|
|
|
|
do-install:
|
|
# install interpreter and compiler
|
|
${INSTALL_PROGRAM} ${WRKSRC}/../bin/s7 ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKSRC}/../prg/s7c ${STAGEDIR}${PREFIX}/bin
|
|
# install seed7 library
|
|
${INSTALL} -d ${STAGEDIR}${SEED7_LIBRARY}/comp
|
|
cd ${WRKSRC}/../lib && ${COPYTREE_SHARE} '*.s7i' ${STAGEDIR}${SEED7_LIBRARY}
|
|
cd ${WRKSRC}/../lib/comp && ${COPYTREE_SHARE} '*.s7i' ${STAGEDIR}${SEED7_LIBRARY}/comp
|
|
# install static libraries
|
|
${INSTALL} -d ${STAGEDIR}${S7_LIB_DIR}
|
|
.for s7_lib in ${S7_LIBS}
|
|
${INSTALL_DATA} ${WRKSRC}/../bin/${s7_lib} ${STAGEDIR}${S7_LIB_DIR}
|
|
.endfor
|
|
# install PORTDOCS
|
|
${INSTALL} -d ${STAGEDIR}${DOCSDIR}
|
|
cd ${WRKSRC}/../doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}
|
|
# install PORTEXAMPLES
|
|
${INSTALL} -d ${STAGEDIR}${EXAMPLESDIR}
|
|
cd ${WRKSRC}/../prg && ${COPYTREE_SHARE} '*.dna *.sd7 *.dat *.s7i' ${STAGEDIR}${EXAMPLESDIR}
|
|
# insall man pages
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7c.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
|
|
do-test:
|
|
cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} test
|
|
|
|
.include <bsd.port.mk>
|