--- /dev/null
+#
+# Copyright (C) 2007-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=subversion
+PKG_RELEASE:=1
+PKG_VERSION:=1.9.4
+PKG_SOURCE_URL:=@APACHE/subversion
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=29121a038f87641055a8183f49e9739f
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Donald Rumata <donald.rumata@gmail.com>
+
+PKG_FIXUP:=autoreconf
+PKG_MACRO_PATHS:=build/ac-macros
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+
+
+define Package/subversion/Default
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Version Control Systems
+ TITLE:=A compelling replacement for CVS
+ DEPENDS:=+zlib +libsqlite3 +libapr +libaprutil +libmagic \
+ $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ URL:=http://subversion.apache.org/
+endef
+
+define Package/subversion/Default/description
+ Subversion is a free/open-source version control system. That is,
+ Subversion manages files and directories, and the changes made to them,
+ over time. This allows you to recover older versions of your data, or
+ examine the history of how your data changed. In this regard, many
+ people think of a version control system as a sort of time machine.
+endef
+
+define Package/subversion-libs
+ $(call Package/subversion/Default)
+ TITLE:=subversion libs
+endef
+
+define Package/subversion-libs/description
+ $(call Package/subversion/Default/description)
+ This package contains the Subversion libraries.
+endef
+
+define Package/subversion-client
+ $(call Package/subversion/Default)
+ DEPENDS:=+subversion-libs
+ TITLE:=subversion client tools
+endef
+
+define Package/subversion-client/description
+ $(call Package/subversion/Default/description)
+ This package contains the Subversion client tools.
+endef
+
+define Package/subversion-server
+ $(call Package/subversion/Default)
+ DEPENDS:=+subversion-libs
+ TITLE:=subversion server
+endef
+
+define Package/subversion-server/description
+ $(call Package/subversion/Default/description)
+ This package contains the Subversion server.
+endef
+
+define Package/subversion-server/conffiles
+/etc/config/subversion
+endef
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+CONFIGURE_ARGS += \
+ --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
+ --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
+ --with-libmagic="$(STAGING_DIR)/usr" \
+ --disable-mod-activation \
+ --without-ruby-sitedir \
+ --without-swig \
+ --without-jikes \
+ --without-junit \
+ --without-berkeley-db \
+ --without-apxs \
+ --without-sasl
+
+ifdef $(INTL_FULL)
+ CONFIGURE_ARGS += --enable-nls
+else
+ CONFIGURE_ARGS += --disable-nls
+endif
+
+CONFIGURE_VARS += \
+ LDFLAGS="$(TARGET_LDFLAGS) -lcrypt -lm \
+ -lz -lpthread $(if $(INTL_FULL),-lintl)"
+ CPPFLAGS="$(TARGET_CPPFLAGS)"
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all local-install
+endef
+
+define Package/subversion-libs/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsvn_*.so.* $(1)/usr/lib/
+endef
+
+define Package/subversion-client/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{svn,svnversion,svnsync} $(1)/usr/bin/
+endef
+
+define Package/subversion-server/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svn{look,admin,dumpfilter,serve} $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/subversion.config $(1)/etc/config/subversion
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/subversion.init $(1)/etc/init.d/subversion
+endef
+
+define Package/subversion-server/prerm
+#!/bin/sh
+ ps | grep '\(/svnserve$\| svnserve\)' | grep -cvq grep >/dev/null && /etc/init.d/subversion stop
+ /etc/init.d/subversion disable
+endef
+
+$(eval $(call BuildPackage,subversion-libs))
+$(eval $(call BuildPackage,subversion-client))
+$(eval $(call BuildPackage,subversion-server))
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2016 OpenWrt.org
+
+START=50
+
+start_instance () {
+ local section="$1"
+ config_get path "$section" 'path'
+ config_get port "$section" 'port'
+
+ if [ ! -d "$path" ]; then
+ echo "The subversion repository (${path}) does not exist."
+ echo "Create a new repository and/or change the path in /etc/config/subversion"
+ echo
+ echo "Create a new subversion repository with:"
+ echo " mkdir -p ${path}"
+ echo " svnadmin create --fs-type fsfs ${path}"
+ echo
+ echo "Changing the path using UCI (default path is: /var/local/svn):"
+ echo " uci set subversion.@[0].path="/srv/svn""
+ echo " uci commit"
+ echo " /etc/init.d/subversion restart"
+ return 1
+ fi
+
+ service_start /usr/bin/svnserve -d --listen-port ${port} -r ${path}
+}
+
+start() {
+ config_load 'subversion'
+ config_foreach start_instance 'subversion'
+}
+
+stop() {
+ SERVICE_SIG_STOP="INT" \
+ service_stop /usr/bin/svnserve
+}
--- /dev/null
+--- a/build/ac-macros/macosx.m4 2016-02-09 01:24:13.181409245 -0500
++++ b/build/ac-macros/macosx.m4 2016-02-09 01:25:15.873408288 -0500
+@@ -17,94 +17,4 @@ dnl specific language governing permis
+ dnl under the License.
+ dnl ===================================================================
+ dnl
+-dnl Mac OS X specific checks
+
+-dnl SVN_LIB_MACHO_ITERATE
+-dnl Check for _dyld_image_name and _dyld_image_header availability
+-AC_DEFUN(SVN_LIB_MACHO_ITERATE,
+-[
+- AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
+- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+- #include <mach-o/dyld.h>
+- #include <mach-o/loader.h>
+- ]],[[
+- const struct mach_header *header = _dyld_get_image_header(0);
+- const char *name = _dyld_get_image_name(0);
+- if (name && header) return 0;
+- return 1;
+- ]])],[
+- AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1],
+- [Is Mach-O low-level _dyld API available?])
+- AC_MSG_RESULT([yes])
+- ],[
+- AC_MSG_RESULT([no])
+- ])
+-])
+-
+-dnl SVN_LIB_MACOS_PLIST
+-dnl Assign variables for Mac OS property list support
+-AC_DEFUN(SVN_LIB_MACOS_PLIST,
+-[
+- AC_MSG_CHECKING([for Mac OS property list utilities])
+-
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+- #include <AvailabilityMacros.h>
+- #if !defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
+- || !defined(MAC_OS_X_VERSION_10_0) \
+- || (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_0)
+- #error ProperyList API unavailable.
+- #endif
+- ]],[[]])],[
+- dnl ### Hack. We should only need to pass the -framework options when
+- dnl linking libsvn_subr, since it is the only library that uses Keychain.
+- dnl
+- dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
+- dnl OS X frameworks like it does for normal libraries, so we need to
+- dnl explicitly pass the option to all the users of libsvn_subr to allow
+- dnl static builds to link successfully.
+- dnl
+- dnl This does mean that all executables we link will be linked directly
+- dnl to these frameworks - even when building shared libraries - but that
+- dnl shouldn't cause any problems.
+-
+- LIBS="$LIBS -framework CoreFoundation"
+- AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
+- [Is Mac OS property list API available?])
+- AC_MSG_RESULT([yes])
+- ],[
+- AC_MSG_RESULT([no])
+- ])
+-])
+-
+-dnl SVN_LIB_MACOS_KEYCHAIN
+-dnl Check configure options and assign variables related to Keychain support
+-
+-AC_DEFUN(SVN_LIB_MACOS_KEYCHAIN,
+-[
+- AC_ARG_ENABLE(keychain,
+- AS_HELP_STRING([--disable-keychain],
+- [Disable use of Mac OS KeyChain for auth credentials]),
+- [enable_keychain=$enableval],[enable_keychain=yes])
+-
+- AC_MSG_CHECKING([for Mac OS KeyChain Services])
+-
+- if test "$enable_keychain" = "yes"; then
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+- #include <AvailabilityMacros.h>
+- #if !defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
+- || !defined(MAC_OS_X_VERSION_10_2) \
+- || (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2)
+- #error KeyChain API unavailable.
+- #endif
+- ]],[[]])],[
+- dnl ### Hack, see SVN_LIB_MACOS_PLIST
+- LIBS="$LIBS -framework Security"
+- LIBS="$LIBS -framework CoreServices"
+- AC_DEFINE([SVN_HAVE_KEYCHAIN_SERVICES], [1], [Is Mac OS KeyChain support enabled?])
+- AC_MSG_RESULT([yes])
+- ],[
+- enable_keychain=no
+- AC_MSG_RESULT([no])
+- ])
+- fi
+-])