%global _empty_manifest_terminate_build 0 Name: python-solc-select Version: 1.0.3 Release: 1 Summary: Manage multiple Solidity compiler versions. License: AGPL-3.0 URL: https://github.com/crytic/solc-select Source0: https://mirrors.nju.edu.cn/pypi/web/packages/47/75/9355ad75576d94b59383b62d70e403868512639c3fe3290594cdf0a53dab/solc-select-1.0.3.tar.gz BuildArch: noarch Requires: python3-pycryptodome Requires: python3-packaging %description # solc-select A tool to quickly switch between Solidity compiler versions. The tool is split into two CLI utilities: - `solc-select`: manages installing and setting different `solc` compiler versions - `solc`: wrapper around `solc` which picks the right version according to what was set via `solc-select` The `solc` binaries are downloaded from https://binaries.soliditylang.org/ which contains official artifacts for many historial and modern `solc` versions for Linux and macOS. The downloaded binaries are stored in `~/.solc-select/artifacts/`. ## Quickstart ``` pip3 install solc-select ``` ## Usage The global version of `solc` can be set with the `solc-select use ` command: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ $ solc-select use 0.4.24 Switched global version to 0.4.24 $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ ``` Use `SOLC_VERSION` environment variable to override the global version: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ $ SOLC_VERSION=0.5.2 solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ ``` You can list all available versions with `solc-select install`: ``` $ solc-select install Available versions to install: 0.3.6 0.4.0 ... 0.8.0 0.8.1 ``` And install the one you need with `solc-select install `: ``` $ solc-select install 0.8.1 Installing '0.8.1'... Version '0.8.1' installed. ``` Display the currently installed versions: ``` $ solc-select versions 0.8.0 0.4.2 (current, set by /Users/artur/.solc-select/global-version) ``` ## Getting Help Feel free to stop by our [Slack channel](https://empirehacking.slack.com/) for help on using or extending `solc-select`. ## FAQ ### solc-version not changing after running `solc-select use [version]` or setting `SOLC_VERSION` Uninstall other installations of solc on your machine. `solc-select` re-installs solc binaries for your operating system and acts as a wrapper for solc. With duplicate solc installations, this may result in your `solc` version not being up to date. ### "Unsupported Platform" on Windows The solc-select version that supports Windows is currently in beta. Uninstall `solc-select` through `pip3 uninstall solc-select` and run ```bash pip install solc-select==1.0.0b1 ``` Alternatively, for the most up-to-date version, clone this repository and run ```bash pip install . --user ``` ## Known Issues ### `SSL: CERTIFICATE_VERIFY_FAILED` on running `solc-select` commands [investigation ongoing] **OS X** ```bash pip3 install certifi /Applications/Python\ 3.8/Install\ Certificates.command ``` Python distributions on OS X has no certificates and cannot validate SSL connections, a breaking change introduced in Python 3.6. See [StackOverflow](https://stackoverflow.com/a/42334357) post for additional details. ### `Connection refused` [investigation ongoing] ```bash pip3 uninstall solc-select pip3 install solc-select==0.2.0 solc-select install ``` Try downgrading to `solc-select version 0.2.0`. Our `0.2.1` version of `solc-select` pulls older Linux binaries from [crytic/solc](https://github.com/crytic/solc) which seems to have introduced unexpected behavior in certain instances. ### `solc-select` version changes, but `solc --version does not match` Users seem to be experiencing situations in which the following command is successful: ``` solc-select use ``` However, when running the following command, it points to an older version of Solidity. ``` solc --version ``` `solc-select` is intended to work with custom binaries. This means that Solidity installed through other means (i.e: `brew install solidity`) will _not_ work!. Uninstall other versions Solidity from your computer. ## License `solc-select` is licensed and distributed under the [AGPLv3](LICENSE) license. [Contact us](mailto:opensource@trailofbits.com) if you’re looking for an exception to the terms. %package -n python3-solc-select Summary: Manage multiple Solidity compiler versions. Provides: python-solc-select BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-solc-select # solc-select A tool to quickly switch between Solidity compiler versions. The tool is split into two CLI utilities: - `solc-select`: manages installing and setting different `solc` compiler versions - `solc`: wrapper around `solc` which picks the right version according to what was set via `solc-select` The `solc` binaries are downloaded from https://binaries.soliditylang.org/ which contains official artifacts for many historial and modern `solc` versions for Linux and macOS. The downloaded binaries are stored in `~/.solc-select/artifacts/`. ## Quickstart ``` pip3 install solc-select ``` ## Usage The global version of `solc` can be set with the `solc-select use ` command: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ $ solc-select use 0.4.24 Switched global version to 0.4.24 $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ ``` Use `SOLC_VERSION` environment variable to override the global version: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ $ SOLC_VERSION=0.5.2 solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ ``` You can list all available versions with `solc-select install`: ``` $ solc-select install Available versions to install: 0.3.6 0.4.0 ... 0.8.0 0.8.1 ``` And install the one you need with `solc-select install `: ``` $ solc-select install 0.8.1 Installing '0.8.1'... Version '0.8.1' installed. ``` Display the currently installed versions: ``` $ solc-select versions 0.8.0 0.4.2 (current, set by /Users/artur/.solc-select/global-version) ``` ## Getting Help Feel free to stop by our [Slack channel](https://empirehacking.slack.com/) for help on using or extending `solc-select`. ## FAQ ### solc-version not changing after running `solc-select use [version]` or setting `SOLC_VERSION` Uninstall other installations of solc on your machine. `solc-select` re-installs solc binaries for your operating system and acts as a wrapper for solc. With duplicate solc installations, this may result in your `solc` version not being up to date. ### "Unsupported Platform" on Windows The solc-select version that supports Windows is currently in beta. Uninstall `solc-select` through `pip3 uninstall solc-select` and run ```bash pip install solc-select==1.0.0b1 ``` Alternatively, for the most up-to-date version, clone this repository and run ```bash pip install . --user ``` ## Known Issues ### `SSL: CERTIFICATE_VERIFY_FAILED` on running `solc-select` commands [investigation ongoing] **OS X** ```bash pip3 install certifi /Applications/Python\ 3.8/Install\ Certificates.command ``` Python distributions on OS X has no certificates and cannot validate SSL connections, a breaking change introduced in Python 3.6. See [StackOverflow](https://stackoverflow.com/a/42334357) post for additional details. ### `Connection refused` [investigation ongoing] ```bash pip3 uninstall solc-select pip3 install solc-select==0.2.0 solc-select install ``` Try downgrading to `solc-select version 0.2.0`. Our `0.2.1` version of `solc-select` pulls older Linux binaries from [crytic/solc](https://github.com/crytic/solc) which seems to have introduced unexpected behavior in certain instances. ### `solc-select` version changes, but `solc --version does not match` Users seem to be experiencing situations in which the following command is successful: ``` solc-select use ``` However, when running the following command, it points to an older version of Solidity. ``` solc --version ``` `solc-select` is intended to work with custom binaries. This means that Solidity installed through other means (i.e: `brew install solidity`) will _not_ work!. Uninstall other versions Solidity from your computer. ## License `solc-select` is licensed and distributed under the [AGPLv3](LICENSE) license. [Contact us](mailto:opensource@trailofbits.com) if you’re looking for an exception to the terms. %package help Summary: Development documents and examples for solc-select Provides: python3-solc-select-doc %description help # solc-select A tool to quickly switch between Solidity compiler versions. The tool is split into two CLI utilities: - `solc-select`: manages installing and setting different `solc` compiler versions - `solc`: wrapper around `solc` which picks the right version according to what was set via `solc-select` The `solc` binaries are downloaded from https://binaries.soliditylang.org/ which contains official artifacts for many historial and modern `solc` versions for Linux and macOS. The downloaded binaries are stored in `~/.solc-select/artifacts/`. ## Quickstart ``` pip3 install solc-select ``` ## Usage The global version of `solc` can be set with the `solc-select use ` command: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ $ solc-select use 0.4.24 Switched global version to 0.4.24 $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ ``` Use `SOLC_VERSION` environment variable to override the global version: ``` $ solc --version solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Linux.g++ $ SOLC_VERSION=0.5.2 solc --version solc, the solidity compiler commandline interface Version: 0.5.2+commit.1df8f40c.Linux.g++ ``` You can list all available versions with `solc-select install`: ``` $ solc-select install Available versions to install: 0.3.6 0.4.0 ... 0.8.0 0.8.1 ``` And install the one you need with `solc-select install `: ``` $ solc-select install 0.8.1 Installing '0.8.1'... Version '0.8.1' installed. ``` Display the currently installed versions: ``` $ solc-select versions 0.8.0 0.4.2 (current, set by /Users/artur/.solc-select/global-version) ``` ## Getting Help Feel free to stop by our [Slack channel](https://empirehacking.slack.com/) for help on using or extending `solc-select`. ## FAQ ### solc-version not changing after running `solc-select use [version]` or setting `SOLC_VERSION` Uninstall other installations of solc on your machine. `solc-select` re-installs solc binaries for your operating system and acts as a wrapper for solc. With duplicate solc installations, this may result in your `solc` version not being up to date. ### "Unsupported Platform" on Windows The solc-select version that supports Windows is currently in beta. Uninstall `solc-select` through `pip3 uninstall solc-select` and run ```bash pip install solc-select==1.0.0b1 ``` Alternatively, for the most up-to-date version, clone this repository and run ```bash pip install . --user ``` ## Known Issues ### `SSL: CERTIFICATE_VERIFY_FAILED` on running `solc-select` commands [investigation ongoing] **OS X** ```bash pip3 install certifi /Applications/Python\ 3.8/Install\ Certificates.command ``` Python distributions on OS X has no certificates and cannot validate SSL connections, a breaking change introduced in Python 3.6. See [StackOverflow](https://stackoverflow.com/a/42334357) post for additional details. ### `Connection refused` [investigation ongoing] ```bash pip3 uninstall solc-select pip3 install solc-select==0.2.0 solc-select install ``` Try downgrading to `solc-select version 0.2.0`. Our `0.2.1` version of `solc-select` pulls older Linux binaries from [crytic/solc](https://github.com/crytic/solc) which seems to have introduced unexpected behavior in certain instances. ### `solc-select` version changes, but `solc --version does not match` Users seem to be experiencing situations in which the following command is successful: ``` solc-select use ``` However, when running the following command, it points to an older version of Solidity. ``` solc --version ``` `solc-select` is intended to work with custom binaries. This means that Solidity installed through other means (i.e: `brew install solidity`) will _not_ work!. Uninstall other versions Solidity from your computer. ## License `solc-select` is licensed and distributed under the [AGPLv3](LICENSE) license. [Contact us](mailto:opensource@trailofbits.com) if you’re looking for an exception to the terms. %prep %autosetup -n solc-select-1.0.3 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-solc-select -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.0.3-1 - Package Spec generated