Re: git: de841b40d24d - main - sysutils/xxd: New port

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Fri, 31 Mar 2023 15:07:56 UTC
On 31/03/23 16:32, Guido Falsi wrote:
> On 31/03/23 16:30, Adam Weinberger wrote:
>>
>>
>>> On Mar 31, 2023, at 10:28, Guido Falsi <madpilot@freebsd.org> wrote:
>>>
>>> On 31/03/23 15:49, Adam Weinberger wrote:
>>>> On Thu, Mar 30, 2023 at 4:45 PM Guido Falsi <madpilot@freebsd.org 
>>>> <mailto:madpilot@freebsd.org>> wrote:
>>>>     The branch main has been updated by madpilot:
>>>>     URL:
>>>>     
>>>> https://cgit.FreeBSD.org/ports/commit/?id=de841b40d24d22ab51ad05ed632e025903fbb41f <https://cgit.FreeBSD.org/ports/commit/?id=de841b40d24d22ab51ad05ed632e025903fbb41f>
>>>>     commit de841b40d24d22ab51ad05ed632e025903fbb41f
>>>>     Author:     Guido Falsi <madpilot@FreeBSD.org>
>>>>     AuthorDate: 2023-03-30 20:42:54 +0000
>>>>     Commit:     Guido Falsi <madpilot@FreeBSD.org>
>>>>     CommitDate: 2023-03-30 20:42:54 +0000
>>>>          sysutils/xxd: New port
>>>>          This is the standalone version of the xxd tool provided by 
>>>> vim.
>>>>          Submitted by:   Gianmarco Giovannelli <gmarco@giovannelli.it
>>>>     <mailto:gmarco@giovannelli.it>>
>>>>     diff --git a/sysutils/xxd/Makefile b/sysutils/xxd/Makefile
>>>>     new file mode 100644
>>>>     index 000000000000..378f364cf4bf
>>>>     --- /dev/null
>>>>     +++ b/sysutils/xxd/Makefile
>>>>     @@ -0,0 +1,26 @@
>>>>     +PORTNAME=      xxd
>>>>     +DISTVERSIONPREFIX=     v
>>>>     +DISTVERSION=   9.0.1366
>>>>     +CATEGORIES=    sysutils
>>>>     +
>>>>     +MAINTAINER= gmarco@giovannelli.it <mailto:gmarco@giovannelli.it>
>>>>     +COMMENT=       Hexdump and reverse hexdump utility
>>>>     +WWW= https://github.com/mew-cx/xxd <https://github.com/mew-cx/xxd>
>>>>     +
>>>>     +CONFLICTS_INSTALL=     vim-[0-9]* vim-gtk2 vim-gtk3 vim-motif 
>>>> vim-x11
>>>>     +
>>>>     +ALL_TARGET=    ${PORTNAME}
>>>>     +PORTSCOUT=     ignore:1
>>>>     +EXTRACT_AFTER_ARGS=    --include='*/src/xxd*'
>>>>     +WRKSRC_SUBDIR= src/xxd
>>>>     +
>>>>     +PLIST_FILES=   bin/xxd
>>>>     +
>>>>     +USE_GITHUB=    yes
>>>>     +GH_ACCOUNT=    vim
>>>>     +GH_PROJECT=    vim
>>>>     +
>>>>     +do-install:
>>>>     +       ${INSTALL_PROGRAM} ${WRKSRC}/xxd ${STAGEDIR}${PREFIX}/bin
>>>>     +
>>>>     +.include <bsd.port.mk <http://bsd.port.mk>>
>>>> The WWW is odd here. The source files are coming from 
>>>> github.com/vim/vim <http://github.com/vim/vim>, but the WWW is for a 
>>>> related but unused project.
>>>
>>> Oops, you're right. Submitter proposed to use a fork, but later I 
>>> decided grabbing the original vim distribution was better, I must 
>>> have forgotten updating the WWW line.
>>>
>>> Will fix it!
>>>
>>>> I update vim at the beginning of every month plus whenever new 
>>>> minors are released, and whenever there are patches that it's 
>>>> important for us to downstream. Rather than pinning xxd to a version 
>>>> that will be old literally tomorrow, why not pull the DISTVERSION 
>>>> and distinfo from editors/vim/Makefile?
>>>
>>> That would be a good idea, but while using vim distinfo is trivial, 
>>> I'm not sure how to import DISTVERSION from another port. Including 
>>> the Makefile would override a bunch of other variables.
>>
>> ${MAKE_CMD} -V DISTVERSION
>>
>> :-)
> 
> Uhm I guess I need to pass it the vim makefile too so it would be:
> 
> ${MAKE_CMD} -f ../editors/vim/Makefile -V DISTVERSION
> 
> I guess. Does not look pretty, but could work.
> 

Writing this here, for the record:

This required some more work. I found inspiration in the 
devel/git-merge-changelog port.

The BSDMAKE variable is defined only after bsd.port.pre.mk, so one needs 
to split the include of bsd.port.mk and extract values after the first 
one, into temporary variables that are referenced at the start of the 
Makefile.

Committing fixes shortly.

Thanks for the suggestions!

-- 
Guido Falsi <madpilot@FreeBSD.org>