35 Commits

Author SHA1 Message Date
85a091ed62 Discontinue the Inno Setup Puzzles installer.
I'm getting rid of these installers in general, and also I'm about to
switch the Windows builds over to my new-look non-Windows non-Wine
system, which can't run the Inno Setup builder anyway.
2017-08-24 19:40:50 +01:00
7bdfda8409 Switch to using Halibut's new direct .CHM generation.
This allows me to remove HTML Help Workshop completely from my build
dependencies, and good riddance!
2017-05-13 20:20:23 +01:00
cce13ed712 Switch chiark URLs to https. 2017-05-07 16:25:56 +01:00
9d15092e7f Update build script for Inno Setup 5.5.9.
Between 5.5.6 and 5.5.9 the default output file name changed. To
defend against that potentially happening again, I'm now explicitly
specifying the output file name in the .iss source file (or rather, in
winiss.pl, which constructs it).
2016-04-09 11:44:03 +01:00
5986a46400 Add a .htaccess redirection for the new .msi file.
Ahem. Left this out of yesterday's commit.
2016-03-11 19:25:11 +00:00
fc6cc8fb2b Use WiX to generate an MSI-based Puzzles installer.
I've reused most of the install script I wrote for PuTTY recently,
minus the selectable-features dialog, and plus some preliminary Mason
templating to automatically build the right set of puzzle binaries
into the installer.

Stable GUIDs are autogenerated by the same technique I use in PuTTY's
Visual Studio project file generation: hash a fixed pile of randomly
generated bits (that is, randomly generated _once_ and used forever)
with each filename or other identifier and use those as your random
number source.
2016-03-10 18:37:24 +00:00
de91c4eac7 Update Buildscr to use the new 'with' mechanism. 2016-03-01 18:42:49 +00:00
0fa7baed10 Code-sign the Windows puzzle binaries and installer.
Where facilities exist, that is. Like the approach I took with PuTTY
yesterday, Buildscr will now run a code-signing script over the binary
if you specify one in the bob config, and otherwise should fall back
to just leaving that step out.
2015-12-12 09:17:33 +00:00
2acd8baae8 Convert Buildscr to use the new "do/win" mechanism. 2015-11-17 18:47:29 +00:00
603409d092 Couple of fixes to the new web-page mechanism.
I missed some spaces in the autogenerated <span>s, and I generated the
web page components including unfinished puzzles by mistake.
2015-01-13 20:30:40 +00:00
7cf7e37d65 Script to autogenerate pieces of the web page.
This should simplify the process of adding a new puzzle, by automating
the part where I have to manually edit index.html separately from the
main build step.
2015-01-13 20:04:18 +00:00
70b26db85a Add OS X metadata to make Puzzles.app searchable in Spotlight.
Thanks to Stephen Norman for most of the work, particularly working
out what all the metadata had to be in the first place. This patch is
mostly his work, and all I've done is fiddle with the plumbing that
gets the right version number into the right places.
2015-01-09 19:05:25 +00:00
64ceaf03b3 Remove the MD5-based manifest file system.
A long time ago, it seemed like a good idea to arrange that binaries
of my puzzles would automatically cease to identify themselves as a
particular upstream version number if any changes were made to the
source code, so that if someone made a local tweak and distributed the
result then I wouldn't get blamed for the results. Since then I've
decided the whole idea is more trouble than it's worth, so I'm
retiring it completely.

[originally from svn r10264]
2014-09-24 10:33:22 +00:00
2ebbdbf2a5 Remove dependencies on Subversion.
I'm going through all my projects and reworking them to avoid
depending on the monotonic integer-valued source control revision
identifier provided by Subversion, so I can migrate everything to git
without my builds and versioning breaking.

Puzzles's version number is now of the form YYYYMMDD.vvvvvv, where
vvvvvv is some string of source control information (currently still
the SVN-style "rNNNNN", but free to change in future). The date
provides monotonicity between my official automated builds, and the
second component is the one I'll be most interested in when people
send bug reports.

[originally from svn r10263]
2014-09-24 10:33:21 +00:00
fd392c8e74 Reinstate the Mac OS build step.
Now I've got a working Mac, I can build it again.

[originally from svn r10167]
2014-03-30 15:19:30 +00:00
b375232d7d Support building via autoconf and automake. mkfiles.pl now outputs a
Makefile.am, and there's a new mkauto.sh which builds a corresponding
configure script.

The old makefile has been renamed from 'Makefile' to 'Makefile.gtk',
indicating that the intended new _default_ approach is to use the
autoconf world. Makefile.gtk is provided as an emergency fallback in
case anything fails with the new stuff that used to work with it.

The new configure script does not support the same $(BINPREFIX) system
as the old Makefile did. However, as I understand it, it should be
possible to configure using --program-prefix="sgt-" (for example) and
then the binaries should all be renamed appropriately at install time.

The Makefile.am is quite painful. The Puzzles codebase relies heavily
on compiling individual object files multiple times with different the
cpp flags per build deliverable (program or library) and not per
source file. Solution: anything built with non-default compile options
has to go in its own little library. But that doesn't work either in
the general case, because as soon as you have more than one such
library linked into an application, Unix ld semantics bite you if the
objects in the libraries both refer to each other. So I ended up
building all those little libraries but not _using_ them - instead the
link commands for the programs needing those objects refer to the
objects directly, under the silly names that automake gives them.
(That's less fragile than it sounds, because it does _document_ the
names of the intermediate object files. But still, yuck.)

