First Commit
[librecmc/package-feed.git] / net / git / Makefile
1 #
2 # Copyright (C) 2009-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:=git
11 PKG_VERSION:=2.10.2
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
16 PKG_MD5SUM:=3cd1dca37be60668f482545716923b72
17
18 PKG_INSTALL:=1
19 PKG_BUILD_PARALLEL:=1
20 PKG_FIXUP:=autoreconf
21
22 include $(INCLUDE_DIR)/package.mk
23
24 define Package/git/Default
25   SECTION:=net
26   CATEGORY:=Network
27   SUBMENU:=Version Control Systems
28   DEPENDS:=+libopenssl +libpthread +librt +zlib
29   URL:=http://git-scm.com
30   MAINTAINER:=Peter Wagner <tripolar@gmx.at>
31 endef
32
33 define Package/git
34 $(call Package/git/Default)
35   TITLE:=The fast version control system
36 endef
37
38 define Package/git/description
39  Git is a free & open source, distributed version control system
40  designed to handle everything from small to very large projects
41  with speed and efficiency.
42 endef
43
44 define Package/git-http
45 $(call Package/git/Default)
46   DEPENDS+=git +libcurl +ca-certificates
47   TITLE:=Git HTTP commands
48 endef
49
50 define Package/git-http/description
51 $(call Package/git/description)
52
53  This package allows git push/fetch over http(s) and ftp(s)
54 endef
55
56 define Package/git-gitweb
57 $(call Package/git/Default)
58   TITLE:=Git repository web interface
59   DEPENDS:=git +perlbase-essential +perlbase-file +perlbase-fcntl +perlbase-encode +perlbase-digest +perlbase-time +perl-cgi
60 endef
61
62 define Package/git-gitweb/description
63 $(call Package/git/description)
64  This package builds the gitweb web interface for git repositories
65 endef
66
67 define Package/git-gitweb/conffiles
68 /etc/gitweb.conf
69 endef
70
71 MAKE_FLAGS := \
72         CC="$(TARGET_CC)" \
73         CFLAGS="$(TARGET_CFLAGS)" \
74         CPPFLAGS="$(TARGET_CPPFLAGS)" \
75         LDFLAGS="$(TARGET_LDFLAGS)" \
76         NO_EXPAT="YesPlease" \
77         NO_MKSTEMPS="YesPlease" \
78         NO_GETTEXT="YesPlease" \
79         NO_UNIX_SOCKETS="YesPlease" \
80         NO_ICONV="YesPlease" \
81         NO_NSEC="YesPlease" \
82         NO_PERL="YesPlease" \
83         NO_PYTHON="YesPlease" \
84         NO_TCLTK="YesPlease" \
85         NO_INSTALL_HARDLINKS="yes" \
86         gitwebdir="/www/cgi-bin" \
87         GITWEB_JS="/gitweb/gitweb.js" \
88         GITWEB_CSS="/gitweb/gitweb.css" \
89         GITWEB_LOGO="/gitweb/gitweb-logo.png" \
90         GITWEB_FAVICON="/gitweb/gitweb-favicon.png"
91
92 CONFIGURE_ARGS += \
93         --without-iconv \
94
95 define Build/Configure
96         $(MAKE) -C $(PKG_BUILD_DIR) \
97                 configure
98
99         $(call Build/Configure/Default,)
100 endef
101
102 define Build/Compile
103         mkdir -p $(PKG_INSTALL_DIR)/www/cgi-bin $(PKG_INSTALL_DIR)/www/gitweb
104         $(call Build/Compile/Default,DESTDIR=$(PKG_INSTALL_DIR) all install gitweb install-gitweb)
105 endef
106
107 define Package/git/install
108         $(INSTALL_DIR) $(1)/usr/bin
109         $(CP) $(PKG_INSTALL_DIR)/usr/bin/git $(1)/usr/bin
110         $(RM) $(PKG_INSTALL_DIR)/usr/bin/git-cvsserver
111         $(CP) $(PKG_INSTALL_DIR)/usr/bin/git-* $(1)/usr/bin
112         $(INSTALL_DIR) $(1)/usr/lib/git-core
113         $(LN) /usr/bin/git $(1)/usr/lib/git-core/git
114         ( cd $(PKG_INSTALL_DIR); $(TAR) \
115                 --exclude=usr/lib/git-core/git-http-backend \
116                 --exclude=usr/lib/git-core/git-http-fetch \
117                 --exclude=usr/lib/git-core/git-remote-ftp \
118                 --exclude=usr/lib/git-core/git-remote-ftps \
119                 --exclude=usr/lib/git-core/git-remote-http \
120                 --exclude=usr/lib/git-core/git-remote-https \
121                 -cf - \
122                 usr/lib/git-core \
123         ) | ( cd $(1); $(TAR) -xf - )
124         $(INSTALL_DIR) $(1)/usr/share/git-core/templates
125 endef
126
127 define Package/git-http/install
128         $(INSTALL_DIR) $(1)/usr/lib/git-core
129         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-http-backend $(1)/usr/lib/git-core
130         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-http-fetch $(1)/usr/lib/git-core
131         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-remote-ftp $(1)/usr/lib/git-core
132         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-remote-ftps $(1)/usr/lib/git-core
133         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-remote-http $(1)/usr/lib/git-core
134         $(CP) $(PKG_INSTALL_DIR)/usr/lib/git-core/git-remote-https $(1)/usr/lib/git-core
135 endef
136
137 define Package/git-gitweb/install
138         $(INSTALL_DIR) $(1)/www/cgi-bin $(1)/www/gitweb
139         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/www/cgi-bin/gitweb.cgi $(1)/www/cgi-bin/
140         $(CP) $(PKG_INSTALL_DIR)/www/cgi-bin/static/* $(1)/www/gitweb/
141 endef
142
143 $(eval $(call BuildPackage,git))
144 $(eval $(call BuildPackage,git-http))
145 $(eval $(call BuildPackage,git-gitweb))