From bae42e64f202982c0a647b4965be92b0656769d3 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Tue, 7 Nov 2023 13:08:00 +0100 Subject: [PATCH] iverilog: update to 12.0. --- ...e-scripts-to-work-with-autoconf-2.70.patch | 307 ------------------ .../iverilog/patches/format-security.patch | 14 + srcpkgs/iverilog/patches/lxt2.patch | 15 - srcpkgs/iverilog/template | 6 +- 4 files changed, 17 insertions(+), 325 deletions(-) delete mode 100644 srcpkgs/iverilog/patches/0001-Fix-configure-scripts-to-work-with-autoconf-2.70.patch create mode 100644 srcpkgs/iverilog/patches/format-security.patch delete mode 100644 srcpkgs/iverilog/patches/lxt2.patch diff --git a/srcpkgs/iverilog/patches/0001-Fix-configure-scripts-to-work-with-autoconf-2.70.patch b/srcpkgs/iverilog/patches/0001-Fix-configure-scripts-to-work-with-autoconf-2.70.patch deleted file mode 100644 index b35a6da6593..00000000000 --- a/srcpkgs/iverilog/patches/0001-Fix-configure-scripts-to-work-with-autoconf-2.70.patch +++ /dev/null @@ -1,307 +0,0 @@ -From 4b3e1099e5517333dd690ba948bce1236466a395 Mon Sep 17 00:00:00 2001 -From: Martin Whitaker -Date: Fri, 1 Jan 2021 18:42:01 +0000 -Subject: Fix configure scripts to work with autoconf 2.70. - -Numerous deprecated features have now become obsolete. Mostly done by -running autoupdate, but that left a few fixes to be done manually. - -This includes the latest version of AX_PROG_CC_FOR_BUILD from -https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html ---- - INSTALL | 5 ++-- - Makefile.in | 2 +- - README.txt | 2 +- - aclocal.m4 | 57 ++++++++++++++++++++++-------------- - configure.in => configure.ac | 45 +++++++++++++--------------- - 5 files changed, 59 insertions(+), 52 deletions(-) - rename configure.in => configure.ac (87%) - -diff --git a/INSTALL b/INSTALL -index a2c8722c..95b40376 100644 ---- a/INSTALL -+++ b/INSTALL -@@ -19,8 +19,8 @@ diffs or instructions to the address given in the `README' so they can - be considered for the next release. If at some point `config.cache' - contains results you don't want to keep, you may remove or edit it. - -- The file `configure.in' is used to create `configure' by a program --called `autoconf'. You only need `configure.in' if you want to change -+ The file `configure.ac' is used to create `configure' by a program -+called `autoconf'. You only need `configure.ac' if you want to change - it or regenerate `configure' using a newer version of `autoconf'. - - The simplest way to compile this package is: -@@ -178,4 +178,3 @@ operates. - script, and exit. - - `configure' also accepts some other, not widely useful, options. -- -diff --git a/Makefile.in b/Makefile.in -index 97459337..90ecadeb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -202,7 +202,7 @@ stamp-_pli_types-h: $(srcdir)/_pli_types.h.in config.status - ./config.status _pli_types.h - _pli_types.h: stamp-_pli_types-h - --$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 -+$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 - cd $(srcdir) && autoconf - - config.status: $(srcdir)/configure -diff --git a/README.txt b/README.txt -index 26533ebc..d04dab88 100644 ---- a/README.txt -+++ b/README.txt -@@ -72,7 +72,7 @@ If you are building from git, you will also need software to generate - the configure scripts. - - - autoconf 2.53 or later -- This generates configure scripts from configure.in. The 2.53 -+ This generates configure scripts from configure.ac. The 2.53 - or later versions are known to work, autoconf 2.13 is - reported to *not* work. - -diff --git a/aclocal.m4 b/aclocal.m4 -index 1b2dd6a1..5fcc7cbf 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -6,7 +6,7 @@ - # different builds. Remember to change the default suffix string to some - # value appropriate for the current version. - AC_DEFUN([AX_ENABLE_SUFFIX], --[AC_ARG_ENABLE([suffix],[AC_HELP_STRING([--enable-suffix], -+[AC_ARG_ENABLE([suffix],[AS_HELP_STRING([--enable-suffix], - [Use/set the installation command suffix])], - [true],[enable_suffix=no]) - if test X$enable_suffix = Xyes; then -@@ -250,7 +250,7 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta - ]) #_AC_AM_CONFIG_HEADER_HOOK - - # =========================================================================== --# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html -+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html - # =========================================================================== - # - # SYNOPSIS -@@ -283,31 +283,35 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta - # and this notice are preserved. This file is offered as-is, without any - # warranty. - --#serial 8 -+#serial 18 - - AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) - AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_PROG_CPP])dnl --AC_REQUIRE([AC_EXEEXT])dnl --AC_REQUIRE([AC_CANONICAL_HOST])dnl -+AC_REQUIRE([AC_CANONICAL_BUILD])dnl - - dnl Use the standard macros, but make them use other variable names - dnl - pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl -+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl - pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl - pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl - pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl - pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl -+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl - pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl - pushdef([ac_cv_objext], ac_cv_build_objext)dnl - pushdef([ac_exeext], ac_build_exeext)dnl - pushdef([ac_objext], ac_build_objext)dnl - pushdef([CC], CC_FOR_BUILD)dnl - pushdef([CPP], CPP_FOR_BUILD)dnl -+pushdef([GCC], GCC_FOR_BUILD)dnl - pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl - pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl -+pushdef([EXEEXT], BUILD_EXEEXT)dnl - pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl -+pushdef([OBJEXT], BUILD_OBJEXT)dnl - pushdef([host], build)dnl - pushdef([host_alias], build_alias)dnl - pushdef([host_cpu], build_cpu)dnl -@@ -318,27 +322,29 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl - pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl - pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl - pushdef([ac_cv_host_os], ac_cv_build_os)dnl --pushdef([ac_cpp], ac_build_cpp)dnl --pushdef([ac_compile], ac_build_compile)dnl --pushdef([ac_link], ac_build_link)dnl -+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl -+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl -+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl -+pushdef([cross_compiling], cross_compiling_build)dnl - --save_cross_compiling=$cross_compiling --save_ac_tool_prefix=$ac_tool_prefix --cross_compiling=no --ac_tool_prefix= -+cross_compiling_build=no - -+ac_build_tool_prefix= -+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], -+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) -+ -+AC_LANG_PUSH([C]) - AC_PROG_CC -+_AC_COMPILER_EXEEXT -+_AC_COMPILER_OBJEXT - AC_PROG_CPP --AC_EXEEXT -- --ac_tool_prefix=$save_ac_tool_prefix --cross_compiling=$save_cross_compiling - - dnl Restore the old definitions - dnl --popdef([ac_link])dnl --popdef([ac_compile])dnl --popdef([ac_cpp])dnl -+popdef([cross_compiling])dnl -+popdef([am_cv_prog_cc_c_o])dnl -+popdef([am_cv_CC_dependencies_compiler_type])dnl -+popdef([ac_tool_prefix])dnl - popdef([ac_cv_host_os])dnl - popdef([ac_cv_host_vendor])dnl - popdef([ac_cv_host_cpu])dnl -@@ -349,29 +355,36 @@ popdef([host_vendor])dnl - popdef([host_cpu])dnl - popdef([host_alias])dnl - popdef([host])dnl -+popdef([OBJEXT])dnl - popdef([LDFLAGS])dnl -+popdef([EXEEXT])dnl - popdef([CPPFLAGS])dnl - popdef([CFLAGS])dnl -+popdef([GCC])dnl - popdef([CPP])dnl - popdef([CC])dnl - popdef([ac_objext])dnl - popdef([ac_exeext])dnl - popdef([ac_cv_objext])dnl - popdef([ac_cv_exeext])dnl -+popdef([ac_cv_c_compiler_gnu])dnl - popdef([ac_cv_prog_cc_g])dnl - popdef([ac_cv_prog_cc_cross])dnl - popdef([ac_cv_prog_cc_works])dnl -+popdef([ac_cv_prog_cc_c89])dnl - popdef([ac_cv_prog_gcc])dnl - popdef([ac_cv_prog_CPP])dnl - -+dnl restore global variables ac_ext, ac_cpp, ac_compile, -+dnl ac_link, ac_compiler_gnu (dependant on the current -+dnl language after popping): -+AC_LANG_POP([C]) -+ - dnl Finally, set Makefile variables - dnl --BUILD_EXEEXT=$ac_build_exeext --BUILD_OBJEXT=$ac_build_objext - AC_SUBST(BUILD_EXEEXT)dnl - AC_SUBST(BUILD_OBJEXT)dnl - AC_SUBST([CFLAGS_FOR_BUILD])dnl - AC_SUBST([CPPFLAGS_FOR_BUILD])dnl - AC_SUBST([LDFLAGS_FOR_BUILD])dnl - ]) -- -diff --git a/configure.in b/configure.ac -similarity index 87% -rename from configure.in -rename to configure.ac -index 83e0fe50..8913fb74 100644 ---- a/configure.in -+++ b/configure.ac -@@ -1,21 +1,19 @@ - dnl Process this file with autoconf to produce a configure script. --AC_INIT(netlist.h) --AC_CONFIG_HEADER(config.h) --AC_CONFIG_HEADER(_pli_types.h) --AC_CONFIG_HEADER(vhdlpp/vhdlpp_config.h) --AC_CONFIG_HEADER(vvp/config.h) --AC_CONFIG_HEADER(vpi/vpi_config.h) --AC_CONFIG_HEADER(libveriuser/config.h) --AC_CONFIG_HEADER(tgt-vvp/vvp_config.h) --AC_CONFIG_HEADER(tgt-vhdl/vhdl_config.h) --AC_CONFIG_HEADER(tgt-pcb/pcb_config.h) -+AC_INIT -+AC_CONFIG_SRCDIR([netlist.h]) -+AC_CONFIG_HEADERS([config.h]) -+AC_CONFIG_HEADERS([_pli_types.h]) -+AC_CONFIG_HEADERS([vhdlpp/vhdlpp_config.h]) -+AC_CONFIG_HEADERS([vvp/config.h]) -+AC_CONFIG_HEADERS([vpi/vpi_config.h]) -+AC_CONFIG_HEADERS([libveriuser/config.h]) -+AC_CONFIG_HEADERS([tgt-vvp/vvp_config.h]) -+AC_CONFIG_HEADERS([tgt-vhdl/vhdl_config.h]) -+AC_CONFIG_HEADERS([tgt-pcb/pcb_config.h]) - - AC_CANONICAL_HOST - dnl Checks for programs. - AC_PROG_CC --# AC_PROG_CC_C99 is only available in autoconf version 2.60 and later. --AC_PREREQ([2.60]) --AC_PROG_CC_C99 - AC_PROG_CXX - AC_PROG_RANLIB - AC_CHECK_TOOL(LD, ld, false) -@@ -92,7 +90,7 @@ fi - - AC_LANG(C++) - --AC_ARG_WITH([m32], [AC_HELP_STRING([--with-m32], [Compile 32-bit on x86_64])], -+AC_ARG_WITH([m32], [AS_HELP_STRING([--with-m32],[Compile 32-bit on x86_64])], - [ with_m32=yes ],[ with_m32=no ]) - - AS_IF( [test "x$with_m32" = xyes], -@@ -170,8 +168,7 @@ AC_FUNC_ALLOCA - AC_FUNC_FSEEKO - - # valgrind checks --AC_ARG_WITH([valgrind], [AC_HELP_STRING([--with-valgrind], -- [Add valgrind hooks])], -+AC_ARG_WITH([valgrind], [AS_HELP_STRING([--with-valgrind],[Add valgrind hooks])], - [], [check_valgrind=yes]) - - AS_IF([test "x$check_valgrind" = xyes], -@@ -182,14 +179,11 @@ AS_IF([test "x$check_valgrind" = xyes], - [AC_MSG_ERROR([Could not find ])])]) - - AC_MSG_CHECKING(for sys/times) --AC_TRY_LINK( --#include -+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include - #include --,{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}, --do_times=yes --AC_DEFINE([HAVE_TIMES], [1], [The times system call is available in the host operating system.]), --do_times=no --) -+]], [[{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}]])],[do_times=yes -+AC_DEFINE(HAVE_TIMES, 1, The times system call is available in the host operating system.)],[do_times=no -+]) - AC_MSG_RESULT($do_times) - - # -- -@@ -262,7 +256,7 @@ AC_CHECK_FUNCS(fopen64) - # The following math functions may be defined in the math library so look - # in the default libraries first and then look in -lm for them. On some - # systems we may need to use the compiler in C99 mode to get a definition. --# We requested C99 mode earlier with AC_PROG_CC_C99. -+# Modern versions of autoconf will enable C99 if it is available. - AC_SEARCH_LIBS([lround], [m], [AC_DEFINE([HAVE_LROUND], [1])]) - AC_SEARCH_LIBS([llround], [m], [AC_DEFINE([HAVE_LLROUND], [1])]) - AC_SEARCH_LIBS([nan], [m], [AC_DEFINE([HAVE_NAN], [1])]) -@@ -337,4 +331,5 @@ AC_MSG_ERROR(cannot configure white space in libdir: $libdir) - fi - AC_MSG_RESULT(ok) - AX_PROG_CC_FOR_BUILD --AC_OUTPUT(Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile) -+AC_CONFIG_FILES([Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile]) -+AC_OUTPUT --- -2.20.1 - diff --git a/srcpkgs/iverilog/patches/format-security.patch b/srcpkgs/iverilog/patches/format-security.patch new file mode 100644 index 00000000000..07593c3bc6f --- /dev/null +++ b/srcpkgs/iverilog/patches/format-security.patch @@ -0,0 +1,14 @@ +diff --git a/pform_package.cc b/pform_package.cc +index 856f8c1..3006ab5 100644 +--- a/pform_package.cc ++++ b/pform_package.cc +@@ -62,7 +62,7 @@ void pform_end_package_declaration(const struct vlltype&loc) + ostringstream msg; + msg << "error: Package " << use_name << " was already declared here: " + << test->second->get_fileline() << ends; +- VLerror(loc, msg.str().c_str()); ++ VLerror(loc, "%s", msg.str().c_str()); + } + + + diff --git a/srcpkgs/iverilog/patches/lxt2.patch b/srcpkgs/iverilog/patches/lxt2.patch deleted file mode 100644 index 73193969d3b..00000000000 --- a/srcpkgs/iverilog/patches/lxt2.patch +++ /dev/null @@ -1,15 +0,0 @@ -vcd_work_terminate() calls pthread_join() on a static thread. -Do not call vcd_work_terminate() in close_dumpfile() because it was already -called before, leading to a second call to pthread_join() on the same pthread, -which is undefined behaviour. - ---- a/vpi/sys_lxt2.c 2020-05-13 00:25:45.070186668 +0200 -+++ b/vpi/sys_lxt2.c 2020-05-13 00:26:09.721185704 +0200 -@@ -472,7 +472,6 @@ - - static void *close_dumpfile(void) - { -- vcd_work_terminate(); - lxt2_wr_close(dump_file); - dump_file = NULL; - return NULL; diff --git a/srcpkgs/iverilog/template b/srcpkgs/iverilog/template index 0234067b3e7..a0b8aa81107 100644 --- a/srcpkgs/iverilog/template +++ b/srcpkgs/iverilog/template @@ -1,6 +1,6 @@ # Template file for 'iverilog' pkgname=iverilog -version=11.0 +version=12.0 revision=1 build_style=gnu-configure hostmakedepends="automake flex gperf" @@ -8,9 +8,9 @@ makedepends="readline-devel zlib-devel" short_desc="Verilog simulation and synthesis tool" maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.1-or-later" -homepage="http://iverilog.icarus.com/" +homepage="https://steveicarus.github.io/iverilog/" distfiles="https://github.com/steveicarus/iverilog/archive/v${version/./_}.tar.gz" -checksum=6327fb900e66b46803d928b7ca439409a0dc32731d82143b20387be0833f1c95 +checksum=a68cb1ef7c017ef090ebedb2bc3e39ef90ecc70a3400afb4aa94303bc3beaa7d nocross="draw_tt.exe: cannot execute binary file: Exec format error"