mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
Compare commits
20 Commits
v0.1.7
...
add-pkgbui
Author | SHA1 | Date | |
---|---|---|---|
|
6761dfa993 | ||
|
a0fc3bb20b | ||
|
f86685a51c | ||
|
0529643832 | ||
|
9a0f77770d | ||
|
7208832073 | ||
|
3b3e3f3fd6 | ||
|
0c05341157 | ||
|
c5a655f58f | ||
|
56cb3b1e84 | ||
11280877d4 | |||
|
6e7dd2ed39 | ||
|
881bd90806 | ||
|
7711f345e0 | ||
|
dba9a23acb | ||
|
3438308757 | ||
|
0bd430e177 | ||
|
fc8b049a0b | ||
ed213eb3e6 | |||
baf6e3b0b5 |
16
.github/workflows/test.yml
vendored
16
.github/workflows/test.yml
vendored
@@ -1,8 +1,13 @@
|
|||||||
name: Test
|
name: Test packages
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ "main" ]
|
branches: [ "main" ]
|
||||||
|
paths-ignore:
|
||||||
|
- '.vscode/**'
|
||||||
|
- '.devcontainer/**'
|
||||||
|
- '.gitignore'
|
||||||
|
- 'CONTRIBUTING.md'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "main" ]
|
branches: [ "main" ]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -11,6 +16,7 @@ jobs:
|
|||||||
|
|
||||||
#Test linux install script
|
#Test linux install script
|
||||||
linux-install:
|
linux-install:
|
||||||
|
name: linux(sh) script install test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -28,6 +34,7 @@ jobs:
|
|||||||
|
|
||||||
#Test Batch install script
|
#Test Batch install script
|
||||||
batch-install:
|
batch-install:
|
||||||
|
name: Batch script install test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -42,6 +49,7 @@ jobs:
|
|||||||
|
|
||||||
#Test PowerShell install script
|
#Test PowerShell install script
|
||||||
PowerShell-install:
|
PowerShell-install:
|
||||||
|
name: PowerShell install script test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -61,6 +69,7 @@ jobs:
|
|||||||
|
|
||||||
#Test Windows Installer
|
#Test Windows Installer
|
||||||
build-Installer:
|
build-Installer:
|
||||||
|
name: Build windows installer test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: PowerShell-install
|
needs: PowerShell-install
|
||||||
steps:
|
steps:
|
||||||
@@ -80,8 +89,8 @@ jobs:
|
|||||||
|
|
||||||
# Test deb package build
|
# Test deb package build
|
||||||
deb-package-build:
|
deb-package-build:
|
||||||
|
name: Debian package build test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: linux-install
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
@@ -99,6 +108,7 @@ jobs:
|
|||||||
|
|
||||||
# Test deb package install/remove
|
# Test deb package install/remove
|
||||||
deb-package-test:
|
deb-package-test:
|
||||||
|
name: Debian package install/remove test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: deb-package-build
|
needs: deb-package-build
|
||||||
steps:
|
steps:
|
||||||
@@ -129,6 +139,7 @@ jobs:
|
|||||||
|
|
||||||
#Test chocolatey package build
|
#Test chocolatey package build
|
||||||
chocolatey-package-build:
|
chocolatey-package-build:
|
||||||
|
name: Chocolatey build package test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: PowerShell-install
|
needs: PowerShell-install
|
||||||
steps:
|
steps:
|
||||||
@@ -148,6 +159,7 @@ jobs:
|
|||||||
|
|
||||||
# Test chocolatey package install/remove
|
# Test chocolatey package install/remove
|
||||||
chocolatey-package-test:
|
chocolatey-package-test:
|
||||||
|
name: chocolatey install test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: chocolatey-package-build
|
needs: chocolatey-package-build
|
||||||
steps:
|
steps:
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,9 +1,7 @@
|
|||||||
Output/
|
Output/
|
||||||
package/DEBIAN/postinst
|
|
||||||
package/DEBIAN/copyright
|
|
||||||
package.deb
|
|
||||||
build/
|
build/
|
||||||
chocolatey/kos32-gcc*.nupkg
|
chocolatey/kos32-gcc*.nupkg
|
||||||
chocolatey/install.ps1
|
chocolatey/install.ps1
|
||||||
chocolatey/tools/install.ps1
|
chocolatey/tools/install.ps1
|
||||||
bat/builds.kolibrios.org
|
bat/builds.kolibrios.org
|
||||||
|
*.7z
|
||||||
|
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"recommendations": [
|
"recommendations": [
|
||||||
"chouzz.vscode-innosetup",
|
"chouzz.vscode-innosetup",
|
||||||
"streetsidesoftware.code-spell-checker",
|
|
||||||
"streetsidesoftware.code-spell-checker-russian",
|
|
||||||
"ms-vscode.cmake-tools",
|
"ms-vscode.cmake-tools",
|
||||||
"github.vscode-github-actions"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
25
.vscode/settings.json
vendored
25
.vscode/settings.json
vendored
@@ -1,10 +1,25 @@
|
|||||||
{
|
{
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
"autobuild",
|
"autobuild",
|
||||||
"тулчейн",
|
"choco",
|
||||||
"тулчейна",
|
"dpkg",
|
||||||
"msys",
|
"Egor",
|
||||||
|
"iscc",
|
||||||
"kolibrios",
|
"kolibrios",
|
||||||
"Egor"
|
"libisl",
|
||||||
]
|
"makepkg",
|
||||||
|
"msys",
|
||||||
|
"pacman",
|
||||||
|
"PKGBUILD",
|
||||||
|
"тулчейн",
|
||||||
|
"тулчейна"
|
||||||
|
],
|
||||||
|
"cSpell.ignorePaths": [
|
||||||
|
"vscode-extension",
|
||||||
|
".git/objects",
|
||||||
|
".vscode",
|
||||||
|
".vscode-insiders",
|
||||||
|
"package/DEBIAN"
|
||||||
|
],
|
||||||
|
"cmake.parallelJobs": 1
|
||||||
}
|
}
|
125
CMakeLists.txt
125
CMakeLists.txt
@@ -1,36 +1,139 @@
|
|||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
|
||||||
|
|
||||||
project(
|
project(
|
||||||
KolibriOS-gcc-Toolchain-installer
|
KolibriOS-gcc-Toolchain-installer
|
||||||
|
VERSION 0.1.7
|
||||||
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
|
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(
|
add_custom_target(
|
||||||
deb
|
deb
|
||||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
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_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN
|
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/lib.7z ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
COMMAND dpkg-deb --build ${CMAKE_CURRENT_BINARY_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
||||||
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}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMENT "Build deb package"
|
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(
|
add_custom_target(
|
||||||
Installer
|
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
|
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||||
COMMENT "Build windows installer"
|
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(
|
add_custom_target(
|
||||||
choco
|
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
|
COMMAND choco pack
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
||||||
COMMENT "Build chocolatey package"
|
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
|
||||||
)
|
)
|
||||||
|
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
|
||||||
|
}
|
26
README.md
26
README.md
@@ -1,3 +1,5 @@
|
|||||||
|
[](https://github.com/Egor00f/kolibrios-gcc-toolchain/actions/workflows/test.yml)
|
||||||
|
|
||||||
# Установщик gcc тулчейна для KolibriOS
|
# Установщик gcc тулчейна для KolibriOS
|
||||||
|
|
||||||
Просто устанавливает тулчейн C/C++ компилятора для KolinriOS от Serge.
|
Просто устанавливает тулчейн C/C++ компилятора для KolinriOS от Serge.
|
||||||
@@ -10,7 +12,10 @@
|
|||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
Просто запустите `install.sh`.
|
Просто запустите `install.sh`:
|
||||||
|
```
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
Некоторые команды требуют sudo.
|
Некоторые команды требуют sudo.
|
||||||
|
|
||||||
@@ -22,7 +27,7 @@
|
|||||||
|
|
||||||
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
|
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
|
||||||
|
|
||||||
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами.
|
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Нужно запускать с повышенными правами.
|
||||||
|
|
||||||
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
|
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
|
||||||
|
|
||||||
@@ -32,11 +37,22 @@ wget для windows можно поискать в GnuWin32 например, 7z
|
|||||||
install.bat Path
|
install.bat Path
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Так же вы можете установить тулчейн с помощью установщика(можете найти его в [релизах](https://git.kolibrios.org/Egor00f/-/packages/debian/kos32-gcc/))
|
||||||
|
|
||||||
## Сборка установщиков
|
## Сборка установщиков
|
||||||
|
|
||||||
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
Установщики базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
||||||
|
|
||||||
Установщики собираются с помощью cmake (cmake просто потому что могу).
|
Установщики собираются с помощью cmake.
|
||||||
|
|
||||||
|
Просто запустите:
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
make <установщик>
|
||||||
|
```
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
@@ -44,6 +60,8 @@ install.bat Path
|
|||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
|
Для сборки установщиков необходимы `CoreUtils` и `wget` из `GnuWin32` или ещё откуда то.
|
||||||
|
|
||||||
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
||||||
|
|
||||||
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.
|
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
<metadata>
|
<metadata>
|
||||||
<id>kos32-gcc</id>
|
<id>kos32-gcc</id>
|
||||||
<title>KolibriOS gcc toolchain installer</title>
|
<title>KolibriOS gcc toolchain installer</title>
|
||||||
<version>0.1.5</version>
|
<version>0.1.6</version>
|
||||||
<authors>Egor00f</authors>
|
<authors>Egor00f</authors>
|
||||||
<owners>Egor00f</owners>
|
<owners>Egor00f</owners>
|
||||||
<summary>idk</summary>
|
<summary>idk</summary>
|
||||||
|
@@ -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)'
|
$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
|
Out-File -FilePath C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path -InputObject $INSTALL_PATH
|
||||||
|
|
||||||
|
19
install.sh
19
install.sh
@@ -7,9 +7,10 @@
|
|||||||
set -e
|
set -e
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
CONFIG_FOLDER="/etc/kos32-gcc"
|
||||||
|
INSTALL_PATH_FILE="$CONFIG_FOLDER/install-path"
|
||||||
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
|
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
|
||||||
|
|
||||||
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
|
|
||||||
|
|
||||||
print_msg(){
|
print_msg(){
|
||||||
echo -e "\e[34m$1\e[0m"
|
echo -e "\e[34m$1\e[0m"
|
||||||
@@ -34,16 +35,20 @@ check_utils(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo -n -e "\e[0m Toolchain install path \e[90m(default is $TOOLCHAIN_DIR): \e[97m"
|
if [ -f $INSTALL_PATH_FILE ]; then
|
||||||
read INPUT
|
TOOLCHAIN_DIR=$(head -n 1 $INSTALL_PATH_FILE)
|
||||||
|
else
|
||||||
if [[ ! -z "$INPUT" ]]; then
|
echo -n -e "\e[0mToolchain install path \e[90m(default is $DEFAULT_TOOLCHAIN_DIR)\e[97m: "
|
||||||
TOOLCHAIN_DIR=$INPUT
|
read INPUT
|
||||||
|
if [[ ! -z "$INPUT" ]]; then
|
||||||
|
TOOLCHAIN_DIR=$INPUT
|
||||||
|
else
|
||||||
|
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
|
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
|
||||||
|
|
||||||
|
|
||||||
print_msg "Checking utilities..."
|
print_msg "Checking utilities..."
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,14 +1,16 @@
|
|||||||
Package: kos32-gcc
|
Package: kos32-gcc
|
||||||
Version: 0.1.7
|
Version: 0.1.8
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Section: devel
|
Section: devel
|
||||||
Depends: libc6-i386:amd64, libmpc3:amd64
|
Depends: libc6-i386:amd64,
|
||||||
Pre-Depends: p7zip-full, wget
|
libmpc3:amd64
|
||||||
Recommends: fasm
|
Pre-Depends: p7zip-full,
|
||||||
Priority: optional
|
wget
|
||||||
Homepage: https://github.com/Egor00f/kolibrios-gcc-toolchain
|
Recommends: fasm
|
||||||
Origin: http://ftp.kolibrios.org/users/Serge/new/Toolchain
|
Priority: optional
|
||||||
Maintainer: Egor00f <velikiydolbayeb@gmail.com>
|
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
|
Installed-Size: 131708
|
||||||
Description: KolibriOS gcc toolchain installer
|
Description: KolibriOS gcc toolchain installer
|
||||||
This package installing KolibriOS gcc toolchain by Serge.
|
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,12 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/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)
|
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
|
||||||
|
|
||||||
|
|
||||||
|
FULL_PATH="$TOOLCHAIN_DIR/win32/bin"
|
||||||
|
CHR="/"
|
||||||
|
REPLACE_TO="\/"
|
||||||
|
|
||||||
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
MESSAGE="${FULL_PATH//$CHR/"$REPLACE_TO"}"
|
||||||
|
|
||||||
sudo sed -i '/$MESSAGE/d' /etc/profile
|
|
||||||
|
|
||||||
rm /etc/kos32-gcc -R
|
|
||||||
|
|
||||||
|
sudo sed -i -e '/'$MESSAGE'/d' /etc/profile
|
||||||
|
@@ -1,7 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/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
|
||||||
|
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