diff options
author | marino <marino@FreeBSD.org> | 2015-11-23 07:46:51 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2015-11-23 07:46:51 +0800 |
commit | a0bed58cd71475664a99f6da29927406b375958b (patch) | |
tree | 614b71e920807ee6ee7eca7e06678cff5818794b /devel | |
parent | 7b902faa1d808f22799a9475919d9f73cc1683ed (diff) | |
download | freebsd-ports-gnome-a0bed58cd71475664a99f6da29927406b375958b.tar.gz freebsd-ports-gnome-a0bed58cd71475664a99f6da29927406b375958b.tar.zst freebsd-ports-gnome-a0bed58cd71475664a99f6da29927406b375958b.zip |
Add new port: devel/ada-util (Ada Utility Library)
This Ada05 library contains various utility packages for building
Ada05 applications. This includes:
o A logging framework close to Java log4j framework
o Support for properties
o A serialization/deserialization framework for XML, JSON, CSV
o Ada beans framework
o Encoding/decoding framework (Base16, Base64, SHA, HMAC-SHA)
o A composing stream framework (raw, files, buffers, pipes, sockets)
o Several concurrency tools (reference counters, counters, pools,
fifos, arrays)
o Process creation and pipes
o Support for loading shared libraries (on Windows or Unix)
o HTTP client library on top of CURL or AWS
Ada Util also provides a small test utility library on top of
Ahven to help in writing unit tests.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/ada-util/Makefile | 43 | ||||
-rw-r--r-- | devel/ada-util/distinfo | 2 | ||||
-rw-r--r-- | devel/ada-util/files/patch-support_utilgen.c | 50 | ||||
-rw-r--r-- | devel/ada-util/pkg-descr | 21 | ||||
-rw-r--r-- | devel/ada-util/pkg-plist | 295 |
6 files changed, 412 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 26f1b30c7493..448068a30467 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -50,6 +50,7 @@ SUBDIR += ace+tao-doc SUBDIR += acme SUBDIR += activitymail + SUBDIR += ada-util SUBDIR += adabooch SUBDIR += adacurses SUBDIR += adime diff --git a/devel/ada-util/Makefile b/devel/ada-util/Makefile new file mode 100644 index 000000000000..0e5b6d92d452 --- /dev/null +++ b/devel/ada-util/Makefile @@ -0,0 +1,43 @@ +# Created by: John Marino <marino@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= ada-util +PORTVERSION= 1.8.0 +CATEGORIES= devel + +MAINTAINER= marino@FreeBSD.org +COMMENT= Utility library for Ada 2005 applications + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= gprbuild:${PORTSDIR}/devel/gprbuild \ + xmlada>=4.4:${PORTSDIR}/textproc/xmlada \ + ${LOCALBASE}/lib/gnat/ahven.gpr:${PORTSDIR}/devel/ahven +LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl + +USES= ada gmake +USE_GITHUB= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-ahven +CONFIGURE_ENV= ac_cv_lib_dl_dlopen=no +LDFLAGS= -L${LOCALBASE}/lib + +GH_ACCOUNT= stcarrez +GH_TAGNAME= b6612400 + +post-patch: + @${REINPLACE_CMD} -e 's,freebsd\*,dragonfly*|freebsd*,' \ + -e "s/^NR_CPUS=.*/NR_CPUS=${MAKE_JOBS_NUMBER}/" \ + ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|@prefix@|$${DESTDIR}@prefix@|' \ + -e '/GPRINSTALL/ \ + s|--prefix|--project-subdir=lib/gnat --prefix|' \ + ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} -e '/Content_Type/d' \ + ${WRKSRC}/src/http/util-http-rest.adb + +post-install: + ${RM} -r ${STAGEDIR}${PREFIX}/lib/gnat/manifests + +.include <bsd.port.mk> diff --git a/devel/ada-util/distinfo b/devel/ada-util/distinfo new file mode 100644 index 000000000000..6ecf6e0cdb05 --- /dev/null +++ b/devel/ada-util/distinfo @@ -0,0 +1,2 @@ +SHA256 (stcarrez-ada-util-1.8.0-b6612400_GH0.tar.gz) = e49fc4da1726726bfea27e03c05b9161bc65d86d5a6509bff611adff3a8a21f4 +SIZE (stcarrez-ada-util-1.8.0-b6612400_GH0.tar.gz) = 345837 diff --git a/devel/ada-util/files/patch-support_utilgen.c b/devel/ada-util/files/patch-support_utilgen.c new file mode 100644 index 000000000000..02253a38ee73 --- /dev/null +++ b/devel/ada-util/files/patch-support_utilgen.c @@ -0,0 +1,50 @@ +--- support/utilgen.c.orig 2015-10-11 18:41:42 UTC ++++ support/utilgen.c +@@ -18,6 +18,7 @@ + # define _LARGEFILE64_SOURCE + #endif + #include <stdio.h> ++#include <string.h> + #include <unistd.h> + #include <fcntl.h> + #include <sys/types.h> +@@ -181,6 +182,39 @@ void gen_stat(void) + printf(" end record;\n"); + printf(" pragma Convention (C_Pass_By_Copy, Stat_Type);\n"); + printf("\n"); ++#elif defined(__DragonFly__) ++ struct stat st; ++ ++ gen_type("uint16_t", UNSIGNED, sizeof(uint16_t)); ++ gen_type("u_int32_t", UNSIGNED, sizeof(u_int32_t)); ++ gen_type("int32_t", SIGNED, sizeof(int32_t)); ++ gen_type("int64_t", SIGNED, sizeof(int64_t)); ++ ++ printf(" STAT_NAME : constant String := \"stat\";\n"); ++ printf(" FSTAT_NAME : constant String := \"fstat\";\n"); ++ printf(" type Stat_Type is record\n"); ++ printf(" st_ino : ino_t;\n"); ++ printf(" st_nlink : nlink_t;\n"); ++ printf(" st_dev : dev_t;\n"); ++ printf(" st_mode : mode_t;\n"); ++ printf(" st_padding1 : uint16_t;\n"); ++ printf(" st_uid : uid_t;\n"); ++ printf(" st_gid : gid_t;\n"); ++ printf(" st_rdev : dev_t;\n"); ++ printf(" st_atim : Timespec;\n"); ++ printf(" st_mtim : Timespec;\n"); ++ printf(" st_ctim : Timespec;\n"); ++ printf(" st_size : off_t;\n"); ++ printf(" st_blocks : int64_t;\n"); ++ printf(" st_blksize : u_int32_t;\n"); ++ printf(" st_flags : u_int32_t;\n"); ++ printf(" st_gen : u_int32_t;\n"); ++ printf(" st_lspare : int32_t;\n"); ++ printf(" st_qspare1 : int64_t;\n"); ++ printf(" st_qspare2 : int64_t;\n"); ++ printf(" end record;\n"); ++ printf(" pragma Convention (C_Pass_By_Copy, Stat_Type);\n"); ++ printf("\n"); + #elif defined(__FreeBSD__) + struct stat st; + diff --git a/devel/ada-util/pkg-descr b/devel/ada-util/pkg-descr new file mode 100644 index 000000000000..a698b35e2a1d --- /dev/null +++ b/devel/ada-util/pkg-descr @@ -0,0 +1,21 @@ +Ada Utility Library + +This Ada05 library contains various utility packages for building +Ada05 applications. This includes: + + o A logging framework close to Java log4j framework + o Support for properties + o A serialization/deserialization framework for XML, JSON, CSV + o Ada beans framework + o Encoding/decoding framework (Base16, Base64, SHA, HMAC-SHA) + o A composing stream framework (raw, files, buffers, pipes, sockets) + o Several concurrency tools (reference counters, counters, pools, + fifos, arrays) + o Process creation and pipes + o Support for loading shared libraries (on Windows or Unix) + o HTTP client library on top of CURL or AWS + +Ada Util also provides a small test utility library on top of +Ahven to help in writing unit tests. + +WWW: https://github.com/stcarrez/ada-util/wiki diff --git a/devel/ada-util/pkg-plist b/devel/ada-util/pkg-plist new file mode 100644 index 000000000000..0e394cd9c5a2 --- /dev/null +++ b/devel/ada-util/pkg-plist @@ -0,0 +1,295 @@ +include/util.static/util-algorithms.ads +include/util.static/util-beans-basic-lists.adb +include/util.static/util-beans-basic-lists.ads +include/util.static/util-beans-basic-ranges.adb +include/util.static/util-beans-basic-ranges.ads +include/util.static/util-beans-basic.ads +include/util.static/util-beans-factory.ads +include/util.static/util-beans-lists-strings.ads +include/util.static/util-beans-lists.ads +include/util.static/util-beans-methods.ads +include/util.static/util-beans-objects-datasets.ads +include/util.static/util-beans-objects-enums.adb +include/util.static/util-beans-objects-enums.ads +include/util.static/util-beans-objects-hash.ads +include/util.static/util-beans-objects-lists.ads +include/util.static/util-beans-objects-maps.ads +include/util.static/util-beans-objects-pairs.ads +include/util.static/util-beans-objects-records.adb +include/util.static/util-beans-objects-records.ads +include/util.static/util-beans-objects-time.ads +include/util.static/util-beans-objects-to_access.adb +include/util.static/util-beans-objects-to_access.ads +include/util.static/util-beans-objects-vectors.ads +include/util.static/util-beans-objects.ads +include/util.static/util-beans-ranges.ads +include/util.static/util-beans.ads +include/util.static/util-concurrent-arrays.adb +include/util.static/util-concurrent-arrays.ads +include/util.static/util-concurrent-copies.adb +include/util.static/util-concurrent-copies.ads +include/util.static/util-concurrent-counters.adb +include/util.static/util-concurrent-counters.ads +include/util.static/util-concurrent-fifos.adb +include/util.static/util-concurrent-fifos.ads +include/util.static/util-concurrent-locks.ads +include/util.static/util-concurrent-pools.adb +include/util.static/util-concurrent-pools.ads +include/util.static/util-concurrent.ads +include/util.static/util-dates-formats.ads +include/util.static/util-dates-iso8601.ads +include/util.static/util-dates-rfc7231.ads +include/util.static/util-dates.ads +include/util.static/util-encoders-base16.adb +include/util.static/util-encoders-base16.ads +include/util.static/util-encoders-base64.ads +include/util.static/util-encoders-hmac-sha1.ads +include/util.static/util-encoders-hmac.ads +include/util.static/util-encoders-sha1.ads +include/util.static/util-encoders.ads +include/util.static/util-events-channels.ads +include/util.static/util-events.ads +include/util.static/util-files.ads +include/util.static/util-http-clients-mockups.ads +include/util.static/util-http-clients.ads +include/util.static/util-http-cookies.ads +include/util.static/util-http-mockups.ads +include/util.static/util-http-parts.ads +include/util.static/util-http-rest-rest_get_vector.adb +include/util.static/util-http-rest-rest_get_vector.ads +include/util.static/util-http-rest.adb +include/util.static/util-http-rest.ads +include/util.static/util-http-tools.ads +include/util.static/util-http.ads +include/util.static/util-listeners-lifecycles.adb +include/util.static/util-listeners-lifecycles.ads +include/util.static/util-listeners-observers.adb +include/util.static/util-listeners-observers.ads +include/util.static/util-listeners.ads +include/util.static/util-locales.ads +include/util.static/util-log-appenders.ads +include/util.static/util-log-loggers-traceback-gnat.adb +include/util.static/util-log-loggers.ads +include/util.static/util-log.ads +include/util.static/util-measures.ads +include/util.static/util-processes-os.ads +include/util.static/util-processes.ads +include/util.static/util-properties-basic.ads +include/util.static/util-properties-bundles.ads +include/util.static/util-properties-discrete.adb +include/util.static/util-properties-discrete.ads +include/util.static/util-properties-factories.ads +include/util.static/util-properties-hash.ads +include/util.static/util-properties-json.ads +include/util.static/util-properties.ads +include/util.static/util-refs.adb +include/util.static/util-refs.ads +include/util.static/util-serialize-contexts.ads +include/util.static/util-serialize-io-csv.ads +include/util.static/util-serialize-io-json.ads +include/util.static/util-serialize-io-xml-get_location-xmlada-4.adb +include/util.static/util-serialize-io-xml.ads +include/util.static/util-serialize-io.ads +include/util.static/util-serialize-mappers-record_mapper.adb +include/util.static/util-serialize-mappers-record_mapper.ads +include/util.static/util-serialize-mappers-vector_mapper.adb +include/util.static/util-serialize-mappers-vector_mapper.ads +include/util.static/util-serialize-mappers.ads +include/util.static/util-serialize-tools.ads +include/util.static/util-serialize.ads +include/util.static/util-stacks.adb +include/util.static/util-stacks.ads +include/util.static/util-streams-buffered.ads +include/util.static/util-streams-files.ads +include/util.static/util-streams-pipes.ads +include/util.static/util-streams-raw.ads +include/util.static/util-streams-sockets.ads +include/util.static/util-streams-texts.ads +include/util.static/util-streams.ads +include/util.static/util-strings-builders-transforms.ads +include/util.static/util-strings-builders.ads +include/util.static/util-strings-maps.ads +include/util.static/util-strings-sets.ads +include/util.static/util-strings-tokenizers.ads +include/util.static/util-strings-transforms.ads +include/util.static/util-strings-vectors.ads +include/util.static/util-strings.adb +include/util.static/util-strings.ads +include/util.static/util-systems-constants.ads +include/util.static/util-systems-dlls.ads +include/util.static/util-systems-os.ads +include/util.static/util-systems-types.ads +include/util.static/util-systems.ads +include/util.static/util-texts-builders.adb +include/util.static/util-texts-builders.ads +include/util.static/util-texts-formats.adb +include/util.static/util-texts-formats.ads +include/util.static/util-texts-tokenizers.adb +include/util.static/util-texts-tokenizers.ads +include/util.static/util-texts-transforms.adb +include/util.static/util-texts-transforms.ads +include/util.static/util-texts.ads +include/util.static/util.ads +include/util_http_curl.static/util-http-clients-curl-constants.ads +include/util_http_curl.static/util-http-clients-curl.ads +include/util_unit.static/ahven-astrings.ads +include/util_unit.static/ahven-framework.adb +include/util_unit.static/ahven-framework.ads +include/util_unit.static/ahven-listeners-basic.ads +include/util_unit.static/ahven-listeners.ads +include/util_unit.static/ahven-long_astrings.ads +include/util_unit.static/ahven-parameters.ads +include/util_unit.static/ahven-results.ads +include/util_unit.static/ahven-runner.ads +include/util_unit.static/ahven-slist.adb +include/util_unit.static/ahven-slist.ads +include/util_unit.static/ahven-tap_runner.ads +include/util_unit.static/ahven-temporary_output.ads +include/util_unit.static/ahven-text_runner.ads +include/util_unit.static/ahven-xml_runner.ads +include/util_unit.static/ahven.adb +include/util_unit.static/ahven.ads +include/util_unit.static/ahven_compat.ads +include/util_unit.static/util-assertions.adb +include/util_unit.static/util-assertions.ads +include/util_unit.static/util-test_caller.adb +include/util_unit.static/util-test_caller.ads +include/util_unit.static/util-tests-servers.ads +include/util_unit.static/util-tests.adb +include/util_unit.static/util-tests.ads +include/util_unit.static/util-xunit.adb +include/util_unit.static/util-xunit.ads +lib/gnat/util.gpr +lib/gnat/util_http.gpr +lib/gnat/util_http_curl.gpr +lib/gnat/util_unit.gpr +lib/util.static/libada_util.a +lib/util.static/util-algorithms.ali +lib/util.static/util-beans-basic-lists.ali +lib/util.static/util-beans-basic-ranges.ali +lib/util.static/util-beans-basic.ali +lib/util.static/util-beans-factory.ali +lib/util.static/util-beans-lists-strings.ali +lib/util.static/util-beans-lists.ali +lib/util.static/util-beans-methods.ali +lib/util.static/util-beans-objects-datasets.ali +lib/util.static/util-beans-objects-enums.ali +lib/util.static/util-beans-objects-hash.ali +lib/util.static/util-beans-objects-lists.ali +lib/util.static/util-beans-objects-maps.ali +lib/util.static/util-beans-objects-pairs.ali +lib/util.static/util-beans-objects-records.ali +lib/util.static/util-beans-objects-time.ali +lib/util.static/util-beans-objects-to_access.ali +lib/util.static/util-beans-objects-vectors.ali +lib/util.static/util-beans-objects.ali +lib/util.static/util-beans-ranges.ali +lib/util.static/util-beans.ali +lib/util.static/util-concurrent-arrays.ali +lib/util.static/util-concurrent-copies.ali +lib/util.static/util-concurrent-counters.ali +lib/util.static/util-concurrent-fifos.ali +lib/util.static/util-concurrent-locks.ali +lib/util.static/util-concurrent-pools.ali +lib/util.static/util-concurrent.ali +lib/util.static/util-dates-formats.ali +lib/util.static/util-dates-iso8601.ali +lib/util.static/util-dates-rfc7231.ali +lib/util.static/util-dates.ali +lib/util.static/util-encoders-base16.ali +lib/util.static/util-encoders-base64.ali +lib/util.static/util-encoders-hmac-sha1.ali +lib/util.static/util-encoders-hmac.ali +lib/util.static/util-encoders-sha1.ali +lib/util.static/util-encoders.ali +lib/util.static/util-events-channels.ali +lib/util.static/util-events.ali +lib/util.static/util-files.ali +lib/util.static/util-http-clients-mockups.ali +lib/util.static/util-http-clients.ali +lib/util.static/util-http-cookies.ali +lib/util.static/util-http-mockups.ali +lib/util.static/util-http-parts.ali +lib/util.static/util-http-rest-rest_get_vector.ali +lib/util.static/util-http-rest.ali +lib/util.static/util-http-tools.ali +lib/util.static/util-http.ali +lib/util.static/util-listeners-lifecycles.ali +lib/util.static/util-listeners-observers.ali +lib/util.static/util-listeners.ali +lib/util.static/util-locales.ali +lib/util.static/util-log-appenders.ali +lib/util.static/util-log-loggers.ali +lib/util.static/util-log.ali +lib/util.static/util-measures.ali +lib/util.static/util-processes-os.ali +lib/util.static/util-processes.ali +lib/util.static/util-properties-basic.ali +lib/util.static/util-properties-bundles.ali +lib/util.static/util-properties-discrete.ali +lib/util.static/util-properties-factories.ali +lib/util.static/util-properties-hash.ali +lib/util.static/util-properties-json.ali +lib/util.static/util-properties.ali +lib/util.static/util-refs.ali +lib/util.static/util-serialize-contexts.ali +lib/util.static/util-serialize-io-csv.ali +lib/util.static/util-serialize-io-json.ali +lib/util.static/util-serialize-io-xml.ali +lib/util.static/util-serialize-io.ali +lib/util.static/util-serialize-mappers-record_mapper.ali +lib/util.static/util-serialize-mappers-vector_mapper.ali +lib/util.static/util-serialize-mappers.ali +lib/util.static/util-serialize-tools.ali +lib/util.static/util-serialize.ali +lib/util.static/util-stacks.ali +lib/util.static/util-streams-buffered.ali +lib/util.static/util-streams-files.ali +lib/util.static/util-streams-pipes.ali +lib/util.static/util-streams-raw.ali +lib/util.static/util-streams-sockets.ali +lib/util.static/util-streams-texts.ali +lib/util.static/util-streams.ali +lib/util.static/util-strings-builders-transforms.ali +lib/util.static/util-strings-builders.ali +lib/util.static/util-strings-maps.ali +lib/util.static/util-strings-sets.ali +lib/util.static/util-strings-tokenizers.ali +lib/util.static/util-strings-transforms.ali +lib/util.static/util-strings-vectors.ali +lib/util.static/util-strings.ali +lib/util.static/util-systems-constants.ali +lib/util.static/util-systems-dlls.ali +lib/util.static/util-systems-os.ali +lib/util.static/util-systems-types.ali +lib/util.static/util-systems.ali +lib/util.static/util-texts-builders.ali +lib/util.static/util-texts-formats.ali +lib/util.static/util-texts-tokenizers.ali +lib/util.static/util-texts-transforms.ali +lib/util.static/util-texts.ali +lib/util.static/util.ali +lib/util_http_curl.static/libada_util_curl.a +lib/util_http_curl.static/util-http-clients-curl-constants.ali +lib/util_http_curl.static/util-http-clients-curl.ali +lib/util_unit.static/ahven-astrings.ali +lib/util_unit.static/ahven-framework.ali +lib/util_unit.static/ahven-listeners-basic.ali +lib/util_unit.static/ahven-listeners.ali +lib/util_unit.static/ahven-long_astrings.ali +lib/util_unit.static/ahven-parameters.ali +lib/util_unit.static/ahven-results.ali +lib/util_unit.static/ahven-runner.ali +lib/util_unit.static/ahven-slist.ali +lib/util_unit.static/ahven-tap_runner.ali +lib/util_unit.static/ahven-temporary_output.ali +lib/util_unit.static/ahven-text_runner.ali +lib/util_unit.static/ahven-xml_runner.ali +lib/util_unit.static/ahven.ali +lib/util_unit.static/ahven_compat.ali +lib/util_unit.static/libada_util_unit.a +lib/util_unit.static/util-assertions.ali +lib/util_unit.static/util-test_caller.ali +lib/util_unit.static/util-tests-servers.ali +lib/util_unit.static/util-tests.ali +lib/util_unit.static/util-xunit.ali |