--- upp/Makefile 2014-11-24 21:41:10.000000000 +0400 +++ upp/Makefile 2015-03-06 18:33:11.000000000 +0400 @@ -2,29 +2,29 @@ # $FreeBSD: head/devel/upp/Makefile 373227 2014-11-24 17:41:10Z mat $ PORTNAME= upp -PORTVERSION= 5485 -PORTREVISION= 2 +PORTVERSION= 8227 CATEGORIES= devel x11-toolkits -MASTER_SITES= SF +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2015.1/ DISTNAME= ${PORTNAME}-x11-src-${PORTVERSION} MAINTAINER= m.sund@arcor.de COMMENT= Ultimate++, a BSD-licensed, cross-platform, C/C++ RAD suite LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/uppsrc/Core/Copying LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \ libexpat.so:${PORTSDIR}/textproc/expat2 \ libnotify.so:${PORTSDIR}/devel/libnotify -USES= gmake +USES= execinfo gmake USE_XORG= xft USE_GNOME= gtk20 WRKSRC= ${WRKDIR}/${DISTNAME} BUILD_WRKSRC= ${WRKSRC}/uppsrc -MACRO_FLAGS= -DflagGUI -DflagGCC -DflagSHARED -DflagPOSIX -DflagBSD -DflagFREEBSD +MACRO_FLAGS= -DflagGUI -DflagMT -DflagGCC -DflagSHARED -DflagPOSIX -DflagBSD -DflagFREEBSD MAKE_ARGS= UPPOUT="../_out/" OutFile="../theide" \ Macro="${MACRO_FLAGS}" \ @@ -33,10 +33,9 @@ -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${LOCALBASE}/include/libpng -I/usr/include" + -I${LOCALBASE}/lib/glib-2.0/include -I/usr/include" -PORTDATA= bazaar examples reference tutorial uppsrc GCC.bm +PORTDATA= bazaar examples reference tutorial uppsrc CLANG.bm GCC.bm DESKTOP_ENTRIES="TheIDE" "IDE for cross-platform C++ development" \ "${DATADIR}/uppsrc/ide/theide-48.png" "theide" \ @@ -62,13 +61,15 @@ BROKEN= Does not compile on ia64, powerpc, or sparc64 .endif -pre-build: .SILENT +post-patch: .SILENT ${MV} ${BUILD_WRKSRC}/Makefile.in ${BUILD_WRKSRC}/Makefile - ${REINPLACE_CMD} -e '/^CC =/d;/^CFLAGS =/d;/^CXXFLAGS =/d;/^LDFLAGS =/d' \ - -e 's|$$(CC)|$$(CXX)|' \ - -e 's|-Linux-|-BSD-FreeBSD-|' \ - -e 's|-ldl|-lXau -lXdmcp -lfreetype -lexpat -lxcb -lpng|' \ - ${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|' \ + ${BUILD_WRKSRC}/Makefile +# Allow to build with using modern GCC + ${REINPLACE_CMD} -e '/__APPLE__/s/$$/ || \(PLATFORM_BSD \&\& GCC_VERSION >= 40700\)/' \ + ${BUILD_WRKSRC}/Core/Defs.h post-build: .SILENT ${ECHO_CMD} "BUILDER = \"GCC\"" > ${WRKSRC}/GCC.bm @@ -80,21 +81,28 @@ ${ECHO_CMD} "DEBUG_LINK = \"\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_BLITZ = \"0\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "RELEASE_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "RELEASE_OPTIONS = \"-O2 -ffunction-sections\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "RELEASE_SIZE_OPTIONS = \"-Os -finline-limit=20 -ffunction-sections\";" >> ${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 ${ECHO_CMD} "PATH = \"\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "INCLUDE = \"${LOCALBASE}/include;${LOCALBASE}/include/freetype2;${LOCALBASE}/include/gtk-2.0;${LOCALBASE}/include/atk-1.0;${LOCALBASE}/include/cairo;${LOCALBASE}/include/gdk-pixbuf-2.0;${LOCALBASE}/include/pango-1.0;${LOCALBASE}/include/glib-2.0;${LOCALBASE}/include/libpng;/usr/include\";" >> ${WRKSRC}/GCC.bm + ${ECHO_CMD} "INCLUDE = \"${LOCALBASE}/include;${LOCALBASE}/include/freetype2;${LOCALBASE}/include/gtk-2.0;${LOCALBASE}/include/atk-1.0;${LOCALBASE}/include/cairo;${LOCALBASE}/include/gdk-pixbuf-2.0;${LOCALBASE}/include/pango-1.0;${LOCALBASE}/include/glib-2.0;${LOCALBASE}/lib/glib-2.0/include;/usr/include\";" >> ${WRKSRC}/GCC.bm ${ECHO_CMD} "LIB = \"${LOCALBASE}/lib;/usr/lib\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "REMOTE_HOST = \"\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "REMOTE_OS = \"\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "REMOTE_TRANSFER = \"\";" >> ${WRKSRC}/GCC.bm - ${ECHO_CMD} "REMOTE_MAP = \"\";" >> ${WRKSRC}/GCC.bm ${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) do-install: ${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin - ${MKDIR} ${STAGEDIR}${DATADIR} - cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} + (cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR}) + +add-plist-post: build-plist-empty + +build-plist-empty: .SILENT + ${FIND} ${STAGEDIR}${DATADIR} -type d -empty | \ + ${SED} -e 's|^${STAGEDIR}|@dir |' >> ${TMPPLIST} .include --- upp/distinfo 2014-01-22 19:30:13.000000000 +0400 +++ upp/distinfo 2015-03-06 15:22:45.000000000 +0400 @@ -1,2 +1,2 @@ -SHA256 (upp-x11-src-5485.tar.gz) = d6f9c5991c7aceb9df71d5723fd3b591c3201c05b05795eb063bc634dc5a0bb1 -SIZE (upp-x11-src-5485.tar.gz) = 36693193 +SHA256 (upp-x11-src-8227.tar.gz) = 0cbac66dd527d9b05fc279ffb8b53cab1cd67d275f173c95a59b904fd46bb338 +SIZE (upp-x11-src-8227.tar.gz) = 44496813 --- upp/files/patch-uppsrc_ide_SrcUpdater_Install.cpp 1970-01-01 03:00:00.000000000 +0300 +++ upp/files/patch-uppsrc_ide_SrcUpdater_Install.cpp 2015-03-06 17:50:45.000000000 +0400 @@ -0,0 +1,16 @@ +# Delete *.bm files for local install, not just GCC.bm +--- uppsrc/ide/SrcUpdater/Install.cpp.orig 2012-08-31 16:10:00.000000000 +0400 ++++ uppsrc/ide/SrcUpdater/Install.cpp 2015-03-06 17:48:52.000000000 +0400 +@@ -282,7 +282,11 @@ + if(!CopyFolder(UpdaterCfg().localsrc,UpdaterCfg().globalsrc,&p)){ + Exclamation(DeQtf("Failed to copy "+UpdaterCfg().globalsrc+" to "+UpdaterCfg().localsrc)); + } +- DeleteFile(AppendFileName(UpdaterCfg().localsrc,"GCC.bm")); ++ FindFile ff(AppendFileName(UpdaterCfg().localsrc, "*.bm")); ++ while (ff) { ++ DeleteFile(AppendFileName(UpdaterCfg().localsrc, ff.GetName())); ++ ff.Next(); ++ } + break; + } + case 1:{