# some global settings
#
-package_version = '1.5.0svn'
-package_cygwin_version = '1.5.0svn-1'
+# get version number from configure.ac so that JMarc does
+# not have to change SConstruct during lyx release
+package_version = utils.getVerFromConfigure(top_src_dir)
+package_cygwin_version = '%s-1' % package_version
boost_version = '1_33_1'
devel_version = True
env.Install(Cygwin_Doc, [os.path.join(env.subst('$TOP_SRCDIR'), x) for x in \
['INSTALL', 'README', 'README.Cygwin', 'RELEASE-NOTES', 'COPYING', 'ANNOUNCE']])
Alias('install', Cygwin_Doc)
+ # cygwin fonts also need to be installed
+ env.Install(os.path.join(share_dest_dir, 'font'),
+ [env.subst('$TOP_SRC_DIR/development/Win32/packaging/bakoma/%s' % file) \
+ for file in win32_bakoma_fonts])
+ # we also need a post installation script
+ tmp_script = utils.installCygwinPostinstallScript('/tmp')
+ postinstall_script = os.path.join(dest_dir, 'etc', 'postinstall', 'lyx.sh')
+ env.Install(postinstall_script, tmp_script)
+ Alias('install', postinstall_script)
# lyx1.4.x does not have lyx2lyx_version.py.in
if os.path.isfile(env.subst('$TOP_SRCDIR/lib/lyx2lyx/lyx2lyx_version.py.in')):
from SCons.Util import WhereIs
+def getVerFromConfigure(path):
+ " get lyx version from the AC_INIT line of configure.ac "
+ try:
+ config = open(os.path.join(path, 'configure.ac'))
+ except:
+ print "Can not open configure.ac. "
+ return 'x.x.x'
+ # find a line like follows
+ # AC_INIT(LyX,1.4.4svn,[lyx-devel@lists.lyx.org],[lyx])
+ pat = re.compile('AC_INIT\([^,]+,([^,]+),')
+ for line in config.readlines():
+ if pat.match(line):
+ (version,) = pat.match(line).groups()
+ return version.strip()
+ return 'x.x.x'
+
+
+
def writeToFile(filename, lines, append = False):
" utility function: write or append lines to filename "
# create directory if needed
return(ld_script)
+def installCygwinPostinstallScript(path):
+ ''' Install lyx.sh '''
+ postinstall_script = os.path.join(path, 'lyx.sh')
+ script = open(postinstall_script, 'w')
+ script.write('''#!/bin/sh
+
+# Add /usr/share/lyx/fonts to /etc/fonts/local.conf
+# if it is not already there.
+if [ -f /etc/fonts/local.conf ]; then
+ grep -q /usr/share/lyx/fonts /etc/fonts/local.conf
+ if [ $? -ne 0 ]; then
+ sed 's/^<\/fontconfig>/<dir>\/usr\/share\/lyx\/fonts<\/dir>\n<\/fontconfig>/' /etc/fonts/local.conf > /etc/fonts/local.conf.tmp
+ mv -f /etc/fonts/local.conf.tmp /etc/fonts/local.conf
+ fc-cache /usr/share/lyx/fonts
+ fi
+fi
+ ''')
+ script.close()
+ return(postinstall_script)
+
+
try:
# these will be used under win32
import win32file