pkgsrc-WIP-changes archive

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

smake: Update to 1.5



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Wed Jun 23 12:32:24 2021 +0200
Changeset:	9a4819056b4e982bc810ed2d6fc99669d6ffd66d

Modified Files:
	Makefile
Added Files:
	smake/COMMIT_MSG
	smake/DESCR
	smake/Makefile
	smake/Makefile.common
	smake/PLIST
	smake/distinfo

Log Message:
smake: Update to 1.5

Changelog from AN-2021-05-19:
- smake: smake "MACRO += value" now works.

  smake did implement command line macros like "MACRO=value" since
  spring 1996 but did not yet support "MACRO +=value" as well.

- smake: smake "MACRO::=value" "MACRO:::=value", "MACRO +:= value"
  now work as well.

- smake: The man page now mentions the new command line macro operators
  ::=, :::=, += and +:=

- smake: Version bumped to 1.5

Changelog from AN-2021-06-07:
- smake: the MAKEFLAGS parser has been enhanced to understand the
  encoding used by the BSD make program "bmake". This is needed to
  support something like "bmake INS_BASE=xxx" on FreeBSD while
  compiling the schilytools.
.
  This parser enhancement also covers some incompatibilities with
  the MAKEFLAGS= values created by SunPro Make (e.g. a missing --
  before the make macro definitions are added).

  Thanks to Robert Clausecker for reporting.

- smake: The smake man page now also mentions SunPro make as dmake(1)
  and make(1s) in the "SEE ALSO" section.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9a4819056b4e982bc810ed2d6fc99669d6ffd66d

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile              |  1 +
 smake/COMMIT_MSG      | 28 ++++++++++++++++
 smake/DESCR           |  3 ++
 smake/Makefile        | 44 ++++++++++++++++++++++++
 smake/Makefile.common | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++
 smake/PLIST           |  4 +++
 smake/distinfo        |  6 ++++
 7 files changed, 178 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index d4eaba7370..427b7f521d 100644
--- a/Makefile
+++ b/Makefile
@@ -5177,6 +5177,7 @@ SUBDIR+=	slurm-wlm-devel
 SUBDIR+=	sm-change_ldappass
 SUBDIR+=	sm-change_qldforward
 SUBDIR+=	sm-compatibility
+SUBDIR+=	smake
 SUBDIR+=	smallbasic
 SUBDIR+=	smallbasic-gui
 SUBDIR+=	smap
