-
-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added recipe for scotch #1427
Added recipe for scotch #1427
Changes from 12 commits
ecf9d3e
5ad5a14
4e3dc89
3cf9e8a
74a83b6
8e2bbb8
a72d719
f5ea92b
440d5a5
2962671
afd3266
ce06309
0bffdd0
abcbff5
904a2b4
86bbec6
9470b2b
ef9c127
31a58b4
6bb7c0c
1c8e316
2c6496b
7d376d6
3b65579
5c36d65
e92001e
42e220b
a4d5035
d87384b
1423d7a
5a3c137
763fcbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/bin/sh | ||
|
||
cd src/ | ||
echo 'prefix = $PREFIX' > Makefile.inc | ||
echo '' >> Makefile.inc | ||
if [ `uname` == "Darwin" ]; then | ||
cp Make.inc/Makefile.inc.i686_mac_darwin10 Makefile.inc | ||
sed -i '' 's/-DSCOTCH_PTHREAD//g' Makefile.inc | ||
sed -i '' 's/-O3/-O3 -fPIC/g' Makefile.inc | ||
else | ||
cp Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc | ||
sed -i "s@CFLAGS\t\t=@CFLAGS\t= -I${PREFIX}/include@" Makefile.inc | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Might need to do this for the library search path too. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know why or how? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why would be to pick up How would be to add There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So I looked at the source briefly. They don't have a configure. 😖 My recommendation would be to copy these files into the recipe and modify them as you see fit. We did this with SuiteSparse and had much success. Keeping this |
||
sed -i "s@CLIBFLAGS\t=@CLIBFLAGS\t= -fPIC@g" Makefile.inc | ||
sed -i 's#-l$(SCOTCHLIB)errexit#-l$(SCOTCHLIB)errexit -lm#g' esmumps/Makefile | ||
fi | ||
make esmumps | tee make.log 2>&1 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
make check | ||
cd .. | ||
|
||
# install. | ||
mkdir -p $PREFIX/lib/ | ||
cp lib/* $PREFIX/lib/ | ||
mkdir -p $PREFIX/bin/ | ||
cp bin/* $PREFIX/bin/ | ||
mkdir -p $PREFIX/include/ | ||
cp include/* $PREFIX/include/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So that's confusing. Why do we need to copy stuff over then? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- src/libscotch/common.c (revision 22563) | ||
+++ src/libscotch/common.c (working copy) | ||
@@ -104,7 +104,14 @@ | ||
#else /* COMMON_TIMING_OLD */ | ||
struct timespec tp; | ||
|
||
- clock_gettime (CLOCK_REALTIME, &tp); /* Elapsed time */ | ||
+#if defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 | ||
+ clock_gettime(CLOCK_REALTIME, &tp); | ||
+#else | ||
+ struct timeval tv; | ||
+ gettimeofday(&tv, NULL); | ||
+ tp.tv_sec = tv.tv_sec; | ||
+ tp.tv_nsec = tv.tv_usec * 1000; | ||
+#endif | ||
|
||
return ((double) tp.tv_sec + (double) tp.tv_nsec * 1.0e-9L); | ||
#endif /* COMMON_TIMING_OLD */ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
{% set name = "scotch" %} | ||
{% set version = "6.0.4" %} | ||
{% set md5 = "d58b825eb95e1db77efe8c6ff42d329f" %} | ||
|
||
package: | ||
name: {{ name|lower }} | ||
version: {{ version }} | ||
|
||
source: | ||
fn: scotch_{{ version }}.tar.gz | ||
md5: {{ md5 }} | ||
url: http://gforge.inria.fr/frs/download.php/file/34618/scotch_6.0.4.tar.gz | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please template the version with jinja here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I changed it, but because the number in the url changes for every file I initially didn't. |
||
patches: | ||
- clock_gettime.patch # [osx] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the purpose of this patch? Has it been submitted upstream? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To be honest I don't know. It was done in another recipe I found and on the homebrew version. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This one. If so, I'm not seeing the patch. I did see a similarly named patch for Perl. In any event, I think we can drop this. |
||
|
||
build: | ||
skip: true # [win] | ||
number: 0 | ||
|
||
requirements: | ||
build: | ||
- gcc | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please drop and replace with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This configures compilation on the OSes to use the system toolchains. On OS X, we use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I reversed the change again, because it didn't compile:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I hear that this is a problem, but this isn't the right fix. Please re-reverse it and look at comment. |
||
- zlib 1.2.* # [linux] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please change to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We also have |
||
run: | ||
- zlib 1.2.* # [linux] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please change to |
||
- libgcc | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please drop. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is no need to ship |
||
|
||
test: | ||
commands: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There seems to be a bunch of executables that are installed. Can we please run There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have added a few. |
||
- test # [osx] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we check to make sure all files are installed correctly? Is there a CLI that we can use to run |
||
|
||
about: | ||
home: https://www.labri.fr/perso/pelegrin/scotch/ | ||
license: CeCILL-C | ||
license_file: LICENSE_en.txt | ||
summary: 'SCOTCH: Static Mapping, Graph, Mesh and Hypergraph Partitioning, and Parallel and Sequential Sparse Matrix Ordering Package' | ||
description: | | ||
Software package and libraries for sequential and parallel | ||
graph partitioning, static mapping and clustering, sequential | ||
mesh and hypergraph partitioning, and sequential and parallel | ||
sparse matrix block ordering. | ||
doc_url: http://gforge.inria.fr/docman/?group_id=248 | ||
|
||
extra: | ||
recipe-maintainers: | ||
- basnijholt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
./configure
?