I use my own fork as a source for content because when I try to use Serosis' website as source, where he keeps built versions of the content packages, for example http://files.serosis.net/MegaMod/0.8.0. … ontent.uqm it gives me:
curl: (22) The requested URL returned error: 406
It seems upstream blocks "curl" as user-agent (wget works), so you could set DLAGENTS in the PKGBUILD. For example, this works for me™
DLAGENTS=('http::/usr/bin/curl -gqb "" -A "Mozilla/5.0" -fLC - --retry 3 --retry-delay 3 -o %o %u')
Should I just use my fork completely as a base? The only change I made is add Nintendo Switch build support to it, and a few minor changes like change the location of user dir, which I am doing anyway using a patch. And I might want to work more on my fork in the future.
IMHO, it is OK to use your own fork, but for the sake of transparency one should mention/comment on what you are modifying...
]]>Edit:
It's available on AUR now:
https://aur.archlinux.org/packages/uqm-megamod/
https://aur.archlinux.org/packages/uqm-megamod-data/
https://aur.archlinux.org/packages/uqm- … -addon-hd/
https://aur.archlinux.org/packages/uqm- … addon-3do/
https://aur.archlinux.org/packages/uqm- … -textures/
https://aur.archlinux.org/packages/uqm- … ols-remix/
Thanks for the input and let me know if there's anything else to fix or improve!
]]>build() {
CFLAGS+=" $(pkgconf --cflags lua52 pkgconf --cflags libmikmod)"
LDFLAGS+=" $(pkgconf --libs lua52) $(pkgconf --libs libmikmod)"
cd "${srcdir}/${pkgname}-${pkgver}"
....
Edit:
I get this on build when trying to build using system mikmod and lua, by modifying the config.state from 'internal' to 'external':
src/libs/luauqm/luauqm.c:40:11: error: ‘LUA_BITLIBNAME’ undeclared here (not in a function); did you mean ‘LUA_IOLIBNAME’?
40 | { LUA_BITLIBNAME, luaopen_bit32 },
| ^~~~~~~~~~~~~~
| LUA_IOLIBNAME
src/libs/luauqm/luauqm.c:40:30: error: ‘luaopen_bit32’ undeclared here (not in a function); did you mean ‘luaopen_math’?
40 | { LUA_BITLIBNAME, luaopen_bit32 },
| ^~~~~~~~~~~~~
| luaopen_math
make: *** [Makefile.build:68: obj/release/src/libs/luauqm/luauqm.c.o] Error 1
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().
Aborting...
config.state
...
CHOICE_mikmod_VALUE='external'
CHOICE_lua_VALUE='external'
...
sed -i 's/uqm_CFLAGS="$uqm_CFLAGS -Isrc"/uqm_CFLAGS="$CPPFLAGS $CFLAGS $uqm_CFLAGS -Isrc"/' Makeproject
sed -i 's/uqm_CXXFLAGS="$uqm_CXXFLAGS -Isrc"/uqm_CXXFLAGS="$CPPFLAGS $CXXFLAGS $uqm_CXXFLAGS -Isrc"\nuqm_LDFLAGS="$LDFLAGS $uqm_LDFLAGS"/' Makeproject
uqm-megamod-data/uqm-megamod-addons-hd/uqm-megamod-addons-3do appear to be https://creativecommons.org/licenses/by-nc-sa/2.5/ instead of GPL2
]]>curl: (22) The requested URL returned error: 406
Should I just use my fork completely as a base? The only change I made is add Nintendo Switch build support to it, and a few minor changes like change the location of user dir, which I am doing anyway using a patch. And I might want to work more on my fork in the future.
]]>And I'm wondering, why are the sources downloaded from your(?) fork and not from the upstream URL?
]]>==> Starting prepare()...
'echo -n' capable echo found.
Sed stream editor found.
tr found.
Make found.
build/unix/config_proginfo_host: line 253: libmikmod-config: command not found
build/unix/config_proginfo_host: line 254: libmikmod-config: command not found
build/unix/config_proginfo_host: line 255: libmikmod-config: command not found
GNU C compiler found.
We have a C preprocessor.
We have a C dependency generator.
We have a C compiler.
We have a C++ preprocessor.
We have a C++ dependency generator.
We have a C++ compiler.
We have a linker.
Little-endian machine detected.
Simple DirectMedia Layer version 1.2.15 found.
Simple DirectMedia Layer version 2.x found.
libpng found.
Symbol 'readdir_r' found.
Symbol 'setenv' found.
Symbol 'strupr' not found.
Symbol 'strcasecmp' found.
Symbol 'stricmp' not found.
Symbol 'acos' not found.
Symbol 'iswgraph' found.
Type 'wchar_t' found.
Type 'wint_t' found.
Symbol 'getopt_long' found.
Header 'regex.h' found.
Type '_Bool' found.
Preprocessor macro 'WIN32' not found.
Preprocessor macro '__MINGW32__' not found.
OpenGL found.
libmikmod not found.
==> ERROR: A failure occurred in prepare().
Aborting...
uqm-megamod | PKGBUILD | tree
uqm-megamod-data | PKGBUILD | tree
uqm-megamod-addon-hd | PKGBUILD | tree
uqm-megamod-addon-3do | PKGBUILD | tree
uqm-megamod-addon-sol-textures | PKGBUILD | tree
uqm-megamod-addon-vols-remix | PKGBUILD | tree