diff --git a/smake/COMMIT_MSG b/smake/COMMIT_MSG
new file mode 100644
index 0000000000..661a892607
--- /dev/null
+++ b/smake/COMMIT_MSG
@@ -0,0 +1,28 @@
+Changelog from AN-2021-05-19:
+- smake: smake "MACRO += value" now works.
+
+  smake did implement command line macros like "MACRO=value" since
+  spring 1996 but did not yet support "MACRO +=value" as well.
+
+- smake: smake "MACRO::=value" "MACRO:::=value", "MACRO +:= value"
+  now work as well.
+
+- smake: The man page now mentions the new command line macro operators
+  ::=, :::=, += and +:=
+
+- smake: Version bumped to 1.5
+
+Changelog from AN-2021-06-07:
+- smake: the MAKEFLAGS parser has been enhanced to understand the
+  encoding used by the BSD make program "bmake". This is needed to
+  support something like "bmake INS_BASE=xxx" on FreeBSD while
+  compiling the schilytools.
+ 
+  This parser enhancement also covers some incompatibilities with
+  the MAKEFLAGS= values created by SunPro Make (e.g. a missing --
+  before the make macro definitions are added).
+
+  Thanks to Robert Clausecker for reporting.
+
+- smake: The smake man page now also mentions SunPro make as dmake(1)
+  and make(1s) in the "SEE ALSO" section.
diff --git a/smake/DESCR b/smake/DESCR
new file mode 100644
index 0000000000..01683297a2
--- /dev/null
+++ b/smake/DESCR
@@ -0,0 +1,3 @@
+Schily make
+
+Highly portable UNIX make implementation written by Joerg Schilling.
diff --git a/smake/Makefile b/smake/Makefile
new file mode 100644
index 0000000000..d1385b9bb4
--- /dev/null
+++ b/smake/Makefile
@@ -0,0 +1,44 @@
+# $NetBSD$
+
+DISTNAME=	schily-2021-06-07
+PKGNAME=	smake-1.5
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=schilytools/}
+EXTRACT_SUFX=	.tar.bz2
+
+MAINTAINER=	micha%NetBSD.org@localhost
+HOMEPAGE=	https://sourceforge.net/projects/schilytools/
+COMMENT=	Highly portable UNIX make implementation
+LICENSE=	cddl-1.0
+
+MAKE_JOBS_SAFE=	no
+MAKE_FLAGS+=	GMAKE_NOWARN=true
+
+USE_TOOLS+=	gmake
+MAKE_FLAGS+=	DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
+# Honor CPPFLAGS, CFLAGS and LDFLAGS
+MAKE_FLAGS+=	CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
+
+.include "../../mk/bsd.prefs.mk"
+
+# Platform specific code (for sharing with other packages based on schilytools)
+.include "Makefile.common"
+
+SUBST_CLASSES+=		man
+SUBST_STAGE.man=	pre-configure
+SUBST_FILES.man=	smake/smake.1
+SUBST_SED.man=		-e "s,/opt/schily/share/lib/smake/defaults.smk,${PREFIX}/share/lib/smake/defaults.smk,g"
+SUBST_MESSAGE.man=	Fix path for default rules in manpage.
+
+do-configure:
+	cd ${WRKSRC}/inc && ${MAKE_PROGRAM} ${MAKE_FLAGS}
+
+do-build:
+	cd ${WRKSRC}/libschily && ${MAKE_PROGRAM} ${MAKE_FLAGS}
+	cd ${WRKSRC}/smake && ${MAKE_PROGRAM} ${MAKE_FLAGS}
+
+# Documentation is in ${WRKSRC}/README.compile
+do-install:
+	cd ${WRKSRC}/smake && ${MAKE_PROGRAM} ${MAKE_FLAGS} install
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/smake/Makefile.common b/smake/Makefile.common
new file mode 100644
index 0000000000..1b6ebb9a32
--- /dev/null
+++ b/smake/Makefile.common
@@ -0,0 +1,92 @@
+# $NetBSD$
+# used by archivers/star/Makefile
+# used by devel/smake/Makefile
+# used by security/mdigest/Makefile
+# used by shells/bosh/Makefile
+# used by shells/pbosh/Makefile
+
+# All packages based on the schilytools tarball should include this Makefile
+# fragment to inherit and share the same pkgsrc platform specific code.
+
+# Map PKGSRC_COMPILER to CCOM used by schilytools build system.
+.if !empty(PKGSRC_COMPILER:Mgcc)
+MAKE_FLAGS+=	CCOM=gcc
+.elif !empty(PKGSRC_COMPILER:Mclang)
+MAKE_FLAGS+=	CCOM=clang
+# Other compilers are currently untested, try to use them as cc
+.else
+MAKE_FLAGS+=	CCOM=cc
+.endif
+
+# OS rules
+# Some rules were copied from old packages (that are now part of schilytools
+# too) to not break what people have done in the past.
+pre-configure:
+	printf "Create OS rules...\n"
+	cd ${WRKSRC}/RULES && . ${WRKSRC}/RULES/MKLINKS
+	printf "Create pkgsrc OS rules...\n"
+	cd ${WRKSRC}/RULES && unset r ;					\
+	for i in arm mipsel mips64eb x86_64 sparc64 powerpc ;		\
+	do								\
+		r="$$r i386-netbsd-gcc.rul@$$i-netbsd-gcc.rul" ;	\
+		r="$$r i386-netbsd-cc.rul@$$i-netbsd-cc.rul" ;		\
+	done ;								\
+	r="$$r i386-freebsd-gcc.rul@x86_64-freebsd-gcc.rul" ;		\
+	r="$$r i386-freebsd-cc.rul@x86_64-freebsd-cc.rul" ;		\
+	for i in netbsd-clang.rul netbsd-cc.rul netbsd-gcc.rul ;	\
+	do								\
+		r="$$r i386-$$i@${MACHINE}-$$i" ;			\
+	done ;								\
+									\
+	for i in $$r ;							\
+	do								\
+		existing=`printf "%s\\n" $$i | ${SED} -e 's/@.*//'` ;	\
+		target=`printf "%s\\n" $$i | ${SED} -e 's/.*@//'` ;	\
+		printf "%s " "$$target";				\
+		if ${TEST} -e "$$existing" ; then : ;			\
+		else							\
+			printf "(Link target %s not present)\n"		\
+				"$$existing";				\
+			continue ;					\
+		fi;							\
+		if ${TEST} -e "$$target" ;				\
+		then							\
+			printf "(already present)\n" ;			\
+		else							\
+			${LN} -s "$$existing" "$$target" ;		\
+			printf "(created)\n" ;				\
+		fi;							\
+	done
+
+# Man pages with documentation of file formats should go to section 4 on
+# SysV based systems. All supported systems that are treated by schilytools
+# with "MANSTYLE= sysv" in the RULES/os-${OPSYS}.def" files must be caught
+# by this check (IRIX and OSF/1 are treated with BSD style by schilytools).
+PLIST_VARS+=	bsd sysv
+.if ${OPSYS} == "AIX" ||	\
+	${OPSYS} == "HPUX" ||	\
+	${OPSYS} == "SunOS"
+PLIST.sysv=	yes
+.else
+PLIST.bsd=	yes
+.endif
+
+# tbl(1) of NetBSD 9 cannot be used and cripples the man pages, but man(1)
+# from mandoc uses a builtin tbl that is good enough.
+# This check should catch all supported OS that needs processed tables for
+# man pages and have a tbl that can be used to do that.
+.if ${OPSYS} == "AIX" ||		\
+	${OPSYS} == "Cygwin" ||		\
+	${OPSYS} == "Darwin" ||		\
+	${OPSYS} == "DragonFly" ||	\
+	${OPSYS} == "Haiku" ||		\
+	${OPSYS} == "HPUX" ||		\
+	${OPSYS} == "IRIX" ||		\
+	${OPSYS} == "Linux" ||		\
+	${OPSYS} == "Minix" ||		\
+	${OPSYS} == "MirBSD" ||		\
+	${OPSYS} == "OSF1" ||		\
+	${OPSYS} == "QNX" ||		\
+	${OPSYS} == "SunOS"
+USE_TOOLS+=	tbl
+.endif
diff --git a/smake/PLIST b/smake/PLIST
new file mode 100644
index 0000000000..0955e0b20f
--- /dev/null
+++ b/smake/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.2 2019/10/04 13:32:05 micha Exp $
+bin/smake
+man/man1/smake.1
+share/lib/smake/defaults.smk
diff --git a/smake/distinfo b/smake/distinfo
new file mode 100644
index 0000000000..87b0b12d22
--- /dev/null
+++ b/smake/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (schily-2021-06-07.tar.bz2) = 355c162afdffb730e632902620397cc7851c3595
+RMD160 (schily-2021-06-07.tar.bz2) = 8239c965ad9da0d7ce21c39ed28f3f367f929cbf
+SHA512 (schily-2021-06-07.tar.bz2) = f71fb7b521e1b39e87ec9e44b29576eb2e67f0783e24760590f4323243ee1df7e7bdc214aa95d9e3cde6d090c14cab85ddfeaa8ea93b3942997c72c257b53a60
+Size (schily-2021-06-07.tar.bz2) = 4905609 bytes


Home | Main Index | Thread Index | Old Index