Revert "nextcloudPackages: Revamp package generation script"

This reverts commit 4349a61a71.
This commit is contained in:
Robert Schütz 2024-08-01 03:49:12 -07:00
parent 1ad15c918a
commit b8a80e15e5
2 changed files with 5 additions and 53 deletions

View File

@ -19,7 +19,7 @@ let packages = self:
appName = pname;
appVersion = data.version;
license = appBaseDefs.${pname};
inherit (data) url hash description homepage;
inherit (data) url sha256 description homepage;
}) {};
} // lib.mapAttrs (type: pkgs:

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#! nix-shell -I nixpkgs=../../../.. -i bash -p jq gnused curl
#! nix-shell -I nixpkgs=../../../.. -i bash -p nc4nix jq
set -e
set -u
@ -8,55 +8,7 @@ set -x
export NEXTCLOUD_VERSIONS=$(nix-instantiate --eval -E 'import ./nc-versions.nix {}' -A e)
APPS=$(jq -r 'keys|.[]' nextcloud-apps.json | sed -z 's/\n/,/g;s/,$/\n/')
APPS=`cat nextcloud-apps.json | jq -r 'keys|.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
for v in ${NEXTCLOUD_VERSIONS//,/ }; do
# Get major version and back up previous major version apps file
v=$(sed -e 's/^"//' -e 's/"$//' <<<"$v")
MAJOR=${v%.*.*}
MAJOR_FILE="$MAJOR".json
mv "$MAJOR_FILE" "$MAJOR_FILE".bak
# Download current apps file from Nextcloud's official servers
APPS_PER_VERSION=${v}.json
curl "https://apps.nextcloud.com/api/v1/platform/${v}/apps.json" -o "$APPS_PER_VERSION"
# Add a starting bracket to the apps file for this version
echo '{' >"$MAJOR_FILE".tmp
for a in ${APPS//,/ }; do
echo "Fetching $a"
# Ensure the app exists in the file
if [ "$(jq -r ".[] | select(.id == \"${a}\")" "$APPS_PER_VERSION")" != "" ]; then
# Get all of our variables
VERSION=$(jq -r ".[] | select(.id == \"${a}\") | .releases[0].version" "$APPS_PER_VERSION")
URL=$(jq -r ".[] | select(.id == \"${a}\") | .releases[0].download" "$APPS_PER_VERSION")
HASH=$(nix store prefetch-file --json --hash-type sha256 --unpack "$URL" | jq -r .hash)
HOMEPAGE=$(jq -r ".[] | select(.id == \"${a}\") | .website" "$APPS_PER_VERSION")
DESCRIPTION=$(jq ".[] | select(.id == \"${a}\") | .translations.en.description" "$APPS_PER_VERSION")
# Add all variables to the file
cat >>"$MAJOR_FILE".tmp <<EOF
"${a}": {
"hash": "$HASH",
"url": "$URL",
"version": "$VERSION",
"description": $DESCRIPTION,
"homepage": "$HOMEPAGE"
},
EOF
# If we can't find the app, then don't try to process it.
else
true
fi
done
# clean up by removing last trailing comma
sed -i '$s/,$//' "$MAJOR_FILE".tmp
# Add final closing bracket
echo '}' >>"$MAJOR_FILE".tmp
# Beautify file
jq '.' "$MAJOR_FILE".tmp >"$MAJOR_FILE"
# Remove the temporary files
rm "$APPS_PER_VERSION"
rm "$MAJOR_FILE".tmp
rm "$MAJOR_FILE".bak
done
nc4nix -apps $APPS
rm *.log