[fink:package-submissions] #4868 llvm39-3.9.1-1

Hanspeter Niederstrasser via Fink-tracker <[email protected]> Thu, 09 Nov 2017 04:22:58 -0000
Newsgroups gmane.os.apple.fink.tracker
Message-ID </p/fink/package-submissions/4868/41d20cfd4c4a2f1e566d7c8aefd01f96a0aca8be.package-submissions@fink.p.sourceforge.net>
- **labels**:  --> languages, Updated Version of Existing
- **Group**: Undergoing_Validation --> Awaiting_Update_from_Submitter
- **Comment**:

I think this has to be fixed like llvm50 had to be: 
o The python27 dependency needs to be versioned to avoid the same configure problem seen with llvm50. python27 >= 2.7.14 is needed when I tried to build here on 10.11.
o llvm39-shlibs has a bunch of libclang*.a files.  They were offloaded to clangXX-dev in llvm50. Should probably do the same here, although it gets trickier now since it's not a new package, but fixing an existing one.
o clang39-shlibs also has `/sw/opt/llvm-3.9/lib/libomp.dylib`, which should belong in  libomp-shlibs?



---

** [package-submissions:#4868] llvm39-3.9.1-1**

**Status:** open
**Group:** Awaiting_Update_from_Submitter
**Labels:** languages Updated Version of Existing 
**Created:** Thu Dec 22, 2016 12:54 AM UTC by Jack Howarth
**Last Updated:** Thu Dec 22, 2016 12:55 AM UTC
**Owner:** David Fang


Update the llvm39-3.9.1 packaging to the 3.9.1 bug fix release and add common libomp-shlibs, libomp-dev and llvm-clang split-offs to ease use of the package's OpenMP support (which is now current with all of the bug fixes for OpenMP present in 4.0svn).

~~~
Index: llvm39.info
===================================================================
RCS file: /cvsroot/fink/dists/10.9-libcxx/stable/main/finkinfo/languages/llvm39.info,v
retrieving revision 1.2
diff -u -r1.2 llvm39.info
--- llvm39.info	27 Oct 2016 04:01:28 -0000	1.2
+++ llvm39.info	21 Dec 2016 23:37:06 -0000
@@ -1,6 +1,6 @@
 Info3: <<
 Package: llvm39
-Version: 3.9.0
+Version: 3.9.1
 Revision: 1
 Description: Modular and reusable compiler
 License: BSD
@@ -31,19 +31,19 @@
 <<
 
 Source: http://llvm.org/releases/%v/llvm-%v.src.tar.xz
-Source-MD5: f2093e98060532449eb7d2fcfd0bc6c6
+Source-MD5: 3259018a7437e157f3642df80f1983ea
 Source2: http://llvm.org/releases/%v/cfe-%v.src.tar.xz
-Source2-MD5: 29e1d86bee422ab5345f5e9fb808d2dc
+Source2-MD5: 45713ec5c417ed9cad614cd283d786a1
 Source3: http://llvm.org/releases/%v/compiler-rt-%v.src.tar.xz
-Source3-MD5: b7ea34c9d744da16ffc0217b6990d095
+Source3-MD5: aadc76e7e180fafb10fb729444e287a3
 Source4: http://llvm.org/releases/%v/polly-%v.src.tar.xz
-Source4-MD5: 1cf328cbae25267749b68cfa6f113674
+Source4-MD5: 2cc7fe2bd9539775ba140abfd375bec6
 Source5: http://llvm.org/releases/%v/libcxx-%v.src.tar.xz
-Source5-MD5: 0a11efefd864ce6f321194e441f7e569
+Source5-MD5: 75a3214224301fc543fa6a38bdf7efe0
 Source6: http://llvm.org/releases/%v/openmp-%v.src.tar.xz
-Source6-MD5: 5390164f2374e1444e82393541ecf6c7
+Source6-MD5: f076916bf2f49229b4df9fa0bb002599
 Source7:  http://llvm.org/releases/%v/clang-tools-extra-%v.src.tar.xz
-Source7-MD5: f4f663068c77fc742113211841e94d5e
+Source7-MD5: 1a01d545a064fcbc46a2f05f6880d3d7
 # Source8: http://llvm.org/releases/%v/test-suite-%v.src.tar.xz
 # Source8-MD5: 
 # libcxxabi is not needed, use system's libc++abi or libsupc++
@@ -55,7 +55,7 @@
 PatchFile: %n.patch
 PatchFile-MD5: 6addcbd4c9fe449b3cd006eb48f5219b
 #PatchFile2: %n-clang.patch
-#PatchFile2-MD5: d2a2b4207c19b7f09f197ae9769a51d2
+#PatchFile2-MD5: 25a45c309e14611b278c30b782f0d7e5 
 #PatchFile3: %n-compiler-rt.patch
 #PatchFile3-MD5: 60ed1415e15b1781f2d58c0db17aab78
 #PatchFile4: %n-polly.patch
@@ -65,7 +65,7 @@
 #PatchFile6: %n-clang-omp.patch
 #PatchFile6-MD5: 8067f4cc1f58030f7746521d58c776c2 
 PatchFile7: %n-clang-iomp5.patch
-PatchFile7-MD5: 33f21b006473cbdd5feced616b05903b
+PatchFile7-MD5: d5d9686fd0727c0e1cd953f585f4481d
 
 PatchScript: <<
 	#!/bin/sh -ev
@@ -108,7 +108,7 @@
 	pushd tools/clang
 	  # Apply clang-omp merge before clang patch
 	  #$patch_filter %{PatchFile6} | patch -p1
-	  #$patch_filter %{PatchFile2} | patch -p1
+	  # $patch_filter %{PatchFile2} | patch -p1
 	  $patch_filter %{PatchFile7} | patch -p1
 	popd
 	pushd tools/polly
@@ -183,8 +183,8 @@
 		tools/clang/lib/Frontend/InitHeaderSearch.cpp
 	}
 
