diff --git a/recipes/klayout/build.bat b/recipes/klayout/build.bat new file mode 100644 index 0000000000000..7d8072a39a0e9 --- /dev/null +++ b/recipes/klayout/build.bat @@ -0,0 +1,2 @@ +call %SRC_DIR%\build.bat +cp %SRC_DIR%\bin-release\klayout.exe %prefix%\bin diff --git a/recipes/klayout/build.sh b/recipes/klayout/build.sh new file mode 100644 index 0000000000000..4ed1997a0f3a4 --- /dev/null +++ b/recipes/klayout/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# even though we specify QMAKE_CXX in -expert mode, qmake still +# needs "g++" while obtaining gcc paths (while bootstrapping?) +# So we create a temporary link called "g++" +mkdir tmp_exe +cd tmp_exe +ln -s $GXX g++ +cd .. +export PATH=$(pwd)/tmp_exe:$PATH + +"${SRC_DIR}"/build.sh -python ${PYTHON} -bin "${PREFIX}/bin" -expert +echo "bin Contents" +echo "--------------------" +ls "${PREFIX}/bin" diff --git a/recipes/klayout/meta.yaml b/recipes/klayout/meta.yaml new file mode 100644 index 0000000000000..a576df7aa1c17 --- /dev/null +++ b/recipes/klayout/meta.yaml @@ -0,0 +1,87 @@ +# Note: there are many handy hints in comments in this example -- remove them when you've finalized your recipe +# If your package is python based, we recommend using Grayskull to generate it instead: +# https://github.com/conda-incubator/grayskull + +# Jinja variables help maintain the recipe as you'll update the version only here. +# Using the name variable with the URL in line 14 is convenient +# when copying and pasting from another recipe, but not really needed. +{% set name = "klayout" %} +{% set version = "0.27.12" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + #url: https://github.com/KLayout/klayout/releases/download/{{ version }}/klayout-{{ version }}.tar.gz + url: https://github.com/KLayout/klayout/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6ef5e6ae5ea387618663949a1efa105406aeb36db2d18d89eff0345955aae979 + # sha256 is the preferred checksum -- you can get it for a file with: + # `openssl sha256 `. + # You may need the openssl package, available on conda-forge: + # `conda install openssl -c conda-forge`` + +build: + # Uncomment the following line if the package is pure Python and the recipe is exactly the same for all platforms. + # It is okay if the dependencies are not built for all platforms/versions, although selectors are still not allowed. + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#noarch-python for more details. + # noarch: python + # If the installation is complex, or different between Unix and Windows, use separate bld.bat and build.sh files instead of this key. + # By default, the package will be built for the Python versions supported by conda-forge and for all major OSs. + # Add the line "skip: True # [py<35]" (for example) to limit to Python 3.5 and newer, or "skip: True # [not win]" to limit to Windows. + # More info about selectors can be found in the conda-build docs: + # https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#preprocessing-selectors + number: 0 + +requirements: + build: + # If your project compiles code (such as a C extension) then add the required compilers as separate entries here. + # Compilers are named 'c', 'cxx' and 'fortran'. + - {{ compiler('cxx') }} + - make + - {{ cdt('mesa-libgl-devel') }} # [linux] + + host: + # All Platforms + - python>3.6 + - pip + - ruby>2 + - Qt>=5 + - make + - zlib + - libpython-static + # Windows + - expat # [win] + - curl # [win] + - pthreads-win32 # [win] + +test: + # For python packages, it is useful to run pip check. However, sometimes the + # metadata used by pip is out of date. Thus this section is optional if it is + # failing. + commands: + - klayout -v + +about: + home: https://www.klayout.de/ + summary: 'Your Mask Layout Friend' + description: | + - View: Fast and accurate viewing of huge layout files + - Edit: Draw, modify and transform hierarchical layout + - Generate: Script layout generators, PCells and layout transformation tools + - Analyze: Search, verify, and measure layout and code analysis scripts + license: GPL-2.0-or-later + license_family: GPL + license_file: LICENSE + doc_url: https://www.klayout.de/doc.html + dev_url: https://github.com/KLayout/klayout + +extra: + recipe-maintainers: + # GitHub IDs for maintainers of the recipe. + # Always check with the people listed below if they are OK becoming maintainers of the recipe. (There will be spam!) + - curtisma + - klayoutmatthias + - proppy + - flaport + - joamatab diff --git a/recipes/klayout/yum_requirements.txt b/recipes/klayout/yum_requirements.txt new file mode 100644 index 0000000000000..0e16b14e7a64e --- /dev/null +++ b/recipes/klayout/yum_requirements.txt @@ -0,0 +1 @@ +mesa-libGL