Commit b4a8cb29 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI

clean slate

parent 42dd6eeb
* text=auto
meta.yaml text eol=lf
build.sh text eol=lf
bld.bat text eol=crlf
include: 'https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/data/gitlab-ci/base-build.yaml'
# Conda recipes for bob dependencies not available in the defaults channel
This package contains scripts and recipes for building dependence packages of
Bob/BEAT for Conda.
## Folder structure
There is a single folder called `conda`, within this repository, where you
should keep all conda recipes inside.
## Adding a new package
If you want to create a new recipe for a package, first:
1. Read the official conda guide on this: https://conda.io/docs/user-guide/tasks/build-packages/index.html
2. Read Conda-forge's documentation (might contradict with the official guide;
the official guide is the reference): https://conda-forge.org/docs/
3. Look at similar recipes in https://github.com/AnacondaRecipes/
Add your recipe to the folder called `conda` and ensure your package appears in
the file `order.txt`. If your package depends on another package being built
by this repository, then ensure it is built after its dependence.
If that works, upload your changes on bob.conda on a branch and create a merge
request. Wait for the tests to pass on the MR and make sure everything
completes well, by inspecting the log files. If all is good, assign the merge
request to one of the package maintainers.
If you have questions, please ask in a public setting so that we don't have to
answer the same questions all the time.
# The original copy of this list is in bob-devel recipe. Keep them synced please.
{% set nopin = ['ca-certificates', 'certifi', 'openssl', 'libstdcxx-ng', 'libgcc-ng', 'libcxx', 'libcxxabi'] %}
package:
name: beat-devel
version: 2020.11.10
build:
# the build number must be zero all the time.
number: 0
ignore_run_exports:
{% for package in resolved_packages('host') %}
- {{ package.split()[0] }}
{% endfor %}
requirements:
host:
- bob-devel 2020.11.10
- python {{ python }}
# the dependencies are pinned in bob-devel
- docker-py
- jsonschema
- ncurses
- psycopg2
- python-graphviz
- pyzmq
- simplejson
- sphinxcontrib-httpdomain
- termcolor
run:
- python
run_constrained:
{% for package in resolved_packages('host') %}
{% if package.split()[0] not in nopin %}
- {{ package }}
{% endif %}
{% endfor %}
about:
home: http://www.idiap.ch/software/beat
license: BSD 3-Clause
summary: A meta-package to define an environment for BEAT package development
extra:
recipe-maintainers:
- anjos
- amohammadi
# A copy of this list is in beat-devel and bob/bob as well. Keep them synced please.
{% set nopin = ['ca-certificates', 'certifi', 'openssl', 'libstdcxx-ng', 'libgcc-ng', 'libcxx', 'libcxxabi'] %}
package:
name: bob-devel
# please update the version of beat-devel and update bob-devel's version
# there as well in the same merge request.
version: 2020.11.10
build:
# the build number must be zero all the time.
number: 0
ignore_run_exports:
{% for package in resolved_packages('host') %}
- {{ package.split()[0] }}
{% endfor %}
requirements:
host:
- python {{ python }}
# Dependency list of bob and beat packages. Everything is pinned to allow
# for better reproducibility.
# IMPORTANT: To update this list, create a conda environment with all the
# below packages without any pinning. Once the environment is resolved,
# observe those versions and put them here.
- boost 1.73.0
- click 7.1.2
- click-plugins 1.1.1
- cmake 3.14.0
- coverage 5.3
- dask 2.30.0
- dask-jobqueue 0.7.0
- dask-ml 1.7.0
- distributed 2.30.0
- docker-py 4.3.1
- docopt 0.6.2
- ffmpeg 4.2.2
- freetype 2.10.4
- giflib 5.2.1
- h5py 2.10.0
- hdf5 1.10.6
- jinja2 2.11.2
- jpeg 9b
- jsonschema 3.2.0
- libblitz 1.0.1
- libpng 1.6.37
- libsvm 3.24
- libtiff 4.1.0
- make 4.2.1
- matplotlib 3.3.2
- mkl 2019.4
- ncurses 6.2
- nose 1.3.7
- numpy 1.19.2
- pandas 1.1.3
- pillow 8.0.1
- pkg-config 0.29.2
- psycopg2 2.8.5
- pybind11 2.5.0
- pyopengl 3.1.1
- pyqtgraph 0.11.0
- python-graphviz 0.14.2
- pytorch 1.7.0
- pyyaml 5.3.1
- pyzmq 19.0.2
- qdarkstyle 2.8.1
- qtpy 1.9.0
- requests 2.24.0
- schema 0.7.2
- scikit-image 0.17.2
- scikit-learn 0.23.2
- scipy 1.5.2
- setuptools 50.3.0
- simplejson 3.17.2
- sox 14.4.2
- sphinx 3.2.1
- sphinx_rtd_theme 0.4.3
- sphinxcontrib-httpdomain 1.7.0
- sphinxcontrib-programoutput 0.16
- sqlalchemy 1.3.20
- tabulate 0.8.7
- tensorflow 2.2.0 # [linux]
- termcolor 1.1.0
- torchvision 0.8.1
- tqdm 4.50.2
- vlfeat 0.9.21
- xarray 0.16.1
- zc.buildout 2.13.3
- zc.recipe.egg 2.0.7
run:
- python
run_constrained:
{% for package in resolved_packages('host') %}
{% if package.split()[0] not in nopin %}
- {{ package }}
{% endif %}
{% endfor %}
test:
requires:
- numpy
- ffmpeg
- pytorch
- torchvision
commands:
# we expect these features from ffmpeg:
- ffmpeg -codecs | grep "DEVI.S zlib" # [unix]
- ffmpeg -codecs | grep "DEV.LS h264" # [unix]
about:
home: http://www.idiap.ch/software/bob
license: BSD 3-Clause
summary: A meta-package to define an environment for Bob package development
extra:
recipe-maintainers:
- amohammadi
- anjos
import sys
# couple of imports to see if packages are working
import numpy
def test_pytorch():
import torch
from torchvision.models import DenseNet
model = DenseNet()
t = torch.randn(1, 3, 224, 224)
out = model(t)
assert out.shape[1] == 1000
if sys.platform.startswith("linux"):
# test if pytorch installation is sane
test_pytorch()
BSD 3-clause license
Copyright (c) 2015-2018, conda-forge
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
{% set name = "ddt" %}
{% set version = "1.2.1" %}
{% set sha256 = "7914875d59fccc5b8c944e0c0864d9145f3b48b948566e407d39fae04265e192" %}
{% set repo = "txels" %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
fn: {{ name }}-{{ version }}.tar.gz
url: https://github.com/{{ repo }}/{{ name }}/archive/{{ version }}.tar.gz
sha256: {{ sha256 }}
build:
number: 2
script: python -m pip install --no-deps --ignore-installed .
requirements:
host:
- pip
- python
- setuptools
run:
- python
test:
requires:
- flake8
- nose
- six >=1.4.0
- pyyaml
- mock
- pytest
source_files:
- test/*
commands:
- py.test
about:
home: https://github.com/txels/ddt
license: MIT
license_family: MIT
license_file: LICENSE.md
summary: 'DDT (Data-Driven Tests) allows you to multiply one test case by
running it with different test data, and make it appear as multiple test
cases.'
description: 'DDT (Data-Driven Tests) allows you to multiply one test case by
running it with different test data, and make it appear as multiple test
cases.'
doc_url: http://ddt.readthedocs.io/en/latest/
dev_url: https://github.com/txels/ddt
extra:
recipe-maintainers:
- CJ-Wright
- sgaist
#!/bin/bash
if [[ $ARCH == 64 ]];
then
export ARCH_CMD="--enable-64bit"
else
export ARCH_CMD="--enable-simd-width=8"
fi
autoreconf -vif
./configure \
--prefix="${PREFIX}" \
--enable-static \
--enable-shared \
--enable-optimize \
--enable-threadsafe \
--enable-serialization \
${ARCH_CMD} \
CPPFLAGS="-I${PREFIX}/include -pthread" \
CFLAGS="-I${PREFIX}/include -pthread -DBZHAVE_STD" \
CXXFLAGS="-I${PREFIX}/include -pthread -DBZHAVE_STD" \
LDFLAGS="-L${PREFIX}/lib"
make
make install
{% set version = "1.0.1" %}
package:
name: libblitz
version: {{ version }}
source:
git_url: https://github.com/blitzpp/blitz.git
git_rev: {{ version }}
build:
number: 1
run_exports:
- {{ pin_subpackage('libblitz', max_pin='x.x.x') }}
requirements:
build:
- python 2
- autoconf
- automake
- libtool
- {{ compiler('c') }}
- {{ compiler('cxx') }}
test:
commands:
- test -d $PREFIX/include/blitz # [unix]
- test -e $PREFIX/lib/libblitz.a # [unix]
- test -e $PREFIX/lib/libblitz.so # [linux]
- test -e $PREFIX/lib/libblitz.dylib # [osx]
- conda inspect linkages -p $PREFIX libblitz # [not win]
- conda inspect objects -p $PREFIX libblitz # [osx]
about:
home: https://sourceforge.net/projects/blitz
license: LGPL 3
summary: A C++ class library for scientific computing which provides performance on par with Fortran 77/90
extra:
recipe-maintainers:
- 183amir
- anjos
nmake /f Makefile.win clean all
if errorlevel 1 exit 1
REM Install step
copy windows\libsvm.dll %LIBRARY_LIB%\libsvm.dll
if errorlevel 1 exit 1
xcopy windows\*.exe %LIBRARY_BIN%\
if errorlevel 1 exit 1
copy svm.h %LIBRARY_INC%\svm.h
if errorlevel 1 exit 1
#!/bin/bash
if [[ `uname` == 'Darwin' ]]; then
sed -i '' 's/-soname/-install_name/g' Makefile
sed -i '' 's/libsvm.so.$(SHVER)/libsvm.$(SHVER).dylib/g' Makefile
fi
make all
make lib
# there is no make check or something similar and no make install
mkdir -p $PREFIX/share/licenses/libsvm $PREFIX/lib $PREFIX/include $PREFIX/bin
install -m644 svm.h $PREFIX/include/svm.h
install -m644 COPYRIGHT $PREFIX/share/licenses/libsvm/LICENSE
install -m755 svm-train $PREFIX/bin/
install -m755 svm-scale $PREFIX/bin/
install -m755 svm-predict $PREFIX/bin/
if [[ `uname` == 'Darwin' ]]; then
install -m644 libsvm.2.dylib $PREFIX/lib/
ln -s libsvm.2.dylib $PREFIX/lib/libsvm.dylib
else
install -m644 libsvm.so.2 $PREFIX/lib/
ln -s libsvm.so.2 $PREFIX/lib/libsvm.so
fi
{% set version = "3.24" %}
{% set flatversion = version.replace(".", "") %}
{% set sha256 = "3ba1ac74ee08c4dd57d3a9e4a861ffb57dab88c6a33fd53eac472fc84fbb2a8f" %}
package:
name: libsvm
version: {{ version }}
source:
fn: libsvm-{{ flatversion }}.tar.gz
url: https://github.com/cjlin1/libsvm/archive/v{{ flatversion }}.tar.gz
sha256: {{ sha256 }}
patches:
- win32.patch # [win32]
build:
number: 0
run_exports:
- {{ pin_subpackage('libsvm', max_pin='x.x') }}
features:
- vc9 # [win and py27]
- vc10 # [win and py34]
- vc14 # [win and py35]
requirements:
build:
- python # [win]
- {{ compiler('c') }}
- {{ compiler('cxx') }}
test:
requires:
- python {{ environ['PY_VER'] + '*' }} # [win]
commands:
- test -e $PREFIX/include/svm.h # [unix]
- test -e $PREFIX/lib/libsvm.so # [linux]
- test -e $PREFIX/lib/libsvm.so.2 # [linux]
- test -e $PREFIX/lib/libsvm.dylib # [osx]
- test -e $PREFIX/lib/libsvm.2.dylib # [osx]
- svm-train | grep 'Usage' # [unix]
- svm-scale | grep 'Usage' # [unix]
- svm-predict | grep 'Usage' # [unix]
- svm-train | find "Usage" # [win]
- svm-scale | find "Usage" # [win]
- svm-predict | find "Usage" # [win]
- if not exist %PREFIX%\\Library\\lib\\libsvm.dll exit 1 # [win]
- conda inspect linkages -p $PREFIX libsvm # [not win]
- conda inspect objects -p $PREFIX libsvm # [osx]
about:
home: https://github.com/cjlin1/libsvm
license: BSD 3-Clause
summary: A simple, easy-to-use, and efficient software for SVM classification and regression.
extra:
recipe-maintainers:
- 183amir
- patricksnape
- anjos
--- Makefile.win
+++ Makefile.win
@@ -7,3 +7,3 @@
CXX = cl.exe
-CFLAGS = /nologo /O2 /EHsc /I. /D _WIN64 /D _CRT_SECURE_NO_DEPRECATE
+CFLAGS = /nologo /O2 /EHsc /I. /D _WIN32 /D _CRT_SECURE_NO_DEPRECATE
TARGET = windows
{% set name = "pytest-qt" %}
{% set version = "3.2.2" %}
{% set file_ext = "tar.gz" %}
{% set hash_type = "sha256" %}
{% set hash_value = "f6ecf4b38088ae1092cbd5beeaf714516d1f81f8938626a2eac546206cdfe7fa" %}
package:
name: '{{ name|lower }}'
version: '{{ version }}'
source:
fn: '{{ name }}-{{ version }}.{{ file_ext }}'
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
'{{ hash_type }}': '{{ hash_value }}'
build:
number: 1
script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir"
requirements:
host:
- pip
- python
- setuptools
- setuptools_scm
run:
- python
- pytest >=2.7.0
test:
requires:
- pyqt 5.*
- pytest
imports:
- pytestqt
commands:
- py.test --help
about:
home: http://github.com/pytest-dev/pytest-qt
license: MIT
license_family: MIT
summary: pytest support for PyQt and PySide applications
doc_url: http://pytest-qt.readthedocs.io/en/latest/
dev_url: https://github.com/pytest-dev/pytest-qt
extra:
recipe-maintainers: sgaist
{% set version = "0.7.2" %}
package:
name: schema
version: {{ version }}
source:
url: https://pypi.io/packages/source/s/schema/schema-{{ version }}.tar.gz
sha256: b536f2375b49fdf56f36279addae98bd86a8afbd58b3c32ce363c464bed5fc1c
build:
number: 0
script: python -m pip install --no-deps --ignore-installed .
requirements:
build:
- pip
- python
- setuptools
run:
- python
- contextlib2 >=0.5.5
test:
requires:
- mock
- pytest
- setuptools
source_files:
- test_schema.py
- LICENSE-MIT
imports:
- schema
commands:
- python -c 'import pkg_resources; pkg_resources.require("schema")'
- pytest test_schema.py
about:
home: https://github.com/keleshev/schema
license: MIT License
summary: 'Simple data validation library'
extra:
recipe-maintainers:
- anjos
#!/bin/bash
# provide --disable-stack-protector so that it doesn't link against gcc
./configure --prefix=$PREFIX --exec-prefix=$PREFIX --disable-stack-protector
make
if [ "$(uname -s)" == "Darwin" ]; then
DYLD_FALLBACK_LIBRARY_PATH=$PREFIX/lib make bindir=. installcheck
else
make bindir=. installcheck
fi
make install
{% set name = "sox" %}
{% set version = "14.4.2" %}
package:
name: {{ name }}
version: {{ version }}
source:
fn: {{ name }}-{{ version }}.tar.gz
url: http://sourceforge.net/projects/sox/files/sox/{{ version }}/sox-{{ version }}.tar.gz
md5: d04fba2d9245e661f245de0577f48a33
build:
number: 8
detect_binary_files_with_prefix: true
skip: true # [win]
run_exports:
# https://abi-laboratory.pro/tracker/timeline/sox/
- {{ pin_subpackage(name, max_pin='x.x.x') }}
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- libpng {{ libpng }}
- zlib {{ zlib }}
- xz {{ xz }}
test:
commands:
- test -e $PREFIX/include/sox.h # [unix]
- test -e $PREFIX/lib/libsox.a # [unix]
- test -e $PREFIX/lib/libsox.so # [linux]
- test -e $PREFIX/lib/libsox.dylib # [osx]
- otool -L $PREFIX/lib/libsox.dylib # [osx]
- conda inspect linkages -p $PREFIX {{ name }} # [not win]
- conda inspect objects -p $PREFIX {{ name }} # [osx]
about:
home: http://sox.sourceforge.net/
license: LGPLv2
summary: A cross-platform command line utility that can convert various formats of computer audio files in to other formats.
extra:
recipe-maintainers:
- amohammadi
{% set name = "sphinxcontrib-httpdomain" %}
{% set version = "1.7.0" %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
sha256: ac40b4fba58c76b073b03931c7b8ead611066a6aebccafb34dc19694f4eb6335
build:
number: 2
script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir ."
requirements:
host:
- python
- pip
run:
- python
- sphinx >=1.5
- six
test:
imports:
- sphinxcontrib.httpdomain
about:
home: https://github.com/sphinx-contrib/httpdomain
license: BSD-2-Clause
license_family: BSD
license_file: LICENSE
summary: 'Sphinx domain for describing HTTP APIs'
description: |
This contrib extension, `sphinxcontrib.httpdomain¡, provides a Sphinx domain
for describing HTTP APIs.
doc_url: https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/
dev_url: https://github.com/sphinx-contrib/httpdomain
extra:
recipe-maintainers:
- anjos
{% set name = "sphinxcontrib-programoutput" %}
{% set version = "0.16" %}
{% set sha256 = "0caaa216d0ad8d2cfa90a9a9dba76820e376da6e3152be28d10aedc09f82a3b0" %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
fn: {{ name }}-{{ version }}.tar.gz
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
sha256: {{ sha256 }}
build:
number: 1
script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir ."
requirements:
build:
- python
- pip
- sphinx
run:
- python
- sphinx
test:
imports:
- sphinxcontrib.programoutput
about:
home: https://bitbucket.org/birkenfeld/sphinx-contrib
license: BSD 2-clause
license_family: BSD
license_file: LICENSE
summary: 'Sphinx extension to include program output'
description: |
A Sphinx extension to literally insert the output of arbitrary commands