Skip to content
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

Merged
merged 32 commits into from
Oct 16, 2016
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ecf9d3e
Add license
basnijholt Aug 30, 2016
5ad5a14
Add build recipe
basnijholt Aug 30, 2016
4e3dc89
Edit [win] selector
basnijholt Aug 30, 2016
3cf9e8a
Correct name of LICENSE
basnijholt Aug 30, 2016
74a83b6
Correct selectors of [linux]
basnijholt Aug 30, 2016
8e2bbb8
Add Jinja templates
basnijholt Aug 30, 2016
a72d719
Correct md5
basnijholt Aug 30, 2016
f5ea92b
Correct [osx] selector
basnijholt Aug 30, 2016
440d5a5
Add test section
basnijholt Aug 30, 2016
2962671
Suggestions jakirkham
basnijholt Aug 30, 2016
afd3266
Remove libgcc
basnijholt Aug 30, 2016
ce06309
toolchain -> gcc
basnijholt Aug 30, 2016
0bffdd0
Remove sed, add -L/lib, add bison, flex, and toolchain, remove libgcc
basnijholt Aug 31, 2016
abcbff5
library search path
basnijholt Aug 31, 2016
904a2b4
PREFIX in include path
basnijholt Aug 31, 2016
86bbec6
Rename Makefile.inc.i686_mac_darwin10
basnijholt Aug 31, 2016
9470b2b
Remove clock_gettime.patch
basnijholt Aug 31, 2016
ef9c127
Exclude test
basnijholt Aug 31, 2016
31a58b4
Add test for /lib/ files
basnijholt Aug 31, 2016
6bb7c0c
Merge pull request #3 from conda-forge/master
basnijholt Sep 20, 2016
1c8e316
More jinja templating
basnijholt Sep 24, 2016
2c6496b
gcc -> clang
basnijholt Sep 24, 2016
7d376d6
Test for installed header files
basnijholt Sep 24, 2016
3b65579
Template friendly url
basnijholt Sep 26, 2016
5c36d65
Add lib and include path in MacOS build file
basnijholt Sep 26, 2016
e92001e
Run executables in test
basnijholt Sep 26, 2016
42e220b
Merge remote-tracking branch 'upstream/master'
basnijholt Sep 27, 2016
a4d5035
conda-forge zlib for OSX
basnijholt Oct 3, 2016
d87384b
shared libs
basnijholt Oct 3, 2016
1423d7a
Revert to non shared lib
basnijholt Oct 3, 2016
5a3c137
fix test
basnijholt Oct 3, 2016
763fcbd
Revert to working commit
basnijholt Oct 3, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions recipes/scotch/Makefile.inc.i686_mac_darwin10
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
EXE =
LIB = .a
OBJ = .o

MAKE = make
AR = ar
ARFLAGS = -ruv
CAT = cat
CCS = gcc
CCP = mpicc
CCD = gcc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use clang?

Copy link
Contributor Author

@basnijholt basnijholt Sep 24, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to clang

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I do it in the Linux Makefile.inc too?

CFLAGS = -O3 -fPIC -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_PTHREAD_BARRIER -DCOMMON_RANDOM_FIXED_SEED -DCOMMON_TIMING_OLD -DSCOTCH_RENAME
CLIBFLAGS =
LDFLAGS = -lz -lm -lpthread
CP = cp
LEX = flex -Pscotchyy -olex.yy.c
LN = ln
MKDIR = mkdir
MV = mv
RANLIB = ranlib
YACC = bison -pscotchyy -y -b y
21 changes: 21 additions & 0 deletions recipes/scotch/Makefile.inc.x86-64_pc_linux2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
EXE =
LIB = .a
OBJ = .o

MAKE = make
AR = ar
ARFLAGS = -ruv
CAT = cat
CCS = gcc
CCP = mpicc
CCD = gcc
CFLAGS = -I${PREFIX}/include -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64
CLIBFLAGS = -fPIC
LDFLAGS = -L${PREFIX}/lib -lz -lm -lrt -pthread
CP = cp
LEX = flex -Pscotchyy -olex.yy.c
LN = ln
MKDIR = mkdir
MV = mv
RANLIB = ranlib
YACC = bison -pscotchyy -y -b y
22 changes: 22 additions & 0 deletions recipes/scotch/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh

cd src/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

./configure?


if [ `uname` == "Darwin" ]; then
cp $RECIPE_DIR/Makefile.inc.i686_mac_darwin10 Makefile.inc
else
cp $RECIPE_DIR/Makefile.inc.x86-64_pc_linux2 Makefile.inc
sed -i 's#-l$(SCOTCHLIB)errexit#-l$(SCOTCHLIB)errexit -lm#g' esmumps/Makefile
fi

make esmumps | tee make.log 2>&1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make check or similar?

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/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No make install?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No make install?

make esmumps also does make install too

Copy link
Member

Choose a reason for hiding this comment

The 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?

50 changes: 50 additions & 0 deletions recipes/scotch/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{% set name = "scotch" %}
{% set version = "6.0.4" %}
{% set md5 = "d58b825eb95e1db77efe8c6ff42d329f" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
fn: scotch_6.0.4.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please change to {{ name }}-{{ version }}.tar.gz.

Copy link
Contributor Author

@basnijholt basnijholt Sep 24, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now jinja templated

md5: {{ md5 }}
url: http://gforge.inria.fr/frs/download.php/file/34618/scotch_6.0.4.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scotch_6.0.4.tar.gz -> scotch_{{ version }}.tar.gz. That should make it easier to update. 😉

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please template the version with jinja here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.


build:
skip: true # [win]
number: 0

requirements:
build:
- toolchain
- zlib 1.2.* # [unix]
- bison
- flex
run:
- zlib 1.2.* # [unix]

test:
commands:
Copy link
Member

Choose a reason for hiding this comment

The 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 --help or --version or similar to check that they do run without crashing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a few.

# Check for library.
- test -f "${PREFIX}/lib/libscotch.a"
- test -f "${PREFIX}/lib/libscotcherr.a"
- test -f "${PREFIX}/lib/libscotcherrexit.a"
- test -f "${PREFIX}/lib/libscotchmetis.a"
- test -f "${PREFIX}/lib/libesmumps.a"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jakirkham I can't find a better way to test these files? What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we check for some dylibs/sos? Also some tests for installed headers would be helpful.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no dylibs/sos as far as I can see. I did include the header file tests now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm not seeing them either now that I'm looking. Is there an option to build dynamic libraries?


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