1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00
freebsd-ports/lang/seed7/Makefile
Pietro Cerutti d7352ad9df lang/seed7: update to 05_20210627
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.
2021-06-28 10:24:10 +00:00

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>