2 # Copyright (C) 2009-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
16 PKG_MD5SUM:=3cd1dca37be60668f482545716923b72
22 include $(INCLUDE_DIR)/package.mk
24 define Package/git/Default
27 SUBMENU:=Version Control Systems
28 DEPENDS:=+libopenssl +libpthread +librt +zlib
29 URL:=http://git-scm.com
30 MAINTAINER:=Peter Wagner <tripolar@gmx.at>
34 $(call Package/git/Default)
35 TITLE:=The fast version control system
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.
44 define Package/git-http
45 $(call Package/git/Default)
46 DEPENDS+=git +libcurl +ca-certificates
47 TITLE:=Git HTTP commands
50 define Package/git-http/description
51 $(call Package/git/description)
53 This package allows git push/fetch over http(s) and ftp(s)
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
62 define Package/git-gitweb/description
63 $(call Package/git/description)
64 This package builds the gitweb web interface for git repositories
67 define Package/git-gitweb/conffiles
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" \
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"
95 define Build/Configure
96 $(MAKE) -C $(PKG_BUILD_DIR) \
99 $(call Build/Configure/Default,)
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)
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 \
123 ) | ( cd $(1); $(TAR) -xf - )
124 $(INSTALL_DIR) $(1)/usr/share/git-core/templates
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
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/
143 $(eval $(call BuildPackage,git))
144 $(eval $(call BuildPackage,git-http))
145 $(eval $(call BuildPackage,git-gitweb))