2018-12-27 16:15:22 +01:00
|
|
|
# $NetBSD: Makefile,v 1.18 2018/12/27 15:15:22 joerg Exp $
|
2014-12-30 16:39:51 +01:00
|
|
|
|
2018-06-08 20:38:29 +02:00
|
|
|
DISTNAME= qore-0.8.13.5
|
2014-12-30 16:39:51 +01:00
|
|
|
CATEGORIES= lang
|
2016-07-20 13:58:40 +02:00
|
|
|
MASTER_SITES= ${MASTER_SITE_GITHUB:=qorelanguage/}
|
2014-12-30 16:39:51 +01:00
|
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
|
2016-07-20 13:58:40 +02:00
|
|
|
GITHUB_RELEASE= release-${PKGVERSION_NOREV}
|
|
|
|
|
2016-08-07 12:12:58 +02:00
|
|
|
MAINTAINER= nros@NetBSD.org
|
2018-06-08 20:38:29 +02:00
|
|
|
COMMENT= Embeddable multithreaded scripting language
|
2014-12-30 16:39:51 +01:00
|
|
|
HOMEPAGE= http://www.qore.org/
|
|
|
|
LICENSE= gnu-gpl-v2 OR gnu-lgpl-v2.1 OR mit
|
|
|
|
|
|
|
|
GNU_CONFIGURE= yes
|
|
|
|
USE_LIBTOOL= yes
|
2016-07-25 23:56:04 +02:00
|
|
|
USE_TOOLS+= bash bison flex gmake pax
|
2016-07-22 12:34:45 +02:00
|
|
|
USE_LANGUAGES= c c99 c++
|
2014-12-30 16:39:51 +01:00
|
|
|
PTHREAD_OPTS+= native
|
|
|
|
FLEX_REQD= 2.5.31
|
|
|
|
|
|
|
|
PKGCONFIG_OVERRIDE+= qore.pc.in
|
Updated lang/qore to version 0.8.13.
New features in Qore:
* Input/Output stream APIs
* Vastly improved type system with complex type support
* Improved operators; list, string, binary slice operators,
the ".." range operator, improved new, cast<>, and instanceof
operators, lazy evaluation of functional and list operators
* Improved encryption support including AES encryption,
encryption/decryption streams, support for AAD and MACs
* Improved HTTPS and SSL security support with addition X.509
certificate support including automatic certificate
verification in client and server contexts
* Universal connection API
* Support for binding output placeholder buffers for result sets
that return an SQLStatement object for more efficient piecewise
processing of DB stored procedure/function calls that return
very large result sets
* Strong encapsulation support (ex: private:internal)
* Deterministic garbage collection performance improvements with
large cycles
* Debugging support and APIs including remote network debugging
* Language Server Protocol support for Qore in the new astparser
module for rich language support in IDEs such as the
Visual Studio Code Qore Extension
Bug Fixes in Qore:
* fixed a bug causing AbstractQuantifiedBidirectionalIterator not
being available (issue 968)
* BulkSqlUtil module fixes:
-fixed the module to work properly even with DB drivers that
do not support parameter array binding (issue 1154)
* CsvUtil module fixes:
-fixed a bug in an error message validating input data
(issue 1062)
-added an exception when detected headers do not match the
fields option (issue 2179)
* HttpServer module fixes:
-added logic to attempt to mask passwords in log messages
(issue 1086)
* HttpServerUtil module fixes:
-fixed a bug where the msg arg to AbstractAuthenticator::do401()
was ignored (issue 1047)
* RestHandler module fixes:
-added logic to allow sensitive data to be masked in log messages
(issue 1086)
* SqlUtil module fixes:
-fixed a bug in update and upsert statement generation when the
given data does not have enough columns to use the unique index
found, an error message is generated that contains all the
columns names instead of just the column names required by the
index (issue 1013)
* WebSocketClient module fixes:
-fixed a thread lock starvation race condition (issue 2130)
* UTF-16 fixes:
-fixed a bug comparing strings in UTF-16 encodings (issue 1579)
-fixed Qore::substr() and <string>::substr() with strings in
UTF-16 encodings (issue 1586)
-fixed Qore::trim(), Qore::ltrim(), Qore::rtrim() and the trim
operator with strings with UTF-16 encodings (issue 1775)
* fixed a bug where break and continue statements were accepted
outside of loops (issue 976)
* fixed a bug compiling on Solaris SPARC with g++ where
MPFR_DECL_INIT() is compiled incorrectly with -O1 or greater
(issue 958)
* fixed a bug causing an infinite loop in decompression functions
(issue 966)
* fixed an issue where an internal C++ API
(QoreProgram::parseCmdLineDefines()) performed a needless copy
of a data structure (issue 1099)
* fixed a stack corruption bug with asynchronous I/O on UNIX
systems with ReadOnlyFile methods (issue 1106)
* fixed bugs with inconsistent conversions of int, float, and
boolean values to date/time values, now they are all converted
uniformly to relative date/time values (issue 1156)
* fixed a bug where Qore allowed code to be declared both public
and private without a warning (issue 1187)
* fixed a bug where the instanceof operator would return True with
objects that did not publically inherit the given class or where
the given class is not accessible (issue 1191)
* fixed a bug in qpp support of the 'final' class flag (issue 1222)
* fixed a bug where the + operator provided access to private
members from outside the class (issue 1209)
* fixed a bug where different overloaded method variant resolution
rules were used at parse time (best match in hierarchy) and
runtime (best match in first matching class) in a class hierarchy
(issue 1229)
* fixed a bug where exceptions in base class constructor calls did
not reflect the actual source location (issue 1230)
* fixed a bug where runtime function/method variant matching was
incorrectly biased towards default matches for missing arguments
(issue 1231)
* fixed bugs where calls to Socket::upgradeClientToSSL() and
Socket::upgradeServerToSSL() were ignored with no exception
thrown if the socket was not connected (issue 1258)
* fixed a bug where a closure created in an object scope could not be
called if the object had been deleted, even if the closure did not
refer to the object (issue 1303)
* fixed a bug where ord() would return negative numbers for bytes
with the high bit set with compilers where char is the same as
signed char (issue 1385)
* fixed a bug where int(number) returned rounded value instead of the
integer part (while int(float) behaved correctly; also
cf. initializing a softint value from a number vs. from a float)
(issue 1463)
* File::read() now uses character semantics for the length argument
(issue 1548)
* fixed a bug with strongly-typed lvalue assignments with classes
created in different Program objects (issue 1551)
* fixed a bug where an ASCII string and the same string in a different
encoding and with diacritics could incorrectly be marked as equal
(issue 1579)
* fixed bugs in HTTPClient methods where string message bodies were
not converted to the object's character encoding before transmission
(issue 1813)
* fixed a bug in the reference and *reference assignment restrictions;
previously any value was accepted, now only references are accepted
as the initial assignment values (issue 1819)
* fixed a bug in handling the SqlUtil::BLOB type in the FreetdsSqlUtil
module (issue 1852)
* fixed a bug in overloaded call variant matching where missing
arguments were counted towards the match (issue 1897)
* fixed many bugs where parse-time errors could be reported at an
incorrect source location; parse-time error location reporting has
been completely overhauled and reimplemented for correctness
(issue 1930)
* fixed a bug where code signatures would accept parameter variables
without "$" signs even when %allow-bare-refs was not in effect
(issue 1941)
* fixed memory leaks in the scanner related to EOF conditions
(issue 1976)
* rewrote Qore functions gethostbyname(), gethostbyname_long() and
gethostbyaddr() to use standard C functions getaddrinfo(3) and
getnameinfo(3) internally instead of the deprecated gethostbyname(3)
and gethostbyaddr(3) (issue 1952)
* fixed cmake builds on Darwin (issue 1980)
* fixed a bug where immediate date-time values were not marked with
their type at parse time (issue 2001)
* fixed a bug where the *data type restriction would allow all types
to be assigned at runtime (issue 2002)
* Qore::RangeIterator::constructor(int) and Qore::xrange(int) were
updated; the second arguments were removed to avoid ambiguity with
the other overloaded variants (issue 2016)
* fixed a bug where Qore::replace() could get in an infinite loop
with arguments with embededed nulls (issue 2098)
* fixed a bug in regular expression extraction where an infinite loop
could occur (issue 2083)
* fixed a bug where a call reference to an object method that crosses
Program boundaries could result in a core dump when called due to an
error managing thread-local data (issue 2145)
* fixed crashes in scanner due to EOF in comments (issue 2175)
2017-10-12 20:17:46 +02:00
|
|
|
REPLACE_QORE= bin/qdbg bin/qdbg-remote bin/qdbg-server
|
|
|
|
REPLACE_QORE+= bin/qget bin/rest bin/schema-reverse
|
2017-06-13 21:23:31 +02:00
|
|
|
REPLACE_QORE+= bin/sfrest bin/sqlutil doxygen/qdx
|
2014-12-30 16:39:51 +01:00
|
|
|
|
2018-12-27 16:15:22 +01:00
|
|
|
CONFIGURE_ARGS+=--with-libsuffix="" --disable-single-compilation-unit
|
2016-07-20 13:58:40 +02:00
|
|
|
|
2014-12-30 16:39:51 +01:00
|
|
|
#This is needed in order to comply the with MIT license and binary distribution
|
|
|
|
#Install docs
|
|
|
|
licensedir= share/doc/qore/license
|
|
|
|
INSTALLATION_DIRS+= ${licensedir}
|
|
|
|
post-install:
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING.GPL ${DESTDIR}${PREFIX}/${licensedir}
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING.LGPL ${DESTDIR}${PREFIX}/${licensedir}
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING.MIT ${DESTDIR}${PREFIX}/${licensedir}
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/README-LICENSE ${DESTDIR}${PREFIX}/${licensedir}
|
|
|
|
cd ${WRKSRC}/docs/ && ${PAX} -wr * ${DESTDIR}${PREFIX}/share/doc/qore
|
|
|
|
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/share/doc/qore
|
|
|
|
|
|
|
|
.include "application.mk"
|
|
|
|
.include "options.mk"
|
|
|
|
|
|
|
|
.include "../../archivers/bzip2/buildlink3.mk"
|
|
|
|
.include "../../converters/libiconv/buildlink3.mk"
|
|
|
|
.include "../../devel/pcre/buildlink3.mk"
|
|
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.include "../../math/mpfr/buildlink3.mk"
|
|
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|