diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml index b743b4e..bc40e33 100644 --- a/.onedev-buildspec.yml +++ b/.onedev-buildspec.yml @@ -54,14 +54,30 @@ jobs: - !CommandStep name: Build and Publish Deb Package runInContainer: true - image: onedev.site.tesses.net/dependencies/debbuilder:latest + image: onedev.site.tesses.net/dependencies/debbuilder/jammy:latest interpreter: !DefaultInterpreter commands: | apt update -y - apt install -y tessesframework libffi-dev pkg-config + apt install -y tessesframework libffi-dev pkg-config tessesframework:arm64 tessesframework:armhf tessesframework:riscv64 cd Packaging/Linux - bash build-debian-amd64.sh - bash push-debian-amd64.sh + bash build-ubuntu-jammy.sh + bash push-ubuntu-jammy.sh + envVars: + - name: GITEA_AUTH + value: '@secret:GITEA_AUTH@' + useTTY: true + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !CommandStep + name: Build and Publish Deb Package + runInContainer: true + image: onedev.site.tesses.net/dependencies/debbuilder/plucky:latest + interpreter: !DefaultInterpreter + commands: | + apt update -y + apt install -y tessesframework libffi-dev pkg-config tessesframework:arm64 tessesframework:armhf tessesframework:riscv64 tessesframework:i386 + cd Packaging/Linux + bash build-ubuntu-plucky.sh + bash push-ubuntu-plucky.sh envVars: - name: GITEA_AUTH value: '@secret:GITEA_AUTH@' diff --git a/Packaging/Linux/build-debian-amd64.sh b/Packaging/Linux/build-debian-amd64.sh deleted file mode 100644 index 221a1c6..0000000 --- a/Packaging/Linux/build-debian-amd64.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -mkdir -p build -cd build -mkdir build-deb-amd64 -cmake -S ../../../ -B build-deb-amd64 -DCMAKE_INSTALL_PREFIX=/usr -DCROSSLANG_FETCHCONTENT=OFF -DCROSSLANG_ENABLE_FFI=ON -cd build-deb-amd64 -make -j`nproc` -make install DESTDIR=../crosslang_1.0.0_amd64 -mkdir -p ../crosslang_1.0.0_amd64/DEBIAN -mkdir -p ../crosslang_1.0.0_amd64/usr/share/Tesses/CrossLang -wget -O ../crosslang_1.0.0_amd64/usr/share/Tesses/CrossLang/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm https://downloads.tesses.net/ShellPackage.crvm -cp ../../debian/control-amd64 ../crosslang_1.0.0_amd64/DEBIAN/control -cd ../ -dpkg-deb --build crosslang_1.0.0_amd64 \ No newline at end of file diff --git a/Packaging/Linux/build-ubuntu-jammy.sh b/Packaging/Linux/build-ubuntu-jammy.sh new file mode 100644 index 0000000..80baf36 --- /dev/null +++ b/Packaging/Linux/build-ubuntu-jammy.sh @@ -0,0 +1,35 @@ +#!/bin/bash +source ./version.sh +mkdir -p build/jammy +cd build/jammy +wget -O Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm https://downloads.tesses.net/ShellPackage.crvm +mkdir build-amd64 +cmake -S ../../../../ -B build-amd64 -DCMAKE_INSTALL_PREFIX=/usr -DCROSSLANG_FETCHCONTENT=OFF -DCROSSLANG_ENABLE_FFI=ON +cd build-amd64 +make -j`nproc` +make install DESTDIR=../crosslang_$DEB_VERSION\_amd64 +mkdir -p ../crosslang_$DEB_VERSION\_amd64/DEBIAN +bash ../../../make-control.sh ../crosslang_$DEB_VERSION\_amd64/DEBIAN/control amd64 +cd ../ +mkdir -p crosslang_$DEB_VERSION\_amd64/usr/share/Tesses/CrossLang +cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm crosslang_$DEB_VERSION\_amd64/usr/share/Tesses/CrossLang/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm +dpkg-deb --build crosslang_$DEB_VERSION\_amd64 + +foreign() { + mkdir build-$1 + cmake -S ../../../../ -B build-$1 -DCMAKE_INSTALL_PREFIX=/usr -DCROSSLANG_FETCHCONTENT=OFF -DCROSSLANG_ENABLE_FFI=ON -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/$1\.cmake + cd build-$1 + make -j`nproc` + make install DESTDIR=../crosslang_$DEB_VERSION\_$1 + mkdir -p ../crosslang_$DEB_VERSION\_$1/DEBIAN + bash ../../../make-control.sh ../crosslang_$DEB_VERSION\_$1\/DEBIAN/control $1 + cd ../ + mkdir -p crosslang_$DEB_VERSION\_$1\/usr/share/Tesses/CrossLang + cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm crosslang_$DEB_VERSION\_$1\/usr/share/Tesses/CrossLang/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm + dpkg-deb --build crosslang_$DEB_VERSION\_$1 +} + +foreign arm64 +foreign armhf +foreign riscv64 + diff --git a/Packaging/Linux/build-ubuntu-plucky.sh b/Packaging/Linux/build-ubuntu-plucky.sh new file mode 100644 index 0000000..5ea2b18 --- /dev/null +++ b/Packaging/Linux/build-ubuntu-plucky.sh @@ -0,0 +1,35 @@ +#!/bin/bash +source ./version.sh +mkdir -p build/plucky +cd build/plucky +wget -O Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm https://downloads.tesses.net/ShellPackage.crvm +mkdir build-amd64 +cmake -S ../../../../ -B build-amd64 -DCMAKE_INSTALL_PREFIX=/usr -DCROSSLANG_FETCHCONTENT=OFF -DCROSSLANG_ENABLE_FFI=ON +cd build-amd64 +make -j`nproc` +make install DESTDIR=../crosslang_$DEB_VERSION\_amd64 +mkdir -p ../crosslang_$DEB_VERSION\_amd64/DEBIAN +bash ../../../make-control.sh ../crosslang_$DEB_VERSION\_amd64/DEBIAN/control amd64 +cd ../ +mkdir -p crosslang_$DEB_VERSION\_amd64/usr/share/Tesses/CrossLang +cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm crosslang_$DEB_VERSION\_amd64/usr/share/Tesses/CrossLang/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm +dpkg-deb --build crosslang_$DEB_VERSION\_amd64 + +foreign() { + mkdir build-$1 + cmake -S ../../../../ -B build-$1 -DCMAKE_INSTALL_PREFIX=/usr -DCROSSLANG_FETCHCONTENT=OFF -DCROSSLANG_ENABLE_FFI=ON -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/$1\.cmake + cd build-$1 + make -j`nproc` + make install DESTDIR=../crosslang_$DEB_VERSION\_$1 + mkdir -p ../crosslang_$DEB_VERSION\_$1/DEBIAN + bash ../../../make-control.sh ../crosslang_$DEB_VERSION\_$1\/DEBIAN/control $1 + cd ../ + mkdir -p crosslang_$DEB_VERSION\_$1\/usr/share/Tesses/CrossLang + cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm crosslang_$DEB_VERSION\_$1\/usr/share/Tesses/CrossLang/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm + dpkg-deb --build crosslang_$DEB_VERSION\_$1 +} + +foreign arm64 +foreign armhf +foreign riscv64 +foreign i386 diff --git a/Packaging/Linux/debian/control-amd64 b/Packaging/Linux/debian/control-amd64 deleted file mode 100644 index 12ba53d..0000000 --- a/Packaging/Linux/debian/control-amd64 +++ /dev/null @@ -1,8 +0,0 @@ -Package: crosslang -Version: 1.0.0 -Architecture: amd64 -Essential: no -Priority: optional -Depends: tessesframework, libffi-dev -Maintainer: Mike Nolan -Description: A programming language diff --git a/Packaging/Linux/make-control.sh b/Packaging/Linux/make-control.sh new file mode 100644 index 0000000..efb6561 --- /dev/null +++ b/Packaging/Linux/make-control.sh @@ -0,0 +1,8 @@ +echo "Package: crosslang" > "$1" +echo "Version: $DEB_VERSION" >> "$1" +echo "Architecture: $2" >> "$1" +echo "Essential: no" >> "$1" +echo "Priority: optional" >> "$1" +echo "Depends: tessesframework, libffi-dev" >> "$1" +echo "Maintainer: Mike Nolan" >> "$1" +echo "Description: A programming language" >> "$1" \ No newline at end of file diff --git a/Packaging/Linux/push-debian-amd64.sh b/Packaging/Linux/push-debian-amd64.sh deleted file mode 100644 index 9ae8699..0000000 --- a/Packaging/Linux/push-debian-amd64.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -curl --user tesses50:$GITEA_AUTH -X DELETE \ - https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/crosslang/1.0.0/amd64 -curl --user tesses50:$GITEA_AUTH \ - --upload-file build/crosslang_1.0.0_amd64.deb \ - https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload diff --git a/Packaging/Linux/push-ubuntu-jammy.sh b/Packaging/Linux/push-ubuntu-jammy.sh new file mode 100644 index 0000000..8ddd4f8 --- /dev/null +++ b/Packaging/Linux/push-ubuntu-jammy.sh @@ -0,0 +1,14 @@ +#!/bin/bash +source ./version.sh +upload() { + curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/crosslang/$DEB_VERSION/$1 + curl --user tesses50:$GITEA_AUTH \ + --upload-file build/jammy/crosslang/$DEB_VERSION\_$1\.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload +} +upload amd64 +upload arm64 +upload armhf +upload riscv64 + diff --git a/Packaging/Linux/push-ubuntu-plucky.sh b/Packaging/Linux/push-ubuntu-plucky.sh new file mode 100644 index 0000000..9305e06 --- /dev/null +++ b/Packaging/Linux/push-ubuntu-plucky.sh @@ -0,0 +1,14 @@ +#!/bin/bash +source ./version.sh +upload() { + curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/crosslang/$DEB_VERSION/$1 + curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/crosslang/$DEB_VERSION\_$1\.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload +} +upload amd64 +upload arm64 +upload armhf +upload riscv64 +upload i386 diff --git a/Packaging/Linux/version.sh b/Packaging/Linux/version.sh new file mode 100644 index 0000000..293fb1c --- /dev/null +++ b/Packaging/Linux/version.sh @@ -0,0 +1 @@ +export DEB_VERSION=1.0.0 \ No newline at end of file diff --git a/crosslang.png b/crosslang.png index e3805eb..0291e4e 100644 Binary files a/crosslang.png and b/crosslang.png differ diff --git a/logo.svg b/logo.svg index e92a662..d5a95f1 100644 --- a/logo.svg +++ b/logo.svg @@ -1,4 +1,4 @@ \ No newline at end of file + diff --git a/winicon.ico b/winicon.ico old mode 100755 new mode 100644 index 3fd66ae..6cdeb85 Binary files a/winicon.ico and b/winicon.ico differ