New port: misc/libpredict: Satellite orbit prediction library

Submitted by:	myself
Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D13758
This commit is contained in:
Yuri Victorovich 2018-01-08 20:22:43 +00:00
parent 21099a102c
commit e8f0d5b998
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=458476
6 changed files with 91 additions and 0 deletions

View File

@ -251,6 +251,7 @@
SUBDIR += libkdeedu
SUBDIR += libmetalink
SUBDIR += libpostal
SUBDIR += libpredict
SUBDIR += libpri
SUBDIR += libsupertone
SUBDIR += libutf

25
misc/libpredict/Makefile Normal file
View File

@ -0,0 +1,25 @@
# $FreeBSD$
PORTNAME= libpredict
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.0
CATEGORIES= misc
MAINTAINER= yuri@FreeBSD.org
COMMENT= Satellite orbit prediction library
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
USES= cmake:outsource
USE_GITHUB= yes
GH_ACCOUNT= la1k
USE_LDCONFIG= yes
PLIST_FILES= include/predict/predict.h \
lib/libpredict.so \
lib/libpredict.so.${DISTVERSION:R:R} \
lib/libpredict.so.${DISTVERSION} \
libdata/pkgconfig/predict.pc
.include <bsd.port.mk>

3
misc/libpredict/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1515032770
SHA256 (la1k-libpredict-v2.0.0_GH0.tar.gz) = d0865c9557dd519a35a827b0c272355240ab04caae7dc689ca079cc5ae0bb03f
SIZE (la1k-libpredict-v2.0.0_GH0.tar.gz) = 454274

View File

@ -0,0 +1,49 @@
--- src/CMakeLists.txt.orig 2017-12-09 13:54:50 UTC
+++ src/CMakeLists.txt
@@ -1,21 +1,21 @@
add_library(predict SHARED orbit.c sun.c observer.c sdp4.c sgp4.c refraction.c unsorted.c julian_date.c version.c moon.c)
-add_library(predict_static STATIC orbit.c sun.c observer.c sdp4.c sgp4.c refraction.c unsorted.c julian_date.c moon.c)
+#add_library(predict_static STATIC orbit.c sun.c observer.c sdp4.c sgp4.c refraction.c unsorted.c julian_date.c moon.c)
-set_target_properties(predict_static PROPERTIES OUTPUT_NAME predict)
+#set_target_properties(predict_static PROPERTIES OUTPUT_NAME predict)
# The VERSION is the version number in the file name:
# libpredict.so.<VERSION>. This should be the full major.minor.patch
# version number.
set_target_properties(predict PROPERTIES VERSION ${PROJECT_VERSION})
-set_target_properties(predict_static PROPERTIES VERSION ${PROJECT_VERSION})
+#set_target_properties(predict_static PROPERTIES VERSION ${PROJECT_VERSION})
# The SOVERSION is the version number in the soname:
# libpredict.so.<SOVERSION>. This should be only the major version
# number, in order for applications to get a runtime dependency on an
# ABI version compatible with the library at build time.
set_target_properties(predict PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
-set_target_properties(predict_static PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
+#set_target_properties(predict_static PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
# Header files needed to compile an application using libpredict
set(predict_public_header)
@@ -24,17 +24,17 @@ list(APPEND predict_public_header
)
set_target_properties(predict PROPERTIES PUBLIC_HEADER "${predict_public_header}")
# Maybe needed on Mac OS?
-#set_target_properties(predict PROPERTIES FRAMEWORK TRUE)
+set_target_properties(predict PROPERTIES FRAMEWORK TRUE)
target_link_libraries(predict m)
-target_link_libraries(predict_static m)
+#target_link_libraries(predict_static m)
# Tell the linker to use the symbol version script
get_property(predict_link_flags TARGET predict PROPERTY LINK_FLAGS)
set(predict_link_flags "${predict_link_flags} -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libpredict.symver")
set_target_properties(predict PROPERTIES LINK_FLAGS ${predict_link_flags})
-install(TARGETS predict predict_static
+install(TARGETS predict
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/predict

View File

@ -0,0 +1,7 @@
--- src/julian_date.c.orig 2017-12-09 13:54:50 UTC
+++ src/julian_date.c
@@ -1,3 +1,4 @@
+#include <time.h>
#define _POSIX_C_SOURCE 1
#include <predict/predict.h>
#include <stdio.h>

View File

@ -0,0 +1,6 @@
libpredict allows to calculate satellite orbits based on their
position parameters at any given time. It supports any orbit
types used by satellites, for example geostationary, elliptical,
geosynchronous.
WWW: https://github.com/la1k/libpredict