Sun Dec 4 21:46:54 2016 UTC ()
x11/qt5-qtbase: Fix build on FreeBSD and DragonFly

1. DragonFly needs -lexecinfo LDFLAG
2. Qlockfile is unsupported on DF, allow to fall through
3. QStorageInfo only worked for NetBSD.  Take patch from historical
   ports to fix FreeBSD, DragonFly, and OpenBSD.  (It's been fixed
   upstread for QT5 5.6)


(marino)
diff -r1.38 -r1.39 pkgsrc/x11/qt5-qtbase/Makefile
diff -r1.30 -r1.31 pkgsrc/x11/qt5-qtbase/distinfo
diff -r1.1 -r1.2 pkgsrc/x11/qt5-qtbase/patches/patch-src_corelib_io_qlockfile__unix.cpp
diff -r1.5 -r1.6 pkgsrc/x11/qt5-qtbase/patches/patch-src_corelib_io_qstorageinfo_unix.cpp

cvs diff -r1.38 -r1.39 pkgsrc/x11/qt5-qtbase/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtbase/Makefile 2016/12/04 05:17:15 1.38
+++ pkgsrc/x11/qt5-qtbase/Makefile 2016/12/04 21:46:54 1.39
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.38 2016/12/04 05:17:15 ryoon Exp $ 1# $NetBSD: Makefile,v 1.39 2016/12/04 21:46:54 marino Exp $
2 2
3DISTNAME= qtbase-opensource-src-${QTVERSION} 3DISTNAME= qtbase-opensource-src-${QTVERSION}
4PKGNAME= qt5-qtbase-${QTVERSION} 4PKGNAME= qt5-qtbase-${QTVERSION}
5PKGREVISION= 9 5PKGREVISION= 9
6COMMENT= C++ X GUI toolkit 6COMMENT= C++ X GUI toolkit
7 7
8.include "../../x11/qt5-qtbase/Makefile.common" 8.include "../../x11/qt5-qtbase/Makefile.common"
9 9
10.if defined(MAKE_JOBS) 10.if defined(MAKE_JOBS)
11. if !defined(MAKE_JOBS_SAFE) || empty(MAKE_JOBS_SAFE:M[nN][oO]) 11. if !defined(MAKE_JOBS_SAFE) || empty(MAKE_JOBS_SAFE:M[nN][oO])
12CONFIGURE_ENV+= MAKE_FLAGS=-j${MAKE_JOBS:Q} 12CONFIGURE_ENV+= MAKE_FLAGS=-j${MAKE_JOBS:Q}
13. endif 13. endif
14.endif 14.endif
@@ -74,26 +74,27 @@ CONFIGURE_ARGS+= -platform solaris-cc-64 @@ -74,26 +74,27 @@ CONFIGURE_ARGS+= -platform solaris-cc-64
74. else 74. else
75CONFIGURE_ARGS+= -platform solaris-cc 75CONFIGURE_ARGS+= -platform solaris-cc
76. endif 76. endif
77. endif 77. endif
78SYS_LIBS= -lresolv -lsocket -lnsl -lrt 78SYS_LIBS= -lresolv -lsocket -lnsl -lrt
79.elif ${OPSYS} == "Interix" 79.elif ${OPSYS} == "Interix"
80CONFIGURE_ARGS+= -platform interix-g++ 80CONFIGURE_ARGS+= -platform interix-g++
81CFLAGS+= -I/usr/local/include/bind 81CFLAGS+= -I/usr/local/include/bind
82LDFLAGS+= -L/usr/local/lib/bind -lbind 82LDFLAGS+= -L/usr/local/lib/bind -lbind
83BUILDLINK_PASSTHRU_DIRS+=/usr/local/include/bind /usr/local/lib/bind 83BUILDLINK_PASSTHRU_DIRS+=/usr/local/include/bind /usr/local/lib/bind
84SYS_LIBS= -lbind -ldb -ldl 84SYS_LIBS= -lbind -ldb -ldl
85.elif ${OPSYS} == "DragonFly" 85.elif ${OPSYS} == "DragonFly"
86CONFIGURE_ARGS+= -platform freebsd-g++ 86CONFIGURE_ARGS+= -platform freebsd-g++
 87LDFLAGS+= -lexecinfo
