You are not logged in.
I would like to create a AUR package for my game https://github.com/yousry/COOL-The-Game. It was originally developed for OS-X and therefore many BSD / GNUstep dependencies exists that are only available as AUR packages. The problem is, that these packages are missing necessary or performance features to create a usable executable.
Otherwise the AppImage (Sandbox binary) version works completely fine https://yousry.itch.io/cool. Would a AUR package containing an AppImage being accepted?
Side Note: I noticed that Games sometimes start to flicker under Wayland with X layer emulation. Is there a workaround available?
Last edited by yousry (2016-10-10 14:10:32)
Offline
A numbered reply, if you don't mind:
1. Source based AUR package
Could you post your list of dependencies and, if it's already available, your preliminary PKGBUILD? There are different approaches that can be combined to solve the dependency problem:
a) Work with the AUR maintainers of your dependencies and request, that your requirements are being added. If the features you require do not interfere with the overall performance of the dependency, this shouldn't be a big problem.
b) Maintain your own set of dependencies on the AUR. Name the package according to the feature you activated compared to the "default package" (libfoo-xwayland for example, libfoo-dkms is a very common example), to indicate its anomaly.
2. Binary AUR packages
https://wiki.archlinux.org/index.php/Ar … submission
https://wiki.archlinux.org/index.php/Ar … R_packages
I cannot find an explicit rule against binary releases on the AUR. In fact, there are multiple binary and source releases of the same package coexisting right now. This might not be optimal, but it is hard to avoid sometimes.
Example: telegram-desktop. The AUR has:
telegram-desktop
telegram-desktop-bin
telegram-desktop-bin-dev
telegram-desktop-cn
telegram-desktop-dark-git
telegram-desktop-dev
telegram-desktop-git
telegram-desktop-light
telegram-desktop-patched
The upstream package updates so often and the number of AUR deps is so high, that you'd need a "clever" build system to comfortably use telegram-desktop. You also need to update it regularly, because it's a messenger. The binary package makes a lot of sense. How are you going to deal with the AppImage? Do you intend to extract it to /opt/coolgame and symlink the binary and probably the desktop file? I was able to find one AppImage package on the AUR: https://aur.archlinux.org/packages/upwork-appimage/. Whatever you do, make sure to name your package in a way that identifies it as a binary release. *-bin is the default, *-appimage was used once.
Whatever you do, it would be wise to post this question to the AUR mailing list as well, the folks there deal with the AUR on a daily basis and the Trusted Users hang around there, too. The mailing lists can be found on the Arch main page in the navigation on the right.
3. XWayland flickers
This might or might not be very hardware specific. Is it "games" or just your game? You might want to create a new thread with specific information to solve this, there is no catch-all solution.
Offline
1. Necessary packages:
freealut 1.1.0-5
libbsd 0.8.3-1
bullet 2.83.7-1
freetype2 2.7-2
glfw-x11 3.2.1-1
libogg 1.3.2-1
openal 1.17.2-2
soil 1.16-2
libvorbis 1.3.5-1
libxml2 2.9.4+4+g3169602-1
libxslt 1.1.29-1
(clang 3.8.1-1)
As list:
freealut, libbsd, bullet, freetype2, glfw-x11, libogg, openal, soil, libvorbis, libxml2, libxslt, clang
from AUR:
gnustep-base-clang-svn,
gnustep-libobjc2-clang-svn,
gnustep-make-clang-svn,
libdispatch-clang-git,
clang-compiler-rt-svn,
clang-svn
I couldn't build the gnustep-base-clang-svn and clang-svn packages from AUR. Which is why I wasn't able to start the package creation.
2. Will Do
3. The Wayland problem was fixed with the latest update.
Offline
clang-svn is part of the llvm-svn package. llvm-svn is a split package. I don't know how you tried to build it. I'll build it on my server and let you know what happened. It would help to know, what exactly went wrong with the other package. Can you either provide the error messages or describe where it failed?
EDIT: gnustep-base-clang-svn has a number of AUR dependencies:
(in your case) clang-svn -> gnustep-make-clang-svn -> gnustep-libobjc2-clang-svn -> gnustep-base-clang-svn
EDIT: Funny story: I tried to build llvm-svn in /tmp and went OOM, because there is no swap. I'll... rather wait for your error message :-)
Last edited by Awebb (2016-10-06 20:54:37)
Offline
I narrowed the problem down to gnustep-libobjc2-clang-svn
The output is:
[archie@MyContainer gnustep-libobjc2-clang-svn]$ makepkg -si
==> Making package: gnustep-libobjc2-clang-svn 1:r38298-1 (Fri Oct 7 13:45:52 CEST 2016)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: gcc-libs-multilib
==> ERROR: 'pacman' failed to install missing dependencies.
[archie@MyContainer gnustep-libobjc2-clang-svn]$
Perhaps the package should be replaced/supplemented with a more up to date version with sources from here:
https://github.com/gcc-mirror/gcc/tree/master/libobjc
I tried to edit the PKGBUILD: https://gist.github.com/yousry/cb389246 … 33660d28be
but I would favour a new package based on http://wiki.gnustep.org/index.php/GNUst … untu_Linux instead.
Offline
error: target not found: gcc-libs-multilib
The gnustep-libobjc2-clang-svn has a weird structure combining i686 and a x86_64 multilib version in one package.
Normally there would be 2 packages :
gnustep-libobjc2-clang-svn for i686 and lib32-gnustep-libobjc-clang-svn for x86_64 multilib .
The gnustep from scratch instructions are poorly documented but appear to be intended to build the full gnustep suite,not just libojc2 .
If i had to build this i'd probably start with converting AL official gnustep packages to build the svn version, then switch them from gcc to using clang-svn.
For clarity : do you intend to use stable clang or a clang-svn trunk version ?
Last edited by Lone_Wolf (2016-10-07 13:56:26)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
For clarity : do you intend to use stable clang or a clang-svn trunk version ?
I tried to use clang-svn with clang-compiler-rt-svn because libblocks https://github.com/mackyle/blocksruntime (a small replacement for the rt) is missing from the AUR.
Offline
blocksruntime appears to just build 2 files : a header file and a *.a file .
The author claims that available packages may have Blocks support but don't include the runtime libBlocksRuntime.a library .
The solution for that is not to fork a small part of the compiler-rt code but to ask the maintainers of those packages to include that runtime library .
If you use mackyle's code, you're trusting code that was forked in july 2014 and hasn't been touched after that.
Llvm has progressed from version 3.4.2 to 3.9.0 in those 2 years and saw lots of changes.
I advise you to move away from mackyle's libblocks and work with kerberizer to get the current version of that lib included in llvm-svn / clang-compiler-rt-svn .
Edit :
It may be much easier for you to use the AppImage.
There are packages in AUR that use binary code, and there's atleast one appimage package,
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
The AppImage works just fine. I will build a package with it.
Offline