Install this version:
emerge -a =sci-libs/pgplot-5.2.2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sci-libs/pgplot-5.2.2
Or alternatively:
emerge --autounmask-write -a =sci-libs/pgplot-5.2.2
# Copyright 1999-2026 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://sites.astro.caltech.edu/~tjp/pgplot/"
SRC_URI="ftp://ftp.astro.caltech.edu/pub/pgplot/${MY_P}.tar.gz"
S="${WORKDIR}/${PN}"
LICENSE="free-noncomm"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
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 )
"
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
"${FILESDIR}"/${PN}-C99.patch
)
src_prepare() {
default
# X drivers store pointers in 4-byte Fortran INTEGERs; widen them on LP64.
if use amd64 || use arm64 || 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() {
# LTO type mismatch: Gentoo bug 862918; upstream has no issue tracker.
filter-lto
# GCC 16's gnu23 treats K&R `void f()` as `(void)`, rejecting calls with
# arguments in figdisp_comm.c; retain gnu89. # verified 2026-05-09
append-cflags -std=gnu89
# GCC 10 workaround (Gentoo bug 722190).
append-fflags $(test-flags-FC -fallow-argument-mismatch)
./makemake . linux
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
emake -j1 clean
}
src_test() {
local i j
for i in 1 2 3; do
emake pgdemo${i}
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
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
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
}
Manage flags for this package:
euse -i <flag> -p sci-libs/pgplot |
euse -E <flag> -p sci-libs/pgplot |
euse -D <flag> -p sci-libs/pgplot
media-libs/libpng:= x11-libs/libX11:= x11-libs/libXt:= motif? ( x11-libs/motif:= ) tk? ( dev-lang/tk:= )
media-libs/libpng:= x11-libs/libX11:= x11-libs/libXt:= motif? ( x11-libs/motif:= ) tk? ( dev-lang/tk:= )
doc? ( virtual/latex-base )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | pgplot522.tar.gz | 1197397 bytes | ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot522.tar.gz |