popey / love-snap-template

Publish LÖVE games in the snap store
24 stars 0 forks source link

Fails with FileExistsError #3

Open xordspar0 opened 6 years ago

xordspar0 commented 6 years ago

For my own LÖVE game, I'm use the same technique that you do to install love and liblove, but I haven't been able to get the liblove part to build, presumably because of the symbolic link?

FileExistsError: [Errno 17] File exists: 'liblove.so.0.0.0' -> '/synthein/package/snapcraft/parts/liblove/install/usr/lib/x86_64-linux-gnu/liblove.so.0'

Is this because snapcraft has changed and this pattern is no longer valid, or is it a bug in snapcraft?

xordspar0 commented 6 years ago

With the release of LÖVE 11, the upstream developers give us a tarball to download that contains all of the dependencies, so packaging LÖVE games for Linux is much easier. I got around this problem by downloading the tarball and simply doing

    stage:
      - usr/lib

in the love part. No stage packages are necessary, and there's no liblove part.

ericoporto commented 5 years ago

Hey @xordspar0 , do you have a current snap template for Love 11.2 ?

xordspar0 commented 5 years ago

I haven't used it in a while, and it doesn't quite work, but it's close. This might set you down the right path: snapcraft.yaml.template

I would set the generate the actual snapcraft.yaml file using a script that was pretty specific to my game, but it might give you some ideas: package-linux-snap.sh