dev-lang/nasm: backport default filename fix, bug #670944
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 8 Dec 2018 18:50:01 +0000 (18:50 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Sat, 8 Dec 2018 18:54:43 +0000 (18:54 +0000)
Pulled upstream fix for input==output for single-argument
invocation from https://bugzilla.nasm.us/show_bug.cgi?id=3392529

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/670944
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch [new file with mode: 0644]
dev-lang/nasm/nasm-2.14-r1.ebuild [moved from dev-lang/nasm/nasm-2.14.ebuild with 95% similarity]

diff --git a/dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch b/dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch
new file mode 100644 (file)
index 0000000..57cbb74
--- /dev/null
@@ -0,0 +1,41 @@
+https://bugzilla.nasm.us/show_bug.cgi?id=3392529
+https://bugs.gentoo.org/670944
+
+From 7b6371b9d35705ee3800082ca245f8dd289bb216 Mon Sep 17 00:00:00 2001
+From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
+Date: Tue, 20 Nov 2018 10:56:57 -0800
+Subject: [PATCH] BR 3392529: if the default output name is the same as input
+ -> nasm.out
+
+If no output filename is specified, then a default filename is used
+based on the input filename. If that ends up the *same* as the input
+filename, change the output filename to "nasm.out".
+
+Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
+---
+ asm/nasm.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+--- a/asm/nasm.c
++++ b/asm/nasm.c
+@@ -514,9 +514,14 @@ int main(int argc, char **argv)
+      * is a preprocess mode, we're perfectly
+      * fine to output into stdout.
+      */
+-    if (!outname) {
+-        if (!(operating_mode & OP_PREPROCESS))
+-            outname = filename_set_extension(inname, ofmt->extension);
++    if (!outname && !(operating_mode & OP_PREPROCESS)) {
++        outname = filename_set_extension(inname, ofmt->extension);
++        if (!strcmp(outname, inname)) {
++            outname = "nasm.out";
++            nasm_error(ERR_WARNING,
++                       "default output file same as input, using `%s' for output\n",
++                       inname, outname);
++        }
+     }
+ 
+     depend_ptr = (depend_file || (operating_mode & OP_DEPEND))
+-- 
+2.19.2
+
similarity index 95%
rename from dev-lang/nasm/nasm-2.14.ebuild
rename to dev-lang/nasm/nasm-2.14-r1.ebuild
index 46c8d440a40680b32bb7cdf1ce5d06b1c092d6ae..7a17a31be97224bfd920add4224d998e5e8c0bcf 100644 (file)
@@ -34,6 +34,7 @@ S=${WORKDIR}/${P/_}
 
 PATCHES=(
        "${FILESDIR}"/${PN}-2.13.03-bsd-cp-doc.patch
+       "${FILESDIR}"/${P}-default-path-BR-3392529.patch
 )
 
 src_configure() {