View | Details | Raw Unified | Return to bug 246563
Collapse All | Expand All

(-)Makefile (-69 / +34 lines)
Lines 2-40 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	upp
4
PORTNAME=	upp
5
DISTVERSION=	11873
5
DISTVERSION=	14429
6
PORTREVISION=	3
7
CATEGORIES=	devel x11-toolkits
6
CATEGORIES=	devel x11-toolkits
8
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/2018.1/
7
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/2020.1/
9
DISTNAME=	${PORTNAME}-x11-src-${PORTVERSION}
8
DISTNAME=	${PORTNAME}-posix-${PORTVERSION}
10
9
11
MAINTAINER=	m.sund@arcor.de
10
MAINTAINER=	m.sund@arcor.de
12
COMMENT=	Ultimate++, a BSD-licensed, cross-platform, C/C++ RAD suite
11
COMMENT=	Ultimate++, a BSD-licensed, cross-platform, C/C++ RAD suite
13
12
14
LICENSE=	BSD2CLAUSE
13
LICENSE=	BSD2CLAUSE
15
LICENSE_FILE=	${BUILD_WRKSRC}/Core/Copying
14
LICENSE_FILE=	${WRKSRC}/uppsrc/Core/Copying
16
15
17
BROKEN_powerpc=		Does not compile on ${ARCH}: error Unknown CPU architecture
16
BROKEN_powerpc=		Does not compile on ${ARCH}: error Unknown CPU architecture
18
BROKEN_powerpc64=	Does not compile on ${ARCH}: error Unknown CPU architecture
17
BROKEN_powerpc64=	Does not compile on ${ARCH}: error Unknown CPU architecture
19
BROKEN_sparc64=		Does not compile on ${ARCH}
18
BROKEN_sparc64=		Does not compile on ${ARCH}
20
19
21
USES=		compiler:c++11-lib
20
USES=		compiler:c++14-lang pkgconfig:both tar:xz
22
21
23
WRKSRC=		${WRKDIR}/${DISTNAME}
22
WRKSRC=		${WRKDIR}/${PORTNAME}
24
BUILD_WRKSRC=	${WRKSRC}/uppsrc
25
23
26
MACRO_FLAGS=	-DflagBSD -Dflag${OPSYS:tu}
24
MACRO_FLAGS=	-DflagBSD -Dflag${OPSYS:tu}
27
CINC_GUI=	-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2 \
28
		-I${LOCALBASE}/include/gtk-2.0 -I${LOCALBASE}/include/atk-1.0 \
29
		-I${LOCALBASE}/include/cairo -I${LOCALBASE}/include/gdk-pixbuf-2.0 \
30
		-I${LOCALBASE}/include/pango-1.0 -I${LOCALBASE}/include/glib-2.0 \
31
		-I${LOCALBASE}/lib/glib-2.0/include -I/usr/include
32
CINC_CONSOLE=	-I. -I${LOCALBASE}/include -I/usr/include
33
25
34
PORTDATA=	bazaar examples reference tutorial uppsrc *.bm
26
PORTDATA=	bazaar examples reference tutorial uppsrc
35
27
36
OPTIONS_DEFINE=	MYSQL OPENGL PGSQL SCD SDL USEMALLOC
28
OPTIONS_DEFINE=	MYSQL OPENGL PGSQL SDL UDC USEMALLOC
37
OPTIONS_DEFAULT=	IDE SCD UMK
29
OPTIONS_DEFAULT=	IDE UDC UMK
38
OPTIONS_MULTI=	BUILD
30
OPTIONS_MULTI=	BUILD
39
OPTIONS_MULTI_BUILD=	IDE UMK
31
OPTIONS_MULTI_BUILD=	IDE UMK
40
BUILD_DESC=	Build/install
32
BUILD_DESC=	Build/install
Lines 42-62 Link Here
42
IDE_DESKTOP_ENTRIES=	"TheIDE" "IDE for cross-platform C++ development" \
34
IDE_DESKTOP_ENTRIES=	"TheIDE" "IDE for cross-platform C++ development" \
43
		"${DATADIR}/uppsrc/ide/theide-48.png" "theide" \
35
		"${DATADIR}/uppsrc/ide/theide-48.png" "theide" \
44
		"Development;IDE;GTK;" false
36
		"Development;IDE;GTK;" false
45
IDE_LIB_DEPENDS=	libexpat.so:textproc/expat2 \
37
IDE_LIB_DEPENDS=	libfreetype.so:print/freetype2 \
46
		libfreetype.so:print/freetype2 \
