30 Commits

Author SHA1 Message Date
Егор
6761dfa993 add PKGBUILD 2025-06-16 07:11:40 +00:00
Егор
a0fc3bb20b Merge pull request #17 from Egor00f/main
sync with main
2025-06-14 17:44:59 +05:00
Егор
f86685a51c add test status badge 2025-03-16 18:34:27 +05:00
Егор
0529643832 Update install.sh
Idk what happened with git but it wrote this file wrong
2025-03-16 18:32:14 +05:00
Егор
9a0f77770d fix install.sh 2025-03-16 09:07:42 +00:00
Егор
7208832073 fix 2025-03-14 16:26:35 +00:00
Егор
3b3e3f3fd6 fix not deleting PATH set from etc/profile on remove && some other changes 2025-03-13 17:55:43 +00:00
Егор
0c05341157 Merge pull request #15 from Egor00f/make-offile-installers
Make offline installers
2025-02-06 14:59:58 +03:00
Егор
c5a655f58f remove online deb installer&& update Readme.md 2025-02-06 11:55:00 +00:00
Егор
56cb3b1e84 fix CURRNET (fix build) 2025-02-05 10:18:18 +00:00
11280877d4 fix lib extract 2025-02-05 14:23:51 +05:00
Егор
6e7dd2ed39 fix remove package error && update text.yml and README.md && other fixes 2025-02-04 13:19:47 +00:00
Егор
881bd90806 Update test.yml 2025-02-04 17:19:23 +05:00
Егор
7711f345e0 revert install.sh chagnes to main 2025-02-04 17:02:27 +05:00
Егор
dba9a23acb add debian offline and online package 2025-02-04 11:47:02 +00:00
Егор
3438308757 Merge pull request #13 from Egor00f/sync-with-main
sync with main
2025-02-03 15:30:00 +03:00
Егор
0bd430e177 Merge branch 'make-offile-installers' into sync-with-main 2025-02-03 15:29:44 +03:00
Егор
fc8b049a0b Update install.sh 2025-01-18 11:05:40 +05:00
79af1f9411 fix windows installer 2025-01-08 15:54:39 +05:00
Егор
3fe69b35df fix downloading all sdk dir from kolibrios build && toolchain for x86_64 -> deb package for amd64 only && update install.bat && add more colors to install.sh 2025-01-08 09:17:21 +00:00
ed213eb3e6 save attempts 2025-01-08 13:23:21 +05:00
Егор
9f5b23a586 hide 7z output in deb package 2024-12-28 13:53:35 +00:00
adf0f3a62a fix Permisiion deined for lds scripts 2024-12-28 17:46:12 +05:00
Егор
3812696d61 Create CONTRIBUTING.md 2024-12-07 00:26:48 +05:00
baf6e3b0b5 start make offline installers
Changes:
+ downloading archives in building
2024-12-05 17:47:59 +00:00
Егор
4a24012df0 Update install.sh
fix error access to includes files in github codespace
2024-11-23 18:49:53 +05:00
Егор
99c4dce943 Merge pull request #9 from Egor00f/add-chocolatey-package
Add chocolatey package
2024-11-19 21:34:49 +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
22 changed files with 451 additions and 124 deletions

View File

@@ -1,8 +1,13 @@
name: Test
name: Test packages
on:
push:
branches: [ "main" ]
paths-ignore:
- '.vscode/**'
- '.devcontainer/**'
- '.gitignore'
- 'CONTRIBUTING.md'
pull_request:
branches: [ "main" ]
workflow_dispatch:
@@ -11,6 +16,7 @@ jobs:
#Test linux install script
linux-install:
name: linux(sh) script install test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -28,6 +34,7 @@ jobs:
#Test Batch install script
batch-install:
name: Batch script install test
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
@@ -42,6 +49,7 @@ jobs:
#Test PowerShell install script
PowerShell-install:
name: PowerShell install script test
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
@@ -61,6 +69,7 @@ jobs:
#Test Windows Installer
build-Installer:
name: Build windows installer test
runs-on: windows-latest
needs: PowerShell-install
steps:
@@ -80,8 +89,8 @@ jobs:
# Test deb package build
deb-package-build:
name: Debian package build test
runs-on: ubuntu-latest
needs: linux-install
steps:
- uses: actions/checkout@v4
@@ -99,6 +108,7 @@ jobs:
# Test deb package install/remove
deb-package-test:
name: Debian package install/remove test
runs-on: ubuntu-latest
needs: deb-package-build
steps:
@@ -129,6 +139,7 @@ jobs:
#Test chocolatey package build
chocolatey-package-build:
name: Chocolatey build package test
runs-on: windows-latest
needs: PowerShell-install
steps:
@@ -148,6 +159,7 @@ jobs:
# Test chocolatey package install/remove
chocolatey-package-test:
name: chocolatey install test
runs-on: windows-latest
needs: chocolatey-package-build
steps:

