"File to patch:" Prompt on port installation [qt5-declarative]

Hi, I've got a bit of a sticky one I've been struggling to work out.

I was doing an update of my ports when I've come across an issue when it reaches "x11-toolkits/qt5-declarative".
When attempting to build this port [both with portmaster or make install], I am prompted with a "File to patch:" prompt.
Looking into the patch file it is applying, it is trying to find a file which simply does not exist.

The error occurs on the following line within files/patch-git_26229cf :

Code:
--- src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ src/declarative/graphicsitems/qdeclarativetextinput.cpp

This file simply does not exist anywhere within this port on my system. In fact, the only place I can find this file on my entire system, is within some old qt4 ports.

Is this a problem with the port itself, or has something gone crazy with my ports? I can't find anything in UPDATING, and according to freshports, this port was first removed, then recently reinstated after qt5-qml and qt5-quick were merged into it.

Any help would be apprecated.
 
What FreeBSD version do you use?

(edit)

For the record: I cannot reproduce any issues on FreeBSD 11.2 (Release):

Code:
peter@zefiris:/usr/ports/x11-toolkits/qt5-declarative$ make patch
===>  License LGPL21 accepted by the user
===>   qt5-declarative-5.11.2_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by qt5-declarative-5.11.2_1 for building
===>  Extracting for qt5-declarative-5.11.2_1
=> SHA256 Checksum OK for KDE/Qt/5.11.2/qtdeclarative-everywhere-src-5.11.2.tar.xz.
===>  Patching for qt5-declarative-5.11.2_1
===>  Applying FreeBSD patches for qt5-declarative-5.11.2_1
/usr/bin/sed -i.bak '/py_out/s#python#/usr/local/bin/python2.7#g'  /usr/ports/x11-toolkits/qt5-declarative/work/qtdeclarative-everywhere-src-5.11.2/qtdeclarative.pro
/usr/bin/sed -i.bak 's,python,/usr/local/bin/python2.7,g'  /usr/ports/x11-toolkits/qt5-declarative/work/qtdeclarative-everywhere-src-5.11.2/src/3rdparty/masm/masm.pri
Also interesting is that patch-git_26229cf doesn't appear to be an official patch:
Code:
peter@zefiris:/usr/ports/x11-toolkits/qt5-declarative$ ls files
patch-src_3rdparty_masm_assembler_ARM64Assembler.h
patch-src_3rdparty_masm_assembler_ARMAssembler.h
patch-src_3rdparty_masm_assembler_ARMv7Assembler.h
patch-src_3rdparty_masm_wtf_Platform.h
patch-tools_qmlcachegen_qmlcachegen.pro
I don't need to run portsnap to double check because an official patch would never try to patch something in src/<stuff> directly because the commonly used work directory for ports is always work.

Ergo: the patch would have tried to access files under work/qtdeclarative-everywhere-src-5.11.2/src.

So my guess is that you're either not using an official FreeBSD release or you're not using the official ports collection, or both I guess ;)

(edit2)
OR... I am a little bit too hasty and overlook a possible difference in architecture. Still, that doesn't explain the (ab)use of the src/* working directory which is not a common thing for ports. If this is all official and not some FreeBSD derivative then it's likely a mistake from the official maintainer.
 
I am running FreeBSD 11.2 Release [FreeBSD 11.2-RELEASE #5 r336466].

I have no idea how I would be running a non-official ports collection though. I simply run portsnap update the same as I have since commissioning the system.

Though looking at your files, I took at look at mine, and it is pulling down a completely different tarball. Here is what my distinfo file looks like

Code:
TIMESTAMP = 1474105531
SHA256 (KDE/Qt/5.5.1/qtquick1-opensource-src-5.5.1.tar.xz) = c812a7e59a8b9f0a87693181059933e15fef04bc875b6486cd653be1b9b51f2c
SIZE (KDE/Qt/5.5.1/qtquick1-opensource-src-5.5.1.tar.xz) = 16028732

I don't know where the problem is occurring here.


Edit: Looking at the commit history, I think your ports tree might be out of date. According to svn, qt5-declarative was re-added with the note "(Copied from head/x11-toolkits/qt5-quick, r484139)". I'm wondering if the port is actually broken now.
 
I am running FreeBSD 11.2 Release [FreeBSD 11.2-RELEASE #5 r336466].
Release #5? That's not a part of the version, it only shows if you use uname; this tells you how many times you (re)build:
Code:
peter@zefiris:/home/peter $ uname -vr
11.2-RELEASE-p4 FreeBSD 11.2-RELEASE-p4 #2 r340354: Mon Nov 12 19:20:46 CET 2018     peter@zefiris.intranet.lan:/usr/obj/usr/src/sys/ZEFIRIS
peter@zefiris:/home/peter $ freebsd-version -urk
11.2-RELEASE-p4
11.2-RELEASE-p4
11.2-RELEASE-p4
Either way, this shouldn't make much of a difference for the ports collection, though I am wondering if you're using a release or STABLE by any chance. I assume you're using the source tree to update your system? If so what does svn info /usr/src | grep -i url show you?

Edit: Looking at the commit history, I think your ports tree might be out of date.
How can you have a commit history if you're using portsnap? That doesn't add up. And probably also explains the differences. What does svn info /usr/ports | grep -i url tell you?

(edit)

Still, the official SVN repository is fully on-par with what I have, so... I don't know what you're using but it sure doesn't look official to me:
Code:
peter@zefiris:/home/peter/temp $ svn co https://svn.freebsd.org/ports/head/x11-toolkits/qt5-declarative ports
A    ports/files
A    ports/Makefile
A    ports/files/patch-src_3rdparty_masm_assembler_ARM64Assembler.h
A    ports/files/patch-src_3rdparty_masm_assembler_ARMAssembler.h
A    ports/files/patch-src_3rdparty_masm_assembler_ARMv7Assembler.h
A    ports/files/patch-src_3rdparty_masm_wtf_Platform.h
A    ports/files/patch-tools_qmlcachegen_qmlcachegen.pro
A    ports/pkg-plist
A    ports/pkg-descr
Checked out revision 485494.
So... What I'd suggest is trash your current ports tree and get a clean copy. Either through # portsnap fetch extract or the Subversion command I used here (though you'd need to grab head entirely).

Just be sure you're actually running FreeBSD and not some derivative, which is something I'm still somewhat suspecting.
 
Thanks for the reply.
I am most certain I am running FreeBSD...

Code:
freebsd-version -kru
11.2-RELEASE
11.2-RELEASE
11.2-RELEASE

As for the commit history, I was basing this on the FreeBSD svn web interface, in particular https://svnweb.freebsd.org/ports/he...tive/?limit_changes=0&view=log&pathrev=484140

I think I've worked out what is going on. The problem file, patch-git_26229cf, was introduced back in rev 434380. Somehow with the removal then re-addition of the port [which was actually a merge of two other ports], the old patch file wasn't removed from my system. I removed the files folder then restored the current patches from rev 484704 [same as the Makefile], and now I can successfully build the port.

Thanks very much for your assistance, it got me where I needed to go!
 
Back
Top