## Contributing
Issues and merge requests are more than welcome. However, please take the following into consideration:
- This project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct)
- Only Flatpak is supported
- The amount of features is intentionally restricted, to keep the app minimal and optimized for the target use case. If you'd like a more general-purpose disk utility, check out [GNOME Disks](https://apps.gnome.org/DiskUtility/).
## Development
### GNOME Builder
The recommended method is to use GNOME Builder:
1. Install [GNOME Builder](https://apps.gnome.org/Builder/) from [Flathub](https://flathub.org/apps/org.gnome.Builder)
1. Open Builder and select "Clone Repository..."
1. Clone `https://gitlab.com/adhami3310/Impression.git` (or your fork)
1. Press "Run Project" (â–¶) at the top, or `Ctrl`+`Shift`+`[Spacebar]`.
### Meson
You can build and install on your host system by directly using the Meson buildsystem:
1. Install `blueprint-compiler`
1. Run the following commands (with `/usr` prefix):
```
meson setup --prefix=/usr build
ninja -C build
sudo ninja -C build install
```
### Credits
Actively developed by Khaleel Al-Adhami.
Brage Fuglseth helps a lot with desgin decisions.
Huge thanks to all of the translators who brought Impression to many other languages!
This app was inspired by [this mockup](https://gitlab.gnome.org/Teams/Design/whiteboards/-/issues/143) by [Saptarshi Mondal](https://gitlab.gnome.org/gitSaptarshi).
The app uses significant portions of [popsicle](https://github.com/pop-os/popsicle).
Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/build-aux/ 0000775 0000000 0000000 00000000000 15166764750 0023315 5 ustar 00root root 0000000 0000000 Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/build-aux/dist-vendor.sh 0000775 0000000 0000000 00000002114 15166764750 0026110 0 ustar 00root root 0000000 0000000 #!/bin/sh
# Since Meson invokes this script as
# "/bin/sh .../dist-vendor.sh DIST SOURCE_ROOT" we can't rely on bash features
set -eu
export DIST="$1"
export SOURCE_ROOT="$2"
cd "$SOURCE_ROOT"
mkdir "$DIST"/.cargo
# cargo-vendor-filterer can be found at https://github.com/coreos/cargo-vendor-filterer
# It is also part of the Rust SDK extension.
cargo vendor-filterer --all-features --platform=x86_64-unknown-linux-gnu --platform=aarch64-unknown-linux-gnu > "$DIST"/.cargo/config.toml
set -- vendor/gettext-sys/gettext-*.tar.*
TARBALL_PATH=$1
TARBALL_NAME=$(basename "$TARBALL_PATH")
rm -f "$TARBALL_PATH"
# remove the tarball from checksums
cargo_checksum='vendor/gettext-sys/.cargo-checksum.json'
tmp_f=$(mktemp --tmpdir='vendor/gettext-sys' -t)
jq -c "del(.files[\"$TARBALL_NAME\"])" "$cargo_checksum" > "$tmp_f"
mv -f "$tmp_f" "$cargo_checksum"
# Don't combine the previous and this line with a pipe because we can't catch
# errors with "set -o pipefail"
sed -i 's/^directory = ".*"/directory = "vendor"/g' "$DIST/.cargo/config.toml"
# Move vendor into dist tarball directory
mv vendor "$DIST"
Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/ 0000775 0000000 0000000 00000000000 15166764750 0022334 5 ustar 00root root 0000000 0000000 io.gitlab.adhami3310.Impression.desktop.in.in 0000664 0000000 0000000 00000001010 15166764750 0032402 0 ustar 00root root 0000000 0000000 Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data [Desktop Entry]
Name=Impression
GenericName=Media Writer
Comment=Create bootable drives
Exec=impression %u
Icon=@icon@
Terminal=false
Type=Application
Categories=GTK;GNOME;Utility;System;DiscBurning;
Keywords=usb;flash;writer;bootable;drive;iso;img;disk;image
StartupNotify=true
DBusActivatable=true
X-GNOME-UsesNotifications=true
# Translators: Do NOT translate or transliterate this text (these are enum types)!
MimeType=application/x-iso9660-image;application/x-raw-disk-image;application/x-cd-image;application/x-xz; io.gitlab.adhami3310.Impression.gschema.xml.in 0000664 0000000 0000000 00000001745 15166764750 0032551 0 ustar 00root root 0000000 0000000 Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data