aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authoracm <acm@FreeBSD.org>2017-07-22 11:38:18 +0800
committeracm <acm@FreeBSD.org>2017-07-22 11:38:18 +0800
commitc543701c7ea9ca72064c2a77a46ba403a32e1ebd (patch)
tree617c4ca011a747079d101924f8214d088f170112 /editors
parente3af924bfc9bec8b09f5fd0ef2dd44d0ade4987c (diff)
downloadfreebsd-ports-gnome-c543701c7ea9ca72064c2a77a46ba403a32e1ebd.tar.gz
freebsd-ports-gnome-c543701c7ea9ca72064c2a77a46ba403a32e1ebd.tar.zst
freebsd-ports-gnome-c543701c7ea9ca72064c2a77a46ba403a32e1ebd.zip
- New port: editors/coedit
Coedit is an IDE for the D programming language, its compilers, tools and libraries. - available for Windows, Linux and FreeBSD. - supports all the D compilers (DMD-GDC-LDC). - supports the DUB projects (JSON + SDL) and also Coedit own project format. - support the DUB scripts (aka single file packages) and Coedit own script format (aka runnable modules). - full D Completion Daemon integration (completion, ddoc display, call tips, jump to declaration, rename identifier). - Dynamic D-Scanner linting with results displayed in the editor gutter. - single click to compile and to unittest a module. - advanced editor with D2 syntax highlighter, folds, regions, identifier markup, macros, sync-edit, etc. - edition helpers: comment blocks, local identifier renaming, brace auto-closing, ddoc templates, etc. - Explorable list of symbols of the current module. - static libraries manager that supports auto-registration from local DUB projects, from online DUB packages or from Coedit custom project format. - todo list based on the todo comments located in a project or in the current source. - user-defined tools powered by a string interpolation system. - mini file browser, dfmt interface, search & replace and more WWW: https://github.com/BBasile/Coedit
Diffstat (limited to 'editors')
-rw-r--r--editors/Makefile1
-rw-r--r--editors/coedit/Makefile90
-rw-r--r--editors/coedit/distinfo3
-rw-r--r--editors/coedit/files/patch-dastworx_build.sh33
-rw-r--r--editors/coedit/pkg-descr24
-rw-r--r--editors/coedit/pkg-plist3
6 files changed, 154 insertions, 0 deletions
diff --git a/editors/Makefile b/editors/Makefile
index 4319f637c4f2..7318227375e3 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -19,6 +19,7 @@
SUBDIR += calligra
SUBDIR += chexedit
SUBDIR += codelite
+ SUBDIR += coedit
SUBDIR += conglomerate
SUBDIR += cooledit
SUBDIR += cream
diff --git a/editors/coedit/Makefile b/editors/coedit/Makefile
new file mode 100644
index 000000000000..abe63201ca3d
--- /dev/null
+++ b/editors/coedit/Makefile
@@ -0,0 +1,90 @@
+# Created by: Alonso Cardenas Marquez <acm@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= coedit
+DISTVERSION= 3_update_3
+CATEGORIES= editors
+MASTER_SITES= https://github.com/BBasile/Coedit/archive/
+DISTNAME= ${DISTVERSION}
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= IDE for the D programming language
+
+LICENSE= BSL
+
+BUILD_DEPENDS= lazbuild:editors/lazarus \
+ ldmd2:lang/ldc \
+ ${LOCALBASE}/lib/d/libiz.a:devel/iz \
+ ${LOCALBASE}/lib/d/libdparse.a:devel/libdparse
+RUN_DEPENDS= ldmd2:lang/ldc \
+ dscanner:devel/d-scanner \
+ dcd-client:devel/dcd-client \
+ dcd-server:devel/dcd-server
+
+USE_FPC= cairo fcl-base fcl-db fcl-image fcl-json fcl-net fcl-registry \
+ fcl-stl fcl-web fcl-xml numlib openssl pasjpeg rtl-objpas \
+ regexpr rtl-extra x11
+
+WRKSRC= ${WRKDIR}/${PORTNAME:S/c/C/}-${DISTVERSION}
+DESKTOP_ENTRIES="Coedit" \
+ "IDE for the D programming language" \
+ "${PREFIX}/share/pixmaps/${PORTNAME}.png" \
+ "${PREFIX}/bin/${PORTNAME}" \
+ "Application;IDE;Development;" \
+ ${TRUE}
+
+OPTIONS_SINGLE= LCL
+OPTIONS_SINGLE_LCL= GTK2 QT4
+
+GTK2_DESC= Use gtk20 interface
+QT4_DESC= Use qt4 interface
+
+OPTIONS_DEFAULT= GTK2
+
+D_LIB_DIR= ${LOCALBASE}/lib/d
+D_INCLUDE_DIR= ${LOCALBASE}/include/d
+PROJECT_FILE= lazproj/coedit.lpi
+LAZARUS_VER= 1.6.4
+LAZBUILD_CMD= ${LOCALBASE}/bin/lazbuild
+LAZARUS_DIR= ${WRKSRC}/lazarus-${LAZARUS_VER}
+LCL_UNITS_DIR= ${LOCALBASE}/share/lazarus-${LAZARUS_VER}/lcl/units/${BUILDNAME}
+LDMD2_CMD= ${LOCALBASE}/bin/ldmd2
+
+GTK2_BUILD_DEPENDS= ${LCL_UNITS_DIR}/gtk2/interfaces.ppu:editors/lazarus-lcl-gtk2
+GTK2_USE= GNOME=gtk20 FPC=gtk2
+GTK2_MAKE_ENV= GUI=gtk2
+GTK2_VARS= LCL_PLATFORM=gtk2
+
+QT4_BUILD_DEPENDS= ${LCL_UNITS_DIR}/qt/interfaces.ppu:editors/lazarus-lcl-qt
+QT4_LIB_DEPENDS= libQt4Pas.so:x11-toolkits/qt4pas
+QT4_MAKE_ENV= GUI=qt
+QT4_VARS= LCL_PLATFORM=qt
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|%%LDMD2_CMD%%|${LDMD2_CMD}|g' \
+ -e 's|%%D_LIB_DIR%%|${D_LIB_DIR}|g' \
+ -e 's|%%D_INCLUDE_DIR%%|${D_INCLUDE_DIR}|g' \
+ ${WRKSRC}/dastworx/build.sh
+ ${REINPLACE_CMD} -e 's|LINUX|FREEBSD|g' ${WRKSRC}/src/ce_common.pas
+
+pre-build:
+ @${MKDIR} ${WRKSRC}/tmppcp
+ @${MKDIR} ${LAZARUS_DIR}
+ @cd ${LOCALBASE}/share/lazarus-${LAZARUS_VER} && \
+ ${FIND} * -type d -exec ${MKDIR} ${LAZARUS_DIR}/{} \;
+ @cd ${LOCALBASE}/share/lazarus-${LAZARUS_VER} && \
+ ${FIND} * -type f -exec ${LN} -fs ${LOCALBASE}/share/lazarus-${LAZARUS_VER}/{} ${LAZARUS_DIR}/{} \;
+ @${FIND} ${LAZARUS_DIR} -type d -name ${BUILDNAME} -type d -print0 | \
+ ${XARGS} -0 ${RM} -R
+
+do-build:
+ @cd ${WRKSRC}/dastworx && ${SH} build.sh
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${LAZBUILD_CMD} --ws=${LCL_PLATFORM} --lazarusdir=${LAZARUS_DIR} --pcp=${WRKSRC}/tmppcp ${PROJECT_FILE}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/coedit ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/dastworx ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_DATA} ${WRKSRC}/logo/coedit.png ${STAGEDIR}${PREFIX}/share/pixmaps/
+
+.include <bsd.port.mk>
diff --git a/editors/coedit/distinfo b/editors/coedit/distinfo
new file mode 100644
index 000000000000..cbc46b583167
--- /dev/null
+++ b/editors/coedit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1500614382
+SHA256 (3_update_3.tar.gz) = e0a73bac5336d852318a6d3c7b20fbcdffd3e91c2375656863b654cb26931e90
+SIZE (3_update_3.tar.gz) = 3553077
diff --git a/editors/coedit/files/patch-dastworx_build.sh b/editors/coedit/files/patch-dastworx_build.sh
new file mode 100644
index 000000000000..f1f53d23cb5c
--- /dev/null
+++ b/editors/coedit/files/patch-dastworx_build.sh
@@ -0,0 +1,33 @@
+--- dastworx/build.sh 2017-07-21 05:32:58 UTC
++++ dastworx/build.sh
+@@ -1,13 +1,3 @@
+-#iz sources
+-cd ../etc/iz/import/
+-iz=$(find `pwd` -type f -name \*.d)
+-cd ../../../dastworx
+-
+-#dparse sources
+-cd ../etc/libdparse/src/
+-dparse=$(find `pwd` -type f -name \*.d)
+-cd ../../../dastworx
+-
+ #dast sources
+ cd src/
+ dast=$(find `pwd` -type f -name \*.d)
+@@ -16,12 +6,12 @@ cd ../
+ echo building...
+
+ #build
+-dmd ${dast[@]} ${dparse[@]} ${iz[@]} \
++%%LDMD2_CMD%% ${dast} \
+ -O -release -inline -boundscheck=off \
+--Isrc -I../etc/iz/import -I../etc/libdparse/src \
++-Isrc -I%%D_INCLUDE_DIR%% -L%%D_LIB_DIR%%/libiz.a -L%%D_LIB_DIR%%/libdparse.a \
+ -of../bin/dastworx
+
+ #cleanup
+ rm ../bin/dastworx.o
+
+-echo ...done
+\ No newline at end of file
++echo ...done
diff --git a/editors/coedit/pkg-descr b/editors/coedit/pkg-descr
new file mode 100644
index 000000000000..be8a4169c6c8
--- /dev/null
+++ b/editors/coedit/pkg-descr
@@ -0,0 +1,24 @@
+Coedit is an IDE for the D programming language, its compilers, tools and
+libraries.
+- available for Windows, Linux and FreeBSD.
+- supports all the D compilers (DMD-GDC-LDC).
+- supports the DUB projects (JSON + SDL) and also Coedit own project format.
+- support the DUB scripts (aka single file packages) and Coedit own script
+ format (aka runnable modules).
+- full D Completion Daemon integration (completion, ddoc display, call tips,
+ jump to declaration, rename identifier).
+- Dynamic D-Scanner linting with results displayed in the editor gutter.
+- single click to compile and to unittest a module.
+- advanced editor with D2 syntax highlighter, folds, regions, identifier markup,
+ macros, sync-edit, etc.
+- edition helpers: comment blocks, local identifier renaming, brace
+ auto-closing, ddoc templates, etc.
+- Explorable list of symbols of the current module.
+- static libraries manager that supports auto-registration from local DUB
+ projects, from online DUB packages or from Coedit custom project format.
+- todo list based on the todo comments located in a project or in the current
+ source.
+- user-defined tools powered by a string interpolation system.
+- mini file browser, dfmt interface, search & replace and more
+
+WWW: https://github.com/BBasile/Coedit
diff --git a/editors/coedit/pkg-plist b/editors/coedit/pkg-plist
new file mode 100644
index 000000000000..1b2335bba490
--- /dev/null
+++ b/editors/coedit/pkg-plist
@@ -0,0 +1,3 @@
+bin/coedit
+bin/dastworx
+share/pixmaps/coedit.png