47
		libfontconfig.so:x11-fonts/fontconfig \
38
		libfontconfig.so:x11-fonts/fontconfig \
48
		libnotify.so:devel/libnotify \
39
		libnotify.so:devel/libnotify \
49
		libpng.so:graphics/png
40
		libpng.so:graphics/png
50
IDE_PLIST_FILES=	bin/theide ${MANPREFIX}/man/man1/theide.1.gz
41
IDE_PLIST_FILES=	bin/theide ${MANPREFIX}/man/man1/theide.1.gz
51
IDE_USES=	gnome xorg
42
IDE_USES=	gnome xorg
52
IDE_USE=	XORG=x11,xau,xcb,xcursor,xdmcp,xext,xfixes,xft,xi,xinerama,xrandr,xrender \
43
IDE_USE=	XORG=x11 GNOME=cairo,gdkpixbuf2,gtk30
53
		GNOME=cairo,gdkpixbuf2,gtk20
44
UDC_DESC=	Install spelling dictionaries (*.udc files)
45
UDC_VARS=	PORTDATA+=*.udc
54
UMK_DESC=	Build/install UMK (U++ MaKe command line utility)
46
UMK_DESC=	Build/install UMK (U++ MaKe command line utility)
55
UMK_PLIST_FILES=	bin/umk ${MANPREFIX}/man/man1/umk.1.gz
47
UMK_PLIST_FILES=	bin/umk ${MANPREFIX}/man/man1/umk.1.gz
56
USEMALLOC_DESC=	Compile without U++ heap allocator
48
USEMALLOC_DESC=	Compile without U++ heap allocator
57
USEMALLOC_VARS=	MACRO_FLAGS+=-DflagUSEMALLOC
49
USEMALLOC_VARS=	MACRO_FLAGS+=-DflagUSEMALLOC
58
SCD_DESC=	Install spelling dictionaries (*.scd files)
59
SCD_VARS=	PORTDATA+=*.scd
60
# SDL/OPENGL/MYSQL/PGSQL dependencies are only for run-time for use by executables built by the IDE
50
# SDL/OPENGL/MYSQL/PGSQL dependencies are only for run-time for use by executables built by the IDE
61
SDL_USES=	sdl
51
SDL_USES=	sdl
62
SDL_USE=	SDL=sdl
52
SDL_USE=	SDL=sdl
Lines 76-144 Link Here
76
CXXFLAGS_i386+=	-msse2
66
CXXFLAGS_i386+=	-msse2
77
67
78
post-patch: .SILENT
68
post-patch: .SILENT
79
	${CP} ${BUILD_WRKSRC}/Makefile.in ${BUILD_WRKSRC}/Makefile
69
	${REINPLACE_CMD} -e '/^CXX[[:blank:]]*=/d ; \
80
	${CP} ${BUILD_WRKSRC}/uMakefile.in ${BUILD_WRKSRC}/uMakefile
70
		/^LDFLAGS[[:blank:]]*=/d ; /^LIBPATH[[:blank:]]*=/d ; \
81
	${REINPLACE_CMD} -i '' -e '/^CXX[[:blank:]]*=/d; /^CFLAGS[[:blank:]]*=/d; \
82
		/^LDFLAGS[[:blank:]]*=/d ; \
83
		/^Macro[[:blank:]]*=/s|-DflagLINUX|${MACRO_FLAGS}| ; \
71
		/^Macro[[:blank:]]*=/s|-DflagLINUX|${MACRO_FLAGS}| ; \
84
		s|\(^CXXFLAGS\)[[:blank:]]*=.*\(-std=.*\)|\1 += \2| ; \
72
		/^CFLAGS[[:blank:]]*=/s|= -O3|+=| ; \
85
		s|\(^LIBPATH\)[[:blank:]]*=.*|\1 = -L${LOCALBASE}/lib -L/usr/lib|' \
73
		/^CXXFLAGS[[:blank:]]*=/s|= -O3|+=| ; \
86
		${BUILD_WRKSRC}/Makefile \
87
		${BUILD_WRKSRC}/uMakefile
88
	${REINPLACE_CMD} -i '' -e 's|\(^CINC\)[[:blank:]]*=.*|\1 = ${CINC_GUI}| ; \
89
		/^OutDir_/s|-Gui-Linux|| ; \
90
		s|-ldl|-lXau -lXdmcp -lxcb -lexecinfo|' \
91
		${BUILD_WRKSRC}/Makefile
