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