ifeffit-1.2.11dstuff
download
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic fortran-2
DESCRIPTION="Suite of interactive programs for XAFS analysis"
HOMEPAGE="https://sourceforge.net/projects/ifeffit/"
SRC_URI="https://archive.ubuntu.com/ubuntu/pool/multiverse/${P:0:1}/${PN}/${PN}_${PV}.orig.tar.gz"
S="${WORKDIR}/${PN}-${PV}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc"
RDEPEND="
dev-perl/PGPLOT
sci-libs/pgplot[static-libs]
"
# x11-libs/libX11[static-libs]
# x11-libs/libXi[static-libs]
# x11-libs/libXrender[static-libs]
DEPEND="${RDEPEND}
doc? ( dev-util/gtk-doc )
"
PATCHES=(
"${FILESDIR}"/configuration_patches
"${FILESDIR}"/documentation_patches
"${FILESDIR}"/fortran_patches
"${FILESDIR}"/readline_6.3_patch
"${FILESDIR}"/unescaped-left-brace.patch
"${FILESDIR}"/wrapper_patches
)
src_configure() {
# src/cmdline/iff_shell.c uses K&R prototypes (e.g. `char *stripwhite()`
# then defined with arguments). gcc 16's default (-std=gnu23) treats
# the empty `()` as `(void)` and rejects the definitions with
# 'conflicting types'. Pin to gnu89 so K&R survives. verified
# 2026-05-09.
append-cflags -std=gnu89
./configure --with-pgplot-link="-L/usr/lib64/ -lX11 -lpgplot -lpng -lz -L/usr/lib64/pgplot -lpgplot"
}
src_compile() {
make
}
pkg_install() {
make install
}
pkg_postinst() {
sed -i 's:/var/tmp/portage/sci-physics/ifeffit-9999/work/ifeffit-9999/src/pgstub/libnopgplot.a:/usr/lib64/libifeffit.a:' "${ROOT}"/usr/local/share/ifeffit/config/Config.mak || die "Sed failed!"
sed -i 's:/var/tmp/portage/sci-physics/ifeffit-9999/work/ifeffit-9999/src/pgstub/libnopgplot.a:/usr/lib64/libifeffit.a:' "${ROOT}"/usr/local/share/ifeffit/config/TclSetup.in || die "Sed failed!"
sed -i 's:/var/tmp/portage/sci-physics/ifeffit-9999/work/ifeffit-9999/src/pgstub/libnopgplot.a:/usr/lib64/libifeffit.a:' "${ROOT}"/usr/local/share/ifeffit/config/Makefile.PL || die "Sed failed!"
}