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

From: Adam Weinberger <adamw_at_adamw.org>
Date: Fri, 31 Mar 2023 15:14:31 UTC
On Fri, Mar 31, 2023 at 11:07 AM Guido Falsi <madpilot@freebsd.org> wrote:

> 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!
>

One other option is to make a vim-xxd flavor, which honestly may be the
best option. It would mean that xxd is built with the same configuration
that the mainline vim ports are built with, and vim and xxd already
conflict with each other (I'm not too concerned about vim-tiny and vim-xxd
conflicting as a byproduct).

# Adam


-- 
Adam Weinberger
adamw@adamw.org
https://www.adamw.org