Minetest logo

IRC log for #minetest-dev, 2024-04-17

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
01:47 v-rob joined #minetest-dev
02:39 v-rob joined #minetest-dev
03:17 [MTMatrix] joined #minetest-dev
03:49 vampirefrog joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
04:23 Pexin joined #minetest-dev
05:03 v-rob joined #minetest-dev
06:19 [MTMatrix] joined #minetest-dev
11:43 Noisytoot joined #minetest-dev
12:14 Lupercus joined #minetest-dev
12:29 Noisytoot joined #minetest-dev
12:56 Noisytoot joined #minetest-dev
13:39 MTDiscord <herowl> Why can't we have nice things? (like c++20)
13:43 celeron55_ are we tracking the status of C++20 on our target platforms at the moment?
13:43 grorp joined #minetest-dev
13:43 grorp merging #14472 in 15 min (thanks sfan5)
13:43 ShadowBot https://github.com/minetest/minetest/issues/14472 -- TouchScreenGUI dehardcoding refactor by grorp
13:43 sfan5 i don't think so
13:43 sfan5 merging #14546 in 15m after grorp's merge
13:43 ShadowBot https://github.com/minetest/minetest/issues/14546 -- Fix missing DLLs in Windows build by sfan5
13:46 celeron55_ i think there's starting to be a high chance it's supported on each platform
13:47 celeron55_ one good thing is that centos was finally discontinued. it tended to be worse than debian
13:48 celeron55_ do we consider g++ 12 to have enough c++20 support?
13:48 sfan5 i think we first have to define what we event want c++20 for
13:48 sfan5 spans?
13:49 celeron55_ @herowl which features would you like to use from c++20?
13:52 celeron55_ debian stable seems to have gcc 12 and glibc 6, if i'm not mistaken
13:52 sfan5 wasn't there once some PR that formalized the "which platforms do we support" thing?
13:52 celeron55_ span is in glibc 7, altough i'm 55% certain i'm looking this up wrong
13:53 sfan5 that should be libstdc++, not glibc
13:53 celeron55_ wait
13:53 celeron55_ this was the llvm one, yes
13:54 sfan5 [2023-06-11 21:23:56] <sfan5> anyway for estimating which compilers or libraries we can require I have suggested in the past to check the oldest still-supported Ubuntu, Debian and maybe Fedora
13:54 celeron55_ https://gcc.gnu.org/projects/cxx-status.html#cxx20
13:54 MTDiscord <herowl> At this point I wanted to use https://en.cppreference.com/w/cpp/string/basic_string/ends_with
13:54 celeron55_ https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2020
13:55 sfan5 we have str_ends_with for that in util/string.h
13:57 celeron55_ ok so anyway debian stable is at 12 for g++ and libstdc++, which makes sense (i'm sure differing versions don't go well together...)
14:00 celeron55_ it's difficult to figure out the details (like ends_with) but it seems to me debian is probably good here
14:00 celeron55_ ubuntu 22.04 LTS is at 11, which might be too old
14:02 celeron55_ and what's worse, the older ubuntu 20.04 LTS has official support until 2025. it uses gcc 9
14:03 celeron55_ fedora has a tight release schedule, i don't think it will ever be the bottleneck for us
14:03 nrz celeron55_ better to target C++17 first which should be fine, C++20 is not widely implemented
14:04 nrz C++17 permit to remove nearly all our porting around filesys
14:05 celeron55_ not everything out of c++17 is supported by gcc 9, but most things are
14:05 celeron55_ it would probably be doable now
14:05 nrz gcc 9 is the one in debian 11 right ?
14:05 celeron55_ actually, gcc 9 does support everything in c++17, but the standard library doesn't have everything
14:06 celeron55_ i'm looking at debian bookworm which is the stable now
14:06 celeron55_ whatever the number for that is. debian doesn't really show the number anywhere
14:07 celeron55_ and this debian has gcc 12
14:07 celeron55_ it's not the bottleneck
14:07 celeron55_ ubuntu LTS is the bottleneck
14:07 nrz if the issue is glibc, we have another problem then 😄
14:07 celeron55_ ubuntu LTS has gcc 9
14:10 celeron55_ anyway, i agree with nrz about c++17. support for it is ok now. just make sure our CI does a build on ubuntu 20.04 LTS as that's the worst target platform
14:13 celeron55_ and yes, let me rephrase that: the "Worst C++ Target Platform of 2024" prize goes to Ubntu 20.04 LTS. go ahead and give them an applause
14:13 celeron55_ +u
14:18 nrz it's LTS - 2 this month , 24.04 will replace 22.04
14:19 celeron55_ doesn't change the fact that it's still supported by ubuntu until 2025
14:20 nrz right 🙂
14:55 sfan5 we're already on c++17 :)
15:43 pgimeno is Debian LTS unsupported by Minetest?
15:44 pgimeno Debian LTS has GCC 8.3
15:47 pgimeno support ends in June though
15:48 sfan5 it probably works on there
15:49 nrz sfan5, oh amazing, missed it
16:11 sfan5 https://www.minetest.net/downloads/ it's funny how nobody ever updated the BSD instructions to tell people to *not* install MTG
16:15 MTDiscord <zmv7> PR welcome? 😏
16:17 sfan5 always
16:17 sfan5 https://github.com/minetest/minetest.github.io
16:51 rubenwardy Why is Ubuntu 24.04 still shipping with 5.6? Who do we complain to about this https://packages.ubuntu.com/search?keywords=minetest
16:52 sfan5 https://tracker.debian.org/pkg/minetest -> maintainer: Debian Games Team
16:52 rubenwardy oh right
16:53 rubenwardy 5.8.0 is still in unstable, is it likely to miss 24.04 then
16:53 sfan5 s/likely/guaranteed/
16:53 rubenwardy so Minetest is going to be 3.5 years outdated by the time we get to the next lts :/
16:54 rubenwardy this will really drag out any renaming attempts
16:54 ROllerozxa has debian debundled MTG from their base minetest 5.8.0 package?
16:55 rubenwardy yes
16:55 rubenwardy and disabled the update checker
16:57 rubenwardy https://gist.github.com/rubenwardy/eb481b51a5e0574e5219b6967752bdb0
16:58 ROllerozxa huh. I'm surprised they didn't keep MTG just to be petty
16:59 rubenwardy what I want from a distro is a stable base/os and up to date applications. Having stale applications, especially when they're networked, is quite annoying
16:59 rubenwardy I suppose a 'stable' distro and flatpak is the most feasible way to achieve tihs
17:00 MTDiscord <herowl> rubenwardy: I implemented most of your comments in #14543
17:00 ShadowBot https://github.com/minetest/minetest/issues/14543 -- WIP: Add gameid aliases by nauta-turbidus
17:00 MTDiscord <herowl> I have problems with the updater though
17:00 rubenwardy nice!
17:00 ROllerozxa actually I checked the file list of the version of minetest-data in debian sid (5.8.0+dfsg+~1.9.0mt13-1) and there's both devtest and MTG in here
17:00 rubenwardy eek
17:02 ROllerozxa > Install games directory manually, as upstream's make install no longer does it.
17:02 ROllerozxa Debian™
17:02 rubenwardy oh I thought minetest-data is deprecated?
17:02 ROllerozxa minetest-data is where the common data is stored used for both the client and server package
17:02 rubenwardy grr
17:04 sfan5 projects usually deal with this by rejecting bug reports from debian users, because their application could be patched in many surprising ways :)
17:06 Wuzzy joined #minetest-dev
17:07 MTDiscord <herowl> rubenwardy: I am not really sure how updater should deal with a rename. Should it just go through the list of aliases and remove any game folders going by those names? What if somebody manually created a folder named like that?
17:07 rubenwardy You don't need to read the aliases, just look at package.path
17:07 rubenwardy It will point to the old name
17:08 rubenwardy What Debian should do is move MTG to its own package, and at most Recommend it
17:15 ROllerozxa yeah
17:16 ROllerozxa I mean they could package however many games for debian as they want, just like how they package a bunch of ancient mods
17:16 sfan5 there we go: #14556 <- feedback wanted
17:16 ShadowBot https://github.com/minetest/minetest/issues/14556 -- Formalize OS support policy by sfan5
17:18 sfan5 I just realized we should exclude debian oldoldstable because that doesn't work even now
17:31 MTDiscord <josiah_wi> Updating CMake to a newer version for development is very straightforward.
17:32 sfan5 I know you can download a binary from the cmake website, are you getting at that?
17:32 v-rob joined #minetest-dev
17:32 MTDiscord <josiah_wi> I think there's a script that updates it for you, but I have not personally used it since last summer I think, so I don't remember the details.
17:34 MTDiscord <josiah_wi> I think it would interfere with any installed system version, so it's only useful on a development-specific environment.
17:34 MTDiscord <josiah_wi> Depending on your workflow I suppose that would be frustrating to have to update.
17:35 MTDiscord <josiah_wi> Not on the same level as compiling a newer version of GCC though.
17:38 sfan5 my opinion on downloading cmake binaries: sure it works but I feel it's bad practice. a mere build system is not something I'd want to download separately
17:40 * v-rob wants C++20 modules and C++23 import std; but only MSVC supports them fully
17:41 v-rob It's a strange day, when Microsoft supports the standards before GCC or Clang do
18:19 sfan5 also could someone take a look at #14534? It's not complex but also not simple enough that I want to merge it with 1 approval
18:19 ShadowBot https://github.com/minetest/minetest/issues/14534 -- [no sq] Profiler improvement + an optimization by sfan5
18:28 MTDiscord <herowl> OK, I can't figure out how do I check if it should be renamed? Because it looks like after a rename update installs to the old folder, right?
18:31 MTDiscord <herowl> @rubenwardy
18:33 rubenwardy get the folder name and compare it with the package name (after normalising to remove _game)
18:42 MTDiscord <herowl> rubenwardy: is there a function to rename a directory?
18:42 MTDiscord <herowl> or do I copy and remove the original dir?
18:43 MTDiscord <herowl> as I don't see a move function either...
18:44 rubenwardy delete the old dir
18:45 rubenwardy mt already deletes the old dir when updating
18:45 rubenwardy so the behaviour should be to delete the correct old dir and install to the correct new dir
18:49 MTDiscord <herowl> rubenwardy: ok, how do I test it? I guess we don't have such cases in CDB?
18:51 rubenwardy In the fetch_pkgs function in contentdb.lua, you could modify `aliases` of a specific game
18:51 rubenwardy Say you when the package.name == mineclone2, you could add package.aliases = { "foobar" }.  Then locally rename the mineclone2 folder to foobar
18:51 MTDiscord <herowl> alright
18:52 rubenwardy *   aliases = { "Wuzzy/foobar" }
18:53 rubenwardy you'll also need to reduce `release` in the game.conf so it detects an update
18:58 MTDiscord <herowl> works
19:59 MTDiscord <luatic> why not use os.rename if it's just a rename? copying & deleting seems unnecessarily wasteful
20:00 MTDiscord <herowl> Well, it deletes the old directory when updating and writes it anew anyway
20:00 MTDiscord <herowl> so I leveraged that
20:00 MTDiscord <herowl> (no extra copies and deletes)
20:00 MTDiscord <luatic> ah okay
20:01 MTDiscord <herowl> Everything is at https://github.com/minetest/minetest/pull/14543 if you want to take a look
20:35 v-rob joined #minetest-dev
22:14 turtleman joined #minetest-dev
22:32 v-rob joined #minetest-dev
22:33 panwolfram joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext