solidity/snap/snapcraft.yaml
2021-10-02 18:09:22 +00:00

62 lines
1.9 KiB
YAML

name: solc
version: develop
version-script: git describe --exact-match --tags 2> /dev/null || echo "develop"
summary: The Solidity Contract-Oriented Programming Language
description: |
Solidity is a contract-oriented, high-level language whose syntax is similar
to that of JavaScript and it is designed to target the Ethereum Virtual
Machine (EVM).
Solidity is statically typed, supports inheritance, libraries and complex
user-defined types among other features.
It is possible to create contracts for voting, crowdfunding, blind auctions,
multi-signature wallets and more.
base: core20
grade: stable
confinement: strict
apps:
solc:
command: usr/local/bin/solc
plugs: [home]
parts:
solidity:
source: .
source-type: git
plugin: cmake
build-packages: [build-essential, libboost-all-dev]
stage-packages: [libicu66]
override-build: |
if git describe --exact-match --tags 2> /dev/null
then
echo -n > ../src/prerelease.txt
fi
snapcraftctl build
after: [z3, cvc4]
z3:
source: https://github.com/Z3Prover/z3.git
source-tag: z3-4.8.4
plugin: make
build-packages: [python3]
stage-packages: [libstdc++6]
override-build: |
python scripts/mk_make.py
cd build
make -j -l $(grep -c "^processor" /proc/cpuinfo)
make install DESTDIR=$SNAPCRAFT_PART_INSTALL
cvc4:
source: https://github.com/CVC4/CVC4.git
source-tag: "1.8"
plugin: nil
build-packages: [python3, python3-toml, cmake, openjdk-11-jre, libgmp-dev, wget, antlr3, libantlr3c-3.4-0, libantlr3c-dev]
override-build: |
./configure.sh --python3 --prefix=$SNAPCRAFT_STAGE/usr
cd build
make -j -l $(grep -c "^processor" /proc/cpuinfo)
make install
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/lib/
cp $SNAPCRAFT_STAGE/usr/lib/libcvc4.so.7 $SNAPCRAFT_PART_INSTALL/usr/lib/