diff --git a/devel/upp/Makefile b/devel/upp/Makefile index 7e36395f7521..2d2b854f9d94 100644 --- a/devel/upp/Makefile +++ b/devel/upp/Makefile @@ -1,113 +1,113 @@ PORTNAME= upp DISTVERSION= 15260 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel x11-toolkits MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2020.2/ DISTNAME= ${PORTNAME}-posix-${PORTVERSION} MAINTAINER= m.sund@arcor.de COMMENT= Ultimate++, a BSD-licensed, cross-platform, C/C++ RAD suite WWW= http://upp.sourceforge.net/ LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/uppsrc/Core/Copying BROKEN_powerpc= Does not compile on ${ARCH}: error Unknown CPU architecture BROKEN_powerpc64= Does not compile on ${ARCH}: error Unknown CPU architecture USES= compiler:c++14-lang dos2unix pkgconfig:both tar:xz DOS2UNIX_FILES= uppsrc/Core/config.h WRKSRC= ${WRKDIR}/${PORTNAME} MACRO_FLAGS= -DflagBSD -Dflag${OPSYS:tu} PORTDATA= bazaar examples reference tutorial uppsrc OPTIONS_DEFINE= MYSQL OPENGL PGSQL SDL UDC USEMALLOC OPTIONS_DEFAULT= IDE UDC UMK OPTIONS_MULTI= BUILD OPTIONS_MULTI_BUILD= IDE UMK BUILD_DESC= Build/install IDE_DESC= Build/install TheIDE (integrated development environment) IDE_DESKTOP_ENTRIES= "TheIDE" "IDE for cross-platform C++ development" \ "${DATADIR}/uppsrc/ide/theide-48.png" "theide" \ "Development;IDE;GTK;" false IDE_LIB_DEPENDS= libfreetype.so:print/freetype2 \ libfontconfig.so:x11-fonts/fontconfig \ libnotify.so:devel/libnotify \ libpng.so:graphics/png IDE_PLIST_FILES= bin/theide ${PREFIX}/share/man/man1/theide.1.gz IDE_USES= gnome xorg IDE_USE= XORG=x11 GNOME=cairo,gdkpixbuf2,gtk30 UDC_DESC= Install spelling dictionaries (*.udc files) UDC_VARS= PORTDATA+=*.udc UMK_DESC= Build/install UMK (U++ MaKe command line utility) UMK_PLIST_FILES= bin/umk ${PREFIX}/share/man/man1/umk.1.gz USEMALLOC_DESC= Compile without U++ heap allocator USEMALLOC_VARS= MACRO_FLAGS+=-DflagUSEMALLOC # SDL/OPENGL/MYSQL/PGSQL dependencies are only for run-time for use by executables built by the IDE SDL_USES= sdl SDL_USE= SDL=sdl OPENGL_USES= gl OPENGL_USE= GL=gl,glu MYSQL_USES= mysql PGSQL_USES= pgsql LLD_UNSAFE= yes .include .if ${CHOSEN_COMPILER_TYPE} == clang # Disable some warnings for Clang CXXFLAGS+= -Wno-logical-op-parentheses .endif CXXFLAGS_i386+= -msse2 post-patch: .SILENT ${REINPLACE_CMD} -e '/^CXX[[:blank:]]*=/d ; \ /^LDFLAGS[[:blank:]]*=/d ; /^LIBPATH[[:blank:]]*=/d ; \ /^Macro[[:blank:]]*=/s|-DflagLINUX|${MACRO_FLAGS}| ; \ /^CFLAGS[[:blank:]]*=/s|= -O3|+=| ; \ /^CXXFLAGS[[:blank:]]*=/s|= -O3|+=| ; \ /^OutDir_/s|-Linux|| ; \ s|-ldl|-lexecinfo|' \ ${WRKSRC}/Makefile \ ${WRKSRC}/umkMakefile ${REINPLACE_CMD} -i '' -E '/^OutDir_/s|-Gui|| ; \ s/[[:blank:]]?`pkg-config --(cflags|libs) (freetype2|xcb|expat|xinerama|xrender|xft|xdmcp|xext)`//g' \ ${WRKSRC}/Makefile # Add ${DATADIR} as an additional path to search for *.upp files # on first TheIDE launch before automatic configuration of assemblies ${REINPLACE_CMD} -e '/Scan(GetHomeDirFile("\*"/s|$$|\${.newline} Scan("${DATADIR}/uppsrc");\${.newline} Scan("${DATADIR}/*");|' \ ${WRKSRC}/uppsrc/ide/Install.cpp do-build: do-build-IDE-on: @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ ${MAKE_FLAGS} Makefile ${_MAKE_JOBS} OutFile="theide") do-build-UMK-on: @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ ${MAKE_FLAGS} umkMakefile ${_MAKE_JOBS} OutFile="umk") do-install: (cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} \ "-not ( -type d -empty ) -o -name '*.orig'") (cd ${STAGEDIR}${DATADIR} && ${RMDIR} uppsrc/ide/SrcUpdater uppsrc/Web \ bazaar/plugin/sundials/src/nvector/mpiplusx \ bazaar/plugin/sundials/src/nvector/openmp \ bazaar/plugin/sundials/src/nvector/parallel \ bazaar/plugin/sundials/src/nvector/pthreads \ bazaar/plugin/sundials/src/sunlinsol/klu) do-install-IDE-on: ${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/uppsrc/ide/theide.1 ${STAGEDIR}${PREFIX}/share/man/man1 do-install-UMK-on: ${INSTALL_PROGRAM} ${WRKSRC}/umk ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/uppsrc/umk/umk.1 ${STAGEDIR}${PREFIX}/share/man/man1 .include diff --git a/devel/upp/files/patch-uppsrc_Draw_FontFc.cpp b/devel/upp/files/patch-uppsrc_Draw_FontFc.cpp new file mode 100644 index 000000000000..a0d96a2e1110 --- /dev/null +++ b/devel/upp/files/patch-uppsrc_Draw_FontFc.cpp @@ -0,0 +1,28 @@ +# Draw: Workaround for backwards incompatibility of FT_Outline +# https://github.com/ultimatepp/ultimatepp/commit/68139e354876013046aac0d1699d7b61ce055d53 + +--- uppsrc/Draw/FontFc.cpp.orig 2020-10-16 9:28:02 UTC ++++ uppsrc/Draw/FontFc.cpp +@@ -290,10 +290,9 @@ + FT_Vector v_start; + FT_Vector* point; + FT_Vector* limit; +- char* tags; + int n; // index of contour in outline +- char tag; // current point's state + int first = 0; // index of first point in contour ++ + for(n = 0; n < outline.n_contours; n++) { + int last = outline.contours[n]; + limit = outline.points + last; +@@ -301,8 +300,8 @@ + v_last = outline.points[last]; + v_control = v_start; + point = outline.points + first; +- tags = outline.tags + first; +- tag = FT_CURVE_TAG(tags[0]); ++ const auto *tags = outline.tags + first; ++ auto tag = FT_CURVE_TAG(tags[0]); + if(tag == FT_CURVE_TAG_CUBIC) return false; + if(tag == FT_CURVE_TAG_CONIC) { + if(FT_CURVE_TAG(outline.tags[last]) == FT_CURVE_TAG_ON) {