davidjoffe / dave_gnukem

Dave Gnukem is a cross-platform 2D scrolling platform shooter inspired by Duke Nukem 1
GNU General Public License v2.0
75 stars 21 forks source link

Added AppStream metadata #185

Closed Mailaender closed 1 year ago

Mailaender commented 1 year ago

I created a Flatpak package and they use the https://freedesktop.org/software/appstream/ standard including https://hughsie.github.io/oars/ plus they also require an icon that looks nice with modern resolutions.

hfiguiere commented 1 year ago

(flathub reviewer here, since this is the purpose of that patch submission)

you should add the rules to the debian pacakging so that they get installed too (not blocking flatpak, but this make life easier for everyone). Ideally the main build system should install everything, from .desktop to icons. (Update: it does)

hfiguiere commented 1 year ago

actually the main makefile does install the 32x32 and .desktop so just add this icon and the metainfo to it. This is would make the flatpak manifest simpler.

matteobin commented 1 year ago

Thank you for your commits, @Mailaender. I would like to ask you a couple of questions to write a more complete Makefile the next time. Please be patient, I'm still new to Make.

Why did you add the BIN_DIR variable, did you need it to make the Flatpack package?

What's the difference between using the conditional variable assignment operator (?=) and calling make overriding variables? E.g. make BIN_DIR=/usr/games

My understanding is that variable overriding is more portable, because the ?= operator is not POSIX. Besides, for the Dave Gnukem Makefile, you would have the same result on both cases, but the ?= operator would not work on a non-GNU Make.

Mailaender commented 1 year ago

Without the ? I can't override. The hard-coded /usr/games seems to be Debian specific.

matteobin commented 1 year ago

That's strange: I can override without the ?! Maybe overriding variables defined with the standard assignment operator (=) is a GNU Make thing.

Thank you for explaining BIN_DIR.

matteobin commented 1 year ago

Could you please try the following?

user@debian:~/tmp$ cat Makefile 
VAR1  = makeVAR1
VAR2 ?= makeVAR2

all:
    @echo VAR1 = $(VAR1)
    @echo VAR2 = $(VAR2)
user@debian:~/tmp$ VAR1=envVAR1 VAR2=envVAR2 make 
VAR1 = makeVAR1
VAR2 = envVAR2
user@debian:~/tmp$ make VAR1=cliVAR1 VAR2=cliVAR2
VAR1 = cliVAR1
VAR2 = cliVAR2

You should be able to override VAR1 even without the ?.

davidjoffe commented 1 year ago

Thanks everyone for the help here!!