From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:35788) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iuDvX-0003Og-U5 for guix-patches@gnu.org; Wed, 22 Jan 2020 06:12:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iuDvW-0004rX-GY for guix-patches@gnu.org; Wed, 22 Jan 2020 06:12:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:43079) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iuDvW-0004rR-DL for guix-patches@gnu.org; Wed, 22 Jan 2020 06:12:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iuDvW-00043F-90 for guix-patches@gnu.org; Wed, 22 Jan 2020 06:12:02 -0500 Subject: [bug#38687] [PATCH] gnu: Add libtcod. Resent-Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_7703b87ad1ab6afaa375a47d19d3a148" Content-Transfer-Encoding: 8bit Date: Wed, 22 Jan 2020 11:11:34 +0000 From: goodoldpaul@autistici.org In-Reply-To: <875zi6j3c1.fsf@gnu.org> References: <20191220123739.18081-1-goodoldpaul@autistici.org> <875zi6j3c1.fsf@gnu.org> Message-ID: <891e12c54b84a6f4caad6b4c72f1ecba@autistici.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 38687@debbugs.gnu.org --=_7703b87ad1ab6afaa375a47d19d3a148 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed On 2019-12-23 18:37, Ludovic Courtès wrote: > Hi, > > Giacomo Leidi skribis: > >> * gnu/packages/game-development.scm (libtcod): New variable. > > Could you (1) add a ‘snippet’ that removes zlib and utf8proc from > src/vendor (assuming it doesn’t break the build system…), and (2) add > utf8proc as an input? > > That way we’d make sure we don’t end up using bundled copies of these > packages > > Apart from that it LGTM, thanks! > > Ludo’. Hi Ludo', Sorry for the delay. I checked and it seems that a lot of vendor library paths are hardcoded in the C headers. I made a new patch with a snippet that deletes zlib sources, but I'm unsure about how to approach the hardcoded paths. grepping for 'vendor' inside the source returns src/libtcod/sys_sdl_img_png.cpp 41:#include "../vendor/lodepng.h" src/libtcod/console/printing.cpp 54:#include "../../vendor/utf8proc/utf8proc.h" src/libtcod/sdl2/gl2_ext_.h 36:#include "../../vendor/glad.h" src/libtcod/color/canvas.cpp 39:#include "../../vendor/lodepng.h" src/libtcod/tileset/truetype.cpp 43:#include "../../vendor/stb_truetype.h" src/libtcod/tileset/tilesheet.cpp 34:#include "../../vendor/lodepng.h" As far as I understood (I'm no C wizard) lodepng, glad and stb are libraries which are designed to be dropped inside a source tree and statically built in binaries. Right now I think those are secondary problems and the main deal is how to effectively replace the included utf8proc. I'm not sure if replacing every "#include ../../vendor/something.h" with "#include " ( by including a .patch file or with substitute* ? Food for thought :D) and then placing something.h inside a path known by the C linker is enough but it's the I'm not really sure where to go from here. Any advice is very welcome, thanks. Giacomo --=_7703b87ad1ab6afaa375a47d19d3a148 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-gnu-Add-libtcod.patch Content-Disposition: attachment; filename=0001-gnu-Add-libtcod.patch; size=2959 RnJvbSAwMTg3N2Y1ZjdhN2JlZWQyZDUyNzI5YzRjYTU1NzdjY2NjNDk1YTg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHaWFjb21vIExlaWRpIDxnb29kb2xkcGF1bEBhdXRpc3RpY2ku b3JnPgpEYXRlOiBTdW4sIDE5IEphbiAyMDIwIDE2OjU5OjU3ICswMTAwClN1YmplY3Q6IFtQQVRD SF0gZ251OiBBZGQgbGlidGNvZC4KCiogZ251L3BhY2thZ2VzL2dhbWUtZGV2ZWxvcG1lbnQuc2Nt IChsaWJ0Y29kKTogTmV3IHZhcmlhYmxlLgotLS0KIGdudS9wYWNrYWdlcy9nYW1lLWRldmVsb3Bt ZW50LnNjbSB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCA0NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2dhbWUtZGV2 ZWxvcG1lbnQuc2NtIGIvZ251L3BhY2thZ2VzL2dhbWUtZGV2ZWxvcG1lbnQuc2NtCmluZGV4IGVl OGRlYTIzYjUuLmYwMzMyMTI4MWUgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9nYW1lLWRldmVs b3BtZW50LnNjbQorKysgYi9nbnUvcGFja2FnZXMvZ2FtZS1kZXZlbG9wbWVudC5zY20KQEAgLTE4 LDYgKzE4LDcgQEAKIDs7OyBDb3B5cmlnaHQgwqkgMjAxOSwgMjAyMCBMZW8gUHJpa2xlciA8bGVv LnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTkgSmV0aHJv IENhbyA8amV0aHJvY2FvQGdtYWlsLmNvbT4KIDs7OyBDb3B5cmlnaHQgwqkgMjAyMCBOaWNvbGFz IEdvYXppb3UgPG1haWxAbmljb2xhc2dvYXppb3UuZnI+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjAg R2lhY29tbyBMZWlkaSA8Z29vZG9sZHBhdWxAYXV0aXN0aWNpLm9yZz4KIDs7OwogOzs7IFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC04Niw2ICs4Nyw3IEBACiAgICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIHNwaGlueCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgc3RiKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0ZXhpbmZvKQorICAjOnVzZS1t b2R1bGUgKGdudSBwYWNrYWdlcyB0ZXh0dXRpbHMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIHRscykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdmlkZW8pCiAgICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIHhkaXNvcmcpCkBAIC0yMDQ5LDMgKzIwNTEsNDYgQEAgY29tcHV0 ZXIgZ2FtZXMsIDNEIGF1dGhvcmluZyB0b29scyBhbmQgc2ltdWxhdGlvbiB0b29scy4iKQogICAg IChkZXNjcmlwdGlvbiAiQ2hpcG11bmsgaXMgYSBzaW1wbGUsIGxpZ2h0d2VpZ2h0LCBmYXN0IGFu ZCBwb3J0YWJsZSAyRAogcmlnaWQgYm9keSBwaHlzaWNzIGxpYnJhcnkgd3JpdHRlbiBpbiBDLiIp CiAgICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQorCisoZGVmaW5lLXB1YmxpYyBsaWJ0Y29k CisgIChwYWNrYWdlCisgICAgKG5hbWUgImxpYnRjb2QiKQorICAgICh2ZXJzaW9uICIxLjE1LjEi KQorICAgIChzb3VyY2UgKG9yaWdpbgorICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK KyAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICAo dXJsICJodHRwczovL2dpdGh1Yi5jb20vbGlidGNvZC9saWJ0Y29kLmdpdCIpCisgICAgICAgICAg ICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQorICAgICAgICAgICAgICAoZmlsZS1uYW1lIChn aXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAg ICAgICAgICAgIChiYXNlMzIKKyAgICAgICAgICAgICAgICAiMHB6cjhham1icXZoNDNsZGphang5 NjJ4aXJqM3JmOGF5aDM0NHA2bXFscm1iOGd4cmZyNSIpKQorICAgICAgICAgICAgICAobW9kdWxl cyAnKChndWl4IGJ1aWxkIHV0aWxzKSkpCisgICAgICAgICAgICAgIChzbmlwcGV0ICcoYmVnaW4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJzcmMv dmVuZG9yL3psaWIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAjdCkpKSkKKyAgICAoYnVp bGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6cGhh c2VzCisgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgKGFk ZC1hZnRlciAndW5wYWNrICdjaGFuZ2UtdG8tYnVpbGQtZGlyCisgICAgICAgICAgIChsYW1iZGEg XworICAgICAgICAgICAgIChjaGRpciAiYnVpbGRzeXMvYXV0b3Rvb2xzIikKKyAgICAgICAgICAg ICAocGF0Y2gtc2hlYmFuZyAiZ2V0X3ZlcnNpb24ucHkiKQorICAgICAgICAgICAgICN0KSkpKSkK KyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiYXV0b2NvbmYiICxhdXRvY29uZikKKyAgICAg ICAoImF1dG9tYWtlIiAsYXV0b21ha2UpCisgICAgICAgKCJsaWJ0b29sIiAsbGlidG9vbCkKKyAg ICAgICAoInB5dGhvbiIgLHB5dGhvbikKKyAgICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmln KQorICAgICAgICgic2RsMiIgLHNkbDIpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJ6bGliIiAs emxpYikpKQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ0Y29kL2xpYnRj b2QiKQorICAgIChzeW5vcHNpcyAiTGlicmFyeSBzcGVjaWZpY2FsbHkgZGVzaWduZWQgZm9yIHdy aXRpbmcgcm9ndWVsaWtlcyIpCisgICAgKGRlc2NyaXB0aW9uCisgICAgICJsaWJ0Y29kIGlzIGEg ZnJlZSwgZmFzdCwgcG9ydGFibGUgYW5kIHVuY29tcGxpY2F0ZWQgQVBJIGZvciByb2d1ZWxpa2UK K2RldmVsb3BlcnMgcHJvdmlkaW5nIGFuIGFkdmFuY2VkIHRydWUgY29sb3IgY29uc29sZSwgaW5w dXQsIGFuZCBsb3RzIG9mIG90aGVyCit1dGlsaXRpZXMgZnJlcXVlbnRseSB1c2VkIGluIHJvZ3Vl bGlrZXMuIikKKyAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0zKSkpCi0tIAoyLjI1LjAKCg== --=_7703b87ad1ab6afaa375a47d19d3a148--