From fce3928e6c77afffa57857b24dc1a670366d88ee Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Thu, 1 Feb 2024 21:56:28 +0100 Subject: [PATCH] release_linux: distribute NopeDiff along with NopeViewer --- .github/workflows/release_linux.yml | 14 +++++++++++--- scripts/appimage/{AppRun => AppRun.in} | 2 +- scripts/appimage/build.sh | 21 +++++++++++++++++++-- scripts/appimage/nope-diff.desktop | 7 +++++++ scripts/appimage/nope-diff.png | Bin 0 -> 10040 bytes 5 files changed, 38 insertions(+), 6 deletions(-) rename scripts/appimage/{AppRun => AppRun.in} (88%) create mode 100644 scripts/appimage/nope-diff.desktop create mode 100644 scripts/appimage/nope-diff.png diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 0febe058e..73c3184cb 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -11,6 +11,14 @@ jobs: permissions: contents: write runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + include: + - tool: nope-viewer + tool_fullname: NopeViewer + - tool: nope-diff + tool_fullname: NopeDiff steps: - uses: actions/checkout@v3 @@ -33,12 +41,12 @@ jobs: - name: Build run: | - scripts/appimage/build.sh + scripts/appimage/build.sh ${{ matrix.tool }} - name: Upload AppImage env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - output_file="appimage/NopeViewer-$(cat VERSION)-x86_64.AppImage" - mv appimage/NopeViewer-x86_64.AppImage $output_file + output_file="appimage/${{ matrix.tool_fullname }}-$(cat VERSION)-x86_64.AppImage" + mv appimage/${{ matrix.tool_fullname }}-x86_64.AppImage $output_file gh release upload v$(cat VERSION) $output_file diff --git a/scripts/appimage/AppRun b/scripts/appimage/AppRun.in similarity index 88% rename from scripts/appimage/AppRun rename to scripts/appimage/AppRun.in index 3bf6b7e1c..58fd94a49 100644 --- a/scripts/appimage/AppRun +++ b/scripts/appimage/AppRun.in @@ -5,7 +5,7 @@ here=$(dirname "$self") platform=x86_64-linux-gnu python="$here/usr/bin/python3.10" -exe="$here/usr/local/bin/ngl-viewer" +exe="$here/usr/local/bin/@TOOL@" export PATH="$here/usr/bin:$here/usr/local/bin:$PATH" export LD_LIBRARY_PATH="$here/lib/$platform:$here/usr/lib/$platform:$here/usr/lib" diff --git a/scripts/appimage/build.sh b/scripts/appimage/build.sh index 7d6af1458..d75ba7476 100755 --- a/scripts/appimage/build.sh +++ b/scripts/appimage/build.sh @@ -8,6 +8,21 @@ if [ ! -f "configure.py" ]; then exit 1 fi +target=$1 +target_exec= +case "$target" in + "nope-diff") + target_exec="ngl-diff" + ;; + "nope-viewer") + target_exec="ngl-viewer" + ;; + *) + echo "usage: $0 {nope-viewer,nope-diff}" + exit 1 + ;; +esac + # Check if repository is in a clean state git diff-index --quiet HEAD [ -f Makefile ] && exit 1 @@ -82,12 +97,14 @@ $python -m pip uninstall -y cython curl -sL https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -o linuxdeploy chmod +x linuxdeploy +sed "s/@TOOL@/$target_exec/g" "$resources_dir/AppRun.in" > "$resources_dir/AppRun" + LD_LIBRARY_PATH="$appdir/usr/lib/" ./linuxdeploy \ --appdir "$appdir" \ --output appimage \ --custom-apprun "$resources_dir/AppRun" \ - --desktop-file "$resources_dir/nope-viewer.desktop" \ - --icon-file "$resources_dir/nope-viewer.png" \ + --desktop-file "$resources_dir/$target.desktop" \ + --icon-file "$resources_dir/$target.png" \ --executable "$python" \ --executable "$appdir/usr/bin/ffmpeg" \ --executable "$appdir/usr/bin/ffprobe" \ diff --git a/scripts/appimage/nope-diff.desktop b/scripts/appimage/nope-diff.desktop new file mode 100644 index 000000000..9588bff72 --- /dev/null +++ b/scripts/appimage/nope-diff.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Categories=Development;Graphics; +Icon=nope-diff +Name=NopeDiff +Exec=ngl-diff +Terminal=false diff --git a/scripts/appimage/nope-diff.png b/scripts/appimage/nope-diff.png new file mode 100644 index 0000000000000000000000000000000000000000..396708fb359dedfe1c8e9a09811792a57764f9a3 GIT binary patch literal 10040 zcmV-8C&$={P)5V9a4!(uj&Fv4CfqXoJdg_aabq3j=Jwm=JkQbrkN zmQhL)iJbunBRe6}iJf@FdrJ5G{*Y{~dnMU%94GjFp7ZGH>gwv=`+nd3o+D9QTudK* ze@XT|f<6HBQ6B*M==(~RL-D3uYr0Q-ySCGJ!-&IB$7X7y74Wj%ry zfftK=#S7bq?S5)UHb`VhrqSb5!W+alpO6N!@wgDm2!S zz*cPRQWi>ul}e>ii=+{W2hnkC5;|GJOQ!OWBfJczl_J&3Fwsgn-tM}jas+>(KaV*n z_I&RF;M(MNki@OPwScxS=hA_7B(R)BmM90Su(PL|QXPe~GM;88i6&;!K!5g;cY>9` zPn`XWzx>_;z_rUg9l-)%SXa-{jNns}SfrA0kxbRTVJL1IMhhoW&s1%Q@6=nb=EK=Y0l+;2zd-le4(k zdq@JnRq8$)cp6CR%=fC%_y-w0r_!lA2psz>s7GI>s=({KrRHD=N7_)S%HR)36=ISUu6Bb$mtpkO(i7H(n>Q$$l|zSe@^GH3td7xw41?N_mKmAf;svamDE zUxl6XDBySWKO~qBu$}}iW)Rn^Jod&Pr6izu*0sz1lYOYWc5{#vSzQ z<7yW)!6RgY6w!g8xZkzQJ)*|};3{*^K@c@f`8kQ)toqb`SLrW$CJV>_O@bys7$PAN z!E>&1x2?wj;3{$Fpz|bAu(?fH`L)XX-p2UdMfZ8L`5(zX0JM)tAWX!|?|V)IX#5#L zuGzuI6^_7g_#D$^{(CS!u<{a*KYR&;KFFfJgl-b4`eE2_gnPG_oHebfbdx;d3kbpwB(9SjyRo>83N{Tjf|Pw*|YU`QKC;1!kD$Dtl@ z3V+*}O_k6B(l5g_ft1&~+-}ir0C2h88j4>>JLVp8@b>YiXZ!(O6XQ6- za$@&sfZ?1;ls^8&BAHKAVjpLEklt!eVufxGbpnG;f#5gY2LQpfW*>Q^y2-KP`w833+b?inbKG5`f=f;U7eTa>MjBL{$1x7m2RH7PP2Y#&57 z+wo}t!7mM&F9o_3EbylHapC~d-|JFPk>OzbnCGfO~X0&~j*nefbW>;i-_5pwI-=d0=b3 zV12E?+lxz@|Ex=5TE7;bX6_gQgaReb177YL07OtiA&Buv!FH^C?sfF&jcNiWrs)h! zRP1gMtf&?=dH1c_I4o6h-eAS?c{;g{AQRW_X#uruf_F>csZAQ&>U$pmK5R;0r*2_@ z^!Tq`1TJ2evt4!WG-pb2O{W0hDsktaaeP4Shf4pet*Jd)=bw@3<(3hx3`z;pCDu>`q*~y-p>Wn=ULIH_S+HL8svZYj!J;NRKTK`( zy+H+Q13O9f(}8C?=L7iGo_X({GN+!g{Wjf&YBfR`%Xy;N; zlXKwBALz_3#GgKu9ezz@o?UhvW3foCAFp_9hE75+t8}{>?dFLgsr{hyPN3q15atKP znrl=7+q^w9aWmhpxNVFVX%T)#1$(>_EP`vsC`PBpCzF$M;0Y&WCi)p~342(Uuo3>5 zCUFju+&i^B(&` z5X~aEY`@WerY) zQ-+EV21crQ899Q1X9+zv!6vzGa_?EWWNou0)OQKi1VYS=KMJsjSqKrTPW&hOqRr7` zG4bSV6=;H#?Xhj}cHq^6pvhz2iZXAwL|SBMA6>BL@84|pD8AbZH7yFOgi$$?BA z?N_QJNH~6oM)v1A6-~VW08Rc9aqz_kqJe3�vl+r=W#}fBx5RJw2ECo7hkImX2%( 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