Skip to content

Instantly share code, notes, and snippets.

@budRich
Created November 28, 2021 18:35
Show Gist options
  • Save budRich/f57964c0a72fe48302c309c62c2e9125 to your computer and use it in GitHub Desktop.
Save budRich/f57964c0a72fe48302c309c62c2e9125 to your computer and use it in GitHub Desktop.
# Maintainer: bud
# Contributor: bud
pkgname=ucb-scheme
pkgver=4.0.1
pkgrel=3
pkgdesc="UCB Scheme - a modified version of STk 4.0.1"
arch=('x86_64')
url="http://wla.berkeley.edu/~scheme/"
license=('custom')
depends=()
makedepends=('rsync')
options=('emptydirs')
source=(
"http://wla.berkeley.edu/~scheme/precompiled/Linux/STk-4.0.1-ucb1.3.6.i386.rpm"
"http://wla.berkeley.edu/~scheme/source/src/stk/COPYRIGHTS"
)
md5sums=('452daeac1339dc737f798f33a057f22f'
'03a8ad417919bdbc70ff3f2cda247705')
package() {
rsync -ruDq $srcdir/usr $pkgdir
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" COPYRIGHTS
cd "$pkgdir"
mkdir usr/bin 2> /dev/null; mv usr/local/bin/* usr/bin; rm -rf usr/local/bin
}
@budRich
Copy link
Author

budRich commented Nov 28, 2021

This will install UCB Scheme, a modified version of STk.
The only reason (and it is a quite good reason) one would do this is to be able to take the CS 61A (2011) course.
The course is recorded and available in video on archive.org.

I wasn't able to build the program from source, but this PKGBUILD will use the prebuilt rpm package. This have the disadvantage that it will install everything under the prefix /usr/local.

Start the program with stk-simply to get access to all the custom UCB functions (like first).


I found this repo where someone explains how to build the source on ubuntu, but i couldn't get it working on arch, or i didn't manage to install the old gcc48, gcc48-multilib packages needed. If someone finds a way to make this in to a proper build on Arch it would be really nice.
https://github.com/bzliu94/cs61a_fa07

https://inst.eecs.berkeley.edu//~scheme/
https://teachyourselfcs.com/#programming
https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter

Copy link

ghost commented Mar 8, 2024

(In case someone is struggling with this)
It is important to note that some 32bit libs are required for this to work, most of which are in the [multilib] repository.
Here is the list of Arch packages that I installed to get it to work:
lib32-libsm
lib32-libx11
lib32-glibc
lib32-gcc-libs
lib32-ncurses
lib32-zlib

P.S. the multilib repo must be enabled in /etc/pacman.conf to be accessible through pacman.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment