Initial import (#920518).
This commit is contained in:
		
							parent
							
								
									ebdfd11ffe
								
							
						
					
					
						commit
						ceab4ad938
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -0,0 +1 @@ | ||||
| /metis-5.0.3.tar.gz | ||||
							
								
								
									
										56
									
								
								metis-GKREGEX-GKRAND-LIBSUFFIX-fix.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								metis-GKREGEX-GKRAND-LIBSUFFIX-fix.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| --- metis-5.0.3/GKlib/Makefile.orig	2013-03-11 20:50:42.000000000 +0100
 | ||||
| +++ metis-5.0.3/GKlib/Makefile	2013-03-17 14:26:23.632867727 +0100
 | ||||
| @@ -41,10 +41,10 @@
 | ||||
|      CONFIG_FLAGS += -DPCRE=$(pcre) | ||||
|  endif | ||||
|  ifneq ($(gkregex), not-set) | ||||
| -    CONFIG_FLAGS += -DGKREGEX=$(pcre)
 | ||||
| +    CONFIG_FLAGS += -DGKREGEX=$(gkregex)
 | ||||
|  endif | ||||
|  ifneq ($(gkrand), not-set) | ||||
| -    CONFIG_FLAGS += -DGKRAND=$(pcre)
 | ||||
| +    CONFIG_FLAGS += -DGKRAND=$(gkrand)
 | ||||
|  endif | ||||
|  ifneq ($(prefix), not-set) | ||||
|      CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix) | ||||
| 
 | ||||
| --- metis-5.0.3/Makefile.orig	2013-03-11 20:50:09.000000000 +0100
 | ||||
| +++ metis-5.0.3/Makefile	2013-03-17 18:30:50.634301059 +0100
 | ||||
| @@ -9,7 +9,10 @@
 | ||||
|  gklib_path = not-set | ||||
|  shared     = not-set | ||||
|  cc         = not-set | ||||
| -
 | ||||
| +libsuffix  = not-set
 | ||||
| +pcre       = not-set
 | ||||
| +gkregex    = not-set
 | ||||
| +gkrand     = not-set
 | ||||
|   | ||||
|  # Basically proxies everything to the builddir cmake. | ||||
|   | ||||
| @@ -23,6 +26,9 @@
 | ||||
|  ifeq ($(gklib_path), not-set) | ||||
|      gklib_path = GKlib | ||||
|  endif | ||||
| +ifneq ($(libsuffix), not-set)
 | ||||
| +     CONFIG_FLAGS += -DLIB_SUFFIX=$(libsuffix)
 | ||||
| +endif
 | ||||
|  CONFIG_FLAGS += -DGKLIB_PATH=$(abspath $(gklib_path)) | ||||
|  ifneq ($(gdb), not-set) | ||||
|      CONFIG_FLAGS += -DGDB=$(gdb) | ||||
| @@ -51,6 +57,15 @@
 | ||||
|  ifneq ($(cc), not-set) | ||||
|      CONFIG_FLAGS += -DCMAKE_C_COMPILER=$(cc) | ||||
|  endif | ||||
| +ifneq ($(pcre), not-set)
 | ||||
| +    CONFIG_FLAGS += -DPCRE=$(pcre)
 | ||||
| +endif
 | ||||
| +ifneq ($(gkregex), not-set)
 | ||||
| +    CONFIG_FLAGS += -DGKREGEX=$(gkregex)
 | ||||
| +endif
 | ||||
| +ifneq ($(gkrand), not-set)
 | ||||
| +    CONFIG_FLAGS += -DGKRAND=$(gkrand)
 | ||||
| +endif
 | ||||
|   | ||||
|  VERNUM=5.0.3 | ||||
|  PKGNAME=metis-$(VERNUM) | ||||
							
								
								
									
										20
									
								
								metis-libmetis.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								metis-libmetis.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| --- metis-5.0.3/libmetis/CMakeLists.orig.txt	2011-06-22 19:47:13.000000000 +0200
 | ||||
| +++ metis-5.0.3/libmetis/CMakeLists.txt	2013-03-15 17:13:19.948911972 +0100
 | ||||
| @@ -4,13 +4,14 @@
 | ||||
|  file(GLOB metis_sources *.c) | ||||
|  # Build libmetis. | ||||
|  add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) | ||||
| +set_target_properties(metis PROPERTIES SOVERSION 0)
 | ||||
|  if(UNIX) | ||||
|    target_link_libraries(metis m) | ||||
|  endif() | ||||
|   | ||||
|  if(METIS_INSTALL) | ||||
|    install(TARGETS metis | ||||
| -    LIBRARY DESTINATION lib
 | ||||
| -    RUNTIME DESTINATION lib
 | ||||
| -    ARCHIVE DESTINATION lib)
 | ||||
| +    LIBRARY DESTINATION lib${LIB_SUFFIX}
 | ||||
| +    RUNTIME DESTINATION lib${LIB_SUFFIX}
 | ||||
| +    ARCHIVE DESTINATION lib${LIB_SUFFIX})
 | ||||
|  endif() | ||||
							
								
								
									
										21
									
								
								metis-shared-GKlib.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								metis-shared-GKlib.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| --- metis-5.0.3/GKlib/CMakeLists.orig.txt	2013-03-11 20:50:14.000000000 +0100
 | ||||
| +++ metis-5.0.3/GKlib/CMakeLists.txt	2013-03-17 19:53:44.220827579 +0100
 | ||||
| @@ -7,7 +7,7 @@
 | ||||
|  include(GKlibSystem.cmake) | ||||
|   | ||||
|  include_directories(".") | ||||
| -add_library(GKlib STATIC ${GKlib_sources})
 | ||||
| +add_library(GKlib SHARED ${GKlib_sources})
 | ||||
|  if(UNIX) | ||||
|    target_link_libraries(GKlib m) | ||||
|  endif(UNIX) | ||||
| @@ -16,6 +16,6 @@
 | ||||
|  add_subdirectory("test") | ||||
|   | ||||
|  install(TARGETS GKlib | ||||
| -  ARCHIVE DESTINATION lib
 | ||||
| -  LIBRARY DESTINATION lib)
 | ||||
| -install(FILES ${GKlib_includes} DESTINATION include)
 | ||||
| +  ARCHIVE DESTINATION lib${LIB_SUFFIX}
 | ||||
| +  LIBRARY DESTINATION lib${LIB_SUFFIX})
 | ||||
| +install(FILES ${GKlib_includes} DESTINATION include/metis)
 | ||||
							
								
								
									
										12
									
								
								metis-width-datatype.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								metis-width-datatype.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| --- metis-5.0.3/include/metis.orig.h	2013-03-11 20:50:00.000000000 +0100
 | ||||
| +++ metis-5.0.3/include/metis.h	2013-03-16 12:14:59.117329640 +0100
 | ||||
| @@ -30,7 +30,7 @@
 | ||||
|   GCC does provides these definitions in stdint.h, but it may require some | ||||
|   modifications on other architectures. | ||||
|  --------------------------------------------------------------------------*/ | ||||
| -#define IDXTYPEWIDTH 32
 | ||||
| +#define IDXTYPEWIDTH 64
 | ||||
|   | ||||
|   | ||||
|  /*-------------------------------------------------------------------------- | ||||
| 
 | ||||
							
								
								
									
										170
									
								
								metis.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								metis.spec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,170 @@ | ||||
| Name:    metis | ||||
| Version: 5.0.3 | ||||
| Release: 7%{?dist} | ||||
| Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering | ||||
| License: ASL 2.0 and BSD and LGPLv2+ | ||||
| Group:   Development/Libraries | ||||
| URL:     http://glaros.dtc.umn.edu/gkhome/views/%{name} | ||||
| Source0: http://glaros.dtc.umn.edu/gkhome/fetch/sw/%{name}/%{name}-%{version}.tar.gz | ||||
| 
 | ||||
| ## This patch sets up libmetis soname of libmetis | ||||
| Patch0:  %{name}-libmetis.patch | ||||
| 
 | ||||
| ## This patch sets up shared GKlib library  | ||||
| Patch1:  %{name}-shared-GKlib.patch | ||||
| 
 | ||||
| ## Specify the width (32 or 64 bits) of the elementary data type  | ||||
| ## used in METIS. This is controled by the IDXTYPEWIDTH | ||||
| ## constant. | ||||
| ## For now, on a 32 bit architecture you can only specify a width of 32,  | ||||
| ## whereas for a 64 bit architecture you can specify a width of either  | ||||
| ## 32 or 64 bits. | ||||
| Patch2:  %{name}-width-datatype.patch | ||||
| 
 | ||||
| ## This patch sets up GKREGEX, GKRAND, libsuffix options to the Makefiles  | ||||
| Patch4:  %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch | ||||
| 
 | ||||
| BuildRequires: cmake >= 2.8 | ||||
| BuildRequires: openmpi-devel | ||||
| BuildRequires: pcre-devel | ||||
| BuildRequires: help2man | ||||
| 
 | ||||
| %description | ||||
| METIS is a set of serial programs for partitioning graphs,  | ||||
| partitioning finite element meshes, and producing fill reducing  | ||||
| orderings for sparse matrices.  | ||||
| The algorithms implemented in METIS are based on the multilevel  | ||||
| recursive-bisection, multilevel k-way, and multi-constraint  | ||||
| partitioning schemes developed in our lab. | ||||
| 
 | ||||
| %package devel | ||||
| Summary: The Metis headers and development-related files | ||||
| Group: Development/Libraries | ||||
| Requires: %{name}%{?_isa} = %{version}-%{release} | ||||
| %description devel | ||||
| Header and library files of Metis. | ||||
| 
 | ||||
| %prep | ||||
| %setup -q -n %{name}-%{version} | ||||
| %patch0 -p1 | ||||
| %patch1 -p1 | ||||
| 
 | ||||
| if [ %{__isa_bits} = "64" ]; then | ||||
| %patch2 -p1 | ||||
| fi | ||||
| 
 | ||||
| %patch4 -p1 | ||||
| 
 | ||||
| 
 | ||||
| %build | ||||
| 
 | ||||
| # Build metis | ||||
| cd build | ||||
| %cmake  -DCMAKE_C_COMPILER=%{_bindir}/gcc \ | ||||
|         -DCMAKE_CXX_COMPILER=%{_bindir}/g++ \ | ||||
|         -DGKLIB_PATH=../GKlib  \ | ||||
|         -DSHARED=1 \ | ||||
|         -DOPENMP=%{_includedir}/openmpi-%{_arch} \ | ||||
|         -DPCRE=%{_includedir} \ | ||||
|         -DCMAKE_CXX_FLAGS="%{optflags} -fopenmp -pthread" -DCMAKE_C_FLAGS="%{optflags} -fopenmp -pthread" \ | ||||
|         -DCMAKE_VERBOSE_MAKEFILE=1 \ | ||||
|         -DCMAKE_INSTALL_PREFIX=%{_prefix} \ | ||||
| .. | ||||
| make %{?_smp_mflags} | ||||
| cd ../ | ||||
| 
 | ||||
| 
 | ||||
| %check | ||||
| cp -p %{buildroot}%{_bindir}/* graphs | ||||
| pushd graphs | ||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph | ||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2 | ||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4 | ||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4 | ||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph | ||||
| popd | ||||
| 
 | ||||
| %install | ||||
| pushd build | ||||
| %make_install  | ||||
| popd | ||||
| 
 | ||||
| pushd %{buildroot}%{_bindir} | ||||
| ## Generate manpages from binaries | ||||
| help2man --version-string="%{version}" -n "Partitions a graph into a specified number of parts." \ | ||||
|  --no-info --output="gpmetis.1" --no-discard-stderr --help-option="-help" ./gpmetis | ||||
| 
 | ||||
| help2man --version-string="%{version}" \ | ||||
|  -n "Computes a fill-reducing ordering of the vertices of the graph using multilevel nested dissection." \ | ||||
|  --no-info --output="ndmetis.1" --no-discard-stderr --help-option="-help" ./ndmetis | ||||
| 
 | ||||
| help2man --version-string="%{version}" -n "Partitions a mesh into a specified number of parts." \ | ||||
|  --no-info --output="mpmetis.1" --no-discard-stderr --help-option="-help" ./mpmetis | ||||
| 
 | ||||
| help2man --version-string="%{version}" -n "Converts a mesh into a graph that is compatible with METIS." \ | ||||
|  --no-info --output="m2gmetis.1" --no-discard-stderr --help-option="-help" ./m2gmetis | ||||
| 
 | ||||
| help2man --version-string="%{version}" -n "Checks the graph for format correctness and consistency." \ | ||||
|  --no-info --output="graphchk.1" --no-discard-stderr --help-option="-help" ./graphchk | ||||
| 
 | ||||
| help2man --version-string="%{version}" --no-info --output=cmpfillin.1 --no-discard-stderr \ | ||||
|  --help-option="-help" ./cmpfillin | ||||
| 
 | ||||
| mkdir -p %{buildroot}%{_mandir}/man1 | ||||
| mv *.1 %{buildroot}%{_mandir}/man1 | ||||
| popd | ||||
| 
 | ||||
| 
 | ||||
| %post -p /sbin/ldconfig | ||||
| %postun -p /sbin/ldconfig | ||||
| 
 | ||||
| %files | ||||
| %doc LICENSE.txt Changelog manual/manual.pdf | ||||
| %{_bindir}/* | ||||
| %{_mandir}/man1/*.1.gz | ||||
| %{_libdir}/lib%{name}.so.* | ||||
| 
 | ||||
| %files devel | ||||
| %doc Changelog | ||||
| %{_includedir}/%{name}.h | ||||
| %{_libdir}/lib%{name}.so | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Mar 20 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-7 | ||||
| - Removed explicit manpages compression | ||||
| - License tag changed to 'ASL 2.0 and BSD and LGPLv2+' | ||||
| 
 | ||||
| * Wed Mar 20 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-6 | ||||
| - Modified %%check section to perform tests properly | ||||
| 
 | ||||
| * Tue Mar 19 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-5 | ||||
| - Added %%check section | ||||
| - Removed GK*.h libraries installation | ||||
| 
 | ||||
| * Sun Mar 17 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-4 | ||||
| - Added patch to sets up GKREGEX, GKRAND, libsuffix options to the Makefiles | ||||
| - Configured patch2 condition | ||||
| - soname version of libmetis changed to 0 | ||||
| - Added cmake options and flags to check openmp | ||||
| - GKlib_includes destination changed to include/metis | ||||
| - Added commands to generate binaries man-page | ||||
| - Added BR openmpi-devel, pcre-devel, help2man | ||||
| 
 | ||||
| * Fri Mar 15 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-3 | ||||
| - Static sub-package removed | ||||
| - TEMPORARY fix for files in "/usr/lib" removed | ||||
| - Added patches for set up shared GKlib and soname libmetis  | ||||
| - Removed BR chrpath | ||||
| 
 | ||||
| * Tue Mar 14 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-2 | ||||
| - Initial release changed from 0 to 1 | ||||
| - Removed chrpath command | ||||
| - Added metis-width-datatype.patch only for 64bit systems | ||||
| - Build commands completely changed to use %%cmake | ||||
| - TEMPORARY fix for files in "/usr/lib" | ||||
| 
 | ||||
| * Sat Mar 02 2013 Antonio Trande <sagitter@fedoraproject.org> - 5.0.3-1 | ||||
| - Initial package | ||||
| - Removed chrpaths | ||||
| - Added BR chrpath | ||||
| - Removed exec permissions to silence spurious-executable-perm warning | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user