Related update: https://aur.archlinux.org/packages/idris2/#comment-826542
Chez is not "standard" scheme, and there will never be one. Users should specify the scheme
based on their choice.
Git Clone URL: | https://aur.archlinux.org/chez-scheme.git (read-only, click to copy) |
---|---|
Package Base: | chez-scheme |
Description: | Compiler and run-time system for the language of the Revised^6 Report on Scheme (R6RS), with numerous extensions. |
Upstream URL: | https://github.com/cisco/ChezScheme |
Keywords: | Scheme |
Licenses: | Apache-2.0 |
Conflicts: | chez-scheme-git, petite-chez-scheme |
Replaces: | chez-scheme-git, petite-chez-scheme |
Submitter: | dgeibi |
Maintainer: | taekyung (jaseemabid, GunpowderGuy, CodingCellist) |
Last Packager: | CodingCellist |
Votes: | 44 |
Popularity: | 0.092170 |
First Submitted: | 2016-05-22 13:58 (UTC) |
Last Updated: | 2024-11-21 18:29 (UTC) |
Related update: https://aur.archlinux.org/packages/idris2/#comment-826542
Chez is not "standard" scheme, and there will never be one. Users should specify the scheme
based on their choice.
@joshu, apologies, it seems the change you proposed in your original comment is "more correct" from looking into other Scheme implementations (ypsilon-scheme is invoked as ypsilon
, scm-scheme as scm
, chibi-scheme as chibi
, etc.). So invoking chez-scheme as chez
or chez-scheme
would seemingly be more consistent with other implementations.
Unfortunately, Idris2 seems to rely on chez-scheme being called scheme
beyond what is configurable in the PKGBUILD, which complicates things a bit.
@taekyung, yes there doesn't seem to be an ideal solution. Both have their ups and down, but having a clash in the binary names is definitely not desirable. Based on the pattern above, maybe your change to chez-scheme
was "correct". If you don't want to constantly be changing things around, however, that's fair enough. Sorry for confusing things. I realise maintaining a package can be a lot of work, especially when other packages rely on it.
@joshu, @CodingCellist, thank you for your input, and sorry for making inconveniences and confusion about this package as a maintainer. Apparently, changing PKGBUILD file in idris2 package doesn't fix the problem. So I think it is better to revert the binary name to scheme
in order for making no more confusion at the moment.
However would agree on @joshu's comment that having the same binary name for MIT and chez schemes is not desirable at all, given that scheme programmers tend to install many implementations on their computer for testing, etc.
@CodingCellist, it's an interesting point. One could argue that it's a bigger issue to have both MIT and chez installing a binary with a common name (are other implementations also doing the same? I only have gambit installed and its binary is gambitc
). It looks like it's straightforward to patch idris2's PKGBUILD to use a different binary name, and loko would require a change to its makefile.
Anyway, I have no preference personally for how this package is installed, so for anyone else reading:
@taekyung, the renaming in the latest release breaks the packages listed under "Required by". They expect, both at compile-time and run-time, to be able to invoke scheme
as the executable for Chez Scheme.
Although I appreciate the conflicts with MIT/GNU Scheme, if packages which list this as a requirement still break when it is installed, I would argue that is a more serious concern than the conflict between two packages providing alternative Scheme implementations.
If nothing else, the GitHub issue that @joshu links to does mention that Chez Scheme has been referred to as scheme
since before its release in 1985 (and as such precedes MIT/GNU Scheme chronologically). The discussion in the GitHub issue seems to suggest anyone requiring a different executable name to install from source, specifying InstallSchemeName
, which I would prefer rather than the package deciding this.
Chez Scheme 9.5.4 was released earlier this week. Here is a patch:
diff --git a/PKGBUILD b/PKGBUILD
index 19bba36..d7577d9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@
# Maintainer: Taekyung Kim <Taekyung.Kim.Maths@gmail.com>
pkgname=chez-scheme
-pkgver=9.5.2
-pkgrel=3
+pkgver=9.5.4
+pkgrel=1
pkgdesc="Chez Scheme is a compiler and run-time system for the language of the Revised^6 Report on Scheme (R6RS), with numerous extensions."
arch=(i686 x86_64)
url="https://github.com/cisco/ChezScheme"
@@ -13,7 +13,7 @@ depends=('ncurses' 'libx11' 'libutil-linux')
conflicts=('petite-chez-scheme' 'chez-scheme-git')
replaces=('petite-chez-scheme' 'chez-scheme-git')
source=("https://github.com/cisco/ChezScheme/releases/download/v$pkgver/csv$pkgver.tar.gz")
-sha1sums=('2d07be6aa99e66365864d96f538e12d3c5098957')
+sha256sums=('e5baa3702670542c734a32ad5e91ddbc3477a5b2079278ffb86fd58fd6c5079f')
_archivename=csv$pkgver
build() {
I got a conflict with mit-scheme, whose executable is at /usr/bin/scheme
.
Fixed by adding InstallSchemeName=chez-scheme
to the make install
call in package()
.
as noted by Dybvig here
@owari and @ryn1x, thank you for your comments. Actually, x(org)proto
is already in the dependency of libx11
and the upstream building guide do not say anything about x(org)proto
but libx11
, it is okay to remove it from make-dependency completely. Also, as parts of the base-devel
package, binutils
and make
are not recommended to be in makedepends. So I also remove them. Thanks.
Please update xproto
to xorgproto
in PKGBUILD
makedepends=('binutils' 'make' 'ncurses' 'libx11' 'xorgproto')
Pinned Comments