Package Details: nand2tetris 2.6-5

Git Clone URL: https://aur.archlinux.org/nand2tetris.git (read-only, click to copy)
Package Base: nand2tetris
Description: Software suite accompanying Nand2Tetris course.
Upstream URL: http://www.nand2tetris.org/
Licenses: GPL
Submitter: chadvoegele
Maintainer: chadvoegele
Last Packager: chadvoegele
Votes: 6
Popularity: 0.000000
First Submitted: 2014-01-04 19:46 (UTC)
Last Updated: 2021-09-27 03:27 (UTC)

Dependencies (2)

Required by (0)

Sources (9)

Latest Comments

1 2 3 4 Next › Last »

oconnor663 commented on 2023-02-23 07:50 (UTC)

I've created a GitHub mirror of the course software here: https://github.com/oconnor663/nand2tetris

Here's an example of updating this package to use that mirror, which I think makes the packaging process reliable and fully automatic: https://github.com/oconnor663/nand2tetris_aur/commit/b53a3001be22a591e499b8792467ae91e4eca2e3

Please let me know if that patch needs any tweaks.

chungy commented on 2021-12-14 20:38 (UTC)

It doesn't seem apparent to me that the prior source was the same as the explicit export URL I suggested, which still works.

In-browser URLs are subject to change, but this one might have a bigger shot shot at remaining stable.

chadvoegele commented on 2021-11-26 13:27 (UTC) (edited on 2021-11-26 13:27 (UTC) by chadvoegele)

@chungy This package used to use something very similar to what you are suggesting but we were having problems with the url changing. See [1] for example and the comment from @cweagans [2].

[1] https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=nand2tetris&id=5e3a5454d9c51abbb70ce16b29c9cf8f11ff0606

[2] https://aur.archlinux.org/packages/nand2tetris/#comment-675503

chungy commented on 2021-10-05 17:51 (UTC)

The Google drive source should be downloadable automatically:

diff --git a/.SRCINFO b/.SRCINFO
index ed38e9b..5ef4c25 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,13 @@
 pkgbase = nand2tetris
    pkgdesc = Software suite accompanying Nand2Tetris course.
    pkgver = 2.6
-   pkgrel = 5
+   pkgrel = 6
    url = http://www.nand2tetris.org/
    arch = any
    license = GPL
    makedepends = unzip
    depends = java-runtime
+   source = nand2tetris.zip::https://drive.google.com/uc?export=download&id=1xZzcMIUETv3u3sdpM_oTJSTetpVee3KZ
    source = n2tCPUEmulator.run
    source = n2tVMEmulator.run
    source = n2tJackCompiler.run
@@ -16,6 +17,7 @@ pkgbase = nand2tetris
    source = n2tVMEmulator.desktop
    source = n2tHardwareSimulator.desktop
    source = n2tAssembler.desktop
+   sha256sums = d2cb160ad64ccb792158907d720976fb4fef8b8610bf9160dca38368153edbd9
    sha256sums = f93e4c08ed6af6a687f8d144598f998a19ac544d9fe6da05c162932d00f6a592
    sha256sums = f05fbcd9d86e7151c2e16682792586fd51086fa4864695ff8600256c15eb83d4
    sha256sums = 838dda39a97694ef1635ebbb0f6aa850623e281f70ef1e699930ee72e4934361
diff --git a/PKGBUILD b/PKGBUILD
index 6dea5d8..c80afa9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,14 +3,16 @@

 pkgname=nand2tetris
 pkgver=2.6
-pkgrel=5
+pkgrel=6
 pkgdesc="Software suite accompanying Nand2Tetris course."
 arch=('any')
 url="http://www.nand2tetris.org/"
 license=('GPL')
 depends=('java-runtime')
 makedepends=('unzip')
