aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-07-31 16:31:03 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-07-31 16:39:55 +0000
commit6c6ce4749990e9c4ed040e5998cca625009a0e4a (patch)
tree1291a001f7486ac2f6e2197f6a3fd4f73d974397
parentba55ecee552700a5f8a85e5260ac272276cba580 (diff)
downloadports-6c6ce4749990e9c4ed040e5998cca625009a0e4a.tar.gz
ports-6c6ce4749990e9c4ed040e5998cca625009a0e4a.zip
archivers/py-brotli: Use archivers/brotli instead of bundled one
- Bump PORTREVISION for dependency and package change
-rw-r--r--archivers/py-brotli/Makefile15
-rw-r--r--archivers/py-brotli/files/patch-setup.py111
2 files changed, 125 insertions, 1 deletions
diff --git a/archivers/py-brotli/Makefile b/archivers/py-brotli/Makefile
index 7fabda7a36e3..6138c5a79e01 100644
--- a/archivers/py-brotli/Makefile
+++ b/archivers/py-brotli/Makefile
@@ -1,5 +1,6 @@
PORTNAME= brotli
PORTVERSION= 1.0.9
+PORTREVISION= 1
CATEGORIES= archivers python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,13 +13,25 @@ WWW= https://github.com/google/brotli
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= compiler:c++0x cpe python shebangfix zip
+BUILD_DEPENDS= brotli>=${PORTVERSION}:archivers/brotli
+LIB_DEPENDS= libbrotlicommon.so:archivers/brotli
+
+USES= compiler:c++0x cpe pkgconfig python shebangfix zip
USE_PYTHON= autoplist concurrent distutils
CPE_VENDOR= google
SHEBANG_FILES= python/bro.py
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/setup.py
+ @${MKDIR} ${WRKSRC}/common/
+# Clean up bundled libraries
+ @${RM} -r ${WRKSRC}/c/
+
+pre-configure:
+ @${PRINTF} "#define BROTLI_VERSION 0x%x%03x%03x\n" `pkgconf --modversion libbrotlicommon | sed 's|\.| |g'` > ${WRKSRC}/common/version.h
+
post-install:
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
diff --git a/archivers/py-brotli/files/patch-setup.py b/archivers/py-brotli/files/patch-setup.py
new file mode 100644
index 000000000000..9f97287a706f
--- /dev/null
+++ b/archivers/py-brotli/files/patch-setup.py
@@ -0,0 +1,111 @@
+--- setup.py.orig 2020-08-27 06:24:08 UTC
++++ setup.py
+@@ -25,7 +25,7 @@ CURR_DIR = os.path.abspath(os.path.dirname(os.path.rea
+
+ def get_version():
+ """ Return BROTLI_VERSION string as defined in 'common/version.h' file. """
+- version_file_path = os.path.join(CURR_DIR, 'c', 'common', 'version.h')
++ version_file_path = os.path.join(CURR_DIR, 'common', 'version.h')
+ version = 0
+ with open(version_file_path, 'r') as f:
+ for line in f:
+@@ -181,92 +181,17 @@ EXT_MODULES = [
+ '_brotli',
+ sources=[
+ 'python/_brotli.cc',
+- 'c/common/constants.c',
+- 'c/common/context.c',
+- 'c/common/dictionary.c',
+- 'c/common/platform.c',
+- 'c/common/transform.c',
+- 'c/dec/bit_reader.c',
+- 'c/dec/decode.c',
+- 'c/dec/huffman.c',
+- 'c/dec/state.c',
+- 'c/enc/backward_references.c',
+- 'c/enc/backward_references_hq.c',
+- 'c/enc/bit_cost.c',
+- 'c/enc/block_splitter.c',
+- 'c/enc/brotli_bit_stream.c',
+- 'c/enc/cluster.c',
+- 'c/enc/command.c',
+- 'c/enc/compress_fragment.c',
+- 'c/enc/compress_fragment_two_pass.c',
+- 'c/enc/dictionary_hash.c',
+- 'c/enc/encode.c',
+- 'c/enc/encoder_dict.c',
+- 'c/enc/entropy_encode.c',
+- 'c/enc/fast_log.c',
+- 'c/enc/histogram.c',
+- 'c/enc/literal_cost.c',
+- 'c/enc/memory.c',
+- 'c/enc/metablock.c',
+- 'c/enc/static_dict.c',
+- 'c/enc/utf8_util.c',
+ ],
+ depends=[
+- 'c/common/constants.h',
+- 'c/common/context.h',
+- 'c/common/dictionary.h',
+- 'c/common/platform.h',
+- 'c/common/transform.h',
+- 'c/common/version.h',
+- 'c/dec/bit_reader.h',
+- 'c/dec/huffman.h',
+- 'c/dec/prefix.h',
+- 'c/dec/state.h',
+- 'c/enc/backward_references.h',
+- 'c/enc/backward_references_hq.h',
+- 'c/enc/backward_references_inc.h',
+- 'c/enc/bit_cost.h',
+- 'c/enc/bit_cost_inc.h',
+- 'c/enc/block_encoder_inc.h',
+- 'c/enc/block_splitter.h',
+- 'c/enc/block_splitter_inc.h',
+- 'c/enc/brotli_bit_stream.h',
+- 'c/enc/cluster.h',
+- 'c/enc/cluster_inc.h',
+- 'c/enc/command.h',
+- 'c/enc/compress_fragment.h',
+- 'c/enc/compress_fragment_two_pass.h',
+- 'c/enc/dictionary_hash.h',
+- 'c/enc/encoder_dict.h',
+- 'c/enc/entropy_encode.h',
+- 'c/enc/entropy_encode_static.h',
+- 'c/enc/fast_log.h',
+- 'c/enc/find_match_length.h',
+- 'c/enc/hash.h',
+- 'c/enc/hash_composite_inc.h',
+- 'c/enc/hash_forgetful_chain_inc.h',
+- 'c/enc/hash_longest_match64_inc.h',
+- 'c/enc/hash_longest_match_inc.h',
+- 'c/enc/hash_longest_match_quickly_inc.h',
+- 'c/enc/hash_rolling_inc.h',
+- 'c/enc/hash_to_binary_tree_inc.h',
+- 'c/enc/histogram.h',
+- 'c/enc/histogram_inc.h',
+- 'c/enc/literal_cost.h',
+- 'c/enc/memory.h',
+- 'c/enc/metablock.h',
+- 'c/enc/metablock_inc.h',
+- 'c/enc/params.h',
+- 'c/enc/prefix.h',
+- 'c/enc/quality.h',
+- 'c/enc/ringbuffer.h',
+- 'c/enc/static_dict.h',
+- 'c/enc/static_dict_lut.h',
+- 'c/enc/utf8_util.h',
+- 'c/enc/write_bits.h',
+ ],
+ include_dirs=[
+- 'c/include',
++ '%%LOCALBASE%%/include',
++ ],
++ libraries=[
++ 'brotlicommon', 'brotlidec', 'brotlienc',
++ ],
++ library_dirs=[
++ '%%LOCALBASE%%/lib',
+ ],
+ language='c++'),
+ ]