5
.gitignore vendored
View File

@@ -1,8 +1,7 @@
Output/
package/DEBIAN/postinst
package/DEBIAN/copyright
package.deb
build/
chocolatey/kos32-gcc*.nupkg
chocolatey/install.ps1
chocolatey/tools/install.ps1
bat/builds.kolibrios.org
*.7z

View File

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

25
.vscode/settings.json vendored
View File

@@ -1,10 +1,25 @@
{
"cSpell.words": [
"autobuild",
"тулчейн",
"тулчейна",
"msys",
"choco",
"dpkg",
"Egor",
"iscc",
"kolibrios",
"Egor"
]
"libisl",
"makepkg",
"msys",
"pacman",
"PKGBUILD",
"тулчейн",
"тулчейна"
],
"cSpell.ignorePaths": [
"vscode-extension",
".git/objects",
".vscode",
".vscode-insiders",
"package/DEBIAN"
],
"cmake.parallelJobs": 1
}

View File

@@ -1,36 +1,139 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
project(
KolibriOS-gcc-Toolchain-installer
VERSION 0.1.7
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
)
add_custom_target(
download_libraries
COMMAND wget -q -N http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O ${CMAKE_CURRENT_BINARY_DIR}/sdk-28-10-16.7z
COMMAND wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/lib
COMMAND mv ${CMAKE_CURRENT_BINARY_DIR}/builds.kolibrios.org/en_US/data/contrib/sdk/lib/* ${CMAKE_CURRENT_BINARY_DIR}/lib
COMMAND rm -R ${CMAKE_CURRENT_BINARY_DIR}/builds.kolibrios.org
COMMENT "Download libraries"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/sdk-28-10-16.7z
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/sdk-28-10-16.7z
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
archive_libraries
COMMAND 7z x -y -bso0 -bsp0 ${CMAKE_CURRENT_BINARY_DIR}/sdk-28-10-16.7z -o${CMAKE_CURRENT_BINARY_DIR}
COMMAND 7z a -bso0 -bsp0 ${CMAKE_CURRENT_BINARY_DIR}/lib.7z ${CMAKE_CURRENT_BINARY_DIR}/lib
COMMENT "Add libraries to archive"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/lib.7z
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/lib.7z
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/sdk-28-10-16.7z
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
download_linux
COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z
COMMAND wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
COMMENT "Download linux toolchain"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
download_windows
COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z
COMMENT "Download windows toolchain"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
extract_linux
COMMAND 7z x -y -bso0 -bsp0 ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
COMMENT "Extract linux archives"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
configureDebPackage
COMMENT "Setup debian package"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/package
COMMAND cp -rf ${CMAKE_CURRENT_SOURCE_DIR}/package/ ${CMAKE_CURRENT_BINARY_DIR}/package
COMMAND chmod -R 775 ${CMAKE_CURRENT_BINARY_DIR}/package
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/package/usr/lib/x86_64-linux-gnu
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
OUTPUT
${CMAKE_CURRENT_SOURCE_DIR}/package/
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/package/
)
add_custom_target(
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
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2 ${CMAKE_CURRENT_BINARY_DIR}/package/usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/lib.7z ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
COMMAND dpkg-deb --build ${CMAKE_CURRENT_BINARY_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Build deb package"
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/package.deb
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2
${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z
${CMAKE_CURRENT_BINARY_DIR}/lib.7z
configureDebPackage
)
add_custom_target(
pkg
COMMAND makepkg
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Build pacman package"
SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/install.sh
)
add_custom_target(
Installer
COMMAND 7z x ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z -o ${CMAKE_CURRENT_BINARY_DIR}
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
COMMENT "Build windows installer"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
${CMAKE_CURRENT_SOURCE_DIR}/README.md
)
add_custom_target(
choco
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.ps1 ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
COMMAND choco pack
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
COMMENT "Build chocolatey package"
SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/kos32-gcc.nuspec
${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools/chocolateyInstall.ps1
${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools/chocolateyUninstall.ps1
)

3
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,3 @@
# Как законтрибьютить?
просто форкаешь репозиторий, делаешь нужные изменения, делаешь запрос на слияние, ждёшь принятия запроса

19
PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# Maintainer: Your Name <youremail@domain.com>
pkgname="kos32-gcc"
pkgver="0.1.7"
pkgrel="1"
pkgdesc="KolibriOS gcc toolchain installer"
arch=("x86_64")
url="https://github.com/Egor00f/kolibrios-gcc-toolchain/"
license=('MIT')
source=("install.sh")
md5sums=("SKIP")
package() {
${srcdir}/install.sh
}

View File

@@ -1,3 +1,5 @@
[![Test packages](https://github.com/Egor00f/kolibrios-gcc-toolchain/actions/workflows/test.yml/badge.svg)](https://github.com/Egor00f/kolibrios-gcc-toolchain/actions/workflows/test.yml)
# Установщик gcc тулчейна для KolibriOS
Просто устанавливает тулчейн C/C++ компилятора для KolinriOS от Serge.
@@ -10,7 +12,10 @@
### Linux
Просто запустите `install.sh`.
Просто запустите `install.sh`:
```
./install.sh
```
Некоторые команды требуют sudo.
@@ -22,17 +27,32 @@
Желательно чтобы вы перед установкой тулчейна установите 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`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Например:
```
install.bat Path
```
Так же вы можете установить тулчейн с помощью установщика(можете найти его в [релизах](https://git.kolibrios.org/Egor00f/-/packages/debian/kos32-gcc/))
## Сборка установщиков
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
Установщики базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
Установщики собираются с помощью cmake (cmake просто потому что могу).
Установщики собираются с помощью cmake.
Просто запустите:
```
mkdir build
cd build
cmake ..
make <установщик>
```
### Linux
@@ -40,6 +60,8 @@ wget для windows можно поискать в GnuWin32 например, 7z
### Windows
Для сборки установщиков необходимы `CoreUtils` и `wget` из `GnuWin32` или ещё откуда то.
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.

4
bat/cleanArchives.bat Normal file
View File

@@ -0,0 +1,4 @@
set TOOLCHAIN_DIR=%1
del /Q %TOOLCHAIN_DIR%\kos32-toolchain.7z
del /Q %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z

View File

@@ -0,0 +1,6 @@
set TOOLCHAIN_DIR=%1
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z -o%TOOLCHAIN_DIR%\win32\mingw32

View File

@@ -0,0 +1,5 @@
set TOOLCHAIN_DIR=%1
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 -o%TOOLCHAIN_DIR%

5
bat/updateLibraries.bat Normal file
View File

@@ -0,0 +1,5 @@
set TOOLCHAIN_DIR=%1
wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
move /y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* %TOOLCHAIN_DIR%\win32\mingw32\lib
rd /s /q builds.kolibrios.org

View File

@@ -3,7 +3,7 @@
<metadata>
<id>kos32-gcc</id>
<title>KolibriOS gcc toolchain installer</title>
<version>0.1.5</version>
<version>0.1.6</version>
<authors>Egor00f</authors>
<owners>Egor00f</owners>
<summary>idk</summary>

View File

@@ -8,7 +8,8 @@ $packageName = 'kos32-gcc' # arbitrary name for the package, used in messages
$INSTALL_PATH = Read-Host 'Path to install toolchain(Enter - default)'
C:\ProgramData\Chocolatey\lib\kos32-gcc\tools\install.ps1
Expand-7Zip -ArchiveFileName C:\ProgramData\Chocolatey\lib\kos32-gcc\tools\kos32-toolchain-win.7z -TargetPath $INSTALL_PATH
Out-File -FilePath C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path -InputObject $INSTALL_PATH

View File

@@ -1,4 +1,4 @@
@echo off
rem@echo off
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
@@ -12,6 +12,7 @@ else (
set TOOLCHAIN_DIR=%1
)
echo %TOOLCHAIN_DIR%
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
@@ -20,14 +21,11 @@ mkdir %TOOLCHAIN_DIR%
Call :print_ok Successfully!
cd bat
call :print_msg Download the kos32-gcc toolchain...
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 -o%TOOLCHAIN_DIR%
downloadToolchain %TOOLCHAIN_DIR%
Call :print_ok Successfully!
@@ -35,11 +33,7 @@ Call :print_ok Successfully!
Call :print_msg Downloading libraries...
cd %TOOLCHAIN_DIR%\win32\mingw32
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
downloadLibraries.bat %TOOLCHAIN_DIR%
Call :print_ok Successfully!
@@ -47,17 +41,7 @@ Call :print_ok Successfully!
Call :print_msg Updating libraries
cd %TOOLCHAIN_DIR%\win32\mingw32\lib
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libdll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libfreetype.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libc.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libSDLn.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libcurses.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libz.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libogg.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libvorbis.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libopenjpeg.a
updateLibraries %TOOLCHAIN_DIR%
Call :print_ok Successfully!

View File

@@ -2,49 +2,52 @@
# Written by turbocat2001 (Maxim Logaev)
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
# modified by Egor00f (Egor)
set -e
pwd
CONFIG_FOLDER="/etc/kos32-gcc"
INSTALL_PATH_FILE="$CONFIG_FOLDER/install-path"
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
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
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
if [ -f $INSTALL_PATH_FILE ]; then
TOOLCHAIN_DIR=$(head -n 1 $INSTALL_PATH_FILE)
else
echo -n -e "\e[0mToolchain install path \e[90m(default is $DEFAULT_TOOLCHAIN_DIR)\e[97m: "
read INPUT
if [[ ! -z "$INPUT" ]]; then
TOOLCHAIN_DIR=$INPUT
else
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
fi
fi
echo "Installing toolchain to $TOOLCHAIN_DIR"
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
print_msg "Checking utilities..."
@@ -75,7 +78,7 @@ print_ok "Successfully!"
print_msg "Extracting files ..."
cd $TOOLCHAIN_DIR
sudo 7z x -y kos32-toolchain.7z
sudo 7z x -y -bso0 -bsp0 kos32-toolchain.7z
sudo rm -rf kos32-toolchain.7z
print_ok "Successfully!"
@@ -86,7 +89,7 @@ print_msg "Downloading libraries..."
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 7z x -y -bso0 -bsp0 sdk-28-10-16.7z
sudo rm -rf sdk-28-10-16.7z
print_ok "Successfully!"
@@ -96,15 +99,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!"
@@ -114,10 +111,10 @@ print_msg "Downloading libisl..."
cd /tmp
sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O /tmp/libisl.so.10.2.2.7z
sudo 7z x -y libisl.so.10.2.2.7z
sudo 7z x -y -bso0 -bsp0 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
@@ -138,7 +135,7 @@ print_ok "Successfully!"
if [ "$TOOLCHAIN_DIR" != "$DEFAULT_TOOLCHAIN_DIR" ]; then
sudo ln -sf $TOOLCHAIN_DIR/win32 $DEFAULT_TOOLCHAIN_DIR
sudo ln -sf $TOOLCHAIN_DIR/win32 $DEFAULT_TOOLCHAIN_DIR
fi
@@ -150,18 +147,20 @@ if [ ! "$(id -u)" -ne 0 ]
then
echo $MESSAGE >> /etc/profile
sudo mkdir -p /etc/kos32-gcc
echo $TOOLCHAIN_DIR > /etc/kos32-gcc/install-path
sudo mkdir -p /etc/kos32-gcc
echo $TOOLCHAIN_DIR > /etc/kos32-gcc/install-path
else
if ! grep -q $EXPORT_MESSSAGE ~/.bashrc; then
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
echo '$EXPORT_MESSSAGE' >> ~/.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 775 $TOOLCHAIN_DIR/win32/include/*
sudo chmod -R 775 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include
sudo chmod 774 $TOOLCHAIN_DIR/win32/include/*
sudo chmod 774 $TOOLCHAIN_DIR/win32/lib/*
sudo chmod 774 $TOOLCHAIN_DIR/win32/mingw32/lib/*
sudo chmod -R 775 /home/autobuild/tools/win32/lib/gcc
cd "$OLDPWD"

View File

@@ -65,18 +65,25 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
Check: NeedsAddPath('{app}\win32\bin')
[Files]
Source: ".\install.ps1"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\bat\downloadToolchain.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\bat\downloadLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\bat\updateLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Run]
Filename: "{app}\install.ps1"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "-InstallPath {app}"; Flags: runhidden logoutput
Filename: "{app}\downloadToolchain.bat"; description: "install toolchain script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\downloadLibraries.bat"; description: "download libraries script"; StatusMsg: "Download libraries"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\updateLibraries.bat"; description: "update libraries script"; StatusMsg: "Updating libraries"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\cleanArchives.bat"; description: "Delete downloaded archives script"; StatusMsg: "Delete downloaded archives"; Parameters: "{app}"; Flags: runhidden logoutput
[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
[UninstallDelete]
Type: files; Name: "{app}\*"
Type: files; Name: "{app}"
Type: filesandordirs; Name: "{app}\win32"
[Code]
function NeedsAddPath(Param: string): boolean;

View File

@@ -1,14 +1,16 @@
Package: kos32-gcc
Version: 0.1.5
Architecture: all
Section: devel
Depends: libc6-i386:amd64, libmpc3:amd64
Pre-Depends: p7zip-full, 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>
Package: kos32-gcc
Version: 0.1.8
Architecture: amd64
Section: devel
Depends: libc6-i386:amd64,
libmpc3:amd64
Pre-Depends: p7zip-full,
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 by Serge.

133
package/DEBIAN/postinst Executable file
View File

@@ -0,0 +1,133 @@
#!/bin/bash
# Written by turbocat2001 (Maxim Logaev)
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
# modified by Egor00f (Egor)
set -e
pwd
CONFIG_FOLDER="/etc/kos32-gcc"
INSTALL_PATH_FILE="$CONFIG_FOLDER/install-path"
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
print_msg(){
echo -e "\e[34m$1\e[0m"
}
print_ok(){
echo -e "\e[32m$1\e[0m"
}
print_err(){
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
}
TOOLCHAIN_DIR=$(head -n 1 $INSTALL_PATH_FILE)
echo -n -e "\e[0mToolchain install path \e[90m(default is $TOOLCHAIN_DIR)\e[97m: "
read INPUT
if [[ ! -z "$INPUT" ]]; then
TOOLCHAIN_DIR=$INPUT
fi
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
print_msg "Checking utilities..."
check_utils wget
check_utils 7z
print_msg "Create the toolchain folders..."
sudo mkdir -p $DEFAULT_TOOLCHAIN_DIR
sudo mkdir -p $TOOLCHAIN_DIR
print_ok "Successfully!"
print_msg "Extracting toolchain ..."
sudo 7z x -y -bso0 -bsp0 $DEFAULT_TOOLCHAIN_DIR/kos32-toolchain-linux.7z -o$TOOLCHAIN_DIR
sudo rm -rf $DEFAULT_TOOLCHAIN_DIR/kos32-toolchain-linux.7z
print_ok "Successfully!"
print_msg "Extracting libraries..."
cd $TOOLCHAIN_DIR/win32/mingw32
sudo 7z x -y -bso0 -bsp0 $DEFAULT_TOOLCHAIN_DIR/lib.7z
sudo rm -rf $DEFAULT_TOOLCHAIN_DIR/lib.7z
print_ok "Successfully!"
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
fi
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/libisl.so.10
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
print_ok "Successfully!"
print_msg "Fixing libmpfr..."
sudo ln -sf /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
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
echo $MESSAGE >> /etc/profile
echo $TOOLCHAIN_DIR > $INSTALL_PATH_FILE
else
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 774 $TOOLCHAIN_DIR/win32/lib/*
sudo chmod 774 $TOOLCHAIN_DIR/win32/mingw32/lib/*
sudo chmod -R 775 /home/autobuild/tools/win32/lib/gcc
cd "$OLDPWD"
export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin
print_ok "Installation was successful!"

View File

@@ -1,12 +1,17 @@
#!/bin/bash
CONFIG_FOLDER="/etc/kos32-gcc"
INSTALL_PATH_FILE="$CONFIG_FOLDER/install-path"
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
if grep -q '$MESSAGE' /etc/profile; then
sudo sed -i '/$MESSAGE/d' /etc/profile
fi
FULL_PATH="$TOOLCHAIN_DIR/win32/bin"
CHR="/"
REPLACE_TO="\/"
rm /etc/kos32-gcc -R
MESSAGE="${FULL_PATH//$CHR/"$REPLACE_TO"}"
sudo sed -i -e '/'$MESSAGE'/d' /etc/profile

View File

@@ -1,7 +1,12 @@
#!/bin/bash
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
CONFIG_FOLDER="/etc/kos32-gcc"
INSTALL_PATH_FILE="$CONFIG_FOLDER/install-path"
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
rm -R $TOOLCHAIN_DIR
rm -R /home/autobuild
TOOLCHAIN_DIR=$(head -n 1 $INSTALL_PATH_FILE)
rm -Rf $TOOLCHAIN_DIR
rm -Rf /home/autobuild

View File

@@ -0,0 +1 @@
/home/autobuild/tools