summaryrefslogtreecommitdiff
path: root/sci-physics/xfoil
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-physics/xfoil
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-physics/xfoil')
-rw-r--r--sci-physics/xfoil/Manifest11
-rw-r--r--sci-physics/xfoil/files/xfoil-6.96-gfortran.patch29
-rw-r--r--sci-physics/xfoil/files/xfoil-6.97-overflow.patch22
-rw-r--r--sci-physics/xfoil/files/xfoil-6.99-overflow.patch11
-rw-r--r--sci-physics/xfoil/metadata.xml21
-rw-r--r--sci-physics/xfoil/xfoil-6.97-r1.ebuild74
-rw-r--r--sci-physics/xfoil/xfoil-6.99.ebuild75
7 files changed, 243 insertions, 0 deletions
diff --git a/sci-physics/xfoil/Manifest b/sci-physics/xfoil/Manifest
new file mode 100644
index 000000000000..c040948c29ff
--- /dev/null
+++ b/sci-physics/xfoil/Manifest
@@ -0,0 +1,11 @@
+AUX xfoil-6.96-gfortran.patch 920 SHA256 2f4f34aabea6d715ef61d0c71acf629888d74740e9d9b3d5055fe0d68c1c1ec9 SHA512 7f708a3176a08367b125cbe30dcb1830e05df55706e32b5e8964317d0bf961ba0032dd7237f3a721ec3d7b813792decfb9a6d4e750fbb72d70a92a26b1d287ef WHIRLPOOL 4705980e3e5573c9361d262b25bed45316fbc58b37db2985d0506a03191f629e2e4d94874fc41e5eda10fa5fe248d088bd8ff1b3702472d90c278808e1c8fbaf
+AUX xfoil-6.97-overflow.patch 558 SHA256 8c17bc84c000147cfc50915690244cb1b6e801c9e5e1e4cad8eb5f4190d94df4 SHA512 98e12c43fe8b2cbb06595c09f0a65ebf25271649918272672bd72e7132792f6be107874b6ecd6cf49e18e5cbf970ae043da30c3e33e659b155115bb00bfd5a47 WHIRLPOOL 7be53a8627fa7c2c99cc88c4148a379b82b3ed10a6ccfaf30a311b9ffbf538ce1347700f12d44ddbc2083c785b72b7ffb9102369d71f264d2f5e3567140a0b99
+AUX xfoil-6.99-overflow.patch 399 SHA256 8b3c7b22c4439936ec4c66c09cb71288903d43ea238d6bf275499475bf0c8f6b SHA512 8d6defa10c11c204128bea359461da12c3780f178d9738071f5f111d26d6151adbfa67e6898b814df4740e6b7006f5bbbd6ec3bc4ddf65fb511b1ffdf79c468f WHIRLPOOL 98be0c2ecf87579a00a03467c5007ff66905a2c6f52aa3eea1bff13dce4a8b16dc76e61a1f03c2933f1bf999ffdccb4b813a7e5424ca72b3a2a19848a6386451
+DIST dataflow.pdf 7654 SHA256 4596c77a3fa24cd334b35c34fcbd0b4f1d9055273c0862643e2d07b5e774aff5 SHA512 1bb5be8e70fca1fa90f28d214140e96a8795c7d82a37f4fe4d68606fa3eb28252913b8fb13eb3e97a3cf05c3001c88dbfcdb8a2f20d4baed5e730770a2d602b1 WHIRLPOOL 8e13137933ae0e8edc2890ccdd0537444d5fa9530e76caefb3701173c7720d2cb68d9073b70e7948a11ed6668dcd64b3685c750f5cef889c31d1506d3788a530
+DIST xfoil6.97.tar.gz 3972497 SHA256 293e28e269bd88a62f8b6ba6bf684f16843f6776736e6b77aaa8b6bebc467a81 SHA512 02c0a123fb99fa20de1e3577ca7c6ce00d494058f2ef3ec82e3fdea48901f4346180aea3436e001c5b90401007ccdd5b7e9daa6a96794f0d6b5781a5b36e36e7 WHIRLPOOL 3de5e6c56a906a71b2be1fcf39ea031454c9192b4a649a23aaa889566fea2e92b37239fa6ed90c4b050bdb5759943d0265881f316ecd5b48a06fe4217af36ef7
+DIST xfoil6.99.tgz 4515991 SHA256 5c0250643f52ce0e75d7338ae2504ce7907f2d49a30f921826717b8ac12ebe40 SHA512 6f5bed520826dba2efd1b191b1f90dd810b53d9041cbbaddde09207ba9042f99dd0c9e9aa8b8cdf48767bf2695e328ac8fbd297e1510e53ac10b0f1eea35cfef WHIRLPOOL 88ca7c92fb1335f416577dc7df67e22581a32b56affb234f440b9523122429ad7ad37455e3270461909b0eb3d181013daa3db0e869086e218e2eaf5bf5f4e3ce
+EBUILD xfoil-6.97-r1.ebuild 1757 SHA256 9aef8831214a2b71f993d25e3840e0622f379e6ef4825177efc3a14a1bd5f1fb SHA512 e17aff9ca7fde8c9aacfd82364f20f01e3081a63b6c5dd9a27f09e5b7236c4915264bf3a3df510a37ab11a6ba010eadece099e3cfd658d83aa55c0d93f4e4959 WHIRLPOOL 4664c4cb3b1b81b9af9ab64e2d0ae101776a486bb812494873f08db216583841cfaefa29a888c76f1c622820f49b8b00ee40eeb652e1fb5ba4af8b30d0ec41e4
+EBUILD xfoil-6.99.ebuild 1796 SHA256 59cf910244158dfef838ad81852aacf921e259c14542e3ff4f8300078a5e950b SHA512 9f85697b7c355c17ac24ca7971de844af2e2ad194fda2d88cfbaf6945ef35f915dcbf89f2bf46f5e8afd9ad4a064ee25ebdb4a31095726b090a32035b49e001e WHIRLPOOL cf05a3d4af2f13175f0f25a3cfd89b3c3409d9f4a39af03e1f997d2361b2d6a6b881ebc325192b3335c28b1b27e102f53d27b47a30c3b4a693088690416ef060
+MISC ChangeLog 3053 SHA256 7031ae77dad1fbdb0e60b5e023b1eb36aa35c302c265f6cef08b1233e0927420 SHA512 c057e66ad560aee9457f60257b219c251c24fd3082e8bf0811864b325d827ee3f49f9c8ad9f6f27b095721d31a6cfc5e173198e4894361a2523b6759e45a7f45 WHIRLPOOL 7b01d55f8a8db197ceb243296df9c61b2947210fffd6ae2a3409ffd89351424247d30ef9bf4df0e9f99a0c80f4d2110ce747c182218ae53acd1058f0fc31d380
+MISC ChangeLog-2015 3764 SHA256 dd6f4885236409f0c33989b483444cdde05c93d57785fc16478211d4c90ce1b9 SHA512 970115eff91fdbc7c7b1953156b53468f7334694441a379d79fc4abd52aa88570fd18683561fdbdabaa3a08cc3bd2ab3fc8219774437e0accaa4522dd1643bee WHIRLPOOL 5ddab93da3802fb49140474d87319f4d5af0b340110e9d4ccdcc70fab0bae03e2c5a2c603f06ce6b6c3aed6edede66c76693cea3797bf06ea4ac8b827a664b8e
+MISC metadata.xml 980 SHA256 3ee003c7965d6b6bb89c8f918c6e569cf0d917d7fde9887da6f1e2a86e6dfb59 SHA512 7f08a27aabf08fcaed680a4422b318aac095cafef30677cf6b9d5d0336856249b4bd407a364eebf713e321c481c650352e8b12f8242980a6482b745f7c9315af WHIRLPOOL 1141aa7c20df256a35b55b98acad86e289b8fdaf1ae74c1d01f066536b861960e307ec738130ea3d891147eed8e855609522e4c8c20bfc9f0daf1518a50f6094
diff --git a/sci-physics/xfoil/files/xfoil-6.96-gfortran.patch b/sci-physics/xfoil/files/xfoil-6.96-gfortran.patch
new file mode 100644
index 000000000000..b63db05b254c
--- /dev/null
+++ b/sci-physics/xfoil/files/xfoil-6.96-gfortran.patch
@@ -0,0 +1,29 @@
+--- a/plotlib/ps_subs.f
++++ b/plotlib/ps_subs.f
+@@ -559,7 +559,7 @@
+ c in the iout array (3,1,3,1,3,1,3,1)
+ c Note: the bit mask is shifted to always start counting on a '1' bit.
+ c
+-c--- Uses the library routines and() and rshift() for bit manipulation
++c--- Uses the library routines and() and ishft() for bit manipulation
+ c which are present in most fortran libraries as extensions to f77.
+ c
+ dimension iout(*)
+@@ -570,7 +570,7 @@
+ ibitold = and(1,imask)
+ if(ibitold.NE.0) go to 5
+ nshft = n
+- imask = rshift(imask,1)
++ imask = ishft(imask,-1)
+ end do
+ c
+ 5 nout = 0
+@@ -594,7 +594,7 @@
+ c
+ ibitold = ibit
+ nbits = nbits + 1
+- imask = rshift(imask,1)
++ imask = ishft(imask,-1)
+ end do
+ c--- Add final bit(s) to end of 16 bits checked
+ c--- Now append any zero bits shifted out originally
diff --git a/sci-physics/xfoil/files/xfoil-6.97-overflow.patch b/sci-physics/xfoil/files/xfoil-6.97-overflow.patch
new file mode 100644
index 000000000000..6f71440f050c
--- /dev/null
+++ b/sci-physics/xfoil/files/xfoil-6.97-overflow.patch
@@ -0,0 +1,22 @@
+--- a/src/pplot.f
++++ b/src/pplot.f
+@@ -36,7 +36,7 @@
+ PROGRAM PPLOT
+ INCLUDE 'PPLOT.INC'
+ C
+- LOGICAL ERROR, LGETFN
++ LOGICAL ERROR, LGETFN, LERR
+ REAL RINP(10)
+ REAL CPOLO(NAX,IPTOT,NPX), VPOLO(NAX,2,NPX)
+ C
+--- a/src/xoper.f
++++ b/src/xoper.f
+@@ -114,7 +114,7 @@
+ C---- don't try to read integers, since might get integer overflow
+ DO I=1, NINPUT
+ IF(ABS(RINPUT(I)) .GT. 2.1E9) THEN
+- IINPUT(I) = 2**31
++ IINPUT(I) = HUGE(0)
+ ELSE
+ IINPUT(I) = INT(RINPUT(I))
+ ENDIF
diff --git a/sci-physics/xfoil/files/xfoil-6.99-overflow.patch b/sci-physics/xfoil/files/xfoil-6.99-overflow.patch
new file mode 100644
index 000000000000..d35528caa089
--- /dev/null
+++ b/sci-physics/xfoil/files/xfoil-6.99-overflow.patch
@@ -0,0 +1,11 @@
+--- Xfoil/src/xoper.f.orig 2013-12-08 22:21:22.000000000 +0400
++++ Xfoil/src/xoper.f 2017-03-05 23:02:33.214895357 +0300
+@@ -114,7 +114,7 @@
+ C---- don't try to read integers, since might get integer overflow
+ DO I=1, NINPUT
+ IF(ABS(RINPUT(I)) .GT. 2.1E9) THEN
+- IINPUT(I) = 2**30
++ IINPUT(I) = HUGE(0)
+ ELSE
+ IINPUT(I) = INT(RINPUT(I))
+ ENDIF
diff --git a/sci-physics/xfoil/metadata.xml b/sci-physics/xfoil/metadata.xml
new file mode 100644
index 000000000000..d754bd62132e
--- /dev/null
+++ b/sci-physics/xfoil/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-physics@gentoo.org</email>
+ <name>Gentoo Physics Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ XFOIL is an interactive program for the design and analysis of subsonic isolated airfoils.
+ It consists of a collection of menu-driven routines which perform various useful functions such as:
+ * Viscous (or inviscid) analysis of an existing airfoil
+ * Airfoil design and redesign by interactive modification of surface speed distributions
+ * Airfoil redesign by interactive modification of geometric parameters
+ * Blending of airfoils
+ * Writing and reading of airfoil coordinates and polar save files
+ * Plotting of geometry, pressure distributions, and multiple polars
+</longdescription>
+</pkgmetadata>
diff --git a/sci-physics/xfoil/xfoil-6.97-r1.ebuild b/sci-physics/xfoil/xfoil-6.97-r1.ebuild
new file mode 100644
index 000000000000..4582882797f9
--- /dev/null
+++ b/sci-physics/xfoil/xfoil-6.97-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit fortran-2
+
+DESCRIPTION="Design and analysis of subsonic isolated airfoils"
+HOMEPAGE="http://raphael.mit.edu/xfoil/"
+SRC_URI="
+ http://web.mit.edu/drela/Public/web/${PN}/${PN}${PV}.tar.gz
+ doc? ( http://web.mit.edu/drela/Public/web/${PN}/dataflow.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-overflow.patch )
+
+S="${WORKDIR}/${PN^}"
+
+src_prepare() {
+ # fix bug #147033
+ [[ $(tc-getFC) == *gfortran ]] && PATCHES+=( "${FILESDIR}"/${PN}-6.96-gfortran.patch )
+ default
+
+ sed \
+ -e '/^FC/d' \
+ -e '/^CC/d' \
+ -e '/^FFLAGS/d' \
+ -e '/^CFLAGS/d' \
+ -e 's/^\(FFLOPT .*\)/FFLOPT = $(FFLAGS)/g' \
+ -i {bin,plotlib,orrs/bin}/Makefile plotlib/config.make \
+ || die "sed for flags and compilers failed"
+
+ sed \
+ -e "s:/var/local/codes/orrs/osmap.dat:${EPREFIX}/usr/share/xfoil/orrs/osmap.dat:" \
+ -i orrs/src/osmap.f || die "sed osmap.f failed"
+}
+
+src_compile() {
+ emake -C orrs/bin FLG="${FFLAGS}" FTNLIB="${LDFLAGS}" OS
+ pushd orrs >/dev/null || die
+ bin/osgen osmaps_ns.lst
+ popd >/dev/null || die
+ emake -C plotlib CFLAGS="${CFLAGS} -DUNDERSCORE"
+
+ local i
+ for i in xfoil pplot pxplot; do
+ emake -C bin \
+ PLTOBJ="../plotlib/libPlt.a" \
+ CFLAGS="${CFLAGS} -DUNDERSCORE" \
+ FTNLIB="${LDFLAGS}" \
+ $i
+ done
+}
+
+src_install() {
+ dobin bin/{pplot,pxplot,xfoil}
+ insinto /usr/share/xfoil/orrs
+ doins orrs/osm*.dat
+
+ local DOCS=( *.txt README )
+ use doc && DOCS+=( "${DISTDIR}"/dataflow.pdf )
+ einstalldocs
+ if use examples; then
+ dodoc -r runs
+ docompress -x /usr/share/doc/${PF}/runs
+ fi
+}
diff --git a/sci-physics/xfoil/xfoil-6.99.ebuild b/sci-physics/xfoil/xfoil-6.99.ebuild
new file mode 100644
index 000000000000..ab0b383ef990
--- /dev/null
+++ b/sci-physics/xfoil/xfoil-6.99.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit fortran-2
+
+DESCRIPTION="Design and analysis of subsonic isolated airfoils"
+HOMEPAGE="http://raphael.mit.edu/xfoil/"
+SRC_URI="
+ http://web.mit.edu/drela/Public/web/${PN}/${PN}${PV}.tgz
+ doc? ( http://web.mit.edu/drela/Public/web/${PN}/dataflow.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-overflow.patch )
+
+S="${WORKDIR}/${PN^}"
+
+src_prepare() {
+ # fix bug #147033
+ [[ $(tc-getFC) == *gfortran ]] && PATCHES+=( "${FILESDIR}"/${PN}-6.96-gfortran.patch )
+ default
+
+ sed \
+ -e '/^FC/d' \
+ -e '/^CC/d' \
+ -e '/^FFLAGS/d' \
+ -e '/^CFLAGS/d' \
+ -e '/INSTALLCMD/d' \
+ -e 's/^\(FFLOPT .*\)/FFLOPT = $(FFLAGS)/g' \
+ -i {bin,plotlib,orrs/bin}/Makefile plotlib/config.make \
+ || die "sed for flags and compilers failed"
+
+ sed \
+ -e "s:/var/local/codes/orrs/osmap.dat:${EPREFIX}/usr/share/xfoil/orrs/osmap.dat:" \
+ -i orrs/src/osmap.f || die "sed osmap.f failed"
+}
+
+src_compile() {
+ emake -C orrs/bin FLG="${FFLAGS}" FTNLIB="${LDFLAGS}" OS
+ pushd orrs >/dev/null || die
+ bin/osgen osmaps_ns.lst || die
+ popd >/dev/null || die
+ emake -C plotlib CFLAGS="${CFLAGS} -DUNDERSCORE"
+
+ local i
+ for i in blu pplot pxplot xfoil; do
+ emake -C bin \
+ PLTOBJ="../plotlib/libPlt_gSP.a" \
+ CFLAGS="${CFLAGS} -DUNDERSCORE" \
+ FTNLIB="${LDFLAGS}" \
+ $i
+ done
+}
+
+src_install() {
+ dobin bin/{blu,pplot,pxplot,xfoil}
+ insinto /usr/share/xfoil/orrs
+ doins orrs/osm*.dat
+
+ local DOCS=( *.txt README )
+ use doc && DOCS+=( "${DISTDIR}"/dataflow.pdf )
+ einstalldocs
+ if use examples; then
+ dodoc -r runs
+ docompress -x /usr/share/doc/${PF}/runs
+ fi
+}