Skip to content

Commit 1c1add2

Browse files
committed
git: split out gitk and git-gui into separate packages
Following the spirit of the preceding commits that split out all Git commands depending on Perl into their own packages so that `mingw-w64-git` no longer needs to depend on `perl` (and therefore does not force all Git users to install Perl whether they need it or not), let's do the same with the two commands that depend on Tcl/Tk: `gitk` and Git GUI. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent c7505ce commit 1c1add2

File tree

1 file changed

+64
-4
lines changed

1 file changed

+64
-4
lines changed

mingw-w64-git/PKGBUILD

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
1313
"${MINGW_PACKAGE_PREFIX}-${_realname}-svn"
1414
"${MINGW_PACKAGE_PREFIX}-${_realname}-archimport"
1515
"${MINGW_PACKAGE_PREFIX}-${_realname}-cvs"
16+
"${MINGW_PACKAGE_PREFIX}-gitk"
17+
"${MINGW_PACKAGE_PREFIX}-${_realname}-gui"
1618
"${MINGW_PACKAGE_PREFIX}-${_realname}-for-windows-addons")
1719
tag=2.52.0.windows.1
1820
pkgver=2.52.0.1
@@ -163,9 +165,7 @@ package_git () {
163165
"${MINGW_PACKAGE_PREFIX}-ca-certificates"
164166
"${MINGW_PACKAGE_PREFIX}-expat>=2.0"
165167
"${MINGW_PACKAGE_PREFIX}-openssl"
166-
"${MINGW_PACKAGE_PREFIX}-pcre2"
167-
"${MINGW_PACKAGE_PREFIX}-tcl"
168-
"${MINGW_PACKAGE_PREFIX}-tk")
168+
"${MINGW_PACKAGE_PREFIX}-pcre2")
169169

170170
cd "$srcdir"/git
171171

@@ -191,6 +191,18 @@ package_git () {
191191
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-cvsimport"
192192
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-cvsserver"
193193

194+
# Remove gitk (packaged separately)
195+
rm -f "$pkgdir/$MINGW_PREFIX/bin/gitk"
196+
rm -rf "$pkgdir/$MINGW_PREFIX/share/gitk"
197+
198+
# Remove git-gui (packaged separately)
199+
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-gui"
200+
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-gui.tcl"
201+
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-gui--askpass"
202+
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-gui--askyesno"
203+
rm -f "$pkgdir/$MINGW_PREFIX/libexec/git-core/git-citool"
204+
rm -rf "$pkgdir/$MINGW_PREFIX/share/git-gui"
205+
194206
# completions
195207
install -d "$pkgdir$SHAREDIR/completion/"
196208
install contrib/completion/* "$pkgdir$SHAREDIR/completion/"
@@ -232,6 +244,12 @@ package_git-doc-html () {
232244
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"git-cvsserver.html
233245
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"gitcvs-migration.adoc
234246
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"gitcvs-migration.html
247+
248+
# Remove gitk and git-gui documentation (packaged separately)
249+
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"gitk.adoc
250+
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"gitk.html
251+
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"git-gui.adoc
252+
rm -f "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"git-gui.html
235253
}
236254

237255
package_git-doc-man () {
@@ -260,6 +278,10 @@ package_git-doc-man () {
260278
rm -f "$pkgdir/$MINGW_PREFIX/share/man/man1/git-cvsimport.1"
261279
rm -f "$pkgdir/$MINGW_PREFIX/share/man/man1/git-cvsserver.1"
262280
rm -f "$pkgdir/$MINGW_PREFIX/share/man/man7/gitcvs-migration.7"
281+
282+
# Remove gitk and git-gui documentation (packaged separately)
283+
rm -f "$pkgdir/$MINGW_PREFIX/share/man/man1/gitk.1"
284+
rm -f "$pkgdir/$MINGW_PREFIX/share/man/man1/git-gui.1"
263285
}
264286

265287
package_git-subtree () {
@@ -417,12 +439,50 @@ package_git-cvs () {
417439
install -m644 Documentation/gitcvs-migration.html "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"
418440
}
419441

442+
package_gitk () {
443+
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}=${pkgver}"
444+
"${MINGW_PACKAGE_PREFIX}-tcl"
445+
"${MINGW_PACKAGE_PREFIX}-tk")
446+
pkgdesc="Git repository browser (mingw-w64)"
447+
448+
cd "$srcdir"/git
449+
450+
make -C gitk-git prefix="$pkgdir/$MINGW_PREFIX" install
451+
452+
# Install documentation
453+
install -d -m755 "$pkgdir/$MINGW_PREFIX/share/man/man1"
454+
install -m644 Documentation/gitk.1 "$pkgdir/$MINGW_PREFIX/share/man/man1/"
455+
install -d -m755 "$pkgdir/$MINGW_PREFIX/share/doc/git-doc"
456+
install -m644 Documentation/gitk.adoc "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"
457+
install -m644 Documentation/gitk.html "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"
458+
}
459+
460+
package_git-gui () {
461+
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}=${pkgver}"
462+
"${MINGW_PACKAGE_PREFIX}-tcl"
463+
"${MINGW_PACKAGE_PREFIX}-tk")
464+
pkgdesc="Git GUI tool (mingw-w64)"
465+
466+
cd "$srcdir"/git
467+
468+
make -C git-gui DESTDIR="$pkgdir$MINGW_PREFIX" gitexecdir=/libexec/git-core install
469+
470+
# Install documentation
471+
install -d -m755 "$pkgdir/$MINGW_PREFIX/share/man/man1"
472+
install -m644 Documentation/git-gui.1 "$pkgdir/$MINGW_PREFIX/share/man/man1/"
473+
install -d -m755 "$pkgdir/$MINGW_PREFIX/share/doc/git-doc"
474+
install -m644 Documentation/git-gui.adoc "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"
475+
install -m644 Documentation/git-gui.html "$pkgdir/$MINGW_PREFIX/share/doc/git-doc/"
476+
}
477+
420478
package_git-for-windows-addons () {
421479
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}=${pkgver}"
422480
"${MINGW_PACKAGE_PREFIX}-${_realname}-subtree"
423481
"${MINGW_PACKAGE_PREFIX}-${_realname}-credential-wincred"
424482
"${MINGW_PACKAGE_PREFIX}-${_realname}-send-email"
425-
"${MINGW_PACKAGE_PREFIX}-${_realname}-svn")
483+
"${MINGW_PACKAGE_PREFIX}-${_realname}-svn"
484+
"${MINGW_PACKAGE_PREFIX}-gitk"
485+
"${MINGW_PACKAGE_PREFIX}-${_realname}-gui")
426486
pkgdesc="Git for Windows extra executables and wrappers (mingw-w64)"
427487

428488
cd "$srcdir"/git

0 commit comments

Comments
 (0)