diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7c265db8c..30f8ccc78 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,16 +147,60 @@ jobs: aarch64-linux-gnu-strip \ /target/${{ matrix.target }}/release/hx + - name: Build AppImage + shell: bash + if: matrix.build == 'x86_64-linux' + run: | + mkdir dist + + name=dev + if [[ $GITHUB_REF == refs/tags/* ]]; then + name=${GITHUB_REF:10} + fi + + export VERSION="$name" + export ARCH=x86_64 + export APP=helix + export OUTPUT="helix-$VERSION-$ARCH.AppImage" + export UPDATE_INFORMATION="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|helix|latest|$APP-*-$ARCH.AppImage.zsync" + + mkdir -p "$APP.AppDir"/usr/{bin,lib/helix} + + cp "target/${{ matrix.target }}/release/hx" "$APP.AppDir/usr/bin/hx" + rm -rf runtime/grammars/sources + cp -r runtime "$APP.AppDir/usr/lib/helix/runtime" + + cat << 'EOF' > "$APP.AppDir/AppRun" + #!/bin/sh + + APPDIR="$(dirname "$(readlink -f "${0}")")" + HELIX_RUNTIME="$APPDIR/usr/lib/helix/runtime" exec "$APPDIR/usr/bin/hx" "$@" + EOF + chmod 755 "$APP.AppDir/AppRun" + + curl -Lo linuxdeploy-x86_64.AppImage \ + https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + chmod +x linuxdeploy-x86_64.AppImage + + ./linuxdeploy-x86_64.AppImage \ + --appdir "$APP.AppDir" -d contrib/Helix.desktop \ + -i contrib/helix.png --output appimage + + mv "$APP-$VERSION-$ARCH.AppImage" \ + "$APP-$VERSION-$ARCH.AppImage.zsync" dist + - name: Build archive shell: bash run: | - mkdir dist + mkdir -p dist if [ "${{ matrix.os }}" = "windows-2019" ]; then cp "target/${{ matrix.target }}/release/hx.exe" "dist/" else cp "target/${{ matrix.target }}/release/hx" "dist/" fi - rm -rf runtime/grammars/sources + if [ -d runtime/grammars/sources ]; then + rm -rf runtime/grammars/sources + fi cp -r runtime dist - uses: actions/upload-artifact@v3 @@ -212,6 +256,10 @@ jobs: mv bins-$platform/hx$exe $pkgname chmod +x $pkgname/hx$exe + if [[ "$platform" = "x86_64-linux" ]]; then + mv bins-$platform/helix-*.AppImage* dist/ + fi + if [ "$exe" = "" ]; then tar cJf dist/$pkgname.tar.xz $pkgname else diff --git a/contrib/Helix.desktop b/contrib/Helix.desktop new file mode 100644 index 000000000..844286f84 --- /dev/null +++ b/contrib/Helix.desktop @@ -0,0 +1,89 @@ +[Desktop Entry] +Name=Helix +GenericName=Text Editor +GenericName[de]=Texteditor +GenericName[fr]=Éditeur de texte +GenericName[ru]=Текстовый редактор +GenericName[sr]=Едитор текст +GenericName[tr]=Metin Düzenleyici +Comment=Edit text files +Comment[af]=Redigeer tekslêers +Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ +Comment[ar]=حرّر ملفات نصية +Comment[az]=Mətn fayllarını redaktə edin +Comment[be]=Рэдагаваньне тэкставых файлаў +Comment[bg]=Редактиране на текстови файлове +Comment[bn]=টেক্স্ট ফাইল এডিট করুন +Comment[bs]=Izmijeni tekstualne datoteke +Comment[ca]=Edita fitxers de text +Comment[cs]=Úprava textových souborů +Comment[cy]=Golygu ffeiliau testun +Comment[da]=Redigér tekstfiler +Comment[de]=Textdateien bearbeiten +Comment[el]=Επεξεργασία αρχείων κειμένου +Comment[en_CA]=Edit text files +Comment[en_GB]=Edit text files +Comment[es]=Edita archivos de texto +Comment[et]=Redigeeri tekstifaile +Comment[eu]=Editatu testu-fitxategiak +Comment[fa]=ویرایش پرونده‌های متنی +Comment[fi]=Muokkaa tekstitiedostoja +Comment[fr]=Éditer des fichiers texte +Comment[ga]=Eagar comhad Téacs +Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો +Comment[he]=ערוך קבצי טקסט +Comment[hi]=पाठ फ़ाइलें संपादित करें +Comment[hr]=Uređivanje tekstualne datoteke +Comment[hu]=Szövegfájlok szerkesztése +Comment[id]=Edit file teks +Comment[it]=Modifica file di testo +Comment[ja]=テキストファイルを編集します +Comment[kn]=ಪಠ್ಯ ಕಡತಗಳನ್ನು ಸಂಪಾದಿಸು +Comment[ko]=텍스트 파일을 편집합니다 +Comment[lt]=Redaguoti tekstines bylas +Comment[lv]=Rediģēt teksta failus +Comment[mk]=Уреди текстуални фајлови +Comment[ml]=വാചക രചനകള് തിരുത്തുക +Comment[mn]=Текст файл боловсруулах +Comment[mr]=गद्य फाइल संपादित करा +Comment[ms]=Edit fail teks +Comment[nb]=Rediger tekstfiler +Comment[ne]=पाठ फाइललाई संशोधन गर्नुहोस् +Comment[nl]=Tekstbestanden bewerken +Comment[nn]=Rediger tekstfiler +Comment[no]=Rediger tekstfiler +Comment[or]=ପାଠ୍ଯ ଫାଇଲଗୁଡ଼ିକୁ ସମ୍ପାଦନ କରନ୍ତୁ +Comment[pa]=ਪਾਠ ਫਾਇਲਾਂ ਸੰਪਾਦਨ +Comment[pl]=Edytor plików tekstowych +Comment[pt]=Editar ficheiros de texto +Comment[pt_BR]=Edite arquivos de texto +Comment[ro]=Editare fişiere text +Comment[ru]=Редактирование текстовых файлов +Comment[sk]=Úprava textových súborov +Comment[sl]=Urejanje datotek z besedili +Comment[sq]=Përpuno files teksti +Comment[sr]=Уређујте текст фајлове +Comment[sr@Latn]=Izmeni tekstualne datoteke +Comment[sv]=Redigera textfiler +Comment[ta]=உரை கோப்புகளை தொகுக்கவும் +Comment[th]=แก้ไขแฟ้มข้อความ +Comment[tk]=Metin faýllary editle +Comment[tr]=Metin dosyaları düzenleyin +Comment[uk]=Редактор текстових файлів +Comment[vi]=Soạn thảo tập tin văn bản +Comment[wa]=Asspougnî des fitchîs tecses +Comment[zh_CN]=编辑文本文件 +Comment[zh_TW]=編輯文字檔 +TryExec=hx +Exec=hx %F +Terminal=true +Type=Application +Keywords=Text;editor; +Keywords[fr]=Texte;éditeur; +Keywords[ru]=текст;текстовый редактор; +Keywords[sr]=Текст;едитор; +Keywords[tr]=Metin;düzenleyici; +Icon=helix +Categories=Utility;TextEditor; +StartupNotify=false +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/contrib/helix.png b/contrib/helix.png new file mode 100644 index 000000000..bef00b984 Binary files /dev/null and b/contrib/helix.png differ