aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Makhmatkhanov <rm@FreeBSD.org>2015-10-03 17:52:07 +0000
committerRuslan Makhmatkhanov <rm@FreeBSD.org>2015-10-03 17:52:07 +0000
commit81d152cacda3f574dc7634a54b94a8b3366695da (patch)
tree80710e267c6e1a277be1dc0c22681598720ef0be
parent1cc9bc2ef97680f4fc42dd8a25ed27070099633a (diff)
downloadports-81d152cacda3f574dc7634a54b94a8b3366695da.tar.gz
ports-81d152cacda3f574dc7634a54b94a8b3366695da.zip
Builder attempts to be an IDE for writing software for GNOME. It does not try
to be a generic IDE, but one specialized for writing GNOME software. WWW: https://wiki.gnome.org/Apps/Builder
Notes
Notes: svn path=/head/; revision=398549
-rw-r--r--devel/Makefile1
-rw-r--r--devel/gnome-builder/Makefile43
-rw-r--r--devel/gnome-builder/distinfo2
-rw-r--r--devel/gnome-builder/files/patch-libide_git_ide-git-buffer-change-monitor.c14
-rw-r--r--devel/gnome-builder/files/patch-src_dialogs_gb-new-project-dialog.c46
-rw-r--r--devel/gnome-builder/pkg-descr4
-rw-r--r--devel/gnome-builder/pkg-plist34
7 files changed, 144 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 9f7fbf5b5f9a..79149e2cc607 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -670,6 +670,7 @@
SUBDIR += gmake-lite
SUBDIR += gnatcoll
SUBDIR += gnatpython
+ SUBDIR += gnome-builder
SUBDIR += gnome-common
SUBDIR += gnome-js-common
SUBDIR += gnome-vfs
diff --git a/devel/gnome-builder/Makefile b/devel/gnome-builder/Makefile
new file mode 100644
index 000000000000..31c4a7ce74d3
--- /dev/null
+++ b/devel/gnome-builder/Makefile
@@ -0,0 +1,43 @@
+# $FreeBSD$
+
+PORTNAME= gnome-builder
+PORTVERSION= 3.16.2
+CATEGORIES= devel gnome
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome3
+
+MAINTAINER= rm@FreeBSD.org
+COMMENT= IDE for writing software for GNOME
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= intltool-update:${PORTSDIR}/textproc/intltool \
+ llvm-config35:${PORTSDIR}/devel/llvm35 \
+ clang35:${PORTSDIR}/lang/clang35
+LIB_DEPENDS= libgit2-glib-1.0.so:${PORTSDIR}/devel/libgit2-glib \
+ libpeas-1.0.so:${PORTSDIR}/devel/libpeas \
+ libdevhelp-3.so:${PORTSDIR}/devel/devhelp \
+ libgjs.so:${PORTSDIR}/lang/gjs \
+ libpcre.so:${PORTSDIR}/devel/pcre
+
+PORTSCOUT= limitw:1,even
+PORTDOCS= *
+
+USES= cpe gettext gmake libtool pathfix pkgconfig tar:xz
+USE_GNOME= glib20 gtk30 gtksourceview3 gtk-update-icon-cache py3gobject3
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--disable-debug
+USE_LDCONFIG= yes
+INSTALLS_ICONS= yes
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+INSTALL_TARGET= install-strip
+CPE_VENDOR= gnome
+
+GLIB_SCHEMAS= org.gnome.builder.editor.gschema.xml \
+ org.gnome.builder.editor.language.gschema.xml \
+ org.gnome.builder.experimental.gschema.xml \
+ org.gnome.builder.project-tree.gschema.xml
+
+.include <bsd.port.mk>
diff --git a/devel/gnome-builder/distinfo b/devel/gnome-builder/distinfo
new file mode 100644
index 000000000000..a8c3cc15b4f5
--- /dev/null
+++ b/devel/gnome-builder/distinfo
@@ -0,0 +1,2 @@
+SHA256 (gnome3/gnome-builder-3.16.2.tar.xz) = 29bce3b39a0745c8ad538ee5051754b14d6d946f382bcc149a44ee53557cbbfd
+SIZE (gnome3/gnome-builder-3.16.2.tar.xz) = 1683324
diff --git a/devel/gnome-builder/files/patch-libide_git_ide-git-buffer-change-monitor.c b/devel/gnome-builder/files/patch-libide_git_ide-git-buffer-change-monitor.c
new file mode 100644
index 000000000000..540a2e4bdad7
--- /dev/null
+++ b/devel/gnome-builder/files/patch-libide_git_ide-git-buffer-change-monitor.c
@@ -0,0 +1,14 @@
+Upstream patch to fix build with more fresh libgit2 library we have in ports.
+Should be removed after updating to 3.18.0
+
+--- libide/git/ide-git-buffer-change-monitor.c.orig 2015-04-08 06:43:25 UTC
++++ libide/git/ide-git-buffer-change-monitor.c
+@@ -621,7 +621,7 @@ ide_git_buffer_change_monitor_calculate_
+ data = g_bytes_get_data (diff->content, &data_len);
+
+ ggit_diff_blob_to_buffer (diff->blob, relative_path, data, data_len, relative_path,
+- NULL, NULL, NULL, diff_line_cb, (gpointer)diff->state, error);
++ NULL, NULL, NULL, NULL, diff_line_cb, (gpointer)diff->state, error);
+
+ return ((*error) == NULL);
+ }
diff --git a/devel/gnome-builder/files/patch-src_dialogs_gb-new-project-dialog.c b/devel/gnome-builder/files/patch-src_dialogs_gb-new-project-dialog.c
new file mode 100644
index 000000000000..531b5ec8e227
--- /dev/null
+++ b/devel/gnome-builder/files/patch-src_dialogs_gb-new-project-dialog.c
@@ -0,0 +1,46 @@
+Upstream patch to fix build with more fresh libgit2 library we have in ports.
+Should be removed after updating to 3.18.0
+
+--- src/dialogs/gb-new-project-dialog.c.orig 2015-04-08 20:10:45 UTC
++++ src/dialogs/gb-new-project-dialog.c
+@@ -188,6 +188,7 @@ gb_new_project_dialog__clone_worker (GTa
+ g_autoptr(GFile) workdir = NULL;
+ CloneRequest *req = task_data;
+ GgitCloneOptions *clone_options;
++ GgitFetchOptions *fetch_options;
+ GgitRemoteCallbacks *callbacks;
+ IdeProgress *progress;
+ GError *error = NULL;
+@@ -197,21 +198,25 @@ gb_new_project_dialog__clone_worker (GTa
+ g_assert (req != NULL);
+ g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
+
+- clone_options = ggit_clone_options_new ();
+- ggit_clone_options_set_is_bare (clone_options, FALSE);
+- ggit_clone_options_set_checkout_branch (clone_options, "master");
+-
+ callbacks = g_object_new (IDE_TYPE_GIT_REMOTE_CALLBACKS, NULL);
+ progress = ide_git_remote_callbacks_get_progress (IDE_GIT_REMOTE_CALLBACKS (callbacks));
+ g_object_bind_property (progress, "fraction",
+ self->clone_progress, "fraction",
+ G_BINDING_SYNC_CREATE);
+- ggit_clone_options_set_remote_callbacks (clone_options, callbacks);
++
++ fetch_options = ggit_fetch_options_new ();
++ ggit_fetch_options_set_remote_callbacks (fetch_options, callbacks);
++
++ clone_options = ggit_clone_options_new ();
++ ggit_clone_options_set_is_bare (clone_options, FALSE);
++ ggit_clone_options_set_checkout_branch (clone_options, "master");
++ ggit_clone_options_set_fetch_options (clone_options, fetch_options);
++ g_clear_pointer (&fetch_options, ggit_fetch_options_free);
+
+ repository = ggit_repository_clone (req->uri, req->location, clone_options, &error);
+
+- g_object_unref (callbacks);
+- ggit_clone_options_free (clone_options);
++ g_clear_object (&callbacks);
++ g_clear_object (&clone_options);
+
+ if (repository == NULL)
+ {
diff --git a/devel/gnome-builder/pkg-descr b/devel/gnome-builder/pkg-descr
new file mode 100644
index 000000000000..e4449ca507cb
--- /dev/null
+++ b/devel/gnome-builder/pkg-descr
@@ -0,0 +1,4 @@
+Builder attempts to be an IDE for writing software for GNOME. It does not try
+to be a generic IDE, but one specialized for writing GNOME software.
+
+WWW: https://wiki.gnome.org/Apps/Builder
diff --git a/devel/gnome-builder/pkg-plist b/devel/gnome-builder/pkg-plist
new file mode 100644
index 000000000000..595a8d6a97ca
--- /dev/null
+++ b/devel/gnome-builder/pkg-plist
@@ -0,0 +1,34 @@
+bin/gnome-builder
+lib/libide-1.0.so
+lib/girepository-1.0/Ide-1.0.typelib
+libdata/pkgconfig/libide-1.0.pc
+share/appdata/org.gnome.Builder.appdata.xml
+share/applications/org.gnome.Builder.desktop
+share/dbus-1/services/org.gnome.Builder.service
+share/gir-1.0/Ide-1.0.gir
+share/gtksourceview-3.0/styles/builder-dark.xml
+share/gtksourceview-3.0/styles/builder.xml
+share/icons/hicolor/16x16/apps/builder.png
+share/icons/hicolor/24x24/apps/builder.png
+share/icons/hicolor/256x256/apps/builder.png
+share/icons/hicolor/32x32/apps/builder.png
+share/icons/hicolor/48x48/apps/builder.png
+share/icons/hicolor/512x512/apps/builder.png
+share/icons/hicolor/scalable/apps/builder-symbolic.svg
+share/locale/bs/LC_MESSAGES/gnome-builder.mo
+share/locale/cs/LC_MESSAGES/gnome-builder.mo
+share/locale/de/LC_MESSAGES/gnome-builder.mo
+share/locale/es/LC_MESSAGES/gnome-builder.mo
+share/locale/fr/LC_MESSAGES/gnome-builder.mo
+share/locale/gl/LC_MESSAGES/gnome-builder.mo
+share/locale/he/LC_MESSAGES/gnome-builder.mo
+share/locale/id/LC_MESSAGES/gnome-builder.mo
+share/locale/ko/LC_MESSAGES/gnome-builder.mo
+share/locale/pl/LC_MESSAGES/gnome-builder.mo
+share/locale/sl/LC_MESSAGES/gnome-builder.mo
+share/locale/sr/LC_MESSAGES/gnome-builder.mo
+share/locale/tr/LC_MESSAGES/gnome-builder.mo
+share/locale/uk/LC_MESSAGES/gnome-builder.mo
+share/locale/zh_TW/LC_MESSAGES/gnome-builder.mo
+@postexec /usr/local/bin/gtk-update-icon-cache -q -f %D/share/icons/hicolor 2>/dev/null || /usr/bin/true
+@postunexec /usr/local/bin/gtk-update-icon-cache -q -f %D/share/icons/hicolor 2>/dev/null || /usr/bin/true