34 Commits
v0.1 ... v0.1.3

Author SHA1 Message Date
Егор
22256e92c9 Update README.md 2024-11-09 19:08:01 +05:00
194e9de3e2 package is working! now this is new version 2024-11-09 13:56:04 +00:00
4dc4393c52 fix 2024-11-09 13:51:19 +00:00
003780f587 try fix postrm 2024-11-09 13:46:44 +00:00
c0136c680d try fix postrm 2024-11-09 12:49:46 +00:00
5886611082 fix install and prerm 2024-11-09 12:38:41 +00:00
a882106a25 fix postrm && add comments to test.yml 2024-11-09 12:24:35 +00:00
6cd179035c update test.yml 2024-11-09 12:16:41 +00:00
b0e92ef197 update version 2024-11-08 18:12:10 +00:00
81135f0c3a update version 2024-11-08 18:11:28 +00:00
8505ca3a4e use just profile 2024-11-08 18:04:47 +00:00
9262ee0fa4 fix of fix 2024-11-08 17:45:32 +00:00
eb61d5f483 fix install.sh 2024-11-08 17:45:07 +00:00
e63568bc9c try fix 2024-11-08 17:34:25 +00:00
6d994d865c fix 2024-11-08 17:23:56 +00:00
d2c3ae7904 update install.sh 2024-11-08 17:21:51 +00:00
53343866d9 update 2024-11-08 17:18:44 +00:00
Егор
048965ba75 Update test.yml
fix runner name
2024-11-08 21:57:58 +05:00
Егор
9b3be45832 Update install.sh 2024-11-08 21:55:46 +05:00
Егор
fb37fd61a8 Update install.sh 2024-11-08 21:55:09 +05:00
Егор
2346cbda4a Merge pull request #3 from Egor00f/add-deb-package
create deb package
2024-11-08 21:05:45 +05:00
dcbf7a3e1f update.test.yml 2024-11-08 16:03:05 +00:00
f470a40d30 update control 2024-11-08 16:01:57 +00:00
51ad12be50 add description & use dpkg instead apt in package test 2024-11-08 15:53:33 +00:00
2ff32eb06a use sudo 2024-11-08 15:38:24 +00:00
ad3261d332 fix install.sh 2024-11-08 15:36:00 +00:00
83b9582c31 use cmake for build package 2024-11-08 15:33:38 +00:00
Егор
45d8910f84 fix package test in test.yml 2024-11-08 17:02:51 +05:00
5deba53689 add test package & set version to 0.1.1 2024-11-08 11:50:40 +00:00
205962bf75 create deb package 2024-11-08 11:31:31 +00:00
0b4ac08d48 update README.md && add .vscode 2024-11-08 10:50:00 +00:00
Егор
71859b700b Update install.bat 2024-11-08 12:55:18 +05:00
Егор
cee23fd147 Update test.yml 2024-11-08 12:45:07 +05:00
Егор
323727cd74 Update install.bat 2024-11-08 12:00:19 +05:00
11 changed files with 171 additions and 38 deletions

View File

@@ -8,6 +8,7 @@ on:
workflow_dispatch:
jobs:
#Test linux install script
linux-install:
runs-on: ubuntu-latest
@@ -25,6 +26,7 @@ jobs:
kos32-gcc -v
kos32-g++ -v
#Test windows install script
windows-install:
runs-on: windows-latest
steps:
@@ -43,7 +45,42 @@ jobs:
- name: Test run
run: |
kos32-gcc -v
kos32-g++ -v
kos32-gcc -v
shell: cmd
#Test Windows Installer
build-Installer:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Installer
# Test Package
package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Package
- name: Install package
run: sudo apt install ${{ github.workspace }}/build/package.deb
- name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
- name: Test run
run: |
kos32-g++ -v
kos32-gcc -v
- name: Remove package
run: sudo apt remove kos32-gcc

3
.gitignore vendored
View File

@@ -1 +1,4 @@
Output/
package/DEBIAN/postinst
package.deb
build/

8
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"recommendations": [
"chouzz.vscode-innosetup",
"streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-russian",
"ms-vscode.cmake-tools"
]
}

10
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,10 @@
{
"cSpell.words": [
"autobuild",
"тулчейн",
"тулчейна",
"msys",
"kolibrios",
"Egor"
]
}

19
CMakeLists.txt Normal file
View File

@@ -0,0 +1,19 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
project(
KolibriOS-gcc-Toolchain-installer
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
)
add_custom_target(
Package
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
Installer
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
)

View File

