Khronos has done some minor changes in the header files, so the hashes doesn't match anymore. The patch attached fixes this. According to possible patchfiles in "files" I also added some lines doing extraction first in the WRKSRC folder and install the header from there instead doing it directly from the DISTDIR/DIST_SUBDIR folder. This offers the opportunity having patches applied if necessary before installing. Fix: Patch attached with submission follows:
Class Changed From-To: change-request->maintainer-update Fix category (submitter is maintainer) (via the GNATS Auto Assign Tool)
By PR ports/180338 I requested an update/change of the port (review implied) since Khronos changed some headers and the checksum doesn't match anymore. People contacted me on that subject (checksum mismatch). The change is minor (distinfo). Since I had trouble of patching the sources (in the previous out port the patch is applied to files residing in /usr/ports/distfiles/opencl/) and I felt it wans't the clean way, I now try to introduce one hop more: copying all the files into work/opencl-1.2 and patch them there (if any patch has to be applied) and the copy the files into their final place. Please be so kind and review and commit. Otherwise port devel/opencl is considered broken due to checksum mismatch. If someone takes care of this PR and commit, please be so kind and close the following PRs, they are rendered obsolete by this one if it gets committed: ports/175107 ports/178982 Somehow, to apply cleanly, someone needs to "make distclean" first. Can this be "forced" somehow by the Makefile itself in a clean and compatible way? Thanks in advance, Oliver
What does "eventually correct" mean? Is this diff ready to go as it is or not? If I take the PR, I'll put it through redports after applying patch to see if it builds clean, but it's got to be ready to go. John
Responsible Changed From-To: freebsd-ports-bugs->marino I'll take it.
Author: marino Date: Sun Sep 1 14:25:11 2013 New Revision: 325857 URL: http://svnweb.freebsd.org/changeset/ports/325857 Log: devel/opencl: Unbreak fetch This port has been unfetchable for some time due to a checksum mismatch. PR: ports/180338 Submitted by: Oliver Hartmann (maintainer) Added: head/devel/opencl/files/ head/devel/opencl/files/patch-cl.hpp (contents, props changed) head/devel/opencl/pkg-message (contents, props changed) Modified: head/devel/opencl/Makefile head/devel/opencl/distinfo Modified: head/devel/opencl/Makefile ============================================================================== --- head/devel/opencl/Makefile Sun Sep 1 13:42:47 2013 (r325856) +++ head/devel/opencl/Makefile Sun Sep 1 14:25:11 2013 (r325857) @@ -3,7 +3,7 @@ PORTNAME= opencl PORTVERSION= 1.2 -PORTREVISION= 2 +PORTREVISION= 5 CATEGORIES= devel MASTER_SITES= http://www.khronos.org/registry/cl/api/${PORTVERSION}/ DISTFILES= opencl.h cl_platform.h cl.h cl_ext.h cl_dx9_media_sharing.h \ @@ -12,21 +12,27 @@ DIST_SUBDIR= ${PORTNAME} EXTRACT_ONLY= MAINTAINER= ohartman@zedat.fu-berlin.de -COMMENT= Open Computing Language (OpenCL) specifications V1.2 +COMMENT= Open Computing Language (OpenCL) specifications V1.2 (header files) CONFLICTS= opencl-1.[0-1] NO_BUILD= yes -NO_WRKSUBDIR= yes -PLIST_DIRS= include/CL +PLIST_DIRS+= include/CL .for f in ${DISTFILES} PLIST_FILES+=include/CL/$f .endfor +pre-patch: + @${MKDIR} ${WRKSRC} +.for f in ${DISTFILES} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/$f ${WRKSRC}/ +.endfor + do-install: - ${MKDIR} ${PREFIX}/include/CL - ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/*.h ${PREFIX}/include/CL - ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/*.hpp ${PREFIX}/include/CL + @${MKDIR} ${PREFIX}/include/CL +.for f in ${DISTFILES} + @${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/include/CL +.endfor .include <bsd.port.mk> Modified: head/devel/opencl/distinfo ============================================================================== --- head/devel/opencl/distinfo Sun Sep 1 13:42:47 2013 (r325856) +++ head/devel/opencl/distinfo Sun Sep 1 14:25:11 2013 (r325857) @@ -4,8 +4,8 @@ SHA256 (opencl/cl_platform.h) = e212b89b SIZE (opencl/cl_platform.h) = 41127 SHA256 (opencl/cl.h) = a5465c2ed1a0687878c8f7aa25f94626d7cd3a3868163ecaa6e8b36d6ed52368 SIZE (opencl/cl.h) = 61545 -SHA256 (opencl/cl_ext.h) = 3eafb74bc1b9456fd0e12393bfe65e48c9b3246d3c36b9f69ac253f73e0b50c7 -SIZE (opencl/cl_ext.h) = 11540 +SHA256 (opencl/cl_ext.h) = d23a11d1daebe39c6f5a9743f356bb58cdf0bf5a2019c723a6e2dc1e7dcb0360 +SIZE (opencl/cl_ext.h) = 13646 SHA256 (opencl/cl_dx9_media_sharing.h) = 26fb40bac8e229747bdc27b350b836e3703c1e946cb40893f4c8ab2289203920 SIZE (opencl/cl_dx9_media_sharing.h) = 5157 SHA256 (opencl/cl_d3d10.h) = c7adb38a19663ee240977afc64903f4638d9c5c03ca478793c9f7a15c1c6ac2b @@ -16,5 +16,5 @@ SHA256 (opencl/cl_gl.h) = aa49d380177ac5 SIZE (opencl/cl_gl.h) = 7343 SHA256 (opencl/cl_gl_ext.h) = 4d663bbfc932ab405623e5f5d1bba3f438351d0ead65e1ccdd9bb769caf7a7d0 SIZE (opencl/cl_gl_ext.h) = 2630 -SHA256 (opencl/cl.hpp) = 006671ee638a29a95c19bf37fbbf71ec8df445d2ea46df81f65faaff2d8a5133 -SIZE (opencl/cl.hpp) = 272297 +SHA256 (opencl/cl.hpp) = d7c8f5c17f88e098dc9f71d80e4b7408fab353e2828b0ba4d4bb55adaa427e83 +SIZE (opencl/cl.hpp) = 277155 Added: head/devel/opencl/files/patch-cl.hpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/opencl/files/patch-cl.hpp Sun Sep 1 14:25:11 2013 (r325857) @@ -0,0 +1,52 @@ +--- cl.hpp.orig 2013-09-01 13:35:56.642641000 +0000 ++++ cl.hpp +@@ -210,11 +210,10 @@ + #include <string> + #endif + +-#if defined(linux) || defined(__APPLE__) || defined(__MACOSX) ++#if defined(linux) || defined(__APPLE__) || defined(__MACOSX) \ ++ || defined(__FreeBSD__) || defined(__DragonFly__) + #include <alloca.h> + +-#include <emmintrin.h> +-#include <xmmintrin.h> + #endif // linux + + #include <cstring> +@@ -1037,7 +1036,7 @@ namespace detail { + #endif // !_WIN32 + } + +- inline void fence() { _mm_mfence(); } ++ inline void fence() { __sync_synchronize(); } + }; // namespace detail + + +@@ -2037,6 +2036,26 @@ public: + #endif // #if defined(CL_VERSION_1_1) + }; + ++template <typename Func> ++cl_int detail::GetInfoHelper<Func, VECTOR_CLASS<cl::Device> >:: ++ get(Func f, cl_uint name, VECTOR_CLASS<cl::Device>* param) ++ { ++ ::size_t required; ++ cl_int err = f(name, 0, NULL, &required); ++ if (err != CL_SUCCESS) { ++ return err; ++ } ++ ++ cl_device_id* value = (cl_device_id*) alloca(required); ++ err = f(name, required, value, NULL); ++ if (err != CL_SUCCESS) { ++ return err; ++ } ++ ++ param->assign(&value[0], &value[required/sizeof(cl_device_id)]); ++ return CL_SUCCESS; ++ } ++ + /*! \brief Class interface for cl_platform_id. + * + * \note Copies of these objects are inexpensive, since they don't 'own' Added: head/devel/opencl/pkg-message ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/opencl/pkg-message Sun Sep 1 14:25:11 2013 (r325857) @@ -0,0 +1,4 @@ +OpenCL is the first open, royalty-free standard for cross-platform, +parallel programming of modern processors. + +Patchset provided by POCL developers for cl.hpp applied. _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed, with minor changes. Thanks!