aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2015-12-10 21:49:27 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2015-12-22 03:24:21 +0000
commit63bcdc5227578015870c1eedc8c59861e9734971 (patch)
tree4ddf406502f60c293bb8a29d3e680e5891910401 /contrib
parent1a6c67c8f507ad6918b6a27cab9eb734cc1d4bd4 (diff)
More complicated package name substitution for Mac deployment
Diffstat (limited to 'contrib')
-rw-r--r--contrib/gitian-descriptors/gitian-osx-signer.yml3
-rw-r--r--contrib/gitian-descriptors/gitian-osx.yml17
-rw-r--r--contrib/macdeploy/Base.lproj/InfoPlist.strings1
-rw-r--r--contrib/macdeploy/DS_Storebin10244 -> 0 bytes
-rw-r--r--contrib/macdeploy/background.pngbin48690 -> 0 bytes
-rw-r--r--contrib/macdeploy/background.psdbin982442 -> 0 bytes
-rw-r--r--contrib/macdeploy/background.svg34
-rw-r--r--contrib/macdeploy/background.tiffbin202136 -> 0 bytes
-rw-r--r--contrib/macdeploy/background@2x.pngbin138890 -> 0 bytes
-rwxr-xr-xcontrib/macdeploy/custom_dsstore.py60
-rwxr-xr-xcontrib/macdeploy/macdeployqtplus14
11 files changed, 123 insertions, 6 deletions
diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml
index aa9494b7ed..d349a13dd2 100644
--- a/contrib/gitian-descriptors/gitian-osx-signer.yml
+++ b/contrib/gitian-descriptors/gitian-osx-signer.yml
@@ -33,6 +33,7 @@ script: |
SIGNED=bitcoin-osx-signed.dmg
tar -xf ${UNSIGNED}
+ OSX_VOLNAME="$(cat osx_volname)"
./detached-sig-apply.sh ${UNSIGNED} signature/osx
- ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o uncompressed.dmg signed-app
+ ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -apple -o uncompressed.dmg signed-app
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
index 9ac774c8a0..13dbe890c9 100644
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -10,14 +10,22 @@ packages:
- "git-core"
- "pkg-config"
- "autoconf"
+- "libffi-dev"
+- "libtiff-tools"
- "libtool"
- "automake"
- "faketime"
- "bsdmainutils"
- "cmake"
+- "imagemagick"
- "libcap-dev"
+- "libxslt-dev"
- "libz-dev"
- "libbz2-dev"
+- "python-cairo"
+- "python-dev"
+- "python-pip"
+- "fonts-tuffy"
reference_datetime: "2015-06-01 00:00:00"
remotes:
- "url": "https://github.com/bitcoin/bitcoin.git"
@@ -25,6 +33,10 @@ remotes:
files:
- "MacOSX10.9.sdk.tar.gz"
script: |
+ # FIXME: We should probably install these in some other (cachable) way, but the depends system doesn't appear to make native packages available to Core's build system itself?
+ pip install --user mac_alias ds_store cairosvg cssselect tinycss lxml
+ export PATH="$HOME/.local/bin:$PATH"
+
WRAP_DIR=$HOME/wrapped
HOSTS="x86_64-apple-darwin11"
CONFIGFLAGS="--enable-reduce-exports GENISOIMAGE=$WRAP_DIR/genisoimage"
@@ -107,8 +119,11 @@ script: |
make ${MAKEOPTS}
make install-strip
+ make osx_volname
make deploydir
+ OSX_VOLNAME="$(cat osx_volname)"
mkdir -p unsigned-app-${i}
+ cp osx_volname unsigned-app-${i}/
cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i}
cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i}
cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i}
@@ -120,7 +135,7 @@ script: |
popd
make deploy
- ${WRAP_DIR}/dmg dmg Bitcoin-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
+ ${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
cd installed
find . -name "lib*.la" -delete
diff --git a/contrib/macdeploy/Base.lproj/InfoPlist.strings b/contrib/macdeploy/Base.lproj/InfoPlist.strings
deleted file mode 100644
index b259ea141c..0000000000
--- a/contrib/macdeploy/Base.lproj/InfoPlist.strings
+++ /dev/null
@@ -1 +0,0 @@
-{ CFBundleDisplayName = "Bitcoin Core"; CFBundleName = "Bitcoin Core"; }
diff --git a/contrib/macdeploy/DS_Store b/contrib/macdeploy/DS_Store
deleted file mode 100644
index db9d16f1d7..0000000000
--- a/contrib/macdeploy/DS_Store
+++ /dev/null
Binary files differ
diff --git a/contrib/macdeploy/background.png b/contrib/macdeploy/background.png
deleted file mode 100644
index f88a2ae74b..0000000000
--- a/contrib/macdeploy/background.png
+++ /dev/null
Binary files differ
diff --git a/contrib/macdeploy/background.psd b/contrib/macdeploy/background.psd
deleted file mode 100644
index fdc4f4ca4a..0000000000
--- a/contrib/macdeploy/background.psd
+++ /dev/null
Binary files differ
diff --git a/contrib/macdeploy/background.svg b/contrib/macdeploy/background.svg
new file mode 100644
index 0000000000..6ab6a23e63
--- /dev/null
+++ b/contrib/macdeploy/background.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="1000pt" height="640pt" viewBox="0 0 1000 640" preserveAspectRatio="xMidYMid meet">
+ <!-- kate: space-indent off;
+ Copyright (c) 2011-2013 The Bitcoin Core developers
+ Distributed under the MIT software license, see the accompanying
+ file COPYING or http://www.opensource.org/licenses/mit-license.php.
+ -->
+ <style type="text/css"><![CDATA[
+ text {
+ font-family: "Tuffy";
+ font-size: 86px;
+ fill: gray;
+ text-anchor: middle;
+ }
+ ]]></style>
+ <defs>
+ <linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
+ <stop offset="0%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+ <stop offset="33%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+ <stop offset="80%" style="stop-color:rgb(205,205,205);stop-opacity:1" />
+ <stop offset="100%" style="stop-color:rgb(204,204,204);stop-opacity:1" />
+ </linearGradient>
+ </defs>
+ <rect width="1000" height="640" style="fill:url(#gradient);stroke-width:0" />
+ <g transform="translate(500,0) scale(0.9, 1)">
+ <text x="0" y="114">PACKAGE_NAME</text>
+ </g>
+ <g transform="translate(0.000000,640.000000) scale(0.100000,-0.100000)"
+ fill="#000000" stroke="none">
+ <path d="M4995 3705 c-24 -23 -25 -29 -25 -165 l0 -140 -306 0 -306 0 -29 -29 c-29 -29 -29 -31 -29 -141 0 -110 0 -112 29 -141 l29 -29 306 0 306 0 0 -140 c0 -136 1 -142 25 -165 16 -17 35 -25 57 -25 29 0 72 32 306 226 180 149 274 233 278 250 13 53 -2 70 -278 299 -235 194 -277 225 -306 225 -22 0 -41 -8 -57 -25z" fixlter="url(#glow)"/>
+ </g>
+</svg>
diff --git a/contrib/macdeploy/background.tiff b/contrib/macdeploy/background.tiff
deleted file mode 100644
index 4b44ac672e..0000000000
--- a/contrib/macdeploy/background.tiff
+++ /dev/null
Binary files differ
diff --git a/contrib/macdeploy/background@2x.png b/contrib/macdeploy/background@2x.png
deleted file mode 100644
index 4858183f75..0000000000
--- a/contrib/macdeploy/background@2x.png
+++ /dev/null
Binary files differ
diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
new file mode 100755
index 0000000000..8481e903a0
--- /dev/null
+++ b/contrib/macdeploy/custom_dsstore.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+# Copyright (c) 2013-2015 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+import biplist
+from ds_store import DSStore
+from mac_alias import Alias
+import sys
+
+output_file = sys.argv[1]
+package_name_ns = sys.argv[2]
+
+ds = DSStore.open(output_file, 'w+')
+ds['.']['bwsp'] = {
+ 'ShowStatusBar': False,
+ 'WindowBounds': '{{300, 280}, {500, 343}}',
+ 'ContainerShowSidebar': False,
+ 'SidebarWidth': 0,
+ 'ShowTabView': False,
+ 'PreviewPaneVisibility': False,
+ 'ShowToolbar': False,
+ 'ShowSidebar': False,
+ 'ShowPathbar': True
+}
+
+icvp = {
+ 'gridOffsetX': 0.0,
+ 'textSize': 12.0,
+ 'viewOptionsVersion': 1,
+ 'backgroundImageAlias': '\x00\x00\x00\x00\x02\x1e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x94\\\xb0H+\x00\x05\x00\x00\x00\x98\x0fbackground.tiff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xd19\xb0\xf8\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\r\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b.background\x00\x00\x10\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x11\x00\x08\x00\x00\xd19\xb0\xf8\x00\x00\x00\x01\x00\x04\x00\x00\x00\x98\x00\x0e\x00 \x00\x0f\x00b\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00t\x00i\x00f\x00f\x00\x0f\x00\x02\x00\x00\x00\x12\x00\x1c/.background/background.tiff\x00\x14\x01\x06\x00\x00\x00\x00\x01\x06\x00\x02\x00\x00\x0cMacintosh HD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x97\xab\xc3H+\x00\x00\x01\x88[\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02u\xab\x8d\xd1\x94\\\xb0devrddsk\xff\xff\xff\xff\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07bitcoin\x00\x00\x10\x00\x08\x00\x00\xce\x97\xab\xc3\x00\x00\x00\x11\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x01\x00\x14\x01\x88[\x88\x00\x16\xa9\t\x00\x08\xfaR\x00\x08\xfaQ\x00\x02d\x8e\x00\x0e\x00\x02\x00\x00\x00\x0f\x00\x1a\x00\x0c\x00M\x00a\x00c\x00i\x00n\x00t\x00o\x00s\x00h\x00 \x00H\x00D\x00\x13\x00\x01/\x00\x00\x15\x00\x02\x00\x14\xff\xff\x00\x00\xff\xff\x00\x00',
+ 'backgroundColorBlue': 1.0,
+ 'iconSize': 96.0,
+ 'backgroundColorGreen': 1.0,
+ 'arrangeBy': 'none',
+ 'showIconPreview': True,
+ 'gridSpacing': 100.0,
+ 'gridOffsetY': 0.0,
+ 'showItemInfo': False,
+ 'labelOnBottom': True,
+ 'backgroundType': 2,
+ 'backgroundColorRed': 1.0
+}
+alias = Alias.from_bytes(icvp['backgroundImageAlias'])
+alias.volume.name = package_name_ns
+alias.volume.posix_path = '/Volumes/' + package_name_ns
+alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
+alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
+icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
+ds['.']['icvp'] = icvp
+
+ds['.']['vSrn'] = ('long', 1)
+
+ds['Applications']['Iloc'] = (370, 156)
+ds['Bitcoin-Qt.app']['Iloc'] = (128, 156)
+
+ds.flush()
+ds.close()
diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
index 2253c40af1..7e6270c743 100755
--- a/contrib/macdeploy/macdeployqtplus
+++ b/contrib/macdeploy/macdeployqtplus
@@ -495,6 +495,7 @@ ap.add_argument("-fancy", nargs=1, metavar="plist", default=[], help="make a fan
ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's ressources; the language list must be separated with commas, not with whitespace")
ap.add_argument("-translations-dir", nargs=1, metavar="path", default=None, help="Path to Qt's translation files")
ap.add_argument("-add-resources", nargs="+", metavar="path", default=[], help="list of additional files or folders to be copied into the bundle's resources; must be the last argument")
+ap.add_argument("-volname", nargs=1, metavar="volname", default=[], help="custom volume name for dmg")
config = ap.parse_args()
@@ -596,6 +597,13 @@ if os.path.exists("dist"):
# ------------------------------------------------
+if len(config.volname) == 1:
+ volname = config.volname[0]
+else:
+ volname = app_bundle_name
+
+# ------------------------------------------------
+
target = os.path.join("dist", "Bitcoin-Qt.app")
if verbose >= 2:
@@ -757,7 +765,7 @@ if config.dmg is not None:
if fancy is None:
try:
- runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname="Bitcoin-Core", ov=True)
+ runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=volname, ov=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
else:
@@ -772,7 +780,7 @@ if config.dmg is not None:
if verbose >= 3:
print "Creating temp image for modification..."
try:
- runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname="Bitcoin-Core", ov=True)
+ runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=volname, ov=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
@@ -837,7 +845,7 @@ if config.dmg is not None:
items_positions.append(itemscript.substitute(params))
params = {
- "disk" : "Bitcoin-Core",
+ "disk" : volname,
"window_bounds" : "300,300,800,620",
"icon_size" : "96",
"background_commands" : "",