mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
d7352ad9df
Changes: 20210627: - As suggested by Zachary Menzies a function to make the mouse cursor invisible has been added. The function setCursorVisible() has been added to graph.s7i. This function sets the visibility of the mouse cursor in a specified window. - A function to convert an integer to a string of bytes with a given length has been added to bytedata.s7i. To get the bytes of a 32-bit signed big-endian representation use: bytes(number, SIGNED, BE, 4). - The functions for external files have been improved to raise FILE_ERROR, if a file is used after it has been closed. - The management of external files has been improved to automatically close a file, when the last variable that refers to the file leaves its scope (no variable refers to the file any more). - Adjustments have be done in s7c.sd7, comp/prg_act.s7i, comp/sql_act.s7i, comp/str_act.s7i, prg_comp.c, chkccomp.c, sql_cli.c, sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c, sql_post.c, sql_tds.c, sql_rtl.c, sql_rtl.h and sql_drv.h to support compilation with a C++ compiler. - The functions XCreateBitmapFromData(), XCreatePixmapCursor(), XDefineCursor() and XUndefineCursor() have been added to x11_x.h and fwd_x11.c. - The makefiles have been improved to compile the utilities with -O3 -oc3 (command: make utils). A possibility to remove the utilities has been added (command: make clean_utils). The utility programs are now installed under Linux (command: make install). - Documentation comments have been improved in cc_conf.s7i, environment.s7i, process.s7i, graph.s7i, cmdlib.c and cmd_rtl.c. - In cgidialog.s7i the handling of an image with an empty pixmap has been improved. - In clib_file.s7i the function destroy has been changed to use the action FIL_DESTR. - Interpreter and compiler have been improved to support the actions DRW_SETCURSORVISIBLE, FIL_DESTR, INT_N_BYTES_BE_SIGNED, INT_N_BYTES_BE_UNSIGNED, INT_N_BYTES_LE_SIGNED and INT_N_BYTES_LE_UNSIGNED. - Tests have been added to chkint.sd7. These tests check the conversion of an integer to a string of bytes with a given length. - Tests have been added to chkfil.sd7. It is checked if the automatic closing of files works as expected. Other tests check if FILE_ERROR is raised in case a file is used after it has been closed. - Tests for the assignment to an element in an array of strings have been added to chkstr.sd7. - The libraries cpio.s7i and rpm.s7i have been improved to use the new integer conversion functions. - Additional conversion functions have been added to float.s7i and integer.s7i. - Another test for FLOAT_ZERO_DIV_ERROR has been added to chkccomp.c. - In drw_win.c drwSetCursorVisible() has been added, dra_init() has been renamed to drawInit() and WndProc() has been improved to process WM_SETCURSOR. - In drw_x11.c drwGetImage() has been improved to work for an empty window, drwSetCursorVisible() has been added and several checks for RANGE_ERROR have been improved. - In fillib.c the functions fil_cpy(), fil_create(), fil_destr(), fil_empty(), fil_eof(), fil_err(), fil_flush(), fil_in() and fil_out() have been adjusted for the new fileType. - The functions in fil_rtl.c have been adjusted for the new fileType. - In fil_unx.c and fil_win.c the functions filInputReady(), filPipe() and setupFiles() have been adjusted for the new fileType. - In fil_ut8.c the functions ut8Getc(), ut8Gets(), ut8LineRead(), ut8Seek(), ut8WordRead() and ut8Write() have been adjusted for the new fileType. - The function heapStatistic() in flistutl.c has been adjusted for the new fileType. - Improvements in gkb_win.c set the button window, when a resize is done. - The functions intNBytesBeSigned(), intNBytesBeUnsigned(), intNBytesLeSigned() and intNBytesLeUnsigned() have been added to int_rtl.c. - In pcs_rtl.c pcsChildStdErr(), pcsChildStdIn(), pcsChildStdOut() and pcsDestr() have been adjusted for the new fileType. - In pcs_dos.c in function pcsStart() the logging has been adjusted for the new fileType. - In pcs_unx.c the functions pcsPipe2(), pcsPty(), pcsStart() and pcsStartPipe() have been adjusted for the new fileType. - In pcs_win.c the functions pcsPipe2(), pcsStart() and pcsStartPipe() have been adjusted for the new fileType. - Functions in soc_rtl.c have been changed to raise FILE_ERROR, if they are used with an invalid socket. - Logging functions have been added to prclib.c. - The documentation in src/read_me.txt has been improved. 20210530: - The example program pv7.sd7 has been added. It is a picture viewer for several graphic formats (BMP, GIF, JPEG, PNG and PPM). - The new library ppm.s7i has been added. This library supports reading and writing images with the binary PPM image file format. - The functions setWindowName() and selectInput() have been added to graph.s7. - Now, a program might be notified when a window is resized. With selectInput() the notification can be switched on and off. If a window has been resized, reading from the graphic KEYBOARD returns KEY_RESIZE (if the resize notification is switched on). - The libraries keybd.s7i and keydescr.s7i have been improved to define KEY_RESIZE (this key is sent optionally, if a window is resized). - The program gkbd.sd7 has been improved to also show KEY_RESIZE. - The Windows graphics driver has been improved to allow non-modal resizing and moving of windows (while being resized or moved, the program continues to run). - A scaling variant of the function put() has been added to draw.s7i. This function is used by pv7.sd7 to scale an image. - The FAQ has been improved to explain that Seed7 does not use "do what I mean" heuristics (because they may fail in unpredictable ways). - A bitset example has been added to the manual. - In chkarr.sd7 tests for the 'times' operator have been added and the tests for array assignment have been improved. - Tests for the str() function have been added to chkstr.sd7. - The test programs chkarr.sd7 and chkstr.sd7 have been improved to increase the code coverage of the Seed7 run-time library. - The compile time functions prc_include() (in prclib.c) and find_include_file() (in libpath.c) have been adjusted to fail if they are called at runtime. - In drw_win.c the function drwCapture() has been improved to release the screen device context. This avoids a resource leak. Additionally, the stretch blt mode is now set with SetStretchBltMode(). - The program chkccomp.c has been improved to consider the X11 extension Xrender. Now definitions of HAS_XRENDER_EXTENSION and X11_XRENDER_DLL might be written to version.h. - Interpreter and compiler have been improved to support the new actions DRW_PUT_SCALED, DRW_SETWINDOWNAME and GKB_SELECT_INPUT. - The graphic drivers drw_x11.c and drw_win.c have been improved to enlarge the drawing area when a window is enlarged. - The functions resize(), setResizeReturnsKey(), drwPutScaled() and drwSetWindowName() have been added to drw_win.c, drw_x11.c. - The functions gkbSelectInput(), drwPutScaled() and drwSetWindowName() have been added to drw_dos.c, drw_emc.c and drw_drv.h. - The functions resizeBottomAndRight(), resizeTopAndLeft(), startMoveWindow(), processMouseMove() and gkbSelectInput() have been added to gkb_win.c. - The functions handleConfigure(), configureDoesResize() and gkbSelectInput() have been added to gkb_x11.c - The functions gkb_select_input(), drw_put_scaled() and drw_setWindowName() have been added to drwlib.c and drwlib.h. - The handling of events in gkb_x11.c has been improved to handle ConfigureNotify events. These events are used when a window is resized. - In drw_win.c the function drwOpen() has been improved to accept Unicode window names. - In drw_x11.c the function redraw() has been improved to avoid compiler warnings. - Documentation comments have been added to functions in bitset.s7i. - The function XStoreName() and the functions of the Xrender extension have been added to x11_x.h and fwd_x11.c. - The makefiles mk_emccl.mak and mk_emccw.mak have been adjusted for the newest version of Emscripten.
87 lines
2.6 KiB
Makefile
87 lines
2.6 KiB
Makefile
# Created by: gahr
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20210627
|
|
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 armv7 i386 powerpc powerpc64 powerpc64le sparc64
|
|
|
|
LIB_DEPENDS= libodbc.so:databases/unixODBC
|
|
|
|
USES= mysql:client ncurses pgsql sqlite tar:tgz xorg
|
|
|
|
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}
|
|
${REINPLACE_CMD} \
|
|
-e 's|/opt/X11/include|${LOCALBASE}/include|' \
|
|
${WRKSRC}/chkccomp.c
|
|
|
|
do-configure:
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} depend
|
|
|
|
do-build:
|
|
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>
|