[originally from svn r9886]
2013-06-30 08:58:45 +00:00
7ae22afaf3 Adjust the build script to turn the NestedVM build into a delegation,
so that not every machine on which I want to run the full Puzzles
build will have to have a local NestedVM installation.

[originally from svn r9882]
2013-06-27 21:17:04 +00:00
5dda5cf1d0 Rename wingames.lst to gamedesc.txt, and add a couple of extra fields
to it giving each game's "internal" name (as seen in the source file,
.R etc) and also a brief description of the game. The idea of the
latter is that it should be usable as a comment field in .desktop
files and similar.

[originally from svn r9858]
2013-06-08 16:29:15 +00:00
49fba922ea New front end! To complement the webification of my puzzles via Java
applets, here's an alternative webification in Javascript, using
Emscripten in asm.js mode (so that as browsers incorporate asm.js
optimisation, the game generation should run really fast).

[originally from svn r9781]
2013-03-30 20:16:21 +00:00
e2c84a5fd2 Introduce a mechanism in this source tree for building the container
web pages for the Java applets. Previously, those have all been
maintained by hand in my website's svn area, which is a bit silly. Now
we have a file per puzzle in the 'html' subdirectory which contains
the puzzle's name, one or two attributes, and the instructions snippet
to go below the puzzle applet; and then there's a Perl script that
builds all the real web pages out of that by adding in the parts
common across all files: the header, footer, and middle fragment with
the <applet> tag and resizing bits and pieces.

One piece _not_ checked in here is the footer text specific to my
hosting at chiark, which I think does still belong in the www area. So
Buildscr doesn't actually build the web pages; it just delivers the
bits and pieces by which my nightly snapshot script will be able to
run the program that _does_ build them, passing that footer as an
extra argument.

[originally from svn r9780]
2013-03-30 20:04:10 +00:00
88accd3ea5 Comment the Mac build out of Buildscr, since I no longer have a
working Mac and hence can't build it any more.

[originally from svn r9442]
2012-04-03 12:49:22 +00:00
f9eca22196 Introduce a mechanism in Buildscr for optionally building some of the
(more finished) puzzles in 'unfinished', as Java applets only. (The
rationale being: puzzles in 'unfinished' can be played locally by
people who go to the extra effort of downloading and building the
source, but to play them in Java is particularly inconvenient unless I
build the Java version myself. I just won't link it from the front
page.)

[originally from svn r9073]
2011-01-06 18:37:05 +00:00
e794621861 Add execute permission to the .exe files inside the zip file.
[originally from svn r8634]
2009-08-28 17:43:44 +00:00
8104b2c35d Add a build version designation to the NestedVM build, after Jacob
pointed out that Help > About in the Java applets on my website
currently reports "Unidentified build".

[originally from svn r8105]
2008-07-05 13:31:59 +00:00
c115e9f5c8 Build the Java versions of the puzzles automatically as part of the
build process. Also update the new-puzzle checklist to make sure I
set up and test the Java applet for any new game I add.

[originally from svn r8096]
2008-06-27 17:28:32 +00:00
d2369aab62 Hmm. Telling xvfb to default to a TrueColor visual did help, in that
it got rid of the bogus backgrounds on all the text; but on the
other hand it mysteriously caused all the images to become black and
white! Serves me right for testing with Bridges which was B&W to
start with. Instead, we'll just tell xvfb to use a 24-bit display
and let it sort out the visuals for itself; that seems to work better.

[originally from svn r7932]
2008-03-20 09:18:26 +00:00
202e023f59 I _think_, after some fairly random experimentation, that this ought
to fix the weird blacked-out text in the xvfb-built screenshots.

[originally from svn r7931]
2008-03-20 00:19:27 +00:00
6da8849110 I still haven't managed to get the WinCE port building via bob, but
I should at least check in what I've got.

[originally from svn r7542]
2007-05-06 09:54:34 +00:00
8b1b6bc9a3 Oops. Having built the installer, we need a redirect for it in
.htaccess.

[originally from svn r7324]
2007-02-25 10:10:51 +00:00
b05cb1eaf3 Build an installer for Puzzles.
[originally from svn r7319]
2007-02-24 19:33:38 +00:00
da4606ddd5 Now we have the new `module' command, use it.
[originally from svn r7224]
2007-02-05 12:41:21 +00:00
ac72b6e148 Reinstate the icons in the Windows binaries.
[originally from svn r7217]
2007-02-04 14:35:23 +00:00
19a298baf4 Forgot to tag the Mac and Windows binaries with the revision number.
[originally from svn r7215]
2007-02-04 14:03:52 +00:00
8df3cdf7d6 Looking for puzzles*.tar.gz in the right directory is liable to make
the .htaccess build work better :-)

[originally from svn r7214]
2007-02-04 13:44:38 +00:00
dd1cee7537 Build script for Puzzles using bob. I've also added a piece of extra
infrastructure to the mkfiles.pl framework for the convenience of
the build script: it generates `wingames.lst', a list of the Windows
binaries which are ship-worthy games as opposed to nullgame or
command-line auxiliary programs.

[originally from svn r7206]
2007-02-04 11:44:10 +00:00