diff options
author | Huang Rui <vowstar@gmail.com> | 2020-01-30 00:23:37 +0800 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-01-30 08:33:05 +0200 |
commit | 560664303060100467ca053a94decb296da113d8 (patch) | |
tree | 70e036967fafcfde40787375727d785316f640e5 /sci-electronics/iverilog | |
parent | dev-python/lxml: Bump to 4.5.0 (diff) | |
download | gentoo-560664303060100467ca053a94decb296da113d8.tar.gz gentoo-560664303060100467ca053a94decb296da113d8.tar.bz2 gentoo-560664303060100467ca053a94decb296da113d8.zip |
sci-electronics/iverilog: fix install bug of 10.3
The upstream's Makefile used a very unusual
installation method. It may cause overwrite
installation bug.
Closes: https://bugs.gentoo.org/705412
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Huang Rui <vowstar@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'sci-electronics/iverilog')
-rw-r--r-- | sci-electronics/iverilog/files/iverilog-10.3-file-missing.patch | 191 | ||||
-rw-r--r-- | sci-electronics/iverilog/iverilog-10.3.ebuild | 4 |
2 files changed, 195 insertions, 0 deletions
diff --git a/sci-electronics/iverilog/files/iverilog-10.3-file-missing.patch b/sci-electronics/iverilog/files/iverilog-10.3-file-missing.patch new file mode 100644 index 000000000000..2232fff2296f --- /dev/null +++ b/sci-electronics/iverilog/files/iverilog-10.3-file-missing.patch @@ -0,0 +1,191 @@ +https://bugs.gentoo.org/705412 +--- a/Makefile.in ++++ b/Makefile.in +@@ -327,6 +327,7 @@ else + WIN32_INSTALL = $(bindir)/iverilog-vpi$(suffix) + endif + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(libdir)/ivl$(suffix)/include/constants.vams $(libdir)/ivl$(suffix)/include/disciplines.vams $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/sv_vpi_user.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) + install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(libdir)/ivl$(suffix)/include/constants.vams $(libdir)/ivl$(suffix)/include/disciplines.vams $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/sv_vpi_user.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) + $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true + +--- a/cadpli/Makefile.in ++++ b/cadpli/Makefile.in +@@ -79,6 +79,7 @@ endif + cadpli.vpl: $O ../vvp/libvpi.a ../libveriuser/libveriuser.o + $(CC) @shared@ $(LDFLAGS) -o $@ $O ../libveriuser/libveriuser.o $(SYSTEM_VPI_LDFLAGS) + ++.PHONY: all installdirs $(vpidir)/cadpli.vpl + install: all installdirs $(vpidir)/cadpli.vpl + + $(vpidir)/cadpli.vpl: ./cadpli.vpl +--- a/driver-vpi/Makefile.in ++++ b/driver-vpi/Makefile.in +@@ -93,6 +93,7 @@ res.o: res.rc + $(WINDRES) -i res.rc -o res.o + # + ++.PHONY: all installdirs $(bindir)/iverilog-vpi$(suffix)@EXEEXT@ + install: all installdirs $(bindir)/iverilog-vpi$(suffix)@EXEEXT@ + + $(bindir)/iverilog-vpi$(suffix)@EXEEXT@: ./iverilog-vpi@EXEEXT@ +--- a/driver/Makefile.in ++++ b/driver/Makefile.in +@@ -127,6 +127,7 @@ INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1 + INSTALL_DOCDIR = $(mandir)/man1 + endif + ++.PHONY: all installdirs $(bindir)/iverilog$(suffix)@EXEEXT@ $(INSTALL_DOC) + install: all installdirs $(bindir)/iverilog$(suffix)@EXEEXT@ $(INSTALL_DOC) + + $(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@ +--- a/ivlpp/Makefile.in ++++ b/ivlpp/Makefile.in +@@ -71,6 +71,7 @@ ivlpp@EXEEXT@: $O + lexor.c: $(srcdir)/lexor.lex + $(LEX) -t $< > $@ + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ + install: all installdirs $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@ + + $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@ +--- a/tgt-blif/Makefile.in ++++ b/tgt-blif/Makefile.in +@@ -81,6 +81,7 @@ endif + blif.tgt: $O $(TGTDEPLIBS) + $(CXX) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/blif.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/blif.conf $(libdir)/ivl$(suffix)/blif-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/blif.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/blif.conf $(libdir)/ivl$(suffix)/blif-s.conf + + $(libdir)/ivl$(suffix)/blif.tgt: ./blif.tgt +--- a/tgt-fpga/Makefile.in ++++ b/tgt-fpga/Makefile.in +@@ -100,6 +100,7 @@ INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1 + INSTALL_DOCDIR = $(mandir)/man1 + endif + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/fpga.conf $(libdir)/ivl$(suffix)/fpga-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/fpga.conf $(libdir)/ivl$(suffix)/fpga-s.conf + + $(libdir)/ivl$(suffix)/fpga.tgt: ./fpga.tgt +--- a/tgt-null/Makefile.in ++++ b/tgt-null/Makefile.in +@@ -80,6 +80,7 @@ endif + null.tgt: $O $(TGTDEPLIBS) + $(CC) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/null.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/null.conf $(libdir)/ivl$(suffix)/null-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/null.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/null.conf $(libdir)/ivl$(suffix)/null-s.conf + + $(libdir)/ivl$(suffix)/null.tgt: ./null.tgt +--- a/tgt-pal/Makefile.in ++++ b/tgt-pal/Makefile.in +@@ -79,6 +79,7 @@ endif + pal.tgt: $O $(TGTDEPLIBS) + $(CC) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) -lipal + ++.PHONY: all installdirs $(libdir)/ivl/pal.tgt + install: all installdirs $(libdir)/ivl/pal.tgt + + $(libdir)/ivl/pal.tgt: ./pal.tgt +--- a/tgt-pcb/Makefile.in ++++ b/tgt-pcb/Makefile.in +@@ -104,6 +104,7 @@ endif + pcb.tgt: $O $(TGTDEPLIBS) + $(CXX) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/pcb.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/pcb.conf $(libdir)/ivl$(suffix)/pcb-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/pcb.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/pcb.conf $(libdir)/ivl$(suffix)/pcb-s.conf + + $(libdir)/ivl$(suffix)/pcb.tgt: ./pcb.tgt +--- a/tgt-sizer/Makefile.in ++++ b/tgt-sizer/Makefile.in +@@ -80,6 +80,7 @@ endif + sizer.tgt: $O $(TGTDEPLIBS) + $(CXX) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/sizer.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/sizer.conf $(libdir)/ivl$(suffix)/sizer-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/sizer.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/sizer.conf $(libdir)/ivl$(suffix)/sizer-s.conf + + $(libdir)/ivl$(suffix)/sizer.tgt: ./sizer.tgt +--- a/tgt-stub/Makefile.in ++++ b/tgt-stub/Makefile.in +@@ -81,6 +81,7 @@ endif + stub.tgt: $O $(TGTDEPLIBS) + $(CC) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/stub.tgt $(libdir)/ivl$(suffix)/stub.conf $(libdir)/ivl$(suffix)/stub-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/stub.tgt \ + $(libdir)/ivl$(suffix)/stub.conf $(libdir)/ivl$(suffix)/stub-s.conf + +--- a/tgt-verilog/Makefile.in ++++ b/tgt-verilog/Makefile.in +@@ -79,6 +79,7 @@ endif + verilog.tgt: $O $(TGTDEPLIBS) + $(CC) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl/verilog.tgt $(includedir)/vpi_user.h + install: all installdirs $(libdir)/ivl/verilog.tgt \ + $(includedir)/vpi_user.h + +--- a/tgt-vhdl/Makefile.in ++++ b/tgt-vhdl/Makefile.in +@@ -89,6 +89,7 @@ stamp-vhdl_config-h: $(srcdir)/vhdl_config.h.in ../config.status + cd ..; ./config.status --header=tgt-vhdl/vhdl_config.h + vhdl_config.h: stamp-vhdl_config-h + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/vhdl.tgt $(libdir)/ivl$(suffix)/vhdl.conf $(libdir)/ivl$(suffix)/vhdl-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/vhdl.tgt $(libdir)/ivl$(suffix)/vhdl.conf \ + $(libdir)/ivl$(suffix)/vhdl-s.conf + +--- a/tgt-vlog95/Makefile.in ++++ b/tgt-vlog95/Makefile.in +@@ -80,6 +80,7 @@ endif + vlog95.tgt: $O $(TGTDEPLIBS) + $(CC) @shared@ $(LDFLAGS) -o $@ $O -lm $(TGTLDFLAGS) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/vlog95.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/vlog95.conf $(libdir)/ivl$(suffix)/vlog95-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/vlog95.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/vlog95.conf $(libdir)/ivl$(suffix)/vlog95-s.conf + + $(libdir)/ivl$(suffix)/vlog95.tgt: ./vlog95.tgt +--- a/tgt-vvp/Makefile.in ++++ b/tgt-vvp/Makefile.in +@@ -103,6 +103,7 @@ stamp-vvp_config-h: $(srcdir)/vvp_config.h.in ../config.status + cd ..; ./config.status --header=tgt-vvp/vvp_config.h + vvp_config.h: stamp-vvp_config-h + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/vvp.tgt $(libdir)/ivl$(suffix)/vvp.conf $(libdir)/ivl$(suffix)/vvp-s.conf + install: all installdirs $(libdir)/ivl$(suffix)/vvp.tgt $(libdir)/ivl$(suffix)/vvp.conf $(libdir)/ivl$(suffix)/vvp-s.conf + + $(libdir)/ivl$(suffix)/vvp.tgt: ./vvp.tgt +--- a/vhdlpp/Makefile.in ++++ b/vhdlpp/Makefile.in +@@ -127,6 +127,7 @@ lexor_keyword.o: lexor_keyword.cc parse.h + lexor_keyword.cc: $(srcdir)/lexor_keyword.gperf + gperf -o -i 7 --ignore-case -C -k 1-4,6,9,$$ -H keyword_hash -N check_identifier -t $(srcdir)/lexor_keyword.gperf > lexor_keyword.cc || (rm -f lexor_keyword.cc ; false) + ++.PHONY: all installdirs $(libdir)/ivl$(suffix)/vhdlpp@EXEEXT@ + install: all installdirs $(libdir)/ivl$(suffix)/vhdlpp@EXEEXT@ + + $(libdir)/ivl$(suffix)/vhdlpp@EXEEXT@: vhdlpp@EXEEXT@ +--- a/vpi/Makefile.in ++++ b/vpi/Makefile.in +@@ -171,6 +171,7 @@ stamp-vpi_config-h: $(srcdir)/vpi_config.h.in ../config.status + cd ..; ./config.status --header=vpi/vpi_config.h + vpi_config.h: stamp-vpi_config-h + ++.PHONY: all installdirs $(vpidir)/system.vpi $(vpidir)/system.sft $(vpidir)/va_math.vpi $(vpidir)/va_math.sft $(vpidir)/v2005_math.vpi $(vpidir)/v2005_math.sft $(vpidir)/v2009.vpi $(vpidir)/v2009.sft $(vpidir)/vhdl_sys.vpi $(vpidir)/vhdl_sys.sft $(vpidir)/vpi_debug.vpi + install: all installdirs \ + $(vpidir)/system.vpi $(vpidir)/system.sft \ + $(vpidir)/va_math.vpi $(vpidir)/va_math.sft \ +--- a/vvp/Makefile.in ++++ b/vvp/Makefile.in +@@ -205,6 +205,7 @@ stamp-config-h: $(srcdir)/config.h.in ../config.status + cd ..; ./config.status --header=vvp/config.h + config.h: stamp-config-h + ++.PHONY: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir)/libvpi$(suffix).a $(INSTALL_DOC) + install: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir)/libvpi$(suffix).a $(INSTALL_DOC) + + $(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@ diff --git a/sci-electronics/iverilog/iverilog-10.3.ebuild b/sci-electronics/iverilog/iverilog-10.3.ebuild index 183ed6f2023f..ae61d822ad4f 100644 --- a/sci-electronics/iverilog/iverilog-10.3.ebuild +++ b/sci-electronics/iverilog/iverilog-10.3.ebuild @@ -38,6 +38,10 @@ DEPEND=" ${RDEPEND} " +PATCHES=( + "${FILESDIR}"/${PN}-10.3-file-missing.patch #705412 +) + src_prepare() { default |