Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • dan0196/ligo
  • ligolang/ligo
  • maht0rz/ligo
  • JD-P/ligo
  • governancy/ligo
  • renovatorruler/ligo
  • dailambda/ligo
  • jevonearth/ligo
  • mbykovskyy_ecadlabs/ligo
  • opt9/ligo
  • arvidnl/ligo
  • jpic/ligo
  • juztin/ligo
  • steakandbake/ligo
  • mark-o-robson/ligo
  • simon138/ligo
  • nmangan/ligo
  • edmondlee/ligo
  • technomad21c/ligo
  • diogo.machado/ligo
  • kkirka/ligo
  • nobrakal/ligo
  • roxane3/ligo
  • GImbrailo/ligo
  • syuhei176/ligo
  • mjgajda/ligo
  • sanityinc/ligo
  • molllyn1/ligo
  • ulrikstrid/ligo
  • prometheansacrifice/ligo
  • nicolas.van.phan/ligo
  • ryujh21h/ligo
  • rishabhkeshan/ligo
  • amitcz/ligo
  • jobjo/ligo
  • deryyy/ligo
  • my8bit/ligo
  • daachi/ligo
  • elmorg/ligo
  • a.kumar4/ligo
  • dheavy/ligo
  • konchunas/ligo
  • ggichuru.dev/ligo
  • steven_j/ligo
  • arguiot/ligo
  • digitea00/ligo
  • melwyn95/ligo
  • chrispinnock/ligo
  • clarus1/ligo
  • patrickferris/ligo
  • caaatisgood/ligo
  • karoshibee/ligo-kbee
  • arguil/ligo
  • benjamin.fuentes/ligo
  • Dayveed117/ligo
  • timothymcmackin/ligo
  • shubham-kumar/ligo
  • bfamchon1/ligo
  • mavryk-network/ligo
  • int-index/ligo
