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 b6534ecd95)
This commit is contained in:
Robert Clausecker 2021-08-22 18:54:30 +02:00 committed by Yasuhiro Kimura
parent 69221920c9
commit 8c44014b13
6 changed files with 77 additions and 26 deletions

View file

@ -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>

View file

@ -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

View file

@ -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 ()

View file

@ -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"

View file

@ -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)

View file

@ -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: