This package would normally use bison-yacc and flex, but the files it
needs come pre-generated in the distfile. So flex and bison-yacc aren't
actually used, and linking against the library can cause the build to
fail with unresolved symbols.
major fixes to the pkgsrc package:
* Libraries can now be enable/disabled properly.
* Using a proper Java buildlink.
* Fixed dependencies for the Java and Perl library builds.
* Passing the Python prefix now for proper installation.
* Patched the Ruby library to support DESTDIR and prefer the vendor dir.
* Explicitly install the C# library, as the Makefile won't do it.
Changelog for 0.6.1:
* .keystore and .truststore are missing from the 0.6.0 distribution
* C# JSON Protocol is unable to decode escaped characters in string
* Maven Deploy
* Deploy fb303 along side libthrift to maven repo
* Java and JavaScript tutorial is broken since we have Java maven deployment
Changes since version 0.5.0:
- THRIFT-1002: CodeStyle: t_c_glib_generator.cc (Anatol Pomozov)
- THRIFT-975: lib/c_glib/README is missing => breaks make dist (Michael Lum)
- THRIFT-1003: Polishing c_glib code (Anatol Pomozov)
- THRIFT-582: C implementation of Thrift (Anatol Pomozov)
- THRIFT-992: Naming convention in C# constructor is not consistent with
other fields causes compile errors (Roger Meier)
- THRIFT-904: Disable nagle and linger
- THRIFT-977: Hex Conversion Bug in C++ TJSONProtocol (Aravind Narayanan)
- THRIFT-922: Templatized [de]serialization code for C++ (David Reiss)
- THRIFT-923: Event-driven client and server support for C++ (David Reiss)
- THRIFT-925: Provide name<->value map for enums in C++ (David Reiss)
- THRIFT-926: Miscellaneous C++ improvements (David Reiss)
- THRIFT-928: Make more statistics available in C++ servers (David Reiss)
- THRIFT-929: Improvements to the C++ test suite (David Reiss)
- THRIFT-868: Referencing constant values doesn't work with with typedef
types (David Reiss)
- THRIFT-1006: Impossible to correctly qualify an enum constant in an
external thrift file (Bryan Duxbury)
- THRIFT-932: Haskell Haskell tests need to be run through 'make check' (and probably 'cabal check') too (Christian Lavoie)
- THRIFT-933: Haskell Haskell's Thrift.cabal has warnings (Christian Lavoie)
- THRIFT-943: Haskell Silly readme typo fix. (Christian Lavoie)
- THRIFT-944: Haskell Support all version-4s of base (Christian Lavoie)
- THRIFT-950: Haskell Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). (Christian Lavoie)
- THRIFT-1009: Java TUnion does not correctly deep copy a ByteBuffer (Takashi Yonebayashi)
- THRIFT-1013: Java generated java code may have name clashes with thrift library (Peter Schuller)
- THRIFT-1015: Java TUnion does not handle ByteBuffer in toString (Takashi Yonebayashi)
- THRIFT-1038: Java Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable (Mathias Herberts)
- THRIFT-106: Java TSSLServerSocket (Nirmal Ranganathan)
- THRIFT-377: Java TFileTransport port in Java (Joydeep Sen Sarma)
- THRIFT-745: Java Make it easier to instantiate servers (Bryan Duxbury)
- THRIFT-862: Java Async client issues / improvements (Ning Liang)
- THRIFT-903: Java custom ThreadFactory in THsHaServer (Bryan Duxbury)
- THRIFT-939: Java optional binary fields throw NPE on default byte[] getters (Bryan Duxbury)
- THRIFT-947: Java Provide a helper method to determine the TProtocol used to serialize some data. (Mathias Herberts)
- THRIFT-951: Java Add a new isServing() method to TServer (Bryan Duxbury)
- THRIFT-957: Java THsHaServer: Change access modifier of the invoker field. (Benjamin Coverston)
- THRIFT-958: Java Change accessmodifer on trans_ field in the FrameBuffer class to public. (Benjamin Coverston)
- THRIFT-959: Java TSocket seems to do its own buffering inefficiently (Bryan Duxbury)
- THRIFT-970: Java Under heavy load, THttpClient may fail with "too many open files" (Mathias Herberts)
- THRIFT-971: Java java module can't be compiled without ivy and network connection (Roger Meier)
- JavaScript: TestSuite using ant/ivy and Java's ServerTestBase Handler (Roger Meier)
- THRIFT-1005: Java Give unions byte[] signature methods to go along with their ByteBuffer counterparts (Bryan Duxbury)
- THRIFT-1008: Java byte[] accessors throw NPE on unset field (Bryan Duxbury)
- THRIFT-517: Java TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes (Bryan Duxbury)
- THRIFT-946: Java Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields. (Mathias Herberts)
- THRIFT-949: Java Modify the TEnum interface so it defines a method similar to findByValue (Mathias Herberts)
- THRIFT-960: Java add TestServer, TestNonblockingServer and TestClient again (Roger Meier)
- THRIFT-969: Java Java Tutorial broken, move CalculatorHandler to a separate file (Roger Meier)
- THRIFT-1051: Java Fix compiler issue for java 1.5
- THRIFT-807: JavaScript JavaScript: Initialization of Base Types with 0 instead of null (Roger Meier)
- THRIFT-913: JavaScript Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh (Roger Meier)
- THRIFT-961: JavaScript
- THRIFT-1033: JavaScript Node.js support (Wade Simmons)
- THRIFT-1042: JavaScript Node.js Fix TApplicationException.read Patch (Wade Simmons)
- THRIFT-1043: JavaScript Node.js Fix how the length of a map is calculated
- THRIFT-1044: JavaScript Fix JavaScript inheritance Patch (Wade Simmons)
- THRIFT-71: Misc Debian packaging for thrift (Roger Meier)
- THRIFT-1020: OCaml OCaml compiler generates invalid OCaml (Richard Low)
- THRIFT-347: PHP PHP TSocket Timeout Issues (Tyler Hobbs)
- THRIFT-924: PHP Fix generated php structure constants (David Reiss)
- THRIFT-927: PHP Add option to modify the PHP include path (David Reiss)
- THRIFT-935: PHP PHP Extension aborts the build if php-config is not installed (David Reiss)
- THRIFT-941: PHP Make PHP C Extension use the defined Protocol writeMessageBegin function (Chris Goffinet)
- THRIFT-955: PHP Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms (Roger Meier)
- THRIFT-979: Ruby ruby bindings used to work on jruby (Jeff Hodges)
- THRIFT-581: Test Suite Add a testsuite for txThrift (Twisted) (Esteve Fernandez)
- THRIFT-1024: Tutorial Add Python Twisted example to the Tutorial (Roger Meier)
- THRIFT-893: Tutorial add JavaScript to the tutorial examples (Roger Meier)
Changes in version 0.5.0
THRIFT-505 Build Make configure give a summary of the enabled components (David Reiss)
THRIFT-506 Build Allow Thrift to be built without the C++ library (David Reiss)
THRIFT-844 Build Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg)
THRIFT-850 Build Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum)
THRIFT-854 Build Provide configure option and make rules to build/install php extension (Anthony Molinaro)
THRIFT-858 Build Have bootstrap.sh check for a suitable autoconf version before running (David Reiss)
THRIFT-871 Build Thrift compiler for WIndows (binary distribution) (David Reiss)
THRIFT-323 C# TJSONProtocol (Roger Meier)
THRIFT-634 C# C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar)
THRIFT-881 C# add csharp to the tutorial (Roger Meier)
THRIFT-856 C++ Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke)
THRIFT-865 C++ C++ compiler build depends on libfl even when flex/lex not detected (David Reiss)
THRIFT-900 C++ Unix domain socket (Roger Meier)
THRIFT-920 C++ C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier)
THRIFT-567 C++ Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert)
THRIFT-756 C++ Exposing TSocket(int) constructor to public (Rajat Goel)
THRIFT-798 C++ TNonblockingServer leaks resources when destroyed (David Reiss)
THRIFT-812 C++, Python Demo of Thrift over ZeroMQ (David Reiss)
THRIFT-629 Cocoa Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar)
THRIFT-838 Cocoa Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard)
THRIFT-805 Cocoa Don't generate process_XXXX methods for oneway methods (Brad Taylor)
THRIFT-507 Compiler Remove the compiler's dependency on Boost (David Reiss)
THRIFT-895 Compiler (General) Thrift compiler does not allow two different enumerations to have the same key name for one of the enum values (David Reiss)
THRIFT-852 Compiler (General) Missing newline causes many compiler warnings (Anthony Molinaro)
THRIFT-877 Compiler (General) smalltalk namespace doesn't work (Bruce Lowekamp)
THRIFT-897 Compiler (General) Don't allow unqualified constant access to enum values (Bryan Duxbury)
THRIFT-9 Compiler (General) Add a default namespace declaration for all languages (David Reiss)
THRIFT-599 Erlang Don't use unnecessary processes in the Erlang transports and clients (David Reiss)
THRIFT-646 Erlang Erlang library is missing install target (David Reiss)
THRIFT-698 Erlang Generated module list should contain atoms, not strings (Anthony Molinaro)
THRIFT-866 Erlang term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro)
THRIFT-886 Erlang Dialyzer warning (Anthony Molinaro)
THRIFT-785 Erlang Framed transport server problems (Anthony Molinaro)
THRIFT-884 HTML HTML Generator: add Key attribute to the Data Types Tables (Roger Meier)
THRIFT-652 Haskell Generated field name for strut is not capitalized correctly (Christian Lavoie)
THRIFT-743 Haskell compile error with GHC 6.12.1 (Christian Lavoie)
THRIFT-901 Haskell Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie)
THRIFT-905 Haskell Make haskell thrift bindings use automake to compile and install (Christian Lavoie)
THRIFT-906 Haskell Improve type mappings (Christian Lavoie)
THRIFT-914 Haskell Make haskell bindings 'easily' compilable (Christian Lavoie)
THRIFT-918 Haskell Make haskell tests run again (Christian Lavoie)
THRIFT-919 Haskell Update Haskell bindings README (Christian Lavoie)
THRIFT-787 Haskell Enums are not read correctly (Christian Lavoie)
THRIFT-250 Java ExecutorService as a constructor parameter for TServer (Ed Ceaser)
THRIFT-693 Java Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury)
THRIFT-843 Java TNonblockingSocket connects without a timeout (Bryan Duxbury)
THRIFT-845 Java async client does not respect timeout (Ning Liang)
THRIFT-870 Java Java constants don't get Javadoc comments (Bryan Duxbury)
THRIFT-873 Java Java tests fail due to Too many open files (Todd Lipcon)
THRIFT-876 Java Add SASL support (Aaron T. Myers)
THRIFT-879 Java Remove @Override from TUnion.clear (Dave Engberg)
THRIFT-882 Java deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury)
THRIFT-888 Java async client should also have nonblocking connect (Eric Jensen)
THRIFT-890 Java Java tutorial doesn't work (Todd Lipcon)
THRIFT-894 Java Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury)
THRIFT-896 Java TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen)
THRIFT-907 Java libfb303 doesn't compile in 0.4.0 (Todd Lipcon)
THRIFT-912 Java Improvements and bug fixes to SASL implementation (Todd Lipcon)
THRIFT-917 Java THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser)
THRIFT-931 Java Use log4j for Java tests (Todd Lipcon)
THRIFT-880 JavaME JavaME code generator and runtime library (Dave Engberg)
THRIFT-846 JavaScript JavaScript Test Framwork: extended Testcases (Roger Meier)
THRIFT-885 JavaScript Url encoded strings never get decoded? How do we fix this? (T Jake Luciani)
THRIFT-911 JavaScript (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani)
THRIFT-860 OCaml copy method and reset method (Lev Walkin)
THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
THRIFT-851 PHP php extension fails to compile on centos 5.x (Todd Lipcon)
THRIFT-840 Perl Perl protocol handler could be more robust against unrecognised types (Conrad Hughes)
THRIFT-758 Perl incorrect deference in exception handling (Yann Kerherve)
THRIFT-257 Python Support validation of required fields (Esteve Fernandez)
THRIFT-335 Python Compact Protocol for Python (David Reiss)
THRIFT-596 Python Make Python's TBufferedTransport use a configurable input buffer (David Reiss)
THRIFT-597 Python Python THttpServer performance improvements (David Reiss)
THRIFT-598 Python Allow Python's threading servers to use daemon threads (David Reiss)
THRIFT-666 Python Allow the handler to override HTTP responses in THttpServer (David Reiss)
THRIFT-673 Python Generated Python code has whitespace issues (Ian Eure)
THRIFT-721 Python THttpClient ignores url parameters (Thomas Kho)
THRIFT-824 Python TApplicationException.__str__() refers to class constants as globals (Peter Schuller)
THRIFT-855 Python Include optimized compiled python objects in install (Anthony Molinaro)
THRIFT-859 Python Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp)
THRIFT-869 Python TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight)
THRIFT-875 Python Include python setup.cfg in dist (Anthony Molinaro)
THRIFT-610 Ruby binary_protocol.rb segfaults [line 86] (Unassigned)
THRIFT-899 Ruby Ruby read timeouts can sometimes be 2x what they should be (Ryan King)
THRIFT-909 Ruby allow block argument to struct constructor (Michael Stockton)
THRIFT-456 Test Suite Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)
Changes in version 0.4.0
THRIFT-650 Build Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro)
THRIFT-770 Build Get 'make dist' to work without first compiling source code (Anthony Molinaro)
THRIFT-160 C# Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene)
THRIFT-834 C# THttpClient resends contents of message after transport errors (Anatoly Fayngelerin)
THRIFT-247 C++ THttpServer Transport (Unassigned)
THRIFT-676 C++ Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned)
THRIFT-570 Compiler Thrift compiler does not error when duplicate method names are present (Bruce Simpson)
THRIFT-808 Compiler Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury)
THRIFT-646 Erlang Erlang library is missing install target (Anthony Molinaro)
THRIFT-544 General multiple enums with the same key generate invalid code (Ben Taitelbaum)
THRIFT-434 General ruby compiler should warn when a reserved word is used (Michael Stockton)
THRIFT-799 General Files missing proper Apache license header (Bryan Duxbury)
THRIFT-832 HTML HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury)
THRIFT-226 Java Collections with binary keys or values break equals() (Bryan Duxbury)
THRIFT-484 Java Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury)
THRIFT-714 Java maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury)
THRIFT-751 Java Add clear() method to TBase (Bryan Duxbury)
THRIFT-765 Java Improved string encoding and decoding performance (Bryan Duxbury)
THRIFT-768 Java Async client for Java (Bryan Duxbury)
THRIFT-774 Java TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski)
THRIFT-783 Java .equals java method is broken on structs containing binary-type fields (Unassigned)
THRIFT-804 Java CompareTo is broken for unions set to map, set, or list (Bryan Duxbury)
THRIFT-814 Java Include a TServlet in the standard Thrift distribution (Mathias Herberts)
THRIFT-818 Java Async client doesn't send method args (Bryan Duxbury)
THRIFT-830 Java Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury)
THRIFT-831 Java FramedTransport implementation that reuses its buffers (Bryan Duxbury)
THRIFT-833 Java build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury)
THRIFT-836 Java Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury)
THRIFT-842 Java Upgrade to current version of commons-lang (2.5 instead of 2.4) and/or change dependency in ivy.xml to not be exact (Bryan Duxbury)
THRIFT-815 JavaScript Deserialization of lists is critically broken. (T Jake Luciani)
THRIFT-827 OCaml OCaml generator to take default values into account (Lev Walkin)
THRIFT-647 PHP PHP library is missing install target (Anthony Molinaro)
THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
THRIFT-718 PHP Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford)
THRIFT-778 PHP PHP socket listening server (Nick Jones)
THRIFT-780 PHP PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss)
THRIFT-837 PHP PHP accelerator bug for writes > 8k (Thomas Kho)
THRIFT-782 Perl Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes)
THRIFT-395 Python Python library + compiler does not support unicode strings (Unassigned)
THRIFT-133 Ruby 'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury)
THRIFT-664 Ruby Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati)
THRIFT-699 Ruby Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury)
THRIFT-767 Ruby ruby compiler does not keep comments for enum values (Bryan Duxbury)
THRIFT-811 Ruby http_client_transport.rb: allow custom http headers (Tony Kamenick)
THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly between C++, Java,
Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml.