pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/54912: Quickjs packaging mistakes date, bignum and lto



>Number:         54912
>Category:       pkg
>Synopsis:       Quickjs packaging mistakes date, bignum and lto
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 31 11:35:00 +0000 2020
>Originator:     Denys Nykula
>Release:        current
>Organization:
>Environment:
Linux e11 5.5.0-rc3 #1 SMP Thu Dec 26 01:45:51 UTC 2019 x86_64
>Description:
Makefile sets a DATE variable, a name which PLIST checks use internally,
which causes a conflict.

Also, the 2020-01-05 release started to "always compile the bignum code. Added
'--bignum' option to qjs", so qjsbn{,c} and libquickjs.bn.a, still mentioned
in the PLIST, no longer build.
https://www.freelists.org/post/quickjs-devel/New-release,89

On Linux another file appears, libquickjs.lto.a, which PLIST should include.
>How-To-Repeat:
Search for quickjs in Makoto Fujiwara's nightly report diffs for NetBSD, such as:
http://www.ki.nu/pkgsrc/reports/current/NetBSD-9.0_RC1/20200130.2056/quickjs-20200119/install.log

=> Generating post-install file lists
sh: 2020-01-19: not found
make[1]: "2020-01-19 "+%Y-%m-%d %H:%M:%S %z"" returned non-zero status

=> Checking file-check results for quickjs-20200119
ERROR: ************************************************************
ERROR: The following files are in the PLIST but not in /tmp/lang/quickjs/work/.destdir/usr/pkg:
ERROR:         /tmp/lang/quickjs/work/.destdir/usr/pkg/bin/qjsbn
ERROR:         /tmp/lang/quickjs/work/.destdir/usr/pkg/bin/qjsbnc
ERROR:         /tmp/lang/quickjs/work/.destdir/usr/pkg/lib/quickjs/libquickjs.bn.a

For Linux, try running bmake install in pkgsrc/lang/quickjs yourself.
>Fix:
You'll probably want to delete qjsbn{,c} or libquickjs.bn.a from the
PLIST as they no longer build. Instead you could adjust CONFIG_BIGNUM=
in the workdir Makefile depending on the platform.

Consider the following edit in your next work on the package. Note I
haven't changed the bignum thing myself because I don't know what you
need on NetBSD so my patch just fixes the generic DATE thing and, on
Linux, excludes the now-missing .bn. lib and mentions the .lto. one.

lang/quickjs: Fix date and, on Linux, bignum and lto PLIST

diff --git a/lang/quickjs/Makefile b/lang/quickjs/Makefile
index 46f94539e..ec974a40b 100644
--- a/lang/quickjs/Makefile
+++ b/lang/quickjs/Makefile
@@ -1,9 +1,9 @@
 # $NetBSD: Makefile,v 1.4 2020/01/26 19:08:41 he Exp $
 
 NAME=		quickjs
-DATE=		2020-01-19
-VERSION=	${DATE:S/-//g}
-DISTNAME=	${NAME}-${DATE}
+QJS_DATE=	2020-01-19
+VERSION=	${QJS_DATE:S/-//g}
+DISTNAME=	${NAME}-${QJS_DATE}
 PKGNAME=	${NAME}-${VERSION}
 CATEGORIES=	lang
 MASTER_SITES=	https://bellard.org/quickjs/
@@ -20,8 +20,10 @@ TEST_TARGET=	test
 
 .include "../../mk/bsd.prefs.mk"
 
-PLIST_VARS+=	bignum
-.if ${OPSYS} == "NetBSD"
+PLIST_VARS+=	bignum lto
+.if ${OPSYS} == "Linux"
+PLIST.lto=yes
+.elif ${OPSYS} == "NetBSD"
 HAS_ATOMIC_64!=	${CC} -E files/netbsd-has-atomic64.c | tail -1
 .if (${HAS_ATOMIC_64} == "YES")
 PLIST.bignum=yes
diff --git a/lang/quickjs/PLIST b/lang/quickjs/PLIST
index 833bb616d..ca4c5147e 100644
--- a/lang/quickjs/PLIST
+++ b/lang/quickjs/PLIST
@@ -8,3 +8,4 @@ include/quickjs/quickjs-libc.h
 include/quickjs/quickjs.h
 lib/quickjs/libquickjs.a
 ${PLIST.bignum}lib/quickjs/libquickjs.bn.a
+${PLIST.lto}lib/quickjs/libquickjs.lto.a



Home | Main Index | Thread Index | Old Index