> On Oct 16, 2016, at 12:41 PM, thib...@macports.org wrote:
> 
> Revision
> 153943
> Author
> thib...@macports.org
> Date
> 2016-10-16 10:41:08 -0700 (Sun, 16 Oct 2016)
> Log Message
> 
> New port: LORENE
> Added Paths
> 
>       • trunk/dports/science/LORENE/
>       • trunk/dports/science/LORENE/Portfile
>       • trunk/dports/science/LORENE/files/
>       • trunk/dports/science/LORENE/files/local_settings
> Diff
> 
> Added: trunk/dports/science/LORENE/Portfile (0 => 153943)
> 
> --- trunk/dports/science/LORENE/Portfile                              (rev 0)
> +++ trunk/dports/science/LORENE/Portfile      2016-10-16 17:41:08 UTC (rev 
> 153943)
> @@ -0,0 +1,67 @@
> +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; 
> c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
> +# $Id$

The whitespace of this portfile does not conform to this modeline. Tabs should 
be replaced with spaces.


> +PortSystem      1.0
> +PortGroup       compilers 1.0
> +
> +cvs.date         20160908
> +
> +name                 LORENE
> +version                      0.0.0~cvs${cvs.date}
> +
> +categories           science
> +maintainers          thibaut openmaintainer
> +description          Langage Objet pour la RElativité NumériquE
> +long_description    LORENE is a set of C++ classes to solve various problems 
> \
> +                    arising in numerical relativity, and more generally in \
> +                    computational astrophysics. It provides tools to solve \
> +                    partial differential equations by means of multi-domain \
> +                    spectral methods.
> +
> +license             gpl-2+
> +platforms            darwin
> +
> +homepage             http://www.lorene.obspm.fr/
> +master_sites     
> https://people.debian.org/~thibaut/debian/pool/main/l/lorene/
> +distname             lorene
> +distfiles            ${distname}_${version}+dfsg.orig.tar.xz

Because this is not a tar.gz file but a tar.xz file, you must use "use_xz yes" 
to tell MacPorts how to decompress it. (Mavericks (?) and later can figure it 
out automatically, but our policy is not to rely on that, and to specify it 
correctly in the Portfile.)


> +checksums           rmd160  36346f8d7a50acee20a5b81051af2e7fe5f188c1 \
> +                    sha256  
> ef797abc51ed8ae27c200f5b71fd0a3824d1fa310392dac57067de2e423222ed
> +worksrcdir           ${distname}-${version}+dfsg
> +
> +depends_lib          port:OpenBLAS \
> +                    port:lapack \
> +                    port:gsl \
> +                    port:fftw-3 \
> +                    port:pgplot \
> +                    port:xorg-libX11
> +
> +compilers.choose    cxx f77
> +compilers.setup     require_fortran
> +
> +configure        {
> +    file copy ${filespath}/local_settings ${worksrcpath}/
> +    reinplace -W ${worksrcpath} "s|@CXX@|${configure.cxx}|g" local_settings
> +    reinplace -W ${worksrcpath} "s|@F77@| ${configure.f77} |g" local_settings
> +    reinplace -W ${worksrcpath} "s|@CXXFLAGS@|${configure.cxxflags}|g" 
> local_settings
> +    reinplace -W ${worksrcpath} "s|@FFLAGS@|${configure.fflags}|g" 
> local_settings
> +    reinplace -W ${worksrcpath} "s|@LDFLAGS@|${configure.ldflags}|g" 
> local_settings
> +    reinplace -W ${worksrcpath} "s|@LIB_FORTRAN@|${compilers.libfortran}|g" 
> local_settings
> +}

I don't see anywhere in this Portfile that arranges for the correct -arch (or, 
in the case of fortran, -m32/-m64) flags to be used. ([get_canonical_archflags 
...])

The universal variant fails and should probably be disabled because:

Error: Cannot install LORENE for the archs 'i386 x86_64' because
Error: its dependency pgplot does not build for the required archs by default
Error: and does not have a universal variant.


