Create a basic installation workflow

Using GNU Make we can now build, install, and uninstall from a vanilla
Linux system, including desktop file and icons.
parent 50525afe
.PHONY : clean clean-all install uninstall
# Build the application
target/release/gdiceroller : src
cargo build --release
# Install onto the system
install : target/release/gdiceroller
cp data/codes.nora.gdiceroller.desktop /usr/share/applications/codes.nora.gdiceroller.desktop
mkdir -p /usr/share/icons/hicolor/codes.nora.gdiceroller/scalable/
cp data/codes.nora.gdiceroller.svg /usr/share/icons/hicolor/scalable/apps/codes.nora.gdiceroller.svg
cp target/release/gdiceroller /usr/bin/codes.nora.gdiceroller
# Remove an existing install from the system
uninstall :
rm -f /usr/share/applications/codes.nora.gdiceroller.desktop
rm -f /usr/share/icons/hicolor/scalable/apps/codes.nora.gdiceroller.svg
rm -f /usr/bin/codes.nora.gdiceroller
# Remove all files
clean-all : clean
cargo clean
# Remove supplemental build files
clean :
rm -rf snap/
......@@ -9,7 +9,14 @@ arithmetic on their results in real time.
## Building
Building gDiceRoller requires GTK3 development libraries.
Simply `cargo build --release` in the main directory.
gDiceRoller uses GNU Make. Simply:
```bash
make
sudo make install
# to remove
sudo make uninstall
```
## TODO
......
[Desktop Entry]
Name=Dice Roller
GenericName=Dice Roller
Comment=Roll dice of many different shapes and sizes in all possible combinations.
Categories=Games
Icon=codes.nora.gdiceroller
Exec=codes.nora.gdiceroller
Terminal=false
Type=Application
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866666"
version="1.1"
id="svg271"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="codes.nora.gdiceroller.svg"
inkscape:export-filename="/media/nora/Storage/repos/gitlab.gnome.org/NoraCodes/diceroller/data/codes.nora.gdiceroller.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs265" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="44.650734"
inkscape:cy="34.934164"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1022"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
units="px">
<inkscape:grid
type="xygrid"
id="grid308" />
</sodipodi:namedview>
<metadata
id="metadata268">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13334)">
<rect
style="display:inline;fill:#aa0000;fill-opacity:1;stroke-width:0.31559539;enable-background:new"
id="rect148"
width="31.75"
height="31.75"
x="1.0289546"
y="263.69186"
rx="2.4892018"
ry="2.5122864" />
<ellipse
style="display:inline;fill:#ffd5d5;fill-opacity:1;stroke-width:0.31512544;enable-background:new"
id="path150"
cx="7.5174632"
cy="269.84576"
rx="3.1059783"
ry="3.0881467" />
<ellipse
style="display:inline;fill:#ffd5d5;fill-opacity:1;stroke-width:0.31512544;enable-background:new"
id="path150-3"
cx="26.629395"
cy="269.84576"
rx="3.1059783"
ry="3.0881467" />
<ellipse
style="display:inline;fill:#ffd5d5;fill-opacity:1;stroke-width:0.31512544;enable-background:new"
id="path150-6"
cx="7.5174632"
cy="288.55109"
rx="3.1059783"
ry="3.0881467" />
<ellipse
style="display:inline;fill:#ffd5d5;fill-opacity:1;stroke-width:0.31512544;enable-background:new"
id="path150-3-2"
cx="26.629395"
cy="288.55109"
rx="3.1059783"
ry="3.0881467" />
<ellipse
style="display:inline;fill:#ffd5d5;fill-opacity:1;stroke-width:0.31512544;enable-background:new"
id="path150-3-9"
cx="17.524437"
cy="279.19839"
rx="3.1059783"
ry="3.0881467" />
</g>
</svg>
......@@ -6,7 +6,7 @@
<property name="can_focus">False</property>
<property name="title" translatable="yes">Dice Roller</property>
<property name="role">Dice Roller</property>
<property name="icon_name">gdiceroller</property>
<property name="icon_name">codes.nora.gdiceroller</property>
<property name="startup_id">Dice Roller</property>
<signal name="destroy" handler="onDestroyWindow" swapped="no"/>
<child>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment