Plus there seems to be no packages named : clib,sgml,http
?- pack_install(ape).
% Contacting server at https://www.swi-prolog.org/pack/query ... ok
Install ape@6.7.0 from https://github.com/fnogatz/APE.git Y/n?
% Cloning into '/home/xxxxx/.local/share/swi-prolog/pack/APE'...
Username for 'https://github.com':
Password for 'https://xxxxxx@github.com':
ERROR: remote: Repository not found.
ERROR: fatal: repository 'https://github.com/fnogatz/APE.git/' not found
I’ve updated the pattern for allowed urls. A manual install doesn’t update the default url though. This may be related to the pack.pl claiming release files instead of using git clone as download. It also seems that the new git doesn’t provide the same hash as the old one. @fnogatz, do you know what happened?
seems ok… except i get all those warnings …
How can skip the assert(), thing … its just compiled, but not installed, right, thats why i have to use use_module(pack(ape)) ?
Hi Falco. As the new git is not a successor of your git, I think the simplest way is for me to delete the APE pack and revive it by installing it from the git. Doesn’t matter who does the latter step, so I can do so. Shall I do so?
Works again. There is a small flaw. The pack.pl says the pack is called ape and the repo is APE. That leads to some confusion. The pack is now known as ape on the Prolog site, but after installation it is called APE locally. Not sure what to think about this. One option is to make this consistent on your end (after which the pack must be recreated once more).
Getting it fixed in pack_install/1 is rather hard as installing from a GIT repo starts with cloning this repo. Only after cloning we find the content of the pack.pl file and may conclude the name is wrong. The only way around would be to get the pack.pl file first, but that is a little hacky. I think there is some value in allowing the pack name to be different from the repo, in particular as github repos for a user live in a single directory. Doing so complicates the process and dependencies though
Hm, this is a thing I already stumbled upon several times. Locally, I call all my Prolog packs swipl-..., so library(xsd) is located at swipl-xsd, etc. For GitHub, I had to name the repositories without this prefix. So I would consider the current behaviour a major drawback of the package system. Maybe we should open an issue on GitHub? Hopefully, I can find some spare time the next days to work on a fix for this.
We could of course define a different mapping from filename to pack name, such as allowing the file/repo name to be prefixed using swipl-. A fixed swipl- seems a bit rigid. On the other hand, it makes finding files and repositories that are supposed to be SWI-Prolog packs easy. Surely, this would be easy to implement (but doesn’t deal with the ape vs APE).