Re: graphics/xpaint updated to latest version

From: Nuno Teixeira <eduardo_at_freebsd.org>
Date: Fri, 14 Jul 2023 18:21:52 UTC
Could you please test latest commit?

https://cgit.freebsd.org/ports/commit/?id=a4a9f75641c15079469454c885f94d7a01953695

Thanks,

Danilo Egea Gondolfo <danilo@freebsd.org> escreveu no dia sexta, 14/07/2023
à(s) 17:20:

> On 14/07/2023 13:40, Nuno Teixeira wrote:
>
> Oldest version used a patch:
> ###
> --- Makefile.in.orig    2021-08-14 14:31:15 UTC
> +++ Makefile.in
> @@ -1203,16 +1203,15 @@ messages.h: preproc
>  messages.h: preproc
>         ./preproc > messages.h
>
> -XPaint.ad: app-defaults
> -       $(CC) $(CFLAGS) substads.c -o substads
> -       cd app-defaults ; \
> +XPaint.ad: substads app-defaults
> +       (cd app-defaults ; \
>         ../substads -appdefs \
>                     XPAINT_VERSION $(PACKAGE_VERSION) \
>                     XPAINT_SHAREDIR $(SHAREDIR) \
>                     XPAINT_PRINT_COMMAND "$(PRINT_CMD)" \
>                     XPAINT_PRINTER_LIST "$(PRINTER_LIST)" \
>                     XPAINT_POSTSCRIPT_VIEWER "$(POSTSCRIPT_VIEWER)" \
> -                   XPAINT_EXTERN_VIEWER "$(EXTERN_VIEWER)"
> +                   XPAINT_EXTERN_VIEWER "$(EXTERN_VIEWER)")
>         cp -p app-defaults/out/XPaint XPaint.ad
>
>  XPaint.ad.h: substads XPaint.ad
> ###
>
> that I'm not using here.
> Maybe this is related? Could you test it?
>
> Thanks
>
> Danilo Egea Gondolfo <danilo@freebsd.org> escreveu no dia sexta,
> 14/07/2023 à(s) 13:30:
>
>> On 14/07/2023 12:42, Nuno Teixeira wrote:
>>
>> Hello Danilo,
>>
>> My tests don't show that under poudriere with ALLOW_MAKE_JOBS=yes on 2
>> parallel jobs.
>>
>> Should we wait for build packagers to see its results?
>>
>> Thanks,
>>
>> Danilo Egea Gondolfo <danilo@freebsd.org> escreveu no dia sexta,
>> 14/07/2023 à(s) 12:27:
>>
>>> On 14/07/2023 11:12, Nuno Teixeira wrote:
>>>
>>> Hello all,
>>>
>>> xpaint has been updated to lastest version.
>>> Try out new features!
>>>
>>> I'm working on this update for more than 1 year but only yesterday I did
>>> have the courage and nerves to build *all* releases until 3.1.4 as a way to
>>> understand the best way to "hack" configures and Makefiles and stuff.
>>>
>>> Please give it a try and tell me if anything needs to be fixed, etc.
>>>
>>> Cheers!
>>>
>>>
>>> https://cgit.freebsd.org/ports/commit/?id=973a707c70478448af77004a07eab1f85c2f6757
>>>
>>> --
>>> Nuno Teixeira
>>> FreeBSD Committer (ports)
>>>
>>> Hi Eduardo,
>>>
>>> xpaint seems to not be multi-jobs-safe. The build will eventually fail
>>> with this:
>>> cd app-defaults ; \
>>> ../substads -appdefs \
>>>             XPAINT_VERSION 3.1.4 \
>>>             XPAINT_SHAREDIR /usr/local/share/xpaint \
>>>             XPAINT_PRINT_COMMAND "lp -d" \
>>>             XPAINT_PRINTER_LIST "lpstat -p | cut -d' ' -f 2" \
>>>             XPAINT_POSTSCRIPT_VIEWER "evince" \
>>>             XPAINT_EXTERN_VIEWER "display"
>>> /bin/sh: ../substads: Text file busy
>>> gmake[1]: *** [Makefile:1205: XPaint.ad] Error 126
>>> gmake[1]: *** Waiting for unfinished jobs....
>>> gmake[1]: Leaving directory
>>> '/usr/ports/graphics/xpaint/work/xpaint-3.1.4'
>>>
>>> You might want to use MAKE_JOBS_UNSAFE=yes.
>>>
>>>
>>>
>>
>> --
>> Nuno Teixeira
>> FreeBSD Committer (ports)
>>
>> That's because it's a race condition :)
>>
>> See:
>>
>> [danilo@capeta /usr/ports/graphics/xpaint]$ while : ; do make clean
>> >/dev/null ; make >/dev/null 2>&1 ; if [ $? -ne 0 ] ; then echo 'Failed' ;
>> else echo 'Worked' ; fi ; done
>> Worked
>> Worked
>> Failed
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Failed
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>> Failed
>> Failed
>> Worked
>> Worked
>> Worked
>> Worked
>> Worked
>>
>
>
> --
> Nuno Teixeira
> FreeBSD Committer (ports)
>
> Yeah apparently that addresses the problem. But as you are using
> USES=autoreconf, you need to patch Makefile.am actually.
>
> This change seems to be enough:
>
> -XPaint.ad: app-defaults
> +XPaint.ad: substads app-defaults
>
>

-- 
Nuno Teixeira
FreeBSD Committer (ports)