Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Nov 2020 17:54:58 +0000 (UTC)
From:      Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r555241 - in head/www: . ls-qpack ls-qpack/files
Message-ID:  <202011151754.0AFHswr6001471@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sunpoet
Date: Sun Nov 15 17:54:57 2020
New Revision: 555241
URL: https://svnweb.freebsd.org/changeset/ports/555241

Log:
  Add ls-qpack 2.2.1
  
  QPACK is the compression mechanism used by HTTP/3 to compress HTTP headers. It
  is in the process of being standardazed by the QUIC Working Group. The QPACK
  Internet-Draft is has been stable for some time and we don't expect functional
  changes to it before the final RFC is released.
  
  ls-qpack is a full-featured, tested, and fast QPACK library. The QPACK encoder
  produces excellent compression results based on an innovative mnemonic technique
  (to be described in a future article). It boasts the fastest Huffman encoder and
  decoder.
  
  The library is production quality. It is used in OpenLiteSpeed, LiteSpeed Web
  Server, and LiteSpeed Web ADC.
  
  WWW: https://github.com/litespeedtech/ls-qpack

Added:
  head/www/ls-qpack/
  head/www/ls-qpack/Makefile   (contents, props changed)
  head/www/ls-qpack/distinfo   (contents, props changed)
  head/www/ls-qpack/files/
  head/www/ls-qpack/files/patch-CMakeLists.txt   (contents, props changed)
  head/www/ls-qpack/files/patch-bin-CMakeLists.txt   (contents, props changed)
  head/www/ls-qpack/files/patch-bin-interop-decode.c   (contents, props changed)
  head/www/ls-qpack/pkg-descr   (contents, props changed)
  head/www/ls-qpack/pkg-plist   (contents, props changed)
Modified:
  head/www/Makefile

Modified: head/www/Makefile
==============================================================================
--- head/www/Makefile	Sun Nov 15 17:50:50 2020	(r555240)
+++ head/www/Makefile	Sun Nov 15 17:54:57 2020	(r555241)
@@ -315,6 +315,7 @@
     SUBDIR += ljdeps
     SUBDIR += logswan
     SUBDIR += logtools
+    SUBDIR += ls-qpack
     SUBDIR += lua-resty-core
     SUBDIR += lua-resty-lrucache
     SUBDIR += luakit

Added: head/www/ls-qpack/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/Makefile	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,39 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	ls-qpack
+PORTVERSION=	2.2.1
+DISTVERSIONPREFIX=	v
+CATEGORIES=	www
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	QPACK compression library for use with HTTP/3
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libxxhash.so:devel/xxhash
+
+USES=		cmake
+
+CMAKE_OFF=	LSQPACK_TESTS
+CMAKE_ON=	BUILD_SHARED_LIBS LSQPACK_BIN LSQPACK_XXH
+
+GH_ACCOUNT=	litespeedtech
+USE_GITHUB=	yes
+
+post-patch:
+# Clean up bundled libraries
+	@${RM} -fr ${WRKSRC}/deps/
+
+do-install:
+	${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/encode-int ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/fuzz-decode ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/interop-decode ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/interop-encode ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_DATA} ${WRKSRC}/huff-tables.h ${STAGEDIR}${PREFIX}/include/
+	${INSTALL_DATA} ${WRKSRC}/lsqpack.h ${STAGEDIR}${PREFIX}/include/
+	${INSTALL_DATA} ${WRKSRC}/lsxpack_header.h ${STAGEDIR}${PREFIX}/include/
+	${INSTALL_LIB} ${INSTALL_WRKSRC}/libls-qpack.so ${STAGEDIR}${PREFIX}/lib/
+
+.include <bsd.port.mk>

Added: head/www/ls-qpack/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/distinfo	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1605426299
+SHA256 (litespeedtech-ls-qpack-v2.2.1_GH0.tar.gz) = 4c0419ce49cea00546c23785e90d45c1661ffa7c948c1d693f705c7a2cd45230
+SIZE (litespeedtech-ls-qpack-v2.2.1_GH0.tar.gz) = 705219

Added: head/www/ls-qpack/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/files/patch-CMakeLists.txt	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,16 @@
+--- CMakeLists.txt.orig	2020-05-28 18:23:09 UTC
++++ CMakeLists.txt
+@@ -20,9 +20,11 @@ add_library(ls-qpack "")
+ target_include_directories(ls-qpack PUBLIC .)
+ target_sources(ls-qpack PRIVATE lsqpack.c)
+ 
+-target_include_directories(ls-qpack PRIVATE deps/xxhash/)
+ if(LSQPACK_XXH)
+-    target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c)
++    find_path(XXHASH_INCLUDE_DIR xxhash.h)
++    find_library(XXHASH_LIBRARY xxhash)
++    include_directories(${XXHASH_INCLUDE_DIR})
++    link_libraries(${XXHASH_LIBRARY})
+ endif()
+ 
+ if(MSVC)

Added: head/www/ls-qpack/files/patch-bin-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/files/patch-bin-CMakeLists.txt	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,12 @@
+--- bin/CMakeLists.txt.orig	2020-05-28 18:23:09 UTC
++++ bin/CMakeLists.txt
+@@ -2,8 +2,7 @@ function(lsqpack_add_executable TARGET)
+     add_executable(${TARGET} "")
+     target_link_libraries(${TARGET} PRIVATE ls-qpack)
+ 
+-    target_sources(${TARGET} PRIVATE ${TARGET}.c ../deps/xxhash/xxhash.c)
+-    target_include_directories(${TARGET} PRIVATE ../deps/xxhash)
++    target_sources(${TARGET} PRIVATE ${TARGET}.c)
+ 
+     if(MSVC)
+         target_include_directories(${TARGET} PRIVATE ../wincompat)

Added: head/www/ls-qpack/files/patch-bin-interop-decode.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/files/patch-bin-interop-decode.c	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,11 @@
+--- bin/interop-decode.c.orig	2020-05-28 18:23:09 UTC
++++ bin/interop-decode.c
+@@ -41,7 +41,7 @@
+ 
+ #include "lsqpack.h"
+ #include "lsxpack_header.h"
+-#include "xxhash.h"
++#include <xxhash.h>
+ #ifndef DEBUG
+ #include "lsqpack-test.h"
+ #endif

Added: head/www/ls-qpack/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/pkg-descr	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,14 @@
+QPACK is the compression mechanism used by HTTP/3 to compress HTTP headers. It
+is in the process of being standardazed by the QUIC Working Group. The QPACK
+Internet-Draft is has been stable for some time and we don't expect functional
+changes to it before the final RFC is released.
+
+ls-qpack is a full-featured, tested, and fast QPACK library. The QPACK encoder
+produces excellent compression results based on an innovative mnemonic technique
+(to be described in a future article). It boasts the fastest Huffman encoder and
+decoder.
+
+The library is production quality. It is used in OpenLiteSpeed, LiteSpeed Web
+Server, and LiteSpeed Web ADC.
+
+WWW: https://github.com/litespeedtech/ls-qpack

Added: head/www/ls-qpack/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/ls-qpack/pkg-plist	Sun Nov 15 17:54:57 2020	(r555241)
@@ -0,0 +1,8 @@
+bin/encode-int
+bin/fuzz-decode
+bin/interop-decode
+bin/interop-encode
+include/huff-tables.h
+include/lsqpack.h
+include/lsxpack_header.h
+lib/libls-qpack.so



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011151754.0AFHswr6001471>