87.elif ${OPSYS} == "Darwin" 88.elif ${OPSYS} == "Darwin"
88CONFIGURE_ARGS+= -platform macx-clang 89CONFIGURE_ARGS+= -platform macx-clang
89CONFIGURE_ARGS+= -no-framework 90CONFIGURE_ARGS+= -no-framework
90. if exists(/usr/lib/libresolv.dylib) 91. if exists(/usr/lib/libresolv.dylib)
91LDFLAGS+= -lresolv 92LDFLAGS+= -lresolv
92. endif 93. endif
93.elif ${OPSYS} == "Linux" 94.elif ${OPSYS} == "Linux"
94LDFLAGS+= -ldl 95LDFLAGS+= -ldl
95.elif ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD" 96.elif ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD"
96. if exists(/usr/lib/libexecinfo.so) 97. if exists(/usr/lib/libexecinfo.so)
97LDFLAGS+= -lexecinfo 98LDFLAGS+= -lexecinfo
98. endif 99. endif
99.endif 100.endif

cvs diff -r1.30 -r1.31 pkgsrc/x11/qt5-qtbase/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtbase/distinfo 2016/03/14 06:12:17 1.30
+++ pkgsrc/x11/qt5-qtbase/distinfo 2016/12/04 21:46:54 1.31
@@ -1,36 +1,36 @@ @@ -1,36 +1,36 @@
1$NetBSD: distinfo,v 1.30 2016/03/14 06:12:17 dbj Exp $ 1$NetBSD: distinfo,v 1.31 2016/12/04 21:46:54 marino Exp $
2 2
3SHA1 (qtbase-opensource-src-5.5.1.tar.xz) = 0b651543fa013ae151b7a11f0d0dee092050aa3f 3SHA1 (qtbase-opensource-src-5.5.1.tar.xz) = 0b651543fa013ae151b7a11f0d0dee092050aa3f
4RMD160 (qtbase-opensource-src-5.5.1.tar.xz) = ce4bccd0703aaf8d904fbecd1f334ef13d698a44 4RMD160 (qtbase-opensource-src-5.5.1.tar.xz) = ce4bccd0703aaf8d904fbecd1f334ef13d698a44
5SHA512 (qtbase-opensource-src-5.5.1.tar.xz) = 4d31de136870025dfb7544f255798884af1ad4f3060b0c00a0467c98af1f7de368eb298d4c52ba6d1ad27e36060b30c0314ce7ba0744b15642420ec89587a575 5SHA512 (qtbase-opensource-src-5.5.1.tar.xz) = 4d31de136870025dfb7544f255798884af1ad4f3060b0c00a0467c98af1f7de368eb298d4c52ba6d1ad27e36060b30c0314ce7ba0744b15642420ec89587a575
6Size (qtbase-opensource-src-5.5.1.tar.xz) = 46389212 bytes 6Size (qtbase-opensource-src-5.5.1.tar.xz) = 46389212 bytes
7SHA1 (patch-config.tests_unix_iconv_iconv.cpp) = 05131870b21ff778b1e6f3d1e7287060b6b88764 7SHA1 (patch-config.tests_unix_iconv_iconv.cpp) = 05131870b21ff778b1e6f3d1e7287060b6b88764
8SHA1 (patch-configure) = 482815b5f3ec25fabe0995cfc70acf164928d192 8SHA1 (patch-configure) = 482815b5f3ec25fabe0995cfc70acf164928d192
9SHA1 (patch-mkspecs_features_create__cmake.prf) = 3f6b3a592e29f5529e5c87dbac036c165470eac4 9SHA1 (patch-mkspecs_features_create__cmake.prf) = 3f6b3a592e29f5529e5c87dbac036c165470eac4
10SHA1 (patch-mkspecs_features_mac_objective__c.prf) = 20838861017d969fbcf171960dfc07db1bd5a177 10SHA1 (patch-mkspecs_features_mac_objective__c.prf) = 20838861017d969fbcf171960dfc07db1bd5a177
11SHA1 (patch-mkspecs_features_qt__module__pris.prf) = edaab0b9e407cc52f4682ce1cf8441832c57fe39 11SHA1 (patch-mkspecs_features_qt__module__pris.prf) = edaab0b9e407cc52f4682ce1cf8441832c57fe39
12SHA1 (patch-mkspecs_features_simd.prf) = 7dbe61df6252adebeac374e3541bc5ff4c93909b 12SHA1 (patch-mkspecs_features_simd.prf) = 7dbe61df6252adebeac374e3541bc5ff4c93909b
13SHA1 (patch-qmake_Makefile.unix) = 0b33fc32f493e23da25bfb38ad59a6ae550581e5 13SHA1 (patch-qmake_Makefile.unix) = 0b33fc32f493e23da25bfb38ad59a6ae550581e5
14SHA1 (patch-qmake_generators_makefile.cpp) = 08bdf7b58fb7e5bd2a1c31f0a0344c733b65acb3 14SHA1 (patch-qmake_generators_makefile.cpp) = 08bdf7b58fb7e5bd2a1c31f0a0344c733b65acb3
15SHA1 (patch-qmake_generators_unix_unixmake.cpp) = f8d2b60473b19cfab76cca1b886f71030674099d 15SHA1 (patch-qmake_generators_unix_unixmake.cpp) = f8d2b60473b19cfab76cca1b886f71030674099d
16SHA1 (patch-qmake_generators_unix_unixmake2.cpp) = 528d7ea009dd9dd698009d7797d0b23dd469d995 16SHA1 (patch-qmake_generators_unix_unixmake2.cpp) = 528d7ea009dd9dd698009d7797d0b23dd469d995
17SHA1 (patch-qmake_qmake.pri) = 142f2b7d0dbfbc829afc9f83bf8be8b3054b8cf7 17SHA1 (patch-qmake_qmake.pri) = 142f2b7d0dbfbc829afc9f83bf8be8b3054b8cf7
18SHA1 (patch-src_concurrent_qtconcurrentiteratekernel.cpp) = 295cf573cf435e0edeeefb49144f84c7c6e7559c 18SHA1 (patch-src_concurrent_qtconcurrentiteratekernel.cpp) = 295cf573cf435e0edeeefb49144f84c7c6e7559c
19SHA1 (patch-src_corelib_arch_sparc_arch.pri) = cb95ec1bb7aa6084f14dff5828854deed54b8ca1 19SHA1 (patch-src_corelib_arch_sparc_arch.pri) = cb95ec1bb7aa6084f14dff5828854deed54b8ca1
20SHA1 (patch-src_corelib_codecs_qiconvcodec.cpp) = c206e4bea1a25b9c8dc301b0cc7a66fd1b85d101 20SHA1 (patch-src_corelib_codecs_qiconvcodec.cpp) = c206e4bea1a25b9c8dc301b0cc7a66fd1b85d101
21SHA1 (patch-src_corelib_global_qsystemdetection.h) = 9bdf20f66818ca1dd2a825a749109ad5fbcb2180 21SHA1 (patch-src_corelib_global_qsystemdetection.h) = 9bdf20f66818ca1dd2a825a749109ad5fbcb2180
22SHA1 (patch-src_corelib_io_io.pri) = 9a59b621441291f388860b523f80b59730632328 22SHA1 (patch-src_corelib_io_io.pri) = 9a59b621441291f388860b523f80b59730632328
23SHA1 (patch-src_corelib_io_qlockfile__unix.cpp) = 62274f5a0c114ef86460218b4de303901ab7d0e6 23SHA1 (patch-src_corelib_io_qlockfile__unix.cpp) = f07812f0867bd04dfdea736847a668843a5fe646
24SHA1 (patch-src_corelib_io_qstandardpaths_unix.cpp) = de4b6c6be89524763e40698bcf5e8f413abdb938 24SHA1 (patch-src_corelib_io_qstandardpaths_unix.cpp) = de4b6c6be89524763e40698bcf5e8f413abdb938
25SHA1 (patch-src_corelib_io_qstorageinfo_unix.cpp) = 41852cf146138df3fd0f26d124a6f9a338d472a0 25SHA1 (patch-src_corelib_io_qstorageinfo_unix.cpp) = 688de65bf3364cb8c982a7f82c9b67f5ecbebd10
26SHA1 (patch-src_network_kernel_qhostinfo__unix.cpp) = 0335273353daa7c980ccb4febb6eed11b452e50d 26SHA1 (patch-src_network_kernel_qhostinfo__unix.cpp) = 0335273353daa7c980ccb4febb6eed11b452e50d
27SHA1 (patch-src_openglextensions_openglextensions.pro) = e79effc1433ddda744b79d7e1f47764fee406580 27SHA1 (patch-src_openglextensions_openglextensions.pro) = e79effc1433ddda744b79d7e1f47764fee406580
28SHA1 (patch-src_platformsupport_devicediscovery_devicediscovery.pri) = 2cd24768b41c813d0aee0943f97f913308794611 28SHA1 (patch-src_platformsupport_devicediscovery_devicediscovery.pri) = 2cd24768b41c813d0aee0943f97f913308794611
29SHA1 (patch-src_platformsupport_platformsupport.pro) = 2aa60936578458cf241ca893771897f7d34fe081 29SHA1 (patch-src_platformsupport_platformsupport.pro) = 2aa60936578458cf241ca893771897f7d34fe081
30SHA1 (patch-src_plugins_platforminputcontexts_compose_compose.pro) = 86f828bd545fe53c626fde0a645213077b88ef64 30SHA1 (patch-src_plugins_platforminputcontexts_compose_compose.pro) = 86f828bd545fe53c626fde0a645213077b88ef64
31SHA1 (patch-src_plugins_platforminputcontexts_compose_generator_qtablegenerator.cpp) = 98a715ce225fcf698cc8389adef82bb67be8310d 31SHA1 (patch-src_plugins_platforminputcontexts_compose_generator_qtablegenerator.cpp) = 98a715ce225fcf698cc8389adef82bb67be8310d
32SHA1 (patch-src_tools_bootstrap_bootstrap.pro) = 0eb333ed8193ef056dc2c4ed99fb9d207c31fa02 32SHA1 (patch-src_tools_bootstrap_bootstrap.pro) = 0eb333ed8193ef056dc2c4ed99fb9d207c31fa02
33SHA1 (patch-src_tools_moc_main.cpp) = ebdddd657ba1c24657a9ca5624907e31a5d0c8bb 33SHA1 (patch-src_tools_moc_main.cpp) = ebdddd657ba1c24657a9ca5624907e31a5d0c8bb
34SHA1 (patch-src_widgets_graphicsview_qgraphicsitem__p.h) = fd55d5ef6fde506849aab07f7ba23e856373b3a1 34SHA1 (patch-src_widgets_graphicsview_qgraphicsitem__p.h) = fd55d5ef6fde506849aab07f7ba23e856373b3a1
35SHA1 (patch-tests_auto_corelib_io_qprocess_qprocess.pro) = 7d5ccb008a30238fcf35e763832a494af51ed0ac 35SHA1 (patch-tests_auto_corelib_io_qprocess_qprocess.pro) = 7d5ccb008a30238fcf35e763832a494af51ed0ac
36SHA1 (patch-tests_auto_widgets_itemviews_qtreewidgetitemiterator_qtreewidgetitemiterator.pro) = a0534c3fe05ea1d7a23170811d1da7fa740e31d1 36SHA1 (patch-tests_auto_widgets_itemviews_qtreewidgetitemiterator_qtreewidgetitemiterator.pro) = a0534c3fe05ea1d7a23170811d1da7fa740e31d1

