./devel/py-llvmlite, Lightweight LLVM Python binding for writing JIT compilers

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.43.0, Package name: py312-llvmlite-0.43.0, Maintainer: pkgsrc-users

llvmlite provides a Python binding to LLVM for use in Numba.

The old llvmpy binding exposes a lot of LLVM APIs but the mapping of
C++-style memory management to Python is error prone. Numba and many
JIT compilers do not need a full LLVM API. Only the IR builder,
optimizer, and JIT compiler APIs are necessary.

llvmlite is a project originally tailored for Numba's needs, using the
following approach:

* A small C wrapper around the parts of the LLVM C++ API we need that
are not already exposed by the LLVM C API.
* A ctypes Python wrapper around the C API.
* A pure Python implementation of the subset of the LLVM IR builder
that we need for Numba.


Required to run:
[devel/py-setuptools] [lang/llvm] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 153.388 KB

Version history: (Expand)


CVS history: (Expand)


   2024-01-24 16:25:13 by Dr. Thomas Orgis | Files touched by this commit (9) | Package updated
Log message:
devel/py-llvmlite: un-break at least on Linux, update to 0.41.1 with static LLVM

This now builds a patched LLVM that is statically linked, with llvmlite patches,
as upstream wants and supports as only variant.

This has not been tested widely, but has been uncondtionally BROKEN before.

v0.41.1 (Oct 17, 2023)¶

This is a maintenance release that includes a workaround in the test suite for \ 
ORCJit issues on the aarch64 platform. Also, this is the last release to support \ 
the Windows 32-bit platform (win32).

Pull-Requests:

    PR #996: fix typos found by codespell (esc)

    PR #997: Fix issue #880 by ensuring all sources are compiled under FreeBSD. \ 
(ke6jjj)

    PR #998: adding sphinx_rtd_theme to RTD build to fix build (esc)

    PR #1001: Fix / workaround for OrcJIT blocking issues (gmarkall)

Authors:

    esc

    ke6jjj

    gmarkall

v0.41.0 (Sept 20, 2023)¶

Pull-Requests:

    PR #871: Refactor native library loading (folded sklam)

    PR #896: drop upper limit on Python for conda recipe (esc)

    PR #904: Create GitHub Action for llvmlite release (apmasell)

    PR #934: Expose TargetLibraryInfo pass (sklam)

    PR #935: Disable zlib for LLVM on Windows (apmasell)

    PR #936: Enable querying constants and value kinds (tbennun)

    PR #939: Bump llvmdev build number to include the nozlib change for windows \ 
(sklam)

    PR #940: Update CHANGE_LOG for 0.40.0 final. (stuartarchibald)

    PR #942: Add ORCJITv2 support (apmasell)

    PR #951: Add a type hint for IntType.width (apmasell)

    PR #952: Fix CI failing due to unsupported target triple on non-x86 \ 
platforms. (sklam)

    PR #958: fixup LLVM versions in version compat table (esc)

    PR #959: Remove support for LLVM < 14 (apmasell)

    PR #960: add various bullets to release checklists and sync (esc)

    PR #963: Allow adding comments to generated IR (apmasell)

    PR #966: build: support building on GNU/Hurd (pinotree)

    PR #967: Expose library name in OrcJIT tracker (apmasell)

    PR #968: Update LLVM manual build instructions (apmasell)

    PR #969: update changelog on main for v0.40.1 (esc)

    PR #983: adding RTD conf file V2 as per request (esc)

    PR #985: Update release checklist post 0.41.0rc1 (esc)

    PR #988: Fix FreeBsd build (sklam)

Authors:

    apmasell

    esc

    folded

    pinotree

    sklam

    stuartarchibald

    tbennun

v0.40.1 (June 21, 2023)¶

Pull-Requests:

    PR #945: Fix #944. Add .argtypes to prevent errors in pypy. (Siu Kwan Lam)

    PR #947: Update SVML patch for LLVM 14 (Andre Masella)

    PR #949: Handle PowerPC synonyms (Andre Masella)

    PR #950: Fix incorrect byval and other attributes on LLVM 14 (Andre Masella)

Authors:

    Andre Masella

    Siu Kwan Lam

v0.40.0 (May 1, 2023)¶

This release predominantly upgrades to LLVM 14 and Python 3.11. Bindings to a \ 
large number of passes are added. The minimum supported Python version is now \ 
Python 3.8.

Note: A bug was discovered in LLVM’s RuntimeDyldELF on the Aarch64 platform \ 
that can cause segfaults when cross module symbols are linked. It is necessary \ 
for JIT users to build LLVM with the patch added in PR#926.

Pull-Requests:

    PR #827: Add more LLVM pass bindings (apmasell)

    PR #830: Add LLVM 14 support (apmasell)

    PR #860: the git tag for the RC needs an rc1 suffix (esc)

    PR #869: bump max Python version to 3.11 (esc sklam)

    PR #876: Remove llvmlite.llvmpy after deprecation (apmasell)

    PR #883: Adds support for calling functions with ‘tail’, ‘notail’, \ 
or ‘musttail’ markers. (bslatkin)

    PR #886: Simplify setup.py Python version guard (mbargull)

    PR #892: Bump minimum supported Python version to 3.8 (jamesobutler)

    PR #893: Upgrade to ubuntu-20.04 for azure pipeline CI (jamesobutler)

    PR #899: Run Minconda install with bash (gmarkall)

    PR #903: Fix flake8 config and style for flake8 6 (gmarkall)

    PR #905: Add YouCompleteMe configuration file and ignore vim swap files \ 
