mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2026-11-02 14:53:19 +02:00
* windows 98/nt4, slopped openssl away * one (1) roadblock that it can't figure out * fixed maybe * fix dos? * fix dos? (2) * ts is gonna be slow * No need to compress anymore * No need to compress anymore (2) * deslop The main problem with AI models, even today, is that they're very shortsighted. They're too focused on the thing working now than thinking about how maintainable it will be later. As such, you get duplicated code, as well as comments that are geared towards what it's doing right then and there (as if it's an advertisement of it's services) rather than improving the readability of the code. Always check your diffs. * Update workflows * Update freebsd.yml * Update README.md
76 lines
3.1 KiB
Docker
76 lines
3.1 KiB
Docker
# escape=`
|
|
|
|
# This file is a part of the UMSKT Project
|
|
#
|
|
# Copyleft (C) 2019-2023 UMSKT Contributors (et.al.)
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# @FileCreated by Neo on 06/19/2023
|
|
# @Maintainer Neo
|
|
|
|
# Stage 1: Install Visual Studio
|
|
FROM mcr.microsoft.com/dotnet/framework/runtime:4.8.1 as visualstudio
|
|
# Download and install Build Tools for Visual Studio 2022 for native desktop workload.
|
|
#ADD https://aka.ms/vs/17/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
|
|
ADD vs_buildtools.exe C:\TEMP\vs_buildtools.exe
|
|
RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
|
|
--add Microsoft.VisualStudio.Workload.VCTools `
|
|
--add Microsoft.VisualStudio.Workload.MSBuildTools `
|
|
--add Microsoft.VisualStudio.Component.WinXP `
|
|
--includeRecommended `
|
|
--installPath C:\BuildTools \
|
|
|
|
# Stage 2: Install Chocolatey and Prereqisites
|
|
FROM visualstudio as prereqisites
|
|
WORKDIR C:\TEMP\
|
|
|
|
RUN ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass", "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"]
|
|
RUN ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass", "choco feature enable -n allowGlobalConfirmation"]
|
|
RUN ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass", "choco install git --params \"'/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration /NoGuiHereIntegration /NoShellHereIntegration /NoCredentialManager /SChannel'\""]
|
|
|
|
# Stage 3: Build the 32-bit version of UMSKT
|
|
FROM prereqisites as Build32
|
|
WORKDIR C:\umskt\
|
|
COPY . C:\umskt\
|
|
|
|
RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat && `
|
|
mkdir C:\umskt\build && `
|
|
cd C:\umskt\build && `
|
|
cmake -DMSVC_MSDOS_STUB:string=..\umskt.exe .. -G "Visual Studio 17 2022" -A "Win32" -T v141_xp && `
|
|
msbuild ALL_BUILD.vcxproj /P:Configuration=Release
|
|
|
|
# Stage 4: Build the 64-bit version of UMSKT
|
|
FROM prereqisites as Build64
|
|
|
|
WORKDIR C:\umskt\
|
|
COPY . C:\umskt\
|
|
|
|
RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat && `
|
|
mkdir C:\umskt\build && `
|
|
cd C:\umskt\build && `
|
|
cmake .. && `
|
|
msbuild ALL_BUILD.vcxproj /P:Configuration=Release
|
|
|
|
# Stage 5: Copy binaries to an output/runtime image
|
|
FROM mcr.microsoft.com/dotnet/framework/runtime:4.8.1 as output
|
|
|
|
COPY --from=Build32 C:\umskt\build\Release\umskt.exe C:\umskt\umskt.exe
|
|
COPY --from=Build64 C:\umskt\build\Release\umskt.exe C:\umskt\umskt64.exe
|
|
|
|
#invoke via
|
|
# docker build -f Dockerfile.windows .
|
|
# docker run <hash>
|
|
# docker cp <plug>:C:\umskt umskt-win
|