Merge pull request #4532 from dangowrt/auto-unixodbc
[feed/packages.git] / net / subversion / Makefile
1 #
2 # Copyright (C) 2007-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=subversion
11 PKG_RELEASE:=1
12 PKG_VERSION:=1.9.6
13 PKG_SOURCE_URL:=@APACHE/subversion
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_HASH:=dbcbc51fb634082f009121f2cb64350ce32146612787ffb0f7ced351aacaae19
16 PKG_MD5SUM:=f27e00338d4a9f7f9aec9d4a3f8b418b
17 PKG_LICENSE:=Apache-2.0
18 PKG_LICENSE_FILES:=LICENSE
19 PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
20
21 PKG_FIXUP:=autoreconf
22 PKG_MACRO_PATHS:=build/ac-macros
23
24 include $(INCLUDE_DIR)/package.mk
25 include $(INCLUDE_DIR)/nls.mk
26
27
28 define Package/subversion/Default
29 SECTION:=net
30 CATEGORY:=Network
31 SUBMENU:=Version Control Systems
32 TITLE:=A compelling replacement for CVS
33 DEPENDS:=+zlib +libsqlite3 +PACKAGE_unixodbc:unixodbc +libapr +libaprutil +libmagic \
34 $(ICONV_DEPENDS) $(INTL_DEPENDS)
35 URL:=http://subversion.apache.org/
36 endef
37
38 define Package/subversion/Default/description
39 Subversion is a free/open-source version control system. That is,
40 Subversion manages files and directories, and the changes made to them,
41 over time. This allows you to recover older versions of your data, or
42 examine the history of how your data changed. In this regard, many
43 people think of a version control system as a sort of time machine.
44 endef
45
46 define Package/subversion-libs
47 $(call Package/subversion/Default)
48 TITLE:=subversion libs
49 endef
50
51 define Package/subversion-libs/description
52 $(call Package/subversion/Default/description)
53 This package contains the Subversion libraries.
54 endef
55
56 define Package/subversion-client
57 $(call Package/subversion/Default)
58 DEPENDS:=+subversion-libs
59 TITLE:=subversion client tools
60 endef
61
62 define Package/subversion-client/description
63 $(call Package/subversion/Default/description)
64 This package contains the Subversion client tools.
65 endef
66
67 define Package/subversion-server
68 $(call Package/subversion/Default)
69 DEPENDS:=+subversion-libs
70 TITLE:=subversion server
71 endef
72
73 define Package/subversion-server/description
74 $(call Package/subversion/Default/description)
75 This package contains the Subversion server.
76 endef
77
78 define Package/subversion-server/conffiles
79 /etc/config/subversion
80 endef
81
82 TARGET_CFLAGS += $(FPIC)
83 TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
84 APU_LIBS=$(shell $(STAGING_DIR)/usr/bin/apu-1-config --link-libtool --libs)
85
86 CONFIGURE_ARGS += \
87 --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
88 --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
89 --with-libmagic="$(STAGING_DIR)/usr" \
90 --disable-mod-activation \
91 --without-ruby-sitedir \
92 --without-swig \
93 --without-jikes \
94 --without-junit \
95 --without-berkeley-db \
96 --without-apxs \
97 --without-sasl
98
99 ifdef $(INTL_FULL)
100 CONFIGURE_ARGS += --enable-nls
101 else
102 CONFIGURE_ARGS += --disable-nls
103 endif
104
105 CONFIGURE_VARS += \
106 LDFLAGS="$(TARGET_LDFLAGS) $(APU_LIBS) -lcrypt -lm \
107 -lz -lpthread $(if $(INTL_FULL),-lintl)"
108 CPPFLAGS="$(TARGET_CPPFLAGS)"
109
110 define Build/Compile
111 $(MAKE) -C $(PKG_BUILD_DIR) \
112 DESTDIR="$(PKG_INSTALL_DIR)" \
113 all local-install
114 endef
115
116 define Package/subversion-libs/install
117 $(INSTALL_DIR) $(1)/usr/lib
118 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsvn_*.so.* $(1)/usr/lib/
119 endef
120
121 define Package/subversion-client/install
122 $(INSTALL_DIR) $(1)/usr/bin
123 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{svn,svnversion,svnsync} $(1)/usr/bin/
124 endef
125
126 define Package/subversion-server/install
127 $(INSTALL_DIR) $(1)/usr/bin
128 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svn{look,admin,dumpfilter,serve} $(1)/usr/bin/
129 $(INSTALL_DIR) $(1)/etc/config
130 $(INSTALL_CONF) ./files/subversion.config $(1)/etc/config/subversion
131 $(INSTALL_DIR) $(1)/etc/init.d
132 $(INSTALL_BIN) ./files/subversion.init $(1)/etc/init.d/subversion
133 endef
134
135 define Package/subversion-server/prerm
136 #!/bin/sh
137 ps | grep '\(/svnserve$\| svnserve\)' | grep -cvq grep >/dev/null && /etc/init.d/subversion stop
138 /etc/init.d/subversion disable
139 endef
140
141 $(eval $(call BuildPackage,subversion-libs))
142 $(eval $(call BuildPackage,subversion-client))
143 $(eval $(call BuildPackage,subversion-server))