From c6b8de94436047fb814ff98f710cd1efe2329392 Mon Sep 17 00:00:00 2001 From: miqlas Date: Sat, 4 Nov 2017 16:50:35 +0100 Subject: [PATCH] Transmission: enable GUI (#1777) * WIP * WIP * Transmission: enable Qt GUI, switch to cmake, recipe cleanup, patchset cleanup. * Removed leftover --- .../additional-files/transmission.rdef.in | 40 ++++++++++ .../patches/transmission-2.92.patchset | 45 ++++++++++- net-p2p/transmission/transmission-2.92.recipe | 75 ++++++++++++++++--- 3 files changed, 148 insertions(+), 12 deletions(-) create mode 100644 net-p2p/transmission/additional-files/transmission.rdef.in diff --git a/net-p2p/transmission/additional-files/transmission.rdef.in b/net-p2p/transmission/additional-files/transmission.rdef.in new file mode 100644 index 000000000..d4db71881 --- /dev/null +++ b/net-p2p/transmission/additional-files/transmission.rdef.in @@ -0,0 +1,40 @@ + +resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + variety = B_APPV_FINAL, + internal = 0, + short_info = "Transmission", + long_info = "A cross-platform open source BitTorrent client" +}; + +resource app_signature "application/x-vnd.transmission"; + +resource file_types message { + "types" = "application/x-bittorrent" +}; + +resource vector_icon { + $"6E6369660804016E05010200060339A8B53A3D37BF18F73E87E74C12504788C9" + $"00AAB5BE77E9ECF0FFAAB5BE020006033AAE0D382BEDBD010D3FB50F4B0D3246" + $"8219003B5C7377D3DBE0FF3B5C730200060339A8B53A3D37BF18F73E87E74C02" + $"504788C900C8CFD477FFFFFFFFC8CFD402010603387CED38DA2DBA7FD33A2E1C" + $"4A6CD34A7679004A607279E9ECF0FF4A607202030603B600000000000000003D" + $"20004A42AA4AAAAA00E9ECF0787C95AAFFAAB5BE020106033A80000000000000" + $"003A80004A800046000000FFEDE37EC56B3AFF5B2507070A093F3C584557495C" + $"495A4B544B45593E59294E0208B60CC4C6B5A1C51FB60CC4C6BE50BDE3BE50BD" + $"E3BEB6BD8EBFB5BDA6BF3DBD77BFB5BDA6C86DC101C86DC101C8FAC137C8A3C1" + $"F4C90EC191C8A3C1F4C05BC98BC05BC98BBFF9C9E6BEEAC9B8BF6FC9F6BEEAC9" + $"B8B62DC5B1B62DC5B1B5B0C5760A0A4448464946433E4540473A4C384B385140" + $"4F3E4E0607DA2A44484649463F474244394D3A50404F3E4E0605AE0042464447" + $"43474547464647283F08044347524C5946454402044A22C57E22C1F822422A42" + $"B53942B8BD4A32C1F832C57E32522A52B8BD52B5390C0A000100100117882204" + $"0A0101011001178822040A020101000A030101123F877F0000000000003F877F" + $"43A5D144F07901178322040A0401011001178422040A0101021001158400040A" + $"050103000A000105000A010104123FE5413BA1FEBB61DF3FA0804664A5C52D42" + $"01178400040A060104023FE5413BA1FEBBA1FE3FE5414670ABC594610A010106" + $"1001178400040A07010600" +}; diff --git a/net-p2p/transmission/patches/transmission-2.92.patchset b/net-p2p/transmission/patches/transmission-2.92.patchset index 21c8b2268..bc0bb2be6 100644 --- a/net-p2p/transmission/patches/transmission-2.92.patchset +++ b/net-p2p/transmission/patches/transmission-2.92.patchset @@ -1,4 +1,4 @@ -From b5e7c81ea3fc2ad66bb59088405cfa8fd8b16d11 Mon Sep 17 00:00:00 2001 +From 36f9475fc73bc609f29fc6de2081cb140b839e11 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 5 Sep 2014 14:57:25 +0000 Subject: haiku patch @@ -105,5 +105,46 @@ index 19e3054..2b1bce8 100644 default: break; -- -2.7.0 +2.14.2 + + +From 29e44144fdecbff475757f7c47292b5e3af0d485 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sat, 4 Nov 2017 14:24:02 +0100 +Subject: Haiku supporting patches + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac0989b..1aac8b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -538,6 +538,13 @@ if(HAVE_LIBM) + set(LIBM_LIBRARY m) + endif() + ++if (HAIKU) ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DB_USE_POSITIVE_POSIX_ERRORS") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DB_USE_POSITIVE_POSIX_ERRORS") ++ set(NETWORKING_LIBRARY network) ++ set(HAIKU_SUPPORT_LIBRARY posix_error_mapper) ++endif() ++ + if(ENABLE_TESTS) + enable_testing() + include(CTest) +diff --git a/libtransmission/CMakeLists.txt b/libtransmission/CMakeLists.txt +index 4865dee..b796fde 100644 +--- a/libtransmission/CMakeLists.txt ++++ b/libtransmission/CMakeLists.txt +@@ -244,6 +244,8 @@ target_link_libraries(${TR_NAME} + ${B64_LIBRARIES} + ${LIBINTL_LIBRARY} + ${LIBM_LIBRARY} ++ ${NETWORKING_LIBRARY} ++ ${HAIKU_SUPPORT_LIBRARY} + ) + + if(ICONV_FOUND) +-- +2.14.2 diff --git a/net-p2p/transmission/transmission-2.92.recipe b/net-p2p/transmission/transmission-2.92.recipe index 964492a01..2aa388d29 100644 --- a/net-p2p/transmission/transmission-2.92.recipe +++ b/net-p2p/transmission/transmission-2.92.recipe @@ -8,16 +8,19 @@ COPYRIGHT="2005-2016 By the respective authors" LICENSE="Transmission MIT GNU GPL v2" -REVISION="5" +REVISION="6" SOURCE_URI="https://github.com/transmission/transmission-releases/raw/master/transmission-$portVersion.tar.xz" CHECKSUM_SHA256="3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f" PATCHES="transmission-$portVersion.patchset" +ADDITIONAL_FILES="transmission.rdef.in" ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="!x86_gcc2 x86" PROVIDES=" transmission$secondaryArchSuffix = $portVersion + app:Transmission + cmd:transmission$secondaryArchSuffix cmd:transmission_cli$secondaryArchSuffix cmd:transmission_create$secondaryArchSuffix cmd:transmission_daemon$secondaryArchSuffix @@ -32,38 +35,90 @@ REQUIRES=" lib:libevent_2.1$secondaryArchSuffix lib:libiconv$secondaryArchSuffix lib:libintl$secondaryArchSuffix + lib:libminiupnpc$secondaryArchSuffix + lib:libnatpmp$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - devel:libssl$secondaryArchSuffix devel:libcurl$secondaryArchSuffix - devel:libz$secondaryArchSuffix devel:libevent_2.1$secondaryArchSuffix - devel:libiconv$secondaryArchSuffix devel:libgettextlib$secondaryArchSuffix >= 0.14.1 + devel:libiconv$secondaryArchSuffix + devel:libminiupnpc$secondaryArchSuffix + devel:libnatpmp$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5DBus$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:awk + cmd:cmake + cmd:curl cmd:gcc$secondaryArchSuffix - cmd:intltool_update >= 0.40 cmd:ld$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix cmd:make + cmd:patch + cmd:tar " BUILD() { - export CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS" - export CXXFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS" - export LDFLAGS="-lposix_error_mapper -lnetwork" - runConfigure ./configure --without-gtk --enable-cli - make + mkdir -p build + cd build + cmake \ + $cmakeDirArgs \ + -DCMAKE_CXX_FLAGS="-DB_USE_POSITIVE_POSIX_ERRORS" \ + -DCMAKE_C_FLAGS="-DB_USE_POSITIVE_POSIX_ERRORS" \ + -DUSE_QT5=ON \ + -DENABLE_CLI=ON \ + .. + make $jobArgs } INSTALL() { + cd build make install + + # Cleanup + rm -rf $dataDir/applications + mkdir -p $appsDir + mv $binDir/transmission-qt $binDir/Transmission + ln -s $binDir/Transmission $appsDir/Transmission + + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" +# local MINOR="`echo "$portVersion" | cut -d. -f3`" # not used currently + local MINOR="0" + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + $portDir/additional-files/transmission.rdef.in > transmission.rdef + + addResourcesToBinaries transmission.rdef \ + $appsDir/Transmission + + mimeset -f $appsDir/Transmission + + addAppDeskbarSymlink $appsDir/Transmission +} + +TEST() +{ + cd build + make test }