aboutsummaryrefslogtreecommitdiff
path: root/astro
diff options
context:
space:
mode:
Diffstat (limited to 'astro')
-rw-r--r--astro/Makefile1
-rw-r--r--astro/boinc-setiathome/Makefile69
-rw-r--r--astro/boinc-setiathome/distinfo2
-rw-r--r--astro/boinc-setiathome/files/app_info.xml16
-rw-r--r--astro/boinc-setiathome/files/patch-client::Makefile.in25
-rw-r--r--astro/boinc-setiathome/files/patch-db::db_table.h119
-rw-r--r--astro/boinc-setiathome/files/patch-db::schema_to_class.awk35
-rw-r--r--astro/boinc-setiathome/files/patch-db::schema_to_class.in11
-rw-r--r--astro/boinc-setiathome/files/patch-db::sqlblob.h28
-rw-r--r--astro/boinc-setiathome/files/patch-db::xml_util.h11
-rw-r--r--astro/boinc-setiathome/pkg-descr18
-rw-r--r--astro/boinc-setiathome/pkg-install7
-rw-r--r--astro/boinc-setiathome/pkg-plist7
13 files changed, 349 insertions, 0 deletions
diff --git a/astro/Makefile b/astro/Makefile
index fd72c2fa0941..98af22f5f7a9 100644
--- a/astro/Makefile
+++ b/astro/Makefile
@@ -5,6 +5,7 @@
SUBDIR += SETIsupport
SUBDIR += accrete
+ SUBDIR += boinc-setiathome
SUBDIR += celestia
SUBDIR += cfitsio
SUBDIR += dgpsip
diff --git a/astro/boinc-setiathome/Makefile b/astro/boinc-setiathome/Makefile
new file mode 100644
index 000000000000..c57047859ba4
--- /dev/null
+++ b/astro/boinc-setiathome/Makefile
@@ -0,0 +1,69 @@
+# New ports collection makefile for: boinc-setiathome
+# Date created: 01 October 2004
+# Whom: J.R. Oldroyd <fbsd@opal.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= boinc-setiathome
+PORTVERSION= 4.03
+CATEGORIES= astro
+MASTER_SITES= http://boinc.berkeley.edu/seti_source/nightly/
+DISTNAME= seti_boinc-client-cvs-2004-10-01
+
+MAINTAINER= fbsd@opal.com
+COMMENT= Setiathome for boinc
+
+BUILD_DEPENDS= ${LOCALBASE}/boinc/api/boinc_api.h:${PORTSDIR}/net/boinc-client
+RUN_DEPENDS= boinc-client:${PORTSDIR}/net/boinc-client
+LIB_DEPENDS= fftw.2:${PORTSDIR}/math/fftw
+
+GNU_CONFIGURE= yes
+USE_REINPLACE= yes
+CONFIGURE_ENV= LANG=C BOINCDIR=${LOCALBASE}/boinc CPPFLAGS=-I/usr/X11R6/include CFLAGS=-I/usr/X11R6/include LDFLAGS=-L/usr/local/lib
+MAKE_ENV= LANG=C
+USE_GMAKE= yes
+PKGINSTALL= ${WRKDIR}/pkg-install
+
+WRKSRC= ${WRKDIR}/seti_boinc/client
+CONFIGURE_WRKSRC=${WRKDIR}/seti_boinc/
+
+FIND_SETI_BINARY=(cd ${WRKSRC}; make -V PROG)
+SETI_SITE?= setiathome.berkeley.edu
+PLIST_SUB= SETI_SITE=${SETI_SITE} BOINC_HOME=${BOINC_HOME}
+
+# these must match settings in ../../net/boinc-client/Makefile
+BOINC_USER= boinc
+BOINC_HOME= /var/db/boinc
+BOINC_DATADIR= ${PREFIX}/boinc
+
+# ${TOUCH} ${WRKDIR}/seti_boinc/db/schema_master.cpp
+pre-patch:
+ ${TOUCH} ${WRKDIR}/seti_boinc/client/dependencies
+ ${TOUCH} ${WRKDIR}/seti_boinc/db/dependencies
+
+post-build:
+ ${SED} -e "s:%%SETI_BINARY%%:`${FIND_SETI_BINARY}`:g" \
+ -e "s:%%SETI_SITE%%:${SETI_SITE}:g" \
+ -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \
+ < ${FILESDIR}/app_info.xml > ${WRKDIR}/app_info.xml
+ ${SED} -e "s:%%SETI_SITE%%:${SETI_SITE}:g" \
+ -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \
+ -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \
+ < pkg-install > ${WRKDIR}/pkg-install
+
+do-install:
+ ${MKDIR} ${PREFIX}/boinc/projects/${SETI_SITE}
+ ${INSTALL_PROGRAM} ${WRKSRC}/`${FIND_SETI_BINARY}` ${PREFIX}/boinc/projects/${SETI_SITE}
+ ${INSTALL_DATA} ${WRKDIR}/app_info.xml ${PREFIX}/boinc/projects/${SETI_SITE}
+ ${MKDIR} ${BOINC_HOME}/projects/${SETI_SITE}/
+ ${LN} -s ${PREFIX}/boinc/projects/${SETI_SITE}/`${FIND_SETI_BINARY}` ${BOINC_HOME}/projects/${SETI_SITE}
+ ${LN} -s ${PREFIX}/boinc/projects/${SETI_SITE}/app_info.xml ${BOINC_HOME}/projects/${SETI_SITE}
+
+post-install:
+ ${REINPLACE_CMD} \
+ -e "s:%%SETI_BINARY%%:`${FIND_SETI_BINARY}`:g" \
+ -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" ${TMPPLIST}
+ @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.include <bsd.port.mk>
diff --git a/astro/boinc-setiathome/distinfo b/astro/boinc-setiathome/distinfo
new file mode 100644
index 000000000000..d5b835d5b187
--- /dev/null
+++ b/astro/boinc-setiathome/distinfo
@@ -0,0 +1,2 @@
+MD5 (seti_boinc-client-cvs-2004-10-01.tar.gz) = 9e4f91cf0bb468da09350da54b98aa7b
+SIZE (seti_boinc-client-cvs-2004-10-01.tar.gz) = 1202532
diff --git a/astro/boinc-setiathome/files/app_info.xml b/astro/boinc-setiathome/files/app_info.xml
new file mode 100644
index 000000000000..d4a3d3c8d855
--- /dev/null
+++ b/astro/boinc-setiathome/files/app_info.xml
@@ -0,0 +1,16 @@
+<app_info>
+ <app>
+ <name>setiathome</name>
+ </app>
+ <file_info>
+ <name>%%SETI_BINARY%%</name>
+ </file_info>
+ <app_version>
+ <app_name>setiathome</app_name>
+ <version_num>403</version_num>
+ <file_ref>
+ <file_name>%%SETI_BINARY%%</file_name>
+ <main_program/>
+ </file_ref>
+ </app_version>
+</app_info>
diff --git a/astro/boinc-setiathome/files/patch-client::Makefile.in b/astro/boinc-setiathome/files/patch-client::Makefile.in
new file mode 100644
index 000000000000..7fbf79fdbfb9
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-client::Makefile.in
@@ -0,0 +1,25 @@
+--- Makefile.in.orig Mon Aug 30 17:31:09 2004
++++ Makefile.in Thu Oct 4 00:10:02 2004
+@@ -98,11 +98,11 @@
+ @RANLIB@ libooura.$(LIBEXT)
+
+ $(PROG): main.$(OBJEXT) libooura.$(LIBEXT) $(OBJS)
+- $(CXX) main.$(OBJEXT) $(OBJS) $(LIBS) $(CLIBS) -o $(PROG) $(BOINC_OBJS)
++ $(CXX) main.$(OBJEXT) $(OBJS) $(LIBS) $(LDFLAGS) $(CLIBS) -o $(PROG) $(BOINC_OBJS)
+ strip $(PROG)
+
+ $(GUIPROG): $(GUIOBJS) libooura.$(LIBEXT)
+- $(CXX) $(GUIOBJS) $(GUILIBS) $(CLIBS) -o $(GUIPROG).debug $(BOINC_OBJS)
++ $(CXX) $(GUIOBJS) $(GUILIBS) $(LDFLAGS) $(CLIBS) -o $(GUIPROG).debug $(BOINC_OBJS)
+ cp $(GUIPROG).debug $(GUIPROG)
+ strip $(GUIPROG)
+
+@@ -115,7 +115,7 @@
+ $(CXX) $(CXXFLAGS) $(BOINC_INC) -I.. -I../db -DTEST_VERSION -c -o main_test.$(OBJEXT) main.cpp
+
+ setiathome_test$(DOTEXEEXT): main_test.$(OBJEXT) $(OBJS) libooura.$(LIBEXT)
+- $(CXX) main_test.$(OBJEXT) $(OBJS) $(LIBS) $(CLIBS) -o setiathome_test$(DOTEXEEXT) $(BOINC_OBJS)
++ $(CXX) main_test.$(OBJEXT) $(OBJS) $(LIBS) $(LDFLAGS) $(CLIBS) -o setiathome_test$(DOTEXEEXT) $(BOINC_OBJS)
+
+ ../db/sqlrow_client.$(OBJEXT): ../db/sqlrow.cpp ../db/sqlrow.h
+ (cd ../db; $(MAKE) sqlrow_client.$(OBJEXT))
diff --git a/astro/boinc-setiathome/files/patch-db::db_table.h b/astro/boinc-setiathome/files/patch-db::db_table.h
new file mode 100644
index 000000000000..a56ce6c7d534
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-db::db_table.h
@@ -0,0 +1,119 @@
+--- ../db/db_table.h.orig Mon Apr 5 16:03:33 2004
++++ ../db/db_table.h Sun Oct 3 15:41:31 2004
+@@ -53,6 +53,52 @@
+ };
+
+ template <typename T>
++class db_table;
++
++template <typename T>
++std::ostream &operator <<(std::ostream &o, const db_type<T> &a) {
++ o << a.print_xml();
++ return o;
++}
++
++template <typename T>
++std::ostream &operator <<(std::ostream &o, const db_table<T> &a) {
++ o << a.me->print_xml();
++ return o;
++}
++
++template <typename T>
++std::istream &operator >>(std::istream &i, db_table<T> &a) {
++ std::string s;
++ std::string s_tag("<");
++ std::string e_tag("</");
++ s_tag+=a._search_tag;
++ e_tag+=a._search_tag;
++ std::string buffer("");
++ bool found=false, done=false;
++ while (!i.eof() && !done) {
++ i >> s;
++ if (xml_match_tag(s,s_tag.c_str())) {
++ found=true;
++ }
++ if (found) buffer+=(s+' ');
++ if (xml_match_tag(s,e_tag.c_str())) {
++ found=false;
++ done=true;
++ }
++ }
++ a.me->parse_xml(buffer);
++ std::string::size_type p=buffer.find(e_tag);
++ if (p != std::string::npos) {
++ p=buffer.find('>',p+1);
++ if (p != std::string::npos) {
++ i.seekg(p-buffer.size(),std::ios::cur);
++ }
++ }
++ return i;
++}
++
++template <typename T>
+ class db_table {
+ public:
+ db_table(T &t, SQL_CURSOR c);
+@@ -332,12 +378,6 @@
+
+ #endif
+
+-template <typename T>
+-std::ostream &operator <<(std::ostream &o, const db_type<T> &a) {
+- o << a.print_xml();
+- return o;
+-}
+-
+ template <typename T, typename ID_TYPE>
+ std::ostream &operator <<(std::ostream &o, const db_reference<T,ID_TYPE> &a) {
+ o << a.print_xml();
+@@ -345,12 +385,6 @@
+ }
+
+ template <typename T>
+-std::ostream &operator <<(std::ostream &o, const db_table<T> &a) {
+- o << a.me->print_xml();
+- return o;
+-}
+-
+-template <typename T>
+ const char *db_type<T>::search_tag(const char *s) {
+ if (s) {
+ _search_tag=s;
+@@ -368,37 +402,6 @@
+ _search_tag=table_name;
+ }
+ return _search_tag;
+-}
+-
+-template <typename T>
+-std::istream &operator >>(std::istream &i, db_table<T> &a) {
+- std::string s;
+- std::string s_tag("<");
+- std::string e_tag("</");
+- s_tag+=a._search_tag;
+- e_tag+=a._search_tag;
+- std::string buffer("");
+- bool found=false, done=false;
+- while (!i.eof() && !done) {
+- i >> s;
+- if (xml_match_tag(s,s_tag.c_str())) {
+- found=true;
+- }
+- if (found) buffer+=(s+' ');
+- if (xml_match_tag(s,e_tag.c_str())) {
+- found=false;
+- done=true;
+- }
+- }
+- a.me->parse_xml(buffer);
+- std::string::size_type p=buffer.find(e_tag);
+- if (p != std::string::npos) {
+- p=buffer.find('>',p+1);
+- if (p != std::string::npos) {
+- i.seekg(p-buffer.size(),std::ios::cur);
+- }
+- }
+- return i;
+ }
+
+ template <typename T>
diff --git a/astro/boinc-setiathome/files/patch-db::schema_to_class.awk b/astro/boinc-setiathome/files/patch-db::schema_to_class.awk
new file mode 100644
index 000000000000..d54587988295
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-db::schema_to_class.awk
@@ -0,0 +1,35 @@
+--- ../db/schema_to_class.awk.orig Thu Sep 30 21:58:31 2004
++++ ../db/schema_to_class.awk Sun Oct 3 21:45:08 2004
+@@ -344,15 +344,15 @@
+ print "\tvoid parse_xml(const std::string &s,const char *tag=\""table"\");" >headerfile
+ print " private:\n};\n\n" >headerfile
+ if (is_typedef) {
+- print "const char * const db_type<"table">::type_name=\""table"\";" >sourcefile
+- print "const char * db_type<"table">::_search_tag=type_name;" >sourcefile
+- print "const int db_type<"table">::_nfields="nfields-1";" >sourcefile
+- printf("const char * const db_type<%s>::column_names[%d]={",table,nfields-1) >sourcefile
++ print "template <> const char * const db_type<"table">::type_name=\""table"\";" >sourcefile
++ print "template <> const char * db_type<"table">::_search_tag=type_name;" >sourcefile
++ print "template <> const int db_type<"table">::_nfields="nfields-1";" >sourcefile
++ printf("template <> const char * const db_type<%s>::column_names[%d]={",table,nfields-1) >sourcefile
+ } else {
+- print "const char * const db_table<"table">::table_name=\""table"\";" >sourcefile
+- print "const char * db_table<"table">::_search_tag=table_name;" >sourcefile
+- print "const int db_table<"table">::_nfields="nfields-1";" >sourcefile
+- printf("const char * const db_table<%s>::column_names[%d]={",table,nfields-1) >sourcefile
++ print "template <> const char * const db_table<"table">::table_name=\""table"\";" >sourcefile
++ print "template <> const char * db_table<"table">::_search_tag=table_name;" >sourcefile
++ print "template <> const int db_table<"table">::_nfields="nfields-1";" >sourcefile
++ printf("template <> const char * const db_table<%s>::column_names[%d]={",table,nfields-1) >sourcefile
+ }
+ for (i=1;i<nfields;i++) printf("\"%s\"%s",fields[i],comma[i]) >sourcefile
+ print "};\n" >sourcefile
+@@ -618,7 +618,7 @@
+ if (sis_deftype) print "\trv << xml_indent(-2);" > sourcefile
+ print "\trv << \"</"fields[i]">\\n\"; " >sourcefile
+ } else if (type[i]=="s") {
+- print "\t{\n\t std::string enc_field=xml_encode_string<char>("fields[i]",std::min(strlen("fields[i]"),sizeof("fields[i]")));" > sourcefile
++ print "\t{\n\t std::string enc_field=xml_encode_string("fields[i]",std::min(strlen("fields[i]"),sizeof("fields[i]")));" > sourcefile
+ print "\t rv << xml_indent() << \"<"fields[i]">\";" > sourcefile
+ print "\t rv << enc_field << \"</"fields[i]">\\n\";" >sourcefile
+ print "\t}" >> sourcefile
diff --git a/astro/boinc-setiathome/files/patch-db::schema_to_class.in b/astro/boinc-setiathome/files/patch-db::schema_to_class.in
new file mode 100644
index 000000000000..7f7324b75fd5
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-db::schema_to_class.in
@@ -0,0 +1,11 @@
+--- ../db/schema_to_class.in.orig Wed Sep 22 18:42:01 2004
++++ ../db/schema_to_class.in Sun Oct 3 17:28:10 2004
+@@ -22,7 +22,7 @@
+ @CAT@ $1 | @TR@ "[A-Z]" "[a-z]" | @SED@ 's/\`//g' >>$filename
+
+ @AWK@ -f @SAH_TOP_DIR@/db/schema_to_class.awk $filename
+-INDENT=@INDENT@
++INDENT=
+ if test -n "$INDENT"
+ then
+ @INDENT@ @INDENT_FLAGS@ $filename.h
diff --git a/astro/boinc-setiathome/files/patch-db::sqlblob.h b/astro/boinc-setiathome/files/patch-db::sqlblob.h
new file mode 100644
index 000000000000..5df9c99f3602
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-db::sqlblob.h
@@ -0,0 +1,28 @@
+--- ../db/sqlblob.h.orig Thu Jul 1 13:55:37 2004
++++ ../db/sqlblob.h Sun Oct 3 17:01:17 2004
+@@ -73,6 +73,12 @@
+ }
+
+
++template <typename T>
++inline std::string xml_encode_string(const sqlblob<T> &input,
++ xml_encoding encoding=_x_xml_entity) {
++ return xml_encode_string(static_cast<const T *>(input),input.size(),encoding);
++}
++
+
+ template <typename T=unsigned char>
+ class sqlblob {
+@@ -123,12 +129,6 @@
+ template <typename T>
+ std::string sqlblob<T>::print_raw() const {
+ return std::string(reinterpret_cast<const char *>(&(*begin())),size());
+-}
+-
+-template <typename T>
+-inline std::string xml_encode_string(const sqlblob<T> &input,
+- xml_encoding encoding=_x_xml_entity) {
+- return xml_encode_string(static_cast<const T *>(input),input.size(),encoding);
+ }
+
+
diff --git a/astro/boinc-setiathome/files/patch-db::xml_util.h b/astro/boinc-setiathome/files/patch-db::xml_util.h
new file mode 100644
index 000000000000..c7f6a32f360a
--- /dev/null
+++ b/astro/boinc-setiathome/files/patch-db::xml_util.h
@@ -0,0 +1,11 @@
+--- ../db/xml_util.h.orig Wed Jun 30 16:52:29 2004
++++ ../db/xml_util.h Sun Oct 3 21:16:22 2004
+@@ -223,7 +223,7 @@
+ template <typename T>
+ inline std::string xml_encode_string(const std::vector<T> &input,
+ xml_encoding encoding=_x_xml_entity) {
+- return xml_encode_string<T>(&(*(input.begin())),input.size(),encoding);
++ return xml_encode_string(&(*(input.begin())),input.size(),encoding);
+ }
+
+ #include <cctype>
diff --git a/astro/boinc-setiathome/pkg-descr b/astro/boinc-setiathome/pkg-descr
new file mode 100644
index 000000000000..c87190487526
--- /dev/null
+++ b/astro/boinc-setiathome/pkg-descr
@@ -0,0 +1,18 @@
+SETI - Search for Extra-Terrestrial Intelligence
+
+Use your unused CPU cycles to aid in computations analyzing radio
+telescope information for possible signs of ET.
+
+This version of SETI@home is based on BOINC (Berkeley Open
+Infrastructure for Network Computing). Several other projects
+besides SETI@home are using BOINC. BOINC lets you participate in
+more than one project, and it lets you specify what fraction of
+your computer time should go to each project.
+
+This port requires net/boinc-client and together these supersede
+the astro/setiathome port which is now known as SETI-Classic.
+
+Be sure to join the "FreeBSD" team on the SETI website once you're
+up and running.
+
+WWW: http://setiweb.ssl.berkeley.edu/
diff --git a/astro/boinc-setiathome/pkg-install b/astro/boinc-setiathome/pkg-install
new file mode 100644
index 000000000000..3ffb2d593006
--- /dev/null
+++ b/astro/boinc-setiathome/pkg-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ chown %%BOINC_USER%% %%BOINC_HOME%%/projects/%%SETI_SITE%%
+ ;;
+esac
diff --git a/astro/boinc-setiathome/pkg-plist b/astro/boinc-setiathome/pkg-plist
new file mode 100644
index 000000000000..e558b6f74baf
--- /dev/null
+++ b/astro/boinc-setiathome/pkg-plist
@@ -0,0 +1,7 @@
+@comment @unexec %D/boinc/boinc_client -detach_project %%SETI_SITE%%
+boinc/projects/%%SETI_SITE%%/app_info.xml
+boinc/projects/%%SETI_SITE%%/%%SETI_BINARY%%
+@dirrm boinc/projects/%%SETI_SITE%%
+@cd %%BOINC_HOME%%
+projects/%%SETI_SITE%%/app_info.xml
+projects/%%SETI_SITE%%/%%SETI_BINARY%%