mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
Compare commits
67 Commits
v0.1.3
...
add-pkgbui
Author | SHA1 | Date | |
---|---|---|---|
|
6761dfa993 | ||
|
a0fc3bb20b | ||
|
f86685a51c | ||
|
0529643832 | ||
|
9a0f77770d | ||
|
7208832073 | ||
|
3b3e3f3fd6 | ||
|
0c05341157 | ||
|
c5a655f58f | ||
|
56cb3b1e84 | ||
11280877d4 | |||
|
6e7dd2ed39 | ||
|
881bd90806 | ||
|
7711f345e0 | ||
|
dba9a23acb | ||
|
3438308757 | ||
|
0bd430e177 | ||
|
fc8b049a0b | ||
79af1f9411 | |||
|
3fe69b35df | ||
ed213eb3e6 | |||
|
9f5b23a586 | ||
adf0f3a62a | |||
|
3812696d61 | ||
baf6e3b0b5 | |||
|
4a24012df0 | ||
|
99c4dce943 | ||
9cd3a05980 | |||
|
b8a7e18e21 | ||
|
05244d556f | ||
|
0374af72f6 | ||
|
1a05d66976 | ||
|
fe4d4bc277 | ||
743ad5a0cd | |||
|
80198a0692 | ||
|
0a93ba45c2 | ||
|
e81277efc3 | ||
81ede577a3 | |||
c8dfcc7e13 | |||
a64723dec2 | |||
2bfe470796 | |||
dfde28f76f | |||
|
7e88c422d4 | ||
|
7250a0cc50 | ||
ca0898f7f5 | |||
41474060b3 | |||
23d7d8064d | |||
|
876c00a66a | ||
|
fd5c312c33 | ||
|
e07c12dacc | ||
|
376ae0fa91 | ||
|
e08878da61 | ||
|
93acd0f1dd | ||
|
d73b2827b1 | ||
|
5968d5a12b | ||
|
a782cd37cd | ||
|
2480b1a20b | ||
|
f4e741746f | ||
|
d7a97891f7 | ||
|
f2ee70e825 | ||
|
99f3639668 | ||
|
3dc15f3597 | ||
|
87c29daf9e | ||
|
0e3f85c0e3 | ||
|
0baa7b470d | ||
|
537356d5fe | ||
|
6f3187dea8 |
19
.devcontainer/devcontainer.json
Normal file
19
.devcontainer/devcontainer.json
Normal 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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
134
.github/workflows/test.yml
vendored
134
.github/workflows/test.yml
vendored
@@ -1,22 +1,28 @@
|
||||
name: test
|
||||
name: Test packages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- '.vscode/**'
|
||||
- '.devcontainer/**'
|
||||
- '.gitignore'
|
||||
- 'CONTRIBUTING.md'
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
#Test linux install script
|
||||
linux-install:
|
||||
name: linux(sh) script install test
|
||||
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 +32,9 @@ jobs:
|
||||
kos32-gcc -v
|
||||
kos32-g++ -v
|
||||
|
||||
#Test windows install script
|
||||
windows-install:
|
||||
#Test Batch install script
|
||||
batch-install:
|
||||
name: Batch script install test
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -38,20 +45,33 @@ 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:
|
||||
name: PowerShell install script test
|
||||
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:
|
||||
name: Build windows installer test
|
||||
runs-on: windows-latest
|
||||
needs: PowerShell-install
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -60,8 +80,16 @@ 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:
|
||||
name: Debian package build test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -69,18 +97,92 @@ jobs:
|
||||
- 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:
|
||||
name: Debian package install/remove 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:
|
||||
name: Chocolatey build package test
|
||||
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:
|
||||
name: chocolatey install 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
|
||||
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,4 +1,7 @@
|
||||
Output/
|
||||
package/DEBIAN/postinst
|
||||
package.deb
|
||||
build/
|
||||
chocolatey/kos32-gcc*.nupkg
|
||||
chocolatey/install.ps1
|
||||
chocolatey/tools/install.ps1
|
||||
bat/builds.kolibrios.org
|
||||
*.7z
|
||||
|
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@@ -1,8 +1,6 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"chouzz.vscode-innosetup",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"streetsidesoftware.code-spell-checker-russian",
|
||||
"ms-vscode.cmake-tools"
|
||||
"ms-vscode.cmake-tools",
|
||||
]
|
||||
}
|
25
.vscode/settings.json
vendored
25
.vscode/settings.json
vendored
@@ -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
|
||||
}
|
12
.vscode/tasks.json
vendored
Normal file
12
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "cmake",
|
||||
"label": "CMake: настроить",
|
||||
"command": "configure",
|
||||
"problemMatcher": [],
|
||||
"detail": "Задача шаблона CMake настроить"
|
||||
}
|
||||
]
|
||||
}
|
134
CMakeLists.txt
134
CMakeLists.txt
@@ -1,19 +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(
|
||||
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
|
||||
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(
|
||||
Installer
|
||||
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||
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_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_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
3
CONTRIBUTING.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Как законтрибьютить?
|
||||
|
||||
просто форкаешь репозиторий, делаешь нужные изменения, делаешь запрос на слияние, ждёшь принятия запроса
|
19
PKGBUILD
Normal file
19
PKGBUILD
Normal 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
|
||||
}
|
53
README.md
53
README.md
@@ -1,44 +1,67 @@
|
||||
[](https://github.com/Egor00f/kolibrios-gcc-toolchain/actions/workflows/test.yml)
|
||||
|
||||
# Установщик 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`.
|
||||
Просто запустите `install.sh`:
|
||||
```
|
||||
./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`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Например:
|
||||
|
||||
## Сбока установщиков
|
||||
```
|
||||
install.bat Path
|
||||
```
|
||||
|
||||
Установщики полностью базируются на скриптах установки, так что безразницы что вы будете использовать скрипт или установщик.
|
||||
Так же вы можете установить тулчейн с помощью установщика(можете найти его в [релизах](https://git.kolibrios.org/Egor00f/-/packages/debian/kos32-gcc/))
|
||||
|
||||
Установщики собираются с помощью cmake (cmake просто потому что могу)
|
||||
## Сборка установщиков
|
||||
|
||||
Установщики базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
||||
|
||||
Установщики собираются с помощью cmake.
|
||||
|
||||
Просто запустите:
|
||||
|
||||
```
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make <установщик>
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
Можно собрать deb пакет. Цель для сборки Package. Для сбрки требуется `dpkg-deb`
|
||||
Можно собрать deb пакет. Цель для сборки Package. Для сборки требуется `dpkg-deb`.
|
||||
|
||||
### Windows
|
||||
|
||||
Для сборки установщиков необходимы `CoreUtils` и `wget` из `GnuWin32` или ещё откуда то.
|
||||
|
||||
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
||||
|
||||
Если сборка не работает, добавьте папку Inno Setup(например: `C:\Programs Files\Inno Setup 6`) в PATH
|
||||
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.
|
||||
|
4
bat/cleanArchives.bat
Normal file
4
bat/cleanArchives.bat
Normal 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
|
6
bat/downloadLibraries.bat
Normal file
6
bat/downloadLibraries.bat
Normal 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
|
5
bat/downloadToolchain.bat
Normal file
5
bat/downloadToolchain.bat
Normal 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
5
bat/updateLibraries.bat
Normal 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
|
22
chocolatey/kos32-gcc.nuspec
Normal file
22
chocolatey/kos32-gcc.nuspec
Normal 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.6</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>
|
15
chocolatey/tools/chocolateyInstall.ps1
Normal file
15
chocolatey/tools/chocolateyInstall.ps1
Normal file
@@ -0,0 +1,15 @@
|
||||
#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)'
|
||||
|
||||
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
|
||||
|
4
chocolatey/tools/chocolateyUninstall.ps1
Normal file
4
chocolatey/tools/chocolateyUninstall.ps1
Normal 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
|
36
install.bat
36
install.bat
@@ -1,11 +1,18 @@
|
||||
@echo off
|
||||
rem@echo off
|
||||
|
||||
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
|
||||
)
|
||||
|
||||
echo %TOOLCHAIN_DIR%
|
||||
|
||||
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
|
||||
|
||||
@@ -14,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!
|
||||
|
||||
@@ -29,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!
|
||||
|
||||
@@ -41,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!
|
||||
|
||||
|
57
install.ps1
Normal file
57
install.ps1
Normal 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"
|
||||
|
97
install.sh
97
install.sh
@@ -2,36 +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
|
||||
|
||||
TOOLCHAIN_DIR="/home/autobuild/tools"
|
||||
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 -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
|
||||
|
||||
print_msg "Checking utilities..."
|
||||
|
||||
@@ -42,8 +58,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!"
|
||||
@@ -61,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!"
|
||||
@@ -72,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!"
|
||||
@@ -82,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!"
|
||||
|
||||
@@ -100,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
|
||||
@@ -123,20 +134,36 @@ 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 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!"
|
||||
|
@@ -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,46 @@ 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: ".\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.bat"; description: "install script"; StatusMsg: "Installing toolchain"; 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: filesandordirs; Name: "{app}\win32"
|
||||
|
||||
[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;
|
||||
|
26
package/DEBIAN/control
Normal file → Executable file
26
package/DEBIAN/control
Normal file → Executable file
@@ -1,14 +1,16 @@
|
||||
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>
|
||||
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.
|
||||
This package installing KolibriOS gcc toolchain by Serge.
|
||||
|
133
package/DEBIAN/postinst
Executable file
133
package/DEBIAN/postinst
Executable 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!"
|
@@ -1,11 +1,17 @@
|
||||
#!/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
|
||||
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)
|
||||
|
||||
|
||||
FULL_PATH="$TOOLCHAIN_DIR/win32/bin"
|
||||
CHR="/"
|
||||
REPLACE_TO="\/"
|
||||
|
||||
MESSAGE="${FULL_PATH//$CHR/"$REPLACE_TO"}"
|
||||
|
||||
sudo sed -i -e '/'$MESSAGE'/d' /etc/profile
|
||||
|
12
package/DEBIAN/prerm
Executable file
12
package/DEBIAN/prerm
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/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 $INSTALL_PATH_FILE)
|
||||
|
||||
rm -Rf $TOOLCHAIN_DIR
|
||||
|
||||
rm -Rf /home/autobuild
|
1
package/etc/kos32-gcc/install-path
Normal file
1
package/etc/kos32-gcc/install-path
Normal file
@@ -0,0 +1 @@
|
||||
/home/autobuild/tools
|
Reference in New Issue
Block a user