tech-pkg archive

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

lua package review wanted: new package lua-luke



Hi,

I have no clue who does the most lua packaging,
here's a diff for a lua package I want to add.

It works well enough with the preceding diff for
devel/lua-posix to build it.

Index: lua-posix/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/lua-posix/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- lua-posix/Makefile  20 Nov 2018 17:30:47 -0000      1.16
+++ lua-posix/Makefile  3 Jan 2020 01:14:52 -0000
@@ -24,18 +24,19 @@ DEPENDS+=   ${LUA_PKGPREFIX}-std-_debug-[0
 .if ${LUA_PKGPREFIX} == "lua51"
 DEPENDS+=      lua51-bitlib-[0-9]*:../../devel/lua-bitlib
 .endif
+BUILD_DEPENDS+=        ${LUA_PKGPREFIX}-luke-[0-9]*:../../devel/lua-luke
 
 LIBFLAG+=      ${LDFLAGS} -shared -fPIC
 
 do-build:
        cd ${WRKSRC} && \
                env ${MAKE_ENV} \
-               ${LUA_INTERPRETER} ./build-aux/luke LIBFLAG=${LIBFLAG:Q}
+               luke LIBFLAG=${LIBFLAG:Q}
 
 do-install:
        cd ${WRKSRC} && \
                env ${MAKE_ENV} \
-               ${LUA_INTERPRETER} ./build-aux/luke \
+               luke \
                        PREFIX=${DESTDIR}${PREFIX} \
                        install
 



Index: lua-luke/DESCR
===================================================================
RCS file: lua-luke/DESCR
diff -N lua-luke/DESCR
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lua-luke/DESCR	3 Jan 2020 01:13:57 -0000
@@ -0,0 +1,40 @@
+Luke is a build tool which works a bit like traditional UNIX Make, but
+without the pain of filesystem timestamps and the reliance on embedded
+TABs in the recipe file.
+
+Luke differs from Make primarily in that:
+* All dependencies in Luke are explicit - Make will attempt to
+  determine what needs to be done to build a file based on a set of
+  rules that tell it how to transform file types... this works well
+  until you need to have different rules apply to two files of the
+  same type... which then causes Make to quickly become
+  unmanageable. Luke avoids this by requiring all rules to be
+  explicit. This is much less work than it sounds.
+* Luke determines whether a target needs to be rebuilt based on
+  md5sums of any compiler settings plus the files it depends on. If
+  the md5sums change, the target is rebuilt. Make compares the
+  timestamps of file dependencies, and if any is newer than expected
+  everything that depends on it is rebuilt... this works well until
+  you have some of your files on an NFS server with an out of sync
+  clock, or a large build where one leaf node of the dependency graph
+  changes and then timestamp ripples can cause practically everything
+  to be rebuilt even though nearly all the rebuilt files will be
+  identical. Md5sums do not have that side-effect.
+* Luke also tries to solve some of the same problems as the GNU Build
+  System (Autoconf, Automake, Libtool), but without the pain of creeping
+  file droppings and managing huge generated shell scripts in source
+  control and distribution tarballs.
+
+Luke supports:
+* Automatic dependency checking for C and C++ files
+* Explicit dependency graphs
+* Arbitrarily complex rules (because you can embed chunks of Lua script in your
+  Blueprint to do anything you like)
+* Can handle multiple directories at the same time (no more recursive makefiles!)
+* Easy cross-compilation (object files are stored in Luke's own object file
+  cache, not in your build tree)
+* Easy deployment (all of Luke's core code consists of exactly one file, which
+  can be run on any platform --- no installation or compilation needed after
+  bootstrap!)
+* Object oriented design (making it very easy to create your own rules by
+  specialising one of the existing ones)
Index: lua-luke/Makefile
===================================================================
RCS file: lua-luke/Makefile
diff -N lua-luke/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lua-luke/Makefile	3 Jan 2020 01:13:57 -0000
@@ -0,0 +1,36 @@
+# $NetBSD$
+
+DISTNAME=	luke-0.1.5
+PKGNAME=	${LUA_PKGPREFIX}-${DISTNAME}
+GITHUB_TAG=	6925a49ff93e838684bc72f1bfa4958ded8e4cad
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=gvvaughan/}
+
+MAINTAINER=	ng0%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/gvvaughan/luke/
+COMMENT=	Software build utility in Lua
+LICENSE=	gnu-gpl-v3
+
+USE_LANGUAGES=	c99
+NO_CONFIGURE=	yes
+BUILD_TARGET=	build-aux/luke
+
+WRKSRC=		${WRKDIR}/luke-${GITHUB_TAG}
+
+# Replace "/usr/bin/env lua" in resulting script
+SUBST_CLASSES+=		lua
+SUBST_STAGE.lua=	pre-build
+SUBST_SED.lua=		-e 's|/usr/bin/env lua|${LUA_INTERPRETER}|g'
+SUBST_FILES.lua=	lib/smush/init.lua
+
+INSTALLATION_DIRS+=	bin
+
+pre-build:
+	cd ${WRKSRC} && ${RM} build-aux/luke
+
+do-install:
+	${INSTALL} ${WRKSRC}/build-aux/luke ${DESTDIR}${PREFIX}/bin
+
+.include "../../lang/lua/application.mk"
+.include "../../lang/lua/module.mk"
+.include "../../mk/bsd.pkg.mk"
Index: lua-luke/PLIST
===================================================================
RCS file: lua-luke/PLIST
diff -N lua-luke/PLIST
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lua-luke/PLIST	3 Jan 2020 01:13:57 -0000
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+bin/luke
Index: lua-luke/distinfo
===================================================================
RCS file: lua-luke/distinfo
diff -N lua-luke/distinfo
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lua-luke/distinfo	3 Jan 2020 01:13:57 -0000
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (luke-0.1.5-6925a49ff93e838684bc72f1bfa4958ded8e4cad.tar.gz) = b85fc3381e9d3d4200cf2c3fbc89056f0dbd256e
+RMD160 (luke-0.1.5-6925a49ff93e838684bc72f1bfa4958ded8e4cad.tar.gz) = eaaf260509f2a75bbc66ea85ee0f1d7880d8c6e4
+SHA512 (luke-0.1.5-6925a49ff93e838684bc72f1bfa4958ded8e4cad.tar.gz) = 1884e6fa3c194d4bdfc1eae165a0eeeaad6f33bb269c1fa148e2af7793032bec04d55b478b7c55450f7ea43ece2abc95676275aff2126fc97a9246ca9398d031
+Size (luke-0.1.5-6925a49ff93e838684bc72f1bfa4958ded8e4cad.tar.gz) = 32439 bytes



Home | Main Index | Thread Index | Old Index