diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-electronics/freehdl |
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-electronics/freehdl')
-rw-r--r-- | sci-electronics/freehdl/Manifest | 7 | ||||
-rw-r--r-- | sci-electronics/freehdl/files/freehdl-0.0.8-fix-c++14.patch | 507 | ||||
-rw-r--r-- | sci-electronics/freehdl/files/freehdl-0.0.8-qa.patch | 279 | ||||
-rw-r--r-- | sci-electronics/freehdl/freehdl-0.0.8.ebuild | 32 | ||||
-rw-r--r-- | sci-electronics/freehdl/metadata.xml | 24 |
5 files changed, 849 insertions, 0 deletions
diff --git a/sci-electronics/freehdl/Manifest b/sci-electronics/freehdl/Manifest new file mode 100644 index 000000000000..fffeee199555 --- /dev/null +++ b/sci-electronics/freehdl/Manifest @@ -0,0 +1,7 @@ +AUX freehdl-0.0.8-fix-c++14.patch 11726 SHA256 c4d94ca432ee390a41714d2915a471e63f9fb7bcb382d908dc6fc815f2a2e51a SHA512 f093ef9599376f5d56e6857365c931094346d0e33d61aef086e427737ac54bcb9667b154f58cb1949e55eeca1a5f8fc8351be4e1e2858a5df1abc23c01179a4b WHIRLPOOL 0ab7b10f34129e20175b96127baa4d150c70c77ec80a72fdb243eae15121ed23be56977d801e576741244bd8e58b0d117ab90003a7a186c6e8ed1e333e962c8e +AUX freehdl-0.0.8-qa.patch 10587 SHA256 bf1ed53f2b83e91e580c5300d157322cf70aeb955685fa91b1358f474efef5ff SHA512 37d4c497fc843e1d57b044782e57a3d38c579301b3ac3b9f3ee1c83f44bc707608bed82339693e09144078b97a65885eeb7e884b74276bc9261206ea35dfaa5d WHIRLPOOL 99310368d6ab75c95b971d942850f01918e1b42f759334297ade5ca04dd460dc93067a0b6564f55e0a7fd40fdb39376929c104ce2ea1512f3947a3f7be3e0bfa +DIST freehdl-0.0.8.tar.gz 1389888 SHA256 7f0978f8252329450de43e98c04c15fdd8a3f2bdc5ca91f75f8f5dd280c6ed84 SHA512 731fde1a940a762e570107819a89ac2884029e5c4f5d51e5df0032a4381fd04c7da948b5f2de6b1ce60801f6ce3a0a9123a4902e75e216a1182b25b2134f44ee WHIRLPOOL b9f496f0fdfcd8b4d3b2c4b731c2d6884760417604023c20e5c0d2f451a6883da86da8e8f935c2491d3b9d451927ce1791447303c67df05d4338795b63261a14 +EBUILD freehdl-0.0.8.ebuild 598 SHA256 2073d1a0909284f4b7b4cea9aade5b55a92484e730380438134028c17951ff57 SHA512 2ec28ecf39c6ebad74e27ee1d4ec56aba6c3a47f287a81f892c5c905516dd0ed0b641c00a4f4a6de995518519a258fefba190758b10a1942c9e966f3247c0dc9 WHIRLPOOL 11679fb51a19362e28cbcab55404414e05e433c7965f3050988569e8afcdf6512c357acd5e1fb9b27b104bdfb12aee7bc7880e75ce7ce975f45e0ac654dc5905 +MISC ChangeLog 3005 SHA256 02a8e7ca04e40b847c867de26020c39e7271a1d4f03a4150c91070ae1decfeb3 SHA512 6731d0b21ea902698c15fd3de2b9c85b12911c74fb0e8ebfb799beb71df9d87f3cba101948c7063342663e7e26a149777f2f7bae9ab78c3d8f5383453fbaaa7b WHIRLPOOL bf2131d56b74b2bfce76adc942589417ecaf2f5516e1c50b651c42813f5006dee8e7c7a7795092dceb9f4ee3fabd6f3272c8f40e44e31671d915fd71b70546d4 +MISC ChangeLog-2015 3518 SHA256 3ff7594d1a01bd808ebab637c5e1dbf0bd790ff5ded651fbc3b5992391fef7ba SHA512 2be4633abe46e16a9ddc5494b7128d531354c9cfd048a3457438bdfcd2ba335d435ddf397605520e57b440ecfaeb494ed93457b84f685597bd3aac395c1d44ee WHIRLPOOL 291a9fb56e0f48b7501e3c827242fc99e3fe1a50df67f0c12849cfb051ef36091d59b03e0c88c742eb39d5da5cdff55378e6e77ebf546f4c5c2439808f35211d +MISC metadata.xml 975 SHA256 bac7902501077c471010c7cd51ba620264cea11228dd441350b2a8e86845443b SHA512 0fcdb77cb0ae593930860cc75f1913ae522328e82f87bdeef85602b5298ede5c3abb46e7386baf86e04f0f3d396c7d18951a7bbd4b1b0d37b07df08f0bd34867 WHIRLPOOL f691a5e34d246bdc7ab561c84b381ed4b0a3189c8ced00bdda3abcd30ec227b2a4254c8ac2b7eeee2c5c1c5459d26fcdd1483cb991f63fff79f5f5b5282f78f2 diff --git a/sci-electronics/freehdl/files/freehdl-0.0.8-fix-c++14.patch b/sci-electronics/freehdl/files/freehdl-0.0.8-fix-c++14.patch new file mode 100644 index 000000000000..6da5bb1b27a1 --- /dev/null +++ b/sci-electronics/freehdl/files/freehdl-0.0.8-fix-c++14.patch @@ -0,0 +1,507 @@ +C++11 has added new types (std::hash), which get dropped into the namespace due to +awful 'using namespace std;' declarations everywhere, causing name collisions. +Instead, only drop a minimal set of declarations into the global :: namespace. +See also: https://bugs.gentoo.org/show_bug.cgi?id=594706 + +--- a/fire/test-fire.cc ++++ b/fire/test-fire.cc +@@ -2,7 +2,7 @@ + #include <stdio.h> + #include <freehdl/fire.h> + +-using namespace std; ++using std::cout; + + extern tree_chunk_info fire_chunk_info; + +--- a/freehdl/cdfggen-chunk.h ++++ b/freehdl/cdfggen-chunk.h +@@ -7,7 +7,9 @@ + #include <string> + #include <vector> + typedef enum {to, downto} cdfgg_direction; +-using namespace std; ++using std::string; ++using std::vector; ++using std::pair; + + extern tree_chunk_info cdfggen_chunk_info; + extern tree_ctype_info int_ctype_info; +--- a/freehdl/cdfggen-chunk.t ++++ b/freehdl/cdfggen-chunk.t +@@ -13,8 +13,7 @@ + (header-add "#include <freehdl/tree-supp.h>" + "#include <string>" + "#include <vector>" +- "typedef enum {to, downto} cdfgg_direction;" +- "using namespace std;") ++ "typedef enum {to, downto} cdfgg_direction;") + + (impl-add "#include <freehdl/cdfggen-chunk.h>") + +--- a/freehdl/kernel-attributes.hh ++++ b/freehdl/kernel-attributes.hh +@@ -1,6 +1,8 @@ + #ifndef FREEHDL_KERNEL_ATTRIBUTES_H + #define FREEHDL_KERNEL_ATTRIBUTES_H + ++using std::max; ++ + /* ************************************************************* + * Function kind attributes for signals + * ************************************************************* */ +--- a/freehdl/kernel-db.hh ++++ b/freehdl/kernel-db.hh +@@ -3,6 +3,8 @@ + + #include <assert.h> + ++#include <string> ++using std::string; + + /* This header file includes the definitions that are required to + * setup a kernel database. This database will be used by the kernel +@@ -254,7 +256,7 @@ + + // A hash function template used tp generate a hash number from + // d +-class db_basic_key_hash : public hash<unsigned long> { ++class db_basic_key_hash : public __gnu_cxx::hash<unsigned long> { + public: + size_t operator()(const db_basic_key& x) const { + return (*(hash<unsigned long> *)this)(((unsigned long)x.value)>>2); +--- a/freehdl/kernel-dump.hh ++++ b/freehdl/kernel-dump.hh +@@ -13,9 +13,9 @@ + #include <string> + #include <fstream> + +-using namespace std; ++using std::fstream; + +-typedef map<string, char*, less<string> > Tmap; ++typedef map<string, const char*, less<string> > Tmap; + extern Tmap mapping_translation_table; + + // For each signal which is dumped an virtual process is created. This +--- a/freehdl/kernel-fhdl-stream.hh ++++ b/freehdl/kernel-fhdl-stream.hh +@@ -9,7 +9,9 @@ + #include <string> + #include <iostream> + +-using namespace std; ++using std::istream; ++using std::ostream; ++using std::string; + + struct fhdl_ostream_t { + union { +--- a/freehdl/kernel-map-list.hh ++++ b/freehdl/kernel-map-list.hh +@@ -7,7 +7,6 @@ + #include <freehdl/kernel-acl.hh> + #include <freehdl/kernel-sig-info.hh> + +-using namespace std; + //using namespace __gnu_cxx; + + // A signal_link instance describes the connection +--- a/freehdl/kernel-name-stack.hh ++++ b/freehdl/kernel-name-stack.hh +@@ -3,7 +3,7 @@ + + #include <string> + +-using namespace std; ++using std::string; + + #define NAME_STACK_INCREMENT 10 + +--- a/freehdl/kernel-signal-source-list-array.hh ++++ b/freehdl/kernel-signal-source-list-array.hh +@@ -13,7 +13,6 @@ + #include <freehdl/kernel-util.hh> + #include <freehdl/kernel-source-descriptor.hh> + +-using namespace std; + //using namespace __gnu_cxx; + + // signal_source stores information about a source of a signal. Note +--- a/freehdl/kernel-util.hh ++++ b/freehdl/kernel-util.hh +@@ -15,7 +15,8 @@ + #include <hash_map> + #endif + +-using namespace std; ++using std::stringstream; ++using std::string; + + #if !defined __GNUC__ || __GNUC__ != 2 + using namespace __gnu_cxx; +@@ -24,7 +25,7 @@ + // A hash function template used tp generate a hash number from + // pointer values. + template<class T> +-class pointer_hash : public hash<unsigned long> { ++class pointer_hash : public __gnu_cxx::hash<unsigned long> { + public: + size_t operator()(const T& x) const { + return (*(hash<unsigned long> *)this)(((unsigned long)x)>>2); +--- a/freehdl/std.h ++++ b/freehdl/std.h +@@ -1,7 +1,6 @@ + #ifndef FREEHDL_STD_H + #define FREEHDL_STD_H + +-using namespace std; + + #include <freehdl/std-standard.hh> + #include <freehdl/std-vhdl-types.hh> +--- a/freehdl/std-vhdl-types.hh ++++ b/freehdl/std-vhdl-types.hh +@@ -6,13 +6,24 @@ + #include <float.h> + #include <math.h> + #include <iostream> ++#include <map> ++#include <list> ++#include <functional> + #include <string.h> + + #include <freehdl/std-memory.hh> + #include <freehdl/kernel-error.hh> + #include <freehdl/kernel-acl.hh> + +-using namespace std; ++using std::string; ++using std::istream; ++using std::ostream; ++using std::min; ++using std::map; ++using std::stringstream; ++using std::list; ++using std::less; ++using std::iostream; + + typedef long long int lint; + const int BUFFER_STREAM_SIZE_INCREMENT = 1024; +--- a/freehdl/vaul-lexer.h ++++ b/freehdl/vaul-lexer.h +@@ -32,7 +32,6 @@ + #include <stdarg.h> + #include <string.h> + +-using namespace std; + + #undef yyFlexLexer + #define yyFlexLexer vaul_FlexLexer +--- a/ieee/numeric_std.cc ++++ b/ieee/numeric_std.cc +@@ -2,6 +2,7 @@ + #include <freehdl/std.h> + + ++using std::max; + + /* package :ieee:numeric_std */ + /* External declarations */ +--- a/kernel/attributes.cc ++++ b/kernel/attributes.cc +@@ -5,6 +5,7 @@ + #include <freehdl/kernel-kernel-class.hh> + #include <freehdl/kernel-reader-info.hh> + #include <freehdl/kernel-driver-info.hh> ++using std::max; + #include <freehdl/kernel-attributes.hh> + + +--- a/kernel/db.cc ++++ b/kernel/db.cc +@@ -1,6 +1,5 @@ + #define KERNEL // Include internal kernel definitions + +-using namespace std; + #include <freehdl/kernel-db.hh> + + +--- a/kernel/fhdl_stream.cc ++++ b/kernel/fhdl_stream.cc +@@ -7,6 +7,9 @@ + #include <freehdl/kernel-error.hh> + #include <freehdl/kernel-fhdl-stream.hh> + ++using std::cin; ++using std::cout; ++using std::stringstream; + + // Error stream to output error messages generated by the kernel, + // e.g. to print error messages due to invalid simulator commands +--- a/kernel/kernel_class.cc ++++ b/kernel/kernel_class.cc +@@ -16,6 +16,10 @@ + #include <freehdl/kernel-resolver-descriptor.hh> + #include <freehdl/kernel-fhdl-stream.hh> + ++using std::cerr; ++using std::pair; ++using std::binary_function; ++ + // Arguments that are passed in form the command line + int main_argc; + char **main_argv; +--- a/kernel/main.cc ++++ b/kernel/main.cc +@@ -34,6 +34,15 @@ + #include <freehdl/kernel-error.hh> + #include <freehdl/kernel-fhdl-stream.hh> + ++using std::ios; ++using std::ifstream; ++using std::ofstream; ++using std::ostringstream; ++using std::cin; ++using std::cerr; ++using std::cout; ++using std::endl; ++ + #ifdef PERFMON_STATISTICS + #include "pcounter.hh" + #endif +--- a/kernel/map_list.cc ++++ b/kernel/map_list.cc +@@ -4,6 +4,8 @@ + #include <freehdl/kernel-sig-info.hh> + #include <freehdl/kernel-resolver-descriptor.hh> + ++using std::max; ++ + // Stores the father signal(s) of port signals + port_signal_link_map_t port_signal_link_map; + +--- a/kernel/name_stack.cc ++++ b/kernel/name_stack.cc +@@ -1,8 +1,10 @@ + #include <stdlib.h> + #include <stdio.h> ++#include <stack> + #include <freehdl/kernel-error.hh> + #include <freehdl/kernel-name-stack.hh> + ++using std::stack; + + name_stack instance_name; + +--- a/kernel/persistent_cdfg_dump.cc ++++ b/kernel/persistent_cdfg_dump.cc +@@ -3,6 +3,7 @@ + #include <freehdl/kernel-persistent-cdfg-dump.hh> + #include <freehdl/kernel-persistent-dump.hh> + ++using std::endl; + + buffer_stream register_cdfg_tmp_buffer; + +--- a/kernel/sig_info.cc ++++ b/kernel/sig_info.cc +@@ -1,6 +1,5 @@ + #define KERNEL // Include internal kernel definitions + +-using namespace std; + #include <freehdl/kernel-error.hh> + #include <freehdl/kernel-db.hh> + #include <freehdl/kernel-sig-info.hh> +--- a/std/internal_textio.cc ++++ b/std/internal_textio.cc +@@ -10,6 +10,10 @@ + #include <freehdl/kernel-name-stack.hh> + #include <freehdl/kernel-register.hh> + ++using std::ios; ++using std::cin; ++using std::cout; ++ + /* package :std:textio */ + + /* Definitions for access type :std:textio:line */ +--- a/std/vhdl_types.cc ++++ b/std/vhdl_types.cc +@@ -12,6 +12,9 @@ + #include <freehdl/kernel-register.hh> + + ++using std::ios; ++using std::ifstream; ++using std::ofstream; + + /* ************************************************************* + * Some global functions +--- a/v2cc/mapping.cc ++++ b/v2cc/mapping.cc +@@ -34,7 +34,12 @@ + #include <iostream> + #include <stdlib.h> + +-using namespace std; ++using std::string; ++using std::list; ++using std::map; ++using std::istream; ++using std::ifstream; ++using std::cerr; + + v2cc_mapper::v2cc_mapper () + { +--- a/v2cc/v2cc.cc ++++ b/v2cc/v2cc.cc +@@ -35,7 +35,6 @@ + + */ + +-using namespace std; + + #if HAVE_MALLOC_H + #include <malloc.h> +--- a/v2cc/v2cc-const-fold.cc ++++ b/v2cc/v2cc-const-fold.cc +@@ -16,6 +16,9 @@ + #include "v2cc-util.h" + + ++using std::cerr; ++using std::max; ++using std::min; + + // Used to generate error messages + extern vaul_error_printer codegen_error; +--- a/v2cc/v2cc-decl.cc ++++ b/v2cc/v2cc-decl.cc +@@ -13,6 +13,9 @@ + #include "mapping.h" + #include "v2cc-util.h" + ++using std::endl; ++using std::min; ++using std::max; + + void test (RegionStack &rstack) + { +--- a/v2cc/v2cc-explore.cc ++++ b/v2cc/v2cc-explore.cc +@@ -15,7 +15,6 @@ + #include "mapping.h" + #include "v2cc-util.h" + +-using namespace std; + + // Used to generate error messages + extern vaul_error_printer codegen_error; +--- a/v2cc/v2cc.h ++++ b/v2cc/v2cc.h +@@ -1,7 +1,17 @@ + #ifndef V2CC_HEADER + #define V2CC_HEADER + +-using namespace std; ++using std::vector; ++using std::list; ++using std::string; ++using std::pair; ++using std::string; ++using std::set; ++using std::less; ++using std::deque; ++using std::binary_function; ++using std::map; ++using std::binary_function; + + #include <freehdl/vaul.h> + #include "mapping.h" +--- a/v2cc/v2cc-qid.cc ++++ b/v2cc/v2cc-qid.cc +@@ -4,6 +4,7 @@ + #include "v2cc-util.h" + + ++using std::endl; + + // ****************************************************************************************** + // Name: m_qid , generic function +--- a/v2cc/v2cc-util.cc ++++ b/v2cc/v2cc-util.cc +@@ -9,6 +9,9 @@ + + #include "v2cc-util.h" + ++using std::endl; ++using std::hex; ++using std::dec; + + // ****************************************************************************************** + // Some global variables +--- a/v2cc/v2cc-util.h ++++ b/v2cc/v2cc-util.h +@@ -2,13 +2,18 @@ + #ifndef V2CC_UTIL_H + #define V2CC_UTIL_H + +-using namespace std; + + #include <sstream> + #include <iomanip> + #include <freehdl/vaul.h> + #include "v2cc-chunk.h" + ++using std::stringstream; ++using std::setprecision; ++using std::showpoint; ++using std::ofstream; ++using std::cout; ++ + // ****************************************************************************************** + // Some global variables + // ****************************************************************************************** +--- a/vaul/bison-parser.cc ++++ b/vaul/bison-parser.cc +@@ -86,7 +86,6 @@ + #include <malloc.h> + #endif + +-using namespace std; + + #define YYINITDEPTH 10000 + #define YYMAXDEPTH 100000 +--- a/vaul/bison-parser.yy ++++ b/vaul/bison-parser.yy +@@ -49,7 +49,6 @@ + #include <malloc.h> + #endif + +-using namespace std; + + #define YYINITDEPTH 10000 + #define YYMAXDEPTH 100000 +--- a/vaul/printer.cc ++++ b/vaul/printer.cc +@@ -27,7 +27,8 @@ + #include <string.h> + #include <sstream> + +-using namespace std; ++using std::ostringstream; ++using std::ostream; + + void vaul_printer::printf (const char *fmt, ...) + { +--- a/vaul/tree.cc ++++ b/vaul/tree.cc +@@ -31,7 +31,7 @@ + #include <assert.h> + #include <stdlib.h> + +-using namespace std; ++using std::ostream; + + vaul_id_set::vaul_id_set(int dummy) + { diff --git a/sci-electronics/freehdl/files/freehdl-0.0.8-qa.patch b/sci-electronics/freehdl/files/freehdl-0.0.8-qa.patch new file mode 100644 index 000000000000..d35af9f69a69 --- /dev/null +++ b/sci-electronics/freehdl/files/freehdl-0.0.8-qa.patch @@ -0,0 +1,279 @@ +Fix various QA issues: +* Use correct printf format specifiers for 'size_t' +* Fix const correctness ('char*' -> 'const char*') for C-string literals +* Correctly forward declare inline functions + +--- a/fire/test-fire.cc ++++ b/fire/test-fire.cc +@@ -24,7 +24,7 @@ + if (k->size < (size_t) N) + sizes[k->size]++; + if (k->size % 4 !=0) +- printf ("odd size: %d\n", k->size); ++ printf ("odd size: %zu\n", k->size); + } + printf ("min = %d, max = %d\n", min, max); + for (int i = min; i <= max && i < N; i+=4) +--- a/fire/tree-supp.cc ++++ b/fire/tree-supp.cc +@@ -485,7 +485,7 @@ + if (size < (size_t) N) + sizes[size]++; + if (size % 4 !=0) +- printf ("odd size: %d\n", size); ++ printf ("odd size: %zu\n", size); + } + + void +--- a/freehdl/kernel-dump.hh ++++ b/freehdl/kernel-dump.hh +@@ -42,9 +42,9 @@ + short wait_id; + // This function will return an appropriate table entry (if + // available) +- char *find_table(type_info_interface* type); ++ const char *find_table(type_info_interface* type); + //this variable is used by the read_type function +- char* translation_table; ++ const char* translation_table; + // This method is executed each time the signal value changes + bool execute(); + // Continue dumping the signal. +@@ -77,7 +77,7 @@ + extern list<signal_dump*> signal_dump_process_list; + + // Used to store the user_defined translation table types +-extern map<string, char*, less<string> > mapping_translation_table; ++extern map<string, const char*, less<string> > mapping_translation_table; + + + /****************************************************** +--- a/freehdl/kernel-fhdl-stream.hh ++++ b/freehdl/kernel-fhdl-stream.hh +@@ -29,7 +31,7 @@ + str->flush(); + } + +- fhdl_ostream_t &operator<<(char *p); ++ fhdl_ostream_t &operator<<(const char *p); + fhdl_ostream_t &operator<<(const string &a); + fhdl_ostream_t &operator<<(const int i); + fhdl_ostream_t &operator<<(const unsigned int i); +--- a/freehdl/std-vhdl-types.hh ++++ b/freehdl/std-vhdl-types.hh +@@ -607,7 +618,7 @@ + // which caused the failure or NULL otherwise. + virtual const char *read(void *dest, const char *str) = 0; + // Prints the content of src into an string stream in VCD format +- virtual void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) = 0; ++ virtual void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) = 0; + // Prints value into binary stream. Note that only the raw data but + // no type info objects are written! The method returns the number + // of bytes written to the stream. +@@ -785,7 +796,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); + const char *read(void *dest, const char *str); + + integer check(integer value) { +@@ -821,7 +832,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) {}; ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) {}; + const char *read(void *dest, const char *str); + }; + +@@ -849,7 +860,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode) {}; +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) {}; ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) {}; + const char *read(void *dest, const char *str); + }; + +@@ -879,7 +890,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); + const char *read(void *dest, const char *str); + + floatingpoint check(floatingpoint value) { +@@ -914,7 +925,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); + const char *read(void *dest, const char *str); + + enumeration check(integer value) { +@@ -954,7 +965,7 @@ + bool assign(void *dest, const void *src); + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ; ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) ; + const char *read(void *dest, const char *str); + + physical check(physical value) { +@@ -1087,7 +1098,7 @@ + bool assign(void *dest, const void *src) { return false; }; + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ; ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) ; + const char *read(void *dest, const char *str); + }; + +@@ -1230,7 +1241,7 @@ + bool assign(void *dest, const void *src) { return false; }; + void remove(void *src); + void print(buffer_stream &str, const void *src, int mode); +- void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); ++ void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); + const char *read(void *dest, const char *str); + }; + +--- a/freehdl/vaul-lexer.h ++++ b/freehdl/vaul-lexer.h +@@ -115,7 +114,7 @@ + IR_String expand_bitstring(const char *, int len); + + int LexerInput(char *buf, int max_size); +- void LexerError(char *msg); ++ void LexerError(const char *msg); + void message(char *fmt, va_list ap); + void message(vaul_yyltype &loc, char *fmt, va_list ap); + +--- a/kernel/driver_info.cc ++++ b/kernel/driver_info.cc +@@ -270,6 +270,7 @@ + + + // Creates transaction composite signals. Returns number of assigned scalars. ++inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &); + inline int + do_array_transport_assignment(driver_info &driver, const array_base &value, int first, const vtime &tr_time) + { +@@ -311,7 +312,6 @@ + assigned_scalars += do_array_transport_assignment(driver, (array_base&)value.data[j], i, tr_time); + break; + case RECORD: +- inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &); + assigned_scalars += do_record_transport_assignment(driver, (record_base&)value.data[j], i, tr_time); + break; + } +@@ -339,6 +339,7 @@ + + + // Creates transaction for composite signals. Returns number of assigned scalars. ++inline int do_record_inertial_assignment(driver_info &, const record_base &, int, const vtime &, const vtime &); + inline int + do_array_inertial_assignment(driver_info &driver, + const array_base &value, int first, +@@ -381,8 +382,6 @@ + assigned_scalars += do_array_inertial_assignment(driver, (array_base&)value.data[j], i, tr_time, rm_time); + break; + case RECORD: +- inline int do_record_inertial_assignment(driver_info &, const record_base &, int, +- const vtime &, const vtime &); + assigned_scalars += do_record_inertial_assignment(driver, (record_base&)value.data[j], i, tr_time, rm_time); + break; + } +--- a/kernel/dump.cc ++++ b/kernel/dump.cc +@@ -90,7 +90,7 @@ + + + // find_translation table +-char * ++const char * + signal_dump::find_table(type_info_interface* type) + { + switch(type->id) +--- a/kernel/fhdl_stream.cc ++++ b/kernel/fhdl_stream.cc +@@ -60,7 +63,7 @@ + } + + fhdl_ostream_t & +-fhdl_ostream_t::operator<<(char *p) ++fhdl_ostream_t::operator<<(const char *p) + { + if (!socket_connection) + *str << p; +--- a/std/vhdl_types.cc ++++ b/std/vhdl_types.cc +@@ -1013,7 +1016,7 @@ + } + + void +-integer_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ++integer_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) + { + integer op =*((integer*)src); + static char result[INTEGER_SIZE_LD + 1]; +@@ -1306,7 +1309,7 @@ + } + + void +-float_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) { ++float_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { + // should be definitly enough characters to hold a string + // representation of a double + static char rbuffer[8*sizeof(double)]; +@@ -1432,7 +1435,7 @@ + + + void +-enum_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ++enum_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) + { + if (translation_table != NULL) { + const char output = translation_table[*((enumeration*)src)]; +@@ -1583,7 +1586,7 @@ + } + + void +-physical_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) { ++physical_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { + str << *((physical*)src) << " " << units[0]; + } + +@@ -1778,7 +1781,7 @@ + } + + // Temporary VCD_Print function +-void array_info::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ++void array_info::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) + { + //str.clean(); + int length = ((array_base*)src)->info->length; +@@ -2090,7 +2093,7 @@ + + + // Temporary VCD_Print function +-void record_info::vcd_print(buffer_stream &str, const void *src, char* translation_table, bool pure) ++void record_info::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) + { + record_base &record = *(record_base*)src; + record_info &rinfo = *record.info; +--- a/vaul/lexer.cc ++++ b/vaul/lexer.cc +@@ -2075,7 +2075,7 @@ + } + + void +-vaul_lexer::LexerError (char *m) ++vaul_lexer::LexerError (const char *m) + { + if (prt) + prt->fprintf (log, "%?%s %C\n", this, m, this); diff --git a/sci-electronics/freehdl/freehdl-0.0.8.ebuild b/sci-electronics/freehdl/freehdl-0.0.8.ebuild new file mode 100644 index 000000000000..9bb8acab3f66 --- /dev/null +++ b/sci-electronics/freehdl/freehdl-0.0.8.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A free VHDL simulator" +SRC_URI="mirror://sourceforge/qucs/${P}.tar.gz" +HOMEPAGE="http://freehdl.seul.org/" +LICENSE="GPL-2" + +SLOT="0" +IUSE="" +KEYWORDS="~amd64 ~ppc ~x86" + +RDEPEND=">=dev-scheme/guile-2.0:*" +DEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-0.0.8-fix-c++14.patch" + "${FILESDIR}/${PN}-0.0.8-qa.patch" +) + +src_configure() { + econf --disable-static +} + +src_install() { + default + + # package provides .pc files + find "${D}" -name '*.la' -delete || die +} diff --git a/sci-electronics/freehdl/metadata.xml b/sci-electronics/freehdl/metadata.xml new file mode 100644 index 000000000000..cc98fb7a1eaa --- /dev/null +++ b/sci-electronics/freehdl/metadata.xml @@ -0,0 +1,24 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci-electronics@gentoo.org</email> + <name>Gentoo Electronics Project</name> + </maintainer> + <longdescription> + Free, open source, GPL'ed VHDL simulator. The project goal is to develop a + VHDL simulator that : + * Has a graphical waveform viewer. + * Has a source level debugger. + * Is VHDL-93 compliant. + * Is of commercial quality. (on par with, say, V-System - it'll take us a + while to get there, but that should be our aim) + * Is freely distributable - both source and binaries - like Linux itself. + (Under the Gnu General Public License (GPL)). + * Works with Linux. If others want to port it to other platforms they may, + but it is not the goal of this project. + </longdescription> + <upstream> + <remote-id type="sourceforge">qucs</remote-id> + </upstream> +</pkgmetadata> |