From f168985a2c3d92aa131dea9393a9e3f29dcabdc1 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Sun, 4 Oct 2020 15:21:19 +0200 Subject: sci-astronomy/sextractor: Fix -fno-common Closes: https://bugs.gentoo.org/707468 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: David Seifert --- .../files/sextractor-2.19.5-fno-common.patch | 277 +++++++++++++++++++++ .../sextractor/sextractor-2.19.5-r1.ebuild | 64 ++--- 2 files changed, 311 insertions(+), 30 deletions(-) create mode 100644 sci-astronomy/sextractor/files/sextractor-2.19.5-fno-common.patch diff --git a/sci-astronomy/sextractor/files/sextractor-2.19.5-fno-common.patch b/sci-astronomy/sextractor/files/sextractor-2.19.5-fno-common.patch new file mode 100644 index 000000000000..1150fe366f5e --- /dev/null +++ b/sci-astronomy/sextractor/files/sextractor-2.19.5-fno-common.patch @@ -0,0 +1,277 @@ +--- a/src/clean.c ++++ b/src/clean.c +@@ -44,6 +44,7 @@ + + /*------------------------------- variables ---------------------------------*/ + ++objliststruct *cleanobjlist; + static LONG *cleanvictim; + + +--- a/src/clean.h ++++ b/src/clean.h +@@ -33,7 +33,7 @@ + + /*------------------------------- variables ---------------------------------*/ + +-objliststruct *cleanobjlist; /* laconic, isn't it? */ ++extern objliststruct *cleanobjlist; /* laconic, isn't it? */ + + /*------------------------------- functions ---------------------------------*/ + +--- a/src/extract.c ++++ b/src/extract.c +@@ -40,6 +40,8 @@ + #include "extract.h" + #include "plist.h" + ++PIXTYPE *dumscan; ++ + /*------------------------- Static buffers for lutz() -----------------------*/ + + static infostruct *info, *store; +--- a/src/extract.h ++++ b/src/extract.h +@@ -37,7 +37,7 @@ + status; /* Extraction status */ + + /*--------------------------------- variables -------------------------------*/ +-PIXTYPE *dumscan; ++extern PIXTYPE *dumscan; + + /*------------------------------- structures --------------------------------*/ + /* Temporary object parameters during extraction */ +--- a/src/filter.c ++++ b/src/filter.c +@@ -44,6 +44,8 @@ + #include "filter.h" + #include "image.h" + ++filterstruct *thefilter; ++ + /******************************** convolve ***********************************/ + /* + Convolve a scan line with an array. +--- a/src/filter.h ++++ b/src/filter.h +@@ -43,7 +43,7 @@ + struct structbpann *bpann; + } filterstruct; + +-filterstruct *thefilter; ++extern filterstruct *thefilter; + + /*------------------------------- functions ---------------------------------*/ + void convolve(picstruct *, PIXTYPE *, int y), +--- a/src/fits/fitscat.c ++++ b/src/fits/fitscat.c +@@ -42,6 +42,10 @@ + #include "fitscat_defs.h" + #include "fitscat.h" + ++float ctg[37], stg[37]; ++char gstr[MAXCHAR]; ++int bswapflag; ++ + /****** about_cat ************************************************************** + PROTO int about_cat(catstruct *cat, FILE *stream) + PURPOSE Print some info about a catalog. +--- a/src/fits/fitscat_defs.h ++++ b/src/fits/fitscat_defs.h +@@ -86,7 +86,7 @@ + typedef int LONG; /* for DEC-Alpha... */ + + /*----------------------------- Internal constants --------------------------*/ +-char gstr[MAXCHAR]; ++extern char gstr[MAXCHAR]; + + /*----------------------------- External constants --------------------------*/ + +--- a/src/fits/fitscat.h ++++ b/src/fits/fitscat.h +@@ -333,6 +333,6 @@ + warning(char *msg1, char *msg2); + + +-int bswapflag; ++extern int bswapflag; + + #endif +--- a/src/globals.h ++++ b/src/globals.h +@@ -30,13 +30,13 @@ + + /*----------------------- miscellaneous variables ---------------------------*/ + +-sexcatstruct thecat; +-picstruct thefield1,thefield2, thewfield1,thewfield2; +-objstruct flagobj; +-obj2struct flagobj2; ++extern sexcatstruct thecat; ++extern picstruct thefield1,thefield2, thewfield1,thewfield2; ++extern objstruct flagobj; ++extern obj2struct flagobj2; + extern obj2struct outobj2; +-float ctg[37], stg[37]; +-char gstr[MAXCHAR]; ++extern float ctg[37], stg[37]; ++extern char gstr[MAXCHAR]; + + /*------------------------------- functions ---------------------------------*/ + extern void alloccatparams(void), +--- a/src/plist.c ++++ b/src/plist.c +@@ -38,6 +38,11 @@ + #include "prefs.h" + #include "plist.h" + ++int plistexist_value, plistexist_dvalue, plistexist_cdvalue, ++ plistexist_flag, plistexist_wflag, plistexist_dthresh, plistexist_var, ++ plistoff_value, plistoff_dvalue, plistoff_cdvalue, ++ plistoff_flag[MAXFLAG], plistoff_wflag, plistoff_dthresh, plistoff_var, ++ plistsize; + + /******************************** createblank ******************************* + PROTO int createblank(int no, objliststruct *objlist) +--- a/src/plist.h ++++ b/src/plist.h +@@ -47,7 +47,7 @@ + + /*-------------------------------- globals ----------------------------------*/ + +-int plistexist_value, plistexist_dvalue, plistexist_cdvalue, ++extern int plistexist_value, plistexist_dvalue, plistexist_cdvalue, + plistexist_flag, plistexist_wflag, plistexist_dthresh, plistexist_var, + plistoff_value, plistoff_dvalue, plistoff_cdvalue, + plistoff_flag[MAXFLAG], plistoff_wflag, plistoff_dthresh, plistoff_var, +--- a/src/preflist.h ++++ b/src/preflist.h +@@ -39,7 +39,7 @@ + #endif + + /*-------------------------------- initialization ---------------------------*/ +- int idummy; ++extern int idummy; + + pkeystruct key[] = + { +--- a/src/prefs.c ++++ b/src/prefs.c +@@ -56,6 +56,9 @@ + #include "preflist.h" + #include "fits/fitscat.h" + ++prefstruct prefs; ++double ddummy; ++int idummy; + + /********************************* dumpprefs ********************************/ + /* +--- a/src/prefs.h ++++ b/src/prefs.h +@@ -249,7 +249,7 @@ + int nthreads; /* Number of active threads */ + } prefstruct; + +- prefstruct prefs; ++extern prefstruct prefs; + + /*-------------------------------- protos -----------------------------------*/ + extern int cistrcmp(char *cs, char *ct, int mode); +--- a/src/psf.c ++++ b/src/psf.c +@@ -47,6 +47,9 @@ + + /*------------------------------- variables ---------------------------------*/ + ++psfstruct *psf,*thedpsf,*thepsf; ++psfitstruct *thepsfit,*thedpsfit; ++PIXTYPE *checkmask; + + extern keystruct objkey[]; + extern objstruct outobj; +--- a/src/psf.h ++++ b/src/psf.h +@@ -102,9 +102,9 @@ + } psfitstruct; + + /*----------------------------- Global variables ----------------------------*/ +-psfstruct *psf,*thedpsf,*thepsf; +-psfitstruct *thepsfit,*thedpsfit; +-PIXTYPE *checkmask; ++extern psfstruct *psf,*thedpsf,*thepsf; ++extern psfitstruct *thepsfit,*thedpsfit; ++extern PIXTYPE *checkmask; + + /*-------------------------------- functions --------------------------------*/ + extern void compute_pos(int *pnpsf,int *pconvflag,int *pnpsfflag, +--- a/src/retina.c ++++ b/src/retina.c +@@ -42,6 +42,7 @@ + #include "image.h" + #include "retina.h" + ++retistruct *theretina; + + /******************************** readretina *********************************/ + /* +--- a/src/retina.h ++++ b/src/retina.h +@@ -38,7 +38,7 @@ + struct structbpann *bpann; /* The neural network */ + } retistruct; + +-retistruct *theretina; ++extern retistruct *theretina; + + /*------------------------------- functions ---------------------------------*/ + +--- a/src/sexhead1.h ++++ b/src/sexhead1.h +@@ -26,8 +26,8 @@ + * + *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +-int idummy; +-double ddummy; ++extern int idummy; ++extern double ddummy; + + keystruct headkey1[] = { + {"EPOCH ", "", +--- a/src/som.c ++++ b/src/som.c +@@ -41,6 +41,8 @@ + #include "prefs.h" + #include "som.h" + ++somstruct *thesom; ++ + /********************************* som_phot **********************************/ + /* + Perform SOM-fitting on a detected source: returns node number of the +--- a/src/som.h ++++ b/src/som.h +@@ -70,7 +70,7 @@ + float stderror; /* Global reduced error */ + } somstruct; + +-somstruct *thesom; ++extern somstruct *thesom; + + /*---------------------------------- protos --------------------------------*/ + +--- a/src/xml.c ++++ b/src/xml.c +@@ -50,6 +50,11 @@ + xmlstruct *xmlstack = NULL; + int nxml=0, nxmlmax=0; + ++sexcatstruct thecat; ++picstruct thefield1,thefield2, thewfield1,thewfield2; ++objstruct flagobj; ++obj2struct flagobj2; ++ + /****** init_xml ************************************************************ + PROTO int init_xml(void) + PURPOSE Initialize a set of meta-data kept in memory before being written to the diff --git a/sci-astronomy/sextractor/sextractor-2.19.5-r1.ebuild b/sci-astronomy/sextractor/sextractor-2.19.5-r1.ebuild index 834a57a2649c..784c9d8c33fe 100644 --- a/sci-astronomy/sextractor/sextractor-2.19.5-r1.ebuild +++ b/sci-astronomy/sextractor/sextractor-2.19.5-r1.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 AUTOTOOLS_AUTO_DEPEND=no @@ -10,65 +10,69 @@ inherit autotools DESCRIPTION="Extract catalogs of sources from astronomical FITS images" HOMEPAGE="http://www.astromatic.net/software/sextractor" SRC_URI="http://www.astromatic.net/download/${PN}/${P}.tar.gz" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" LICENSE="GPL-3" SLOT="0" - +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="doc modelfit test threads" +REQUIRED_USE="test? ( modelfit )" RESTRICT="!test? ( test )" RDEPEND=" !games-misc/sex - modelfit? ( sci-libs/atlas[lapack,threads=] sci-libs/fftw:3.0 )" + modelfit? ( + sci-libs/atlas[lapack,threads=] + sci-libs/fftw:3.0= + )" DEPEND="${RDEPEND} modelfit? ( ${AUTOTOOLS_DEPEND} )" -REQUIRED_USE="test? ( modelfit )" - PATCHES=( - "${FILESDIR}/${P}-fix-format-errors.patch" - "${FILESDIR}/${P}-have-malloc.patch" - "${FILESDIR}/${P}-have-mmap.patch" - "${FILESDIR}/${P}-sigbus.patch" + "${FILESDIR}"/${P}-fix-format-errors.patch + "${FILESDIR}"/${P}-have-malloc.patch + "${FILESDIR}"/${P}-have-mmap.patch + "${FILESDIR}"/${P}-sigbus.patch + "${FILESDIR}"/${P}-fno-common.patch ) src_prepare() { default + if use modelfit; then - local mycblas=atlcblas myclapack=atlclapack - if use threads; then - [[ -e "${EPREFIX}"/usr/$(get_libdir)/libptcblas.so ]] && \ - mycblas=ptcblas - [[ -e "${EPREFIX}"/usr/$(get_libdir)/libptclapack.so ]] && \ - myclapack=ptclapack - fi - sed -i \ - -e "s/-lcblas/-l${mycblas}/g" \ - -e "s/AC_CHECK_LIB(cblas/AC_CHECK_LIB(${mycblas}/g" \ - -e "s/-llapack/-l${myclapack}/g" \ - -e "s/AC_CHECK_LIB(lapack/AC_CHECK_LIB(${myclapack}/g" \ - acx_atlas.m4 || die - eautoreconf + local mycblas=atlcblas + local myclapack=atlclapack + if use threads; then + [[ -e "${EPREFIX}"/usr/$(get_libdir)/libptcblas.so ]] && \ + mycblas=ptcblas + [[ -e "${EPREFIX}"/usr/$(get_libdir)/libptclapack.so ]] && \ + myclapack=ptclapack + fi + sed -i \ + -e "s/-lcblas/-l${mycblas}/g" \ + -e "s/AC_CHECK_LIB(cblas/AC_CHECK_LIB(${mycblas}/g" \ + -e "s/-llapack/-l${myclapack}/g" \ + -e "s/AC_CHECK_LIB(lapack/AC_CHECK_LIB(${myclapack}/g" \ + acx_atlas.m4 || die + eautoreconf fi } src_configure() { econf \ - --with-atlas-incdir="${EPREFIX}/usr/include/atlas" \ + --with-atlas-incdir="${EPREFIX}"/usr/include/atlas \ $(use_enable modelfit model-fitting) \ $(use_enable threads) } src_install() { default - CONFDIR=/usr/share/sextractor - insinto ${CONFDIR} - doins config/* - use doc && dodoc doc/* + + insinto /usr/share/sextractor + doins -r config/. + use doc && dodoc -r doc/. } pkg_postinst() { elog "SExtractor examples configuration files are located in" - elog "${EROOT%/}/${CONFDIR} and are not loaded anymore by default." + elog "${EROOT}/usr/share/sextractor and are not loaded anymore by default." } -- cgit v1.2.3-18-g5258