Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
martijnlaan authored Jun 6, 2024
0 parents commit b46e3a6
Show file tree
Hide file tree
Showing 448 changed files with 173,199 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ['https://jrsoftware.org/isdonate.php']
140 changes: 140 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: build

on:
push:

env:
HOME: "${{github.workspace}}\\home"

jobs:
build:
# Only set the topic `has-issrc-build-env` if the secrets are available
if: contains(github.event.repository.topics, 'has-issrc-build-env')
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: initialize build environment
env:
ISSRC_BUILD_ENV_ZIP_PASSWORD: ${{ secrets.ISSRC_BUILD_ENV_ZIP_PASSWORD }}
ISSRC_BUILD_ENV_ZIP_URL: ${{ secrets.ISSRC_BUILD_ENV_ZIP_URL }}
run: |
(New-Object Net.WebClient).DownloadFile($env:ISSRC_BUILD_ENV_ZIP_URL, "issrc-build-env.zip")
& "C:\\Program Files\\7-Zip\\7z.exe" x -oissrc-build-env -p"$env:ISSRC_BUILD_ENV_ZIP_PASSWORD" issrc-build-env.zip
if (!(Test-Path issrc-build-env\bin\dcc32.exe)) {
Write-Host "Failed to extract dcc32.exe"
Exit 1
}
Remove-Item issrc-build-env.zip
$DELPHIXEROOT = (Get-Item .\issrc-build-env).FullName
"DELPHIXEROOT=$DELPHIXEROOT" | Out-File -NoNewLine -Encoding ascii -Append "$env:GITHUB_ENV"
- name: Prepare home directory for code-signing
env:
CODESIGN_P12: ${{secrets.CODESIGN_P12}}
CODESIGN_PASS: ${{secrets.CODESIGN_PASS}}
if: env.CODESIGN_P12 != '' && env.CODESIGN_PASS != ''
shell: bash
run: |
mkdir -p home/bin &&
echo -n "$CODESIGN_P12" | tr % '\n' | base64 -d >home/.codesign.p12 &&
printf '%s ' >home/bin/run-signtool.bat \
'"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign' \
'/v /fd SHA256 /du "https://jrsoftware.org" /d "Inno Setup"' \
'/tr http://timestamp.comodoca.com?td=sha256 /td SHA256' \
'/f "${{github.workspace}}\home\.codesign.p12"' \
"/p \"$CODESIGN_PASS\" \"%1\"" &&
printf '%s\n' >setup-sign.bat \
'mkdir tmp-unsigned' \
'copy files tmp-unsigned' \
'tmp-unsigned\iscc /Sissigntool256="${{github.workspace}}\home\bin\run-signtool.bat $f" /DSIGNTOOL setup.iss'
- name: build issrc
run: |
"set DELPHIXEROOT=$env:DELPHIXEROOT" | Out-File -NoNewline -Encoding ascii compilesettings.bat
"set DELPHIXEROOT=$env:DELPHIXEROOT" | Out-File -NoNewline -Encoding ascii ISHelp\ISHelpGen\compilesettings.bat
"set HHCEXE=%ProgramFiles(x86)%\HTML Help Workshop\hhc.exe" | Out-File -NoNewline -Encoding ascii ISHelp\compilesettings.bat
"set HHCEXE=%ProgramFiles(x86)%\HTML Help Workshop\hhc.exe" | Out-File -NoNewline -Encoding ascii Projects\ISPP\Help\compilesettings.bat
.\build.bat
- name: Clean up temporary files
if: always()
shell: bash
run: rm -rf home setup-sign.bat
- name: copy license.txt into all artifacts
run: |
copy license.txt Files
copy license.txt Output
copy license.txt Projects/ISPP/Help/Staging
copy license.txt ISHelp/Staging
- name: upload Files
uses: actions/upload-artifact@v3
with:
name: Files
path: Files
- name: upload installer
uses: actions/upload-artifact@v3
with:
name: Output
path: Output
- name: upload ISPP/Help
uses: actions/upload-artifact@v3
with:
name: Help
path: Projects/ISPP/Help/Staging
- name: upload ISHelp
uses: actions/upload-artifact@v3
with:
name: ISHelp
path: ISHelp/Staging
- name: find mt.exe
shell: bash
run: |
set -x &&
mt=$(ls -t /c/Program\ Files*/Windows\ Kits/10/bin/*/x64/mt.exe) &&
test -n "$mt" &&
echo "${mt%%/mt.exe*}" >>$GITHUB_PATH
- name: verify installer
shell: bash
run: |
set -x &&
ver="$(sed -n 's/^set VER=//p' <build.bat)" &&
mt '-inputresource:Output\innosetup-'$ver.exe -out:innosetup-$ver.manifest &&
cat innosetup-$ver.manifest &&
mkdir -p Output/innosetup-$ver.exe.Local &&
cp -R "$(cygpath -au "$SYSTEMROOT")"/WinSxS/x86_microsoft.windows.common-controls_* Output/innosetup-$ver.exe.Local/ &&
mkdir Output/innosetup-$ver.en-US &&
mkdir Output/innosetup-$ver.en &&
mkdir Output/innosetup-$ver.ENU &&
mkdir -p trace &&
echo "$ver" >trace/ver &&
curl -LO https://download.sysinternals.com/files/ProcessMonitor.zip &&
unzip ProcessMonitor.zip &&
# Need to start the background process via PowerShell because it would
# block for some reason if started as a Bash background process.
powershell -command 'start-process -NoNewWindow -FilePath .\Procmon.exe -ArgumentList "-AcceptEula -Quiet -BackingFile trace/procmon.pml -RunTime 60"' &&
test $? = 0 &&
ps -W &&
./Procmon.exe -AcceptEula -WaitForIdle &&
./Output/innosetup-$ver.exe //verysilent //dir=InnoSetup //noicons \
//tasks= //portable=1 &&
test -x InnoSetup/ISCC.exe &&
./Procmon.exe -Terminate -Quiet &&
powershell -command 'start-process -NoNewWindow -Wait -FilePath .\Procmon.exe -ArgumentList "-OpenLog trace\procmon.pml -SaveAs trace\procmon.csv"'
- name: upload trace
uses: actions/upload-artifact@v3
with:
name: trace
path: trace
- name: check trace
shell: bash
run: |
set -x &&
curdir="$(cygpath -aw Output | sed 's/\\/&&/g')" &&
ver="$(sed 's/\./\\&/g' <trace/ver)" &&
sed -ne '/"'$curdir'\\innosetup-'$ver'\.\(exe\|exe\.Config\|en-US\|en\|ENU\|EN\)"/d' -e '/"'$curdir'\\/p' \
trace/procmon.csv >trace/filtered.csv &&
if test -s trace/filtered.csv
then
echo ":error:Unexpected filesystem access" >&2
cat trace/filtered.csv >&2
exit 1
fi
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
c.bat
compilesettings.bat
setup-sign.bat
Output
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "Components/UniPs"]
path = Components/UniPs
url = https://github.com/remobjects/pascalscript.git
61 changes: 61 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Inno Setup
==========

Copyright (C) 1997-2024 Jordan Russell. All rights reserved.
Portions Copyright (C) 2000-2024 Martijn Laan. All rights reserved.
For conditions of distribution and use, see LICENSE.TXT.

Contributing issues
-------------------

To report bugs or request new features use the [forum](https://jrsoftware.org/forums.php).

Contributing new code or documentation updates
----------------------------------------------

To contribute new code or documentation updates to Inno Setup clone your own
fork instead of cloning the main Inno Setup repository, commit your work on topic
branches and make pull requests. In detail:

1. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the project.

2. Clone your fork (`git clone https://github.com/<your-username>/issrc.git`).

3. Add an `upstream` remote (`git remote add upstream
https://github.com/jrsoftware/issrc.git`).

4. Get the latest changes from upstream (e.g. `git pull upstream main`).

5. Create a new topic branch to contain your feature, change, or fix (`git
checkout -b <topic-branch-name>`).

6. Make sure that your changes adhere to the current coding conventions used
throughout the project - indentation, accurate comments, etc.

Do not make mass whitespace, copyright date or $jrsoftware$ tag changes to
files. The only time is it ok to make such changes is when you already needed
to change the file to implement your feature, change, or fix.

7. Commit your changes to your topic branch.

8. Push your topic branch up to your fork (`git push origin
<topic-branch-name>`).

9. [Open a Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) with a
clear title and description. Please include your name and email address if
you are contributing a translation.

10. Sign our [Contributor License Agreement](https://gist.github.com/c6a4b3ca5e370d65b49746df848e12a2) when asked.

If you don't have the Git client (`git`), get it from:

https://git-scm.com/

Contributing translations
-------------------------

To contribute translations please see https://jrsoftware.org/files/istrans/send.php.

Please do NOT use GitHub's web editor to edit ANSI translations and create pull
requests. This editor doesn't work since it automatically turns ANSI files into
UTF8 files without a BOM which are not supported before Inno Setup 6.3.
1 change: 1 addition & 0 deletions Components/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.dcu
Loading

0 comments on commit b46e3a6

Please sign in to comment.