-source=(n2tCPUEmulator.run
+_nand2tetris_googledriveid=1xZzcMIUETv3u3sdpM_oTJSTetpVee3KZ
+source=("nand2tetris.zip::https://drive.google.com/uc?export=download&id=${_nand2tetris_googledriveid}"
+        n2tCPUEmulator.run
         n2tVMEmulator.run
         n2tJackCompiler.run
         n2tHardwareSimulator.run
@@ -18,11 +20,9 @@ source=(n2tCPUEmulator.run
         n2tCPUEmulator.desktop
         n2tVMEmulator.desktop
         n2tHardwareSimulator.desktop
-        n2tAssembler.desktop
-)
-_nand2teris_source="nand2tetris.zip"
-_nand2teris_url="https://www.nand2tetris.org/software"
-sha256sums=('f93e4c08ed6af6a687f8d144598f998a19ac544d9fe6da05c162932d00f6a592'
+        n2tAssembler.desktop)
+sha256sums=('d2cb160ad64ccb792158907d720976fb4fef8b8610bf9160dca38368153edbd9'
+            'f93e4c08ed6af6a687f8d144598f998a19ac544d9fe6da05c162932d00f6a592'
             'f05fbcd9d86e7151c2e16682792586fd51086fa4864695ff8600256c15eb83d4'
             '838dda39a97694ef1635ebbb0f6aa850623e281f70ef1e699930ee72e4934361'
             '38884a770a7535e35363ffffb8918a13ff83f67281c71e42b488f645608564cc'
@@ -32,22 +32,6 @@ sha256sums=('f93e4c08ed6af6a687f8d144598f998a19ac544d9fe6da05c162932d00f6a592'
             '054d1883e9eeaef754d9c4f15868d3722c08672a34a8d7dcdb242620ed22ba51'
             '2cd1b2c93dd68de97b7c3d9504dc850f4b60774065a70aa8496ba82c7889dc89')

-prepare() {
-  if [[ ! -f "${_nand2teris_source}" ]]
-  then
-    echo "Download ${_nand2teris_source} from ${_nand2teris_url} and place in ${srcdir}"
-    exit 1
-  fi
-
-  echo "d2cb160ad64ccb792158907d720976fb4fef8b8610bf9160dca38368153edbd9  ${_nand2teris_source}" | sha256sum -c --quiet
-  if [[ ! $? -eq 0 ]]
-  then
-    echo "Integrity check failed for ${_nand2teris_source}"
-  fi
-
-  unzip ${_nand2teris_source}
-}
-
 package() {
   cd ${srcdir}/${pkgname}

abrahammurciano commented on 2020-10-24 19:16 (UTC)

@chadvoegele idk about @mar04, but my "workflow" is to use yay. So every so often I upgrade my machine with yay, and if you update the pkgrel, it tries to install nand2tetris again because it sees that the pkgrel is newer. So I just tried to upgrade and I got the "error" telling me to download from nand2tetris.org. Therefore it didn't upgrade that package, and nand2tetris will always have a pending update until I download the source again and place it in srcdir. Please bump down the pkgrel, or everyone with this package will always see there is a pending update, even though they have no need to install it again.

chadvoegele commented on 2020-10-24 12:06 (UTC)

@mar04, sure. Curious what is your workflow? I've always used AUR manually, so would have just not updated in this case.

mar04 commented on 2020-10-24 10:20 (UTC)

Please don't bump pkgrel for such trivial changes - there is no need for existing users to update.

chadvoegele commented on 2020-10-24 02:54 (UTC)

Thanks, made your suggested update.

abrahammurciano commented on 2020-10-23 14:19 (UTC)

Amazing, thank you. There is one more thing you might consider. The message printed says to download the "source" however, if you go to the nand2tetris site, there's the standard zip file to download, and further down at the bottom you can also download the actual source. This may confuse users. At first I thought the PKGBUILD was requesting the actual source, but when I checked the PLKGBUILD I saw it was expecting a file with the name nand2tetris.zip. Perhaps we can make this clearer in the message by saying something like "... download the nand2tetris.zip file from nand2tetris.org and move it into $srcdir"

chadvoegele commented on 2020-10-23 03:14 (UTC)

Hi abrahammurciano, thanks for the suggestions! I changed the upstream url to just the homepage. That should be more robust to url changes. As you recommended, I changed to $srcdir.