# Distro Packagers: Introductions

**URL:** <https://racket.discourse.group/t/distro-packagers-introductions/2484>\
**Category:** Distro Packagers\
**Created:** [November 9, 2023, 5:21pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484 "2023-11-09T17:21:35Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)\
**Post date:** [November 9, 2023, 5:21pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/1 "2023-11-09T17:21:35Z")

</div>

If you are a distro packager, feel free to introduce yourself in a reply to this post.

To get things started, I'm Philip, and I maintain the [Guix](https://guix.gnu.org) packages [`racket`](https://packages.guix.gnu.org/packages/racket), [`racket-minimal`](https://packages.guix.gnu.org/packages/racket-minimal), and [`zuo`](https://packages.guix.gnu.org/packages/zuo), as well as [`chez-scheme`](https://packages.guix.gnu.org/packages/chez-scheme). I'm also a long-time user of Debian and downstream distros: I'm writing this post on Debian with Guix as a "user space" package manager. In the past, I've installed Racket from Debian packages (including the [Ubuntu PPA](https://launchpad.net/~plt/+archive/ubuntu/racket)) and from Homebrew.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [November 9, 2023, 5:34pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/2 "2023-11-09T17:34:14Z")

</div>



---

<div class="post-metadata">

**Author:** ![bremner](https://avatars.discourse-cdn.com/v4/letter/b/aca169/32.png) [@bremner](https://racket.discourse.group/u/bremner)\
**Post date:** [November 10, 2023, 8:55pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/3 "2023-11-10T20:55:20Z")

</div>

Philip McGrath via Racket Discourse  
[notifications@racket.discoursemail.com](mailto:notifications@racket.discoursemail.com) writes:

> # Introductions
> 
> If you are a distro packager, feel free to introduce yourself in a reply to this post.

I'm the maintainer of the Debian Racket packages (I think some of the  
packaging is shared with the PPA these days).

I use racket for university (CS) teaching and (PL / Mathematical Optimization) research.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 11, 2023, 7:00pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/4 "2023-11-11T19:00:15Z")

</div>

Hi there! I'm ... not a distro manager.

But I _am_ curious to know whether there are things that I can do as Racket release manager to make your lives easier. Specifically, I think that all of you need to be notified when a new release comes out, but there are also interdependencies; e.g., I think the ubuntu PPA is downstream of the debian package? I'm not quite sure why that is or how that works.

Anyhow, if you can think of a way for me to make y'all's lives easier (I mean aside from doing your laundry or taking your car to the mechanic) let me know.

---

<div class="post-metadata">

**Author:** ![bremner](https://avatars.discourse-cdn.com/v4/letter/b/aca169/32.png) [@bremner](https://racket.discourse.group/u/bremner)\
**Post date:** [November 12, 2023, 4:44am UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/5 "2023-11-12T04:44:54Z")

</div>

John Clements via Racket Discourse  
[notifications@racket.discoursemail.com](mailto:notifications@racket.discoursemail.com) writes:

> Hi there! I'm ... not a distro manager.
> 
> But I _am_ curious to know whether there are things that I can do as  
> Racket release manager to make your lives easier. Specifically, I  
> think that all of you need to be notified when a new release comes  
> out, but there are also interdependencies; e.g., I think the ubuntu  
> PPA is downstream of the debian package? I'm not quite sure why that  
> is or how that works.

I think it's more of a collaboration at this point. As far as I know the  
PPA started with the (slightly eccentric) Debian packaging, but since  
then Asumu feeds back the occasional fix to Debian as well. Asumu can  
correct me, but I don't think he waits for me to do a Debian upload  
before updating the PPA (probably just as well since I am sometimes a  
bit slow).

I don't think anything special is needed for "regular" releases, but for  
big changes like changing the build system, or changing the default to Chez  
Scheme, some kind of pre-release snapshots to test can be helpful.

One place where Debian probably pushes things a bit farther is in  
supporting non AMD64/X86 architectures. We currently support 8  
architectures fully [1](https://buildd.debian.org/status/package.php?p=racket&suite=sid), with riscv64 being in the process of  
bootstrapping. I know shamefully little about Racket CI processes, but  
anything to test "exotic" architectures would be welcome.

---

<div class="post-metadata">

**Author:** ![xgqt](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/xgqt/32/592_2.png) [@xgqt](https://racket.discourse.group/u/xgqt)\
**Post date:** [November 12, 2023, 8:00am UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/6 "2023-11-12T08:00:30Z")

</div>

Hello!

I am the main maintainer of Racket in the Gentoo's Scheme ([Project:Scheme - Gentoo wiki](https://wiki.gentoo.org/wiki/Project:Scheme)) project.  
Me and tgbugs were also doing stuff with packaging individual racket packages in Gentoo, mostly in the gentoo-racket-overlay ([https://gentoo-racket.gitlab.io/](https://gentoo-racket.gitlab.io/)) but recently I had not have time for Racket since I was crazy busy taking care of .NET in Gentoo.

In Gentoo we do not have such advanced bootstrap split as in Guix because we also have to take account that normal users will be building from source so up until now I was not interested in splitting Racket bc and cs. But I would be interested if we can have a split between Racket and Zuo in Gentoo

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 13, 2023, 7:04pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/7 "2023-11-13T19:04:37Z")

</div>

Hey, here's another question. We're currently in the "doc build" part of the release process; everything is done, but the official release is more or less embargoed pending the update of the online docs, which usually takes about 3 days total. Would it be useful to share the URLs of the fully-built and downloadable packages with y'all so you could get ahead of the curve on preparing downstream releases?

FWIW, bundles are currently available at URLs that look like

```scheme
  https://mirror.racket-lang.org/installers/8.11/racket-8.11-aarch64-macosx-cs.dmg
  https://mirror.racket-lang.org/installers/8.11/racket-8.11-src.tgz
  et al.

```

---

<div class="post-metadata">

**Author:** ![capfredf](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/capfredf/32/935_2.png) [@capfredf](https://racket.discourse.group/u/capfredf)\
**Post date:** [November 14, 2023, 5:26pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/8 "2023-11-14T17:26:33Z")

</div>

Hello package maintainer fellows!

Though 99% of the time I use the Racket binary I built from source,

I am the main maintainer of the Racket package for openSUSE tumbleweed. I've been wanting to add the minimal-racket package to TW, but I haven't had time yet.

I also maintain the Racket flatpak. There are a few issues about using a sandbox Racket. One of them is you can't do `raco setup`. Also, you can't install a `system` racket package via raco.

---

<div class="post-metadata">

**Author:** ![xgqt](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/xgqt/32/592_2.png) [@xgqt](https://racket.discourse.group/u/xgqt)\
**Post date:** [November 14, 2023, 5:50pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/9 "2023-11-14T17:50:49Z")

</div>

> There are a few issues about using a sandbox Racket. One of them is you can't do `raco setup`. Also, you can't install a `system` racket package via raco.

What is the issue with flatpak? That it wants to write to user or system dir? One can workaround that by setting PLTUSERHOME to location **within** racket flatpak dir... if that is possible. 😃

---

<div class="post-metadata">

**Author:** ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)\
**Post date:** [November 15, 2023, 4:50pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/10 "2023-11-15T16:50:52Z")

</div>

> [@jbclements](#):
>
> Hey, here's another question. We're currently in the "doc build" part of the release process; everything is done, but the official release is more or less embargoed pending the update of the online docs, which usually takes about 3 days total. Would it be useful to share the URLs of the fully-built and downloadable packages with y'all so you could get ahead of the curve on preparing downstream releases?

I find it useful to know when releases reach this point. I always follow the "Racket X.YY Release Thread" in Internals, so a note there would work for me.

> [@jbclements](#):
>
> FWIW, bundles are currently available at URLs that look like
> 
> ```scheme
> https://mirror.racket-lang.org/installers/8.11/racket-8.11-aarch64-macosx-cs.dmg
> https://mirror.racket-lang.org/installers/8.11/racket-8.11-src.tgz
> et al.
> 
> ```

Guix gets the sources using the Git tags (partially for idiosyncratic reasons), so this isn't directly relevant to me, but I vaguely remember a recommendation at one point to prefer `download.racket-lang.org` to `mirror.racket-lang.org`—but I don't remember why. Maybe there was context related to [core: use download.racket-lang.org instead of mirror.racket-lang.org · Bogdanp/setup-racket@8050146 · GitHub](https://github.com/Bogdanp/setup-racket/commit/805014662b9fc98a2715d7491dfa7bbf3f959bf6)?

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 15, 2023, 5:31pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/11 "2023-11-15T17:31:56Z")

</div>

These URLs are probably preferred for essentially the same reason that they don't work until the release is finalized; I believe these links go through "our" website, giving us better control over what they point to. That's a 50% answer at best, my apologies, I'm headed out the door.

---

<div class="post-metadata">

**Author:** ![capfredf](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/capfredf/32/935_2.png) [@capfredf](https://racket.discourse.group/u/capfredf)\
**Post date:** [November 18, 2023, 2:39pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/12 "2023-11-18T14:39:31Z")

</div>

Yes, `raco setup` potentially writes `.zo` files, but flatpak directories are read-only. Similarly for `raco pkg install -i`.

---

<div class="post-metadata">

**Author:** ![xgqt](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/xgqt/32/592_2.png) [@xgqt](https://racket.discourse.group/u/xgqt)\
**Post date:** [November 18, 2023, 5:45pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/13 "2023-11-18T17:45:55Z")

</div>

Right, but I do not see why you would ever have to use "install" scope...? I think in doc build case racket will reference bot installation and user scope docs.

---

<div class="post-metadata">

**Author:** ![zyga](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/zyga/32/585_2.png) [@zyga](https://racket.discourse.group/u/zyga)\
**Post date:** [November 30, 2023, 7:02pm UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/14 "2023-11-30T19:02:06Z")

</div>

Hello.

My name is Zygmunt Krynicki. I'm the maintainer of the racket _snap_ package. The package is maintained at [zygoon / racket-snap · GitLab](https://gitlab.com/zygoon/racket-snap)

I've just refreshed it to build 8.11.1 and resolved a long-standing bug related to testing the non-prebuilt packages that actually relied on font metrics.

The snap package is curious as packages go, as it runs racket inside a sandbox. There have been some ideas to run racket as a "classic" snap, that runs outside of the sandbox. I've started looking into that. I think that ideally racket would have two snap-store _tracks_ so that people can choose if they want to use the strictly or classically confined snap. The advantage of strict confinement is much better cross-distro support. The disadvantage for open-ended packages such as runtimes and IDEs is integration with other tools is purposefully difficult or impossible.

Apologies for a late start, I've been particularly busy lately. Thank you for the invite @spdegabrielle

---

<div class="post-metadata">

**Author:** ![juhp](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/juhp/32/1815_2.png) [@juhp](https://racket.discourse.group/u/juhp)\
**Post date:** [June 2, 2024, 8:58am UTC](https://racket.discourse.group/t/distro-packagers-introductions/2484/15 "2024-06-02T08:58:34Z")

</div>

I am the Fedora package maintainer - just saying hi. 👋  
Honestly I am not using Racket much, so if anyone wants to help feel free to reach out and talk to me.  
At least finally Fedora is now updated to version 8.12+.
