41 Commits

Author SHA1 Message Date
Егор
99c4dce943 Merge pull request #9 from Egor00f/add-chocolatey-package
Add chocolatey package
2024-11-19 21:34:49 +05:00
9cd3a05980 fix choco package install
choco package installing, but cant delete toolchain
2024-11-19 21:33:11 +05:00
Егор
b8a7e18e21 Update install.sh
Sudo sudo sudo...
2024-11-19 14:38:37 +05:00
Егор
05244d556f fix update libraries install.sh 2024-11-19 14:03:44 +05:00
Егор
0374af72f6 Update install.sh
+ Use tabs instad spaces
+ Updating all libraries
2024-11-19 13:46:18 +05:00
Егор
1a05d66976 Update test.yml
+ Test compiler working in install.ps1 test
+ choco package test oj windows instead ubuntu
2024-11-17 20:42:28 +05:00
Егор
fe4d4bc277 Update test.yml 2024-11-17 16:58:05 +05:00
743ad5a0cd fix downloading libraries && add remove package && fix powershell script depends in tests 2024-11-17 16:28:13 +05:00
Егор
80198a0692 Update test.yml
Separation of package build tests, packages and installation script
2024-11-16 20:23:38 +05:00
Егор
0a93ba45c2 Update test.yml
+ Fix names of targets
+ Add install/remove tests for chocolatey package
2024-11-16 19:56:36 +05:00
Егор
e81277efc3 fix param in install.ps1 2024-11-16 19:45:39 +05:00
81ede577a3 Update kos32-gcc.nuspec 2024-11-16 16:21:43 +05:00
c8dfcc7e13 try fix install.ps1 && other 2024-11-16 16:21:10 +05:00
a64723dec2 update .gitignore
add chocolatey package build to .gitignore
2024-11-16 11:24:51 +05:00
2bfe470796 use powershell features for install toolchain && use powershell script in installer
Additions:
+ modules for download and unpacking package
+ use Write-Progress for show progress
+ update libs in for loop
+ use ps1 installer in setup installer, because it not need pre-installed depends
+ Add test for PowerShell install script

Script not tested.
2024-11-15 16:45:10 +00:00
dfde28f76f add chocolatey & add test for chocolatey package 2024-11-14 21:26:34 +05:00
Егор
7e88c422d4 Update README.md
Some checks failed
test / windows-install (push) Has been cancelled
test / build-Installer (push) Has been cancelled
test / linux-install (push) Waiting to run
test / package (push) Has been cancelled
Точки и пробелы, там поставлены...
Ссылки подправленны...
И всякое такое
2024-11-13 00:02:05 +05:00
Егор
7250a0cc50 fix access to include problem 2024-11-12 23:55:12 +05:00
ca0898f7f5 update Readme.md 2024-11-12 07:20:21 +00:00
41474060b3 fix installator and windows install script 2024-11-11 16:09:41 +05:00
23d7d8064d add install path select to windows install script 2024-11-11 10:01:49 +00:00
Егор
876c00a66a Update install.sh 2024-11-11 14:00:19 +05:00
Егор
fd5c312c33 fix access error & use / instead \ in postrm 2024-11-11 08:29:28 +00:00
Егор
e07c12dacc fix adding link to toolchain dir and remove & add copyright to package 2024-11-11 07:47:00 +00:00
Егор
376ae0fa91 fix test.yml 2024-11-10 16:27:46 +05:00
Егор
e08878da61 fix install.sh 2024-11-10 16:23:36 +05:00
Егор
93acd0f1dd Update package test 2024-11-10 16:21:02 +05:00
Егор
d73b2827b1 update install.sh 2024-11-10 11:15:06 +00:00
Егор
5968d5a12b Update install.sh 2024-11-10 15:46:47 +05:00
Егор
a782cd37cd update idk 2024-11-10 10:27:09 +00:00
Егор
2480b1a20b Update install.sh 2024-11-09 23:18:02 +05:00
Егор
f4e741746f Update test.yml 2024-11-09 23:02:36 +05:00
Егор
d7a97891f7 fix upload artifact 2024-11-09 23:01:24 +05:00
Егор
f2ee70e825 Merge pull request #4 from Egor00f/add-installation-path-selection
Add installation path selection
2024-11-09 22:36:59 +05:00
Егор
99f3639668 fix test build 2024-11-09 17:35:08 +00:00
Егор
3dc15f3597 fix upload package 2024-11-09 17:27:22 +00:00
Егор
87c29daf9e add upload artifacts of packages && add github actions extension 2024-11-09 17:21:40 +00:00
Егор
0e3f85c0e3 add installation path selection 2024-11-09 17:16:13 +00:00
Егор
0baa7b470d fix build in github codespaces 2024-11-09 16:44:24 +00:00
Егор
537356d5fe fix devcontainer.json 2024-11-09 16:24:18 +00:00
Егор
6f3187dea8 Create devcontainer.json 2024-11-09 21:09:56 +05:00
17 changed files with 388 additions and 77 deletions

View File

@@ -0,0 +1,19 @@
{
"image": "mcr.microsoft.com/devcontainers/cpp:debian-12",
"features": {
},
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cmake-tools",
"usernamehw.errorlens",
"streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-russian",
"ibm.output-colorizer",
"chouzz.vscode-innosetup",
"github.vscode-github-actions"
]
}
}
}

View File

@@ -1,4 +1,4 @@
name: test
name: Test
on:
push:
@@ -8,15 +8,15 @@ on:
workflow_dispatch:
jobs:
#Test linux install script
linux-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run script
run: ${{ github.workspace }}/./install.sh
run: echo '/home/autobuild/tools' | ${{ github.workspace }}/./install.sh
- name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
@@ -26,8 +26,8 @@ jobs:
kos32-gcc -v
kos32-g++ -v
#Test windows install script
windows-install:
#Test Batch install script
batch-install:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
@@ -38,20 +38,31 @@ jobs:
choco install 7zip
- name: Run script
run: ${{ github.workspace }}/install.bat
run: ${{ github.workspace }}\install.bat
- name: Add toolchain to path
run: echo "C:\MinGW\msys\1.0\home\autobuild\tools\win32\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
#Test PowerShell install script
PowerShell-install:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Test run
- name: Install modules
run: |
Set-PSRepository PSGallery -InstallationPolicy Trusted
Install-Module -Name 7Zip4PowerShell
- name: Run script
run: ${{ github.workspace }}\install.ps1
- name: Test
run: |
kos32-g++ -v
kos32-gcc -v
shell: cmd
kos32-g++ -v
#Test Windows Installer
build-Installer:
runs-on: windows-latest
needs: PowerShell-install
steps:
- uses: actions/checkout@v4
@@ -60,27 +71,106 @@ jobs:
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Installer
# Test Package
package:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-installer
# Upload entire repository
path: './build/installer.exe'
# Test deb package build
deb-package-build:
runs-on: ubuntu-latest
needs: linux-install
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Package
cmake --build ${{ github.workspace }}/build --target deb
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: deb-package
# Upload entire repository
path: './build/package.deb'
# Test deb package install/remove
deb-package-test:
runs-on: ubuntu-latest
needs: deb-package-build
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target deb
- name: Install package
run: sudo apt install ${{ github.workspace }}/build/package.deb
run: echo '/kolibrios-toolchain' | sudo apt install ${{ github.workspace }}/build/package.deb -y
- name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
run: echo "/kolibrios-toolchain/win32/bin" >> $GITHUB_PATH
- name: Test run
run: |
kos32-g++ -v
kos32-gcc -v
/home/autobuild/tools/win32/bin/kos32-gcc -v
/home/autobuild/tools/win32/bin/kos32-g++ -v
/kolibrios-toolchain/win32/bin/kos32-gcc -v
/kolibrios-toolchain/win32/bin/kos32-g++ -v
- name: Remove package
run: sudo apt remove kos32-gcc
#Test chocolatey package build
chocolatey-package-build:
runs-on: windows-latest
needs: PowerShell-install
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target choco
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: choco-package
# Upload entire repository
path: './build/choco-package.nupkg'
# Test chocolatey package install/remove
chocolatey-package-test:
runs-on: windows-latest
needs: chocolatey-package-build
steps:
- uses: actions/checkout@v4
- name: Install modules
run: |
Set-PSRepository PSGallery -InstallationPolicy Trusted
Install-Module -Name 7Zip4PowerShell
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target choco
- name: Install package
run: choco install ${{ github.workspace }}\build\choco-package.nupkg
- name: Test
run: |
kos32-gcc -v
kos32-g++ -v
- name: Remove package
run: choco uninstall kos32-gcc

4
.gitignore vendored
View File

@@ -1,4 +1,8 @@
Output/
package/DEBIAN/postinst
package/DEBIAN/copyright
package.deb
build/
chocolatey/kos32-gcc*.nupkg
chocolatey/install.ps1
chocolatey/tools/install.ps1

