ports/164665: [maintainer] devel/premake4: fix broken regression tests

Vitaly Magerya vmagerya at gmail.com
Tue Jan 31 14:30:17 UTC 2012


>Number:         164665
>Category:       ports
>Synopsis:       [maintainer] devel/premake4: fix broken regression tests
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 31 14:30:16 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Vitaly Magerya
>Release:        
>Organization:
>Environment:
>Description:
It appears that delve/premake4 has a set of unit tests, and two of them
do not currently pass, as premake tries to read from /etc/ld.so.conf,
which we don't have.

The attached patch fixes that problem, and implements regression-test
target.

You can see tinderbox logs at [1].

[1] https://redports.org/buildarchive/20120131150907-284/
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -x .svn -ruN premake4.orig/Makefile premake4/Makefile
--- premake4.orig/Makefile	2012-01-31 16:18:30.000000000 +0200
+++ premake4/Makefile	2012-01-31 15:20:56.000000000 +0200
@@ -29,12 +29,16 @@
 
 post-patch:
 	${REINPLACE_CMD} -e 's|-ldl||' ${BUILD_WRKSRC}/Premake4.make
+	${REINPLACE_CMD} -e 's|debug|release|' ${WRKSRC}/tests/test
 
 do-install:
 .if !defined(NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR}
 	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${DOCSDIR}
 .endif
-	@${INSTALL_PROGRAM} ${WRKSRC}/bin/release/premake4 ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/release/premake4 ${PREFIX}/bin
+
+regression-test: build
+	cd ${WRKSRC}/tests && ./test
 
 .include <bsd.port.post.mk>
diff -x .svn -ruN premake4.orig/files/patch-src-base-os.lua premake4/files/patch-src-base-os.lua
--- premake4.orig/files/patch-src-base-os.lua	1970-01-01 03:00:00.000000000 +0300
+++ premake4/files/patch-src-base-os.lua	2012-01-31 15:42:59.000000000 +0200
@@ -0,0 +1,17 @@
+--- src/base/os.lua.orig	2012-01-31 15:40:25.000000000 +0200
++++ src/base/os.lua	2012-01-31 15:42:16.000000000 +0200
+@@ -33,14 +33,6 @@
+ 			else
+ 				formats = { "lib%s.so", "%s.so" }
+ 				path = os.getenv("LD_LIBRARY_PATH") or ""
+-	
+-				io.input("/etc/ld.so.conf")
+-				if io.input() then
+-					for line in io.lines() do
+-						path = path .. ":" .. line
+-					end
+-					io.input():close()
+-				end
+ 			end
+ 			
+ 			table.insert(formats, "%s")	
diff -x .svn -ruN premake4.orig/files/patch-src-host-scripts.c premake4/files/patch-src-host-scripts.c
--- premake4.orig/files/patch-src-host-scripts.c	1970-01-01 03:00:00.000000000 +0300
+++ premake4/files/patch-src-host-scripts.c	2012-01-31 16:05:38.000000000 +0200
@@ -0,0 +1,5 @@
+--- src/host/scripts.c.orig	2010-11-16 13:29:13.000000000 +0200
++++ src/host/scripts.c	2012-01-31 16:05:26.000000000 +0200
+@@ -7 +7 @@
+-	"function os.executef(cmd, ...)\ncmd = string.format(cmd, unpack(arg))\nreturn os.execute(cmd)\nend\nfunction os.findlib(libname)\nlocal path, formats\nif os.is(\"windows\") then\nformats = { \"%s.dll\", \"%s\" }\npath = os.getenv(\"PATH\")\nelse\nif os.is(\"macosx\") then\nformats = { \"lib%s.dylib\", \"%s.dylib\" }\npath = os.getenv(\"DYLD_LIBRARY_PATH\")\nelse\nformats = { \"lib%s.so\", \"%s.so\" }\npath = os.getenv(\"LD_LIBRARY_PATH\") or \"\"\nio.input(\"/etc/ld.so.conf\")\nif io.input() then\nfor line in io.lines() do\npath = path .. \":\" .. line\nend\nio.input():close()\nend\nend\ntable.insert(formats, \"%s\")\npath = (path or \"\") .. \":/lib:/usr/lib:/usr/local/lib\"\nend\nfor _, fmt in ipairs(formats) do\nlocal name = string.format(fmt, libname)\nlocal result = os.pathsearch(name, path)\nif result then return result end\nend\nend\nfunction os.get()\nreturn _OPTIONS.os or _OS\nend\nfunction os.is(id)\nreturn (os.get():lower() == id:lower())\nend\nlocal function d
 omatch(result, mask, wantfiles)\nif mas"
++	"function os.executef(cmd, ...)\ncmd = string.format(cmd, unpack(arg))\nreturn os.execute(cmd)\nend\nfunction os.findlib(libname)\nlocal path, formats\nif os.is(\"windows\") then\nformats = { \"%s.dll\", \"%s\" }\npath = os.getenv(\"PATH\")\nelse\nif os.is(\"macosx\") then\nformats = { \"lib%s.dylib\", \"%s.dylib\" }\npath = os.getenv(\"DYLD_LIBRARY_PATH\")\nelse\nformats = { \"lib%s.so\", \"%s.so\" }\npath = os.getenv(\"LD_LIBRARY_PATH\") or \"\"\nend\ntable.insert(formats, \"%s\")\npath = (path or \"\") .. \":/lib:/usr/lib:/usr/local/lib\"\nend\nfor _, fmt in ipairs(formats) do\nlocal name = string.format(fmt, libname)\nlocal result = os.pathsearch(name, path)\nif result then return result end\nend\nend\nfunction os.get()\nreturn _OPTIONS.os or _OS\nend\nfunction os.is(id)\nreturn (os.get():lower() == id:lower())\nend\nlocal function domatch(result, mask, wantfiles)\nif mas"


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list