@@ -7,20 +7,38 @@
## Установка
Для установки требуются 7z и wget
Для установки требуются `7z` и `wget`
## Linux
### Linux
Просто запустите install.sh.
Просто запустите `install.sh`.
Некоторые команды требуют sudo
Тулчейн устанавливается в папку `/home/autobuild/tools/win32`
## Windows
### Windows
Для windows есть установщик(посмотрите в релизах) или росто запустите install.bat. Рекомендуется запускать с повышенными правами
Желательно чтобы вы перед утсановкой тулчейна установите msys из установщика MinGW.
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
Тулчейн устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`
## Сбока установщиков
Установщики полностью базируются на скриптах установки, так что безразницы что вы будете использовать скрипт или установщик.
Установщики собираются с помощью cmake (cmake просто потому что могу)
### Linux
Можно собрать deb пакет. Цель для сборки Package. Для сбрки требуется `dpkg-deb`
### Windows
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
Если сборка не работает, добавьте папку Inno Setup(например: `C:\Programs Files\Inno Setup 6`) в PATH

View File

@@ -1,4 +1,5 @@
@echo off
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
@@ -6,7 +7,7 @@ set TOOLCHAIN_DIR=C:\MinGW\msys\1.0\home\autobuild\tools
Call :print_msg Create the C:/MinGW/msys/1.0/home/autobuild folder...
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
mkdir %TOOLCHAIN_DIR%
@@ -20,7 +21,7 @@ cd %TOOLCHAIN_DIR%
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR%
Call :print_ok Successfully!
@@ -56,7 +57,7 @@ Call :print_ok Successfully!
Call :print_msg Adding C:/MinGW/msys/1.0/home/autobuild/tools/win32/bin to PATH
Call :print_msg Adding C:\MinGW\msys\1.0\home\autobuild\tools\win32\bin to PATH
set PATH=%PATH%;%TOOLCHAIN_DIR%%\win32\bin
@@ -67,9 +68,9 @@ Call :print_ok Installation was successful!
:print_msg
echo %ESC%[92m%*%ESC%[%m
echo %ESC%[34m%*%ESC%[%m
exit /b
:print_ok
echo %ESC%[36m%*%ESC%[%m
echo %ESC%[32m%*%ESC%[%m
exit /b

View File

@@ -28,6 +28,10 @@ check_utils(){
fi
}
pwd
TOOLCHAIN_DIR="/home/autobuild/tools"
print_msg "Checking utilities..."
@@ -40,9 +44,7 @@ check_utils 7z
print_msg "Create the /home/autobuild folder..."
sudo rm -rf ~/autobuild /home/autobuild
mkdir -p ~/autobuild/tools
sudo ln -sf ~/autobuild /home/autobuild
sudo mkdir -p $TOOLCHAIN_DIR
print_ok "Successfully!"
@@ -50,7 +52,7 @@ print_ok "Successfully!"
print_msg "Download the kos32-gcc toolchain..."
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ~/autobuild/tools/kos32-toolchain.7z
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O $TOOLCHAIN_DIR/kos32-toolchain.7z
print_ok "Successfully!"
@@ -58,9 +60,9 @@ print_ok "Successfully!"
print_msg "Extracting files ..."
cd ~/autobuild/tools/
7z x -y kos32-toolchain.7z
rm -rf kos32-toolchain.7z
cd $TOOLCHAIN_DIR
sudo 7z x -y kos32-toolchain.7z
sudo rm -rf kos32-toolchain.7z
print_ok "Successfully!"
@@ -68,10 +70,10 @@ print_ok "Successfully!"
print_msg "Downloading libraries..."
cd ~/autobuild/tools/win32/mingw32
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
7z x -y sdk-28-10-16.7z
rm -rf sdk-28-10-16.7z
cd $TOOLCHAIN_DIR/win32/mingw32
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
sudo 7z x -y sdk-28-10-16.7z
sudo rm -rf sdk-28-10-16.7z
print_ok "Successfully!"
@@ -80,15 +82,15 @@ print_ok "Successfully!"
print_msg "Updating libraries"
cd lib
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
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
print_ok "Successfully!"
@@ -121,10 +123,20 @@ sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
print_ok "Successfully!"
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then
export PATH=$PATH:/home/autobuild/tools/win32/bin
print_msg "Adding '/home/autobuild/tools/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc
if [ ! "$(id -u)" -ne 0 ]
then
print_msg "Add"
echo 'PATH=$PATH:/home/autobuild/tools/win32/bin' >> /etc/profile
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
fi
cd "$OLDPWD"
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"
#define MyAppVersion "0.1.3"
#define MyAppPublisher "Egor00f"
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"

14
package/DEBIAN/control Normal file
View File

@@ -0,0 +1,14 @@
Package: kos32-gcc
Version: 0.1.3
Architecture: all
Section: devel
Depends: libc6-i386:amd64, libmpc3:amd64
Pre-Depends: p7zip, wget
Recommends: fasm
Priority: optional
Homepage: https://github.com/Egor00f/kolibrios-gcc-toolchain
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.

11
package/DEBIAN/postrm Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
rm -R /home/autobuild/tools/win32
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
fi