60 results
Show changes
Commits on Source (11)
Showing
with 9 additions and 14477 deletions
esy-windows:
tags:
- windows
stage: build
needs: []
interruptible: true
variables:
GIT_STRATEGY: clone
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
script:
- git config http.postBuffer 1048576000
- $env:PATH = 'C:\Program Files (x86)\NSIS;C:\Program Files\Git\bin;C:\Users\gitlabrunner\AppData\Roaming\npm;' + $env:PATH
- $env:HOME = 'C:/Users/gitlabrunner'
- $env:ESY__PREFIX = $env:HOME + '/.esy-opam-host'
- bash -c "patch -p1 < 001-tezos-deps-via-esy.patch"
- esy i
# - bash -c "patch -p1 -R < 001-tezos-deps-via-esy.patch" # So that dune runtest doesn't run tezos tests
# - bash -c "esy b dune runtest || esy b dune runtest || esy b dune runtest"
# - bash -c "patch -p1 < 001-tezos-deps-via-esy.patch"
- bash -c "esy b --install || esy b --install || esy b --install"
- cp ./_build/install/default/bin/ligo.exe ./windows-installer
- cp ./LICENSE.md ./windows-installer
- cp ./tools/webide-new/ligo-webide-frontend/ligo-ide/public/favicon.ico ./windows-installer
- cd windows-installer; makensis .\WindowsInstaller.nsi; mv ligo_installer.exe ../ligo_installer.exe ; cd ..
- ./scripts/signInstallerWithTestCertificates.ps1 -Path ./ligo_installer.exe -Password $env:TEST_CERTIFICATE_PASSWORD
- bash -c "esy release || esy release || esy release"
- mv _release platform-windows-x64
artifacts:
paths:
- platform-windows-x64
- ligo_installer.exe
esy-test-windows:
tags:
- windows
stage: test
allow_failure: true
needs:
- job: esy-windows
artifacts: true
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
script:
- ls
- $env:PATH = 'C:\Program Files (x86)\NSIS;C:\Program Files\Git\bin;C:\Users\gitlabrunner\AppData\Roaming\npm;' + $env:PATH
- $env:HOME = 'C:/Users/gitlabrunner'
- cd ./platform-windows-x64; npm pack; bash -c "npm i -g ./ligolang-$(jq -r .version ../esy.json).tgz --force"; cd ..
- bash -c "sh scripts/esy-multiplat-e2e-ci.sh"
publish_npm_windows_x86:
stage: push
allow_failure: true
needs:
- job: esy-windows
artifacts: true
- job: esy-test-windows
artifacts: false
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- src/**/*
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
script:
- |
if [[ $CI_COMMIT_REF_NAME == "dev" ]]; then
SUFFIX=-dev
fi
- cd platform-windows-x64
- chmod 664 package.json
- VERSION=$(../.ci/scripts/versioning/determine_esy_version.sh package.json windows)
- status=0 ; ../.ci/scripts/versioning/update_esy_version.sh package.json $VERSION ; npm publish --access public --tag windows$SUFFIX || status=1
- echo "ligo_npm_build_status $status" | curl --data-binary @- -u '$PROM_PUSH_AUTH' https://pushgateway.prometheus.gcp.marigold.dev/metrics/job/ligo-build-short/branch/$CI_COMMIT_TAG/arch/windows-x86
esy-macos-intel:
extends: .submodule-clone
tags:
- mac
- i7
stage: build
needs: []
variables:
GIT_STRATEGY: clone
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
script:
- mkdir -p ~/.npm
- npm config set prefix '~/.npm'
- export PATH=~/.npm/bin:$PATH
- git submodule foreach --recursive git reset --hard; git submodule update --init --recursive # ensure previously applied patch is removed
- env ESY__PREFIX=$HOME/.esy-opam-host esy i
- env ESY__PREFIX=$HOME/.esy-opam-host esy release
- mv _release platform-darwin
- git submodule foreach --recursive git reset --hard; git submodule update --init --recursive # ensure previously applied patch is removed
artifacts:
paths:
- platform-darwin
esy-test-macos-intel:
stage: test
tags:
- mac
- i7
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
needs:
- job: esy-macos-intel
artifacts: true
script:
- mkdir -p ~/.npm
- npm config set prefix '~/.npm'
- export PATH=~/.npm/bin:$PATH
- npm i --force -g ./platform-darwin
- sh scripts/esy-multiplat-e2e-ci.sh
publish_npm_darwin_x86_64:
stage: push
needs:
- job: esy-macos-intel
artifacts: true
- job: esy-test-macos-intel
artifacts: false
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- src/**/*
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
script:
- |
if [[ $CI_COMMIT_REF_NAME == "dev" ]]; then
SUFFIX=-dev
fi
- cd platform-darwin
- chmod 664 package.json
- VERSION=$(../.ci/scripts/versioning/determine_esy_version.sh package.json macos-intel)
- status=0 ; ../.ci/scripts/versioning/update_esy_version.sh package.json $VERSION ; npm publish --access public --tag macos-intel$SUFFIX ; npm dist-tag add ligolang@macos-intel$SUFFIX latest || status=1
- echo "ligo_npm_build_status $status" | curl --data-binary @- -u '$PROM_PUSH_AUTH' https://pushgateway.prometheus.gcp.marigold.dev/metrics/job/ligo-build-short/branch/$CI_COMMIT_TAG/arch/darwin
esy-macos-m1:
extends: .submodule-clone
tags:
- mac
- m1
stage: build
needs: []
variables:
GIT_STRATEGY: clone
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
script:
- mkdir -p ~/.npm
- brew install node
- npm config set prefix '~/.npm'
- export PATH=~/.npm/bin:$PATH
- git submodule foreach --recursive git reset --hard; git submodule update --init --recursive # ensure previously applied patch is removed
- env ESY__PREFIX=$HOME/.esy-opam-host esy i
- env ESY__PREFIX=$HOME/.esy-opam-host esy release
- mv _release platform-darwin-arm64
- git submodule foreach --recursive git reset --hard; git submodule update --init --recursive # ensure previously applied patch is removed
artifacts:
paths:
- platform-darwin-arm64
esy-test-macos-m1:
stage: test
tags:
- mac
- m1
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- esy.json
- esy.lock/index.json
- ligo.opam
- dune
when: always
needs:
- job: esy-macos-m1
artifacts: true
script:
- mkdir -p ~/.npm
- npm config set prefix '~/.npm'
- export PATH=~/.npm/bin:$PATH
- npm i --force -g ./platform-darwin-arm64
- sh scripts/esy-multiplat-e2e-ci.sh
publish_npm_darwin_arm64:
stage: push
needs:
- job: esy-macos-m1
artifacts: true
- job: esy-test-macos-m1
artifacts: false
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- src/**/*
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
script:
- |
if [[ $CI_COMMIT_REF_NAME == "dev" ]]; then
SUFFIX=-dev
fi
- cd platform-darwin-arm64
- chmod 664 package.json
- VERSION=$(../.ci/scripts/versioning/determine_esy_version.sh package.json macos-m1)
- status=0 ; ../.ci/scripts/versioning/update_esy_version.sh package.json $VERSION ; npm publish --access public --tag macos-m1$SUFFIX || status=1
- echo "ligo_npm_build_status $status" | curl --data-binary @- -u '$PROM_PUSH_AUTH' https://pushgateway.prometheus.gcp.marigold.dev/metrics/job/ligo-build-short/branch/$CI_COMMIT_TAG/arch/darwin-arm64
test_ligojs:
tags:
- docker
image: node:20
stage: push
needs:
- job: docker_build
artifacts: true
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
script:
- apt-get update
- apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils wget nodejs
- cd jsoo; env PUPPETEER_PRODUCT=firefox npm i; env JSOO_DIST_DIR=$PWD/ligo-demo-ide node ./test/pptr.mjs
publish_ligojs:
stage: push
needs:
- job: docker_build
artifacts: true
- job: test_ligojs
artifacts: false
rules:
- if: '$CI_COMMIT_REF_NAME == "dev" && $CI_PROJECT_PATH == "ligolang/ligo"'
changes:
- src/**/*
when: always
- if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]/ && $CI_PROJECT_PATH == "ligolang/ligo"'
when: always
script:
- |
if [[ $CI_COMMIT_REF_NAME == "dev" ]]; then
SUFFIX=-dev
fi
- cd ./ligo-npm
- chmod 664 package.json
- VERSION=$(../.ci/scripts/versioning/determine_esy_version.sh package.json web)
- status=0 ; ../.ci/scripts/versioning/update_esy_version.sh package.json $VERSION ; npm publish --access public --tag ligo-js$SUFFIX || status=1
...@@ -121,7 +121,6 @@ release: ...@@ -121,7 +121,6 @@ release:
- docker_extract - docker_extract
- changelog - changelog
- initialize-git - initialize-git
- esy-windows
## FIXME find a better solution to upload the binary ## FIXME find a better solution to upload the binary
artifacts: artifacts:
expire_in: 1000 yrs expire_in: 1000 yrs
...@@ -139,7 +138,6 @@ release: ...@@ -139,7 +138,6 @@ release:
--description "$(cat release-notes.md)" \ --description "$(cat release-notes.md)" \
--assets-link '{"name": "Static Linux binary", "url": "'"$CI_PROJECT_URL"'/-/jobs/'"$CI_JOB_ID"'/artifacts/raw/ligo"}' \ --assets-link '{"name": "Static Linux binary", "url": "'"$CI_PROJECT_URL"'/-/jobs/'"$CI_JOB_ID"'/artifacts/raw/ligo"}' \
--assets-link '{"name": "deb package", "url": "'"$CI_PROJECT_URL"'/-/jobs/'"$CI_JOB_ID"'/artifacts/raw/ligo.deb"}' \ --assets-link '{"name": "deb package", "url": "'"$CI_PROJECT_URL"'/-/jobs/'"$CI_JOB_ID"'/artifacts/raw/ligo.deb"}' \
--assets-link '{"name": "Ligo Windows installer", "url": "'"$CI_PROJECT_URL"'/-/jobs/'"$CI_JOB_ID"'/artifacts/raw/ligo_installer.exe"}'
fi fi
- echo "RELEASE_CI_JOB_ID=${CI_JOB_ID}" >> releaseCiJobId.env - echo "RELEASE_CI_JOB_ID=${CI_JOB_ID}" >> releaseCiJobId.env
...@@ -370,19 +368,6 @@ create-AUR-package: ...@@ -370,19 +368,6 @@ create-AUR-package:
- if: ($CI_COMMIT_BRANCH =~ /^release/ && $TRIGGER_DOC_UPDATE != null ) - if: ($CI_COMMIT_BRANCH =~ /^release/ && $TRIGGER_DOC_UPDATE != null )
when: always when: always
update_esy_version:
stage: tooling
rules:
- if: ($CI_COMMIT_BRANCH =~ /^release/ && $TRIGGER_DOC_UPDATE != null)
when: always
- if: ($CI_COMMIT_BRANCH =~ /^release/ && $DRY_RUN_RELEASE != null)
when: always
script:
- ./.ci/scripts/versioning/update_esy_version.sh esy.json $(./.ci/scripts/versioning/determine_esy_version.sh esy.json not-applicable true)
artifacts:
paths:
- esy.json
calculate_nix_SRI: calculate_nix_SRI:
stage: tooling stage: tooling
rules: rules:
...@@ -426,12 +411,10 @@ update-repository-status: ...@@ -426,12 +411,10 @@ update-repository-status:
- ./.ci/scripts/versioning_website.sh $RELEASE_VERSION - ./.ci/scripts/versioning_website.sh $RELEASE_VERSION
- LAST_TAG_JOB_ID=`./.ci/scripts/release_metadata/read_release_metadata.sh LAST_TAG_JOB_ID` - LAST_TAG_JOB_ID=`./.ci/scripts/release_metadata/read_release_metadata.sh LAST_TAG_JOB_ID`
- ./.ci/scripts/update_distribution_references_with_release.sh $LAST_TAG_JOB_ID $RELEASE_VERSION $SRI_LIGO_BINARY_HASH - ./.ci/scripts/update_distribution_references_with_release.sh $LAST_TAG_JOB_ID $RELEASE_VERSION $SRI_LIGO_BINARY_HASH
- git add tools/webide-new/ligo-webide-backend/Dockerfile esy.json vendors/tezos-ligo HomebrewFormula/ gitlab-pages/docs/tutorials/. gitlab-pages/docs/intro/installation.md gitlab-pages/website/versioned_docs/. gitlab-pages/website/versioned_sidebars/. gitlab-pages/website/versions.json tools/webide/Dockerfile gitlab-pages/docs/manpages - git add tools/webide-new/ligo-webide-backend/Dockerfile vendors/tezos-ligo HomebrewFormula/ gitlab-pages/docs/tutorials/. gitlab-pages/docs/intro/installation.md gitlab-pages/website/versioned_docs/. gitlab-pages/website/versioned_sidebars/. gitlab-pages/website/versions.json tools/webide/Dockerfile gitlab-pages/docs/manpages
- git commit -m "[Bot] Docs $RELEASE_VERSION" - git commit -m "[Bot] Docs $RELEASE_VERSION"
- git push -o ci.skip origin HEAD:$CI_COMMIT_REF_NAME - git push -o ci.skip origin HEAD:$CI_COMMIT_REF_NAME
needs: needs:
- job: update_esy_version
artifacts: true
- job: docker_extract - job: docker_extract
- job: calculate_nix_SRI - job: calculate_nix_SRI
- job: initialize-ssh - job: initialize-ssh
......
#!/usr/bin/env nix-shell
#!nix-shell -p jq -i bash
ESY_FILEPATH=$1
SYSTEM_ARCH=$2
GENERATE_NEW_DEV_VERSION=$3
CURRENT_VERSION=$(jq -r '.version' $ESY_FILEPATH)
if [[ $GENERATE_NEW_DEV_VERSION = true ]]; then
# If the goal is only to upgrade minor version for release process (generation of a new dev version to commit).
INCREMENT_VERSION_SCRIPT="$(dirname "${BASH_SOURCE[0]}")/increment_minor_version.sh"
VERSION_WITHOUT_DEV="$(echo "$CURRENT_VERSION" | sed 's/-dev.*//g')"
NEW_VERSION=$(bash $INCREMENT_VERSION_SCRIPT $VERSION_WITHOUT_DEV)
echo "$NEW_VERSION-dev"
else
if [[ ! $SYSTEM_ARCH =~ ^(macos-m1|macos-intel|linux|windows|web)$ ]]; then
echo "Invalid value for SYSTEM_ARCH: $SYSTEM_ARCH. Valid values are: macos-m1, macos-intel, linux, windows, web."
exit 1
fi
# Starting by check if gitlab CI corresponding to the current tag is defined.
if [ -n "$CI_COMMIT_TAG" ]; then
# If yes the next version is the one provided by gitlab to generate a release version to publish
echo "$CI_COMMIT_TAG-$SYSTEM_ARCH.$(git rev-parse HEAD)"
exit 0
fi
# Here we want to generate a dev version to publish
echo "$CURRENT_VERSION-$SYSTEM_ARCH.$(git rev-parse HEAD)"
fi
#!/usr/bin/env nix-shell
#!nix-shell -p jq -i bash
ESY_FILEPATH=$1
VERSION=$2
SED_IN_PLACE_COMMAND="sed -i "
if [ "$(uname)" == "Darwin" ]; then
# Sed is different in macos. https://stackoverflow.com/questions/7573368/in-place-edits-with-sed-on-os-x
SED_IN_PLACE_COMMAND="sed -i ''"
fi
if [ -n "$VERSION" ]; then
jq --arg version "$VERSION" '.version = $version' $ESY_FILEPATH > $ESY_FILEPATH.tmp && mv $ESY_FILEPATH.tmp $ESY_FILEPATH
VERSION_WITHOUT_DEV="$(echo "$VERSION" | sed 's/-dev.*//g')"
jq --arg version "$VERSION_WITHOUT_DEV" '.override.buildEnv.LIGO_VERSION = $version' $ESY_FILEPATH > $ESY_FILEPATH.tmp && mv $ESY_FILEPATH.tmp $ESY_FILEPATH
jq --arg version "$VERSION_WITHOUT_DEV" '.esy.buildEnv.LIGO_VERSION = $version' $ESY_FILEPATH > $ESY_FILEPATH.tmp && mv $ESY_FILEPATH.tmp $ESY_FILEPATH
fi
...@@ -16,14 +16,6 @@ Dockerfile.* ...@@ -16,14 +16,6 @@ Dockerfile.*
docker docker
.devcontainer .devcontainer
# Esy / Windows
_esy
esy.json
esy.lock
static.esy.json
static.esy.esy.lock
*.dll
# nix # nix
*.nix *.nix
......
...@@ -22,8 +22,6 @@ include: ...@@ -22,8 +22,6 @@ include:
- '/.ci/.gitlab-ci-changelog.yml' - '/.ci/.gitlab-ci-changelog.yml'
# jobs for managing process around release # jobs for managing process around release
- '/.ci/.gitlab-ci-release.yml' - '/.ci/.gitlab-ci-release.yml'
# Manage NPM build
- '/.ci/.gitlab-ci-npm.yml'
# Manage pipeline related to webide # Manage pipeline related to webide
- '/.ci/.gitlab-ci-webide.yml' - '/.ci/.gitlab-ci-webide.yml'
# CI jobs for projects from 'tools' # CI jobs for projects from 'tools'
...@@ -107,9 +105,6 @@ docker_build: ...@@ -107,9 +105,6 @@ docker_build:
--build-arg=ci_commit_timestamp=$CI_COMMIT_TIMESTAMP --build-arg=ci_commit_timestamp=$CI_COMMIT_TIMESTAMP
--build-arg=changelog_path=changelog.txt --build-arg=changelog_path=changelog.txt
-t ${LIGO_IMAGE_TAG} --target ligo -t ${LIGO_IMAGE_TAG} --target ligo
# Copy JSOO PoC IDE
- docker cp $(docker create ${LIGO_IMAGE_TAG}-builder):/ligo/npm ./ligo-npm
- docker cp $(docker create ${LIGO_IMAGE_TAG}-builder):/ligo/jsoo/dist ./ligo-demo-ide
- DOCKER_BUILDKIT=1 docker build . - DOCKER_BUILDKIT=1 docker build .
--build-arg=ci_commit_tag=$CI_COMMIT_TAG --build-arg=ci_commit_tag=$CI_COMMIT_TAG
--build-arg=ci_commit_sha=$CI_COMMIT_SHA --build-arg=ci_commit_sha=$CI_COMMIT_SHA
...@@ -125,8 +120,6 @@ docker_build: ...@@ -125,8 +120,6 @@ docker_build:
artifacts: artifacts:
expose_as: "Ligo docker image - light -" expose_as: "Ligo docker image - light -"
paths: paths:
- ligo-npm
- ligo-demo-ide
- ligo.tar.gz - ligo.tar.gz
- ligo_ci.tar.gz - ligo_ci.tar.gz
......
From 59663a77ca0b7aa92ddda5c27fbfbacd954530d2 Mon Sep 17 00:00:00 2001
From: prometheansacrifice
<2601505-prometheansacrifice@users.noreply.gitlab.com>
Date: Fri, 2 Jun 2023 11:26:05 +0530
Subject: [PATCH 1/2] Nairobi: JSOO Gas free
diff --git a/src/proto_017_PtNairob/lib_protocol/alpha_context.ml b/src/proto_017_PtNairob/lib_protocol/alpha_context.ml
index 3e7e28721f..d95a21073b 100644
--- a/src/proto_017_PtNairob/lib_protocol/alpha_context.ml
+++ b/src/proto_017_PtNairob/lib_protocol/alpha_context.ml
@@ -278,7 +278,8 @@ module Gas = struct
let consume_from available_gas cost =
match raw_consume available_gas cost with
| Some remaining_gas -> ok remaining_gas
- | None -> error Operation_quota_exceeded
+ | None ->
+ error Operation_quota_exceeded
let remaining_operation_gas = Raw_context.remaining_operation_gas
diff --git a/src/proto_017_PtNairob/lib_protocol/alpha_context.mli b/src/proto_017_PtNairob/lib_protocol/alpha_context.mli
index cc41a3cdeb..68071e744a 100644
--- a/src/proto_017_PtNairob/lib_protocol/alpha_context.mli
+++ b/src/proto_017_PtNairob/lib_protocol/alpha_context.mli
@@ -376,9 +376,11 @@ module Gas : sig
*)
- module Arith :
- Fixed_point_repr.Safe
- with type 'a t = private Saturation_repr.may_saturate Saturation_repr.t
+module Arith : sig
+ include Fixed_point_repr.Full
+ with type 'a t = private Saturation_repr.may_saturate Saturation_repr.t
+ val to_int: 'a t -> int
+end
(** For maintenance operations or for testing, gas can be
[Unaccounted]. Otherwise, the computation is [Limited] by the
diff --git a/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.ml b/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.ml
index a6a8f42849..9e95e94682 100644
--- a/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.ml
+++ b/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.ml
@@ -72,6 +72,7 @@ module Arith = struct
let equal = S.equal
let of_int_opt = S.of_int_opt
+ let to_int = S.wont_saturate
let fatally_saturated_int i =
failwith (string_of_int i ^ " should not be saturated.")
diff --git a/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.mli b/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.mli
index 891fd46f1c..6e07c43b51 100644
--- a/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.mli
+++ b/src/proto_017_PtNairob/lib_protocol/gas_limit_repr.mli
@@ -39,9 +39,11 @@
All computations on gas are performed in saturation arithmetic (see
[Saturation_repr]) bounded between [0] and [2 ^ 62 - 1]*)
-module Arith :
- Fixed_point_repr.Full
+module Arith : sig
+ include Fixed_point_repr.Full
with type 'a t = private Saturation_repr.may_saturate Saturation_repr.t
+ val to_int: 'a t -> int
+end
type t = Unaccounted | Limited of {remaining : Arith.fp}
diff --git a/src/proto_017_PtNairob/lib_protocol/gas_monad.ml b/src/proto_017_PtNairob/lib_protocol/gas_monad.ml
index 3597f4bfa4..3586ce8eca 100644
--- a/src/proto_017_PtNairob/lib_protocol/gas_monad.ml
+++ b/src/proto_017_PtNairob/lib_protocol/gas_monad.ml
@@ -66,7 +66,7 @@ let run ctxt m =
let open Local_gas_counter in
match Gas.level ctxt with
| Gas.Unaccounted -> (
- match m (Local_gas_counter (Saturation_repr.saturated :> int)) with
+ match m (Local_gas_counter Saturation_repr.saturated_int) with
| Some (res, _new_gas_counter) -> ok (res, ctxt)
| None -> error Gas.Operation_quota_exceeded)
| Limited {remaining = _} -> (
diff --git a/src/proto_017_PtNairob/lib_protocol/local_gas_counter.ml b/src/proto_017_PtNairob/lib_protocol/local_gas_counter.ml
index 868ee3abd6..6a4a5a873f 100644
--- a/src/proto_017_PtNairob/lib_protocol/local_gas_counter.ml
+++ b/src/proto_017_PtNairob/lib_protocol/local_gas_counter.ml
@@ -70,7 +70,7 @@ let update_context (Local_gas_counter gas_counter) (Outdated_context ctxt) =
[@@ocaml.inline always]
let local_gas_counter ctxt =
- Local_gas_counter (Gas.remaining_operation_gas ctxt :> int)
+ Local_gas_counter (Gas.Arith.to_int (Gas.remaining_operation_gas ctxt))
[@@ocaml.inline always]
let local_gas_counter_and_outdated_context ctxt =
@@ -83,7 +83,7 @@ let use_gas_counter_in_context ctxt gas_counter f =
[@@ocaml.inline always]
let consume_opt (Local_gas_counter gas_counter) (cost : Gas.cost) =
- let gas_counter = gas_counter - (cost :> int) in
+ let gas_counter = gas_counter - (Saturation_repr.wont_saturate cost) in
if Compare.Int.(gas_counter < 0) then None
else Some (Local_gas_counter gas_counter)
[@@ocaml.inline always]
diff --git a/src/proto_017_PtNairob/lib_protocol/saturation_repr.ml b/src/proto_017_PtNairob/lib_protocol/saturation_repr.ml
index 47739c809b..5854903162 100644
--- a/src/proto_017_PtNairob/lib_protocol/saturation_repr.ml
+++ b/src/proto_017_PtNairob/lib_protocol/saturation_repr.ml
@@ -25,7 +25,7 @@
(* let () = assert (Sys.int_size = 63) *)
-type _ t = int
+type _ t = Z.t
type mul_safe
@@ -33,38 +33,43 @@ type may_saturate
let may_saturate : _ t -> may_saturate t = fun x -> x
-let to_int x = x
+let to_int = Z.to_int
+let wont_saturate : may_saturate t -> int = fun x -> Z.to_int x
-let ( < ) : _ t -> _ t -> bool = Compare.Int.( < )
+let ( < ) : _ t -> _ t -> bool = Z.lt
-let ( <= ) : _ t -> _ t -> bool = Compare.Int.( <= )
+let ( <= ) : _ t -> _ t -> bool = Z.leq
-let ( > ) : _ t -> _ t -> bool = Compare.Int.( > )
+let ( > ) : _ t -> _ t -> bool = Z.gt
-let ( >= ) : _ t -> _ t -> bool = Compare.Int.( >= )
+let ( >= ) : _ t -> _ t -> bool = Z.geq
-let ( = ) : _ t -> _ t -> bool = Compare.Int.( = )
+let ( = ) : _ t -> _ t -> bool = Z.equal
let equal = ( = )
-let ( <> ) : _ t -> _ t -> bool = Compare.Int.( <> )
+let ( <> ) (x: _ t) (y: _ t) : bool = not @@ equal x y
let max : _ t -> _ t -> _ t = fun x y -> if x >= y then x else y
let min : _ t -> _ t -> _ t = fun x y -> if x >= y then y else x
-let compare : _ t -> _ t -> _ t = Compare.Int.compare
+let compare (x: _ t) (y:_ t) : int = Z.compare x y
-let saturated = max_int
+let saturated = Z.of_int max_int
+let saturated_int = max_int
-let ( >! ) : _ t -> int -> bool = Compare.Int.( > )
-let of_int_opt t = if t >= 0 && t < saturated then Some t else None
+let ( >! ) (x : _ t) (y : int) : bool = Z.(x > (Z.of_int y))
-let of_z_opt z =
- match Z.to_int z with int -> of_int_opt int | exception Z.Overflow -> None
+let of_int_opt (t: int): _ t option =
+ let open Z in
+ let z = Z.of_int t in
+ if z >= zero && Z.(z < saturated) then Some z else None
-let to_z x = Z.of_int x
+let of_z_opt z = Some z
+
+let to_z x = x
let saturate_if_undef = function None -> saturated | Some x -> x
@@ -72,45 +77,22 @@ let safe_z z = saturate_if_undef @@ of_z_opt z
let safe_int x = of_int_opt x |> saturate_if_undef
-let numbits x =
- let x = ref x and n = ref 0 in
- (let y = !x lsr 32 in
- if y <> 0 then (
- n := !n + 32 ;
- x := y)) ;
- (let y = !x lsr 16 in
- if y <> 0 then (
- n := !n + 16 ;
- x := y)) ;
- (let y = !x lsr 8 in
- if y <> 0 then (
- n := !n + 8 ;
- x := y)) ;
- (let y = !x lsr 4 in
- if y <> 0 then (
- n := !n + 4 ;
- x := y)) ;
- (let y = !x lsr 2 in
- if y <> 0 then (
- n := !n + 2 ;
- x := y)) ;
- if !x lsr 1 <> 0 then !n + 2 else !n + !x
-
-let zero = 0
-
-let one = 1
+let numbits = Z.numbits
+
+let zero = Z.zero
+
+let one = Z.one
let small_enough z =
- (* The following literal triggers an error if compiled under 32-bit
- architectures, please do not modify it. This is a static way to
- ensure that this file is compiled under a 64-bit architecture. *)
- z land 0x7fffffff80000000 = 0
+ let open Z in
+ equal (logand z (of_int 0x7fffffff80000000)) zero
let mul_safe x = if small_enough x then Some x else None
let mul_safe_exn x =
if small_enough x then x
- else failwith (Format.sprintf "mul_safe_exn: %d must be below 2147483648" x)
+ else failwith (Format.sprintf "mul_safe_exn: %d must be below 2147483648" (Z.to_int x))
+
let mul_safe_of_int_exn x =
Option.bind (of_int_opt x) mul_safe |> function
@@ -121,50 +103,50 @@ let mul_safe_of_int_exn x =
(* If [x] is positive, shifting to the right will produce a number
which is positive and is less than [x]. *)
-let shift_right x y = (x :> int) lsr y
+let shift_right = Z.shift_right
let shift_left x y =
- if shift_right saturated y < x then saturated else (x :> int) lsl y
+ let open Z in
+ if shift_right saturated y < x then saturated else Z.shift_left x y
let mul x y =
+ let open Z in
(* assert (x >= 0 && y >= 0); *)
match x with
- | 0 -> 0
+ | x when x = Z.zero -> zero
| x ->
- if small_enough x && small_enough y then x * y
- else if Compare.Int.(y > saturated / x) then saturated
- else x * y
+ if small_enough x && small_enough y then Z.mul x y
+ else if Z.gt y (Z.div saturated x) then saturated
+ else Z.mul x y
-let mul_fast x y = x * y
+let mul_fast x y = Z.mul x y
let scale_fast x y =
- if x = 0 then 0
- else if small_enough y then x * y
- else if Compare.Int.(y > saturated / x) then saturated
- else x * y
+ let open Z in
+ if x = zero then zero
+ else if small_enough y then Z.mul x y
+ else if Z.gt y (Z.div saturated x) then saturated
+ else Z.mul x y
let add x y =
- let z = x + y in
- if Compare.Int.(z >= 0) then z else saturated
+ let z = Z.add x y in
+ if (Z.geq z zero) then z else saturated
let succ x = add one x
-let sub x y = Compare.Int.max (x - y) 0
+let sub x y = Z.max (Z.sub x y) zero
let sub_opt x y =
- let s = x - y in
- if Compare.Int.(s >= 0) then Some s else None
+ let s = Z.sub x y in
+ if (Z.geq s zero) then Some s else None
(* Notice that Z.erem does not behave as mod on negative numbers.
Fortunately, the inhabitant of [t] are non-negative. *)
-let erem x y = x mod y
+let erem x y = Z.rem x y
-let ediv x y = x / y
+let ediv x y = Z.ediv x y
-let sqrt x =
- of_int_opt x
- |> Option.map (fun x -> Z.of_int x |> Z.sqrt |> Z.to_int)
- |> saturate_if_undef
+let sqrt = Z.sqrt
let t_to_z_exn z =
match of_z_opt z with
@@ -176,7 +158,7 @@ let z_encoding = Data_encoding.(check_size 9 (conv to_z t_to_z_exn z))
let n_encoding = Data_encoding.(check_size 9 (conv to_z t_to_z_exn n))
-let pp fmt x = Format.pp_print_int fmt x
+let pp = Z.pp_print
module Syntax = struct
(* This is a good enough approximation. S.log2 0 = 1 *)
diff --git a/src/proto_017_PtNairob/lib_protocol/saturation_repr.mli b/src/proto_017_PtNairob/lib_protocol/saturation_repr.mli
index e1fcf58cb2..e1341390cf 100644
--- a/src/proto_017_PtNairob/lib_protocol/saturation_repr.mli
+++ b/src/proto_017_PtNairob/lib_protocol/saturation_repr.mli
@@ -58,13 +58,14 @@
multiplication.
*)
-type 'a t = private int
+type 'a t = private Z.t
type mul_safe
type may_saturate
val may_saturate : _ t -> may_saturate t
+val wont_saturate : may_saturate t -> int
(** [to_int x] returns the underlying integer representing [x]. *)
val to_int : 'a t -> int
@@ -77,6 +78,7 @@ val one : _ t
(** 2^62 - 1 *)
val saturated : may_saturate t
+val saturated_int : int
(** We inherit the order over native integers. *)
val ( >= ) : _ t -> _ t -> bool
diff --git a/src/proto_017_PtNairob/lib_protocol/script_interpreter_defs.ml b/src/proto_017_PtNairob/lib_protocol/script_interpreter_defs.ml
index 94c1c0ce6f..a537ef3493 100644
--- a/src/proto_017_PtNairob/lib_protocol/script_interpreter_defs.ml
+++ b/src/proto_017_PtNairob/lib_protocol/script_interpreter_defs.ml
@@ -436,12 +436,12 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost =
*)
let consume_instr local_gas_counter k accu stack =
- let cost = cost_of_instr k accu stack in
+ let cost = Gas.free in (* cost_of_instr k accu stack in *)
consume_opt local_gas_counter cost
[@@ocaml.inline always]
let consume_control local_gas_counter ks =
- let cost = cost_of_control ks in
+ let cost = Gas.free in (* cost_of_control ks in *)
consume_opt local_gas_counter cost
[@@ocaml.inline always]
--
2.34.1
--- ./dune
+++ ./dune
@@ -5,7 +5,7 @@
(libraries unix)
(public_name ligo.unix))
-(vendored_dirs vendored-dune vendors)
+(vendored_dirs vendored-dune)
(env
(_
@@ -17,5 +17,3 @@
(:standard --enable effects)))))
(dirs :standard \ jsoo)
-
-(copy_files vendors/tezos-ligo/*.sexp)
...@@ -10,7 +10,7 @@ RUN apk update && apk upgrade && apk --no-cache add \ ...@@ -10,7 +10,7 @@ RUN apk update && apk upgrade && apk --no-cache add \
build-base snappy-dev alpine-sdk \ build-base snappy-dev alpine-sdk \
bash ncurses-dev xz m4 git pkgconfig findutils rsync \ bash ncurses-dev xz m4 git pkgconfig findutils rsync \
gmp-dev libev-dev libressl-dev linux-headers pcre-dev perl zlib-dev hidapi-dev \ gmp-dev libev-dev libressl-dev linux-headers pcre-dev perl zlib-dev hidapi-dev \
libffi-dev nodejs npm \ libffi-dev \
cargo py3-pip cmake \ cargo py3-pip cmake \
&& pip3 install jsonschema \ && pip3 install jsonschema \
# install opam: # install opam:
...@@ -44,15 +44,6 @@ COPY scripts/version.sh /ligo/scripts/version.sh ...@@ -44,15 +44,6 @@ COPY scripts/version.sh /ligo/scripts/version.sh
COPY tools/ligo-syntax-highlighting ligo-syntax-highlighting COPY tools/ligo-syntax-highlighting ligo-syntax-highlighting
# JSOO
COPY jsoo /ligo/jsoo
COPY Makefile /ligo
COPY npm /ligo/npm
COPY examples /ligo/examples
COPY 0001-Nairobi-JSOO-Gas-free.patch /ligo
COPY 0002-JSOO-Use-lib_hacl-compatible-with-hacl-star-0.4.1.patch /ligo
# Run tests # Run tests
RUN opam exec -- dune runtest --profile static --no-buffer \ RUN opam exec -- dune runtest --profile static --no-buffer \
# Coverage (only the overall) # Coverage (only the overall)
...@@ -77,19 +68,12 @@ RUN LIGO_VERSION=$(/ligo/scripts/version.sh) opam exec -- dune build -p ligo --p ...@@ -77,19 +68,12 @@ RUN LIGO_VERSION=$(/ligo/scripts/version.sh) opam exec -- dune build -p ligo --p
&& cp /ligo/_build/install/default/bin/ligo /tmp/ligo \ && cp /ligo/_build/install/default/bin/ligo /tmp/ligo \
# Run doc # Run doc
&& opam exec -- dune build @doc && opam exec -- dune build @doc
RUN npm i -g webpack-cli
RUN cd /ligo && opam exec -- make build-demo-webide
RUN cd /ligo/npm && rm /ligo/npm/ligolang-*.tgz ; npm i && npm run build && npm pack
RUN cd /ligo/examples/ligojs && npm i && npm run build:webpack
FROM esydev/esy:nightly-alpine as esy
# TODO see also ligo-docker-large in nix build # TODO see also ligo-docker-large in nix build
FROM alpine:3.18 as ligo FROM alpine:3.18 as ligo
# This variable is used for analytics to determine if th execution of the compiler is inside docker or not # This variable is used for analytics to determine if th execution of the compiler is inside docker or not
ENV DOCKER_EXECUTION=true ENV DOCKER_EXECUTION=true
COPY --from=esy . .
WORKDIR /root/ WORKDIR /root/
RUN chmod 755 /root # so non-root users inside container can see and execute /root/ligo RUN chmod 755 /root # so non-root users inside container can see and execute /root/ligo
COPY --from=0 /tmp/ligo /root/ligo COPY --from=0 /tmp/ligo /root/ligo
......
author: DK318
description: "Fixed a bug with the debugger start on MacOS. Now you can launch it without any problems.\\n\\n\\n"
merge_request: '2778'
title: "[Chore] Fix the debugger on MacOS"
type: fixed
\ No newline at end of file
{
"name": "ligolang",
"description": "A high-level language which compiles to Michelson",
"license": "MIT",
"version": "0.72.0-dev",
"repository": {
"type": "git",
"url": "https://gitlab.com/ligolang/ligo.git"
},
"esy": {
"buildsInSource": "_build",
"opamOverrideRemote": "https://github.com/ligolang/esy-opam-override",
"build": [
"dune build -p ligo",
"chmod -R a+w #{self.target_dir}"
],
"buildEnv": {
"OCAMLRUNPARAM": "b",
"PATH": "#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : esy-libffi.lib : esy-libev.lib : $PATH}",
"LIGO_VERSION": "0.72.0",
"OPAM_SWITCH_PREFIX": "#{ @opam/tezos-rust-libs.install }"
},
"exportedEnv": {
"PATH": {
"val": "#{self.bin : $PATH : esy-libffi.bin}",
"scope": "global"
},
"LD_LIBRARY_PATH": {
"val": "#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : esy-libffi.lib : esy-libev.lib : $LD_LIBRARY_PATH}",
"scope": "global"
},
"DYLD_LIBRARY_PATH": {
"val": "#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : esy-libffi.lib : esy-libev.lib : $DYLD_LIBRARY_PATH}",
"scope": "global"
}
},
"release": {
"bin": [
"ligo"
],
"includePackages": [
"root",
"esy-libev",
"esy-libffi",
"@opam/hacl-star-raw",
"@opam/conf-libev",
"esy-gmp"
],
"rewritePrefix": true
}
},
"dependencies": {
"ocaml": "4.14.0",
"@opam/core": "*",
"@opam/core_kernel": "*",
"@opam/js_of_ocaml": "*",
"@opam/js_of_ocaml-ppx": "*",
"@opam/odoc": "*",
"@opam/ocamlfind": "*",
"@opam/dune": "*",
"@opam/alcotest": "*",
"@opam/ocamlgraph": "*",
"@opam/menhir": "20230608",
"@opam/coq": "*",
"@opam/bos": "*",
"@opam/qcheck": "*",
"@opam/terminal_size": "*",
"@opam/pprint": "*",
"@opam/yojson": "*",
"@opam/ocaml-recovery-parser": "*",
"@opam/semver": "*",
"@opam/decompress": "*",
"@opam/tar": "*",
"@opam/tar-unix": "*",
"@opam/lambda-term": "*",
"@opam/parse-argv": "*",
"@opam/tezos-crypto": "17.0",
"@opam/ppx_deriving": "*",
"@opam/ppx_deriving_yojson": "*",
"@opam/ppx_expect": "*",
"@opam/ppx_import": "*",
"@opam/ppx_inline_test": "*",
"@opam/prometheus": "*",
"@opam/lwt": "*",
"@opam/bisect_ppx": "*",
"@opam/cmdliner": "*",
"@opam/ocaml-compiler-libs": "*",
"@opam/simple-diff": "*",
"@opam/bls12-381": "*",
"@opam/crunch": "*",
"@opam/lsp": "*",
"@opam/linol": "*",
"@opam/linol-lwt": "*",
"ligo-win32-ntdll-stubs": "*",
"@opam/tezos-rust-libs": "*",
"@opam/tz-016-test-helpers": "17.0",
"@opam/tz-017-test-helpers": "17.0",
"@opam/tezos-base": "17.0",
"@opam/tezos-hacl": "17.0",
"@opam/tezos-micheline": "17.0",
"@opam/tc-017": "17.0",
"@opam/tc-016": "17.0",
"@opam/lwt_log": "*",
"@opam/secp256k1-internal": "*",
"@opam/bls12-381-signature": "*",
"@opam/ctypes_stubs_js": "*",
"@opam/lwt-canceler": "*",
"@opam/hacl-star-raw": "*",
"esy-libev": "*",
"esy-gmp": "*",
"esy-libffi": "*"
},
"resolutions": {
"@opam/octez-bls12-381-hash": "opam:17.0",
"@opam/octez-bls12-381-polynomial": "opam:17.0",
"@opam/octez-bls12-381-signature": "opam:17.0",
"@opam/index": "opam:1.6.1",
"@opam/progress": "opam:0.2.1",
"@opam/tezos-sapling": {
"version": "opam:17.0",
"override": {
"buildEnvOverride": {
"OPAM_SWITCH_PREFIX": "#{ @opam/tezos-rust-libs.install }"
},
"dependencies": {
"@opam/tezos-rust-libs": "*"
}
}
},
"@opam/tezos-hacl": {
"version": "opam:17.0",
"override": {
"build": [
"rm -rf vendors",
"env LD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $LD_LIBRARY_PATH} DYLD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $DYLD_LIBRARY_PATH} dune build -p tezos-hacl"
],
"buildEnv": {
"LD_LIBRARY_PATH": "#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $LD_LIBRARY_PATH}",
"DYLD_LIBRARY_PATH": "#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $DYLD_LIBRARY_PATH}"
},
"dependencies": {
"ligo-win32-ntdll-stubs": "*",
"@opam/dune-configurator": "*",
"@opam/hacl-star-raw": "*"
}
}
},
"@opam/tp-016": {
"version": "opam:17.0",
"override": {
"build": [
"rm -rf vendors",
"env LD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $LD_LIBRARY_PATH} DYLD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $DYLD_LIBRARY_PATH} dune build -p tp-016"
],
"dependencies": {
"@opam/hacl-star-raw": "*"
}
}
},
"@opam/tp-017": {
"version": "opam:17.0",
"override": {
"build": [
"rm -rf vendors",
"env LD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $LD_LIBRARY_PATH} DYLD_LIBRARY_PATH=#{@opam/hacl-star-raw.lib / 'hacl-star-raw' : $DYLD_LIBRARY_PATH} dune build -p tp-017"
],
"dependencies": {
"@opam/hacl-star-raw": "*",
"ligo-win32-ntdll-stubs": "*"
}
}
},
"@opam/bls12-381": "opam:6.1.0",
"@opam/rresult": "opam:0.6.0",
"@opam/bos": "esy-ocaml/bos#9c7956dda6c0d82afcd599c26f8f7efcc373b70e",
"@opam/conduit": {
"version": "opam:6.2.0",
"override": {
"dependencies": {
"@opam/tls": "*",
"@opam/tls-lwt": "*",
"@opam/ca-certs": "*"
}
}
},
"@opam/coq": "opam:8.13.2",
"ligo-win32-ntdll-stubs": "git+https://gitlab.com/ligolang/win32-ntdll-stubs.git#d62252963c9874f2e250febd83f6243545c6942d",
"@opam/tezos-rust-libs": {
"version": "opam:1.5",
"override": {
"buildEnv": {
"CC": "#{os == 'windows' ? 'x86_64-w64-mingw32-gcc': 'cc'}"
}
}
},
"esy-rustup": "esy-packages/esy-rustup:esy.json#3872ef2eaefb6c2207bd7cb4386d073a27381bfe",
"@opam/dune": "opam:3.7.1",
"@opam/dune-configurator": "opam:3.7.1",
"@opam/stdune": "opam:3.7.1",
"@opam/hacl-star": "opam:0.4.1",
"@opam/hacl-star-raw": "opam:0.4.1",
"@opam/semver": "callistonianembrace/ocaml-semver:semver.opam#bf23370adb1cdf8efa60c19fe6e1ff195ee1f2ae",
"@opam/conf-gmp-powm-sec": {
"source": "no-source:",
"override": {
"build": "true"
}
},
"@opam/cohttp": "opam:5.0.0",
"@opam/cohttp-lwt": "opam:5.0.0",
"@opam/cohttp-lwt-unix": "opam:5.0.0",
"@opam/mtime": {
"version": "opam:1.3.0",
"override": {
"install": "esy-installer ./mtime.install"
}
},
"yarn-pkg-config": "esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79",
"@opam/linol": "c-cube/linol:linol.opam#439534e0c5b7a3fbf93ba05fae7d171426153763",
"@opam/linol-lwt": "c-cube/linol:linol-lwt.opam#439534e0c5b7a3fbf93ba05fae7d171426153763",
"esy-openssl": "ManasJayanth/esy-openssl#05feaf76bbd56cde53c30a1dfe3c6353f8ab895b",
"@opam/ocaml-recovery-parser": "serokell/ocaml-recovery-parser:ocaml-recovery-parser.opam#e05c872d1a0e8074940d995b57556121eddbf0f2"
},
"override": {
"buildEnv": {
"LIGO_VERSION": "0.72.0"
}
}
}
# Set eol to LF so files aren't converted to CRLF-eol on Windows.
* text eol=lf linguist-generated
# Reset any possible .gitignore, we want all esy.lock to be un-ignored.
!*
This diff is collapsed.
opam-version: "2.0"
maintainer: "contact@nomadic-labs.com"
authors: [ "Nomadic Labs" ]
homepage: "https://gitlab.com/nomadic-labs/ringo"
bug-reports: "https://gitlab.com/nomadic-labs/ringo/issues"
dev-repo: "git+https://gitlab.com/nomadic-labs/ringo.git"
license: "MIT"
depends: [
"ocaml" { >= "4.08" }
"dune" { >= "1.7" }
"aches" { = version }
"lwt" { >= "5.4.0" }
]
build: [
["dune" "build" "-p" name "-j" jobs]
]
synopsis: "Caches (bounded-size stores) for Lwt promises"
url {
src:
"https://gitlab.com/nomadic-labs/ringo/-/archive/v1.0.0/ringo-v1.0.0.tar.gz"
checksum: [
"md5=c4bfe8506ee67b82bf5a4f5a989711d3"
"sha512=4c06df137173a605f14d1bf06193e591b02bd61518669f2d77513e7cd9ad7b660d5ea913cbb079eef8ac17246a71422827594dfe5ffaec032284e0de7e660305"
]
}
opam-version: "2.0"
maintainer: "contact@nomadic-labs.com"
authors: [ "Nomadic Labs" ]
homepage: "https://gitlab.com/nomadic-labs/ringo"
bug-reports: "https://gitlab.com/nomadic-labs/ringo/issues"
dev-repo: "git+https://gitlab.com/nomadic-labs/ringo.git"
license: "MIT"
depends: [
"ocaml" { >= "4.08" }
"dune" { >= "1.7" }
"ringo" { = version }
]
build: [
["dune" "build" "-p" name "-j" jobs]
]
synopsis: "Caches (bounded-size stores) for in-memory values and for resources"
url {
src:
"https://gitlab.com/nomadic-labs/ringo/-/archive/v1.0.0/ringo-v1.0.0.tar.gz"
checksum: [
"md5=c4bfe8506ee67b82bf5a4f5a989711d3"
"sha512=4c06df137173a605f14d1bf06193e591b02bd61518669f2d77513e7cd9ad7b660d5ea913cbb079eef8ac17246a71422827594dfe5ffaec032284e0de7e660305"
]
}
opam-version: "2.0"
synopsis: "Alcotest is a lightweight and colourful test framework"
description: """
Alcotest exposes simple interface to perform unit tests. It exposes
a simple TESTABLE module type, a check function to assert test
predicates and a run function to perform a list of unit -> unit
test callbacks.
Alcotest provides a quiet and colorful output where only faulty runs
are fully displayed at the end of the run (with the full logs ready to
inspect), with a simple (yet expressive) query language to select the
tests to run.
"""
maintainer: ["thomas@gazagnaire.org"]
authors: ["Thomas Gazagnaire"]
license: "ISC"
homepage: "https://github.com/mirage/alcotest"
doc: "https://mirage.github.io/alcotest"
bug-reports: "https://github.com/mirage/alcotest/issues"
depends: [
"dune" {>= "3.0"}
"ocaml" {>= "4.05.0"}
"fmt" {>= "0.8.7"}
"astring"
"cmdliner" {>= "1.1.0"}
"re" {>= "1.7.2"}
"stdlib-shims"
"uutf" {>= "1.0.1"}
"ocaml-syntax-shims"
"odoc" {with-doc}
]
conflicts: [
"result" {< "1.5"}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test & arch != "arm32" & arch != "x86_32"
& arch != "s390x" & arch != "ppc64"}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/mirage/alcotest.git"
url {
src:
"https://github.com/mirage/alcotest/releases/download/1.7.0/alcotest-1.7.0.tbz"
checksum: [
"sha256=812bacdb34b45e88995e07d7306bdab2f72479ef1996637f1d5d1f41667902df"
"sha512=4ae1ba318949ec9db8b87bc8072632a02f0e4003a95ab21e474f5c34c3b5bde867b0194a2d0ea7d9fc4580c70a30ca39287d33a8c134acc7611902f79c7b7ce8"
]
}
x-commit-hash: "927088ffadce153306a36cef4d0fed52609208f6"
opam-version: "2.0"
maintainer: "Spiros Eliopoulos <spiros@inhabitedtype.com>"
authors: [ "Spiros Eliopoulos <spiros@inhabitedtype.com>" ]
license: "BSD-3-clause"
homepage: "https://github.com/inhabitedtype/angstrom"
bug-reports: "https://github.com/inhabitedtype/angstrom/issues"
dev-repo: "git+https://github.com/inhabitedtype/angstrom.git"
build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs]
["dune" "runtest" "-p" name "-j" jobs] {with-test}
]
depends: [
"ocaml" {>= "4.04.0"}
"dune" {>= "1.8"}
"alcotest" {with-test & >= "0.8.1"}
"bigstringaf"
"result"
"ppx_let" {with-test & >= "0.14.0"}
"ocaml-syntax-shims" {build}
]
synopsis: "Parser combinators built for speed and memory-efficiency"
description: """
Angstrom is a parser-combinator library that makes it easy to write efficient,
expressive, and reusable parsers suitable for high-performance applications. It
exposes monadic and applicative interfaces for composition, and supports
incremental input through buffered and unbuffered interfaces. Both interfaces
give the user total control over the blocking behavior of their application,
with the unbuffered interface enabling zero-copy IO. Parsers are backtracking by
default and support unbounded lookahead."""
url {
src: "https://github.com/inhabitedtype/angstrom/archive/0.15.0.tar.gz"
checksum: "md5=5104768c404ea92fd0a53a5b0f75cd50"
}
opam-version: "2.0"
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>"
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"]
homepage: "http://erratique.ch/software/asetmap"
doc: "http://erratique.ch/software/asetmap/doc"
license: "ISC"
dev-repo: "git+http://erratique.ch/repos/asetmap.git"
bug-reports: "https://github.com/dbuenzli/asetmap/issues"
tags: [ "org:erratique" "set" "map" "stdlib" ]
depends: [
"ocaml" {>= "4.01.0"}
"ocamlfind" {build}
"ocamlbuild" {build}
"topkg" {build}
]
build: [
"ocaml" "pkg/pkg.ml" "build"
"--pinned" "%{pinned}%" ]
synopsis: "Alternative, compatible, OCaml standard library Sets and Maps"
description: """
asetmap provides slightly tweaked OCaml standard library Set and Map
functors. asetmap tries to maximize compatibility with the standard
library. It essentially gets rid of `Not_found` exceptions and provide
pretty-printers for the data types.
asetmap has no dependency is distributed under the ISC license."""
url {
src: "http://erratique.ch/software/asetmap/releases/asetmap-0.8.1.tbz"
checksum: "md5=9e4a518bfb6350e2f296c7f3147989c7"
}