(gmarkall)

    PR #906: Replace importlib-resources legacy API use (sklam)

    PR #910: Aarch64 split build for LLVM14 (sklam)

    PR #921: Setup AzureCI to use py311 and llvm14 (sklam)

    PR #922: Fix AzureCI not using llvm14 on windows (sklam)

    PR #926: llvmdev recipe: Add patch that clears GOTOffsetMap (apmasell \ 
gmarkall sklam)

    PR #930: Update changelog for 0.40.0rc1 (sklam stuartarchibald)

    PR #931: Remove maximum Python version limit (sklam apmasell)

    PR #932: Fix wheel builds (sklam)

    PR #935: Disable zlib for LLVM on Windows (apmasell)

    PR #939: Bump llvmdev build number to include the nozlib change for windows \ 
(sklam)

    PR #940: Update CHANGE_LOG for 0.40.0 final. (stuartarchibald)

Authors:

    apmasell

    bslatkin

    esc

    gmarkall

    jamesobutler

    mbargull

    sklam

    stuartarchibald

v0.39.1 (September 1, 2022)¶

This is a maintenance release to fix build issues on MacOS.

Pull-Requests:

    PR #752: Skip test if libm is not found (Siu Kwan Lam)

    PR #865: Move Azure to use macos-11 (stuartarchibald)

    PR #874: Add zlib as a dependency for aarch64 (esc)

    PR #878: Update changelog (Andre Masella)

v0.39.0 (July 25, 2022)¶

This release predominantly adds new features and improves functionality.

    It’s now possible to directly set LLVM metadata on global variables.

    Functions and global variables now support the specification of a section in \ 
which they should be placed.

    The attribute source_file had been added to the ModuleRef class, it returns \ 
the module’s original file name.

    The FFI library binding to LLVM is now loaded with importlib to increase \ 
compatibility with other projects and improve start-up times.

    Linux builds now use the parallel option to make to speed up building the \ 
FFI library.

    Preliminary work to expose LLVM’s optimization-remarks interface has been \ 
undertaken. The bindings are exposed and tested, but not yet documented for \ 
general use (additional work is needed).

Deprecations:

    The llvmlite.llvmpy module has been deprecated as the functionality it \ 
provides is available through the llvmlite.ir module. See the deprecation guide \ 
in the user documentation for details and recommendations regarding replacement.

Pull-Requests:

    PR #328: Build C files separately on Linux and support parallel make \ 
(Michał Górny)

    PR #754: manylinux2014 aarch64 wheels with system compilers (esc)

    PR #760: add support for attaching metadata to global variables (Graham \ 
Markall John Törnblom)

    PR #786: Update Windows and OSX CI images. (stuartarchibald)

    PR #801: Update ffi.py (franzhaas)

    PR #803: llvm::Module::GetSourceFileName (J. Aaron Pendergrass)

    PR #806: Bump to v0.39.0dev (esc)

    PR #807: Exclude ExecutionEngine tests on linux 32 (esc)

    PR #809: Update CHANGE_LOG for 0.38.0 (stuartarchibald)

    PR #813: Add m1 support to conda build scripts (esc Stan Seibert)

    PR #815: update local references (esc)

    PR #816: remove configuration landscape service as it is no longer used (esc)

    PR #817: remove uppper limit on Python requires (esc)

    PR #819: adding rc and final release checklist templates (esc)

    PR #823: Add section to globals (Andreas Wrisley)

    PR #824: add GitHub URL for PyPi (Andrii Oriekhov)

    PR #825: Add flag handling to more instructions. (stuartarchibald Andre Masella)

    PR #826: Deprecated llvmlite.llvmpy (Andre Masella)

    PR #831: Format C++ code (Andre Masella)

    PR #832: DOC: Fix the syntax for the llvmlite discourse topic link. \ 
(stuartarchibald)

    PR #835: Add pre-commit hooks for clang-format (Andre Masella)

    PR #837: Add support for optimization remarks in pass managers (Siu Kwan Lam \ 
Andre Masella)

    PR #846: Cherry-Pick: #842 –> main :Changelog for 0.38.1 (esc)

    PR #851: adding the llvm_11_consecutive_registers.patch (esc)

    PR #857: Delegate passmanager remarks methods (Andre Masella)

    PR #858: Update CHANGE_LOG for 0.39.0 (esc Graham Markall stuartarchibald)

    PR #863: Update changelog for 0.39.0 release (Siu Kwan Lam)

    PR #864: Update release date for 0.39.0 release. (stuartarchibald)

    PR #867: Update CHANGE_LOG 0.39.0 final. (stuartarchibald)

Authors:

    Andrii Oriekhov

    Andreas Wrisley

    Andre Masella

    esc

    franzhaas

    Graham Markall

    J. Aaron Pendergrass

    John Törnblom

    Michał Górny

    Stan Seibert

    Siu Kwan Lam

    stuartarchibald
   2022-08-15 21:14:43 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-llvmlite: mark as BROKEN

Does not build with llvm 14
   2022-05-22 14:16:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-llvmlite: updated to 0.38.1

v0.38.1
This is a maintenance release to support the Apple M1 architecture.
   2022-01-14 20:49:10 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-llvmlite: updated to 0.38.0

v0.38.0 (January 13, 2022)

This release makes llvmlite compatible with Python 3.10. It also adds an abiname \ 
option to the target machine creation interface that mimics the same in LLVM. \ 
Further, a large number of functions are added to the IR API to support common \ 
uses of constant expressions. Finally, a number of bugs were fixed!
   2022-01-12 22:13:50 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
py-llvmlite: update to 0.37.0.

Changes not found.

pkgsrc change:
Add minimal patch to make this build with llvm 13 from an upstream
pull request. Remove BROKEN.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles