Commit Graph

1001 Commits

Author SHA1 Message Date
Wolfgang Thaller
323d3e3a34 Revert "azure-pipelines.yml: temporary disable all non-Linux builds"
This reverts commit a230a79ca3.
2023-12-16 22:27:36 +01:00
Wolfgang Thaller
9ff29c557e reactivate actual build 2023-12-16 20:40:14 +01:00
Wolfgang Thaller
3737404c4b without comdition 2023-12-16 19:10:22 +01:00
Wolfgang Thaller
192081cd01 use variable group 2023-12-16 19:05:30 +01:00
Wolfgang Thaller
e2143c9c20 try with service connection again 2023-12-16 17:02:16 +01:00
Wolfgang Thaller
34eeb4dbb7 use token variable and explicit commands for docker 2023-12-16 16:47:36 +01:00
Wolfgang Thaller
1d8f4f6774 test setup for docker 2023-12-16 16:27:50 +01:00
Wolfgang Thaller
147b839de6 update docker connection 2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
de06b24fd7 azure-pipelines.yml: push retro68 release image to GHCR
This release image contains the basic toolchain that can be used for building
projects without having to build Retro68 locally, including integration into a
CI pipeline.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
3a4468b270 azure-pipelines.yml: switch from host build to container build
This has two main advantages: firstly it means that the Dockerfile is being tested
as part of the pipeline when changes are merged into master, and secondly it allows
testing of Linux builds without requiring a separate job for Docker that can consume
even more CI minutes.

In order to test the container image it is necessary to manually start the build
image using docker run, execute the tests, and then copy the results back to the
host ready for publishing.

Note that since the base OS image is now handled by docker we can switch the host
to use the 'ubuntu-latest' image rather than the older 'ubuntu-20.04' image.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
d8e2780f8d Dockerfile: add toolchain bin directory to the default PATH
This allows the Retro68 compilers to be executed regardless of the current
working directory which is set to /root by default.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
86a16a78cf Dockerfile: add git package to the image
This enables code to be checked out from within the running container as is
typically used by CI runners.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
bde1485a9e Dockerfile: only copy the build directory artifacts into the final release image
Use the docker multi-stage build functionality to perform the Retro68 build in a
temporary build image, and then copy the final build directory into a fresh
release image. This reduces the final release image size from 9.2GB to 2.6GB.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
0649693436 Dockerfile: bring build up to date with that in azure-pipelines.yml
Update Dockerfile to use Ubuntu 20.04 and the updated package list from
azure-pipelines.yml. Also explicitly include the g++ package into the container
without which configure will error out with a 'configure: error: C++ preprocessor
"/lib/cpp" fails sanity check' error.
2023-12-16 12:59:53 +01:00
Mark Cave-Ayland
a230a79ca3 azure-pipelines.yml: temporary disable all non-Linux builds 2023-12-16 12:59:51 +01:00
Wolfgang Thaller
591f2620d2 export variables from PEF (thanks to @elliotnunn) 2023-12-16 03:55:00 +01:00
Wolfgang Thaller
a97417fecc ci: update nix docker version 2023-12-09 01:03:45 +01:00
Wolfgang Thaller
04ab7e92ac
Merge pull request #214 from VyrCossont/patch-1
Add texinfo to brew install commands
2023-12-08 17:12:25 +01:00
Vyr Cossont
3537637c0f
Add texinfo to brew install commands
Following the instructions as is on macOS results in `build-toolchain.bash` failing with `WARNING: 'makeinfo' is missing on your system`. The readme was updated in #59 but only for Ubuntu.
2023-10-23 13:08:19 -07:00
Wolfgang Thaller
5f88250601
Merge pull request #203 from ryandesign/patch-1
ConvertObj: Fix typo in comment
2022-12-29 20:49:23 +01:00
Wolfgang Thaller
3f74aa7561
Merge pull request #202 from ryandesign/ryandesign-void
Declare all C function parameters
2022-12-29 20:49:05 +01:00
Ryan Schmidt
b80f694ad1
ConvertObj: Fix typo in comment 2022-12-05 07:05:58 -06:00
Ryan Schmidt
8f68ffd203 Declare all C function parameters
Specify parameters for all C functions. Not specifying parameters is the
same as specifying "void" in C++ and in C23 and later but that's not the
case in C prior to C23.

