From a970c9947977509ac345c8f7a95e0f0809efbaa5 Mon Sep 17 00:00:00 2001 From: fredizzimo Date: Sun, 30 Jul 2023 20:51:16 +0300 Subject: [PATCH] Fix AppImage support and Dockerfile for testing (#1941) * Fix AppImage support and Dockerfile for testing * Fix the desktop entry name --- .github/workflows/build.yml | 22 +++- .gitignore | 1 + Cargo.lock | 204 +++++++++++++++++-------------- assets/neovide.desktop | 2 +- ubuntu-builder/Dockerfile | 46 +++++++ ubuntu-builder/build-appimage | 17 +++ ubuntu-builder/build-dockerimage | 3 + ubuntu-builder/run | 3 + 8 files changed, 201 insertions(+), 97 deletions(-) create mode 100644 ubuntu-builder/Dockerfile create mode 100755 ubuntu-builder/build-appimage create mode 100755 ubuntu-builder/build-dockerimage create mode 100755 ubuntu-builder/run diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8b4a313a..741f2d4e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -95,7 +95,8 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, macOS-11, ubuntu-latest] + # NOTE: Should use the oldest available Ubuntu release, for maximum compatibility + os: [windows-latest, macOS-11, ubuntu-20.04] runs-on: ${{ matrix.os }} steps: @@ -143,14 +144,14 @@ jobs: elif [[ $RUNNER_OS == "macOS" ]]; then echo "MACOSX_DEPLOYMENT_TARGET=10.11" >> $GITHUB_ENV # x86 - cargo build --release --target=x86_64-apple-darwin + cargo build --locked --release --target=x86_64-apple-darwin cargo bundle --release --target=x86_64-apple-darwin # arch - cargo build --release --target=aarch64-apple-darwin + cargo build --locked --release --target=aarch64-apple-darwin cargo bundle --release --target=aarch64-apple-darwin elif [[ $RUNNER_OS == "Linux" ]]; then - cargo build --release + cargo build --locked --release fi - name: Prepare Artifacts @@ -186,6 +187,11 @@ jobs: # create appimage curl -Lo linuxdeploy https://github.com/linuxdeploy/linuxdeploy/releases/latest/download/linuxdeploy-x86_64.AppImage chmod +x linuxdeploy + curl -Lo linuxdeploy-plugin-appimage https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/latest/download/linuxdeploy-plugin-appimage-x86_64.AppImage + chmod +x linuxdeploy-plugin-appimage + + export LDAI_OUTPUT=neovide.AppImage + export LDAI_UPDATE_INFORMATION="gh-releases-zsync|neovide|neovide|latest|neovide.AppImage.zsync" ./linuxdeploy \ --executable=neovide \ --desktop-file=../../assets/neovide.desktop \ @@ -193,10 +199,10 @@ jobs: --icon-file=../../assets/neovide.svg \ --output=appimage - mv Neovide_\(nvim\)-*.AppImage neovide.AppImage echo "ARTIFACT=neovide-linux-x86_64.tar.gz" >> $GITHUB_ENV echo "ARTIFACT2=neovide.AppImage" >> $GITHUB_ENV + echo "ARTIFACT3=neovide.AppImage.zsync" >> $GITHUB_ENV fi - uses: actions/upload-artifact@v3 @@ -209,3 +215,9 @@ jobs: with: name: ${{ env.ARTIFACT2 }} path: target/release/${{ env.ARTIFACT2 }} + + - if: env.ARTIFACT3 + uses: actions/upload-artifact@v3 + with: + name: ${{ env.ARTIFACT3 }} + path: target/release/${{ env.ARTIFACT3 }} diff --git a/.gitignore b/.gitignore index 212eaabe..8757aca2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /target +/target-ubuntu /.vs **/*.rs.bk *.log diff --git a/Cargo.lock b/Cargo.lock index c4e67b47..682c2d17 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -140,13 +140,13 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -368,9 +368,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.10" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384e169cc618c613d5e3ca6404dda77a8685a63e08660dcc64abaf7da7cb0c7a" +checksum = "3eab9e8ceb9afdade1ab3f0fd8dbce5b1b2f468ad653baf10e771781b2b67b73" dependencies = [ "clap_builder", "clap_derive", @@ -379,9 +379,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.10" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef137bbe35aab78bdb468ccfba75a5f4d8321ae011d34063770780545176af2d" +checksum = "9f2763db829349bf00cfc06251268865ed4363b93a943174f638daf3ecdba2cd" dependencies = [ "anstream", "anstyle", @@ -392,14 +392,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -553,12 +553,12 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" dependencies = [ "cfg-if", - "hashbrown 0.12.3", + "hashbrown 0.14.0", "lock_api", "once_cell", "parking_lot_core", @@ -650,9 +650,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" @@ -836,7 +836,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -1031,9 +1031,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "home" @@ -1100,7 +1100,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "libc", "windows-sys 0.48.0", ] @@ -1116,11 +1116,11 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "rustix", "windows-sys 0.48.0", ] @@ -1136,9 +1136,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jni-sys" @@ -1377,7 +1377,7 @@ dependencies = [ "async-trait", "backtrace", "cfg-if", - "clap 4.3.10", + "clap 4.3.12", "cocoa", "copypasta", "csscolorparser", @@ -1413,7 +1413,7 @@ dependencies = [ "time", "tokio", "tokio-util", - "toml 0.7.5", + "toml 0.7.6", "tracy-client-sys", "unicode-segmentation", "which", @@ -1521,7 +1521,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "libc", ] @@ -1564,7 +1564,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -1731,9 +1731,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "peeking_take_while" @@ -1777,7 +1777,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -1806,7 +1806,7 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -1888,9 +1888,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -1906,9 +1906,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" dependencies = [ "proc-macro2", ] @@ -2021,9 +2021,21 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" dependencies = [ "aho-corasick", "memchr", @@ -2032,9 +2044,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "ring" @@ -2086,9 +2098,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.38.1" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc6396159432b5c8490d4e301d8c705f61860b8b6c863bf79942ce5401968f3" +checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" dependencies = [ "bitflags 2.3.3", "errno", @@ -2099,13 +2111,13 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.2" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f" +checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" dependencies = [ "log", "ring", - "rustls-webpki", + "rustls-webpki 0.101.1", "sct", ] @@ -2120,16 +2132,26 @@ dependencies = [ ] [[package]] -name = "rustversion" -version = "1.0.12" +name = "rustls-webpki" +version = "0.101.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "scoped-env" @@ -2174,29 +2196,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.164" +version = "1.0.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] name = "serde_json" -version = "1.0.99" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" dependencies = [ "itoa", "ryu", @@ -2234,7 +2256,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -2313,9 +2335,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "smithay-client-toolkit" @@ -2352,7 +2374,7 @@ dependencies = [ "wayland-backend", "wayland-client 0.30.2", "wayland-cursor 0.30.0", - "wayland-protocols 0.30.0", + "wayland-protocols 0.30.1", "wayland-protocols-wlr", "wayland-scanner 0.30.1", ] @@ -2433,9 +2455,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.22" +version = "2.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970" dependencies = [ "proc-macro2", "quote", @@ -2444,9 +2466,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" dependencies = [ "filetime", "libc", @@ -2476,22 +2498,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -2590,7 +2612,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", ] [[package]] @@ -2618,9 +2640,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240" +checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" dependencies = [ "serde", "serde_spanned", @@ -2639,9 +2661,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.11" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "serde", @@ -2673,9 +2695,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -2709,7 +2731,7 @@ dependencies = [ "log", "once_cell", "rustls", - "rustls-webpki", + "rustls-webpki 0.100.1", "url", "webpki-roots", ] @@ -2776,7 +2798,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", "wasm-bindgen-shared", ] @@ -2810,7 +2832,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.22", + "syn 2.0.26", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2913,9 +2935,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.30.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fefbeb8a360abe67ab7c2efe1d297a1a50ee011f5460791bc18870c26bb84e2" +checksum = "3b28101e5ca94f70461a6c2d610f76d85ad223d042dd76585ab23d3422dd9b4d" dependencies = [ "bitflags 1.3.2", "wayland-backend", @@ -2932,7 +2954,7 @@ dependencies = [ "bitflags 1.3.2", "wayland-backend", "wayland-client 0.30.2", - "wayland-protocols 0.30.0", + "wayland-protocols 0.30.1", "wayland-scanner 0.30.1", ] @@ -3008,7 +3030,7 @@ version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" dependencies = [ - "rustls-webpki", + "rustls-webpki 0.100.1", ] [[package]] @@ -3231,7 +3253,7 @@ dependencies = [ "wasm-bindgen-futures", "wayland-backend", "wayland-client 0.30.2", - "wayland-protocols 0.30.0", + "wayland-protocols 0.30.1", "web-sys", "web-time", "windows-sys 0.48.0", @@ -3241,9 +3263,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.4.7" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" dependencies = [ "memchr", ] @@ -3328,9 +3350,9 @@ dependencies = [ [[package]] name = "xkbcommon-dl" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "640e2c59cabea03b04fb0a34ca0fa7caaa1a50f7e588776fcda43a6a8ca28165" +checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" dependencies = [ "bitflags 2.3.3", "dlib", @@ -3347,9 +3369,9 @@ checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" [[package]] name = "xml-rs" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52839dc911083a8ef63efa4d039d1f58b5e409f923e44c80828f206f66e5541c" +checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336" [[package]] name = "yazi" diff --git a/assets/neovide.desktop b/assets/neovide.desktop index cac5b170..ed198c2d 100644 --- a/assets/neovide.desktop +++ b/assets/neovide.desktop @@ -2,7 +2,7 @@ Type=Application Exec=neovide %F Icon=neovide -Name=Neovide (nvim) +Name=Neovide Keywords=Text;Editor; Categories=Utility;TextEditor; Comment=No Nonsense Neovim Client in Rust diff --git a/ubuntu-builder/Dockerfile b/ubuntu-builder/Dockerfile new file mode 100644 index 00000000..e5b9acd6 --- /dev/null +++ b/ubuntu-builder/Dockerfile @@ -0,0 +1,46 @@ +from ubuntu:20.04 + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive \ + apt-get install -y \ + appstream \ + ca-certificates \ + cmake \ + curl \ + file \ + g++-multilib \ + gcc-multilib \ + git \ + gnupg \ + libbz2-dev \ + libexpat1-dev \ + libfontconfig-dev \ + libfreetype6-dev \ + libfuse2 \ + libpng16-16 \ + libssl-dev \ + libxcb-composite0-dev \ + libxi-dev \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + +ENV PATH="/root/.cargo/bin:${PATH}" +ENV CARGO_TARGET_DIR=target-ubuntu +ENV CARGO_HOME=target-ubuntu/cache + +RUN curl -Lo linuxdeploy.AppImage https://github.com/linuxdeploy/linuxdeploy/releases/latest/download/linuxdeploy-x86_64.AppImage \ + && chmod +x linuxdeploy.AppImage \ + && ./linuxdeploy.AppImage --appimage-extract \ + && mv squashfs-root/ /opt/linuxdeploy/ \ + && ln -s /opt/linuxdeploy/AppRun /usr/local/bin/linuxdeploy \ + && rm linuxdeploy.AppImage + +RUN curl -Lo linuxdeploy-plugin-appimage.AppImage https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/latest/download/linuxdeploy-plugin-appimage-x86_64.AppImage \ + && chmod +x linuxdeploy-plugin-appimage.AppImage \ + && ./linuxdeploy-plugin-appimage.AppImage --appimage-extract \ + && mv squashfs-root/ /opt/linuxdeploy-plugin-appimage/ \ + && rm /opt/linuxdeploy/usr/bin/linuxdeploy-plugin-appimage \ + && ln -s /opt/linuxdeploy-plugin-appimage/AppRun /opt/linuxdeploy/usr/bin/linuxdeploy-plugin-appimage \ + && rm linuxdeploy-plugin-appimage.AppImage diff --git a/ubuntu-builder/build-appimage b/ubuntu-builder/build-appimage new file mode 100755 index 00000000..4b368e6d --- /dev/null +++ b/ubuntu-builder/build-appimage @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +run=$(dirname "$0")/run +rm -rf target-ubuntu/AppDir +$run cargo build --locked --release + +neovide=target-ubuntu/release/neovide +export LDAI_OUTPUT=neovide.AppImage +export LDAI_UPDATE_INFORMATION="gh-releases-zsync|neovide|neovide|latest|neovide.AppImage.zsync" +$run linuxdeploy \ + --executable=$neovide \ + --desktop-file=assets/neovide.desktop \ + --appdir=target-ubuntu/AppDir \ + --icon-file=assets/neovide.svg \ + --output=appimage diff --git a/ubuntu-builder/build-dockerimage b/ubuntu-builder/build-dockerimage new file mode 100755 index 00000000..07c0aaa8 --- /dev/null +++ b/ubuntu-builder/build-dockerimage @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +podman build -t ubuntu-builder-neovide ubuntu-builder diff --git a/ubuntu-builder/run b/ubuntu-builder/run new file mode 100755 index 00000000..fa314db8 --- /dev/null +++ b/ubuntu-builder/run @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +podman run --rm --volume .:/mnt --workdir /mnt --tty --interactive --env "LDAI_*" ubuntu-builder-neovide "$@"