Revert "nextcloudPackages: Revamp package generation script"
This reverts commit 4349a61a71.
This commit is contained in:
@@ -19,7 +19,7 @@ let packages = self:
|
|||||||
appName = pname;
|
appName = pname;
|
||||||
appVersion = data.version;
|
appVersion = data.version;
|
||||||
license = appBaseDefs.${pname};
|
license = appBaseDefs.${pname};
|
||||||
inherit (data) url hash description homepage;
|
inherit (data) url sha256 description homepage;
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
} // lib.mapAttrs (type: pkgs:
|
} // lib.mapAttrs (type: pkgs:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env nix-shell
|
#!/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 -e
|
||||||
set -u
|
set -u
|
||||||
@@ -8,55 +8,7 @@ set -x
|
|||||||
|
|
||||||
export NEXTCLOUD_VERSIONS=$(nix-instantiate --eval -E 'import ./nc-versions.nix {}' -A e)
|
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
|
nc4nix -apps $APPS
|
||||||
# Get major version and back up previous major version apps file
|
rm *.log
|
||||||
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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user