92
	${REINPLACE_CMD} -i '' -e 's|\(^CINC\)[[:blank:]]*=.*|\1 = ${CINC_CONSOLE}| ; \
93
		/^OutDir_/s|-Linux|| ; \
74
		/^OutDir_/s|-Linux|| ; \
94
		s|-ldl|-lexecinfo|' \
75
		s|-ldl|-lexecinfo|' \
95
		${BUILD_WRKSRC}/uMakefile
76
		${WRKSRC}/Makefile \
77
		${WRKSRC}/uMakefile
78
	${REINPLACE_CMD} -i '' -E '/^OutDir_/s|-Gui|| ; \
79
		s/[[:blank:]]?`pkg-config --(cflags|libs) (freetype2|xcb|expat|xinerama|xrender|xft|xdmcp|xext)`//g' \
80
		${WRKSRC}/Makefile
81
# Add ${DATADIR} as an additional path to search for *.upp files
82
# on first TheIDE launch before automatic configuration of assemblies
83
	${REINPLACE_CMD} -e '/Scan(GetHomeDirFile("\*"/s|$$|\${.newline}		Scan("${DATADIR}/uppsrc");\${.newline}		Scan("${DATADIR}/*");|' \
84
		${WRKSRC}/uppsrc/ide/Install.cpp
96
85
97
do-build: .SILENT
86
do-build:
98
	${ECHO_CMD} "BUILDER = \"GCC\"" > ${WRKSRC}/GCC.bm
99
	${ECHO_CMD} "COMMON_CPP_OPTIONS = \"-std=c++11\";" >> ${WRKSRC}/GCC.bm
100
	${ECHO_CMD} "DEBUG_INFO = \"0\";" >> ${WRKSRC}/GCC.bm
101
	${ECHO_CMD} "DEBUG_BLITZ = \"1\";" >> ${WRKSRC}/GCC.bm
102
	${ECHO_CMD} "DEBUG_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm
103
	${ECHO_CMD} "DEBUG_OPTIONS = \"-O0\";" >> ${WRKSRC}/GCC.bm
104
	${ECHO_CMD} "DEBUG_FLAGS = \"\";" >> ${WRKSRC}/GCC.bm
105
	${ECHO_CMD} "DEBUG_LINK = \"\";" >> ${WRKSRC}/GCC.bm
106
	${ECHO_CMD} "RELEASE_BLITZ = \"0\";" >> ${WRKSRC}/GCC.bm
107
	${ECHO_CMD} "RELEASE_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm
108
	${ECHO_CMD} "RELEASE_OPTIONS = \"-O2 -ffunction-sections -fdata-sections\";" >> ${WRKSRC}/GCC.bm
109
	${ECHO_CMD} "RELEASE_FLAGS = \"\";" >> ${WRKSRC}/GCC.bm
110
	${ECHO_CMD} "RELEASE_LINK = \"-Wl,--gc-sections\";" >> ${WRKSRC}/GCC.bm
111
	${ECHO_CMD} "DEBUGGER = \"gdb\";" >> ${WRKSRC}/GCC.bm
112
	${ECHO_CMD} "PATH = \"\";" >> ${WRKSRC}/GCC.bm
113
	${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
114
	${ECHO_CMD} "LIB = \"${LOCALBASE}/lib;/usr/lib\";" >> ${WRKSRC}/GCC.bm
115
	${ECHO_CMD} "LINKMODE_LOCK = \"0\";" >> ${WRKSRC}/GCC.bm
116
# Also create CLANG build method, based on GCC with some changes
117
	(cd ${WRKSRC} && ${CP} GCC.bm CLANG.bm && \
118
		${SED} -i '' -e '/^BUILDER/s|GCC|CLANG| ; s| -fdata-sections||' \
119
		CLANG.bm)
120
	${ECHO_CMD} "COMMON_OPTIONS = \"-Wno-logical-op-parentheses\";" >> ${WRKSRC}/CLANG.bm
121
	${ECHO_CMD} "ALLOW_PRECOMPILED_HEADERS = \"0\";" >> ${WRKSRC}/CLANG.bm
122
87
123
do-build-IDE-on:
88
do-build-IDE-on:
124
	@(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
89
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
125
		${MAKE_FLAGS} Makefile ${_MAKE_JOBS} UPPOUT="../_out/" OutFile="../theide")
90
		${MAKE_FLAGS} Makefile ${_MAKE_JOBS} OutFile="theide")
126
91
127
do-build-UMK-on:
92
do-build-UMK-on:
128
	@(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
93
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
129
		${MAKE_FLAGS} uMakefile ${_MAKE_JOBS} UPPOUT="../_out/" OutFile="../umk")
