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