Omar Polo <o...@openbsd.org> writes:

> Klemens Nanni <k...@openbsd.org> writes:
>
>> Another port that I currently build as bundle of telegram desktop.
>> I figured it would be useful to other ports and a dedicated port always
>> gives us more control.
>>
>>      Information for inst:qr-code-generator-1.7.0
>>
>>      Comment:
>>      QR Code generator library
>>
>>      Description:
>>      High-quality QR Code generator library in Java, TypeScript/JavaScript,
>>      Python, Rust, C++, C.
>>
>>      This project aims to be the best, clearest QR Code generator library in
>>      multiple languages.  The primary goals are flexible options and absolute
>>      correctness. Secondary goals are compact implementation size and good
>>      documentation comments.
>>
>>      This package only contains libraries for C++ and C.
>>
>>      Maintainer: Klemens Nanni <k...@openbsd.org>
>>
>>      WWW: https://www.nayuki.io/page/qr-code-generator-library
>>
>>
>> Upstream has poor Makefiles, so I leveraged our bsd.{subdir,lib}.mk
>> which works great.
>>
>> Builds fine on amd64, arm64, sparc64.
>>
>> One thing seems off which I spotted by building on a pre clang 13 amd64
>> snapshot, here is the "fix" inlined from Makefile:
>>
>>
>> # XXX on an amd64 snapshot with base-clang 11.1.0:
>> # - base-clang builds without this
>> # - ports-gcc needs this
>> # on an amd64 snapshot with base-clang 13.0.0:
>> # - base-clang needs this
>> # - ports-gcc needs this
>> #
>> # qrcodegen.cpp:24:10: fatal error: 'algorithm' file not found
>> # include <algorithm>
>> CPPFLAGS +=          -I/usr/include/c++/v1
>>
>>
>> Feedback? OK?
>
> WANTLIB is missing.
>
> I think it'd be easier to just roll our own do-build and do-install
> instead of trying to hook bsd.lib.mk in.  Bonus points: we don't need
> the CPPFLAGS hack.  Also, we could enable the tests since we're here:
>
> % make test
> ===>  Regression tests for qr-code-generator-1.7.0
> cd /home/ports/pobj/qr-code-generator-1.7.0/QR-Code-generator-1.7.0/c &&  cc 
> -DQRCODEGEN_TEST qrcodegen{,-test}.c -o test &&  ./test
> All 521 test cases passed
>
> What do you think?
>
> [...]
> +     ${INSTALL_DATA} ${WRKSRC}/c/*.so* ${PREFIX}/lib
> +     ${INSTALL_DATA} ${WRKSRC}/c/*.h ${PREFIX}/include
> +     ${INSTALL_DATA} ${WRKSRC}/cpp/*.so* ${PREFIX}/lib
> +     ${INSTALL_DATA} ${WRKSRC}/cpp/*.hpp ${PREFIX}/include

just come to mind that we could simplify that to

        ${INSTALL_DATA} ${WRKSRC}/c{,pp}/*.so* ${PREFIX}/lib
        ${INSTALL_DATA} ${WRKSRC}/c{,pp}/*.h* ${PREFIX}/include

> +     ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/qr-code-generator
> +     ${INSTALL_DATA} ${WRKSRC}/Readme.markdown \
> +             ${PREFIX}/share/doc/qr-code-generator
> +
> +do-test:
> +     cd ${WRKSRC}/c && \
> +             ${CC} -DQRCODEGEN_TEST qrcodegen{,-test}.c -o test && \
> +             ./test
>  
>  .include <bsd.port.mk>
>
> [2. application/octet-stream; qr-code-generator.tar.gz]...

Reply via email to