> +build.env-append    HOME_LORENE=${worksrcpath}
> +build.target        cpp fortran export
> +use_parallel_build  no
> +
> +destroot            {
> +    xinstall -d ${destroot}${prefix}/lib/lorene/Lib
> +    xinstall {*}[glob ${worksrcpath}/Lib/*.a] 
> ${destroot}${prefix}/lib/lorene/Lib/
> +    xinstall -d ${destroot}${prefix}/lib/lorene/C++/Include
> +    xinstall {*}[glob ${worksrcpath}/C++/Include/*.h] 
> ${destroot}${prefix}/lib/lorene/C++/Include/
> +    xinstall -d ${destroot}${prefix}/lib/lorene/C++/Include/Template
> +    xinstall {*}[glob ${worksrcpath}/C++/Include/Template/*] 
> ${destroot}${prefix}/lib/lorene/C++/Include/Template/
> +    xinstall ${worksrcpath}/local_settings ${destroot}${prefix}/lib/lorene/
> +    xinstall -d ${destroot}${prefix}/lib/lorene/Devel
> +    xinstall {*}[glob ${worksrcpath}/Devel/*] 
> ${destroot}${prefix}/lib/lorene/Devel/
> +    exec cp -a ${worksrcpath}/Codes ${destroot}${prefix}/lib/lorene/
> +}

Why "exec cp -a" instead of "copy"?


> --- trunk/dports/science/LORENE/files/local_settings                          
> (rev 0)
> +++ trunk/dports/science/LORENE/files/local_settings  2016-10-16 17:41:08 UTC 
> (rev 153943)
> @@ -0,0 +1,89 @@
> +     ###############################################################
> +#

Should there be this indentation on the first line?


> +#  Edit the following lines according to your implementation.
> +#
> +#  The environment variable HOME_LORENE (root directory for the
> +#   Lorene implementation) must be have been already defined.
> +#
> +###############################################################
> +
> +#===============================#
> +#           COMPILERS                #
> +#===============================#
> +
> +# C++ compiler:
> +# ------------
> +CXX   = @CXX@
> +
> +# Options for the C++ compiler to produce the optimized library:
> +# -------------------------------------------------------------
> +CXXFLAGS = @CXXFLAGS@ -DNDEBUG -fPIC
> +
> +# Options for the C++ compiler to produce the library for debugging:
> +# -----------------------------------------------------------------
> +CXXFLAGS_G = -g -fPIC
> +
> +# Path for the include files:
> +# --------------------------
> +INC  = -I$(HOME_LORENE)/C++/Include
> +
> +# Converting archives to random libraries (if required, otherwise just ls)
> +# ------------------------------------------------------------------------
> +RANLIB = ls
> +
> +# Fortran 77 compiler:
> +# -------------------
> +F77   = @F77@ 
> +
> +# Options for the Fortran 77 compiler to produce the optimized library:
> +# ---------------------------------------------------------------------
> +F77FLAGS =  @FFLAGS@ -ffixed-form -ffixed-line-length-none -fPIC
> +
> +# Options for the Fortran 77 compiler to produce the library for debugging:
> +# ------------------------------------------------------------------------
> +F77FLAGS_G = -ffixed-form -ffixed-line-length-none -g -fPIC
> +
> +#===============================#
> +#           MAKEDEPEND               #
> +#===============================#
> +
> +# First line uses the C precompiler (usually called cpp)
> +# if yours does not support the -M option try to figure out
> +# how to output dependencies file, or use makedepend (2nd line)
> +#--------------------------------------------------------------
> +MAKEDEPEND = @CXX@ $(INC) -M >> $(df).d $<
> +#MAKEDEPEND = touch $(df).d && makedepend $(INC) -f $(df).d $<
> +DEPDIR = .deps
> +
> +#===============================#
> +#      SYSTEM LIBRARIES              #
> +#===============================#
> +
> +# FFT library: FFT991 in Fortran coming with Lorene
> +#              FFTW3 library (must be installed separately)
> +# -------------------------------------------------------------------
> +FFT_DIR = FFTW3
> +
> +# C, C++ library, mathematical library and Fortran library
> +# ---------------------------------------------------------
> +ifeq ($(FFT_DIR),FFTW3)
> +LIB_CXX = @LDFLAGS@ -lfftw3 @LIB_FORTRAN@ -lstdc++ -lm
> +else 
> +LIB_CXX = @LDFLAGS -lgfortran -lstdc++ -lm
> +endif

On the second LIB_CXX line, did you mean to use "@LIB_FORTRAN@" again instead 
of "-lgfortran"? You probably also meant "@LDFLAGS@" instead of "@LDFLAGS".


> +
> +# Linear Algebra Package (LAPACK) library
> +# ---------------------------------------
> +LIB_LAPACK = -llapack -lblas
> +
> +# Graphical libraries: PGPLOT, PNG and X11
> +# ----------------------------------------
> +LIB_PGPLOT = -lcpgplot -lpgplot -lX11
> +
> +# GNU scientific library
> +# -----------------------------------
> +LIB_GSL = -lgsl -lgslcblas



_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to