diff --git a/academic/avl/Makefile_patches/Makefile.avl.patch b/academic/avl/Makefile_patches/Makefile.avl.patch new file mode 100644 index 0000000000..72f218e36d --- /dev/null +++ b/academic/avl/Makefile_patches/Makefile.avl.patch @@ -0,0 +1,123 @@ +--- bin/Makefile 2013-10-06 19:34:54.000000000 -0400 ++++ bin/Makefile.avl 2016-09-27 21:49:02.000000000 -0400 +@@ -2,8 +2,7 @@ + # Makefile for AVL + # + +-BINDIR = /home/codes/bin/ +-INSTALLCMD = install -s ++BINDIR = $(DESTDIR)/usr/bin/ + + SRC = ../src + +@@ -18,92 +17,27 @@ + matrix.o spline.o sgutil.o \ + second.o + +-PLTOBJ = ../plotlib/libPlt.a +-EIGOBJ = ../eispack/eispack.a +-## EIGOBJ = eispack.o +- +-###================================================ +-### Default compilers and flags +-FC = f77 +-FFLAGS = -O +-PLTLIB = -lX11 +-FTNLIB = ++PLTOBJ = ../plotlib/libPlt_gDP.a ++EIGOBJ = ../eispack/eispack_gDP.a + +-#Subroutine SECOND source file +-SECOND = second_g77.f +- +-##-------------------------- +- +-# Uncomment flags for desired machine... +- +-##-------------------------- +-### DEC Alpha with OSF and DEC f77/f90 compiler +-#FC = f77 +-#FFLAGS = -fast -O4 -tune host +-##-------------------------- +-### SGI setup +-#FC = f77 +-#FFLAGS = -O2 +-##-------------------------- +-## Uncomment for RS/6000 +-#FFLAGS = -O -qextname +-##-------------------------- +-## Uncomment for HP-9000 +-#FFLAGS = -O +ppu +-#FTNLIB = -U77 +-##-------------------------- +-### Absoft Linux f77 +-#FC = f77 +-#FFLAGS = -O -f -s -W -B108 -N34 +-##-------------------------- +-### f2c/gcc compiler driver +-#FC = fort77 +-#FFLAGS = -O2 -fomit-frame-pointer +-##-------------------------- +-### GNU g77 +-#FC = g77 +-#FFLAGS = -O3 +-##-------------------------- +-### Intel Fortran Compiler 8.x +-FC = ifort +-FFLAGS = -O +-PLTLIB = -L/usr/X11R6/lib -lX11 +-SECOND = second_ifc.f +-#FTNLIB = -Vaxlib +-##-------------------------- +-### double-precision option (also need double precision Eispack and libPlt) +-FFLAGS = -O -r8 +-PLTOBJ = ../plotlib/libPltDP.a +- +-##--------------------------------------- +-## Uncomment for Mac OSX gfortran + FC = gfortran + +-ACHK = -fbounds-check -finit-real=inf -ffpe-trap=invalid,zero,denormal +-#ACHK = +- ++#ACHK = -fbounds-check -finit-real=inf -ffpe-trap=invalid,zero,denormal ++ACHK = ++PLTLIB=-lX11 ++FTNLIB= + +-#FTNLIB = -Vaxlib +-FTNLIB = + SECOND = second_g77.f + +-DP = +-PLTOBJ = ../plotlib/libPlt_gSP.a +-EIGOBJ = ../eispack/eispack_gSP.a +- +-#DP = -fdefault-real-8 +-#PLTOBJ = ../plotlib/libPltDP.a +-#EIGOBJ = ../eispack/eispack_gDP.a +- +-FFLAGS = -O -m64 $(ACHK) $(DP) +-##--------------------------------------- +- ++DP = -fdefault-real-8 + ++FFLAGS = -O2 $(ACHK) $(DP) + + all: $(PROGS) + + install: $(PROGS) +- $(INSTALLCMD) $(PROGS) $(BINDIR) ++ install -d -m 0755 $(BINDIR) ++ install -m 0755 $(PROGS) $(BINDIR) + + clean: + -/bin/rm $(PROGS) +@@ -114,7 +48,6 @@ + + avl: $(AOBJS) + $(FC) -o avl $(AOBJS) $(ALIBS) $(PLTOBJ) $(EIGOBJ) $(PLTLIB) $(FTNLIB) +- $(INSTALLCMD) avl $(BINDIR) + + dtest: dtest.o + $(FC) -o dtest dtest.o diff --git a/academic/avl/Makefile_patches/Makefile.eispack.patch b/academic/avl/Makefile_patches/Makefile.eispack.patch new file mode 100644 index 0000000000..eb6aee7ef0 --- /dev/null +++ b/academic/avl/Makefile_patches/Makefile.eispack.patch @@ -0,0 +1,28 @@ +--- eispack/Makefile 2013-10-06 19:33:49.000000000 -0400 ++++ eispack/Makefile.eispack 2016-09-11 19:26:35.000000000 -0400 +@@ -1,14 +1,10 @@ +- + FC = gfortran +-FLG = -O ++FLG = -O2 + AR = ar r + RAN = ranlib + +-DP = +-EISLIB = eispack_gSP.a +- +-#DP = -fdefault-real-8 +-#EISLIB = eispack_gDP.a ++DP = -fdefault-real-8 ++EISLIB = eispack_gDP.a + + + $(EISLIB): eispack.f +@@ -17,6 +13,5 @@ + $(RAN) $(EISLIB) + + clean: +- /bin/rm *.o *.a +- ++ rm *.o *.a + diff --git a/academic/avl/Makefile_patches/config.make.plotlib.patch b/academic/avl/Makefile_patches/config.make.plotlib.patch new file mode 100644 index 0000000000..991c2f0b3e --- /dev/null +++ b/academic/avl/Makefile_patches/config.make.plotlib.patch @@ -0,0 +1,25 @@ +--- plotlib/config.make 2013-10-06 19:32:13.000000000 -0400 ++++ plotlib/config.make.plotlib 2016-09-11 21:45:12.000000000 -0400 +@@ -7,7 +7,7 @@ + + + # Set library name +-PLTLIB = libPlt_gSP.a ++PLTLIB = libPlt_gDP.a + + # Some fortrans need trailing underscores in C interface symbols (see Xwin.c) + # This should work for most of the "unix" fortran compilers +@@ -15,10 +15,10 @@ + + FC = gfortran + CC = gcc +-#DP = -fdefault-real-8 ++DP = -fdefault-real-8 + +-FFLAGS = -m64 -O2 $(DP) +-CFLAGS = -m64 -O2 $(DEFINE) -I/usr/X11/include ++FFLAGS = -O2 $(DP) ++CFLAGS = -O2 $(DEFINE) -I/usr/X11/include + AR = ar r + RANLIB = ranlib + LINKLIB = -L/usr/X11R6/lib -lX11 diff --git a/academic/avl/README b/academic/avl/README new file mode 100644 index 0000000000..bbf44dcd07 --- /dev/null +++ b/academic/avl/README @@ -0,0 +1,7 @@ +AVL is a program for the aerodynamic and flight-dynamic analysis of +rigid aircraft of arbitrary configuration. It employs an extended +vortex lattice model for the lifting surfaces, together with a +slender-body model for fuselages and nacelles. General nonlinear flight +states can be specified. The flight dynamic analysis combines a full +linearization of the aerodynamic model about any flight state, together +with specified mass properties. diff --git a/academic/avl/avl.SlackBuild b/academic/avl/avl.SlackBuild new file mode 100644 index 0000000000..268fa689c5 --- /dev/null +++ b/academic/avl/avl.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/sh + +# Slackware build script for avl + +# Copyright 2016 Daniel Prosser, Lexington Park, MD +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=avl +VERSION=${VERSION:-3.35} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf Avl +tar xvf $CWD/$PRGNAM$VERSION.tgz +cd Avl +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Patches to create correct Makefiles +patch -p0 < $CWD/Makefile_patches/config.make.plotlib.patch +patch -p0 < $CWD/Makefile_patches/Makefile.eispack.patch +patch -p0 < $CWD/Makefile_patches/Makefile.avl.patch + +cd plotlib + make +cd - +cd eispack + make +cd - +cd bin + make + make install DESTDIR="$PKG" +cd - + +# This file seems to be useless, and it's weird name causes problems for removepkg +rm runs/?[A + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + README avl_doc.txt session1.txt session2.txt version_notes.txt \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +mkdir -p $PKG/usr/share/$PRGNAM +cp -a runs $PKG/usr/share/$PRGNAM + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/academic/avl/avl.info b/academic/avl/avl.info new file mode 100644 index 0000000000..9b339a97e5 --- /dev/null +++ b/academic/avl/avl.info @@ -0,0 +1,10 @@ +PRGNAM="avl" +VERSION="3.35" +HOMEPAGE="http://web.mit.edu/drela/Public/web/avl/" +DOWNLOAD="http://web.mit.edu/drela/Public/web/avl/avl3.35.tgz" +MD5SUM="c2afea857271f1cde9c42257acbea350" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Daniel Prosser" +EMAIL="dpross1100@msn.com" diff --git a/academic/avl/slack-desc b/academic/avl/slack-desc new file mode 100644 index 0000000000..1ccf62f4e0 --- /dev/null +++ b/academic/avl/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +avl: avl (program for aerodynamic and flight-dynamic analysis of aircraft) +avl: +avl: AVL is a program for the aerodynamic and flight-dynamic analysis of +avl: rigid aircraft of arbitrary configuration. It employs an extended +avl: vortex lattice model for the lifting surfaces, together with a +avl: slender-body model for fuselages and nacelles. General nonlinear +avl: flight states can be specified. The flight dynamic analysis combines a +avl: full linearization of the aerodynamic model about any flight state, +avl: together with specified mass properties. +avl: +avl: Homepage: http://web.mit.edu/drela/Public/web/avl/