94
		${MAKE_FLAGS} uMakefile ${_MAKE_JOBS} OutFile="umk")
130
95
131
do-install:
96
do-install:
132
	(cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} \
97
	(cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} \
133
		"-not ( -type d -empty ) -o -name '*.orig'")
98
		"-not ( -type d -empty ) -o -name '*.orig'")
134
	(cd ${STAGEDIR}${DATADIR}/uppsrc && ${RM} build_info.h *Makefile*)
99
	(cd ${STAGEDIR}${DATADIR} && ${RMDIR} uppsrc/ide/SrcUpdater uppsrc/Web)
135
100
136
do-install-IDE-on:
101
do-install-IDE-on:
137
	${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin
102
	${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin
138
	${INSTALL_MAN} ${BUILD_WRKSRC}/ide/theide.1 ${STAGEDIR}${MANPREFIX}/man/man1
103
	${INSTALL_MAN} ${WRKSRC}/uppsrc/ide/theide.1 ${STAGEDIR}${MANPREFIX}/man/man1
139
104
140
do-install-UMK-on:
105
do-install-UMK-on:
141
	${INSTALL_PROGRAM} ${WRKSRC}/umk ${STAGEDIR}${PREFIX}/bin
106
	${INSTALL_PROGRAM} ${WRKSRC}/umk ${STAGEDIR}${PREFIX}/bin
142
	${INSTALL_MAN} ${BUILD_WRKSRC}/umk/umk.1 ${STAGEDIR}${MANPREFIX}/man/man1
107
	${INSTALL_MAN} ${WRKSRC}/uppsrc/umk/umk.1 ${STAGEDIR}${MANPREFIX}/man/man1
143
108
144
.include <bsd.port.post.mk>
109
.include <bsd.port.post.mk>
(-)distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1522479324
1
TIMESTAMP = 1588515745
2
SHA256 (upp-x11-src-11873.tar.gz) = 0231b768830db96257ebf7a9cc1aaff05017aa40a2ea6dfa577de7232c1cd07b
2
SHA256 (upp-posix-14429.tar.xz) = 9f67329e64b85ef499463f7aef6afa88da8026a5a078b7a95b0129fa66fa5bf2
3
SIZE (upp-x11-src-11873.tar.gz) = 56167504
3
SIZE (upp-posix-14429.tar.xz) = 65677844
(-)files/patch-uppsrc_plugin_sqlite3_lib_sqlite3.c (-36 lines)
Lines 1-36 Link Here
1
# Fix for CVE-2018-8740: https://nvd.nist.gov/vuln/detail/CVE-2018-8740
2
# Detect databases whose schema is corrupted using a CREATE TABLE AS statement and issue an appropriate error message.
3
# Commit [d75e6765]: https://www.sqlite.org/src/info/d75e67654aa9620b
4
# Description: https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/1756349
5
6
--- uppsrc/plugin/sqlite3/lib/sqlite3.c.orig	2018-03-31 06:10:16 UTC
7
+++ uppsrc/plugin/sqlite3/lib/sqlite3.c
8
@@ -103474,8 +103474,6 @@ SQLITE_PRIVATE void sqlite3EndTable(
9
   p = pParse->pNewTable;
10
   if( p==0 ) return;
11
 
12
-  assert( !db->init.busy || !pSelect );
13
-
14
   /* If the db->init.busy is 1 it means we are reading the SQL off the
15
   ** "sqlite_master" or "sqlite_temp_master" table on the disk.
16
   ** So do not write to the disk again.  Extract the root page number
17
@@ -103486,6 +103484,10 @@ SQLITE_PRIVATE void sqlite3EndTable(
18
   ** table itself.  So mark it read-only.
19
   */
20
   if( db->init.busy ){
21
+    if( pSelect ){
22
+      sqlite3ErrorMsg(pParse, "");
23
+      return;
24
+    }
25
     p->tnum = db->init.newTnum;
26
     if( p->tnum==1 ) p->tabFlags |= TF_Readonly;
27
   }
28
@@ -117813,7 +117815,7 @@ static void corruptSchema(
29
     char *z;
30
     if( zObj==0 ) zObj = "?";
31
     z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj);
32
-    if( zExtra ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra);
33
+    if( zExtra && zExtra[0] ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra);
34
     sqlite3DbFree(db, *pData->pzErrMsg);
35
     *pData->pzErrMsg = z;
36
   }

Return to bug 246563