# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= florist VERSION= 2017 REVISION= 2 KEYWORDS= devel ada VARIANTS= standard SDESC[standard]= POSIX Ada binding, IEEE Standards 1003.5(b,c) HOMEPAGE= none CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= http://downloads.dragonlace.net/src/ DISTFILE[1]= florist-gpl-2017-src.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BROKEN[linux]= missing various type definition headers USES= gprbuild gmake DISTNAME= florist-gpl-2017-src LICENSE= GPLv2+:single LICENSE_TERMS= single:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2+:{{WRKSRC}}/COPYING LICENSE_AWK= TERMS:"^$$" LICENSE_SOURCE= TERMS:{{WRKSRC}}/libsrc/posix.adb LICENSE_SCHEME= solo MUST_CONFIGURE= gnu CONFIGURE_ARGS= --enable-shared INSTALL_REQ_TOOLCHAIN= yes post-extract: if [ "${OPSYS}" != "FreeBSD" ]; then \ cd ${WRKSRC}/configs && \ ${CP} pconfig.FreeBSD pconfig.${OPSYS}; \ fi [FILE:597:descriptions/desc.single] Florist was produced by students and faculty of the Florida State University Department of Computer Science, under contract to the US Department of Defense, Defense Information Systems Agency, as a product of the POSIX Ada Real-Time (PART) Project. When the contract was completed, in 1999, FSU turned maintenance of Florist over to Ada Core Technologies, Inc.). The latest and most complete free version is available from Adacore. FLORIST is an implementation of the IEEE Standards 1003.5: 1992, IEEE STD 1003.5b: 1996, and parts of IEEE STD 1003.5c: 1998, also known as the POSIX Ada Bindings. [FILE:106:distinfo] 086dd9c027ce4e8630967c99c45e3e280bebbb98d122a04f8e5232808d7d4295 291583 florist-gpl-2017-src.tar.gz [FILE:5235:manifests/plist.single] include/florist/ ada_streams.ads ada_task_identification.ads config.h pconfig.h posix-asynchronous_io.adb posix-asynchronous_io.ads posix-c.adb posix-c.ads posix-calendar.adb posix-calendar.ads posix-condition_variables.adb posix-condition_variables.ads posix-configurable_file_limits.adb posix-configurable_file_limits.ads posix-configurable_system_limits.adb posix-configurable_system_limits.ads posix-error_codes.ads posix-file_locking.adb posix-file_locking.ads posix-file_status-extensions.adb posix-file_status-extensions.ads posix-file_status.adb posix-file_status.ads posix-files.adb posix-files.ads posix-generic_shared_memory.adb posix-generic_shared_memory.ads posix-group_database.adb posix-group_database.ads posix-implementation-ok_signals.ads posix-implementation.adb posix-implementation.ads posix-io.adb posix-io.ads posix-limits.ads posix-macros-sockets.c posix-macros.c posix-memory_locking.adb posix-memory_locking.ads posix-memory_mapping.adb posix-memory_mapping.ads posix-memory_range_locking.adb posix-memory_range_locking.ads posix-message_queues.adb posix-message_queues.ads posix-mutexes.adb posix-mutexes.ads posix-options.ads posix-page_alignment.adb posix-page_alignment.ads posix-permissions-implementation.adb posix-permissions-implementation.ads posix-permissions.adb posix-permissions.ads posix-process_environment.adb posix-process_environment.ads posix-process_identification.adb posix-process_identification.ads posix-process_primitives.adb posix-process_primitives.ads posix-process_scheduling.adb posix-process_scheduling.ads posix-process_times.adb posix-process_times.ads posix-semaphores.adb posix-semaphores.ads posix-shared_memory_objects.adb posix-shared_memory_objects.ads posix-signals.adb posix-signals.ads posix-supplement_to_ada_io.adb posix-supplement_to_ada_io.ads posix-terminal_functions.adb posix-terminal_functions.ads posix-timers-extensions.adb posix-timers-extensions.ads posix-timers.adb posix-timers.ads posix-unsafe_process_primitives.adb posix-unsafe_process_primitives.ads posix-user_database.adb posix-user_database.ads posix.adb posix.ads posix_asynchronous_io.ads posix_c.ads posix_calendar.ads posix_condition_variables.ads posix_configurable_file_limits.ads posix_configurable_system_limits.ads posix_error_codes.ads posix_file_locking.ads posix_file_status.ads posix_files.ads posix_generic_shared_memory.ads posix_group_database.ads posix_io.ads posix_limits.ads posix_memory_locking.ads posix_memory_mapping.ads posix_memory_range_locking.ads posix_message_queues.ads posix_mutexes.ads posix_options.ads posix_page_alignment.ads posix_permissions.ads posix_process_environment.ads posix_process_identification.ads posix_process_primitives.ads posix_process_scheduling.ads posix_process_times.ads posix_semaphores.ads posix_shared_memory_objects.ads posix_signals.ads posix_supplement_to_ada_io.ads posix_terminal_functions.ads posix_timers.ads posix_unsafe_process_primitives.ads posix_user_database.ads system_storage_elements.ads lib/florist/ ada_streams.ali ada_task_identification.ali libflorist.a posix-asynchronous_io.ali posix-c.ali posix-calendar.ali posix-condition_variables.ali posix-configurable_file_limits.ali posix-configurable_system_limits.ali posix-error_codes.ali posix-file_locking.ali posix-file_status-extensions.ali posix-file_status.ali posix-files.ali posix-generic_shared_memory.ali posix-group_database.ali posix-implementation-ok_signals.ali posix-implementation.ali posix-io.ali posix-limits.ali posix-memory_locking.ali posix-memory_mapping.ali posix-memory_range_locking.ali posix-message_queues.ali posix-mutexes.ali posix-options.ali posix-page_alignment.ali posix-permissions-implementation.ali posix-permissions.ali posix-process_environment.ali posix-process_identification.ali posix-process_primitives.ali posix-process_scheduling.ali posix-process_times.ali posix-semaphores.ali posix-shared_memory_objects.ali posix-signals.ali posix-supplement_to_ada_io.ali posix-terminal_functions.ali posix-timers-extensions.ali posix-timers.ali posix-unsafe_process_primitives.ali posix-user_database.ali posix.ali posix_asynchronous_io.ali posix_c.ali posix_calendar.ali posix_condition_variables.ali posix_configurable_file_limits.ali posix_configurable_system_limits.ali posix_error_codes.ali posix_file_locking.ali posix_file_status.ali posix_files.ali posix_generic_shared_memory.ali posix_group_database.ali posix_io.ali posix_limits.ali posix_memory_locking.ali posix_memory_mapping.ali posix_memory_range_locking.ali posix_message_queues.ali posix_mutexes.ali posix_options.ali posix_page_alignment.ali posix_permissions.ali posix_process_environment.ali posix_process_identification.ali posix_process_primitives.ali posix_process_scheduling.ali posix_process_times.ali posix_semaphores.ali posix_shared_memory_objects.ali posix_signals.ali posix_supplement_to_ada_io.ali posix_terminal_functions.ali posix_timers.ali posix_unsafe_process_primitives.ali posix_user_database.ali system_storage_elements.ali share/gpr/florist.gpr [FILE:605:patches/patch-Makefile.in] --- Makefile.in.orig 2017-05-16 10:40:58 UTC +++ Makefile.in @@ -171,7 +171,11 @@ distclean: clean # install floristlib # make all files read-only to prevent recompilation install: - gprinstall -Pflorist $(PROJECT_FLAGS) -a -p -f --prefix=$(PREFIX) --sources-subdir=floristlib --lib-subdir=floristlib --link-lib-subdir=floristlib - chmod a-w $(PREFIX)/floristlib/* + gprinstall -p -Pflorist $(PROJECT_FLAGS) -a -f \ + --no-manifests \ + --prefix=$(DESTDIR)$(PREFIX) \ + --sources-subdir=include/florist \ + --lib-subdir=lib/florist \ + .PHONY: all install clean distclean regen floristlib force [FILE:678:patches/patch-c-posix-signals.c] --- c-posix-signals.c.orig 2015-04-30 10:20:43 UTC +++ c-posix-signals.c @@ -468,9 +468,9 @@ int guess_nsigs () { */ #if defined(__APPLE__) -# define BADSIG (0) +# define FLOR_BADSIG (0) #else -# define BADSIG (-1) +# define FLOR_BADSIG (-1) #endif sigset_t set; @@ -484,7 +484,7 @@ int guess_nsigs () { result = sigismember (&set, sig); if (result == 1) { last_good = sig; - } else if ((result == BADSIG) && (first_bad == -1)) { + } else if ((result == FLOR_BADSIG) && (first_bad == -1)) { if (sig == 0) { fprintf (stderr, "WARNING: C library problem? " "sigfillset does not include zero\n"); [FILE:1555:patches/patch-c-posix.c] --- c-posix.c.orig 2015-04-30 10:20:43 UTC +++ c-posix.c @@ -721,6 +721,25 @@ typedef struct siginfo { /* sigevent must precede aiocb */ +#if defined(__DragonFly__) +/* + * union _sigev_info { + * int sigev_signo; + * int sigev_notify_kqueue; + * void *sigev_notify_attributes; + * }; + * sizeof(union _sigev_info) = sizeof(int) + * Use "int" rather than fooling with union + * For simplicity, The Ada part is only going to list sigev_signo + * as the other two elements of the union are unused. + */ + GT1(sigevent, 1) + GT2(sigev_notify, int) + GT2(sigev_signo, int) + GT2(sigev_value, union sigval) + GT2(sigev_notify_function, void (*)(union sigval)) + GT3 +#else /* __DragonFly__ */ #ifdef HAVE_struct_sigevent GT1(sigevent, 1) #else @@ -743,6 +762,7 @@ struct sigevent { GT2(sigev_notify_attributes,pthread_attr_t *) #endif GT3 +#endif /* __DragonFly__ */ #ifdef HAVE_struct_aiocb GT1(aiocb, 1) @@ -5166,9 +5186,9 @@ void create_c() { */ #if defined(__APPLE__) -# define BADSIG 0 +# define FLOR_BADSIG 0 #else -# define BADSIG (-1) +# define FLOR_BADSIG (-1) #endif {sigset_t set; int sig; @@ -5179,7 +5199,7 @@ void create_c() { for (sig = 0; sig < 1024; sig++) { result = sigismember (&set, sig); if (result == 1) last_good = sig; - else if ((result == BADSIG) && (first_bad = -1)) first_bad = sig; + else if ((result == FLOR_BADSIG) && (first_bad = -1)) first_bad = sig; } if (last_good == 1023) printf("c-posix: WARNING: signal range estimate probably too small\n"); [FILE:1237:patches/patch-configure] --- configure.orig 2014-12-12 09:05:56 UTC +++ configure @@ -2712,7 +2712,7 @@ if test "${enable_shared+set}" = set; th { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5 $as_echo "$enableval" >&6; } if test "$enableval" = "yes"; then - LIBRARY_TYPE_OPTION="-XLIBRARY_TYPE=relocatable" + LIBRARY_TYPE_OPTION="-XLIBRARY_TYPE=static-pic" fi else @@ -2849,10 +2849,22 @@ case ${UNAME_SYSTEM} in echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; cp ./configs/pconfig.LynxOS ./pconfig.h.in; ;; + DragonFly) + echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; + cp ./configs/pconfig.DragonFly ./pconfig.h.in; + ;; FreeBSD) echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; cp ./configs/pconfig.FreeBSD ./pconfig.h.in; ;; + MidnightBSD) + echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; + cp ./configs/pconfig.MidnightBSD ./pconfig.h.in; + ;; + NetBSD) + echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; + cp ./configs/pconfig.NetBSD ./pconfig.h.in; + ;; Darwin) echo "Using Configuration for" ${UNAME_SYSTEM} ${UNAME_RELEASE}; cp ./configs/pconfig.Darwin ./pconfig.h.in; [FILE:757:patches/patch-florist.gpr] --- florist.gpr.orig 2017-05-16 10:40:58 UTC +++ florist.gpr @@ -21,7 +21,7 @@ library project Florist is Version := "1"; for Library_version use "libflorist.so." & Version; - type Library_Type_Type is ("relocatable", "static"); + type Library_Type_Type is ("relocatable", "static", "static-pic"); Library_Type : Library_Type_Type := external ("LIBRARY_TYPE", "static"); for Library_Kind use Library_Type; @@ -29,7 +29,7 @@ library project Florist is Build : Build_Type := External ("Build", "Production"); package Compiler is - GNAT_Flags := ("-O2", "-gnatpg"); + GNAT_Flags := ("-O2"); for Switches ("posix-signals.adb") use GNAT_Flags; for Switches ("posix-implementation.adb") use GNAT_Flags; [FILE:1777:patches/patch-libsrc_posix-unsafe__process__primitives.adb] --- libsrc/posix-unsafe_process_primitives.adb.orig 2017-05-16 10:40:58 UTC +++ libsrc/posix-unsafe_process_primitives.adb @@ -40,6 +40,7 @@ with POSIX.C, POSIX.Implementation, System, System.Soft_Links, + System.Secondary_Stack, Unchecked_Conversion; package body POSIX.Unsafe_Process_Primitives is @@ -88,9 +89,10 @@ package body POSIX.Unsafe_Process_Primit function Fork return POSIX.Process_Identification.Process_ID is Result : pid_t; package SSL renames System.Soft_Links; + package SST renames System.Secondary_Stack; -- save local values of soft-link data - NT_Sec_Stack_Addr : constant System.Address := - SSL.Get_Sec_Stack_Addr.all; + NT_Sec_Stack : constant SST.SS_Stack_Ptr := + SSL.Get_Sec_Stack.all; NT_Jmpbuf_Address : constant System.Address := SSL.Get_Jmpbuf_Address.all; begin @@ -106,10 +108,10 @@ package body POSIX.Unsafe_Process_Primit SSL.Unlock_Task := SSL.Task_Unlock_NT'Access; SSL.Get_Jmpbuf_Address := SSL.Get_Jmpbuf_Address_NT'Access; SSL.Set_Jmpbuf_Address := SSL.Set_Jmpbuf_Address_NT'Access; - SSL.Get_Sec_Stack_Addr := SSL.Get_Sec_Stack_Addr_NT'Access; - SSL.Set_Sec_Stack_Addr := SSL.Set_Sec_Stack_Addr_NT'Access; + SSL.Get_Sec_Stack := SSL.Get_Sec_Stack_NT'Access; + SSL.Set_Sec_Stack := SSL.Set_Sec_Stack_NT'Access; -- reset global data to saved local values for this thread - SSL.Set_Sec_Stack_Addr (NT_Sec_Stack_Addr); + SSL.Set_Sec_Stack (NT_Sec_Stack); SSL.Set_Jmpbuf_Address (NT_Jmpbuf_Address); end if; return To_Process_ID (Result); [FILE:256:patches/patch-libsrc_threads_posix-signals.ads] --- libsrc/threads/posix-signals.ads.orig 2017-05-16 10:40:58 UTC +++ libsrc/threads/posix-signals.ads @@ -36,7 +36,6 @@ with Ada.Task_Identification, Ada.Finalization, - POSIX, POSIX.C, POSIX.Process_Identification, System,