mirror of
https://github.com/YunoHost-Apps/ssbroom_ynh.git
synced 2024-09-03 20:26:29 +02:00
Add support for arm64
This commit is contained in:
parent
ec5cb5d45d
commit
62720d4178
4 changed files with 74 additions and 3 deletions
64
compile_binaries/cross_compile_ssbroom.py
Normal file
64
compile_binaries/cross_compile_ssbroom.py
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
"""
|
||||||
|
script to cross-compile go-ssb-room for arm64 and other architectures
|
||||||
|
|
||||||
|
before running, run:
|
||||||
|
- sudo apt install gcc-aarch64-linux-gnu
|
||||||
|
|
||||||
|
"""
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
|
||||||
|
# path to project directory
|
||||||
|
PROJECT_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
WORKING_DIR = "/srv/build_ssbroom"
|
||||||
|
GIT_URL = "https://github.com/ssb-ngi-pointer/go-ssb-room.git"
|
||||||
|
OUTPUT_DIR = "/srv/files.commoninternet.net"
|
||||||
|
|
||||||
|
|
||||||
|
def pull_repo():
|
||||||
|
if not os.path.exists(WORKING_DIR):
|
||||||
|
subprocess.check_call(["git", "clone", GIT_URL, WORKING_DIR])
|
||||||
|
else:
|
||||||
|
subprocess.check_call(["git", "pull"], cwd=WORKING_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
def crosscompile_go_ssb_room():
|
||||||
|
subprocess.check_call(["git", "pull"], cwd=WORKING_DIR)
|
||||||
|
print("[CROSS-COMPILING go-ssb-room/server]")
|
||||||
|
subprocess.check_call(["env", "CGO_ENABLED=1", "CC=aarch64-linux-gnu-gcc",
|
||||||
|
"CC_FOR_TARGET=gcc-aarch64-linux-gnu", "GOOS=linux",
|
||||||
|
"GOARCH=arm64", "go", "build", "./cmd/server"], cwd=WORKING_DIR)
|
||||||
|
print("[CROSS-COMPILING go-ssb-room/insert-user]")
|
||||||
|
subprocess.check_call(["env", "CGO_ENABLED=1", "CC=aarch64-linux-gnu-gcc",
|
||||||
|
"CC_FOR_TARGET=gcc-aarch64-linux-gnu", "GOOS=linux",
|
||||||
|
"GOARCH=arm64", "go", "build", "./cmd/insert-user"], cwd=WORKING_DIR)
|
||||||
|
publish(architecture="aarch64")
|
||||||
|
|
||||||
|
def compile_go_ssb_room():
|
||||||
|
subprocess.check_call(["git", "pull"], cwd=WORKING_DIR)
|
||||||
|
print("[COMPILING go-ssb-room/server for amd64]")
|
||||||
|
subprocess.check_call(["go", "build", "./cmd/server"], cwd=WORKING_DIR)
|
||||||
|
print("[COMPILING go-ssb-room/insert-user for amd64]")
|
||||||
|
subprocess.check_call(["go", "build", "./cmd/insert-user"], cwd=WORKING_DIR)
|
||||||
|
publish(architecture="amd64")
|
||||||
|
|
||||||
|
|
||||||
|
def publish(architecture):
|
||||||
|
subprocess.check_call(["mkdir", "-p", OUTPUT_DIR])
|
||||||
|
binaries = ["insert-user", "server"]
|
||||||
|
output_folder_name = "go-ssb-room_2.0.6_Linux_{}".format(architecture)
|
||||||
|
output_folder_path = os.path.join(OUTPUT_DIR, output_folder_name)
|
||||||
|
subprocess.check_call(["mkdir", "-p", output_folder_path])
|
||||||
|
for binary in binaries:
|
||||||
|
f_path = os.path.join(WORKING_DIR, binary)
|
||||||
|
output_path = os.path.join(output_folder_path, binary)
|
||||||
|
subprocess.check_call(["cp", f_path, output_path])
|
||||||
|
# create a tar
|
||||||
|
tar_path = output_folder_path + ".tar.gz"
|
||||||
|
subprocess.check_call(["tar", "-czvf", tar_path, output_folder_path])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
pull_repo()
|
||||||
|
crosscompile_go_ssb_room()
|
||||||
|
compile_go_ssb_room()
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://files.commoninternet.net/go-ssb-room_2.0.6_Linux_x86_64.tar.gz
|
SOURCE_URL=https://files.commoninternet.net/go-ssb-room_2.0.6_Linux_amd64.tar.gz
|
||||||
SOURCE_SUM=7823838a42daac48c39f13563552b84920d66e782acf239d1da5fbd3b475c5bf
|
SOURCE_SUM=b03a3b9c440f0946e403618f5e9c2b65cf4fe3a31a282f877d5cf6dff2f18043
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=tar.gz
|
SOURCE_FORMAT=tar.gz
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
7
conf/arm64.src
Normal file
7
conf/arm64.src
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
SOURCE_URL=https://files.commoninternet.net/go-ssb-room_2.0.6_Linux_aarch64.tar.gz
|
||||||
|
SOURCE_SUM=39dee2ccaa3cc3cfb696dd86e39ae2cfae4565c9862935bd7a815869089a0bd2
|
||||||
|
SOURCE_SUM_PRG=sha256sum
|
||||||
|
SOURCE_FORMAT=tar.gz
|
||||||
|
SOURCE_IN_SUBDIR=true
|
||||||
|
SOURCE_FILENAME=
|
||||||
|
SOURCE_EXTRACT=true
|
|
@ -5,7 +5,7 @@
|
||||||
"description": {
|
"description": {
|
||||||
"en": "Secure Scuttlebutt room server implemented in Go"
|
"en": "Secure Scuttlebutt room server implemented in Go"
|
||||||
},
|
},
|
||||||
"version": "2.0.6~ynh2",
|
"version": "2.0.6~ynh3",
|
||||||
"url": "https://github.com/ssb-ngi-pointer/go-ssb-room",
|
"url": "https://github.com/ssb-ngi-pointer/go-ssb-room",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "free",
|
"license": "free",
|
||||||
|
|
Loading…
Reference in a new issue