--- upp.orig/Makefile 2016-11-08 19:29:56 UTC +++ upp/Makefile @@ -2,10 +2,9 @@ # $FreeBSD: head/devel/upp/Makefile 425758 2016-11-08 19:29:56Z linimon $ PORTNAME= upp -PORTVERSION= 9251 -PORTREVISION= 1 +PORTVERSION= 10804 CATEGORIES= devel x11-toolkits -MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2015.2/ +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2017.1/ DISTNAME= ${PORTNAME}-x11-src-${PORTVERSION} MAINTAINER= m.sund@arcor.de @@ -14,29 +13,18 @@ LICENSE= BSD2CLAUSE LICENSE_FILE= ${BUILD_WRKSRC}/Core/Copying -LIB_DEPENDS= libfreetype.so:print/freetype2 \ - libexpat.so:textproc/expat2 \ - libnotify.so:devel/libnotify - -USES= execinfo gmake -USE_XORG= xft -USE_GNOME= gtk20 +USES= compiler:c++11-lib execinfo WRKSRC= ${WRKDIR}/${DISTNAME} BUILD_WRKSRC= ${WRKSRC}/uppsrc -MACRO_FLAGS= -DflagGUI -DflagMT -DflagGCC -DflagSHARED -DflagPOSIX -DflagBSD -DflagFREEBSD - -MAKE_ARGS= UPPOUT="../_out/" OutFile="../theide" \ - Macro="${MACRO_FLAGS}" \ - LIBPATH="-L${LOCALBASE}/lib -L/usr/lib" \ - CINC="-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2 \ +MACRO_FLAGS= -DflagBSD -Dflag${OPSYS:tu} +CINC_GUI= -I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2 \ -I${LOCALBASE}/include/gtk-2.0 -I${LOCALBASE}/include/atk-1.0 \ -I${LOCALBASE}/include/cairo -I${LOCALBASE}/include/gdk-pixbuf-2.0 \ -I${LOCALBASE}/include/pango-1.0 -I${LOCALBASE}/include/glib-2.0 \ - -I${LOCALBASE}/lib/glib-2.0/include -I/usr/include" - -MAKE_JOBS_UNSAFE= yes + -I${LOCALBASE}/lib/glib-2.0/include -I/usr/include +CINC_CONSOLE= -I. -I${LOCALBASE}/include -I/usr/include BROKEN_aarch64= Does not compile on ${ARCH}: error Unknown CPU architecture BROKEN_powerpc= Does not compile on ${ARCH} @@ -44,33 +32,64 @@ PORTDATA= bazaar examples reference tutorial uppsrc *.bm -DESKTOP_ENTRIES="TheIDE" "IDE for cross-platform C++ development" \ +OPTIONS_DEFINE= MYSQL OPENGL PGSQL SCD SDL USEMALLOC +OPTIONS_DEFAULT= IDE SCD 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 - -OPTIONS_DEFINE= SDL OPENGL MYSQL PGSQL USEMALLOC +IDE_LIB_DEPENDS= libexpat.so:textproc/expat2 \ + libfreetype.so:print/freetype2 \ + libfontconfig.so:x11-fonts/fontconfig \ + libnotify.so:devel/libnotify \ + libpng.so:graphics/png +IDE_PLIST_FILES= bin/theide ${MANPREFIX}/man/man1/theide.1.gz +IDE_USE= XORG=x11,xau,xcb,xcursor,xdmcp,xext,xfixes,xft,xi,xinerama,xrandr,xrender \ + GNOME=cairo,gdkpixbuf2,gtk20 +IDE_USES= gmake +UMK_DESC= Build/install UMK (U++ MaKe command line utility) +UMK_PLIST_FILES= bin/umk ${MANPREFIX}/man/man1/umk.1.gz USEMALLOC_DESC= Compile without U++ heap allocator USEMALLOC_VARS= MACRO_FLAGS+=-DflagUSEMALLOC - -PLIST_FILES= bin/theide - +SCD_DESC= Install spelling dictionaries (*.scd files) +SCD_VARS= PORTDATA+=*.scd SDL_USE= sql OPENGL_USE= gl MYSQL_USE= mysql=yes PGSQL_USES= pgsql +.include + +.if ${CHOSEN_COMPILER_TYPE} == clang +# Disable some warnings for Clang +CXXFLAGS+= -Wno-logical-op-parentheses +.endif + post-patch: .SILENT - ${MV} ${BUILD_WRKSRC}/Makefile.in ${BUILD_WRKSRC}/Makefile - ${REINPLACE_CMD} -e '/^CXX =/d;/^CFLAGS =/d;/^CXXFLAGS =/d;/^LDFLAGS =/d' \ - -e 's|-Linux-|-BSD-FreeBSD-|' \ - -e 's|-ldl|-lXau -lXdmcp -lfreetype -lexpat -lxcb -lpng -lexecinfo|' \ + ${CP} ${BUILD_WRKSRC}/Makefile.in ${BUILD_WRKSRC}/Makefile + ${CP} ${BUILD_WRKSRC}/uMakefile.in ${BUILD_WRKSRC}/uMakefile + ${REINPLACE_CMD} -i '' -e '/^CXX[[:blank:]]*=/d; /^CFLAGS[[:blank:]]*=/d; \ + /^LDFLAGS[[:blank:]]*=/d ; \ + /^Macro[[:blank:]]*=/s|-DflagLINUX|${MACRO_FLAGS}| ; \ + s|\(^CXXFLAGS\)[[:blank:]]*=.*\(-std=.*\)|\1 += \2| ; \ + s|\(^LIBPATH\)[[:blank:]]*=.*|\1 = -L${LOCALBASE}/lib -L/usr/lib|' \ + ${BUILD_WRKSRC}/Makefile \ + ${BUILD_WRKSRC}/uMakefile + ${REINPLACE_CMD} -i '' -e 's|\(^CINC\)[[:blank:]]*=.*|\1 = ${CINC_GUI}| ; \ + /^OutDir_/s|-Gui-Linux|| ; /^OutDir_/s|-Mt|| ; \ + s|-ldl|-lXau -lXdmcp -lxcb -lexecinfo|' \ ${BUILD_WRKSRC}/Makefile -# Use simplified upstream patch to fix the build - ${REINPLACE_CMD} -e '/ftoutln.h/d' ${BUILD_WRKSRC}/CtrlCore/GtkDrawText.cpp + ${REINPLACE_CMD} -i '' -e 's|\(^CINC\)[[:blank:]]*=.*|\1 = ${CINC_CONSOLE}| ; \ + /^OutDir_/s|-Linux|| ; \ + s|-ldl|-lexecinfo|' \ + ${BUILD_WRKSRC}/uMakefile -post-build: .SILENT +do-build: .SILENT ${ECHO_CMD} "BUILDER = \"GCC\"" > ${WRKSRC}/GCC.bm - ${ECHO_CMD} "COMMON_CPP_OPTIONS = \"-std=c++0x\";" >> ${WRKSRC}/GCC.bm + ${ECHO_CMD} "COMMON_CPP_OPTIONS = \"-std=c++11\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "DEBUG_INFO = \"0\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "DEBUG_BLITZ = \"1\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "DEBUG_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm @@ -80,7 +99,6 @@ ${ECHO_CMD} "RELEASE_BLITZ = \"0\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_OPTIONS = \"-O2 -ffunction-sections -fdata-sections\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "RELEASE_SIZE_OPTIONS = \"-Os -finline-limit=20 -ffunction-sections -fdata-sections\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_FLAGS = \"\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_LINK = \"-Wl,--gc-sections\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "DEBUGGER = \"gdb\";" >> ${WRKSRC}/GCC.bm @@ -90,14 +108,30 @@ ${ECHO_CMD} "LINKMODE_LOCK = \"0\";" >> ${WRKSRC}/GCC.bm # Also create CLANG build method, based on GCC with some changes (cd ${WRKSRC} && ${CP} GCC.bm CLANG.bm && \ - ${SED} -i '' -e '/^BUILDER/s|GCC|CLANG| ; \ - s| -fdata-sections|| ; s| -finline-limit=20||' CLANG.bm) + ${SED} -i '' -e '/^BUILDER/s|GCC|CLANG| ; s| -fdata-sections||' \ + CLANG.bm) ${ECHO_CMD} "COMMON_OPTIONS = \"-Wno-logical-op-parentheses\";" >> ${WRKSRC}/CLANG.bm ${ECHO_CMD} "ALLOW_PRECOMPILED_HEADERS = \"0\";" >> ${WRKSRC}/CLANG.bm +do-build-IDE-on: + @(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ + ${MAKE_FLAGS} Makefile ${_MAKE_JOBS} UPPOUT="../_out/" OutFile="../theide") + +do-build-UMK-on: + @(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ + ${MAKE_FLAGS} uMakefile ${_MAKE_JOBS} UPPOUT="../_out/" OutFile="../umk") + do-install: + (cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} \ + "-not ( -type d -empty )") + (cd ${STAGEDIR}${DATADIR}/uppsrc && ${RM} build_info.h *Makefile*) + +do-install-IDE-on: ${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin - (cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA} -not ( -type d -empty )" \ - ${STAGEDIR}${DATADIR}) + ${INSTALL_MAN} ${BUILD_WRKSRC}/ide/theide.1 ${STAGEDIR}${MANPREFIX}/man/man1 -.include +do-install-UMK-on: + ${INSTALL_PROGRAM} ${WRKSRC}/umk ${STAGEDIR}${PREFIX}/bin + ${INSTALL_MAN} ${BUILD_WRKSRC}/umk/umk.1 ${STAGEDIR}${MANPREFIX}/man/man1 + +.include --- upp.orig/distinfo 2015-12-23 19:39:42 UTC +++ upp/distinfo @@ -1,2 +1,3 @@ -SHA256 (upp-x11-src-9251.tar.gz) = f1012e15914a4a9d4c70c008b94b932db7dd39ff043bdf5c4584a45f7580ebd5 -SIZE (upp-x11-src-9251.tar.gz) = 45014025 +TIMESTAMP = 1485783187 +SHA256 (upp-x11-src-10804.tar.gz) = 271e313af801bac3ca78ca3c90bf9976d92ca9542427425758b4a8e69be86cba +SIZE (upp-x11-src-10804.tar.gz) = 56728218 --- upp.orig/files/patch-uppsrc_Core_Core.h 2016-07-23 13:41:26 UTC +++ upp/files/patch-uppsrc_Core_Core.h @@ -1,18 +0,0 @@ ---- uppsrc/Core/Core.h.orig 2015-11-29 14:17:07 UTC -+++ uppsrc/Core/Core.h -@@ -342,12 +342,12 @@ static const MemDiagCls sMemDiagHelper__ - - //some global definitions - --#if !defined(STLPORT) && _MSC_VER < 1600 -+#if !defined(STLPORT) && _MSC_VER < 1600 && !defined(_LIBCPP_VERSION) - inline UPP::int64 abs(UPP::int64 x) { return x < 0 ? -x : x; } - #endif - --#ifdef COMPILER_GCC --inline double abs(double x) { return fabs(x); } -+#if defined(COMPILER_GCC) && !defined(_LIBCPP_VERSION) -+inline double abs(double x) throw() { return fabs(x); } - #endif - - void RegisterTopic__(const char *topicfile, const char *topic, const char *title, const UPP::byte *data, int len);