cvs diff -r1.1 -r1.2 pkgsrc/x11/qt5-qtbase/patches/Attic/patch-src_corelib_io_qlockfile__unix.cpp (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtbase/patches/Attic/patch-src_corelib_io_qlockfile__unix.cpp 2015/10/26 19:03:59 1.1
+++ pkgsrc/x11/qt5-qtbase/patches/Attic/patch-src_corelib_io_qlockfile__unix.cpp 2016/12/04 21:46:54 1.2
@@ -1,37 +1,40 @@ @@ -1,37 +1,40 @@
1$NetBSD: patch-src_corelib_io_qlockfile__unix.cpp,v 1.1 2015/10/26 19:03:59 adam Exp $ 1$NetBSD: patch-src_corelib_io_qlockfile__unix.cpp,v 1.2 2016/12/04 21:46:54 marino Exp $
2 2
3Add support for NetBSD and OpenBSD. 3Add support for NetBSD and OpenBSD.
 4Enable fallback to unsupported for DragonFly
4 5
5--- src/corelib/io/qlockfile_unix.cpp.orig 2015-10-25 12:40:42.000000000 +0000 6--- src/corelib/io/qlockfile_unix.cpp.orig 2015-10-13 04:35:31 UTC
6+++ src/corelib/io/qlockfile_unix.cpp 7+++ src/corelib/io/qlockfile_unix.cpp
7@@ -54,6 +54,10 @@ 8@@ -54,6 +54,10 @@
8 #elif defined(Q_OS_LINUX) 9 #elif defined(Q_OS_LINUX)
9 # include <unistd.h> 10 # include <unistd.h>
10 # include <cstdio> 11 # include <cstdio>
11+#elif defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD) 12+#elif defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD)
12+# include <kvm.h> 13+# include <kvm.h>
13+# include <sys/param.h> 14+# include <sys/param.h>
14+# include <sys/sysctl.h> 15+# include <sys/sysctl.h>
15 #elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS) 16 #elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS)
16 # include <sys/user.h> 17 # include <sys/user.h>
17 # if defined(__GLIBC__) && defined(__FreeBSD_kernel__) 18 # if defined(__GLIBC__) && defined(__FreeBSD_kernel__)
18@@ -239,6 +243,19 @@ QString QLockFilePrivate::processNameByP 19@@ -239,7 +243,20 @@ QString QLockFilePrivate::processNameByP
19 } 20 }
20 buf[len] = 0; 21 buf[len] = 0;
21 return QFileInfo(QFile::decodeName(buf)).fileName(); 22 return QFileInfo(QFile::decodeName(buf)).fileName();
 23-#elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS)
