Bug 180338 - devel/opencl: new hashes (distinfo), minor changes
Summary: devel/opencl: new hashes (distinfo), minor changes
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-06 01:00 UTC by O. Hartmann
Modified: 2013-09-01 15:33 UTC (History)
0 users

See Also:


Attachments
file.diff (1.64 KB, patch)
2013-07-06 01:00 UTC, O. Hartmann
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description O. Hartmann 2013-07-06 01:00:01 UTC
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:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-07-06 01:00:14 UTC
Class Changed
From-To: change-request->maintainer-update

Fix category (submitter is maintainer) (via the GNATS Auto Assign Tool)
Comment 2 O. Hartmann 2013-07-28 09:31:04 UTC
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
Comment 3 freebsd.contact 2013-08-28 15:26:45 UTC
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
Comment 4 John Marino freebsd_committer freebsd_triage 2013-09-01 14:24:37 UTC
Responsible Changed
From-To: freebsd-ports-bugs->marino

I'll take it.
Comment 5 dfilter service freebsd_committer freebsd_triage 2013-09-01 15:25:19 UTC
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"
Comment 6 John Marino freebsd_committer freebsd_triage 2013-09-01 15:33:10 UTC
State Changed
From-To: open->closed

Committed, with minor changes. Thanks!