diff --git a/astro/Makefile b/astro/Makefile index 6b8556b1ccfb..85dc5da594c3 100644 --- a/astro/Makefile +++ b/astro/Makefile @@ -1,147 +1,148 @@ COMMENT = Astronomical ports SUBDIR += R-cran-maptools SUBDIR += accrete SUBDIR += astrometry SUBDIR += calcmysky SUBDIR += celestia SUBDIR += celestia-gtk SUBDIR += cfitsio SUBDIR += erfa SUBDIR += fowsr SUBDIR += foxtrotgps SUBDIR += geographiclib SUBDIR += gkrellmoon2 SUBDIR += gnuastro SUBDIR += google-earth-pro SUBDIR += gpsbabel SUBDIR += gpsbabel14 SUBDIR += gpscorrelate SUBDIR += gpsd SUBDIR += gpsman SUBDIR += gpsprune SUBDIR += gpstk SUBDIR += gpxloggerd SUBDIR += indiwebmanagerapp SUBDIR += jday SUBDIR += josm SUBDIR += kosmindoormap SUBDIR += kosmorro SUBDIR += kstars SUBDIR += libgal SUBDIR += libnova SUBDIR += libosmium SUBDIR += libosmpbf SUBDIR += luna SUBDIR += marble SUBDIR += match SUBDIR += mepo SUBDIR += merkaartor SUBDIR += mkgmap SUBDIR += mkgmap-splitter SUBDIR += mymoon SUBDIR += nightfall SUBDIR += opencpn SUBDIR += openuniverse SUBDIR += oskar SUBDIR += osmium-tool SUBDIR += osmosis SUBDIR += p5-Astro SUBDIR += p5-Astro-ADS SUBDIR += p5-Astro-App-Satpass2 SUBDIR += p5-Astro-Catalog SUBDIR += p5-Astro-Constants SUBDIR += p5-Astro-Coords SUBDIR += p5-Astro-DSS SUBDIR += p5-Astro-FITS-CFITSIO SUBDIR += p5-Astro-FITS-Header SUBDIR += p5-Astro-Flux SUBDIR += p5-Astro-Hipparcos SUBDIR += p5-Astro-MoonPhase SUBDIR += p5-Astro-PAL SUBDIR += p5-Astro-SIMBAD SUBDIR += p5-Astro-SIMBAD-Client SUBDIR += p5-Astro-SpaceTrack SUBDIR += p5-Astro-SunTime SUBDIR += p5-Astro-Sunrise SUBDIR += p5-Astro-Telescope SUBDIR += p5-Astro-WaveBand SUBDIR += p5-Astro-satpass SUBDIR += p5-GPS SUBDIR += p5-GPS-Babel SUBDIR += p5-GPS-OID SUBDIR += p5-GPS-Point SUBDIR += p5-Geo-METAR SUBDIR += p5-Misc-Quality SUBDIR += p5-Net-GPSD3 SUBDIR += p5-Starlink-AST SUBDIR += p5-Weather-Underground SUBDIR += pal SUBDIR += phd2 SUBDIR += phoon SUBDIR += pngphoon SUBDIR += pp3 SUBDIR += py-astlib SUBDIR += py-astral SUBDIR += py-astroML SUBDIR += py-astropy SUBDIR += py-astropy-helpers SUBDIR += py-ephem SUBDIR += py-extension-helpers + SUBDIR += py-fitsio SUBDIR += py-horoscopegenerator SUBDIR += py-indiweb SUBDIR += py-jplephem SUBDIR += py-kosmorrolib SUBDIR += py-metar SUBDIR += py-metpy SUBDIR += py-pyerfa SUBDIR += py-pykep SUBDIR += py-pymeeus SUBDIR += py-pymetar SUBDIR += py-pysofa SUBDIR += py-pywapi SUBDIR += py-ro SUBDIR += py-sgp4 SUBDIR += py-skyfield SUBDIR += py-skyfield-data SUBDIR += py-spacetrack SUBDIR += py-spktype01 SUBDIR += py-spktype21 SUBDIR += py-sunpy SUBDIR += pykep SUBDIR += pyweather SUBDIR += qmapshack SUBDIR += readosm SUBDIR += rmap SUBDIR += routino SUBDIR += sextractor SUBDIR += siril SUBDIR += sofa SUBDIR += sscalc SUBDIR += stardates SUBDIR += starfetch SUBDIR += starplot SUBDIR += stars SUBDIR += stellarium SUBDIR += stellarsolver SUBDIR += sunclock SUBDIR += sunwait SUBDIR += swe SUBDIR += viking SUBDIR += wcslib SUBDIR += weather SUBDIR += wmglobe SUBDIR += wmjupiter SUBDIR += wmmoonclock SUBDIR += wmsolar SUBDIR += wmspaceweather SUBDIR += wmsun SUBDIR += xearth SUBDIR += xephem SUBDIR += xmoontool SUBDIR += xphoon SUBDIR += xplanet SUBDIR += xtide SUBDIR += xworld .include diff --git a/astro/py-fitsio/Makefile b/astro/py-fitsio/Makefile new file mode 100644 index 000000000000..65bd0d5e0665 --- /dev/null +++ b/astro/py-fitsio/Makefile @@ -0,0 +1,35 @@ +PORTNAME= fitsio +PORTVERSION= 1.2.4 +CATEGORIES= astro python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Full featured python library to read from and write to FITS files +WWW= https://github.com/esheldon/fitsio + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +LIB_DEPENDS= libcfitsio.so:astro/cfitsio +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +MAKE_ENV= FITSIO_USE_SYSTEM_FITSIO=yes \ + FITSIO_SYSTEM_FITSIO_INCLUDEDIR=${LOCALBASE}/include \ + FITSIO_SYSTEM_FITSIO_LIBDIR=${LOCALBASE}/lib + +# Clean up bundled libraries +post-patch: + @${RM} -r ${WRKSRC}/cfitsio-*/ + @${RM} -r ${WRKSRC}/zlib/ + +post-install: + ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + + +.include diff --git a/astro/py-fitsio/distinfo b/astro/py-fitsio/distinfo new file mode 100644 index 000000000000..0871af8f7ac8 --- /dev/null +++ b/astro/py-fitsio/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1725559527 +SHA256 (fitsio-1.2.4.tar.gz) = d57fe347c7657dc1f78c7969a55ecb4fddb717ae1c66d9d22046c171203ff678 +SIZE (fitsio-1.2.4.tar.gz) = 4533680 diff --git a/astro/py-fitsio/pkg-descr b/astro/py-fitsio/pkg-descr new file mode 100644 index 000000000000..87d01278d530 --- /dev/null +++ b/astro/py-fitsio/pkg-descr @@ -0,0 +1,27 @@ +fitsio is a python extension written in c and python. Data are read into +numerical python arrays. + +Some Features: +- Read from and write to image, binary, and ascii table extensions. +- Read arbitrary subsets of table columns and rows without loading all the data + to memory. +- Read image subsets without reading the whole image. Write subsets to existing + images. +- Write and read variable length table columns. +- Read images and tables using slice notation similar to numpy arrays. This is + like a more powerful memmap, since it is column-aware for tables. +- Append rows to an existing table. Delete row sets and row ranges. Resize + tables, or insert rows. +- Query the columns and rows in a table. +- Read and write header keywords. +- Read and write images in tile-compressed format (RICE,GZIP,PLIO,HCOMPRESS). +- Read/write gzip files directly. Read unix compress (.Z,.zip) and bzip2 (.bz2) + files. +- TDIM information is used to return array columns in the correct shape. +- Write and read string table columns, including array columns of arbitrary + shape. +- Read and write complex, bool (logical), unsigned integer, signed bytes types. +- Write checksums into the header and verify them. +- Insert new columns into tables in-place. +- Iterate over rows in a table. Data are buffered for efficiency. +- python 3 support, including python 3 strings