View File

@@ -3,6 +3,7 @@
"chouzz.vscode-innosetup",
"streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-russian",
"ms-vscode.cmake-tools"
"ms-vscode.cmake-tools",
"github.vscode-github-actions"
]
}

12
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,12 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "cmake",
"label": "CMake: настроить",
"command": "configure",
"problemMatcher": [],
"detail": "Задача шаблона CMake настроить"
}
]
}

View File

@@ -7,13 +7,30 @@ project(
add_custom_target(
Package
deb
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/prerm
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postrm
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Build deb package"
)
add_custom_target(
Installer
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
COMMENT "Build windows installer"
)
add_custom_target(
choco
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.ps1 ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
COMMAND choco pack
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
COMMENT "Build chocolatey package"
)

View File

@@ -1,44 +1,45 @@
# Установщик gcc тулчейна для KolibriOS
Просто устанавливает тулчейн.
Просто устанавливает тулчейн C/C++ компилятора для KolinriOS от Serge.
оригинальный скрипт для linux взят из http://board.kolibrios.org/viewtopic.php?p=76227&hilit=%D1%82%D1%83%D0%BB%D1%87%D0%B5%D0%B9%D0%BD#p76227
(скрипт подправлен)
Оригинальный скрипт для linux взят [по ссылке](http://board.kolibrios.org/viewtopic.php?p=76227&hilit=%D1%82%D1%83%D0%BB%D1%87%D0%B5%D0%B9%D0%BD#p76227) (скрипт был значительно изменён).
## Установка
Для установки требуются `7z` и `wget`
Для установки требуются `7z` и `wget`. При выборе своего пути в любом случае будет создана папка win32 в выбранной папке.
### Linux
Просто запустите `install.sh`.
Некоторые команды требуют sudo
Некоторые команды требуют sudo.
Тулчейн устанавливается в папку `/home/autobuild/tools/win32`
Или установите пакет. [Ссылка на пакет](https://git.kolibrios.org/Egor00f/-/packages/debian/kos32-gcc/) или в релизах.
Тулчейн по умолчанию устанавливается в папку `/home/autobuild/tools/win32`, но скрипт вас спросит перед установкой.
### Windows
Желательно чтобы вы перед утсановкой тулчейна установите msys из установщика MinGW.
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами.
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
Тулчейн устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`
Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию).
## Сбока установщиков
## Сборка установщиков
Установщики полностью базируются на скриптах установки, так что безразницы что вы будете использовать скрипт или установщик.
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
Установщики собираются с помощью cmake (cmake просто потому что могу)
Установщики собираются с помощью cmake (cmake просто потому что могу).
### Linux
Можно собрать deb пакет. Цель для сборки Package. Для сбрки требуется `dpkg-deb`
Можно собрать deb пакет. Цель для сборки Package. Для сборки требуется `dpkg-deb`.
### Windows
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
Если сборка не работает, добавьте папку Inno Setup(например: `C:\Programs Files\Inno Setup 6`) в PATH
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>kos32-gcc</id>
<title>KolibriOS gcc toolchain installer</title>
<version>0.1.5</version>
<authors>Egor00f</authors>
<owners>Egor00f</owners>
<summary>idk</summary>
<description>_KolibriOS gcc toolchain installer. This package installing KolibriOS gcc toolchain by Serge.</description>
<packageSourceUrl>https://github.com/Egor00f/kolibrios-gcc-toolchain/</packageSourceUrl>
<tags>kolibrios toolchain compiler C/C++</tags>
<copyright></copyright>
<licenseUrl>https://github.com/Egor00f/kolibrios-gcc-toolchain/blob/main/LICENSE</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<!--<iconUrl>http://cdn.rawgit.com/__CHOCO_PKG_MAINTAINER_REPO__/master/icons/__NAME__.png</iconUrl>-->
<releaseNotes></releaseNotes>
</metadata>
<files>
<file src="tools\**" target="tools" />
</files>
</package>

View File

@@ -0,0 +1,14 @@
#NOTE: Please remove any commented lines to tidy up prior to releasing the package, including this one
$packageName = 'kos32-gcc' # arbitrary name for the package, used in messages
# main helpers - these have error handling tucked into them already
# installer, will assert administrative rights
$INSTALL_PATH = Read-Host 'Path to install toolchain(Enter - default)'
C:\ProgramData\Chocolatey\lib\kos32-gcc\tools\install.ps1
Out-File -FilePath C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path -InputObject $INSTALL_PATH

View File

@@ -0,0 +1,4 @@
$installPath = Get-Content C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path | Out-String | ConvertFrom-StringData
Remove-Item -LiteralPath $installPath -Force -Recurse

View File

@@ -3,8 +3,14 @@
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
set TOOLCHAIN_DIR=C:\MinGW\msys\1.0\home\autobuild\tools
set DEFAULT_TOOLCHAIN_DIR=C:\MinGW\msys\1.0\home\autobuild\tools
if [%1] == [] (
set TOOLCHAIN_DIR=%DEFAULT_TOOLCHAIN_DIR%
)
else (
set TOOLCHAIN_DIR=%1
)
Call :print_msg Create the %TOOLCHAIN_DIR% folder...

57
install.ps1 Normal file
View File

@@ -0,0 +1,57 @@
#Requires -RunAsAdministrator
param(
[string]$InstallPath='C:\MinGW\msys\1.0\home\autobuild\tools'
)
if (Get-Module -ListAvailable -Name 7Zip4PowerShell)
{}
else
{
Install-Module -Name 7Zip4PowerShell
}
$LIBS_PATH = '$InstallPath\win32\mingw32\lib\'
$LIBS_URL = 'http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/'
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 0 -CurrentOperation 'Create the $InstallPath folder'
mkdir $InstallPath -Force
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 1 -CurrentOperation 'Download the kos32-gcc toolchain'
Invoke-WebRequest http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -OutFile $InstallPath\kos32-toolchain.7z
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 20 -CurrentOperation 'Unpacking kos32-gcc toolchain'
Expand-7Zip -ArchiveFileName $InstallPath\kos32-toolchain.7z -TargetPath $InstallPath
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 40 -CurrentOperation 'Downloading libraries'
Invoke-WebRequest http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -OutFile $InstallPath\win32\mingw32\sdk-28-10-16.7z
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 50 -CurrentOperation 'Unpacking libraries'
Expand-7Zip -ArchiveFileName $InstallPath\win32\mingw32\sdk-28-10-16.7z -TargetPath $InstallPath\win32\mingw32\
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 60 -CurrentOperation "Download libraries"
$response = Invoke-WebRequest -Uri $LIBS_URL -Method GET
$files = @( $response.Content -split [environment]::NewLine | ? { $_ -like '*tageswerte*.zip*' } | % { $_ -replace '^(.*>)(tages.*\.zip)<.*', '$2' } )
foreach( $file in $files ) {
Invoke-WebRequest -Uri ($LIBS_URL + $file) -Method GET -OutFile ($LIBS_PATH + $file)
}
Write-Progress -Activity 'Installing toolchain' -Status 'Done!' -PercentComplete 99 -CurrentOperation "end"

View File

@@ -2,35 +2,49 @@
# Written by turbocat2001 (Maxim Logaev)
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
# modified by Egor00f (Egor)
set -e
print_msg(){
echo -e "\e[34m$1\e[0m"
echo -e "\e[34m$1\e[0m"
}
print_ok(){
echo -e "\e[32m$1\e[0m"
echo -e "\e[32m$1\e[0m"
}
print_err(){
echo -e "\e[31m$1\e[0m"
exit
echo -e "\e[31m$1\e[0m"
exit
}
check_utils(){
printf "%s: " $1
if command -v $1 &> /dev/null
then
print_ok "ok\r"
else
print_err "no\r"
fi
printf "%s: " $1
if command -v $1 &> /dev/null
then
print_ok "ok\r"
else
print_err "no\r"
fi
}
pwd
TOOLCHAIN_DIR="/home/autobuild/tools"
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
MESSAGE="Toolchain install path(default is $TOOLCHAIN_DIR): "
echo -n $MESSAGE
read INPUT
if [[ ! -z "$INPUT" ]]; then
TOOLCHAIN_DIR=$INPUT
fi
echo "Installing toolchain to $TOOLCHAIN_DIR"
print_msg "Checking utilities..."
@@ -42,8 +56,9 @@ check_utils 7z
print_msg "Create the /home/autobuild folder..."
print_msg "Create the toolchain folders..."
sudo mkdir -p $DEFAULT_TOOLCHAIN_DIR
sudo mkdir -p $TOOLCHAIN_DIR
print_ok "Successfully!"
@@ -82,15 +97,9 @@ print_ok "Successfully!"
print_msg "Updating libraries"
cd lib
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
sudo wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib
sudo mv builds.kolibrios.org/en_US/data/contrib/sdk/lib/* ./
sudo rm -R builds.kolibrios.org
print_ok "Successfully!"
@@ -103,7 +112,7 @@ sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7
sudo 7z x -y libisl.so.10.2.2.7z
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
fi
sudo mv /tmp/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
@@ -123,20 +132,35 @@ sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
print_ok "Successfully!"
if [ "$TOOLCHAIN_DIR" != "$DEFAULT_TOOLCHAIN_DIR" ]; then
sudo ln -sf $TOOLCHAIN_DIR/win32 $DEFAULT_TOOLCHAIN_DIR
fi
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
EXPORT_MESSSAGE="export $MESSAGE"
if [ ! "$(id -u)" -ne 0 ]
then
print_msg "Add"
echo 'PATH=$PATH:/home/autobuild/tools/win32/bin' >> /etc/profile
echo $MESSAGE >> /etc/profile
sudo mkdir -p /etc/kos32-gcc
echo $TOOLCHAIN_DIR > /etc/kos32-gcc/install-path
else
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then
export PATH=$PATH:/home/autobuild/tools/win32/bin
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc
fi
if ! grep -q $EXPORT_MESSSAGE ~/.bashrc; then
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
echo '$EXPORT_MESSSAGE' >> ~/.bashrc
fi
fi
sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/*
sudo chmod 774 $TOOLCHAIN_DIR/win32/include/*
sudo chmod -R 774 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include
sudo chmod 774 $TOOLCHAIN_DIR/win32/lib/*
cd "$OLDPWD"
export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin
print_ok "Installation was successful!"

View File

@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "KolibriOS gcc toolchain"
#define MyAppVersion "0.1.3"
#define MyAppVersion "0.1.5"
#define MyAppPublisher "Egor00f"
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"
@@ -16,7 +16,8 @@ AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}\releases
AppReadmeFile=.\README.md
DefaultDirName=C:\MinGW\msys\1.0\home\autobuild\tools
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
@@ -57,8 +58,39 @@ Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \
ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\win32\bin"; \
Check: NeedsAddPath('{app}\win32\bin')
[Files]
Source: ".\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\install.ps1"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Run]
Filename: "{app}\install.bat"; description: "install script"; StatusMsg: "Installing toolchain"; Flags: runhidden logoutput
Filename: "{app}\install.ps1"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "-InstallPath {app}"; Flags: runhidden logoutput
[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
[UninstallDelete]
Type: files; Name: "{app}\*"
[Code]
function NeedsAddPath(Param: string): boolean;
var
OrigPath: string;
begin
if not RegQueryStringValue(HKEY_LOCAL_MACHINE,
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
'Path', OrigPath)
then begin
Result := True;
exit;
end;
{ look for the path with leading and trailing semicolon }
{ Pos() returns 0 if not found }
Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0;
end;

6
package/DEBIAN/control Normal file → Executable file
View File

@@ -1,9 +1,9 @@
Package: kos32-gcc
Version: 0.1.3
Version: 0.1.5
Architecture: all
Section: devel
Depends: libc6-i386:amd64, libmpc3:amd64
Pre-Depends: p7zip, wget
Pre-Depends: p7zip-full, wget
Recommends: fasm
Priority: optional
Homepage: https://github.com/Egor00f/kolibrios-gcc-toolchain
@@ -11,4 +11,4 @@ Origin: http://ftp.kolibrios.org/users/Serge/new/Toolchain
Maintainer: Egor00f <velikiydolbayeb@gmail.com>
Installed-Size: 131708
Description: KolibriOS gcc toolchain installer
This package installing KolibriOS gcc toolchain.
This package installing KolibriOS gcc toolchain by Serge.

View File

@@ -1,11 +1,12 @@
#!/bin/bash
rm -R /home/autobuild/tools/win32
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
if grep -q 'PATH=$PATH:/home/autobuild/tools/win32/bin' /etc/profile; then
val="PATH=\$PATH:/home/autobuild/tools/win32/bin"
sed -i '/$val/d' /etc/profile
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
if grep -q '$MESSAGE' /etc/profile; then
sudo sed -i '/$MESSAGE/d' /etc/profile
fi
rm /etc/kos32-gcc -R

7
package/DEBIAN/prerm Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
rm -R $TOOLCHAIN_DIR
rm -R /home/autobuild