From 7cbc043a41498fb8ab357348b45d10a6cd4a36e3 Mon Sep 17 00:00:00 2001 From: mazbrili Date: Wed, 12 Jul 2023 14:22:21 +0700 Subject: [PATCH] [New recipe] Ldmicroqt (#6448) * Add files via upload * Update ldmicroqt-2.3.2.recipe name fix * fix some suggestion from PR, don't use -fPIE --------- Co-authored-by: Begasus --- .../additional-files/ldmicroqt.rdef.in | 52 ++++++++++ .../ldmicroqt/ldmicroqt-2.3.2.recipe | 79 +++++++++++++++ .../patches/ldmicroqt-2.3.2.patchset | 97 +++++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 sci-electronics/ldmicroqt/additional-files/ldmicroqt.rdef.in create mode 100644 sci-electronics/ldmicroqt/ldmicroqt-2.3.2.recipe create mode 100644 sci-electronics/ldmicroqt/patches/ldmicroqt-2.3.2.patchset diff --git a/sci-electronics/ldmicroqt/additional-files/ldmicroqt.rdef.in b/sci-electronics/ldmicroqt/additional-files/ldmicroqt.rdef.in new file mode 100644 index 000000000..f4726b827 --- /dev/null +++ b/sci-electronics/ldmicroqt/additional-files/ldmicroqt.rdef.in @@ -0,0 +1,52 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + variety = B_APPV_FINAL, + internal = 0, + short_info = "Ladder diagram editor", + long_info = "PLC Diagram editor" +}; + +resource app_signature "application/x-vnd.ldmicroqt"; + +resource("QT:QPA_FLAGS") "Q_REF_TO_ARGV|Q_REF_TO_FORK"; + +resource file_types message { + "types" = "text/plain", + "types" = "text/x-source-code", + "types" = "text", + "types" = "text/x-makefile", + "types" = "text/x-rez", + "types" = "text/x-jamfile", + "types" = "application/xhtml+xml" +}; + +resource vector_icon { +$"6E6369660A04006B0500020016023C0D953DE360BDE3603C0D954D92AABFF394" + $"00D4FF7D020016023BEA1638FB64B8FB643BEA164A435EC8FE0D003CFF240201" + $"0602B247EDBCEBDB3E02C8B323E248135748735B007793D2E70032A102000602" + $"B8DDBB336BADB36BADB8DDBB4A83E5CC5EF900A5A0A0FF47474702001602373B" + $"A83BDD60BBDD60373BA84D4C16C6C18100FFFFD305FF050003FFCC000A0606AF" + $"0E495AC2E4C9E5495A535F4D5C5C5D5F5C605A5056C1A5C904C1A5C904C1C4C9" + $"CB0A06B719C2DCC7CECB37C91EC9E6C91EB931B869B425B719B4CB0A04B719C2" + $"DCC7CECB37C7CEBA83B719B4CB0A0452C6D2B7FABFC9B7FAB5AD52BAF30A04C5" + $"9BC50FB94BBEE7B94BB76EC59BBB630A04C7CECAC7C91EC975C91EB931C7CEBA" + $"830A04B861B41BB719B4CBC7CEBA83C91EB9310A04BD38C06CBD35C0AABBDABF" + $"F9BBDDBFBA0606B20C3D443C3BC02C3BC0B83BBFBD3C3F3D3CC02C3CBFBD3CC0" + $"B80000110A000100023FAF9200000000000041BAEF447BE3CB5E7D0A01010112" + $"40251E000000000000400000C44AF800000001178400040A0201020240251E00" + $"0000000000400000C44AF80000000A0301030240251E000000000000400000C4" + $"4AF80000000A0401040240251E000000000000400000C44AF80000000A050105" + $"0240251E000000000000400000C44AF80000000A0601060240251E0000000000" + $"00400000C44AF80000000A070002419F94000000000000421DAAC85944CA2CC0" + $"0A07010702423C1E00000000000041B16FCA36A6CA80C00A070107023F209A00" + $"000000000040000A42DD1AC7C09B0A070107023F209A00000000000040000A42" + $"DD1AC501370A070107023F209A00000000000040000A45EE8DC7009B0A070107" + $"023F209A00000000000040000A456E8DC401370A070107023F55EC4212CBC16D" + $"263EC1904BADCBCB15630A070107023F55EC4212CBC16D263EC1904BDDCBCB05" + $"630A07010702423C1E00000000000041B16FC90D4CCA30C00A00010900" +}; diff --git a/sci-electronics/ldmicroqt/ldmicroqt-2.3.2.recipe b/sci-electronics/ldmicroqt/ldmicroqt-2.3.2.recipe new file mode 100644 index 000000000..1eb786331 --- /dev/null +++ b/sci-electronics/ldmicroqt/ldmicroqt-2.3.2.recipe @@ -0,0 +1,79 @@ +SUMMARY="Ladder logic editor, simulator and compiler for 8-bit microcontrollers" +DESCRIPTION="LDmicro is a ladder logic editor, simulator and compiler for 8-bit microcontrollers. \ +It can generate native code for Atmel AVR and Microchip PIC16 CPUs from a ladder diagram." +HOMEPAGE="https://github.com/FOSSEE/LDmicroQt" +COPYRIGHT="2007 Jonathan Westhues" +LICENSE="GNU GPL v1" +REVISION="1" +SOURCE_URI="https://github.com/FOSSEE/LDmicroQt/archive/refs/tags/$portVersion.tar.gz" +CHECKSUM_SHA256="68e0469a5c907858289de1ee30ae14b2d13af695daa38f76c95aac1137d89139" +SOURCE_DIR="LDmicroQt-$portVersion/ldmicro" +PATCHES="ldmicroqt-$portVersion.patchset" +ADDITIONAL_FILES="ldmicroqt.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + ldmicroqt$secondaryArchSuffix = $portVersion + app:LDmicroQt$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:find + cmd:g++$secondaryArchSuffix + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:perl + cmd:pkg_config$secondaryArchSuffix + cmd:cmake$secondaryArchSuffix + cmd:which + " + +BUILD() +{ + cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$prefix + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + rm -rf $prefix/share + + mkdir -p $appsDir + mv $prefix/bin/ldmicro $appsDir/LDmicroQt + + local APP_SIGNATURE="application/x-vnd.ldmicroqt" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/ldmicroqt.rdef.in > \ + $sourceDir/ldmicroqt.rdef + + addResourcesToBinaries $sourceDir/ldmicroqt.rdef \ + $appsDir/LDmicroQt + + addAppDeskbarSymlink $appsDir/LDmicroQt +} diff --git a/sci-electronics/ldmicroqt/patches/ldmicroqt-2.3.2.patchset b/sci-electronics/ldmicroqt/patches/ldmicroqt-2.3.2.patchset new file mode 100644 index 000000000..659f162a3 --- /dev/null +++ b/sci-electronics/ldmicroqt/patches/ldmicroqt-2.3.2.patchset @@ -0,0 +1,97 @@ +From 0d5aa654507e5bfb068b14c31bd82f08c8303fa2 Mon Sep 17 00:00:00 2001 +From: mazbrili +Date: Sat, 13 Nov 2021 12:42:43 +0000 +Subject: update from 3deyes work + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58910f1..c2859b4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,7 @@ IF(UNIX) + execute_process(COMMAND lsb_release -cs + OUTPUT_VARIABLE RELEASE_CODENAME + OUTPUT_STRIP_TRAILING_WHITESPACE) ++IF (NOT HAIKU) + STRING(TOLOWER ${RELEASE_CODENAME} RELEASE_LOWER) + message("-- os_version_suffix:${RELEASE_CODENAME}") + if(${RELEASE_LOWER} MATCHES "trusty") +@@ -48,6 +49,7 @@ IF(UNIX) + MESSAGE("Add flag to compile for Ubuntu 16 and above") + add_definitions(-D__UBUNTU_16_) + endif() ++ENDIF () + use_cxx14() + + # set_property(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/build/") +diff --git a/lib/linuxUI/linuxLD.h b/lib/linuxUI/linuxLD.h +index 1254387..5e78b77 100644 +--- a/lib/linuxUI/linuxLD.h ++++ b/lib/linuxUI/linuxLD.h +@@ -88,8 +88,10 @@ typedef unsigned int UINT_PTR; + + typedef UINT_PTR WPARAM; + +-#if defined(__UNIX64) +- typedef __int64_t LONG_PTR; ++#if defined(__UNIX64) && !defined(__HAIKU__) ++ typedef __int64_t LONG_PTR; ++#elif defined(__HAIKU__) ++ typedef int64_t LONG_PTR; + #else + typedef long LONG_PTR; + #endif +@@ -218,4 +220,4 @@ double GetTickCount(void); + + size_t max(size_t A, size_t B); + +-#endif +\ No newline at end of file ++#endif +diff --git a/lib/linuxUI/linuxUI.h b/lib/linuxUI/linuxUI.h +index 356dca6..2a801f1 100644 +--- a/lib/linuxUI/linuxUI.h ++++ b/lib/linuxUI/linuxUI.h +@@ -30,7 +30,9 @@ + // #include + // #include "freezeLD.h" + // #include "linuxLD.h" ++#ifndef __HAIKU__ + #include ++#endif + #include + #include + #include +@@ -319,4 +321,4 @@ signals: + public slots: + }; + +-#endif +\ No newline at end of file ++#endif +-- +2.37.3 + + +From 83caa81645289ed2b32bc5af7cbe5a55025ff3ef Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Wed, 12 Jul 2023 08:30:44 +0000 +Subject: Do not enable -fPIE + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2859b4..ea62352 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -126,7 +126,7 @@ ENDIF () + MESSAGE ( STATUS " Qt CXX FLAGS: " ${CMAKE_CXX_FLAGS} ) + + if (Qt5_POSITION_INDEPENDENT_CODE) +- SET(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ SET(CMAKE_POSITION_INDEPENDENT_CODE OFF) + endif() + + add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/lib/linuxUI") +-- +2.37.3 +