swiften: unbreak package using Arch patch and scons flags
The `swiften` XMPP library was broken as of 2019. This commit fixes it, by copying a patch from the Arch Linux PKGBUILD (https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/swift) and by using the same scons flags in that PKGBUILD. Additionally, we use the SWIFTEN_INSTALLDIR env variable to actually put something in the output. Of note is the flag swiften_dll=1, which means that the library is now built dynamically.
This commit is contained in:
parent
138c2dc5be
commit
557644a125
32
pkgs/development/libraries/swiften/build-fix.patch
Normal file
32
pkgs/development/libraries/swiften/build-fix.patch
Normal file
@ -0,0 +1,32 @@
|
||||
diff -wbBur swift-4.0.2/Swift/QtUI/UserSearch/QtUserSearchWindow.h swift-4.0.2.my/Swift/QtUI/UserSearch/QtUserSearchWindow.h
|
||||
--- swift-4.0.2/Swift/QtUI/UserSearch/QtUserSearchWindow.h 2018-04-06 13:06:46.000000000 +0300
|
||||
+++ swift-4.0.2.my/Swift/QtUI/UserSearch/QtUserSearchWindow.h 2019-10-08 20:52:23.171475337 +0300
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <set>
|
||||
|
||||
#include <QWizard>
|
||||
+#include <QAbstractItemModel>
|
||||
|
||||
#include <Swiften/Base/Override.h>
|
||||
|
||||
diff -wbBur swift-4.0.2/Swiften/Network/PlatformNATTraversalWorker.cpp swift-4.0.2.my/Swiften/Network/PlatformNATTraversalWorker.cpp
|
||||
--- swift-4.0.2/Swiften/Network/PlatformNATTraversalWorker.cpp 2018-04-06 13:06:46.000000000 +0300
|
||||
+++ swift-4.0.2.my/Swiften/Network/PlatformNATTraversalWorker.cpp 2019-10-08 21:12:25.284754131 +0300
|
||||
@@ -157,7 +157,7 @@
|
||||
miniUPnPInterface = new MiniUPnPInterface();
|
||||
miniUPnPSupported = miniUPnPInterface->isAvailable();
|
||||
}
|
||||
- SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << miniUPnPSupported << std::endl;
|
||||
+// SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << miniUPnPSupported << std::endl;
|
||||
if (miniUPnPSupported) {
|
||||
return miniUPnPInterface;
|
||||
}
|
||||
@@ -168,7 +168,7 @@
|
||||
natPMPInterface = new NATPMPInterface();
|
||||
natPMPSupported = natPMPInterface->isAvailable();
|
||||
}
|
||||
- SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << natPMPSupported << std::endl;
|
||||
+// SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << natPMPSupported << std::endl;
|
||||
if (natPMPSupported) {
|
||||
return natPMPInterface;
|
||||
}
|
@ -12,17 +12,21 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w";
|
||||
};
|
||||
|
||||
patches = [ ./scons.patch ];
|
||||
patches = [ ./scons.patch ./build-fix.patch ];
|
||||
|
||||
sconsFlags = [
|
||||
"openssl=${openssl.dev}"
|
||||
"boost_includedir=${boost.dev}/include"
|
||||
"boost_libdir=${boost.out}/lib"
|
||||
"boost_bundled_enable=false"
|
||||
"max_jobs=1"
|
||||
"optimize=1"
|
||||
"debug=0"
|
||||
"swiften_dll=1"
|
||||
];
|
||||
preInstall = ''
|
||||
installTargets="$out"
|
||||
installFlags+=" SWIFT_INSTALLDIR=$out"
|
||||
installFlags+=" SWIFTEN_INSTALLDIR=$out"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -33,6 +37,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.twey ];
|
||||
broken = true; # Broken since 2019-11-20 (https://hydra.nixos.org/build/114681755)
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user