-	#pushd ../openmp-%v.src
-	#popd
+	# pushd ../openmp-%v.src
+	# popd
 	
 # needed for gcc-fsf-4.x only
 #	sed -i.orig2 -e 's|compatibility_version|dylib_&|' tools/clang/tools/libclang/CMakeLists.txt
@@ -1078,15 +1078,6 @@
 	iprefix=%i/$stem
 	prefix=%p/$stem
 
-	# Pass path to libLTO.dylib with -lto_library using ld shell script
-	pushd $iprefix/bin
-		cat <<EOF > ./ld
-#!/bin/sh
-exec /usr/bin/ld -lto_library %p/opt/llvm-3.9/lib/libLTO.dylib "\$@"
-EOF
-		chmod ugo+x ./ld
-	popd
-
 # convenient clang symlinks
 	mkdir -p %i/bin
 	pushd %i/bin
@@ -1112,6 +1103,26 @@
 		cp %b/../build/last/*-check.log testlogs/
 		cp %b/../build/last-libcxx/*-check.log testlogs/
 	popd
+
+# place omp.h in %p/include/libomp for common libomp-dev package
+	install -d %i/include/libomp
+	pushd %i/opt/llvm-$brv/lib/clang/%v/include
+		mv omp.h %i/include/libomp
+	popd
+
+# place libomp.dylib in libomp subdirectory for common libomp-shlibs package
+# leave legacy copy in %p/opt/llvm-$brv/lib for clang39-shlibs
+	install -d %i/lib/libomp
+	pushd %i/opt/llvm-$brv/lib
+		cp libomp.dylib %i/lib/libomp
+		ln -s libomp.dylib %i/lib/libomp/libiomp5.dylib
+		ln -s libomp.dylib %i/lib/libomp/libgomp.dylib
+	popd
+	install_name_tool -id %p/lib/libomp/libomp.dylib %i/lib/libomp/libomp.dylib
+
+# create compiler symlinks for common llvm-clang split-off
+	ln -s clang-$brv %i/bin/llvm-clang
+	ln -s clang++-$brv %i/bin/llvm-clang++
 <<
 SplitOff: <<
 	Package: clang39-tools
@@ -1178,7 +1189,9 @@
 	#	odcctools,
 	# choosing to require opt-in instead of defaulting to libcxx1-dev
 	#	libcxx1-dev,
+		libomp-dev (>= %v-%r),
 		clang39-shlibs (= %v-%r),
+		libomp-shlibs (>= %v-%r),
 		polly39-shlibs (= %v-%r)
 	<<
 	Description: Executables and runtime for clang compiler
@@ -1186,7 +1199,6 @@
 	Files: <<
 		bin/clang*
 		opt/llvm-3.9/bin/clang*
-		opt/llvm-3.9/bin/ld
 		opt/llvm-3.9/lib/clang
 	<<
 	DescUsage: <<
@@ -1313,6 +1325,37 @@
 	<<
 <<
 SplitOff14: <<
+	Package: libomp-shlibs
+	Description: Standard library for libomp
+	Files: <<
+		(%m != powerpc) lib//libomp/lib*omp*.dylib
+	<<
+	DocFiles: <<
+		projects/openmp/CREDITS.txt
+		projects/openmp/LICENSE.txt
+	<<
+	Shlibs: <<
+		(%m != powerpc) %p/lib/libomp/libomp.dylib 5.0.0 %n (>= 3.9.0-2)
+	<<
+<<
+SplitOff15: <<
+	Package: libomp-dev
+	Description: Standard library header for libomp
+	Depends: libomp-shlibs (= %v-%r)
+	BuildDependsOnly: false
+	Files: include/libomp/omp.h
+	DescPackaging: <<
+	BuildDependsOnly set to false since clang compiler always needs
+	access to omp.h at run-time.
+	<<
+<<
+SplitOff16: <<
+	Package: llvm-clang
+	Description: LLVM.org clang compilers
+	Depends: clang39 (= %v-%r)
+	Files: bin/llvm-clang bin/llvm-clang++
+<<
+SplitOff17: <<
 	Package: %N-bundle
 	Description: Bundle of LLVM/Clang compiler tools
 	Type: bundle
~~~

Tested on 10.12 with 'fink -m'


---

Sent from sourceforge.net because [email protected] is subscribed to https://sourceforge.net/p/fink/package-submissions/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/fink/admin/package-submissions/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Fink-tracker mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.tracker