# gr-paint conda recipe
This recipe is for creating a package that can be installed into a [conda](https://docs.conda.io/en/latest/) environment. See the [Conda GNU Radio Guide](https://wiki.gnuradio.org/index.php/CondaInstall) for more information on using GNU Radio with conda.
Packages for GNU Radio and some out-of-tree (OOT) modules are available through the [`conda-forge` channel](https://conda-forge.org/). If this OOT module is already available (search "gnuradio" on [anaconda.org](https://anaconda.org)), it is preferable to use that existing package rather than this recipe.
#### Users
- [Building the package](#building-the-package)
#### Developers
- [Modifying the recipe](#modifying-the-recipe)
- [Continuous integration](#continuous-integration)
## Building the package
(See the [Conda GNU Radio Guide](https://wiki.gnuradio.org/index.php/CondaInstall) if you are unfamiliar with how to use conda.)
1. Make sure that have `conda-build` and `conda-forge-pinning` installed and updated in your base environment:
conda activate base
conda install -n base conda-build conda-forge-pinning
conda upgrade -n base conda-build conda-forge-pinning
2. Download the source code for this OOT module (which includes this recipe). Typically, this is done by using `git` and cloning the module's repository:
git clone <repository_url>
cd <repository_name>
3. Run `conda-build` on the recipe to create the package:
(Linux and macOS)
conda build .conda/recipe/ -m ${CONDA_PREFIX}/conda_build_config.yaml
(Windows)
conda build .conda\recipe\ -m %CONDA_PREFIX%\conda_build_config.yaml
If you plan on using this package within an existing environment which uses a specific version of Python, specify the version of Python using the `--python` flag. You must use a version string that matches one of the strings listed under `python` in the `${CONDA_PREFIX}/conda_build_config.yaml` file, e.g:
(Linux and macOS)
conda build .conda/recipe/ -m ${CONDA_PREFIX}/conda_build_config.yaml --python="3.9.* *_cpython"
(Windows)
conda build .conda\recipe\ -m %CONDA_PREFIX%\conda_build_config.yaml --python="3.9.* *_cpython"
If you encounter errors, consult with the OOT module maintainer or the maintainers of the [gnuradio feedstock](https://github.com/conda-forge/gnuradio-feedstock). It is possible that the recipe will need to be updated.
4. Install the package into an existing environment
conda install --use-local -n <environment_name> gnuradio-EXAMPLE
or create a new environment that includes the package:
conda create -n test_env gnuradio-EXAMPLE
## Modifying the recipe
This recipe is derived from a template, and so it is best to check it and make any necessary modifications. Likely changes include:
- Populating metadata near the bottom of the `recipe/meta.yaml` file
- Adding "host" (build-time) and "run" (run-time) dependencies specific to your module in `recipe/meta.yaml`
- Adding special configuration flags or steps are necessary to carry out the build to the build scripts (`recipe/build.sh` for Linux/macOS and `recipe/bld.bat` for Windows)
Specifying the versions of GNU Radio that your OOT is compatible with is one of the most important modifications. Following the instructions below, the module will be built against the conda-forge "pinned" version of GNU Radio, which is usually the latest version.
- To override the pinned version of GNU Radio (e.g. for a branch that builds against an older version), specify the `gnuradio_core` key as instructed in `recipe/conda_build_config.yaml`.
- If the module is compatible with multiple major versions of GNU Radio, and you want to build against multiple of them, you can also add extra versions to `recipe/conda_build_config.yaml` to expand the default build matrix.
See the [conda-build documentation](https://docs.conda.io/projects/conda-build/en/latest/index.html) for details on how to write a conda recipe.
## Continuous integration
Only a few steps are needed to use this recipe to build and test this OOT module using CI services. It can also be used to upload packages to [anaconda.org](https://anaconda.org) for others to download and use.
1. Make sure that have `conda-smithy` installed in your base conda environment:
conda activate base
conda install -n base conda-smithy
conda upgrade -n base conda-smithy
2. Make any changes to the recipe and `conda-forge.yml` that are necessary. For example, if you plan on uploading packages to your own [anaconda.org](https://anaconda.org) channel, specify the channel name and label as the `channel_targets` key in `recipe/conda_build_config.yaml`. Commit the changes to your repository:
git commit -a
3. "Re-render" the CI scripts by running conda-smithy from the root of your repository:
conda-smithy rerender --feedstock_config .conda/conda-forge.yml -c auto
This will create a commit that adds or updates the CI scripts that have been configured with `conda-forge.yml`. If you want to minimize extraneous files, you can remove some of the newly-created files that are not necessary outside of a typical conda-forge feedstock:
git rm -f .github/workflows/automerge.yml .github/workflows/webservices.yml .circleci/config.yml
git commit --amend -s
When the CI is executed (on a pull request or commit), it will run one job per configuration file in `.ci_support` to build packages for various platforms, Python versions, and optionally `gnuradio` versions (by adding to `gnuradio_extra_pin` in `recipe/conda_build_config.yaml`).
**You should repeat this step whenever the recipe is updated or when changes to the conda-forge infrastructure require all CI scripts to be updated.**
Since the newly created files will be rewritten whenever conda-smithy is run, you should not edit any of the automatically-generated files in e.g. `.ci_support`, `.scripts`, or `.github/workflows/conda-build.yml`.
4. (optional) If you want to enable uploads of the packages to [anaconda.org](https://anaconda.org) whenever the CI is run from a commit on the branch specified in `conda-forge.yml`, you need to set an Anaconda Cloud API token to the `BINSTAR_TOKEN` environment variable. To generate a token, follow the instructions [here](https://docs.anaconda.com/anacondaorg/user-guide/tasks/work-with-accounts/#creating-access-tokens). To populate the `BINSTAR_TOKEN` environment variable for CI jobs, add the token as a secret by following, for example, the [Github docs](https://docs.github.com/en/actions/reference/encrypted-secrets).
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
gr-paint-master.zip (66个子文件)
gr-paint-master
include
paint
CMakeLists.txt 477B
paint_config.h 1KB
paint_bc.h 2KB
api.h 465B
CMakeLists.txt 6KB
.conda
conda-forge.yml 766B
recipe
meta.yaml 3KB
conda_build_config.yaml 509B
build.sh 582B
bld.bat 705B
README.md 7KB
lib
CMakeLists.txt 2KB
paint_bc_impl.h 2KB
paint_bc_impl.cc 7KB
README 4KB
cmake
cmake_uninstall.cmake.in 1KB
Modules
targetConfig.cmake.in 342B
CMakeParseArgumentsCopy.cmake 6KB
paintConfig.cmake 811B
examples
README 168B
tgatoluma.c 6KB
docs
CMakeLists.txt 816B
paintrx.png 504KB
doxygen
other
main_page.dox 271B
group_defs.dox 207B
doxyxml
__init__.py 2KB
text.py 1KB
doxyindex.py 8KB
generated
__init__.py 235B
index.py 2KB
compoundsuper.py 351KB
compound.py 20KB
indexsuper.py 19KB
base.py 6KB
CMakeLists.txt 1KB
pydoc_macros.h 826B
Doxyfile.in 78KB
update_pydoc.py 13KB
README.paint 377B
grc
paint_image_source.block.yml 1KB
CMakeLists.txt 326B
paint_paint_bc.block.yml 1018B
python
__init__.py 554B
CMakeLists.txt 984B
image_source.py 4KB
bindings
CMakeLists.txt 1KB
python_bindings.cc 1KB
paint_config_python.cc 2KB
bind_oot_file.py 2KB
paint_bc_python.cc 2KB
header_utils.py 3KB
README.md 0B
docstrings
paint_bc_pydoc_template.h 625B
paint_config_pydoc_template.h 427B
README.md 108B
.gitignore 41B
MANIFEST.md 493B
COPYING 34KB
apps
ramp.bin 1.98MB
CMakeLists.txt 283B
fionna.png 1.08MB
paint_tx_audio.grc 7KB
gnuradio_logo_glyphs_as_paths.png 8KB
xhatch.bin 1.98MB
paint_tx.grc 14KB
marcy.bin 1.98MB
共 66 条
- 1
资源评论
潦草通信狗
- 粉丝: 294
- 资源: 215
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Arduino的智能车设计 设计目标 设计并制作一辆能够自主识别车道线并避开障碍物的智能车 主要组件 微控制器:Ard
- 9563-VB一款P-Channel沟道TO252的MOSFET晶体管参数介绍与应用说明
- ②通用驱动(OBV1V2下载500K版本 V8V9都能用).rar
- 学生信息管理系统-javaWeb代码+数据库(高分项目代码).zip
- VMProtect-Ultimate-v3.8.4-Build-1754-Retail-Licensed.rar
- 9563H-VB一款P-Channel沟道TO252的MOSFET晶体管参数介绍与应用说明
- 计算机二级考试是中国教育考试网组织的一项计算机技能等级考试,旨在考察考生的基础计算机知识和应用能力 计算机二级考试通常包括理论知
- 9563GH-VB一款P-Channel沟道TO252的MOSFET晶体管参数介绍与应用说明
- 基于JavaWeb实现的学生管理系统【附源码+使用教程+数据库】(毕设)
- 9563GH-HF-VB一款P-Channel沟道TO252的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功