Compile C files with the same warnings as C++ files, additionally making
the strict prototypes warning an error to catch such problems in the
future. This commit isn't intended to address all the other warnings now
being emitted.
2022-12-05 06:48:30 -06:00
Wolfgang Thaller
3e426b21ea
Merge pull request #196 from ryandesign/multiseg-zero-pad-id
Fix multisegment app with > 10 CODE resources
2022-12-04 19:47:10 +01:00
Wolfgang Thaller
1facbfab7d
Merge pull request #201 from ryandesign/patch-1
ConvertObj: Fix typos in error messages
2022-12-04 10:16:50 +01:00
Ryan Schmidt
ee75babf9e
ConvertObj: Fix typos in error messages 2022-11-27 16:35:46 -06:00
Ryan Schmidt
695053149e Fix multisegment app with > 10 CODE resources
Closes #195
2022-10-26 20:16:14 -05:00
Wolfgang Thaller
2d38cceb19
Merge pull request #189 from ryandesign/minivmac-copy-attrs
MiniVMac.cc: Preserve attributes when copying
2022-10-25 23:27:07 +02:00
Wolfgang Thaller
932ceadf9c
Merge pull request #190 from ryandesign/LaunchAPPL-find-libhfs
LaunchAPPL: Find libhfs header/library
2022-10-25 23:26:29 +02:00
Ryan Schmidt
f06c07d40d LaunchAPPL: Find libhfs header/library 2022-10-08 00:06:46 -05:00
Ryan Schmidt
14f5ad3728 MiniVMac.cc: Preserve attributes when copying
When copying files from the system disk image to the new disk image,
preserve all attributes (creation date, modification date, bundle bit,
locked bit, etc.), except clear the inited bit so that the Finder
chooses new icon positions, otherwise (under System 6 at least) the
icons pile up on top of each other. Preserving the bundle bit in
particular tells the Finder to look in the file for icon information
when building the desktop database, without which the files all show
generic icons in the Finder.
2022-10-06 17:11:32 -05:00
Wolfgang Thaller
3db76c9abe
Merge pull request #188 from ryandesign/libretro-typos
Fix typos in comments in libretro
2022-10-06 23:36:06 +02:00
Ryan Schmidt
97b257e8b4 Fix typos in comments in libretro 2022-10-05 19:53:00 -05:00
Wolfgang Thaller
280a1e4ac6
Merge pull request #186 from ryandesign/LaunchAPPL.cfg-typos
LaunchAPPL.cfg.example: Fix typos
2022-10-02 14:12:19 +02:00
Ryan Schmidt
18f189162e LaunchAPPL.cfg.example: Fix typos 2022-10-02 00:28:47 -05:00
Wolfgang Thaller
1f533b761c
Merge pull request #183 from ryandesign/minivmac-find-folder
MiniVMac.cc: Use localized Extensions and Startup Items folder names
2022-10-01 11:12:47 +02:00
Wolfgang Thaller
c5c9e281f4
Merge pull request #182 from ryandesign/minivmac-finder-macsbug
MiniVMac.cc: Get Finder/MacsBug name from boot blocks
2022-10-01 11:12:06 +02:00
Wolfgang Thaller
ccc8ad12bb
Merge pull request #181 from ryandesign/LaunchAPPL.cfg-minivmac-system7
LaunchAPPL.cfg.example: Update for System 7
2022-10-01 11:11:28 +02:00
Wolfgang Thaller
8798070524
Merge pull request #177 from ryandesign/minivmac-alias
MiniVMac.cc: Fix alias creation code
2022-10-01 11:11:09 +02:00
Wolfgang Thaller
45236e10c0
Merge pull request #180 from ryandesign/azure-macos11
Azure: Update to macOS 11
2022-09-22 22:02:00 +02:00
Wolfgang Thaller
0288f3d5a6
Merge pull request #178 from ryandesign/add_application-r-absolute
cmake: Allow rez files specified by absolute path
2022-09-22 22:01:30 +02:00
Wolfgang Thaller
c0fcf42d04
Merge pull request #173 from ryandesign/cmake-powerpc
Make ppc/carbon cmake files refer to powerpc dir
2022-09-22 21:58:10 +02:00
Wolfgang Thaller
48d5bc0bb0
Merge pull request #169 from autc04/ppc601-by-default
switch PROCESSOR_DEFAULT to PROCESSOR_PPC601
2022-09-22 21:57:39 +02:00
Ryan Schmidt
72322d65d7 MiniVMac.cc: New method FindFolder
Remove hardcoded Extensions and Startup Items folder names and get the
correct localized names from the System file's 'fld#' resource.
2022-09-22 06:35:53 -05:00
Ryan Schmidt
425bb8b054 MiniVMac.cc: New method ReadSystemResources
Move the System file resource-reading code out of GetSystemVersion and
into a new ReadSystemResources method which stores the resources in a
new member variable so that it can be used by multiple methods.
2022-09-22 05:27:51 -05:00
Ryan Schmidt
171577c140 MiniVMac.cc: Get Finder/MacsBug name from boot blocks
Closes: #172
2022-09-22 03:33:04 -05:00
Ryan Schmidt
00cd6666a4 LaunchAPPL.cfg.example: Update for System 7 2022-09-22 01:47:30 -05:00
Ryan Schmidt
087989661c MiniVMac.cc: Fix alias creation code
* Convert all field values from host order to big-endian so they aren't
  byte-swapped when created on little-endian systems.
* Pack the struct so the compiler doesn't insert padding on 64-bit
  systems.
* Fix the volume and file creation timestamps by converting them from
  UNIX to Macintosh time base, using a function copied from hfsutils.
* Pad volume and file names with null bytes instead of random memory.
* Add the "end of variable-length data" marker so the OS doesn't crash
  when trying to resolve the alias.
* Set the alias flag so the OS treats the file as an alias.
2022-09-22 00:38:06 -05:00
Ryan Schmidt
e03a4d2344 Azure: Update to macOS 11
The macOS 10.15 environment is scheduled for removal by December and is
subject to periodic scheduled brownouts until then.
2022-09-22 00:23:58 -05:00
Ryan Schmidt
3616f855a9 cmake: Allow specifying rez files by absolute path
This allows generated rez files to be listed in add_application by their
full path in the build directory, e.g. ${CMAKE_CURRENT_BINARY_DIR}/foo.r

Closes #176
2022-09-22 00:16:22 -05:00