diff options
author | Eli Schwartz <eschwartz93@gmail.com> | 2024-04-26 10:32:48 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-04-26 19:16:37 +0100 |
commit | 44fa80963d6e8705d0dac6d12de4a1632f562b2d (patch) | |
tree | 13c149a3c1c8339915c93680f465438581e23dfe /sci-libs | |
parent | sci-libs/pgplot: fix VariableOrderWrong (diff) | |
download | gentoo-44fa80963d6e8705d0dac6d12de4a1632f562b2d.tar.gz gentoo-44fa80963d6e8705d0dac6d12de4a1632f562b2d.tar.bz2 gentoo-44fa80963d6e8705d0dac6d12de4a1632f562b2d.zip |
sci-libs/pgplot: update EAPI 6 -> 8
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/pgplot/pgplot-5.2.2-r8.ebuild | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/sci-libs/pgplot/pgplot-5.2.2-r8.ebuild b/sci-libs/pgplot/pgplot-5.2.2-r8.ebuild new file mode 100644 index 000000000000..e42bace2cf5a --- /dev/null +++ b/sci-libs/pgplot/pgplot-5.2.2-r8.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fortran-2 flag-o-matic toolchain-funcs + +MY_P="${PN}${PV//.}" + +DESCRIPTION="FORTRAN/C device-independent scientific graphic library" +HOMEPAGE="https://www.astro.caltech.edu/~tjp/pgplot/" +SRC_URI="ftp://ftp.astro.caltech.edu/pub/pgplot/${MY_P}.tar.gz" + +LICENSE="free-noncomm" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc motif static-libs tk" + +RDEPEND=" + media-libs/libpng:= + x11-libs/libX11:= + x11-libs/libXt:= + motif? ( x11-libs/motif:= ) + tk? ( dev-lang/tk:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( virtual/latex-base ) +" + +S="${WORKDIR}/${PN}" + +PATCHES=( + "${FILESDIR}"/${PN}-drivers.patch + "${FILESDIR}"/${PN}-makemake.patch + "${FILESDIR}"/${PN}-compile-setup.patch + "${FILESDIR}"/${PN}-headers.patch + "${FILESDIR}"/${PN}-libpng15.patch + "${FILESDIR}"/${PN}-tk86.patch +) + +src_prepare() { + default + + # fix pointers for 64 bits + if use amd64 || use ia64; then + sed -e 's/INTEGER PIXMAP/INTEGER*8 PIXMAP/g' \ + -i drivers/{gi,pp,wd}driv.f || die "sed 64bits failed" + fi + + cp sys_linux/g77_gcc.conf local.conf + + sed -e "s:FCOMPL=.*:FCOMPL=\"$(tc-getFC)\":g" \ + -e "s:CCOMPL=.*:CCOMPL=\"$(tc-getCC)\":g" \ + -i local.conf || die "sed flags failed" + + if [[ "$(tc-getFC)" = if* ]]; then + sed -e 's/-Wall//g' \ + -e 's/TK_LIBS="/TK_LIBS="-nofor-main /' \ + -i local.conf || die "sed drivers failed" + fi + + sed -e "s:/usr/local/pgplot:${EPREFIX}/usr/$(get_libdir)/pgplot:g" \ + -e "s:/usr/local/bin:${EPREFIX}/usr/bin:g" \ + -i src/grgfil.f makehtml maketex || die "sed path failed" + + use motif && sed -i -e '/XMDRIV/s/!//' drivers.list + use tk && sed -i -e '/TKDRIV/s/!//' drivers.list +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/862918 + # + # Upstream contact method is email. I have sent one. + filter-lto + + # GCC 10 workaround + # bug #722190 + append-fflags $(test-flags-FC -fallow-argument-mismatch) + + ./makemake . linux + # post makefile creation prefix hack + sed -i -e "s|/usr|${EPREFIX}/usr|g" makefile || die +} + +src_compile() { + emake \ + CFLAGS="${CFLAGS} -fPIC" \ + FFLAGS="${FFLAGS} -fPIC" \ + shared cpg-shared pgxwin_server pgdisp pgplot.doc + + use tk && emake CFLAGS="${CFLAGS} -fPIC" libtkpgplot.so + use motif && emake CFLAGS="${CFLAGS} -fPIC" libXmPgplot.so + + emake -j1 clean + use static-libs && emake all cpg + + if use doc; then + export VARTEXFONTS="${T}/fonts" + emake pgplot.html pgplot-routines.tex + pdflatex pgplot-routines.tex + pdflatex pgplot-routines.tex + fi + + # this just cleans out not needed files + emake -j1 clean +} + +src_test() { + # i can go to 16 + local i j + for i in 1 2 3; do + emake pgdemo${i} + # j can also be LATEX CPS... + for j in NULL PNG PS CPS LATEX; do + local testexe=./test_${j}_${i} + echo "LD_LIBRARY_PATH=. ./pgdemo${i} <<EOF" > ${testexe} + echo "/${j}" >> ${testexe} + echo "EOF" >> ${testexe} + sh ${testexe} || die "test ${i} failed" + done + done +} + +src_install() { + insinto /usr/$(get_libdir)/pgplot + doins grfont.dat grexec.f *.inc rgb.txt + echo "PGPLOT_FONT=${EPREFIX}/usr/$(get_libdir)/pgplot/grfont.dat" >> 99pgplot + doenvd 99pgplot + + dolib.so libpgplot.so* + dobin pgxwin_server pgdisp + + # C binding + insinto /usr/include + doins cpgplot.h + dolib.so libcpgplot.so* + + if use motif; then + insinto /usr/include + doins XmPgplot.h + dolib.so libXmPgplot.so* + fi + + if use tk; then + insinto /usr/include + doins tkpgplot.h + dolib.so libtkpgplot.so* + fi + + use static-libs && dolib.a lib*pgplot.a + + # minimal doc + dodoc aaaread.me pgplot.doc + newdoc pgdispd/aaaread.me pgdispd.txt + + if use doc; then + dodoc cpg/cpgplot.doc applications/curvefit/curvefit.doc pgplot.html + dodoc pgplot-routines.pdf pgplot-routines.tex + docinto examples + dodoc -r examples/. cpg/cpgdemo.c + docompress -x /usr/share/doc/${PF}/examples + dodoc -r applications + docompress -x /usr/share/doc/${PF}/applications + if use motif; then + docinto pgm + dodoc -r pgmf/. drivers/xmotif/pgmdemo.c + docompress -x /usr/share/doc/${PF}/pgm + fi + if use tk; then + docinto pgtk + dodoc drivers/xtk/pgtkdemo.* + docompress -x /usr/share/doc/${PF}/pgtk + fi + fi +} |