Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Oct 2021 16:01:37 GMT
From:      Yasuhiro Kimura <yasu@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: 8c44014b13dd - 2021Q4 - devel/stlink: Fix build on 32 bit platforms
Message-ID:  <202110271601.19RG1bSm037525@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch 2021Q4 has been updated by yasu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8c44014b13ddb0392fab868ed5822e11ea3af0f4

commit 8c44014b13ddb0392fab868ed5822e11ea3af0f4
Author:     Robert Clausecker <fuz@fuz.su>
AuthorDate: 2021-08-22 16:54:30 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2021-10-27 16:00:19 +0000

    devel/stlink: Fix build on 32 bit platforms
    
    * Remove settings of optimization from cmake/modules/c_flags.cmake as
      per section 13.9 of Porter's Handbook
    * Switch to DISTVERSION
    * Pet portclippy
    * Reformat Makefile with portfmt
    
    PR:             257708
    Approved by:    maitainer timeout (> 1 month)
    Differential Revision:  https://reviews.freebsd.org/D32545
    
    (cherry picked from commit b6534ecd950cf32e1b76733d34a2ec929b690704)
---
 devel/stlink/Makefile                              | 31 +++++++++-----------
 devel/stlink/files/patch-CMakeLists.txt            |  8 +++--
 .../files/patch-cmake_modules_c__flags.cmake       | 18 ++++++++++++
 .../files/patch-doc_dev_pkg-config_CMakeLists.txt  |  6 ++--
 devel/stlink/files/patch-doc_man_CMakeLists.txt    |  6 ++--
 devel/stlink/files/patch-src_common.c              | 34 ++++++++++++++++++++++
 6 files changed, 77 insertions(+), 26 deletions(-)

diff --git a/devel/stlink/Makefile b/devel/stlink/Makefile
index 868b83d36d58..0b2d52ff20d5 100644
--- a/devel/stlink/Makefile
+++ b/devel/stlink/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	stlink
-PORTVERSION=	1.7.0
+DISTVERSION=	1.7.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	0
 CATEGORIES=	devel
 
 MAINTAINER=	lev@FreeBSD.org
@@ -9,27 +8,25 @@ COMMENT=	STM32 ST-Link JTAG variant tools
 
 LICENSE=	BSD3CLAUSE
 
-OPTIONS_DEFINE=		GTK3 DOCS
-OPTIONS_SUB=		yes
-GTK3_EXTRA_PATCHES_OFF=	${FILESDIR}/extra-pacth-turn-off-gtk
-GTK3_USES=		gnome
-GTK3_USE=		GNOME=gtk30
-
-USE_GITHUB=	yes
-GH_ACCOUNT=	stlink-org
-
 USES=		cmake pkgconfig
 USE_CSTD=	c99
+USE_GITHUB=	yes
+GH_ACCOUNT=	stlink-org
 USE_LDCONFIG=	yes
 
-PORTDOCS=	README.md ${ALLDOCS}
+PORTDOCS=	${ALLDOCS} README.md
 
 ALLDOCS=	compiling.md dev/developer.txt devices_boards.md \
-		flashloaders.md release.md tutorial.md \
-		version_support.md
-		
-FLASHLOADERS=	cleanroom.md linker.ld Makefile stm32f0.s stm32f4.s \
-		stm32f4lv.s stm32f7.s stm32f7lv.s stm32l4.s stm32lx.s \
+		flashloaders.md release.md tutorial.md version_support.md
+
+FLASHLOADERS=	cleanroom.md linker.ld Makefile stm32f0.s stm32f4.s stm32f4lv.s \
+		stm32f7.s stm32f7lv.s stm32l4.s stm32lx.s
+
+OPTIONS_DEFINE=		DOCS GTK3
+OPTIONS_SUB=		yes
+GTK3_USES=		gnome
+GTK3_USE=		GNOME=gtk30
+GTK3_EXTRA_PATCHES_OFF=	${FILESDIR}/extra-pacth-turn-off-gtk
 
 .include <bsd.port.pre.mk>
 
diff --git a/devel/stlink/files/patch-CMakeLists.txt b/devel/stlink/files/patch-CMakeLists.txt
index c17726682dc9..c8461f37f41b 100644
--- a/devel/stlink/files/patch-CMakeLists.txt
+++ b/devel/stlink/files/patch-CMakeLists.txt
@@ -1,8 +1,10 @@
---- CMakeLists.txt.orig	2021-07-13 15:04:41.612208000 +0300
-+++ CMakeLists.txt	2021-07-13 15:06:16.763751332 +0300
-@@ -299,4 +299,5 @@
+--- CMakeLists.txt.orig	2021-09-15 09:54:35 UTC
++++ CMakeLists.txt
+@@ -298,6 +298,7 @@ endif ()
+ # add_subdirectory(src/stlink-gui)  # contains subordinate CMakeLists to build GUI
  add_subdirectory(tests)           # contains subordinate CMakeLists to build test executables
  add_subdirectory(cmake/packaging) # contains subordinate CMakeLists to build packages
 +add_subdirectory(doc/dev/pkg-config) # contains subordinate CMakeLists to build pkg-config descriptor
  
  option(STLINK_GENERATE_MANPAGES "Generate manpages with pandoc" OFF)
+ add_subdirectory(doc/man)         # contains subordinate CMakeLists to generate manpages
diff --git a/devel/stlink/files/patch-cmake_modules_c__flags.cmake b/devel/stlink/files/patch-cmake_modules_c__flags.cmake
new file mode 100644
index 000000000000..064de12f7844
--- /dev/null
+++ b/devel/stlink/files/patch-cmake_modules_c__flags.cmake
@@ -0,0 +1,18 @@
+Work around upstream bug #1175 and make the build more robust
+against minor platform differences.  -Werror should not be
+provided in release builds.
+
+--- cmake/modules/c_flags.cmake.orig	2021-04-24 22:24:02 UTC
++++ cmake/modules/c_flags.cmake
+@@ -44,11 +44,3 @@ endif ()
+ if (NOT (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)))
+     add_cflag_if_supported("-fPIC")
+ endif ()
+-
+-if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+-    add_cflag_if_supported("-ggdb")
+-    add_cflag_if_supported("-O0")
+-else ()
+-    add_cflag_if_supported("-O2")
+-    add_cflag_if_supported("-Werror")
+-endif ()
diff --git a/devel/stlink/files/patch-doc_dev_pkg-config_CMakeLists.txt b/devel/stlink/files/patch-doc_dev_pkg-config_CMakeLists.txt
index 42e007c084e4..1bb3871c36ef 100644
--- a/devel/stlink/files/patch-doc_dev_pkg-config_CMakeLists.txt
+++ b/devel/stlink/files/patch-doc_dev_pkg-config_CMakeLists.txt
@@ -1,6 +1,6 @@
---- doc/dev/pkg-config/CMakeLists.txt.orig	2021-04-25 01:24:02.000000000 +0300
-+++ doc/dev/pkg-config/CMakeLists.txt	2021-07-13 15:09:25.486974252 +0300
-@@ -11,5 +11,5 @@
+--- doc/dev/pkg-config/CMakeLists.txt.orig	2021-04-24 22:24:02 UTC
++++ doc/dev/pkg-config/CMakeLists.txt
+@@ -11,5 +11,5 @@ configure_file(
  
  install(
      FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
diff --git a/devel/stlink/files/patch-doc_man_CMakeLists.txt b/devel/stlink/files/patch-doc_man_CMakeLists.txt
index fe262daea6fd..5d758bec75dd 100644
--- a/devel/stlink/files/patch-doc_man_CMakeLists.txt
+++ b/devel/stlink/files/patch-doc_man_CMakeLists.txt
@@ -1,6 +1,6 @@
---- doc/man/CMakeLists.txt.orig	2021-07-13 15:08:26.986789558 +0300
-+++ doc/man/CMakeLists.txt	2021-04-25 01:24:02.000000000 +0300
-@@ -30,7 +30,7 @@
+--- doc/man/CMakeLists.txt.orig	2021-04-24 22:24:02 UTC
++++ doc/man/CMakeLists.txt
+@@ -30,7 +30,7 @@ foreach (manpage ${MANPAGES})
      endif ()
  
      if (f AND NOT WIN32)
diff --git a/devel/stlink/files/patch-src_common.c b/devel/stlink/files/patch-src_common.c
new file mode 100644
index 000000000000..28597bb71049
--- /dev/null
+++ b/devel/stlink/files/patch-src_common.c
@@ -0,0 +1,34 @@
+Partial application of upstream commit c8fc656, closing
+upstream bug #985 and #1175 and fixing the build on 32
+bit platforms.
+
+https://github.com/stlink-org/stlink/commit/c8fc6561fead79ad49c09d82bab864745086792c
+https://github.com/stlink-org/stlink/issues/985
+https://github.com/stlink-org/stlink/issues/1175
+
+--- src/common.c.orig	2021-04-24 22:24:02 UTC
++++ src/common.c
+@@ -1,4 +1,5 @@
+ #define DEBUG_FLASH 0
++#include <limits.h>
+ #include <stdarg.h>
+ #include <stdint.h>
+ #include <stdio.h>
+@@ -2205,7 +2206,7 @@ static int map_file(mapped_file_t *mf, const char *pat
+ 
+   if (sizeof(st.st_size) != sizeof(size_t)) {
+     // on 32 bit systems, check if there is an overflow
+-    if (st.st_size > (off_t)INT32_MAX) {
++    if (st.st_size > (off_t)SSIZE_MAX) {
+       fprintf(stderr, "mmap() size_t overflow for file %s\n", path);
+       goto on_error;
+     }
+@@ -2219,7 +2220,7 @@ static int map_file(mapped_file_t *mf, const char *pat
+     goto on_error;
+   }
+ 
+-  mf->len = st.st_size;
++  mf->len = (size_t)st.st_size;
+   error = 0; // success
+ 
+ on_error:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202110271601.19RG1bSm037525>