Created attachment 166426 [details] Patch to version 0.7 (revision 6569) Since the update of lang/fpc to version 3, x11-fm/doublecmd has been broken. The latest stable version (0.6.6) is not compatible with latest version of lang/fpc. The required changes have been made in the development version of Double Commander, but there is no release as of yet. So I am temporary updating the port to an alpha version until the new version compatible with FPC 3 is released. Changes: - Update to development version 0.7 (revision 6569) - Fix build with latest lang/fpc Renamed files (modified): - files/patch-plugins__wlx__WlxMplayer__src__wlxMplayer.lpr to files/patch-plugins_wlx_WlxMplayer_src_wlxMplayer.lpr - files/patch-src__dmhelpmanager.pas to files/patch-src_dmhelpmanager.pas - files/patch-src__uGlobsPaths.pas to files/patch-src_uGlobsPaths.pas Tested using Poudriere.
Thank you Beñat I believe that DISTVERSION should be used for this particular version string, otherwise it looks like the port will require incrementing PORTEPOCH for the next normal version, which is undesirable. On every update, PORTVERSION should go forward (up), not backward (down). Please check that that PORTVERSION calculated from DISTVERSION is correct and expected, for this, and future versions. That is, in this change: That this PORTVERSION > current PORTVERSION That this PORTVERSION < future PORTVERSION (say, 0.7 or 0.8) You can check these with: # make -V DISTVERSION # make -V PORTVERSION # pkg --test-version <version1> <version2> (see man pkg-version)
Hi Kubilay, Thanks for your help! If I understand you correctly and also what I have read about DISTVERSION, I think it would be enough to change the PORTVERSION to 0.7.0.R6569 (pkg version returns 0.7.0.R6569 < 0.7.0, which would be the future release version) and rename the distfile accordingly (note that the distfile has been set up by me, as there is no official release for this version). Is that right? Otherwise, I don't understand how I am supposed to use DISTVERSION in this case, as I can't find much information about it (the only information I have found is the "5.4. The Distribution Files" chapter in the Porter's Handbook, and seems only related to distfiles).
(In reply to Beñat Gonzalez Etxepare from comment #2) You're welcome Beñat Basically DISTVERSION can be used to convert incompatible version strings into PORTVERSION compatible ones. That is to say, setting DISTVERSION *automatically* calculates a PORTVERSION value. See Table 5.2 in https://www.freebsd.org/doc/en/books/porters-handbook/makefile-distfiles.html In this case, DISTVERSION=0.7R6569 make -V PORTVERSION results in: PORTVERSION = 0.7.r6569 Testing this value: pkg version -t 0.7.r6569 0.7.0 < ^--- good (0.7.r6569 is less than future 0.7.0 (true)) Whereas: pkg version -t 0.7R6569 0.7.0 > ^--- not good (0.7R6569 is greater than future 0.7.0 (false)) So you see why we need to use DISTVERSION, otherwise PORTEPOCH will be needed in the future. Since we'll be setting DISTVERSION, you may also need to override DISTFILES in order to derive the correct distribution file filename. Hope that helps explain things :)
(In reply to Beñat Gonzalez Etxepare from comment #2) But yes, 0.7.0.R6569 is OK as well. Personally (having read the upstream page on the 0.7.0 alpha, I'd opt for: PORTVERSION= 0.7.0.a<build> or DISTVERSION=0.7.0alpha<build> As these are closer to the upstream designation of 'alpha', rather than R<build to denote a revision. As long as a PORTEPOCH bump is avoided, and future versions will be > than this one, we're good.
Created attachment 166443 [details] Patch to version 0.7.0 alpha 6569 Thanks a lot, your explanations were really useful. I have changed PORTVERSION as you have suggested in the new patch: PORTVERSION= 0.7.0.a<build> Hope everything is ok now. Best regards.
Please re-check QA (portlint, poudriere) after these changes and confirm :)
Sorry, I didn't mention. The new patch has also been tested using Poudriere :)
@Beñat Great! All you need to do now is set maintainer-approval to "+" You can do this by doing to Attachment -> Details -> maintainer-approval [+] Please do that for all future issues for attachments of ports you are maintainer of :) Prior to future updates, it's probably worth asking upstream to start distributing nightly (or per commit) source tarballs. Users (and us) prefer to see things distributed from the official upstream (trust, security, etc)
> All you need to do now is set maintainer-approval to "+" Done. I will keep this in mind for future attachments also :) > it's probably worth asking upstream to start distributing nightly [..] I think this will be an isolated version until the new release is available, so I didn't want to bother upstream developers with setting up new things. But I am aware this isn't best practice (and quite untrusty). That being said, if any new updates are to be made from development version, I will take your advice. Thanks again for all your help!
(In reply to Beñat Gonzalez Etxepare from comment #9) You're more than welcome, keep up the good work
I am getting this build failure on 9.3/i386 in poudriere with default OPTIONs: [...] /wrkdirs/usr/ports/x11-fm/doublecmd/work/doublecmd-0.7.0.a6569/src/./platform/unix/ukeyfile.pas(74,15) Note: (3250) Virtual method "UpdateFile;" has a lower visibility (protected) than parent class TCustomIniFile (public) /wrkdirs/usr/ports/x11-fm/doublecmd/work/doublecmd-0.7.0.a6569/src/./platform/unix/ukeyfile.pas(92,3) Warning: (5093) function result variable of a managed type does not seem to initialized /wrkdirs/usr/ports/x11-fm/doublecmd/work/doublecmd-0.7.0.a6569/src/./platform/unix/ukeyfile.pas(150,1) Fatal: (3202) Procedure too complex, it requires too many registers Fatal: (1018) Compilation aborted Error: /usr/local/bin/ppc386 returned an error exitcode Error: (lazarus) Compile Project, Mode: NoDebug Full Optimizations, Target: /wrkdirs/usr/ports/x11-fm/doublecmd/work/doublecmd-0.7.0.a6569/doublecmd: stopped with exit code 256 ERROR: failed compiling of project /wrkdirs/usr/ports/x11-fm/doublecmd/work/doublecmd-0.7.0.a6569/src/doublecmd.lpi *** [do-build] Error code 2 Stop in /usr/ports/x11-fm/doublecmd. Also there is this general warning in stage-qa: ====> Running Q/A tests (stage-qa) Warning: you need USES=desktop-file-utils Could you look into this?
Created attachment 168100 [details] Patch to version 0.7.0 Sorry, it seems there was an error with the i386 architecture in the submitted version. In any case, the new version 0.7.0 has just been released today and this error seems to be fixed. The attached patch brings the official version 0.7.0. I have also added desktop-file-utils to USES clause. Tested with both i386 and amd64 architectures using Poudriere.
A commit references this bug: Author: riggs Date: Sun Mar 13 21:39:38 UTC 2016 New revision: 411032 URL: https://svnweb.freebsd.org/changeset/ports/411032 Log: Un-break port, update to upstream version 0.7.0 While on it: - Pet portlint PR: 206840 Submitted by: bbtruk@users.sourceforge.net (maintainer) MFH: 2016Q1 Changes: head/x11-fm/doublecmd/Makefile head/x11-fm/doublecmd/distinfo head/x11-fm/doublecmd/files/patch-plugins__wlx__WlxMplayer__src__wlxMplayer.lpr head/x11-fm/doublecmd/files/patch-plugins_wlx_WlxMplayer_src_wlxMplayer.lpr head/x11-fm/doublecmd/files/patch-src__dmhelpmanager.pas head/x11-fm/doublecmd/files/patch-src__uGlobsPaths.pas head/x11-fm/doublecmd/files/patch-src_dmhelpmanager.pas head/x11-fm/doublecmd/files/patch-src_uGlobsPaths.pas
(In reply to Beñat Gonzalez Etxepare from comment #12) Great, thanks for looking into it!
A commit references this bug: Author: riggs Date: Mon Mar 14 10:08:54 UTC 2016 New revision: 411053 URL: https://svnweb.freebsd.org/changeset/ports/411053 Log: MFH: r411032 Un-break port, update to upstream version 0.7.0 While on it: - Pet portlint PR: 206840 Submitted by: bbtruk@users.sourceforge.net (maintainer) Approved by: ports-secteam (feld) Changes: _U branches/2016Q1/ branches/2016Q1/x11-fm/doublecmd/Makefile branches/2016Q1/x11-fm/doublecmd/distinfo branches/2016Q1/x11-fm/doublecmd/files/patch-plugins__wlx__WlxMplayer__src__wlxMplayer.lpr branches/2016Q1/x11-fm/doublecmd/files/patch-plugins_wlx_WlxMplayer_src_wlxMplayer.lpr branches/2016Q1/x11-fm/doublecmd/files/patch-src__dmhelpmanager.pas branches/2016Q1/x11-fm/doublecmd/files/patch-src__uGlobsPaths.pas branches/2016Q1/x11-fm/doublecmd/files/patch-src_dmhelpmanager.pas branches/2016Q1/x11-fm/doublecmd/files/patch-src_uGlobsPaths.pas