diff options
author | Joseph Hunkeler <jhunkeler@users.noreply.github.com> | 2018-01-05 15:01:53 -0500 |
---|---|---|
committer | Matt Rendina <rendinam@users.noreply.github.com> | 2018-01-05 15:01:53 -0500 |
commit | 286c9d0cd069759d090007da647e78afdb937596 (patch) | |
tree | d418f7d652cc5de4fe638143c30549a4fe9267b6 /sextractor | |
parent | 90e6679788b9b9f81ef2ec1bad0d7b255ab5300d (diff) | |
download | astroconda-dev-286c9d0cd069759d090007da647e78afdb937596.tar.gz |
[WIP] Next (#75)
* Purge x.x style selectors
* Add python jinja2 selectors
* Add numpy jinja2 selectors
* Add basic build matrix configuration
* Delete iraf package; see astroconda/astroconda-iraf
* Bump all build revisions
* Remove drizzlepac and nose dependencies
* Fixup dependencies
* Strip newlines in version declaration
* Implements new package versioning scheme
* Revert sandboxing
* Purge old or unnecessary packages
* Clean up meta-packages
* Use fake version
* Minor clean up
* Add missing md5 hashes
* Python is not a dependency of XPA
* Remove GIT_ usage in non-git recipe
* Initial commit of asteval
* cubeviz: sed patching glue/numpy/pytest
* Add missing curly braces
* Remove references to pywcs
* Add mosviz
* Fix up specutils
* Forcefully strip all "v" version prefixes. Please stop using them.
* Fix ginga
* Use PYTHON
* Remove d2to1 dep
* Remove d2to1 dep
* Remove d2to1 dep
* Remove d2to1 dep
* Remove deprecated JWST pipeline packages
* Simplify python builds
* Simplify python builds (windows)
* Remove d2to1 dep
* Remove d2to1 dep
* Stop using 2to3
* Remove ATLAS
* Move sextractor to mainline
* Sextractor Intel MKL integration patches (i.e NO ATLAS)
Diffstat (limited to 'sextractor')
-rw-r--r-- | sextractor/bld.bat | 2 | ||||
-rw-r--r-- | sextractor/build.sh | 8 | ||||
-rw-r--r-- | sextractor/meta.yaml | 41 | ||||
-rw-r--r-- | sextractor/sextractor-mkl-gcc.patch | 283 |
4 files changed, 334 insertions, 0 deletions
diff --git a/sextractor/bld.bat b/sextractor/bld.bat new file mode 100644 index 0000000..3dd9db3 --- /dev/null +++ b/sextractor/bld.bat @@ -0,0 +1,2 @@ + +echo Unsupported diff --git a/sextractor/build.sh b/sextractor/build.sh new file mode 100644 index 0000000..674229e --- /dev/null +++ b/sextractor/build.sh @@ -0,0 +1,8 @@ +autoreconf -i +./configure --prefix=$PREFIX \ + --disable-static \ + --enable-mkl-gcc \ + --with-mkl-dir=$PREFIX + +make -j ${CPU_COUNT} +make install diff --git a/sextractor/meta.yaml b/sextractor/meta.yaml new file mode 100644 index 0000000..cc6efab --- /dev/null +++ b/sextractor/meta.yaml @@ -0,0 +1,41 @@ +{% set name = 'sextractor' %} +{% set version = '2.19.5' %} +{% set number = '0' %} + +about: + home: http://www.astromatic.net/download/sextractor + license: GPL + summary: sextractor + +build: + number: {{ number }} + +package: + name: {{ name }} + version: {{ version }} + +requirements: + build: + - autoconf [osx] + - fftw + - gcc + - libtool [osx] + - m4 [osx] + - mkl-devel + - pkgconfig + run: + - mkl + - libgcc + - fftw + +source: + patches: + - {{ name }}-mkl-gcc.patch + + fn: {{ name }}-{{ version }}.tar.gz + url: http://www.astromatic.net/download/sextractor/{{ name }}-{{ version }}.tar.gz + md5: 2115556b5d30571306608b7c023a318f + +test: + commands: + - sex --help diff --git a/sextractor/sextractor-mkl-gcc.patch b/sextractor/sextractor-mkl-gcc.patch new file mode 100644 index 0000000..10f07e3 --- /dev/null +++ b/sextractor/sextractor-mkl-gcc.patch @@ -0,0 +1,283 @@ +diff -u -p --recursive -N a/sextractor-2.19.5/acx_mkl_gcc.m4 b/sextractor-2.19.5/acx_mkl_gcc.m4 +--- a/sextractor-2.19.5/acx_mkl_gcc.m4 1969-12-31 19:00:00.000000000 -0500 ++++ b/sextractor-2.19.5/acx_mkl_gcc.m4 2017-12-30 17:54:54.000000000 -0500 +@@ -0,0 +1,210 @@ ++dnl ++dnl acx_mkl_gcc.m4 ++dnl ++dnl Set up options for using the INTEL MKL library. ++dnl ++dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++dnl ++dnl This file part of: AstrOmatic software ++dnl ++dnl Copyright: (C) 2003-2013 Emmanuel Bertin -- IAP/CNRS/UPMC ++dnl ++dnl License: GNU General Public License ++dnl ++dnl AstrOmatic software is free software: you can redistribute it and/or ++dnl modify it under the terms of the GNU General Public License as ++dnl published by the Free Software Foundation, either version 3 of the ++dnl License, or (at your option) any later version. ++dnl AstrOmatic software is distributed in the hope that it will be useful, ++dnl but WITHOUT ANY WARRANTY; without even the implied warranty of ++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++dnl GNU General Public License for more details. ++dnl You should have received a copy of the GNU General Public License ++dnl along with AstrOmatic software. ++dnl If not, see <http://www.gnu.org/licenses/>. ++dnl ++dnl Last modified: 17/04/2013 ++dnl ++dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++dnl ++dnl @synopsis ACX_MKL_GCC([MKL_DIR, ILP64_FLAG, STATIC_FLAG, CONV_LIBS]) ++dnl ++dnl This macro sets the MKL_CFLAGS, MKL_LDFLAGS and MKL_LIBS variables to ++dnl for compiling and linking with INTEL's MKL. A coma-separated list of ++dnl convenience libraries may be included in the linked group for static linking. ++dnl You may wish to use these variables in your default CFLAGS: ++dnl ++dnl CFLAGS="$CFLAGS $MKL_CFLAGS" ++dnl ++dnl You may wish to use these variables in your default LDFLAGS: ++dnl ++dnl LDFLAGS="$LDFLAGS $MKL_LDLAGS" ++dnl ++dnl You may wish to use these variables in your default LIBS: ++dnl ++dnl LIBS="$LIBS $MKL_LIBS" ++dnl ++ ++AC_DEFUN([ACX_MKL_GCC], [ ++AC_REQUIRE([AC_CANONICAL_HOST]) ++ ++dnl ------------------------ ++dnl Set MKL's root directory ++dnl ------------------------ ++ ++if test x$1 = x; then ++ mklroot=${MKLROOT} ++else ++ mklroot=$1 ++fi ++ ++dnl ----------------------------- ++dnl Include convenience libraries ++dnl ----------------------------- ++ ++if test x$4 = x; then ++ startgroup="-Wl,--start-group" ++else ++ startgroup="-Wl,--start-group,$4" ++fi ++ ++dnl ---------------------- ++dnl Set architecture flags ++dnl ---------------------- ++ ++dnl check if GCC (or clang... it doesn't matter here) compiler is present ++gcc --version 2>&1 | egrep -i "gcc|clang" > /dev/null 2>&1 && flaggcc=yes ++ ++# Meh. ++flag64=yes ++ ++dnl check if the platform is OSX ++sw_vers 2>&1 | grep -i "ProductVersion" > /dev/null 2>&1 && flagosx=yes ++ ++dnl ---------------------- ++dnl Exit if INTEL compiler is not found ++dnl ---------------------- ++if test x$flaggcc = x; then ++ AC_SUBST(MKL_CFLAGS, "") ++ AC_SUBST(MKL_LDFLAGS, "") ++ AC_SUBST(MKL_LIBS, "") ++ MKL_WARN="GCC compiler not detected" ++ AC_SUBST(MKL_WARN) ++ exit ++fi ++ ++if test x$flagosx = xyes; then ++dnl MacOSX ++ if test x$flag64 = xyes; then ++dnl INTEL compiler uses Intel64 architecture ++ if test x$2 = xyes; then ++dnl 64 bit pointers ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -DMKL_ILP64 -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel_ilp64.a \ ++ $mklroot/lib/libmkl_intel_thread.a \ ++ $mklroot/lib/libmkl_core.a -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel_ilp64 \ ++ -lmkl_intel_thread -lmkl_core -lpthread -lm") ++ fi ++ else ++dnl 32 bit pointers ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel_lp64.a \ ++ $mklroot/lib/libmkl_intel_thread.a \ ++ $mklroot/lib/libmkl_core.a -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel_lp64 \ ++ -lmkl_intel_thread -lmkl_core -lpthread -lm") ++ fi ++ fi ++ else ++dnl INTEL compiler uses IA32 architecture ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel.a \ ++ $mklroot/lib/libmkl_intel_thread.a \ ++ $mklroot/lib/libmkl_core.a -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel -lmkl_intel_thread \ ++ -lmkl_core -lpthread -lm") ++ fi ++ fi ++else ++dnl Linux ++ if test x$flag64 = xyes; then ++dnl INTEL compiler uses Intel64 architecture ++ if test x$2 = xyes; then ++dnl 64 bit pointers ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -DMKL_ILP64 -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ++ ["$startgroup,$mklroot/lib/intel64/libmkl_intel_ilp64.a,\ ++$mklroot/lib/intel64/libmkl_intel_thread.a,\ ++$mklroot/lib/intel64/libmkl_core.a,-end-group -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/intel64 -lmkl_intel_ilp64 \ ++ -lmkl_intel_thread -lmkl_core -lpthread -lm") ++ fi ++ else ++dnl 32 bit pointers ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ++ ["$startgroup,$mklroot/lib/intel64/libmkl_intel_lp64.a,\ ++$mklroot/lib/intel64/libmkl_intel_thread.a,\ ++$mklroot/lib/intel64/libmkl_core.a,--end-group -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/intel64 -lmkl_intel_lp64 \ ++ -lmkl_intel_thread -lmkl_core -lpthread -lm") ++ fi ++ fi ++ else ++dnl INTEL compiler uses IA32 architecture ++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include") ++ if test x$3 = xyes; then ++dnl Static linking ++ AC_SUBST(MKL_LIBS, ["$startgroup,$mklroot/lib/ia32/libmkl_intel.a,\ ++$mklroot/lib/ia32/libmkl_intel_thread.a,\ ++$mklroot/lib/ia32/libmkl_core.a,--end-group -lpthread -lm"]) ++ else ++dnl Dynamic linking ++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/ia32 -lmkl_intel -lmkl_intel_thread \ ++ -lmkl_core -lpthread -lm") ++ fi ++ fi ++fi ++ ++AC_SUBST(MKL_LDFLAGS, "") ++ ++dnl -------------------- ++dnl Set internal flags ++dnl -------------------- ++ ++AC_DEFINE(HAVE_MKL,1, [Define if you have the MKL libraries.]) ++AC_DEFINE(HAVE_FFTW,1, [Define if you have the FFTW libraries.]) ++AC_DEFINE(HAVE_LAPACK,1, [Define if you have the LAPACK libraries.]) ++AC_DEFINE(HAVE_LAPACKE,1, [Define if you have the LAPACKe libraries.]) ++ ++dnl -------------------- ++dnl Set include files ++dnl -------------------- ++ ++AC_DEFINE_UNQUOTED(MKL_H, "mkl.h", [MKL header filename.]) ++AC_DEFINE_UNQUOTED(FFTW_H, "fftw/fftw3_mkl.h", [FFTW header filename.]) ++AC_DEFINE_UNQUOTED(LAPACK_H, "mkl_lapack.h", [LAPACK header filename.]) ++AC_DEFINE_UNQUOTED(LAPACKE_H, "mkl_lapacke.h", [LAPACKe header filename.]) ++ ++])dnl ACX_MKL_GCC +diff -u -p --recursive -N a/sextractor-2.19.5/configure.ac b/sextractor-2.19.5/configure.ac +--- a/sextractor-2.19.5/configure.ac 2013-12-14 12:12:32.000000000 -0500 ++++ b/sextractor-2.19.5/configure.ac 2017-12-30 16:37:44.000000000 -0500 +@@ -48,6 +48,7 @@ AC_SUBST(DATE3, "$date3") + sinclude(acx_atlas.m4) + sinclude(acx_fftw.m4) + sinclude(acx_mkl.m4) ++sinclude(acx_mkl_gcc.m4) + sinclude(acx_prog_cc_optim.m4) + sinclude(acx_pthread.m4) + sinclude(acx_urbi_resolve_dir.m4) +@@ -79,12 +80,21 @@ AC_ARG_ENABLE(icc, + AC_MSG_CHECKING([whether we should use INTEL's MKL]) + AC_ARG_ENABLE(mkl, + [AS_HELP_STRING([--enable-mkl], +- [Use INTEL's MKL for solvers and FFTs (off by default)])], ++ [Use INTEL MKL for solvers and FFTs (off by default)])], + enable_icc="yes" + CC="icc" + AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no])) + ++AC_MSG_CHECKING([whether we should use INTEL MKL with gcc]) ++AC_ARG_ENABLE(mkl_gcc, ++ [AS_HELP_STRING([--enable-mkl-gcc], ++ [Use INTEL MKL for solvers and FFTs (off by default)])], ++ enable_mkl_gcc="yes" ++ CC="gcc" ++ AC_MSG_RESULT([yes]), ++ AC_MSG_RESULT([no])) ++ + # Checks for programs. + AC_LANG(C) + +@@ -105,7 +115,7 @@ AC_HEADER_STDC + AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \ + sys/types.h unistd.h]) + # Checks for INTEL math header files. +-if test x$enable_icc = xyes; then ++if test x$enable_icc = xyes || test x$enable_mkl_gcc = xyes; then + AC_CHECK_HEADERS(mathimf.h) + fi + +@@ -226,9 +236,14 @@ AM_CONDITIONAL(USE_THREADS, [test x$use_ + if test x$enable_model_fitting != xno; then + AC_DEFINE(USE_MODEL, 1, [Triggers model-fitting]) + ############ handle the INTEL MKL library (FFTW + LAPACK) ########### +- if test x$enable_mkl = xyes; then ++ if test x$enable_mkl = xyes || test x$enable_mkl_gcc = xyes; then + convlibs="${srcdir}/wcs/libwcs_c.a,${srcdir}/levmar/liblevmar.a" +- ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs) ++ if test x$enable_mkl_gcc = xyes; then ++ ACX_MKL_GCC($with_mkl_dir,,$enable_best_link,$convlibs) ++ else ++ ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs) ++ fi ++ + if test x$MKL_WARN != x; then + AC_MSG_WARN([$MKL_WARN]) + fi +@@ -256,7 +271,7 @@ AM_CONDITIONAL(USE_MODEL, [test x$enable + + # Compile with profiling option + if test x$enable_profiling = xyes; then +- if test x$enable_icc = xyes; then ++ if test x$enable_icc = xyes || test x$enable_mkl_gcc = xyes; then + AM_CFLAGS="$AM_CFLAGS -pq" + else + AM_CFLAGS="$AM_CFLAGS -pg" |