libcaes-python 20240413__tar.gz → 20260520__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {libcaes-20240413 → libcaes_python-20260520}/AUTHORS +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/INSTALL +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/Makefile.am +2 -3
- {libcaes-20240413 → libcaes_python-20260520}/Makefile.in +5 -6
- libcaes_python-20260520/PKG-INFO +29 -0
- {libcaes-20240413 → libcaes_python-20260520}/README +1 -1
- libcaes_python-20260520/_build.py +275 -0
- {libcaes-20240413 → libcaes_python-20260520}/acinclude.m4 +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/byte_stream.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/common.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/config.h +3 -3
- {libcaes-20240413 → libcaes_python-20260520}/common/config_borlandc.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/config_msc.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/config_winapi.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/file_stream.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/memory.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/narrow_string.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/system_string.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/types.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/types.h.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/common/wide_string.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/config.guess +21 -41
- {libcaes-20240413 → libcaes_python-20260520}/config.sub +17 -34
- {libcaes-20240413 → libcaes_python-20260520}/configure +331 -360
- {libcaes-20240413 → libcaes_python-20260520}/configure.ac +14 -15
- libcaes_python-20260520/dpkg/changelog +5 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/copyright +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/definitions.h +3 -3
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/definitions.h.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/error.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/extern.h +6 -3
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/features.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/features.h.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/types.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes/types.h.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/include/libcaes.h.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes.rc +3 -3
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes.rc.in +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_context.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_definitions.h +5 -5
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_definitions.h.in +3 -3
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_error.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_error.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_extern.h +1 -7
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_libcerror.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_support.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_support.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_tweaked_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_tweaked_context.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_types.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/libcaes_unused.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcaes.spec +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/Makefile.am +0 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/Makefile.in +0 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_definitions.h +3 -3
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_error.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_error.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_extern.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_support.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_support.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_system.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_system.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_types.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/libcerror/libcerror_unused.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ltmain.sh +45 -38
- {libcaes-20240413 → libcaes_python-20260520}/m4/common.m4 +135 -79
- {libcaes-20240413 → libcaes_python-20260520}/m4/libcerror.m4 +17 -68
- {libcaes-20240413 → libcaes_python-20260520}/m4/libcrypto.m4 +21 -25
- {libcaes-20240413 → libcaes_python-20260520}/m4/libtool.m4 +40 -16
- {libcaes-20240413 → libcaes_python-20260520}/m4/ltoptions.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/ltsugar.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/ltversion.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/lt~obsolete.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/python.m4 +7 -5
- {libcaes-20240413 → libcaes_python-20260520}/manuals/libcaes.3 +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/crypt_cbc_fuzzer.cc +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/crypt_ccm_fuzzer.cc +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/crypt_ecb_fuzzer.cc +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/crypt_xts_fuzzer.cc +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/ossfuzz_libcaes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_context.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_crypt.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_crypt.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_crypt_modes.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_crypt_modes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_error.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_error.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_libcaes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_libcerror.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_python.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_tweaked_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_tweaked_context.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/pycaes_unused.h +1 -1
- libcaes_python-20260520/pyproject.toml +35 -0
- libcaes_python-20260520/pyproject.toml.in +35 -0
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_crypt_cbc.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_crypt_ccm.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_crypt_xts.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_error.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_libcaes.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_libcerror.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_macros.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_memory.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_memory.h +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_support.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_tweaked_context.c +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/caes_test_unused.h +1 -1
- {libcaes-20240413 → libcaes_python-20260520}/tests/pycaes_test_crypt_cbc.py +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/pycaes_test_crypt_ccm.py +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/pycaes_test_crypt_ecb.py +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/pycaes_test_crypt_xts.py +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/pycaes_test_support.py +2 -2
- {libcaes-20240413 → libcaes_python-20260520}/tests/test_library.sh +16 -5
- {libcaes-20240413 → libcaes_python-20260520}/tests/test_python_module.sh +27 -7
- libcaes-20240413/PKG-INFO +0 -13
- libcaes-20240413/dpkg/changelog +0 -5
- libcaes-20240413/pyproject.toml +0 -4
- libcaes-20240413/setup.cfg +0 -16
- libcaes-20240413/setup.cfg.in +0 -16
- libcaes-20240413/setup.py +0 -293
- {libcaes-20240413 → libcaes_python-20260520}/ABOUT-NLS +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/COPYING +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/COPYING.LESSER +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/ChangeLog +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/NEWS +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/aclocal.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/common/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/common/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/common/config.h.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/compile +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/config.rpath +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/depcomp +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/changelog.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/compat +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/control +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/libcaes-dev.install +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/libcaes-python3.install +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/libcaes.install +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/rules +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/dpkg/source/format +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/include/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/include/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/install-sh +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/libcaes/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/libcaes.pc.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/libcaes.spec.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/gettext.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/host-cpu-c-abi.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/iconv.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/intlmacosx.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/lib-ld.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/lib-link.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/lib-prefix.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/nls.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/po.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/progtest.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/tests.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/m4/types.m4 +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/manuals/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/manuals/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/missing +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_context/caes_test_context.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_crypt_cbc/caes_test_crypt_cbc.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_crypt_ccm/caes_test_crypt_ccm.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_crypt_xts/caes_test_crypt_xts.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_error/caes_test_error.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_support/caes_test_support.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/caes_test_tweaked_context/caes_test_tweaked_context.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/libcaes/libcaes.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/libcaes.sln +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/libcerror/libcerror.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/msvscpp/pycaes/pycaes.vcproj +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/ossfuzz/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/ChangeLog +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/Makefile.in.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/Makevars +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/Makevars.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/POTFILES.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/Rules-quot +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/boldquot.sed +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/en@boldquot.header +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/en@quot.header +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/insert-header.sin +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/quot.sed +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/po/remove-potcdate.sin +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/pycaes/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/test-driver +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/tests/Makefile.am +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/tests/Makefile.in +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/tests/test_manpage.sh +0 -0
- {libcaes-20240413 → libcaes_python-20260520}/tests/test_runner.sh +0 -0
|
File without changes
|
|
@@ -112,7 +112,7 @@ mkinstalldirs = $(install_sh) -d
|
|
|
112
112
|
CONFIG_HEADER = $(top_builddir)/common/config.h
|
|
113
113
|
CONFIG_CLEAN_FILES = include/libcaes/definitions.h \
|
|
114
114
|
include/libcaes/features.h include/libcaes/types.h \
|
|
115
|
-
dpkg/changelog libcaes.pc libcaes.spec
|
|
115
|
+
dpkg/changelog libcaes.pc libcaes.spec pyproject.toml
|
|
116
116
|
CONFIG_CLEAN_VPATH_FILES =
|
|
117
117
|
AM_V_P = $(am__v_P_@AM_V@)
|
|
118
118
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
|
@@ -198,7 +198,7 @@ am__define_uniq_tagged_files = \
|
|
|
198
198
|
done | $(am__uniquify_input)`
|
|
199
199
|
DIST_SUBDIRS = $(SUBDIRS)
|
|
200
200
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libcaes.pc.in \
|
|
201
|
-
$(srcdir)/libcaes.spec.in $(srcdir)/
|
|
201
|
+
$(srcdir)/libcaes.spec.in $(srcdir)/pyproject.toml.in \
|
|
202
202
|
$(top_srcdir)/dpkg/changelog.in \
|
|
203
203
|
$(top_srcdir)/include/libcaes/definitions.h.in \
|
|
204
204
|
$(top_srcdir)/include/libcaes/features.h.in \
|
|
@@ -477,10 +477,9 @@ PKGCONFIG_FILES = \
|
|
|
477
477
|
libcaes.pc.in
|
|
478
478
|
|
|
479
479
|
SETUP_PY_FILES = \
|
|
480
|
+
_build.py \
|
|
480
481
|
pyproject.toml \
|
|
481
|
-
|
|
482
|
-
setup.cfg.in \
|
|
483
|
-
setup.py
|
|
482
|
+
pyproject.toml.in
|
|
484
483
|
|
|
485
484
|
SPEC_FILES = \
|
|
486
485
|
libcaes.spec \
|
|
@@ -555,7 +554,7 @@ libcaes.pc: $(top_builddir)/config.status $(srcdir)/libcaes.pc.in
|
|
|
555
554
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
|
556
555
|
libcaes.spec: $(top_builddir)/config.status $(srcdir)/libcaes.spec.in
|
|
557
556
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
|
558
|
-
|
|
557
|
+
pyproject.toml: $(top_builddir)/config.status $(srcdir)/pyproject.toml.in
|
|
559
558
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
|
560
559
|
|
|
561
560
|
mostlyclean-libtool:
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: libcaes-python
|
|
3
|
+
Version: 20260520
|
|
4
|
+
Summary: Python bindings for libcaes
|
|
5
|
+
Maintainer-email: Joachim Metz <joachim.metz@gmail.com>
|
|
6
|
+
License-Expression: LGPL-3.0-or-later
|
|
7
|
+
Project-URL: Documentation, https://github.com/libyal/libcaes/wiki/Home
|
|
8
|
+
Project-URL: Homepage, https://github.com/libyal/libcaes
|
|
9
|
+
Project-URL: Repository, https://github.com/libyal/libcaes
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: COPYING
|
|
15
|
+
License-File: COPYING.LESSER
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
libcaes is a library to support cross-platform AES encryption.
|
|
19
|
+
|
|
20
|
+
Project information:
|
|
21
|
+
|
|
22
|
+
* Status: alpha
|
|
23
|
+
* Licence: LGPL-3.0-or-later
|
|
24
|
+
|
|
25
|
+
For more information see:
|
|
26
|
+
|
|
27
|
+
* Project documentation: https://github.com/libyal/libcaes/wiki/Home
|
|
28
|
+
* How to build from source: https://github.com/libyal/libcaes/wiki/Building
|
|
29
|
+
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
#
|
|
3
|
+
# Script to build and install Python-bindings.
|
|
4
|
+
# Version: 20260510
|
|
5
|
+
|
|
6
|
+
import glob
|
|
7
|
+
import gzip
|
|
8
|
+
import os
|
|
9
|
+
import shlex
|
|
10
|
+
import shutil
|
|
11
|
+
import subprocess
|
|
12
|
+
import sys
|
|
13
|
+
import tarfile
|
|
14
|
+
|
|
15
|
+
from setuptools import Extension
|
|
16
|
+
from setuptools._distutils.ccompiler import new_compiler
|
|
17
|
+
from setuptools.command.build_ext import build_ext
|
|
18
|
+
from setuptools.command.sdist import sdist
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ProjectInformation:
|
|
22
|
+
"""Project information."""
|
|
23
|
+
|
|
24
|
+
def __init__(self, compiler_type):
|
|
25
|
+
"""Initializes project information."""
|
|
26
|
+
super().__init__()
|
|
27
|
+
self._library_name = None
|
|
28
|
+
self._library_names = None
|
|
29
|
+
self._library_version = None
|
|
30
|
+
self.define_macros = None
|
|
31
|
+
self.include_directories = None
|
|
32
|
+
self.sources = None
|
|
33
|
+
|
|
34
|
+
self._read_configure_ac()
|
|
35
|
+
self._read_makefile_am()
|
|
36
|
+
self._determine_define_macros(compiler_type)
|
|
37
|
+
self._determine_sources()
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def module_name(self):
|
|
41
|
+
"""The Python module name."""
|
|
42
|
+
return f"py{self._library_name[3:]:s}"
|
|
43
|
+
|
|
44
|
+
def _determine_define_macros(self, compiler_type):
|
|
45
|
+
"""Determines the define macros."""
|
|
46
|
+
self.define_macros = []
|
|
47
|
+
|
|
48
|
+
if compiler_type != "msvc":
|
|
49
|
+
self.define_macros.append(("HAVE_CONFIG_H", "1"))
|
|
50
|
+
else:
|
|
51
|
+
self.define_macros.extend(
|
|
52
|
+
[
|
|
53
|
+
("_CRT_SECURE_NO_WARNINGS", "1"),
|
|
54
|
+
("UNICODE", "1"),
|
|
55
|
+
("WINVER", "0x0501"),
|
|
56
|
+
]
|
|
57
|
+
)
|
|
58
|
+
for library_name in self._library_names:
|
|
59
|
+
if library_name != self._library_name:
|
|
60
|
+
self.define_macros.append(
|
|
61
|
+
(f"HAVE_LOCAL_{library_name:s}".upper(), "1")
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
def _determine_sources(self):
|
|
65
|
+
"""Determines the source files."""
|
|
66
|
+
self.sources = []
|
|
67
|
+
|
|
68
|
+
for library_name in self._library_names:
|
|
69
|
+
for source_file in glob.glob(os.path.join(library_name, "*.[ly]")):
|
|
70
|
+
generated_source_file = f"{source_file[:-2]:s}.c"
|
|
71
|
+
if not os.path.exists(generated_source_file):
|
|
72
|
+
raise RuntimeError(
|
|
73
|
+
f"Missing generated source file: {generated_source_file:s}"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
source_files = glob.glob(os.path.join(library_name, "*.c"))
|
|
77
|
+
self.sources.extend(source_files)
|
|
78
|
+
|
|
79
|
+
source_files = glob.glob(os.path.join(self.module_name, "*.c"))
|
|
80
|
+
self.sources.extend(source_files)
|
|
81
|
+
|
|
82
|
+
def _read_configure_ac(self):
|
|
83
|
+
"""Reads the configure.ac file to initialize the project information."""
|
|
84
|
+
with open("configure.ac", encoding="utf-8") as file_object:
|
|
85
|
+
found_ac_init = False
|
|
86
|
+
found_library_name = False
|
|
87
|
+
for line in file_object.readlines():
|
|
88
|
+
line = line.strip()
|
|
89
|
+
if found_library_name:
|
|
90
|
+
library_version = line[1:-2]
|
|
91
|
+
self._library_version = library_version
|
|
92
|
+
break
|
|
93
|
+
|
|
94
|
+
elif found_ac_init:
|
|
95
|
+
library_name = line[1:-2]
|
|
96
|
+
self._library_name = library_name
|
|
97
|
+
found_library_name = True
|
|
98
|
+
|
|
99
|
+
elif line.startswith("AC_INIT"):
|
|
100
|
+
found_ac_init = True
|
|
101
|
+
|
|
102
|
+
if not self._library_name or not self._library_version:
|
|
103
|
+
raise RuntimeError(
|
|
104
|
+
"Unable to find library name and version in: configure.ac"
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
def _read_makefile_am(self):
|
|
108
|
+
"""Reads the Makefile.am file to initialize the project information."""
|
|
109
|
+
if not self._library_name:
|
|
110
|
+
raise RuntimeError("Missing library name")
|
|
111
|
+
|
|
112
|
+
self._library_names = []
|
|
113
|
+
self.include_directories = []
|
|
114
|
+
with open("Makefile.am", encoding="utf-8") as file_object:
|
|
115
|
+
found_subdirs = False
|
|
116
|
+
for line in file_object.readlines():
|
|
117
|
+
line = line.strip()
|
|
118
|
+
if found_subdirs:
|
|
119
|
+
library_name, _, _ = line.partition(" ")
|
|
120
|
+
|
|
121
|
+
self.include_directories.append(library_name)
|
|
122
|
+
|
|
123
|
+
if library_name.startswith("lib"):
|
|
124
|
+
self._library_names.append(library_name)
|
|
125
|
+
|
|
126
|
+
if library_name == self._library_name:
|
|
127
|
+
break
|
|
128
|
+
|
|
129
|
+
elif line.startswith("SUBDIRS"):
|
|
130
|
+
found_subdirs = True
|
|
131
|
+
|
|
132
|
+
if not self.include_directories or not self._library_names:
|
|
133
|
+
raise RuntimeError(
|
|
134
|
+
"Unable to find include directories and library names in: "
|
|
135
|
+
"Makefile.am"
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class custom_build_ext(build_ext):
|
|
140
|
+
"""Custom build_ext command."""
|
|
141
|
+
|
|
142
|
+
def _print_configure_summary(self, output):
|
|
143
|
+
"""Prints the configure summary."""
|
|
144
|
+
print_line = False
|
|
145
|
+
for line in output.split("\n"):
|
|
146
|
+
line = line.rstrip()
|
|
147
|
+
if line == "configure:":
|
|
148
|
+
print_line = True
|
|
149
|
+
|
|
150
|
+
if print_line:
|
|
151
|
+
print(line)
|
|
152
|
+
|
|
153
|
+
def _run_shell_command(self, command):
|
|
154
|
+
"""Runs a command."""
|
|
155
|
+
arguments = shlex.split(f"sh {command:s}")
|
|
156
|
+
process = subprocess.Popen(
|
|
157
|
+
arguments,
|
|
158
|
+
stderr=subprocess.PIPE,
|
|
159
|
+
stdout=subprocess.PIPE,
|
|
160
|
+
universal_newlines=True,
|
|
161
|
+
)
|
|
162
|
+
if not process:
|
|
163
|
+
raise RuntimeError(f"Running: {command:s} failed.")
|
|
164
|
+
|
|
165
|
+
output, error = process.communicate()
|
|
166
|
+
if process.returncode != 0:
|
|
167
|
+
error = "\n".join(error.split("\n")[-5:])
|
|
168
|
+
raise RuntimeError(f"Running: {command:s} failed with error:\n{error:s}.")
|
|
169
|
+
|
|
170
|
+
return output
|
|
171
|
+
|
|
172
|
+
def initialize_options(self):
|
|
173
|
+
"""Initialize build options."""
|
|
174
|
+
super().initialize_options()
|
|
175
|
+
|
|
176
|
+
compiler = new_compiler(compiler=self.compiler)
|
|
177
|
+
project_information = ProjectInformation(compiler.compiler_type)
|
|
178
|
+
|
|
179
|
+
# ext_module can be defined multiple times. It is currently assumed that
|
|
180
|
+
# this is due to the experimental nature of tool.setuptools.ext-modules
|
|
181
|
+
# at this time. Hence ext_modules is redefined as a single extension.
|
|
182
|
+
self.distribution.ext_modules = [
|
|
183
|
+
Extension(
|
|
184
|
+
project_information.module_name,
|
|
185
|
+
define_macros=project_information.define_macros,
|
|
186
|
+
include_dirs=project_information.include_directories,
|
|
187
|
+
sources=project_information.sources,
|
|
188
|
+
)
|
|
189
|
+
]
|
|
190
|
+
|
|
191
|
+
def run(self):
|
|
192
|
+
"""Runs the build."""
|
|
193
|
+
compiler = new_compiler(compiler=self.compiler)
|
|
194
|
+
if compiler.compiler_type != "msvc":
|
|
195
|
+
output = self._run_shell_command(
|
|
196
|
+
"configure --disable-nls --disable-shared-libs"
|
|
197
|
+
)
|
|
198
|
+
self._print_configure_summary(output)
|
|
199
|
+
|
|
200
|
+
super().run()
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
class custom_sdist(sdist):
|
|
204
|
+
"""Custom sdist command."""
|
|
205
|
+
|
|
206
|
+
def _repackage(self, source_package_file):
|
|
207
|
+
"""Repackages the source package file."""
|
|
208
|
+
name_prefix, _, name_suffix = source_package_file[:-4].partition("-")
|
|
209
|
+
|
|
210
|
+
source_prefix = f"{name_prefix:s}-{name_suffix:s}"
|
|
211
|
+
sdist_prefix = f"{name_prefix:s}_python-{name_suffix:s}"
|
|
212
|
+
sdist_package_file = os.path.join(self.dist_dir, f"{sdist_prefix:s}.tar.gz")
|
|
213
|
+
|
|
214
|
+
with tarfile.open(source_package_file, "r") as input_file:
|
|
215
|
+
with tarfile.open(sdist_package_file, "w:gz") as output_file:
|
|
216
|
+
for member in input_file.getmembers():
|
|
217
|
+
if member.name == source_prefix:
|
|
218
|
+
member.name = sdist_prefix
|
|
219
|
+
elif member.name.startswith(f"{source_prefix:s}/"):
|
|
220
|
+
member.name = member.name.replace(
|
|
221
|
+
f"{source_prefix:s}/", f"{sdist_prefix:s}/", 1
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
if member.isfile():
|
|
225
|
+
file_object = input_file.extractfile(member)
|
|
226
|
+
output_file.addfile(member, file_object)
|
|
227
|
+
else:
|
|
228
|
+
output_file.addfile(member)
|
|
229
|
+
|
|
230
|
+
return sdist_package_file
|
|
231
|
+
|
|
232
|
+
def run(self):
|
|
233
|
+
"""Runs the build."""
|
|
234
|
+
if self.formats != ["gztar"]:
|
|
235
|
+
print(f"Unsupported sdist format: {self.formats!s}")
|
|
236
|
+
sys.exit(1)
|
|
237
|
+
|
|
238
|
+
if glob.glob("*.tar.gz"):
|
|
239
|
+
print("Remove existing *.tar.gz files from source directory")
|
|
240
|
+
sys.exit(1)
|
|
241
|
+
|
|
242
|
+
exit_code = subprocess.call("make dist", shell=True)
|
|
243
|
+
if exit_code != 0:
|
|
244
|
+
raise RuntimeError("Failed to run: make dist")
|
|
245
|
+
|
|
246
|
+
if not os.path.exists(self.dist_dir):
|
|
247
|
+
os.mkdir(self.dist_dir)
|
|
248
|
+
|
|
249
|
+
source_package_file = glob.glob("*.tar.gz")[0]
|
|
250
|
+
|
|
251
|
+
name_prefix, _, name_suffix = source_package_file.partition("-")
|
|
252
|
+
|
|
253
|
+
sdist_package_file = os.path.join(
|
|
254
|
+
self.dist_dir, f"{name_prefix:s}_python-{name_suffix:s}"
|
|
255
|
+
)
|
|
256
|
+
# Decompression the source package.
|
|
257
|
+
with gzip.open(source_package_file, "rb") as input_file:
|
|
258
|
+
with open(source_package_file[:-3], "wb") as output_file:
|
|
259
|
+
shutil.copyfileobj(input_file, output_file)
|
|
260
|
+
os.remove(source_package_file)
|
|
261
|
+
|
|
262
|
+
# Create a PKG-INFO file and add it to the source package.
|
|
263
|
+
self.distribution.metadata.write_pkg_info(".")
|
|
264
|
+
|
|
265
|
+
pkg_info_path = f"{name_prefix:s}-{name_suffix[:-7]:s}/PKG-INFO"
|
|
266
|
+
with tarfile.open(source_package_file[:-3], "a:") as tar_file:
|
|
267
|
+
tar_file.add("PKG-INFO", arcname=pkg_info_path)
|
|
268
|
+
os.remove("PKG-INFO")
|
|
269
|
+
|
|
270
|
+
sdist_package_file = self._repackage(source_package_file[:-3])
|
|
271
|
+
os.remove(source_package_file[:-3])
|
|
272
|
+
|
|
273
|
+
# Inform what files were created.
|
|
274
|
+
dist_files = getattr(self.distribution, "dist_files", [])
|
|
275
|
+
dist_files.append(("sdist", "", sdist_package_file))
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
#define PACKAGE_NAME "libcaes"
|
|
327
327
|
|
|
328
328
|
/* Define to the full name and version of this package. */
|
|
329
|
-
#define PACKAGE_STRING "libcaes
|
|
329
|
+
#define PACKAGE_STRING "libcaes 20260520"
|
|
330
330
|
|
|
331
331
|
/* Define to the one symbol short name of this package. */
|
|
332
332
|
#define PACKAGE_TARNAME "libcaes"
|
|
@@ -335,7 +335,7 @@
|
|
|
335
335
|
#define PACKAGE_URL ""
|
|
336
336
|
|
|
337
337
|
/* Define to the version of this package. */
|
|
338
|
-
#define PACKAGE_VERSION "
|
|
338
|
+
#define PACKAGE_VERSION "20260520"
|
|
339
339
|
|
|
340
340
|
/* The size of `int', as computed by sizeof. */
|
|
341
341
|
#define SIZEOF_INT 4
|
|
@@ -361,7 +361,7 @@
|
|
|
361
361
|
/* #undef STRERROR_R_CHAR_P */
|
|
362
362
|
|
|
363
363
|
/* Version number of package */
|
|
364
|
-
#define VERSION "
|
|
364
|
+
#define VERSION "20260520"
|
|
365
365
|
|
|
366
366
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
|
367
367
|
/* #undef _FILE_OFFSET_BITS */
|