I've been doing some hacking on mintty to get it to support themes. The repo is here https://github.com/PhilipDaniels/mintty
My code changes are complete, but I cannot get the packaging using cygport to work. If you look in the repo you can see there is at the root level
pkg.cygport # the cygport file
themes/* # folder with lots of themes
and here is the complete pkg.cygport file
CATEGORY="Base Shells"
DEPEND="gcc-core"
HOMEPAGE="http://mintty.googlecode.com"
SRC_URI="http://mintty.googlecode.com/files/mintty-${PV}-src.tar.bz2"
SUMMARY="Terminal emulator with native Windows look and feel"
DESCRIPTION="\
Mintty is a terminal emulator for Cygwin. It is based on code
from PuTTY 0.60 by Simon Tatham and team.
Features include:
* Xterm-compatible terminal emulation.
* Full Unicode support.
* Native Windows user interface that tries to keep things simple.
* Graphical options dialog. Options stored in a text file.
* Themes.
* Drag & drop and copy & paste of text, files and folders.
* Extensive mouse support.
* Window transparency."
RESTRICT=postinst_doc
src_compile() {
lndirs
cd ${B}
cygmake
}
src_install() {
cd ${B}
dobin mintty.exe
doman docs/mintty.1
dodoc COPYING LICENSE.Oxygen LICENSE.PuTTY
# This fails with *** ERROR: file themes/* does not exist
# We appear to be in /c/Users/Phil/repos/mintty/mintty-1.3-alpha-1.3/build
# during this step.
insinto /usr/share/mintty/themes
doins themes/*
}
Those last two lines with the insinto/doins are the only two lines I have added and are the ones which don't work because it appears we are in a different folder by this time - I guess the cd ${B} is the culprit. But how to fix it?
Your additions to the .cygport file look correct.
I think your problem is due to the fact that your theme files aren't in the tarball that make pkg
makes, which is then unpacked by cygport to get the source to build and package.
It's pretty straightforward to add the themes/ directory to the list of files in the Makefile:
src_files := $(wildcard Makefile *.c *.h *.rc *.mft COPYING LICENSE* INSTALL)
src_files += $(wildcard docs/$(NAME).1 docs/readme*.html scripts/* icon/*)
+src_files += $(wildcard themes/*)
Unfortunately, there is then a slight wrinkle that some of the theme names currently have spaces in, which aren't escaped correctly by that. I renamed those files to check the build, but you might prefer a more elegant solution.