aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rwxr-xr-xshare/genbuild.sh35
-rwxr-xr-xshare/qt/extract_strings_qt.py70
-rw-r--r--share/qt/img/reload.xcfbin0 -> 25292 bytes
-rwxr-xr-xshare/qt/make_spinner.py43
-rwxr-xr-xshare/qt/make_windows_icon.sh9
-rw-r--r--share/setup.nsi6
6 files changed, 160 insertions, 3 deletions
diff --git a/share/genbuild.sh b/share/genbuild.sh
new file mode 100755
index 0000000000..d959877dc8
--- /dev/null
+++ b/share/genbuild.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+if [ $# -gt 0 ]; then
+ FILE="$1"
+ shift
+ if [ -f "$FILE" ]; then
+ INFO="$(head -n 1 "$FILE")"
+ fi
+else
+ echo "Usage: $0 <filename>"
+ exit 1
+fi
+
+if [ -e "$(which git)" ]; then
+ # clean 'dirty' status of touched files that haven't been modified
+ git diff >/dev/null 2>/dev/null
+
+ # get a string like "v0.6.0-66-g59887e8-dirty"
+ DESC="$(git describe --dirty 2>/dev/null)"
+
+ # get a string like "2012-04-10 16:27:19 +0200"
+ TIME="$(git log -n 1 --format="%ci")"
+fi
+
+if [ -n "$DESC" ]; then
+ NEWINFO="#define BUILD_DESC \"$DESC\""
+else
+ NEWINFO="// No build information available"
+fi
+
+# only update build.h if necessary
+if [ "$INFO" != "$NEWINFO" ]; then
+ echo "$NEWINFO" >"$FILE"
+ echo "#define BUILD_DATE \"$TIME\"" >>"$FILE"
+fi
diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py
new file mode 100755
index 0000000000..771f28ab0a
--- /dev/null
+++ b/share/qt/extract_strings_qt.py
@@ -0,0 +1,70 @@
+#!/usr/bin/python
+'''
+Extract _("...") strings for translation and convert to Qt4 stringdefs so that
+they can be picked up by Qt linguist.
+'''
+from subprocess import Popen, PIPE
+import glob
+
+OUT_CPP="src/qt/bitcoinstrings.cpp"
+EMPTY=['""']
+
+def parse_po(text):
+ """
+ Parse 'po' format produced by xgettext.
+ Return a list of (msgid,msgstr) tuples.
+ """
+ messages = []
+ msgid = []
+ msgstr = []
+ in_msgid = False
+ in_msgstr = False
+
+ for line in text.split('\n'):
+ line = line.rstrip('\r')
+ if line.startswith('msgid '):
+ if in_msgstr:
+ messages.append((msgid, msgstr))
+ in_msgstr = False
+ # message start
+ in_msgid = True
+
+ msgid = [line[6:]]
+ elif line.startswith('msgstr '):
+ in_msgid = False
+ in_msgstr = True
+ msgstr = [line[7:]]
+ elif line.startswith('"'):
+ if in_msgid:
+ msgid.append(line)
+ if in_msgstr:
+ msgstr.append(line)
+
+ if in_msgstr:
+ messages.append((msgid, msgstr))
+
+ return messages
+
+files = glob.glob('src/*.cpp') + glob.glob('src/*.h')
+
+# xgettext -n --keyword=_ $FILES
+child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE)
+(out, err) = child.communicate()
+
+messages = parse_po(out)
+
+f = open(OUT_CPP, 'w')
+f.write("""#include <QtGlobal>
+// Automatically generated by extract_strings.py
+#ifdef __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
+""")
+f.write('static const char UNUSED *bitcoin_strings[] = {')
+for (msgid, msgstr) in messages:
+ if msgid != EMPTY:
+ f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid)))
+f.write('};')
+f.close()
diff --git a/share/qt/img/reload.xcf b/share/qt/img/reload.xcf
new file mode 100644
index 0000000000..dc8be62831
--- /dev/null
+++ b/share/qt/img/reload.xcf
Binary files differ
diff --git a/share/qt/make_spinner.py b/share/qt/make_spinner.py
new file mode 100755
index 0000000000..136aff3cb7
--- /dev/null
+++ b/share/qt/make_spinner.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# W.J. van der Laan, 2011
+# Make spinning .mng animation from a .png
+# Requires imagemagick 6.7+
+from __future__ import division
+from os import path
+from PIL import Image
+from subprocess import Popen
+
+SRC='img/reload_scaled.png'
+DST='../../src/qt/res/movies/update_spinner.mng'
+TMPDIR='/tmp'
+TMPNAME='tmp-%03i.png'
+NUMFRAMES=35
+FRAMERATE=10.0
+CONVERT='convert'
+CLOCKWISE=True
+DSIZE=(16,16)
+
+im_src = Image.open(SRC)
+
+if CLOCKWISE:
+ im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
+
+def frame_to_filename(frame):
+ return path.join(TMPDIR, TMPNAME % frame)
+
+frame_files = []
+for frame in xrange(NUMFRAMES):
+ rotation = (frame + 0.5) / NUMFRAMES * 360.0
+ if CLOCKWISE:
+ rotation = -rotation
+ im_new = im_src.rotate(rotation, Image.BICUBIC)
+ im_new.thumbnail(DSIZE, Image.ANTIALIAS)
+ outfile = frame_to_filename(frame)
+ im_new.save(outfile, 'png')
+ frame_files.append(outfile)
+
+p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST])
+p.communicate()
+
+
+
diff --git a/share/qt/make_windows_icon.sh b/share/qt/make_windows_icon.sh
new file mode 100755
index 0000000000..bf607b1c62
--- /dev/null
+++ b/share/qt/make_windows_icon.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# create multiresolution windows icon
+ICON_SRC=../../src/qt/res/icons/bitcoin.png
+ICON_DST=../../src/qt/res/icons/bitcoin.ico
+convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
+convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
+convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
+convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
+
diff --git a/share/setup.nsi b/share/setup.nsi
index dff2681cd4..f38a18104f 100644
--- a/share/setup.nsi
+++ b/share/setup.nsi
@@ -5,7 +5,7 @@ SetCompressor /SOLID lzma
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
-!define VERSION 0.6.0.10
+!define VERSION 0.6.4
!define COMPANY "Bitcoin project"
!define URL http://www.bitcoin.org/
@@ -45,13 +45,13 @@ Var StartMenuGroup
!insertmacro MUI_LANGUAGE English
# Installer attributes
-OutFile bitcoin-0.6.0.10-win32-setup.exe
+OutFile bitcoin-0.6.4-win32-setup.exe
InstallDir $PROGRAMFILES\Bitcoin
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
-VIProductVersion 0.6.0.10
+VIProductVersion 0.6.4.0
VIAddVersionKey ProductName Bitcoin
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"