PaulCombal / SamRewritten

Steam Achievement Manager For Linux. Rewritten in C++.
GNU General Public License v3.0
334 stars 32 forks source link

add `make install`, add gentoo installation instructions #74

Closed telans closed 4 years ago

PaulCombal commented 4 years ago

Hi again,

Can you add your changes to the Makefile to the pull request? Is it compatible with other distros as well?

Thanks

telans commented 4 years ago

I use pretty exotic flags with no issues, it's fine not stripping them.

As long as the distro uses lib64 (gentoo) or symlinks lib64 to lib (arch) make install will be fine. It doesn't copy over the desktop entry or desktop icons but that's a job for a package install script imo.

Updated the pkgbuild too, but can't test it.

wgpierce commented 4 years ago

telans, you could also just add the ebuild into the package folder in this repo if you want.

As long as the distro uses lib64 (gentoo) or symlinks lib64 to lib (arch) make install will be fine.

Can you copy things to ${DESTDIR}${PREFIX}/usr/lib instead of lib64 then? There's nothing stopping this from being compiled as 32 bit, and doing it that way will do the right thing via symlinks. I think then I'd be fine with make install doing the copying work.

It doesn't copy over the desktop entry or desktop icons but that's a job for a package install script imo.

Might be nice to do those in the makefile too if there's a portable way, but not sure if that's guaranteed. I think the PKGBUILD puts them in pretty portable places.

telans commented 4 years ago

Can you copy things to ${DESTDIR}${PREFIX}/usr/lib instead of lib64 then?

Gentoo uses /usr/lib as 32-bit unlike Arch, so I figure it's best to leave it as it is

wgpierce commented 4 years ago

Just checked and Ubuntu doesn't have /usr/lib64 by default, but does have /lib, /lib64, and /usr/lib. /usr/lib is 64-bit there (for 64-bit Ubuntu). make install could use some solution to that.

telans commented 4 years ago

Should be good now.

make install does everything needed to install now. (including desktop files). LIBDIR can be specified but defaults to lib for compatibility

PaulCombal commented 4 years ago

I'm not an expert, but doesn't removing the 'install' instructions from the PKGBUILD make it impossible to uninstall samrewritten? Also, why did you remove the optimization flag?

By the way, can you add the ebuild next to the PKGBUILD in the package folder?

telans commented 4 years ago

"WARNING: The implementation of emerge /path/to/ebuild is broken and so this syntax shouldn't be used."

From emerge(1), ebuilds are generally only used within overlays/repositories but I could put it in regardless, it just won't do anything

I removed the O3 flag as imo it should be left up to the user's system flags rather than overriding. Your choice though

And as long as files are installed into pkgdir pacman tracks them on installation/removal. (Pretty sure)

PaulCombal commented 4 years ago

Alright, I'll give it a shot. For now I'm strying to see what I can do for the fedora version but I can't get anything running on that distro so I might take a little bit of time. Thanks for contributing, I'll get back to you asap!

wgpierce commented 4 years ago

Specifying LIBDIR sounds good to me. Yeah I've been wary of forcing flags because distros may package their own flags. On Arch, the defaults for AUR packages are in /etc/makepkg.conf.