Skip to content

Instantly share code, notes, and snippets.

@mattpolzin
Created November 24, 2023 05:09
Show Gist options
  • Save mattpolzin/cd72a2804a77b83ce51018a396826334 to your computer and use it in GitHub Desktop.
Save mattpolzin/cd72a2804a77b83ce51018a396826334 to your computer and use it in GitHub Desktop.
Transitive dependency outputs
idris2 = idris2
idris-adds-version = 0.3.0
idris-json-version = 0.5.0
idris-json-hash = 2e54a37ed3c35c2d12c8927c923ad253355812a8
idris-elab-util-version = 0.6.0
idris-elab-util-hash = 2fc2d188640ce6822b5e250db73b62f5a952ca4d
idris-parser-version = 0.1.0
idris-parser-hash = 0fde36cf11c12a61edcfe09d585c5a60426bc706
.PHONY: all build-parser-json clean
all: build-parser-json
clean:
rm -rf ./depends
rm -rf ./build
rm -rf ./idris2-parser
build/deps/depends/elab-util-${idris-elab-util-version}:
@echo '' && \
echo '' && \
echo '' && \
echo '===== elab-util =====' && \
echo '' && \
mkdir -p build/deps/depends/elab-util-${idris-elab-util-version} && \
cd build/deps && \
if [ ! -d ./idris2-elab-util ]; then \
git clone https://github.com/stefan-hoeck/idris2-elab-util.git; \
fi && \
cd idris2-elab-util && \
git checkout ${idris-elab-util-hash} >/dev/null 2>&1 && \
$(idris2) --build elab-util.ipkg && \
cp -R ./build/ttc/* ../depends/elab-util-${idris-elab-util-version}/
depends/parser-${idris-parser-version}: build/deps/depends/elab-util-${idris-elab-util-version}
@echo '' && \
echo '' && \
echo '' && \
echo '===== parser =====' && \
echo '' && \
mkdir -p depends/parser-${idris-parser-version} && \
cd build/deps && \
if [ ! -d ./idris2-parser ]; then \
git clone https://github.com/stefan-hoeck/idris2-parser.git; \
fi && \
cd idris2-parser && \
git checkout ${idris-parser-hash} >/dev/null 2>&1 && \
IDRIS2_PACKAGE_PATH="$IDRIS2_PACKAGE_PATH:../depends" $(idris2) --build parser.ipkg && \
cp -R ./build/ttc/* ../../../depends/parser-${idris-parser-version}/
build-parser-json: depends/parser-${idris-parser-version}
@echo '' && \
echo '' && \
echo '' && \
echo '===== parser-json =====' && \
echo '' && \
git clone https://github.com/stefan-hoeck/idris2-parser.git && \
cd idris2-parser/json && \
git checkout ${idris-parser-hash} >/dev/null 2>&1 && \
IDRIS2_PACKAGE_PATH="$IDRIS2_PACKAGE_PATH:../../depends" $(idris2) --build parser-json.ipkg
Error: Module Derive.Prelude not found
JSON.Parser:3:1--3:22
1 | module JSON.Parser
2 |
3 | import Derive.Prelude
^^^^^^^^^^^^^^^^^^^^^
idris2 = idris2
idris-adds-version = 0.3.0
idris-json-version = 0.5.0
idris-json-hash = 2e54a37ed3c35c2d12c8927c923ad253355812a8
idris-elab-util-version = 0.6.0
idris-elab-util-hash = 2fc2d188640ce6822b5e250db73b62f5a952ca4d
idris-parser-version = 0.1.0
idris-parser-hash = 0fde36cf11c12a61edcfe09d585c5a60426bc706
define PATCH
5c5,6
< depends = parser
---
> depends = elab-util
> , parser
endef
.PHONY: all build-parser-json clean
all: build-parser-json
clean:
rm -rf ./depends
rm -rf ./build
rm -rf ./idris2-parser
build/deps/depends/elab-util-${idris-elab-util-version}:
@echo '' && \
echo '' && \
echo '' && \
echo '===== elab-util =====' && \
echo '' && \
mkdir -p build/deps/depends/elab-util-${idris-elab-util-version} && \
cd build/deps && \
if [ ! -d ./idris2-elab-util ]; then \
git clone https://github.com/stefan-hoeck/idris2-elab-util.git; \
fi && \
cd idris2-elab-util && \
git checkout ${idris-elab-util-hash} >/dev/null 2>&1 && \
$(idris2) --build elab-util.ipkg && \
cp -R ./build/ttc/* ../depends/elab-util-${idris-elab-util-version}/
depends/parser-${idris-parser-version}: build/deps/depends/elab-util-${idris-elab-util-version}
@echo '' && \
echo '' && \
echo '' && \
echo '===== parser =====' && \
echo '' && \
mkdir -p depends/parser-${idris-parser-version} && \
cd build/deps && \
if [ ! -d ./idris2-parser ]; then \
git clone https://github.com/stefan-hoeck/idris2-parser.git; \
fi && \
cd idris2-parser && \
git checkout ${idris-parser-hash} >/dev/null 2>&1 && \
IDRIS2_PACKAGE_PATH="$IDRIS2_PACKAGE_PATH:../depends" $(idris2) --build parser.ipkg && \
cp -R ./build/ttc/* ../../../depends/parser-${idris-parser-version}/
export PATCH
build-parser-json: depends/parser-${idris-parser-version}
@echo '' && \
echo '' && \
echo '' && \
echo '===== parser-json =====' && \
echo '' && \
git clone https://github.com/stefan-hoeck/idris2-parser.git && \
cd idris2-parser/json && \
git checkout ${idris-parser-hash} >/dev/null 2>&1 && \
echo "$$PATCH" | patch parser-json.ipkg - && \
IDRIS2_PACKAGE_PATH="$IDRIS2_PACKAGE_PATH:../../depends" $(idris2) --build parser-json.ipkg
Uncaught error: EmptyFC:Failed to resolve the dependencies for parser-json:
required elab-util any but no matching version is installed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment