add linux build configs

This commit is contained in:
kodjomoustapha 2024-11-14 14:42:45 +01:00
parent fb9fdaad35
commit f3c15b3143
5 changed files with 170 additions and 142 deletions

View file

@ -185,12 +185,7 @@ jobs:
# - name: build windows # - name: build windows
# run: | # run: |
# flutter build windows --release # flutter build windows
# $DestDir = "build\windows\Mangayomi-${{ github.ref_name }}-windows"
# $SrcDir = "build\windows\runner\Release"
# New-Item -Path $DestDir -ItemType Directory
# Copy-Item $SrcDir\* -Recurse $DestDir
# Copy-Item -Filter *.dll -Path windows\* -Destination $DestDir -Force
# Compress-Archive $DestDir build\windows\Mangayomi-${{ github.ref_name }}-windows.zip # Compress-Archive $DestDir build\windows\Mangayomi-${{ github.ref_name }}-windows.zip
# - name: upload artifact windows zip # - name: upload artifact windows zip
@ -205,164 +200,154 @@ jobs:
# allowUpdates: true # allowUpdates: true
build-and-release-linux-zip: # build-and-release-linux-zip:
permissions: # permissions:
contents: write # contents: write
runs-on: ubuntu-latest # runs-on: ubuntu-latest
steps: # steps:
- name: checkout branch # - name: checkout branch
uses: actions/checkout@v4 # uses: actions/checkout@v4
- name: Install dependencies # - name: Install dependencies
run: | # run: |
sudo apt-get update # sudo apt-get update
sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev # sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev
- name: setup flutter # - name: setup flutter
uses: subosito/flutter-action@v2 # uses: subosito/flutter-action@v2
with: # with:
channel: 'stable' # channel: 'stable'
- name: Setup Rust toolchain # - name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable # uses: dtolnay/rust-toolchain@stable
- name: Install the CLI tool # - name: Install the CLI tool
run: cargo install 'flutter_rust_bridge_codegen' # run: cargo install 'flutter_rust_bridge_codegen'
- name: flutter pub get # - name: flutter pub get
run: flutter pub get # run: flutter pub get
- name: build linux # - name: build linux
run: flutter build linux --verbose # run: flutter build linux --verbose
- name: Zip # - name: Zip
uses: thedoctor0/zip-release@master # uses: thedoctor0/zip-release@master
with: # with:
type: "zip" # type: "zip"
filename: Mangayomi-${{ github.ref_name }}-linux.zip # filename: Mangayomi-${{ github.ref_name }}-linux.zip
directory: build/linux/x64/release/bundle # directory: build/linux/x64/release/bundle
- name: upload artifact linux zip # - name: upload artifact linux zip
uses: actions/upload-artifact@v3 # uses: actions/upload-artifact@v3
with: # with:
path: build/linux/x64/release/bundle/Mangayomi-*.zip # path: build/linux/x64/release/bundle/Mangayomi-*.zip
- name: release packages linux zip # - name: release packages linux zip
uses: ncipollo/release-action@v1 # uses: ncipollo/release-action@v1
with: # with:
artifacts: build/linux/x64/release/bundle/Mangayomi-*.zip # artifacts: build/linux/x64/release/bundle/Mangayomi-*.zip
allowUpdates: true # allowUpdates: true
build-and-release-linux-appimage_libmpv_so: # build-and-release-linux-deb:
permissions: # permissions:
contents: write # contents: write
runs-on: ubuntu-latest # runs-on: ubuntu-latest
steps: # steps:
- name: checkout branch # - name: checkout branch
uses: actions/checkout@v4 # uses: actions/checkout@v4
- name: Install dependencies # - name: Install dependencies
run: | # run: |
sudo apt-get update # sudo apt-get update
sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev # sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev libfuse2
- name: setup flutter # - name: setup flutter
uses: subosito/flutter-action@v2 # uses: subosito/flutter-action@v2
with: # with:
channel: 'stable' # channel: 'stable'
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install the CLI tool # - name: Setup Rust toolchain
run: cargo install 'flutter_rust_bridge_codegen' # uses: dtolnay/rust-toolchain@stable
# - name: Install the CLI tool
# run: cargo install 'flutter_rust_bridge_codegen'
# - name: flutter pub get
# run: flutter pub get
- name: flutter pub get # - name: Enable dart_distributor
run: flutter pub get # run: dart pub global activate flutter_distributor
- name: build linux # - name: Update PATH
run: | # run: echo 'export PATH="$PATH:$HOME/.pub-cache/bin"' >> ~/.bashrc
sudo apt install -y libfuse2 # - name: Build deb package
# run: flutter_distributor package --platform linux --targets deb
curl -JOL https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod a+x appimagetool-x86_64.AppImage
mv appimagetool-x86_64.AppImage appimagetool
flutter build linux --release # - name: Move deb file
# run: mv $(find dist -type f -name "mangayomi*.deb") dist/Mangayomi-${{ github.ref_name }}-linux.deb
patchelf --replace-needed libmpv.so.1 libmpv.so build/linux/x64/release/bundle/lib/libmedia_kit_video_plugin.so # - name: upload artifact linux deb
patchelf --replace-needed libmpv.so.1 libmpv.so build/linux/x64/release/bundle/lib/libmedia_kit_native_event_loop.so # uses: actions/upload-artifact@v3
# with:
mv build/linux/x64/release/bundle/{mangayomi,AppRun} # path: dist/Mangayomi-*.deb
cp linux/appimage/* build/linux/x64/release/bundle/
./appimagetool build/linux/x64/release/bundle/
mv *.AppImage build/Mangayomi-${{ github.ref_name }}-linux_libmpv_so.AppImage
- name: upload artifact linux appimage # - name: Release package deb
uses: actions/upload-artifact@v3 # uses: ncipollo/release-action@v1
with: # with:
path: build/Mangayomi-*.AppImage # artifacts: dist/Mangayomi-*.deb
- name: Rrelease packages appimage # allowUpdates: true
uses: ncipollo/release-action@v1
with:
artifacts: build/Mangayomi-*.AppImage
allowUpdates: true
build-and-release-linux-appimage_libmpv_so_1:
permissions: # build-and-release-linux-appimage:
contents: write # permissions:
runs-on: ubuntu-latest # contents: write
steps: # runs-on: ubuntu-latest
# steps:
- name: checkout branch # - name: checkout branch
uses: actions/checkout@v4 # uses: actions/checkout@v4
- name: Install dependencies # - name: Install dependencies
run: | # run: |
sudo apt-get update # sudo apt-get update
sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev # sudo apt-get install webkit2gtk-4.1 clang cmake ninja-build pkg-config libgtk-3-dev mpv libmpv-dev dpkg-dev libfuse2
- name: setup flutter # - name: setup flutter
uses: subosito/flutter-action@v2 # uses: subosito/flutter-action@v2
with: # with:
channel: 'stable' # channel: 'stable'
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install the CLI tool # - name: Setup Rust toolchain
run: cargo install 'flutter_rust_bridge_codegen' # uses: dtolnay/rust-toolchain@stable
# - name: Install the CLI tool
# run: cargo install 'flutter_rust_bridge_codegen'
# - name: flutter pub get
# run: flutter pub get
- name: flutter pub get # - name: Enable dart_distributor
run: flutter pub get # run: dart pub global activate flutter_distributor
- name: build linux # - name: Update PATH
run: | # run: echo 'export PATH="$PATH:$HOME/.pub-cache/bin"' >> ~/.bashrc
sudo apt install -y libfuse2 # - name: Build AppImage package
# run: flutter_distributor package --platform linux --targets deb
curl -JOL https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod a+x appimagetool-x86_64.AppImage
mv appimagetool-x86_64.AppImage appimagetool
flutter build linux --release # - name: Move AppImage file
# run: mv $(find dist -type f -name "mangayomi*.AppImage") dist/Mangayomi-${{ github.ref_name }}-linux.AppImage
mv build/linux/x64/release/bundle/{mangayomi,AppRun}
cp linux/appimage/* build/linux/x64/release/bundle/
./appimagetool build/linux/x64/release/bundle/
mv *.AppImage build/Mangayomi-${{ github.ref_name }}-linux_libmpv_so_1.AppImage
- name: upload artifact linux appimage # - name: upload artifact linux AppImage
uses: actions/upload-artifact@v3 # uses: actions/upload-artifact@v3
with: # with:
path: build/Mangayomi-*.AppImage # path: dist/Mangayomi-*.AppImage
- name: Rrelease packages appimage
uses: ncipollo/release-action@v1 # - name: Release package AppImage
with: # uses: ncipollo/release-action@v1
artifacts: build/Mangayomi-*.AppImage # with:
allowUpdates: true # artifacts: dist/Mangayomi-*.AppImage
# allowUpdates: true

View file

@ -1,8 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=mangayomi
Exec=AppRun %u
Icon=AppRun
Categories=Utility;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,17 @@
display_name: Mangayomi
icon: assets/app_icons/icon-red.png
keywords:
- Manga
- Anime
- BitTorrent
generic_name: Free and open source application that allows users to read manga and stream anime from a variety of sources including BitTorrent.
categories:
- Utility
startup_notify: true
include: []

View file

@ -0,0 +1,34 @@
display_name: Mangayomi
package_name: mangayomi
maintainer:
name: kodjodevf
email: kodjomoustapha@gmail.com
priority: optional
section: x11
installed_size: 30600
essential: false
postinstall_scripts:
- echo "Installed Mangayomi successfully"
postuninstall_scripts:
- echo "Unistalled Mangayomi successfully"
icon: assets/app_icons/icon-red.png
keywords:
- Manga
- Anime
- BitTorrent
generic_name: Free and open source application that allows users to read manga and stream anime from a variety of sources including BitTorrent.
categories:
- Utility
startup_notify: true