aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2014-11-06 18:13:06 +0800
committermarino <marino@FreeBSD.org>2014-11-06 18:13:06 +0800
commitc1645a3c57ba0e3936eae46b260954ea926a2d26 (patch)
tree352f4ed9fce7f7f54fad227a97a5cb039aca842c /net-mgmt
parent2cf59144a0ac811419553dcf28603a6e5e23f14f (diff)
downloadfreebsd-ports-gnome-c1645a3c57ba0e3936eae46b260954ea926a2d26.tar.gz
freebsd-ports-gnome-c1645a3c57ba0e3936eae46b260954ea926a2d26.tar.zst
freebsd-ports-gnome-c1645a3c57ba0e3936eae46b260954ea926a2d26.zip
Add new port net-mgmt/seafile
PR: 193134 Submitted by: Jingfeng Yan Seafile is a next-generation open source cloud storage system with advanced support for file syncing, privacy protection and teamwork. Collections of files are called libraries, and each library can be synced separately. A library can be encrypted with a user chosen password. This password is not stored on the server, so even the server admin cannot view a file's contents. Seafile allows users to create groups with file syncing, wiki, and discussion to enable easy collaboration around documents within a team.
Diffstat (limited to 'net-mgmt')
-rw-r--r--net-mgmt/Makefile1
-rw-r--r--net-mgmt/seafile/Makefile64
-rw-r--r--net-mgmt/seafile/distinfo2
-rw-r--r--net-mgmt/seafile/files/patch-common_obj-backend-fs.c20
-rw-r--r--net-mgmt/seafile/files/patch-configure.ac61
-rw-r--r--net-mgmt/seafile/files/patch-controller_seafile-controller.c25
-rw-r--r--net-mgmt/seafile/files/patch-daemon_Makefile.am12
-rw-r--r--net-mgmt/seafile/files/patch-daemon_repo-mgr.c50
-rw-r--r--net-mgmt/seafile/files/patch-daemon_vc-utils.c27
-rw-r--r--net-mgmt/seafile/files/patch-lib_Makfile.am12
-rw-r--r--net-mgmt/seafile/files/patch-lib_libseafile.pc.in15
-rw-r--r--net-mgmt/seafile/files/patch-lib_net.c11
-rw-r--r--net-mgmt/seafile/files/patch-lib_utils.c23
-rw-r--r--net-mgmt/seafile/files/patch-lib_utils.h12
-rw-r--r--net-mgmt/seafile/files/patch-scripts_setup-seafile.sh11
-rw-r--r--net-mgmt/seafile/pkg-descr11
-rw-r--r--net-mgmt/seafile/pkg-plist96
17 files changed, 453 insertions, 0 deletions
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index 695a916c1011..ec4b3c77950f 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -281,6 +281,7 @@
SUBDIR += sblim-wbemcli
SUBDIR += scli
SUBDIR += sdig
+ SUBDIR += seafile
SUBDIR += send
SUBDIR += sendip
SUBDIR += sipcalc
diff --git a/net-mgmt/seafile/Makefile b/net-mgmt/seafile/Makefile
new file mode 100644
index 000000000000..519fd2dcbf36
--- /dev/null
+++ b/net-mgmt/seafile/Makefile
@@ -0,0 +1,64 @@
+# $FreeBSD$
+
+PORTNAME= seafile
+PORTVERSION= 3.1.4
+CATEGORIES= net-mgmt devel
+
+MAINTAINER= yan_jingfeng@yahoo.com
+COMMENT= Framework for writing networked applications
+
+LICENSE= GPLv3
+
+BUILD_DEPENDS= valac:${PORTSDIR}/lang/vala
+LIB_DEPENDS= libsearpc.so:${PORTSDIR}/devel/libsearpc \
+ libevhtp.so:${PORTSDIR}/www/libevhtp \
+ libzdb.so:${PORTSDIR}/databases/libzdb \
+ libcrypto.so:${PORTSDIR}/security/openssl \
+ libarchive.so.13:${PORTSDIR}/archivers/libarchive \
+ libfuse.so:${PORTSDIR}/sysutils/fusefs-libs \
+ libinotify.so:${PORTSDIR}/devel/libinotify \
+ libccnet.so:${PORTSDIR}/net-mgmt/ccnet
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}eggtestinfo>0:${PORTSDIR}/devel/py-eggtestinfo \
+ ${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
+ bash:${PORTSDIR}/shells/bash
+
+USE_GITHUB= yes
+GH_ACCOUNT= haiwen
+GH_TAGNAME= v3.1.4
+GH_COMMIT= ac58109
+
+USES= autoreconf iconv libtool pathfix pkgconfig python:2 shebangfix
+GNU_CONFIGURE= yes
+USE_OPENSSL= yes
+USE_LDCONFIG= yes
+
+WITH_OPENSSL_PORT= yes
+PATHFIX_MAKEFILEIN= Makefile.am
+
+CONFIGURE_ARGS= --enable-server
+INSTALL_TARGET= install-strip
+WWWDIR= ${PREFIX}/www/haiwen/seafile-server
+SEABIN= ${STAGEDIR}${WWWDIR}/seafile/bin
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+MAKE_JOBS_UNSAFE= yes
+
+post-install:
+ @${MKDIR} ${SEABIN} \
+ ${STAGEDIR}${WWWDIR}/seafile/share/doc/seafile \
+ ${STAGEDIR}${WWWDIR}/upgrade
+.for SERVPROG in fileserver seaf-fsck seafserv-gc seaf-fuse seaf-migrate \
+ seaf-server seaf-server-init seafile-controller seafserv-tool
+ ${LN} ${STAGEDIR}${PREFIX}/bin/${SERVPROG} ${SEABIN}
+.endfor
+ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/*.[ps][yh] ${STAGEDIR}${WWWDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/upgrade/*.[ps][yh] \
+ ${STAGEDIR}${WWWDIR}/upgrade
+ ${INSTALL_DATA} ${WRKSRC}/doc/seafile-tutorial.doc \
+ ${STAGEDIR}${WWWDIR}/seafile/share/doc/seafile/
+ (cd ${WRKSRC}/scripts/upgrade && \
+ ${COPYTREE_SHARE} sql ${STAGEDIR}${WWWDIR}/upgrade)
+
+.include <bsd.port.mk>
diff --git a/net-mgmt/seafile/distinfo b/net-mgmt/seafile/distinfo
new file mode 100644
index 000000000000..94820455c459
--- /dev/null
+++ b/net-mgmt/seafile/distinfo
@@ -0,0 +1,2 @@
+SHA256 (seafile-3.1.4.tar.gz) = 0ef5d6947ebc74ce5c37390d74b4c1ad7f0da7359f0c8d263963dd04dccf7306
+SIZE (seafile-3.1.4.tar.gz) = 1047684
diff --git a/net-mgmt/seafile/files/patch-common_obj-backend-fs.c b/net-mgmt/seafile/files/patch-common_obj-backend-fs.c
new file mode 100644
index 000000000000..f5e9fee85d7f
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-common_obj-backend-fs.c
@@ -0,0 +1,20 @@
+--- common/obj-backend-fs.c.orig 2014-08-30 10:00:33.108962525 -0400
++++ common/obj-backend-fs.c 2014-08-30 10:03:02.405000733 -0400
+@@ -101,7 +101,7 @@
+ static int
+ fsync_obj_contents (int fd)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ /* Some file systems may not support fsync().
+ * In this case, just skip the error.
+ */
+@@ -153,7 +153,7 @@
+ static int
+ rename_and_sync (const char *tmp_path, const char *obj_path)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ char *parent_dir;
+ int ret = 0;
+
diff --git a/net-mgmt/seafile/files/patch-configure.ac b/net-mgmt/seafile/files/patch-configure.ac
new file mode 100644
index 000000000000..5596aaba7e4b
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-configure.ac
@@ -0,0 +1,61 @@
+--- configure.ac.orig 2014-06-05 02:25:50.000000000 -0400
++++ configure.ac 2014-07-21 12:43:12.000000000 -0400
+@@ -199,25 +199,28 @@
+ LIB_GDI32=
+ LIB_RT=
+ LIB_INTL=
+- LIB_RESOLV=-lresolv
++ LIB_RESOLV=
+ LIB_UUID=-luuid
+ LIB_IPHLPAPI=
+ LIB_SHELL32=
+ LIB_PSAPI=
+ MSVC_CFLAGS=
+ LIB_MAC="-framework CoreServices"
++ ZLIB_LIBS=-lz
+ else
+ LIB_WS32=
+ LIB_GDI32=
+ LIB_RT=
+ LIB_INTL=
+- LIB_RESOLV=-lresolv
++ LIB_RESOLV=
+ LIB_UUID=-luuid
+ LIB_IPHLPAPI=
+ LIB_SHELL32=
+ LIB_PSAPI=
+ LIB_MAC=
+ MSVC_CFLAGS=
++ ZLIB_LIBS=-lz
++ LIB_INOTIFY=-linotify
+ fi
+
+ AC_SUBST(LIB_WS32)
+@@ -230,6 +233,8 @@
+ AC_SUBST(LIB_SHELL32)
+ AC_SUBST(LIB_PSAPI)
+ AC_SUBST(LIB_MAC)
++AC_SUBST(ZLIB_LIBS)
++AC_SUBST(LIB_INOTIFY)
+ AC_SUBST(MSVC_CFLAGS)
+
+
+@@ -241,7 +246,6 @@
+ #LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1
+ CURL_REQUIRED=7.17
+ FUSE_REQUIRED=2.8.6
+-ZLIB_REQUIRED=1.2.0
+
+ PKG_CHECK_MODULES(GLIB2, [glib-2.0 >= $GLIB_REQUIRED])
+ AC_SUBST(GLIB2_CFLAGS)
+@@ -263,10 +267,6 @@
+ AC_SUBST(LIBEVENT_CFLAGS)
+ AC_SUBST(LIBEVENT_LIBS)
+
+-PKG_CHECK_MODULES(ZLIB, [zlib >= $ZLIB_REQUIRED])
+-AC_SUBST(ZLIB_CFLAGS)
+-AC_SUBST(ZLIB_LIBS)
+-
+ if test x${compile_python} = xyes; then
+ AM_PATH_PYTHON([2.6])
+
diff --git a/net-mgmt/seafile/files/patch-controller_seafile-controller.c b/net-mgmt/seafile/files/patch-controller_seafile-controller.c
new file mode 100644
index 000000000000..7e49b061ce61
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-controller_seafile-controller.c
@@ -0,0 +1,25 @@
+--- controller/seafile-controller.c.orig 2014-08-05 01:28:35.000000000 -0400
++++ controller/seafile-controller.c 2014-08-30 09:11:34.868400091 -0400
+@@ -18,6 +18,10 @@
+ #include "log.h"
+ #include "seafile-controller.h"
+
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/sysctl.h>
++#endif
++
+ #define CHECK_PROCESS_INTERVAL 10 /* every 10 seconds */
+
+ SeafileController *ctl;
+@@ -273,7 +277,11 @@
+ init_seafile_path ()
+ {
+ GError *error = NULL;
++#if defined(__linux__)
+ char *executable = g_file_read_link ("/proc/self/exe", &error);
++#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ char *executable = g_file_read_link ("/proc/curproc/file", &error);
++#endif
+ char *tmp = NULL;
+ if (error != NULL) {
+ seaf_warning ("failed to readlink: %s\n", error->message);
diff --git a/net-mgmt/seafile/files/patch-daemon_Makefile.am b/net-mgmt/seafile/files/patch-daemon_Makefile.am
new file mode 100644
index 000000000000..f2556e5f5015
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-daemon_Makefile.am
@@ -0,0 +1,12 @@
+--- daemon/Makefile.am.orig 2014-08-05 01:28:35.000000000 -0400
++++ daemon/Makefile.am 2014-08-30 01:44:16.911202899 -0400
+@@ -125,7 +125,8 @@
+ @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 -levent \
+ $(top_builddir)/common/cdc/libcdc.la \
+ $(top_builddir)/common/index/libindex.la ${LIB_WS32} \
+- @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@
++ @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ \
++ @ZLIB_LIBS@ @LIB_INOTIFY@
+
+ seaf_daemon_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@
+
diff --git a/net-mgmt/seafile/files/patch-daemon_repo-mgr.c b/net-mgmt/seafile/files/patch-daemon_repo-mgr.c
new file mode 100644
index 000000000000..c4e5c2156255
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-daemon_repo-mgr.c
@@ -0,0 +1,50 @@
+--- daemon/repo-mgr.c.orig 2014-08-30 02:03:22.367472662 -0400
++++ daemon/repo-mgr.c 2014-08-30 02:10:42.071207749 -0400
+@@ -1720,12 +1720,12 @@
+ gboolean force_conflict = FALSE;
+ gboolean update_mode_only = FALSE;
+
+-#ifndef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ path = build_checkout_path (worktree, name, strlen(name));
++#else
+ path = build_case_conflict_free_path (worktree, name,
+ conflict_hash, no_conflict_hash,
+ &case_conflict);
+-#else
+- path = build_checkout_path (worktree, name, strlen(name));
+ #endif
+
+ if (!path)
+@@ -1858,12 +1858,12 @@
+ char *path;
+ gboolean case_conflict = FALSE;
+
+-#ifndef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ path = build_checkout_path (worktree, name, strlen(name));
++#else
+ path = build_case_conflict_free_path (worktree, name,
+ conflict_hash, no_conflict_hash,
+ &case_conflict);
+-#else
+- path = build_checkout_path (worktree, name, strlen(name));
+ #endif
+
+ if (!path)
+@@ -2088,12 +2088,12 @@
+
+ char *new_path;
+ gboolean case_conflict;
+-#ifndef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ new_path = build_checkout_path (worktree, de->new_name, strlen(de->new_name));
++#else
+ new_path = build_case_conflict_free_path (worktree, de->new_name,
+ conflict_hash, no_conflict_hash,
+ &case_conflict);
+-#else
+- new_path = build_checkout_path (worktree, de->new_name, strlen(de->new_name));
+ #endif
+
+ if (g_file_test (old_path, G_FILE_TEST_EXISTS) &&
diff --git a/net-mgmt/seafile/files/patch-daemon_vc-utils.c b/net-mgmt/seafile/files/patch-daemon_vc-utils.c
new file mode 100644
index 000000000000..b15d7919ca6f
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-daemon_vc-utils.c
@@ -0,0 +1,27 @@
+--- daemon/vc-utils.c.orig 2014-06-05 02:25:50.000000000 -0400
++++ daemon/vc-utils.c 2014-07-27 01:10:00.000000000 -0400
+@@ -489,7 +489,7 @@
+
+ #endif /* defined WIN32 || defined __APPLE__ */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+
+ static char *
+ build_checkout_path (const char *worktree, const char *ce_name, int len)
+@@ -549,12 +549,12 @@
+ gboolean force_conflict = FALSE;
+
+ path_in = g_build_path ("/", o->base, ce->name, NULL);
+-#ifndef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ path = build_checkout_path (o->base, ce->name, ce_namelen(ce));
++#else
+ path = build_case_conflict_free_path (o->base, ce->name,
+ conflict_hash, no_conflict_hash,
+ &case_conflict);
+-#else
+- path = build_checkout_path (o->base, ce->name, ce_namelen(ce));
+ #endif
+
+ g_free (path_in);
diff --git a/net-mgmt/seafile/files/patch-lib_Makfile.am b/net-mgmt/seafile/files/patch-lib_Makfile.am
new file mode 100644
index 000000000000..7873fbdcb92b
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-lib_Makfile.am
@@ -0,0 +1,12 @@
+--- lib/Makefile.am.orig 2014-08-30 02:00:00.097346044 -0400
++++ lib/Makefile.am 2014-08-30 02:00:10.951213463 -0400
+@@ -72,8 +72,4 @@
+ rm -f $(top_srcdir)/lib/rpc_table.pyc
+
+ install-data-local:
+-if MACOS
+- sed -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)
+-else
+- ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)
+-endif
++ ${SED} -i '' "s|(DESTDIR)|${PREFIX}|g" $(pcfiles)
diff --git a/net-mgmt/seafile/files/patch-lib_libseafile.pc.in b/net-mgmt/seafile/files/patch-lib_libseafile.pc.in
new file mode 100644
index 000000000000..626bd6bead79
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-lib_libseafile.pc.in
@@ -0,0 +1,15 @@
+--- lib/libseafile.pc.in.orig 2014-09-03 23:00:38.555065334 -0400
++++ lib/libseafile.pc.in 2014-09-03 23:01:13.715468049 -0400
+@@ -3,9 +3,9 @@
+ libdir=@libdir@
+ includedir=@includedir@
+
+-Name: libccnet
++Name: libseafile
+ Description: Client library for accessing seafile service.
+ Version: @VERSION@
+ Libs: -L${libdir} -lseafile @SEARPC_LIBS@
+ Cflags: -I${includedir} @SEARPC_CFLAGS@
+-Requires: gobject-2.0 glib-2.0
+\ No newline at end of file
++Requires: gobject-2.0 glib-2.0
diff --git a/net-mgmt/seafile/files/patch-lib_net.c b/net-mgmt/seafile/files/patch-lib_net.c
new file mode 100644
index 000000000000..8c6fca9f60aa
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-lib_net.c
@@ -0,0 +1,11 @@
+--- lib/net.c.orig 2014-09-02 21:09:59.708953392 -0400
++++ lib/net.c 2014-09-02 21:10:22.959507209 -0400
+@@ -157,7 +157,7 @@
+
+ snprintf (buf, sizeof(buf), "%d", port);
+
+- if ( (n = getaddrinfo(NULL, buf, &hints, &res) ) != 0) {
++ if ( (n = getaddrinfo("0.0.0.0", buf, &hints, &res) ) != 0) {
+ ccnet_warning ("getaddrinfo fails: %s\n", gai_strerror(n));
+ return -1;
+ }
diff --git a/net-mgmt/seafile/files/patch-lib_utils.c b/net-mgmt/seafile/files/patch-lib_utils.c
new file mode 100644
index 000000000000..c1c3c4f645d3
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-lib_utils.c
@@ -0,0 +1,23 @@
+--- lib/utils.c.orig 2014-06-05 02:25:50.000000000 -0400
++++ lib/utils.c 2014-07-30 22:56:37.000000000 -0400
+@@ -1756,14 +1756,19 @@
+
+ #endif /* ifdef WIN32 */
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ /* read the link of /proc/123/exe and compare with `process_name' */
+ static int
+ find_process_in_dirent(struct dirent *dir, const char *process_name)
+ {
+ char path[512];
+ /* fisrst construct a path like /proc/123/exe */
++#ifdef __linux__
+ if (sprintf (path, "/proc/%s/exe", dir->d_name) < 0) {
++#endif
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ if (sprintf (path, "/proc/%s/file", dir->d_name) < 0) {
++#endif
+ return -1;
+ }
+
diff --git a/net-mgmt/seafile/files/patch-lib_utils.h b/net-mgmt/seafile/files/patch-lib_utils.h
new file mode 100644
index 000000000000..eaf1dfeed44c
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-lib_utils.h
@@ -0,0 +1,12 @@
+--- lib/utils.h.orig 2014-06-05 02:25:50.000000000 -0400
++++ lib/utils.h 2014-07-27 01:48:52.000000000 -0400
+@@ -3,6 +3,9 @@
+ #ifndef CCNET_UTILS_H
+ #define CCNET_UTILS_H
+
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <netinet/in.h>
++#endif
+ #include <sys/time.h>
+ #include <time.h>
+ #include <stdint.h>
diff --git a/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh b/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh
new file mode 100644
index 000000000000..6264dea08ef0
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh
@@ -0,0 +1,11 @@
+--- scripts/setup-seafile.sh.orig 2014-08-28 05:24:34.830623727 -0400
++++ scripts/setup-seafile.sh 2014-08-28 05:27:43.095059196 -0400
+@@ -341,7 +341,7 @@
+ }
+
+ function copy_user_manuals() {
+- src_docs_dir=${INSTALLPATH}/seafile/docs/
++ src_docs_dir=${INSTALLPATH}/seafile/share/doc/seafile/
+ library_template_dir=${seafile_data_dir}/library-template
+ mkdir -p ${library_template_dir}
+ cp -f ${src_docs_dir}/*.doc ${library_template_dir}
diff --git a/net-mgmt/seafile/pkg-descr b/net-mgmt/seafile/pkg-descr
new file mode 100644
index 000000000000..8a51d18bbb8c
--- /dev/null
+++ b/net-mgmt/seafile/pkg-descr
@@ -0,0 +1,11 @@
+Seafile is a next-generation open source cloud storage system with
+advanced support for file syncing, privacy protection and teamwork.
+Collections of files are called libraries, and each library can be synced
+separately. A library can be encrypted with a user chosen password. This
+password is not stored on the server, so even the server admin cannot
+view a file's contents.
+
+Seafile allows users to create groups with file syncing, wiki, and
+discussion to enable easy collaboration around documents within a team.
+
+WWW: https://github.com/haiwen/seafile
diff --git a/net-mgmt/seafile/pkg-plist b/net-mgmt/seafile/pkg-plist
new file mode 100644
index 000000000000..4c12664f0cc5
--- /dev/null
+++ b/net-mgmt/seafile/pkg-plist
@@ -0,0 +1,96 @@
+bin/fileserver
+bin/seaf-cli
+bin/seaf-daemon
+bin/seaf-fsck
+bin/seaf-fuse
+bin/seaf-migrate
+bin/seaf-server
+bin/seaf-server-init
+bin/seafile
+bin/seafile-admin
+bin/seafile-controller
+bin/seafserv-gc
+bin/seafserv-tool
+include/seafile/monitor-rpc.h
+include/seafile/seafile-object.h
+include/seafile/seafile-rpc.h
+include/seafile/seafile.h
+lib/libseafile.a
+lib/libseafile.so
+lib/libseafile.so.0
+lib/libseafile.so.0.0.0
+%%PYTHON_SITELIBDIR%%/seafile/__init__.py
+%%PYTHON_SITELIBDIR%%/seafile/__init__.pyc
+%%PYTHON_SITELIBDIR%%/seafile/__init__.pyo
+%%PYTHON_SITELIBDIR%%/seafile/rpcclient.py
+%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyc
+%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyo
+%%PYTHON_SITELIBDIR%%/seaserv/__init__.py
+%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyc
+%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyo
+%%PYTHON_SITELIBDIR%%/seaserv/api.py
+%%PYTHON_SITELIBDIR%%/seaserv/api.pyc
+%%PYTHON_SITELIBDIR%%/seaserv/api.pyo
+%%PYTHON_SITELIBDIR%%/seaserv/service.py
+%%PYTHON_SITELIBDIR%%/seaserv/service.pyc
+%%PYTHON_SITELIBDIR%%/seaserv/service.pyo
+libdata/pkgconfig/libseafile.pc
+man/man1/ccnet.1.gz
+man/man1/seaf-cli.1.gz
+man/man1/seaf-daemon.1.gz
+man/man1/seafile-applet.1.gz
+%%WWWDIR%%/check_init_admin.py
+%%WWWDIR%%/reset-admin.sh
+%%WWWDIR%%/seaf-cli-wrapper.sh
+%%WWWDIR%%/seaf-fuse.sh
+%%WWWDIR%%/seaf-gc.sh
+%%WWWDIR%%/seafile.sh
+%%WWWDIR%%/seafile/bin/fileserver
+%%WWWDIR%%/seafile/bin/seaf-fsck
+%%WWWDIR%%/seafile/bin/seaf-fuse
+%%WWWDIR%%/seafile/bin/seaf-migrate
+%%WWWDIR%%/seafile/bin/seaf-server
+%%WWWDIR%%/seafile/bin/seaf-server-init
+%%WWWDIR%%/seafile/bin/seafile-controller
+%%WWWDIR%%/seafile/bin/seafserv-gc
+%%WWWDIR%%/seafile/bin/seafserv-tool
+%%PORTDOCS%%%%WWWDIR%%/seafile/%%DOCSDIR%%/seafile-tutorial.doc
+%%WWWDIR%%/seahub.sh
+%%WWWDIR%%/setup-seafile-mysql.py
+%%WWWDIR%%/setup-seafile-mysql.sh
+%%WWWDIR%%/setup-seafile.sh
+%%WWWDIR%%/sqlite2mysql.py
+%%WWWDIR%%/sqlite2mysql.sh
+%%WWWDIR%%/upgrade/add_collate.sh
+%%WWWDIR%%/upgrade/db_update_1.3_1.4.py
+%%WWWDIR%%/upgrade/db_update_helper.py
+%%WWWDIR%%/upgrade/minor-upgrade.sh
+%%WWWDIR%%/upgrade/sql/1.6.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/1.6.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/1.7.0/mysql/seafile.sql
+%%WWWDIR%%/upgrade/sql/1.7.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/1.7.0/sqlite3/seafile.sql
+%%WWWDIR%%/upgrade/sql/1.7.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/1.8.0/mysql/ccnet.sql
+%%WWWDIR%%/upgrade/sql/1.8.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/1.8.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/2.0.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/2.0.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/2.1.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/2.1.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/2.2.0/mysql/ccnet.sql
+%%WWWDIR%%/upgrade/sql/3.0.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/3.0.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/sql/3.1.0/mysql/seahub.sql
+%%WWWDIR%%/upgrade/sql/3.1.0/sqlite3/seahub.sql
+%%WWWDIR%%/upgrade/upgrade_1.2_1.3.sh
+%%WWWDIR%%/upgrade/upgrade_1.3_1.4.sh
+%%WWWDIR%%/upgrade/upgrade_1.4_1.5.sh
+%%WWWDIR%%/upgrade/upgrade_1.5_1.6.sh
+%%WWWDIR%%/upgrade/upgrade_1.6_1.7.sh
+%%WWWDIR%%/upgrade/upgrade_1.7_1.8.sh
+%%WWWDIR%%/upgrade/upgrade_1.8_2.0.sh
+%%WWWDIR%%/upgrade/upgrade_2.0_2.1.sh
+%%WWWDIR%%/upgrade/upgrade_2.1_2.2.sh
+%%WWWDIR%%/upgrade/upgrade_2.2_3.0.sh
+%%WWWDIR%%/upgrade/upgrade_3.0_3.1.sh