diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 804273ff..3b0bf033 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,29 +15,15 @@ jobs: run: | echo "[profile.release]" >> Cargo.toml echo "lto = true" >> Cargo.toml - - name: Add .deb package metadata - run: | - echo '[package.metadata.deb.variants.todos]' >> Cargo.toml - echo 'extended-description = "A simple Todo app built with Iced, a cross-platform GUI library for Rust"' >> Cargo.toml - echo 'assets = [' >> Cargo.toml - echo '["target/release/examples/todos", "usr/bin/iced-todos", "755"],' >> Cargo.toml - echo '["iced-todos.desktop", "usr/share/applications/", "644"]' >> Cargo.toml - echo ']' >> Cargo.toml - - name: Create .desktop file - run: | - echo '[Desktop Entry]' >> iced-todos.desktop - echo 'Name=Todos - Iced' >> iced-todos.desktop - echo 'Exec=iced-todos' >> iced-todos.desktop - echo 'Type=Application' >> iced-todos.desktop - name: Build todos binary - run: cargo build --verbose --release --example todos + run: cargo build --verbose --release --package todos - name: Archive todos binary uses: actions/upload-artifact@v1 with: name: todos-x86_64-unknown-linux-gnu - path: target/release/examples/todos - - name: Build todos .deb package - run: cargo deb --variant todos -- --example todos + path: target/release/todos + - name: Pack todos .deb package + run: cargo deb --no-build --package todos - name: Rename todos .deb package run: mv target/debian/*.deb target/debian/iced_todos-x86_64-debian-linux-gnu.deb - name: Archive todos .deb package @@ -61,12 +47,12 @@ jobs: echo '[target.x86_64-pc-windows-msvc]' >> .cargo/config echo 'rustflags = ["-Ctarget-feature=+crt-static"]' >> .cargo/config - name: Build todos binary - run: cargo build --verbose --release --example todos + run: cargo build --verbose --release --package todos - name: Archive todos binary uses: actions/upload-artifact@v1 with: name: todos-x86_64-pc-windows-msvc - path: target/release/examples/todos.exe + path: target/release/todos.exe todos_macos: runs-on: macOS-latest @@ -80,9 +66,9 @@ jobs: - name: Build todos binary env: MACOSX_DEPLOYMENT_TARGET: 10.14 - run: cargo build --verbose --release --example todos + run: cargo build --verbose --release --package todos - name: Archive todos binary uses: actions/upload-artifact@v1 with: name: todos-x86_64-apple-darwin - path: target/release/examples/todos + path: target/release/todos diff --git a/examples/todos/Cargo.toml b/examples/todos/Cargo.toml index 53a135e6..21acd5d6 100644 --- a/examples/todos/Cargo.toml +++ b/examples/todos/Cargo.toml @@ -5,8 +5,6 @@ authors = ["Héctor Ramón Jiménez "] edition = "2018" publish = false -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] iced = { path = "../.." } iced_futures = { path = "../../futures", features = ["async-std"] } @@ -14,3 +12,9 @@ async-std = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" directories = "2.0" + +[package.metadata.deb] +assets = [ + ["target/release/todos", "usr/bin/iced-todos", "755"], + ["iced-todos.desktop", "usr/share/applications/", "644"], +] diff --git a/examples/todos/iced-todos.desktop b/examples/todos/iced-todos.desktop new file mode 100644 index 00000000..dd7ce53d --- /dev/null +++ b/examples/todos/iced-todos.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=Todos - Iced +Exec=iced-todos +Type=Application