22+#elif defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD) 24+#elif defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD)
23+ kvm_t *kd = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, NULL); 25+ kvm_t *kd = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, NULL);
24+ int cnt; 26+ int cnt;
25+ QString name; 27+ QString name;
26+ struct kinfo_proc2 *proc = kvm_getproc2(kd, KERN_PROC_PID, (int)pid, sizeof(struct kinfo_proc2), &cnt); 28+ struct kinfo_proc2 *proc = kvm_getproc2(kd, KERN_PROC_PID, (int)pid, sizeof(struct kinfo_proc2), &cnt);
27+ if (!proc) { 29+ if (!proc) {
28+ name = QString(); 30+ name = QString();
29+ } 31+ }
30+ else { 32+ else {
31+ name = QFile::decodeName(proc->p_comm); 33+ name = QFile::decodeName(proc->p_comm);
32+ } 34+ }
33+ kvm_close(kd); 35+ kvm_close(kd);
34+ return name; 36+ return name;
35 #elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS) 37+#elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS) && !defined(__DragonFly__)
36 # if defined(__GLIBC__) && defined(__FreeBSD_kernel__) 38 # if defined(__GLIBC__) && defined(__FreeBSD_kernel__)
37 int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid }; 39 int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid };
 40 size_t len = 0;

cvs diff -r1.5 -r1.6 pkgsrc/x11/qt5-qtbase/patches/patch-src_corelib_io_qstorageinfo_unix.cpp (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtbase/patches/patch-src_corelib_io_qstorageinfo_unix.cpp 2015/10/26 19:03:59 1.5
+++ pkgsrc/x11/qt5-qtbase/patches/patch-src_corelib_io_qstorageinfo_unix.cpp 2016/12/04 21:46:54 1.6
@@ -1,19 +1,20 @@ @@ -1,19 +1,20 @@
1$NetBSD: patch-src_corelib_io_qstorageinfo_unix.cpp,v 1.5 2015/10/26 19:03:59 adam Exp $ 1$NetBSD: patch-src_corelib_io_qstorageinfo_unix.cpp,v 1.6 2016/12/04 21:46:54 marino Exp $
2 2
3* make statvfs available on non-NetBSD BSD platforms 3* make statvfs available on non-NetBSD BSD platforms
 4* Use f_bsize instead of f_frsize on non-NetBSD BSD platforms
4* fix build on SunOS 5* fix build on SunOS
5 6
6--- src/corelib/io/qstorageinfo_unix.cpp.orig 2015-10-13 04:35:31.000000000 +0000 7--- src/corelib/io/qstorageinfo_unix.cpp.orig 2015-10-13 04:35:31 UTC
7+++ src/corelib/io/qstorageinfo_unix.cpp 8+++ src/corelib/io/qstorageinfo_unix.cpp
8@@ -68,8 +68,8 @@ 9@@ -68,8 +68,8 @@
9  10
10 #if defined(Q_OS_BSD4) 11 #if defined(Q_OS_BSD4)
11 # if defined(Q_OS_NETBSD) 12 # if defined(Q_OS_NETBSD)
12- define QT_STATFSBUF struct statvfs 13- define QT_STATFSBUF struct statvfs
13- define QT_STATFS ::statvfs 14- define QT_STATFS ::statvfs
14+# define QT_STATFSBUF struct statvfs 15+# define QT_STATFSBUF struct statvfs
15+# define QT_STATFS ::statvfs 16+# define QT_STATFS ::statvfs
16 # else 17 # else
17 # define QT_STATFSBUF struct statfs 18 # define QT_STATFSBUF struct statfs
18 # define QT_STATFS ::statfs 19 # define QT_STATFS ::statfs
19@@ -78,7 +78,7 @@ 20@@ -78,7 +78,7 @@
@@ -24,13 +25,29 @@ $NetBSD: patch-src_corelib_io_qstoragein @@ -24,13 +25,29 @@ $NetBSD: patch-src_corelib_io_qstoragein
24+# if !defined(_STATFS_F_FLAGS) && !defined(Q_OS_NETBSD) 25+# if !defined(_STATFS_F_FLAGS) && !defined(Q_OS_NETBSD)
25 # define _STATFS_F_FLAGS 1 26 # define _STATFS_F_FLAGS 1
26 # endif 27 # endif
27 #elif defined(Q_OS_ANDROID) 28 #elif defined(Q_OS_ANDROID)
28@@ -87,7 +87,7 @@ 29@@ -87,7 +87,7 @@
29 # if !defined(ST_RDONLY) 30 # if !defined(ST_RDONLY)
30 # define ST_RDONLY 1 // hack for missing define on Android 31 # define ST_RDONLY 1 // hack for missing define on Android
31 # endif 32 # endif
32-#elif defined(Q_OS_HAIKU) 33-#elif defined(Q_OS_HAIKU)
33+#elif defined(Q_OS_HAIKU) || defined(Q_OS_SOLARIS) 34+#elif defined(Q_OS_HAIKU) || defined(Q_OS_SOLARIS)
34 # define QT_STATFSBUF struct statvfs 35 # define QT_STATFSBUF struct statvfs
35 # define QT_STATFS ::statvfs 36 # define QT_STATFS ::statvfs
36 #else 37 #else
 38@@ -506,9 +506,15 @@ void QStorageInfoPrivate::retrieveVolume
 39 valid = true;
 40 ready = true;
 41
 42+#if defined(Q_OS_BSD4) && !defined(Q_OS_NETBSD)
 43+ bytesTotal = statfs_buf.f_blocks * statfs_buf.f_bsize;
 44+ bytesFree = statfs_buf.f_bfree * statfs_buf.f_bsize;
 45+ bytesAvailable = statfs_buf.f_bavail * statfs_buf.f_bsize;
 46+#else
 47 bytesTotal = statfs_buf.f_blocks * statfs_buf.f_frsize;
 48 bytesFree = statfs_buf.f_bfree * statfs_buf.f_frsize;
 49 bytesAvailable = statfs_buf.f_bavail * statfs_buf.f_frsize;
 50+#endif
 51 #if defined(Q_OS_ANDROID) || defined (Q_OS_BSD4)
 52 #if defined(_STATFS_F_FLAGS)
 53 readOnly = (statfs_buf.f_flags & ST_RDONLY) != 0;