summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/git/git.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/git/git.inc')
-rw-r--r--meta/recipes-devtools/git/git.inc115
1 files changed, 115 insertions, 0 deletions
diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
new file mode 100644
index 0000000000..5396628790
--- /dev/null
+++ b/meta/recipes-devtools/git/git.inc
@@ -0,0 +1,115 @@
1SUMMARY = "Distributed version control system"
2SECTION = "console/utils"
3LICENSE = "GPLv2"
4DEPENDS = "openssl curl zlib expat"
5
6PROVIDES_append_class-native = " git-replacement-native"
7
8SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz"
9S = "${WORKDIR}/git-${PV}"
10
11LIC_FILES_CHKSUM = "file://COPYING;md5=7c0d7ef03a7eb04ce795b0f60e68e7e1"
12
13EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \
14 --without-tcltk \
15"
16
17inherit autotools-brokensep perlnative
18
19EXTRA_OEMAKE = "NO_PYTHON=1 CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
20EXTRA_OEMAKE += "'PERL_PATH=/usr/bin/env perl'"
21EXTRA_OEMAKE_append_class-native = " NO_CROSS_DIRECTORY_HARDLINKS=1"
22
23do_compile_prepend () {
24 # Remove perl/perl.mak to fix the out-of-date perl.mak error
25 # during rebuild
26 rm -f perl/perl.mak
27}
28
29do_install () {
30 oe_runmake install DESTDIR="${D}" bindir=${bindir} \
31 template_dir=${datadir}/git-core/templates \
32 GIT_PYTHON_DIR=${D}${datadir}/git-core/python
33}
34
35perl_native_fixup () {
36 sed -i -e 's#${STAGING_BINDIR_NATIVE}/perl-native/#${bindir}/#' \
37 -e 's#${libdir}/perl-native/#${libdir}/#' \
38 ${@d.getVar("PERLTOOLS", True).replace(' /',d.getVar('D', True) + '/')}
39
40 # ${libdir} is not applicable here, perl-native files are always
41 # installed to /usr/lib on both 32/64 bits targets.
42 mv ${D}${exec_prefix}/lib/perl-native/perl ${D}${libdir}
43 rmdir -p ${D}${exec_prefix}/lib/perl-native || true
44}
45
46REL_GIT_EXEC_PATH = "${@os.path.relpath(libexecdir, bindir)}/git-core"
47REL_GIT_TEMPLATE_DIR = "${@os.path.relpath(datadir, bindir)}/git-core/templates"
48
49do_install_append_class-target () {
50 perl_native_fixup
51}
52
53do_install_append_class-native() {
54 create_wrapper ${D}${bindir}/git \
55 GIT_EXEC_PATH='`dirname $''realpath`'/${REL_GIT_EXEC_PATH} \
56 GIT_TEMPLATE_DIR='`dirname $''realpath`'/${REL_GIT_TEMPLATE_DIR}
57}
58
59do_install_append_class-nativesdk() {
60 create_wrapper ${D}${bindir}/git \
61 GIT_EXEC_PATH='`dirname $''realpath`'/${REL_GIT_EXEC_PATH} \
62 GIT_TEMPLATE_DIR='`dirname $''realpath`'/${REL_GIT_TEMPLATE_DIR}
63 perl_native_fixup
64}
65
66FILES_${PN} += "${datadir}/git-core ${libexecdir}/git-core/"
67FILES_${PN}-dbg += "${libexecdir}/git-core/.debug"
68
69PERLTOOLS = " \
70 ${libexecdir}/git-core/git-add--interactive \
71 ${libexecdir}/git-core/git-archimport \
72 ${libexecdir}/git-core/git-cvsexportcommit \
73 ${libexecdir}/git-core/git-cvsimport \
74 ${libexecdir}/git-core/git-cvsserver \
75 ${bindir}/git-cvsserver \
76 ${libexecdir}/git-core/git-difftool \
77 ${libexecdir}/git-core/git-relink \
78 ${libexecdir}/git-core/git-send-email \
79 ${libexecdir}/git-core/git-svn \
80 ${libexecdir}/git-core/git-instaweb \
81 ${libexecdir}/git-core/git-submodule \
82 ${libexecdir}/git-core/git-am \
83 ${libexecdir}/git-core/git-request-pull \
84 ${datadir}/gitweb/gitweb.cgi \
85 ${datadir}/git-core/templates/hooks/prepare-commit-msg.sample \
86 ${datadir}/git-core/templates/hooks/pre-rebase.sample \
87"
88
89# Git tools requiring perl
90PACKAGES =+ "${PN}-perltools"
91FILES_${PN}-perltools += " \
92 ${PERLTOOLS} \
93 ${libdir}/perl \
94 ${datadir}/perl \
95"
96RDEPENDS_${PN}-perltools = "${PN} perl perl-module-file-path findutils"
97
98PACKAGES =+ "${PN}-python"
99FILES_${PN}-python = "${libdir}/python*"
100
101
102# git-tk package with gitk and git-gui
103PACKAGES =+ "${PN}-tk"
104#RDEPENDS_${PN}-tk = "${PN} tk tcl"
105#EXTRA_OEMAKE = "TCL_PATH=${STAGING_BINDIR_CROSS}/tclsh"
106FILES_${PN}-tk = " \
107 ${bindir}/gitk \
108 ${datadir}/gitk \
109"
110
111PACKAGES =+ "gitweb"
112FILES_gitweb = "${datadir}/gitweb/"
113
114
115BBCLASSEXTEND = "native nativesdk"