Update to CentOS 7, Add AppImage CI

This commit is contained in:
Donn 2022-04-30 17:37:25 +02:00 committed by Tim Edwards
parent b9f1ebd439
commit 98cd88f12c
3 changed files with 39 additions and 8 deletions

28
.github/workflows/appimage.yml vendored Normal file
View File

@ -0,0 +1,28 @@
on:
push:
tags:
- "*"
name: CI
jobs:
build_appimage:
name: Build AppImage
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get the version
id: get_version
run: |
export VERSION_NUM=$(ruby -e "print '$GITHUB_REF'.split('/')[2]")
echo ::set-output name=value::${VERSION_NUM}
- name: Build project
run: |
cd appimage
make
cp Magic-x86_64.AppImage /tmp/Magic-${{ steps.get_version.outputs.value }}-x86_64.AppImage
- name: Upload Release Asset
uses: softprops/action-gh-release@v1
with:
files: /tmp/Magic-${{ steps.get_version.outputs.value }}-x86_64.AppImage

View File

@ -1,11 +1,16 @@
FROM donnio/python3:centos6 FROM centos/python-38-centos7:20210726-fad62e9
USER root
# Build Dependencies
RUN yum install -y cairo-devel freeglut-devel gcc make tcsh
# Tcl/Tk # Tcl/Tk
WORKDIR /tcl WORKDIR /tcl
RUN curl -L https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz | tar --strip-components=1 -xzC . \ RUN curl -L https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz | tar --strip-components=1 -xzC . \
&& cd unix \ && cd unix \
&& ./configure --prefix=/prefix \ && ./configure --prefix=/prefix \
&& make -j$(nproc) \ && make \
&& make install && make install
WORKDIR /tk WORKDIR /tk
@ -19,9 +24,6 @@ WORKDIR /prefix/bin
RUN cp ./wish8.6 ./wish RUN cp ./wish8.6 ./wish
RUN cp ./tclsh8.6 ./tclsh RUN cp ./tclsh8.6 ./tclsh
# Cairo
RUN yum install -y cairo-devel
# Magic # Magic
WORKDIR /magic WORKDIR /magic
COPY . . COPY . .
@ -30,6 +32,7 @@ RUN ./configure \
--prefix=/prefix \ --prefix=/prefix \
--with-tcl=/prefix/lib \ --with-tcl=/prefix/lib \
--with-tk=/prefix/lib \ --with-tk=/prefix/lib \
--without-opengl \
&& make clean \ && make clean \
&& make database/database.h \ && make database/database.h \
&& make -j$(nproc) \ && make -j$(nproc) \

View File

@ -2,13 +2,13 @@ This is an AppImage that runs on all GNU/Linux platforms with:
* FUSE * FUSE
* This excludes non-privileged Docker containers unfortunately, unless pre-extracted. * This excludes non-privileged Docker containers unfortunately, unless pre-extracted.
* GLIBC 2.3+ * GLIBC 2.17+
* Cairo 1.8+ * Cairo 1.8+
That's most Linux distributions released in 2012 or later. That's most Linux distributions released in 2016 or later.
# Build Info # Build Info
A Dockerfile on CentOS 6 (needed for older glibc) image builds Tcl, Tk and Magic. A Dockerfile on CentOS 7 (needed for older glibc) image builds Tcl, Tk and Magic.
The final build is then packaged into an AppImage using AppImageTool on the host machine. The final build is then packaged into an AppImage using AppImageTool on the host machine.