Opened 13 years ago
Closed 11 years ago
#9374 closed Patch - Feature (Won't Fix)
[PATCH] New build script for Windows
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | Ports - Windows | Version: | Unspecified |
Severity: | medium | Keywords: | Build script packager windows |
Cc: | Ticket locked: | no |
Description
Following the move to git and other changes the current Perl based packager for Windows no longer builds a top of tree or latest fixes branch. In addition the stability of the product is questionable with a number of runtime errors being detected by Qt that are not otherwise observed on other platforms.
This script and associated patches add the following features:
- Cross compile on Linux or build native on Windows XP or later.
- Windows platform prerequisites are just Msys which is a simple download and install.
- Linux prerequisites are just the mingw cross compiler.
- Easily switch between debug and release builds.
- Easily switch between master and fixes branches.
- Patches are held in a separate folder, not embedded in the script, allowing easy customisation.
- Easy adaptation to updated libraries and patches.
The attached archive contains the bash build script and a mythpatches folder. The folder is arranged by library/component. The following patches are required to Mythtv;
- mythtv-0.24/10-d3d9.diff: Fix direct3d9 gui/video rendering. Ticket #9241.
- mythtv-0.24/20-videofiles-win32.diff: Fix playback of video files with a : in the path
- mythplugins-0.24/10-win32xbuild.diff: Patch to ./configure required to cross compile.
- mythplugins-0.24/20-mythmusic-cdio.diff: Play/rip music CD's on Windows.
The remaining patches are to external libraries and are required for the build.
Attachments (1)
Change History (9)
Changed 13 years ago by
Attachment: | mythbuildw32.zip added |
---|
comment:1 Changed 13 years ago by
Owner: | changed from Nigel to robertm |
---|---|
Status: | new → assigned |
Hi Lawrence,
I do like your build script a lot and have used it without issue under both conditions. I do think it's the right way to go moving forward. Here's what I'd like to do:
1) Get all of the source and binary packages grabbed by this script loaded into the google code project. Can you send me an e-mail with the URLs to these? Even if we only download a binary package, I'll also need a URL for the source package to make sure we are license compliant.
2) I'd really prefer to see us get these patches committed rather than rely on external ones right off the bat. I can try to coordinate their being looked at on this side, but we need to make sure all of the patches have equivalent tickets opened, if there are any that do not yet have a ticket.
comment:2 Changed 13 years ago by
- The URLs to all of the libraries are right at the top of the script. If someone can can explain to me how to upload to the google repo I can do that. The only binary package is Mysql.
- I have submitted the mythmusic-cdio.diff on ticket #9362, 20-videofiles-win32.diff is on ticket #9268. That just leaves 10-win32xbuild.diff which I kinda was hoping would go on this ticket as it's a total dependency.
FWIW I'm developing the script a bit further so that it can also run a native build from scratch. It may sound unnecessary but it allows you to choose the library versions and build options for each dependency. It's already flushed out an assertion failure in Qt - ticket #9378. It also looks as if there may be mysql bugs that are highlighted in a full debug build. I'll post it on the developers list after Xmas as I'm off for two weeks respite.
comment:4 Changed 13 years ago by
New version of script in #9493, which is closed as a dupe of this.
comment:5 Changed 13 years ago by
I have taken the liberty to track (as good as I could) the changes Lawrence made in a personal fork of the packaging repo, perhaps once final you can pull from there:
http://github.com/jmartens/packaging/tree/win32-build-script
comment:6 Changed 12 years ago by
Owner: | robertm deleted |
---|
comment:7 Changed 12 years ago by
Status: | assigned → new |
---|
comment:8 Changed 11 years ago by
Resolution: | → Won't Fix |
---|---|
Status: | new → closed |
I don't think this is going anywhere. David Blain has been building under VS and is going to be pushing some fixes related to that once 0.27 has been branched.
Build script and patches