Ravenports generated: 10 Feb 2024 22:55
[ravenports.git] / bucket_FF / sparforte
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               sparforte
4 VERSION=                2.6.1
5 KEYWORDS=               shells lang
6 VARIANTS=               standard
7 SDESC[standard]=        Shell and scripting for mission-critical projects
8 HOMEPAGE=               http://www.sparforte.com
9 CONTACT=                John_Marino[draco@marino.st]
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            GITHUB/kburtch:SparForte:v2.6.1
13 DISTFILE[1]=            generated:main
14 DF_INDEX=               1
15 SPKGS[standard]=        complete
16                         primary
17                         examples
18                         docs
19
20 OPTIONS_AVAILABLE=      CGI OPENGL SOUND MYSQL PGSQL PCRE L10N
21 OPTIONS_STANDARD=       CGI OPENGL SOUND MYSQL PGSQL PCRE L10N
22 OPTGROUP_RESTRICTED=    DBASE
23 OPTDESCR[DBASE]=        Databases supported
24 OPTGROUP[DBASE]=        MYSQL PGSQL
25 OPT_ON[all]=            MYSQL PGSQL OPENGL SOUND PCRE L10N
26
27 BROKEN[aarch64]=        fails to compile: gnat1: error: unknown value aarch64 for -march
28 BROKEN[all]=            GNAT BUG DETECTED gnat_to_gnu_entity, parser_pen.adb
29
30 BUILD_DEPENDS=          libGLU:dev:standard
31
32 USES=                   bdb gettext gmake pkgconfig readline execinfo ssl
33                         zstd
34 SDL_COMPONENTS=         image1
35
36 LICENSE=                GPLv2+:primary
37 LICENSE_TERMS=          primary:{{WRKDIR}}/TERMS
38 LICENSE_FILE=           GPLv2+:{{WRKSRC}}/COPYING
39 LICENSE_AWK=            TERMS:"^$$"
40 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/src/spar.adb
41 LICENSE_SCHEME=         solo
42
43 MUST_CONFIGURE=         yes
44 CONFIGURE_SCRIPT=       new_configure
45
46 MAKE_ARGS=              RPM_BUILD_ROOT=1
47 SINGLE_JOB=             yes
48
49 VAR_OPSYS[freebsd]=     MAKEFILE_LINE=SF_CFLAGSTYPE=-DFREEBSD
50                         MAKEFILE_LINE=OSBIND=os_bindings/spar_freebsd
51 VAR_OPSYS[linux]=       MAKEFILE_LINE=SF_CFLAGSTYPE=-DLINUX
52                         MAKEFILE_LINE=OSBIND=os_bindings/spar_linux
53 VAR_OPSYS[netbsd]=      MAKEFILE_LINE=SF_CFLAGSTYPE=-DFREEBSD
54                         MAKEFILE_LINE=OSBIND=os_bindings/spar_freebsd
55 VAR_OPSYS[dragonfly]=   MAKEFILE_LINE=SF_CFLAGSTYPE=-DFREEBSD
56                         MAKEFILE_LINE=OSBIND=os_bindings/spar_freebsd
57 VAR_OPSYS[midnightbsd]= MAKEFILE_LINE=SF_CFLAGSTYPE=-DFREEBSD
58                         MAKEFILE_LINE=OSBIND=os_bindings/spar_freebsd
59 VAR_ARCH[aarch64]=      MAKEFILE_LINE=CPU_SDL=spar_os-sdl-64bit
60 VAR_ARCH[x86_64]=       MAKEFILE_LINE=CPU_SDL=spar_os-sdl-64bit
61 VAR_ARCH[i386]=         MAKEFILE_LINE=CPU_SDL=spar_os-sdl-32bit
62
63 [L10N].DESCRIPTION=                     Build with localization support
64 [L10N].MAKEFILE_OFF=                    SFARG+=-DL10N=false
65 [L10N].MAKEFILE_ON=                     SETL10N=ON
66                                         SFARG+=-DL10N=true
67
68 [PCRE].DESCRIPTION=                     Build with PCRE regular expression support
69 [PCRE].MAKEFILE_OFF=                    SFARG+=-DPCRE=false
70 [PCRE].MAKEFILE_ON=                     SETPCRE=ON
71                                         SFARG+=-DPCRE=true
72 [PCRE].USES_ON=                         pcre
73
74 [OPENGL].BUILDRUN_DEPENDS_ON=           libglvnd:primary:standard
75 [OPENGL].BUILD_DEPENDS_ON=              libglvnd:dev:standard
76 [OPENGL].MAKEFILE_OFF=                  SFARG+=-DOPENGL=false
77 [OPENGL].MAKEFILE_ON=                   SETGL=ON
78                                         SFARG+=-DOPENGL=true
79
80 [MYSQL].MAKEFILE_OFF=                   SFARG+=-DMYSQL=false
81 [MYSQL].MAKEFILE_ON=                    SETMYSQL=ON
82                                         SFARG+=-DMYSQL=true
83 [MYSQL].USES_ON=                        mysql:client
84
85 [SOUND].BUILDRUN_DEPENDS_ON=            gstreamer1:primary:standard
86 [SOUND].BUILD_DEPENDS_ON=               gstreamer1:dev:standard
87 [SOUND].GNOME_COMPONENTS_ON=            glib
88                                         libxml2
89 [SOUND].MAKEFILE_OFF=                   SFARG+=-DSOUND=false
90 [SOUND].MAKEFILE_ON=                    SETSOUND=ON
91                                         SFARG+=-DSOUND=true
92
93 [PGSQL].MAKEFILE_OFF=                   SFARG+=-DPOSTGRES=false
94 [PGSQL].MAKEFILE_ON=                    SETPGSQL=ON
95                                         SFARG+=-DPOSTGRES=true
96 [PGSQL].USES_ON=                        pgsql:client
97
98 [CGI].DESCRIPTION=                      Common Gateway Interface (breaks other features)
99 [CGI].MAKEFILE_OFF=                     SFARG+=-DGCGI=false
100 [CGI].MAKEFILE_ON=                      SFARG+=-DGCGI=true
101
102 post-patch-linux:
103         ${REINPLACE_CMD} -e "s| -lintl||" ${WRKSRC}/new_configure
104
105 post-install:
106         ${MKDIR} ${STAGEDIR}${STD_DOCDIR}
107         ${MKDIR} ${STAGEDIR}${STD_EXAMPLESDIR}
108         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/spar
109         (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${STD_DOCDIR})
110         ${MV} ${WRKSRC}/examples/incomplete ${WRKDIR}/
111         (cd ${WRKSRC}/examples && \
112                 ${COPYTREE_SHARE} \* ${STAGEDIR}${STD_EXAMPLESDIR})
113
114 pre-configure:
115         # move new 4 lines from post-extract to allow patching
116         ${CP} ${WRKSRC}/src/scanner-calendar-latest.ads ${WRKSRC}/src/scanner-calendar.ads
117         ${CP} ${WRKSRC}/src/scanner-calendar-latest.adb ${WRKSRC}/src/scanner-calendar.adb
118         ${CP} ${WRKSRC}/src/${OSBIND}.ads ${WRKSRC}/src/spar_os.ads
119         ${CP} ${WRKSRC}/src/${CPU_SDL}.ads ${WRKSRC}/src/spar_os-sdl.ads
120         ${MV} ${WRKSRC}/src/spar_os_sdl.adb ${WRKSRC}/src/spar_os-sdl.adb
121         # Use the gcc compiler associated with the ada frontend.
122         # Without this substitution, the base compiler is used instead.
123         ${REINPLACE_CMD} \
124                 -e "s|cc |gcc |" \
125                 -e "s| -fstack-protector||" \
126                 -e "s| -Werror||" \
127                 ${WRKSRC}/src/pegasock/Makefile
128         # Avoid use of malloc.h
129         ${REINPLACE_CMD} -e "s|<malloc.h>|<stdlib.h>|" \
130                 ${WRKSRC}/src/bdb/c_bdb.c
131         # Use db.h from db5 and link to it
132         # Fix multi-job support
133         # On gcc11, avoids prefix of "Overlaps_Storage" attribute must be object
134         ${REINPLACE_CMD} \
135                 -e "s|db: db.adb|db: bdb_constants.ads db.adb|" \
136                 -e "s| -fstack-protector||" \
137                 -e "s| -gnateEeAeEeF||" \
138                 ${WRKSRC}/src/bdb/GNUmakefile.orig
139         # shebang fix
140         ${REINPLACE_CMD} -e "s|#|#!/bin/sh|" \
141                 ${WRKSRC}/src/apq-2.1/mysql_incl
142         ${REINPLACE_CMD} -e "s|\.\/mysql_x|/bin/sh ./mysql_x|" \
143                 ${WRKSRC}/src/apq-2.1/Makefile
144         # stack-protector broken on several platforms, fix template
145         ${REINPLACE_CMD} \
146                 -e "s| -fstack-protector||" \
147                 -e "s| -Werror||" \
148                 ${WRKSRC}/src/GNUmakefile.orig
149
150 post-configure:
151         for f in ${PREPFILES}; do \
152             echo "gnatprep $$f" ;\
153             (cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} \
154                 gnatprep ${SFARG} $$f.orig $$f) ;\
155         done
156
157 post-extract:
158         # Create a compact configure script for ports collection
159         ${SED} -e "s|@CPU_FLAG@|${SF_CPU_FLAG}|" \
160                 -e "s|@ARCH@|${SF_ARCH}|" \
161                 -e "s|@MAKECMD@|${MAKE_CMD}|" \
162                 -e "s|@CFLAGSTYPE@|${SF_CFLAGSTYPE}|" \
163                 -e "s|@PREFIX@|${PREFIX}|" \
164                 -e "s|@SETAPQ@|${SETAPQ}|" \
165                 -e "s|@SETMYSQL@|${SETMYSQL}|" \
166                 -e "s|@SETPGSQL@|${SETPGSQL}|" \
167                 -e "s|@SETSOUND@|${SETSOUND}|" \
168                 -e "s|@SETGL@|${SETGL}|" \
169                 -e "s|@SETPCRE@|${SETPCRE}|" \
170                 -e "s|@SETL10N@|${SETL10N}|" \
171                 -e "s|@SED@|${SED}|" \
172                 -e "s|@OPENSSLLIB@|${OPENSSLLIB}|g" \
173                 -e "s|@JOBSSUB@|${MAKE_JOBS_NUMBER}|g" \
174                 ${FILESDIR}/new_configure.in > ${WRKSRC}/new_configure
175         ${CHMOD} 755 ${WRKSRC}/new_configure
176
177 [FILE:1013:descriptions/desc.primary]
178 SPARforte is an open source programming language for high-integrity tasks,
179 efficient development over the project lifecycle and assuming best practices.
180
181 Language characteristics:
182 * Paradigm: imperative/ procedural, scripting, shell, limited reflexive
183 * Typing Disciplines: strong typing, type safety, nominative static with
184   optional limited weak and duck typing
185 * Appeared: 2001 (Ken O. Burtch)
186 * Source Code: GCC Ada, GCC C, Bourne-Again Shell, GCC Make
187 * Influenced by: Ada 95, Bourne Shell, SQL, and minorly BASIC, PHP, Python
188 * Usual File Extensions: .sp, .bush
189
190 The computer language that the SparForte shell understands is called
191 AdaScript. Unlike JavaScript, which has no relation to Java, AdaScript is a
192 small subset of the Ada programming language, with additional features
193 related to shell commands and databases.
194
195 AdaScript is intended to be "upward compatible" with Ada. AdaScript scripts
196 should run with little difficulty under Ada, but Ada programs may require
197 large changes run under SparForte.
198
199
200 [FILE:109:distinfo]
201 d88ec589aaca858a42cb58317ba057ef8dcf270f58f75786a1dcffe53f6cbc9a      3223375 kburtch-SparForte-2.6.1.tar.gz
202
203
204 [FILE:34:manifests/plist.primary]
205 bin/spar
206 share/man/man1/spar.1.gz
207
208
209 [FILE:4006:manifests/plist.examples]
210 share/examples/sparforte/
211  8ball.html
212  8ball.sp
213  add_ramdisk.html
214  add_ramdisk.sp
215  add_swap.html
216  add_swap.sp
217  aligncols.html
218  aligncols.sp
219  aplusb.html
220  aplusb.sp
221  archive.html
222  archive.sp
223  arraycat.html
224  arraycat.sp
225  arraycat_unstructured.sp
226  arrayloop.html
227  arrayloop.sp
228  arraysum.html
229  arraysum.sp
230  arraysum_unstructured.sp
231  arrow.wav
232  attention.html
233  attention.sp
234  audio.html
235  audio.sp
236  bases.html
237  bases.sp
238  bats.wav
239  best_shuffle.html
240  best_shuffle.sp
241  bitarith.html
242  bitarith.sp
243  bjack.html
244  bjack.sp
245  bottles.html
246  bottles.sp
247  caesar.html
248  caesar.sp
249  calcrms.html
250  calcrms.sp
251  camel.html
252  camel.sp
253  cecho.html
254  cecho.sp
255  charcode.html
256  charcode.sp
257  chessboard.html
258  chessboard.png
259  chessboard.sp
260  chomp.html
261  chomp.sp
262  chomp2.html
263  chomp2.sp
264  clap.wav
265  combinations.html
266  combinations.sp
267  contracts.html
268  contracts.sp
269  count_statements.html
270  count_statements.sp
271  database.gif
272  database.html
273  database.sp
274  dateformat.html
275  dateformat.sp
276  de_RPM.html
277  de_RPM.sp
278  design_example.html
279  design_example.sp
280  dispatch.html
281  dispatch.sp
282  distance.html
283  distance.sp
284  doors.html
285  doors.sp
286  dotproduct.html
287  dotproduct.sp
288  draco_ii.html
289  draco_ii.sp
290  draco_score.txt
291  drawline.html
292  drawline.sp
293  dynamic_css.html
294  dynamic_css.sp
295  dynamic_css2.html
296  dynamic_css2.sp
297  eliza.data
298  eliza.html
299  eliza.sp
300  env.cgi
301  env.html
302  env.tmpl
303  factorial.html
304  factorial.sp
305  fibonacci.html
306  fibonacci.sp
307  file_creation.html
308  file_creation.sp
309  filecopy.html
310  filecopy.sp
311  files.html
312  fizzbuzz.html
313  fizzbuzz.sp
314  game.html
315  game.sp
316  game_24.html
317  game_24.sp
318  gen_env_data.html
319  gen_env_data.sp
320  geometry.sp
321  get_env_data.gif
322  git_prompt_script.html
323  git_prompt_script.sp
324  graph_series.html
325  graph_series.png
326  graph_series.sp
327  gray.html
328  gray.sp
329  gss.html
330  gss.sp
331  hanoi.html
332  hanoi.sp
333  hello.html
334  hello.sp
335  incstr.html
336  incstr.sp
337  index.html
338  int_sort.html
339  int_sort.sp
340  introsp.html
341  introsp.sp
342  ipv4.html
343  ipv4.sp
344  isxwindows.html
345  isxwindows.sp
346  json_health_check.cgi
347  json_health_check.html
348  linear_reg.html
349  linear_reg.sp
350  loopsbreak.html
351  loopsbreak.sp
352  luhn.html
353  luhn.sp
354  main.html
355  mandel.html
356  mandel.png
357  mandel.sp
358  mapping.html
359  mapping.sp
360  menu.html
361  menu.sp
362  menu2.html
363  menu2.sp
364  minimal.sp
365  minimal_cgi.html
366  minimal_cgi.sp
367  minsort.html
368  minsort.sp
369  moire.html
370  moire.png
371  moire.sp
372  monte.html
373  monte.sp
374  monty.html
375  monty.sp
376  neartime.html
377  neartime.sp
378  nonsquares.html
379  nonsquares.sp
380  opengl_first.html
381  opengl_first.png
382  opengl_first.sp
383  opengl_fourth.html
384  opengl_fourth.png
385  opengl_fourth.sp
386  opengl_second.html
387  opengl_second.png
388  opengl_second.sp
389  opengl_third.html
390  opengl_third.png
391  opengl_third.sp
392  pack.html
393  pack.sp
394  palindrome.html
395  palindrome.sp
396  perfect.html
397  perfect.sp
398  pit.wav
399  poetry.html
400  poetry.sp
401  postgres_csv.html
402  postgres_csv.sp
403  prime.html
404  prime.sp
405  primes_asc.html
406  primes_asc.sp
407  printargs.html
408  printargs.sp
409  quest.html
410  quest.sp
411  radices.html
412  radices.sp
413  ramcache.html
414  ramcache.sp
415  randdist.html
416  randdist.sp
417  random.cgi
418  random.html
419  random.tmpl
420  rest_api.sp
421  rle.html
422  rle.sp
423  rm_ramdisk.html
424  rm_ramdisk.sp
425  rm_swap.html
426  rm_swap.sp
427  rock.html
428  rock.sp
429  roman_numerals.html
430  roman_numerals.sp
431  rot13.html
432  rot13.sp
433  run.wav
434  scheduler.html
435  scheduler.sp
436  scream.wav
437  scripting.c
438  shuffle.html
439  shuffle.sp
440  side_effects.html
441  side_effects.sp
442  sieve.html
443  sieve.sp
444  sleep.html
445  sleep.sp
446  string_prepend.html
447  string_prepend.sp
448  stringcase.html
449  stringcase.sp
450  stripcomment.html
451  stripcomment.sp
452  sumseries.html
453  sumseries.sp
454  sumsq.html
455  sumsq.sp
456  ternary_logic.html
457  ternary_logic.sp
458  time_function.html
459  time_function.sp
460  timestamp.html
461  timestamp.sp
462  title.html
463  title.sp
464  tmpfile.html
465  tmpfile.sp
466  trig.html
467  trig.sp
468  twelve_days.html
469  twelve_days.sp
470  user_input.html
471  user_input.sp
472  user_input_unstructured.sp
473  validate_name.html
474  validate_name.sp
475  weave.html
476  weave.png
477  weave.sp
478  web_summary.html
479  web_summary.sp
480  whattime.html
481  whattime.sp
482  write_ownership.html
483  write_ownership.sp
484  wumpus.gif
485  wumpus.html
486  wumpus.sp
487  yorn.html
488  yorn.sp
489  yuletide.html
490  yuletide.sp
491
492
493 [FILE:766:patches/patch-src_GNUmakefile.template]
494 --- src/GNUmakefile.orig.orig   2023-05-06 21:39:55 UTC
495 +++ src/GNUmakefile.orig
496 @@ -112,7 +112,7 @@ endif
497         @echo "---------------------------------------------------------------"
498         @echo
499         # $(GNATMAKE) -j4 -c -i -O1 $(CPU_FLAG)=$(CPU) -we -gnat12 -gnatfaoN -gnatVaep -gnatw.eDHM.Y -gnateEeEeF -gnatybdh -fstack-protector -c $(INCLUDE) spar
500 -       $(GNATMAKE) -j$(GMAKEJOBS) -c -i -O1 $(CPU_FLAG)=$(CPU) -we -gnat12 -gnatfaoN -gnatVaep -gnateEeEeF -fstack-protector -c $(INCLUDE) spar
501 +       $(GNATMAKE) -j$(GMAKEJOBS) -c -i -O1 $(CPU_FLAG)=$(CPU) -we -gnat12 -gnatd.E -gnatfaoN -gnatVaep -gnateEeEeF -fstack-protector -c $(INCLUDE) spar
502         gnatbind -x $(INCLUDE_BIND) spar.ali
503         gnatlink spar.ali $(GSTREAMERLIBS) $(GSTREAMEROBJ) $(PCREOBJ) c_os.o c_scanner.o $(LIBS)
504         @echo
505
506
507 [FILE:6328:patches/patch-src_c__l10n.c]
508 --- src/c_l10n.c.orig   2023-05-06 21:39:55 UTC
509 +++ src/c_l10n.c
510 @@ -485,7 +485,7 @@ char *langinfo_abmon_12() {
511   */
512  
513  char *langinfo_decimal_point() {
514 -#if defined(__APPLE__) || defined(__FreeBSD__)
515 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
516     return undefined;
517  #elif !defined(__USE_GNU)
518     return undefined;
519 @@ -501,7 +501,7 @@ char *langinfo_decimal_point() {
520   */
521  
522  char *langinfo_thousands_sep() {
523 -#if defined(__APPLE__) || defined(__FreeBSD__)
524 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
525     return undefined;
526  #elif !defined(__USE_GNU)
527     return undefined;
528 @@ -537,7 +537,7 @@ char *langinfo_noexpr() {
529   */
530  
531  char *langinfo_currency_symbol() {
532 -#if defined(__APPLE__) || defined(__FreeBSD__)
533 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
534     return undefined;
535  #elif !defined(__USE_GNU)
536     return undefined;
537 @@ -583,7 +583,7 @@ char *langinfo_t_fmt_ampm() {
538   */
539  
540  char *langinfo_positive_sign() {
541 -#if defined(__APPLE__) || defined(__FreeBSD__)
542 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
543     return undefined;
544  #elif !defined(__USE_GNU)
545     return undefined;
546 @@ -599,7 +599,7 @@ char *langinfo_positive_sign() {
547   */
548  
549  char *langinfo_negative_sign() {
550 -#if defined(__APPLE__) || defined(__FreeBSD__)
551 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
552     return undefined;
553  #elif !defined(__USE_GNU)
554     return undefined;
555 @@ -615,7 +615,7 @@ char *langinfo_negative_sign() {
556   */
557  
558  char *langinfo_int_curr_symbol() {
559 -#if defined(__APPLE__) || defined(__FreeBSD__)
560 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
561     return undefined;
562  #elif !defined(__USE_GNU)
563     return undefined;
564 @@ -631,7 +631,7 @@ char *langinfo_int_curr_symbol() {
565   */
566  
567  char *langinfo_grouping() {
568 -#if defined(__APPLE__) || defined(__FreeBSD__)
569 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
570     return "\0";
571  #elif !defined(__USE_GNU)
572     return "\0";
573 @@ -646,7 +646,7 @@ char *langinfo_grouping() {
574   */
575  
576  char *langinfo_frac_digits() {
577 -#if defined(__APPLE__) || defined(__FreeBSD__)
578 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
579     return undefined;
580  #elif !defined(__USE_GNU)
581     return undefined;
582 @@ -661,7 +661,7 @@ char *langinfo_frac_digits() {
583   */
584  
585  char *langinfo_int_frac_digits() {
586 -#if defined(__APPLE__) || defined(__FreeBSD__)
587 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
588     return undefined;
589  #elif !defined(__USE_GNU)
590     return undefined;
591 @@ -676,7 +676,7 @@ char *langinfo_int_frac_digits() {
592   */
593  
594  char *langinfo_p_cs_precedes() {
595 -#if defined(__APPLE__) || defined(__FreeBSD__)
596 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
597     return undefined;
598  #elif !defined(__USE_GNU)
599     return undefined;
600 @@ -691,7 +691,7 @@ char *langinfo_p_cs_precedes() {
601   */
602  
603  char *langinfo_p_sep_by_space() {
604 -#if defined(__APPLE__) || defined(__FreeBSD__)
605 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
606     return undefined;
607  #elif !defined(__USE_GNU)
608     return undefined;
609 @@ -706,7 +706,7 @@ char *langinfo_p_sep_by_space() {
610   */
611  
612  char *langinfo_p_sign_posn() {
613 -#if defined(__APPLE__) || defined(__FreeBSD__)
614 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
615     return undefined;
616  #elif !defined(__USE_GNU)
617     return undefined;
618 @@ -721,7 +721,7 @@ char *langinfo_p_sign_posn() {
619   */
620  
621  char *langinfo_n_cs_precedes() {
622 -#if defined(__APPLE__) || defined(__FreeBSD__)
623 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
624     return undefined;
625  #elif !defined(__USE_GNU)
626     return undefined;
627 @@ -736,7 +736,7 @@ char *langinfo_n_cs_precedes() {
628   */
629  
630  char *langinfo_n_sep_by_space() {
631 -#if defined(__APPLE__) || defined(__FreeBSD__)
632 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
633     return undefined;
634  #elif !defined(__USE_GNU)
635     return undefined;
636 @@ -751,7 +751,7 @@ char *langinfo_n_sep_by_space() {
637   */
638  
639  char *langinfo_n_sign_posn() {
640 -#if defined(__APPLE__) || defined(__FreeBSD__)
641 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
642     return undefined;
643  #elif !defined(__USE_GNU)
644     return undefined;
645 @@ -766,7 +766,7 @@ char *langinfo_n_sign_posn() {
646   */
647  
648  char *langinfo_mon_decimal_point() {
649 -#if defined(__APPLE__) || defined(__FreeBSD__)
650 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
651     return undefined;
652  #elif !defined(__USE_GNU)
653     return undefined;
654 @@ -782,7 +782,7 @@ char *langinfo_mon_decimal_point() {
655   */
656  
657  char *langinfo_mon_thousands_sep() {
658 -#if defined(__APPLE__) || defined(__FreeBSD__)
659 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
660     return undefined;
661  #elif !defined(__USE_GNU)
662     return undefined;
663 @@ -797,7 +797,7 @@ char *langinfo_mon_thousands_sep() {
664   */
665  
666  char *langinfo_mon_grouping() {
667 -#if defined(__APPLE__) || defined(__FreeBSD__)
668 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
669     return "\0";
670  #elif !defined(__USE_GNU)
671     return "\0";
672 @@ -822,7 +822,7 @@ char *langinfo_era() {
673   */
674  
675  char *langinfo_era_year() {
676 -#if defined(__APPLE__) || defined(__FreeBSD__)
677 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__linux__)
678     return undefined;
679  #elif !defined(__USE_GNU)
680     return undefined;
681
682
683 [FILE:375:patches/patch-src_c__os.c]
684 --- src/c_os.c.orig     2023-05-06 21:39:55 UTC
685 +++ src/c_os.c
686 @@ -27,7 +27,7 @@
687  
688  /* group_member() for BSD-based systems */
689  
690 -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__)
691 +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
692  int group_member(gid_t gid) {
693    int ngroups, i, ret;
694  #if defined(__APPLE__)
695
696
697 [FILE:4199:files/new_configure.in]
698 #!/bin/sh
699 # Configure script tailored for FreeBSD ports collection
700
701 SETAPQ=@SETAPQ@
702 SETMYSQL=@SETMYSQL@
703 SETPGSQL=@SETPGSQL@
704 SETSOUND=@SETSOUND@
705 SETPCRE=@SETPCRE@
706 SETGL=@SETGL@
707 SETL10N=@SETL10N@
708
709 CCTYPE=ada
710 CPUTYPE="@ARCH@"
711 CPUFLAG="@CPU_FLAG@"
712 GMAKETYPE="@MAKECMD@"
713 PREFIXSUB="@PREFIX@"
714 MANPREFIXSUB="@PREFIX@/share/man"
715 CFLAGSTYPE="@CFLAGSTYPE@"
716 BDBBASELIBSSUB="-L@PREFIX@/db5/lib -ldb"
717 BDBBASEINCLSUB="-I@PREFIX@/db5/include -I./bdb/"
718 BDBINCLSUB="-I@PREFIX@/db5/include -I./bdb/"
719 BDBSUB="-L@PREFIX@/db5/lib -ldb bdb/c_bdb.o"
720 RLINCLSUB="-I./areadline/"
721 RLLIBSSUB="-L@PREFIX@/lib -lreadline -lhistory c_rl.o"
722 RLFLAG="-DREADLINE"
723 JOBSSUB="@JOBSSUB@"
724 FASTCGISUB=
725 SDLINCLSSUB=
726 SDLLIBSTYPE=$(@PREFIX@/bin/pkgconf --libs SDL_image)
727 SDLINCLTYPE=$(@PREFIX@/bin/pkgconf --cflags SDL_image)
728
729 # Blank defaults
730 GSTREAMERLIBSSUB=
731 GSTREAMERFLAGSUB=
732 GSTREAMEROBJSUB=
733 MESAINCLSUB=
734 MESALIBSSUB=
735 MYSQLLIBSSUB=
736 PGLIBSSUB=
737 APQLIBSSUB=
738 APQINCLSSUB=
739 PCRELIBSSUB=
740 PCREOBJSUB=
741 PCREFLAG=
742 L10NLIBS=
743 L10NFLAG=
744
745 if [ "${SETAPQ}" = "ON" ]; then
746   APQ="apq-2.1"
747   APQMAKESUB="\$(MAKE) -C ${APQ}"
748   APQLIBSSUB="-L./${APQ} "
749   APQINCLSSUB="-I./${APQ} "
750   if [ "${SETMYSQL}" = "ON" ]; then
751      MYSQLLIBSSUB="-L@PREFIX@/lib/mysql -lmysqlclient -pthread -lm"
752      APQLIBSSUB="${APQLIBSSUB} ./${APQ}/c_mysql.o"
753      if [ "${SETPGSQL}" != "ON" ]; then
754         echo "Executing APQ's configure (skipping PostgreSQL)"
755         (cd src/${APQ} && /usr/bin/env HAVE_MY=1 HAVE_PG=0 /bin/sh ./configure)
756      fi
757   fi
758   if [ "${SETPGSQL}" = "ON" ]; then
759      PGLIBSSUB="-L@PREFIX@/lib -lintl -L@OPENSSLLIB@ -lssl -lcrypto -Wl,-rpath,@OPENSSLLIB@"
760      if [ "${SETMYSQL}" = "ON" ]; then
761         echo "Executing APQ's configure"
762         (cd src/${APQ} && /usr/bin/env HAVE_MY=1 HAVE_PG=1 /bin/sh ./configure)
763      else
764         echo "Executing APQ's configure (skipping MySQL)"
765         (cd src/${APQ} && /usr/bin/env HAVE_MY=0 HAVE_PG=1 /bin/sh ./configure)
766      fi
767   fi
768 else
769   APQMAKESUB="@echo disabled"
770 fi
771
772 if [ "${SETSOUND}" = "ON" ]; then
773    GSTREAMERLIBSSUB=$(@PREFIX@/bin/pkgconf --cflags --libs gstreamer-1.0)
774    GSTREAMEROBJSUB="c_gstreamer.o"
775    GSTREAMERFLAGSUB="-DGSTREAMER"
776 fi
777
778 if [ "${SETGL}" = "ON" ]; then
779    MESAINCLSUB=$(@PREFIX@/bin/pkgconf --cflags gl glu)
780    MESALIBSSUB=$(@PREFIX@/bin/pkgconf --libs gl glu)
781 fi
782
783 if [ "${SETPCRE}" = "ON" ]; then
784    PCRELIBSSUB="-lpcre"
785    PCREOBJSUB="c_pcre.o"
786 fi
787
788 if [ "${SETL10N}" = "ON" ]; then
789    L10NLIBS="c_l10n.o"
790    L10NFLAG=1
791 fi
792
793 echo "Creating GNUmakefile"
794 @SED@ -e "s|CPUFLAG|${CPUFLAG}|g" \
795  -e "s|CCTYPE|${CCTYPE}|g" \
796  -e "s|CPUTYPE|${CPUTYPE}|g" \
797  -e "s|GMAKETYPE|${GMAKETYPE}|g" \
798  -e "s|CFLAGSTYPE|${CFLAGSTYPE}|g" \
799  -e "s|MANPREFIXSUB|${MANPREFIXSUB}|g" \
800  -e "s|PREFIXSUB|${PREFIXSUB}|g" \
801  GNUmakefile.orig > Makefile
802
803 echo "Creating src/GNUmakefile"
804 @SED@ -e "s|CPUFLAG|${CPUFLAG}|g" \
805  -e "s|CCTYPE|${CCTYPE}|g" \
806  -e "s|CPUTYPE|${CPUTYPE}|g" \
807  -e "s|GMAKETYPE|${GMAKETYPE}|g" \
808  -e "s|CFLAGSTYPE|${CFLAGSTYPE}|g" \
809  -e "s|MANPREFIXSUB|${MANPREFIXSUB}|g" \
810  -e "s|PREFIXSUB|${PREFIXSUB}|g" \
811  -e "s|SDLLIBSTYPE|${SDLLIBSTYPE}|g" \
812  -e "s|SDLINCLTYPE|${SDLINCLTYPE}|g" \
813  -e "s|PGLIBSSUB|${PGLIBSSUB}|g" \
814  -e "s|MYSQLLIBSSUB|${MYSQLLIBSSUB}|g" \
815  -e "s|APQLIBSSUB|${APQLIBSSUB}|g" \
816  -e "s|APQINCLSSUB|${APQINCLSSUB}|g" \
817  -e "s|SDLINCLSSUB|${SDLINCLSSUB}|g" \
818  -e "s|APQMAKESUB|${APQMAKESUB}|g" \
819  -e "s|FASTCGISUB|${FASTCGISUB}|g" \
820  -e "s|GSTREAMERLIBSSUB|${GSTREAMERLIBSSUB}|g" \
821  -e "s|GSTREAMERFLAGSUB|${GSTREAMERFLAGSUB}|g" \
822  -e "s|GSTREAMEROBJSUB|${GSTREAMEROBJSUB}|g" \
823  -e "s|MESAINCLSUB|${MESAINCLSUB}|g" \
824  -e "s|MESALIBSSUB|${MESALIBSSUB}|g" \
825  -e "s|BDBSUB|${BDBSUB}|g" \
826  -e "s|BDBINCLSUB|${BDBINCLSUB}|g" \
827  -e "s|RLINCLSUB|${RLINCLSUB}|g" \
828  -e "s|RLLIBSSUB|${RLLIBSSUB}|g" \
829  -e "s|RLFLAGSUB|${RLFLAG}|g" \
830  -e "s|PCRELIBSSUB|${PCRELIBSSUB}|g" \
831  -e "s|PCREOBJSUB|${PCREOBJSUB}|g" \
832  -e "s|PCREFLAG|${PCREFLAG}|g" \
833  -e "s|L10NFLAGSUB|${L10NFLAG}|g" \
834  -e "s|L10NLIBSSUB|${L10NLIBS}|g" \
835  -e "s|GMAKEJOBSSUB|${JOBSSUB}|g" \
836  src/GNUmakefile.orig > src/GNUmakefile
837
838 echo "Creating src/bdb/GNUmakefile"
839 @SED@ \
840  -e "s|BDBBASEINCLSUB|${BDBBASEINCLSUB}|g" \
841  -e "s|BDBBASELIBSSUB|${BDBBASELIBSSUB}|g" \
842   src/bdb/GNUmakefile.orig > src/bdb/GNUmakefile
843
844
845 [FILE:760:files/special.mk]
846 PREPFILES= \
847         builtins.adb \
848         parser_bdb.adb \
849         parser_btree_io.adb \
850         parser_db.adb \
851         parser_dbm.adb \
852         parser_gnat_cgi.adb \
853         parser_hash_io.adb \
854         parser_l10n.adb \
855         parser_mysql.adb \
856         parser_mysqlm.adb \
857         parser_pen.adb \
858         parser_sound.adb \
859         parser_strings_pcre.adb \
860         pegasoft-user_io-getline.adb \
861         scanner_res.adb \
862         scanner_res.ads \
863         world.ads
864
865 .if ${SETMYSQL} == "ON" || ${SETPGSQL} == "ON"
866 SFARG+=         -DAPQ=true
867 SETAPQ=         ON
868 .else
869 SFARG+=         -DAPQ=false
870 .endif
871
872 BUILDDATE!=     date "+%y%m%d"
873 SFARG+=         -DREADLINE=true
874 SFARG+=         -DBDB=true
875 SFARG+=         -DconfigbuildDate=\"${BUILDDATE}\"
876 SFARG+=         -Dconfigreleased=true
877
878 # Currently Ada is only available for x86, so we can assume the following
879 SF_ARCH=                ${ARCH_STANDARD:S/x86_64/athlon64/}
880 SF_CPU_FLAG=            -march
881