Post AYqjjsFrRvZ5ASUhfM by Ardubal@mastodon.xyz
 (DIR) More posts by Ardubal@mastodon.xyz
 (DIR) Post #AYnGFRrPXRJETUJlJ2 by svetlyak40wt@fosstodon.org
       2023-08-16T15:55:52Z
       
       0 likes, 1 repeats
       
       I'm thinking about support for ocicl package manager in Ultralisp.orgInteresting, how many people are using this (relatively new) package manager instead of quicklisp or CLPM?Please, respond in comments which package manager are you using for #commonlisp!
       
 (DIR) Post #AYnGFSdGfVaeruhyts by louis@emacs.ch
       2023-08-16T16:17:04Z
       
       0 likes, 0 repeats
       
       @svetlyak40wt I did not know about OCICL before I read your post. It looks sophisticated but I don't like the idea that adding systems is still a manual process and that it is bound to Docker and GitHub.Actually, yesterday, I switched to CLPM but it seems that the project is not maintained anymore and there were issues with LispWorks (same for Qlot). In the end, I'm now thinking about completely managing deps manually.
       
 (DIR) Post #AYnJLYhJKZXPHOCNiy by svetlyak40wt@fosstodon.org
       2023-08-16T16:51:48Z
       
       0 likes, 0 repeats
       
       @louis managing deps manually is crazy idea! It probably will work if you have one or two small projects, but won't scale well.
       
 (DIR) Post #AYqjjpd9CtPR1oMl2u by Ardubal@mastodon.xyz
       2023-08-16T22:39:33Z
       
       0 likes, 0 repeats
       
       @svetlyak40wt (Sorry, this might sound a bit inflammatory, but…)I didn't know about it, but it seems completely bonkers to me: I see no reason for OCI containers to exist in the Lisp world.
       
 (DIR) Post #AYqjjqm2xI7cZhXNYW by fosskers@emacs.ch
       2023-08-17T06:40:01Z
       
       0 likes, 0 repeats
       
       @Ardubal @svetlyak40wt Yeah that part wasn't clear to me either. Is ocicl actually pulling images, or is it just code at the end of the day like normal QL?
       
 (DIR) Post #AYqjjrYy1PFn1QQRo8 by svetlyak40wt@fosstodon.org
       2023-08-17T08:53:29Z
       
       0 likes, 0 repeats
       
       @fosskers @Ardubal OCICL does not pull images it is pulling artefacts. Artefacts are just tar.gz archives, the have no layers as images.OCICL pins each dependency version automatically in systems.txt. And provides a way to update some or all of them to the latest or to the given version.
       
 (DIR) Post #AYqjjsFrRvZ5ASUhfM by Ardubal@mastodon.xyz
       2023-08-17T17:35:12Z
       
       0 likes, 0 repeats
       
       @svetlyak40wt @fosskers OK, so I tried to make sense of what https://oras.land/docs/ says, and it seems this OCI Artifacts thing is a protocol/manifest spec/convention for registries, which just happens to have emerged from container use cases.  That might be useful.It seems to run from the shell prompt, which I find a bit unconvincing (I'd expect primarily a Lisp REPL interface).I'm not yet clear how its integration with ASDF works.
       
 (DIR) Post #AYqjjsvKxik3F5tpJY by svetlyak40wt@fosstodon.org
       2023-08-17T18:48:04Z
       
       0 likes, 0 repeats
       
       @Ardubal @fosskers  ocicl's ASDF integration installs a hook which is calling a binary command for you under the hood when your are doing ASDF:load-system.
       
 (DIR) Post #AYqjjteiF12PVp842a by louis@emacs.ch
       2023-08-18T08:31:37Z
       
       0 likes, 0 repeats
       
       @svetlyak40wt @Ardubal @fosskers @awkravchuk What this discussion and many others about package management in Common Lisp on IRC etc. show is that, IMO, we really need to raise awareness for alternatives to Quicklisp.Many devs still rely solely on the availability of their packages in the next Quicklisp release, which is most of the time just "hope" and "speculation" since nobody really knows if and when that will happen. Heck, who knows if Zach still cares about maintaining Quicklisp at all?Ultralisp is a big step in the right direction, but unfortunately still far too unknown. IMO Ultralisp + a package loader that is just a package loader, that supports Ultralisp and direct dependencies specified by a Git URL would be a dream.So like Qlot but actually working.CLPM and OCICL still try to be repositories at the same time. That will fail. Devs don't want to manage and publish their packages in multiple repositories at the same time. Let's be honest and critical of ourselves: the reason Ultralisp hasn't completely replaced Quicklisp yet is because Quicklisp includes as its name both a package loader and a package repository, and everyone new to Common Lisp thinks this is the canonical solution. If there were an independent package loader that was uncomplicated, worked flawlessly on all platforms and implementations, and worked with both Quicklisp and Ultralisp "protocols", what reason would there be to use Quicklisp at all? If there weren't a few prominent, persistent and stubborn representatives of the community who constantly insist that there is no need for anything more than Quicklisp?So, @svetlyak40wt  I think that it is not you that has to make Ultralisp compatible to yet another "loader+repo" solution, it is the community that has to create such a package loader.I would support any effort that would lead to a Quicklisp-free Common Lisp world, that gives us basically what is already there.#CommonLisp #Ultralisp #Quicklisp
       
 (DIR) Post #AYqlJshbMa0Ww0CeSu by screwtape@mastodon.sdf.org
       2023-08-18T08:40:03Z
       
       0 likes, 1 repeats
       
       @louis side question to this - what do people think about actually packaging lisp packages for their package managers? Like Gentoo's lisp overlay, or the debian package sources. Honestly, it seems nuts to me to have parallel package management for my most serious dependencies on openbsd.This has two upsides. One is preserving your quality expectations from your package source, and it creates common lisp maintainer positions in ports/linux distros@svetlyak40wt @Ardubal @fosskers @awkravchuk
       
 (DIR) Post #AYqlJuIrPXPBtqdvBA by screwtape@mastodon.sdf.org
       2023-08-18T08:45:59Z
       
       0 likes, 0 repeats
       
       @louis @svetlyak40wt @Ardubal @fosskers @awkravchuk @solene was there a discussion about maintaining #openbsd ports of the usual #commonLisp packages?Does anyone know Timo Myyra or Sebastien Marie ?
       
 (DIR) Post #AYqmEnpQ9m8GKC0E6K by svetlyak40wt@fosstodon.org
       2023-08-18T08:59:39Z
       
       0 likes, 0 repeats
       
       @louis @Ardubal @fosskers @awkravchuk Ultralisp hasn't it's own protocol or format. It published releases in Quicklisp and CLPI formats (and hope will support OCICL soon).I don't think it is a good idea to create yet another package manager, tied to API of Ultralisp just to download packages. It is better to add OCICL support to Ultralisp and see which package manager will survive.Of cause, we need to raise visibility of quicklisp-client alternatives at each lisp related conference or meetup
       
 (DIR) Post #AYqpdDo5WKlrhxiNGK by fosskers@emacs.ch
       2023-08-18T09:37:42Z
       
       0 likes, 0 repeats
       
       @louis @svetlyak40wt @Ardubal @awkravchuk To clarify parlance for the readers, there are 3 Quicklisps:Quicklisp-the-packaging-format, which is used by...Quicklisp-the-program, which primarily communicates with...Quicklisp-the-package-registryQuicklisp-the-program has some limitations but is generally simple (if perhaps a bit arcane to set up the first time).Quicklisp-the-package-registry has a bus factor of 1 on its growth, maintenance, and updates. We can all see the lifespan risk this poses. Hence Ultralisp being a great thing.I don't know much about Quicklisp-the-packaging-format... perhaps @svetlyak40wt can comment. I for one would be happy if there were a tool which respected pinned dependency versions, although that would require a package registry to offer multiple versions, like Hackage or Crates.io.
       
 (DIR) Post #AYqr6Q4v4fk67T4eTA by louis@emacs.ch
       2023-08-18T09:54:06Z
       
       0 likes, 0 repeats
       
       @fosskers You summarized that perfectly! Let me hypothesize: First step (diffculty: technically easy, ego-wise very very hard): if Quicklisp abandoned its own package repository, we would have already reached 60+%.Next step (difficulty easy): release a community fork of Quicklisp with HTTPS added: next 20+%.Last step (diffculty: a bit harder): make version pinning easier. But I assume that Ultralisp has already everything to make that happen.So, Zach's biggest contribution to the Common Lisp community (after his historical contribution of actually creating Quicklisp in the first place) would be to officially abandon the Quicklisp repository and open up Quicklisp-the-program for community contributions. @svetlyak40wt @Ardubal @awkravchuk #CommonLisp
       
 (DIR) Post #AYqrTSNkfvIbvOrr4y by fosskers@emacs.ch
       2023-08-18T09:58:18Z
       
       0 likes, 0 repeats
       
       @louis @svetlyak40wt @Ardubal @awkravchuk @screwtape HTTPS being the historical elephant in the room. Why can't it be added here? https://github.com/quicklisp/quicklisp-client
       
 (DIR) Post #AYqreH339eR5xVLITA by galdor@emacs.ch
       2023-08-18T10:00:18Z
       
       0 likes, 0 repeats
       
       @fosskers @louis @svetlyak40wt @Ardubal @awkravchuk @screwtape AFAIK Quicklisp has everything builtin to avoid vendoring (a good thing). So you'd have to implement HTTPS yourself. So add a TLS binding, certificate validation, etc.Just vendoring Drakma would be easier, but then you have to vendor all Drakma dependencies.My life become so much easier when I realized I did not need a Common Lisp package manager.
       
 (DIR) Post #AYqrgRh4Xu4RYR69SK by louis@emacs.ch
       2023-08-18T10:00:42Z
       
       0 likes, 0 repeats
       
       @screwtape Btw. I could very well see that topic filling a full Lispy gopher show.It is so important that we as a community get "unstuck" and find a way forward. I also know that many fear to talk about it publicly to not embarras anyone and diminish Zach's great effort. But how is it that we all agree about the flaws of Quicklisp but not find a way to move on, knowing full well that at this point in time (2023), Quicklisp (as it exists today as a hydra) is actually damaging for Common Lisps adoption rate.#CommonLisp
       
 (DIR) Post #AYqsVmmnsswDjxGAng by galdor@emacs.ch
       2023-08-18T10:09:58Z
       
       0 likes, 0 repeats
       
       @louis @screwtape Not to be a party pooper, but it has nothing to do with people being afraid of offending Zach.Nodbody is avoiding CL because of Quicklisp, it is just part of a constellation of problem; and most of them will never be fixed (including the legal context around the standard and the status of current implementations).Anyone can fork and improve Quicklisp. Anyone can add a different tool (Ultralisp is one). But to get adoption, it needs to solve way more problems than Quicklisp in order to overcome the friction of change.The best improvement in my opinion would be a way for anyone to upload packages, the same way as RubyGems or PyPi. But this is a ton more work than writing a small package loader, so unsurprisingly no one is going to do the job.
       
 (DIR) Post #AYqsWkrUWaL43rulRA by screwtape@mastodon.sdf.org
       2023-08-18T10:09:58Z
       
       0 likes, 0 repeats
       
       @louis actually I think (probably to Alexander's chagrin) there are these skeins:1. DIY (but normally expressed like the golang dependency flamewar years)2. quicklisp is fine3. quicklisp but with tls... ugh4. 2 or 3 but with a different default package source5. BSD ports for a system level asdf location, like debian does6. use the gentoo lisp overlayWhere I think the heart of the argument is (1) tls isn't a lisp standard and (2) the packaging standard is not a virtualisation manager
       
 (DIR) Post #AYqshRg4Bw8vkQfVB2 by louis@emacs.ch
       2023-08-18T10:12:04Z
       
       0 likes, 0 repeats
       
       @galdor @screwtape The best improvement in my opinion would be a way for anyone to upload packages, the same way as RubyGems or PyPi.That is exactly what @svetlyak40wt realized with Ultralisp.org. Which made Quicklisp-the-repo obsolete in my personal view.
       
 (DIR) Post #AYqspBjBNNqKb5olfs by screwtape@mastodon.sdf.org
       2023-08-18T10:13:02Z
       
       0 likes, 0 repeats
       
       @galdor I'm also basically against this. You can guess I was on Pike's side in the golang fiasco. "It's meant to work that way. That's a feature". I think it's impossible to standardise a package source; a package source is the result of the quality control of the package source. Which is a run-time side effect and not a standard.@louis
       
 (DIR) Post #AYqtP7CxepuL0LsUm8 by galdor@emacs.ch
       2023-08-18T10:19:59Z
       
       0 likes, 0 repeats
       
       @screwtape @louis > a package source is the result of the quality control of the package sourceThat one way of looking at it. But this is not what the majority of developers expect. They want access to packages, the end.Ultimately the one using a package is responsible for quality control.
       
 (DIR) Post #AYqtr2yJ0BJBySLFOS by screwtape@mastodon.sdf.org
       2023-08-18T10:14:38Z
       
       0 likes, 0 repeats
       
       @galdor @louis Re: Zach, sure I haven't spoken to him on irc since before the liberachat fiasco, but he seems nice and approachable? Did that change?
       
 (DIR) Post #AYqtr3UD5YpTZPGj7g by galdor@emacs.ch
       2023-08-18T10:25:02Z
       
       0 likes, 0 repeats
       
       @screwtape @louis From what I understand he just does not have time for Common Lisp anymore.I had multiple issues with Planet Lisp, and could not have them fixed. Ended up having to add ugly workarounds to NGINX.
       
 (DIR) Post #AYqzgku7v96QlgrZOC by louis@emacs.ch
       2023-08-18T11:30:18Z
       
       0 likes, 0 repeats
       
       @galdor @screwtape IMHO The Common Lisp Foundation, that still exists, should jump in and offer to take over maintenance of Quicklisp and coordinate efforts to let it evolve.Same goes for (planet.)lisp.org, which is equally off-putting.Does anyone know a person that is a member of the Common Lisp Foundation?
       
 (DIR) Post #AYr0Hw0BceXZtyQSLg by galdor@emacs.ch
       2023-08-18T11:37:05Z
       
       0 likes, 0 repeats
       
       @louis @screwtape I'd love to know more about what this fundation does. In practice, anyone can create any organization using the "Common Lisp" name. It does not give them any authority of any kind: to have efforts to coordinate, one would have to start paying people.Regarding planet.lisp.org, I was thinking about building an alternative (because it's one of the few news websites I read). But I have not found the combination of time and motivation to go through with it. Especially since all Common Lisp related domain names have been taken (and mostly wasted) for years.
       
 (DIR) Post #AYr0vqEaUC4Fb4BtGy by screwtape@mastodon.sdf.org
       2023-08-18T11:44:00Z
       
       0 likes, 0 repeats
       
       @galdor @louis Not sure if I've spoken to anyone (what are their online handles) https://cl-foundation.org/board/index.html
       
 (DIR) Post #AYr6U9o8ibWHv40CtU by louis@emacs.ch
       2023-08-18T12:46:31Z
       
       0 likes, 0 repeats
       
       @galdor @screwtape Especially since all Common Lisp related domain names have been taken (and mostly wasted) for years.The most confounding thing: Private persons owning all these great domains and not putting them to good use. So peculiar.
       
 (DIR) Post #AYr6q0Y1pKkXZTsyP2 by galdor@emacs.ch
       2023-08-18T12:50:29Z
       
       0 likes, 0 repeats
       
       @louis @screwtape Infortunately the entire domain name system is broken due to being a single global namespace that anyone can squat abusively without any recourse.Such is life.
       
 (DIR) Post #AYrRTYDoYmGaO0Z0wC by josemanuel@qoto.org
       2023-08-18T16:41:46Z
       
       0 likes, 0 repeats
       
       @louis I believe we, as a community, could create an equivalent to PHP’s composer for Common Lisp. We don’t need foundations, organisations or committees.ASDF is a very good starting point. It helps define and sort of standardise packages. We only need to improve on it a bit (add proper dependency management, for example) and then create a standard API for Common Lisp repositories where developers can download packages and get info on them (i.e., discoverability), and a script to access that API.@galdor @screwtape
       
 (DIR) Post #AYrWktO9cCTGjAULCq by galdor@emacs.ch
       2023-08-18T17:40:55Z
       
       0 likes, 0 repeats
       
       @josemanuel @louis @screwtape ASDF is not about "packages" (which is not a Common Lisp concept), it is about defining, compiling and loading systems.But yes you can absolutely build a platform to access projects at various locations and download them in a way that is easy to load for ASDF.
       
 (DIR) Post #AYrnMbh1SDMa7GJs6i by screwtape@mastodon.sdf.org
       2023-08-18T20:46:05Z
       
       0 likes, 0 repeats
       
       @galdor /not// (eg the standard has in-package which makes package-name the current package)@josemanuel I could see my way to supporting this as a way to download packages via ports or ebuilds (or lispi's nix), which is still my favourite solution. I think system distribution needs to be separate to ASDF.@louis @lispi314
       
 (DIR) Post #AYrqNUt2Xolj9w3a1A by josemanuel@qoto.org
       2023-08-18T21:20:48Z
       
       0 likes, 0 repeats
       
       @screwtape To me, ASDF should be used similarly to composer.json and composer.lock files for PHP, as a way to define systems and its dependencies. Of course, ASDF already does that, but I miss certain functionality, like declaring which versions of which dependencies work best, or at all, with one’s own system (I hope I’m using the right terminology this time) and more metadata in order to help with discoverability on the distribution platform. Also diferentiating between dependencies in development, like test suites, and dependencies in production.Right now (please correct me if I’m wrong), ASDF uses these metadata mostly as an aid to load systems, but not in the way I’m proposing, as a way of identifying packages and differentiating between versions.A different script could then download, install and maybe even load those systems.@galdor @louis @lispi314
       
 (DIR) Post #AYrqtw2p6kUmed6Hxo by screwtape@mastodon.sdf.org
       2023-08-18T21:26:35Z
       
       0 likes, 0 repeats
       
       @josemanuel ASDF is fairly deep, such as defining operations like the typical 'TEST-OP or custom ones. However it only allows specifying minimum versions of packages, not pinning versions. Because there is so much to ASDF, and it packages with UIOP, I think adding the burden of package distribution has to be placed somewhere else (and my intuition is that package distribution on an operating system is the concern of that operating system (distribution))@galdor @louis @lispi314
       
 (DIR) Post #AYrtD2sK8THJFXQgym by josemanuel@qoto.org
       2023-08-18T21:52:31Z
       
       0 likes, 0 repeats
       
       @screwtape  the burden of package distribution has to be placed somewhere elseThat’s what I said at the beginning. System distribution should be derived to repositories that all work according to a standard API. That way, we could have a decentralised way to download systems and get info on them.  package distribution on an operating system is the concern of that operating systemI’m not sure I’m understanding this right. Are you suggesting that CL systems be packaged and distributed by OS maintainers?@galdor @louis @lispi314
       
 (DIR) Post #AYrtm7MzPtYpKCUsbY by screwtape@mastodon.sdf.org
       2023-08-18T21:58:44Z
       
       0 likes, 0 repeats
       
       @josemanuel oh, I thought you meant it should be packaged with asdf.Yeah, my thought was that packagers could package package packages similar to the practice at the gentoo lisp overlayhttps://www.cliki.net/Gentoosince I think the problem of how to get lisp packages onto the OS or linux distribution is a problem of the OS or linux distribution.openbsd is a bit of a special case, because openbsd has special security concerns in it (most mounts not wxallowed, pledge, ..@galdor @louis @lispi314
       
 (DIR) Post #AYrxFciEGSQGnCC0BM by pkw@mastodon.sdf.org
       2023-08-18T22:37:43Z
       
       0 likes, 0 repeats
       
       @galdor @screwtape @louis @lispi314 @josemanuel If you want to bootstrap people writing packages, slackbuilds.org and slackware is a decent anecdote.They had a community site separate from slackware proper where you submitted your package.  A package was just some meta-data files and a shell script, but it followed the same format as slackware proper. (so that path to becoming official was easy.)The nature of using slackware with slackbuilds.org was that you had to be pretty techy anyways.
       
 (DIR) Post #AYrxTcCKyQf9Fdwmyu by awkravchuk@functional.cafe
       2023-08-18T22:40:18Z
       
       0 likes, 0 repeats
       
       @josemanuel OCICL appears to be the step in that direction, it looks fairly easy to setup your own OCI repo. But then again, there are at least two utilities to set up Quicklisp dist of your own.@louis @galdor @screwtape
       
 (DIR) Post #AYrxcZy2dVaowJXDtI by josemanuel@qoto.org
       2023-08-18T22:41:57Z
       
       0 likes, 0 repeats
       
       @pkw Just curious: why the past tense? Both Slackware and SBo still exist and are very active.@galdor @screwtape @louis @lispi314
       
 (DIR) Post #AYryJEgRe287Nge1BI by pkw@mastodon.sdf.org
       2023-08-18T22:49:10Z
       
       0 likes, 0 repeats
       
       @josemanuel @galdor @screwtape @louis @lispi314 Hah!Guess who wrote the first sbcl slackbuild :P  I forgot all about that till just now :)
       
 (DIR) Post #AYryi5uDPxmROdwH5c by josemanuel@qoto.org
       2023-08-18T22:54:09Z
       
       0 likes, 0 repeats
       
       @pkw I have my own slackbuild for sbcl. (I shouldn’t really say “my own.” It is based on the one on SBo with maybe four or five lines added or changed.) Thanks a lot for your work!@galdor @screwtape @louis @lispi314
       
 (DIR) Post #AYrz5j2i4c3JREBFDs by pkw@mastodon.sdf.org
       2023-08-18T22:58:22Z
       
       0 likes, 0 repeats
       
       @josemanuel @galdor @screwtape @louis @lispi314 But that shows the point. Once you start using SBo it is easy to do your own stuff with it, but still be using the "system" package tools.With a smaller user base and especially being slightly techy.  Put more onus on them to retrieve and build, and have the system just responsible for bookkeeping.Again that is just the anecdote, i don't know enuf about common lisp/ASDF to suggest it, thanks for good friday mastodon activity :)