Skip to content
This repository has been archived by the owner on Jun 15, 2023. It is now read-only.

Commit

Permalink
New port: x11/tilix, x11-toolkits/gtkd-3
Browse files Browse the repository at this point in the history
  • Loading branch information
valpackett committed Oct 17, 2020
1 parent dc043e2 commit 2b892e4
Show file tree
Hide file tree
Showing 18 changed files with 1,478 additions and 0 deletions.
24 changes: 24 additions & 0 deletions devel/gir-to-d/Makefile
@@ -0,0 +1,24 @@
# $FreeBSD$

PORTNAME= gir-to-d
DISTVERSION= 0.20.0-21
DISTVERSIONPREFIX= v
DISTVERSIONSUFFIX= -g02cbb6e
CATEGORIES= devel

MAINTAINER= greg@unrelenting.technology
COMMENT= Generator of D bindings from GObject introspection files

LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/COPYING

BUILD_DEPENDS= ldc2:lang/ldc
# NOTE: statically linked binary is smaller than with -link-defaultlib-shared

USES= meson
USE_GITHUB= yes
GH_ACCOUNT= gtkd-developers
SSP_UNSAFE= yes # not understood by ldc2
PLIST_FILES= bin/girtod

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions devel/gir-to-d/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1580412746
SHA256 (gtkd-developers-gir-to-d-v0.20.0-21-g02cbb6e_GH0.tar.gz) = 7ddf5f346aee6053176cd2f37c9fa4d1ebeaccb1760aa189f8d52b2ce2e58a92
SIZE (gtkd-developers-gir-to-d-v0.20.0-21-g02cbb6e_GH0.tar.gz) = 41815
3 changes: 3 additions & 0 deletions devel/gir-to-d/pkg-descr
@@ -0,0 +1,3 @@
This tool creates D language bindings from GObject introspection files.

WWW: https://github.com/gtkd-developers/gir-to-d
1 change: 1 addition & 0 deletions x11-toolkits/Makefile
Expand Up @@ -38,6 +38,7 @@
SUBDIR += gtk30
SUBDIR += gtkada
SUBDIR += gtkada3
SUBDIR += gtkd-3
SUBDIR += gtkdatabox
SUBDIR += gtkextra
SUBDIR += gtkglarea2
Expand Down
62 changes: 62 additions & 0 deletions x11-toolkits/gtkd-3/Makefile
@@ -0,0 +1,62 @@
# $FreeBSD$

PORTNAME= gtkd
PORTVERSION= 3.9.0
CATEGORIES= x11-toolkits
MASTER_SITES= https://gtkd.org/Downloads/sources/
DISTNAME= GtkD-${PORTVERSION}
PKGNAMESUFFIX= -3
WRKSRC= ${WRKDIR}

PATCH_SITES= https://github.com/gtkd-developers/GtkD/commit/
PATCHFILES= a9db09117ab27127ca4c3b8d2f308fae483a9199.patch:-p1 \
68b055389b0c35cf7c5b16e198ffd7ac3c060e89.patch:-p1 \
1282f0acbfbd4a4610a7e8d9482c0649027cc995.patch:-p1 \
831a628dd73cd35bdb5cbb422b7d5decf091d2bc.patch:-p1

MAINTAINER= greg@unrelenting.technology
COMMENT= D wrapper for Gtk+3

LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/COPYING

LIB_DEPENDS= libgnutls.so:security/gnutls \
libpcre2-8.so:devel/pcre2 \
libpeas-1.0.so:devel/libpeas \
libphobos2-ldc-shared.so:lang/ldc
BUILD_DEPENDS= girtod:devel/gir-to-d

USES= gettext-runtime gmake gnome zip
USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 gtksourceview3 introspection \
librsvg2 pango vte3
USE_GSTREAMER1= bad
SSP_UNSAFE= yes # not understood by ldc2
MAKEFILE= GNUmakefile
MAKE_ARGS+= datadir="${PREFIX}/libdata" \
DC=ldc2 \
prefix="${PREFIX}"
ALL_TARGET= shared
INSTALL_TARGET= install-headers install-shared

# NOTE:
# - we regenerate the bindings to get the compiletime (non-dlopen) version
# - dpkg can be installed on FreeBSD (!), it should not change where this installs
# - SOFLAGS_PEASD does not get localbase from pkgconfig because of --libs-only-l
# (while not using that returns D-incompatible C flags)

post-patch:
${REINPLACE_CMD} \
-e 's/ldconfig -n/# ldconfig -n)/' \
-e 's|shell which dpkg-architecture 2>/dev/null|false|' \
-e 's|GIRTOD) -i src --|GIRTOD) -i src -g "${LOCALBASE}/share/gir-1.0" --|' \
${WRKSRC}/GNUmakefile

# do not add generate-compiletime to ALL_TARGET, build does not *depend* on it
# (and so they would happen in parallel)
pre-build:
${RM} -r ${WRKSRC}/generated
@(cd ${BUILD_WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} generate-compiletime)

.include <bsd.port.mk>
13 changes: 13 additions & 0 deletions x11-toolkits/gtkd-3/distinfo
@@ -0,0 +1,13 @@
TIMESTAMP = 1562839226
SHA256 (GtkD-3.9.0.zip) = 97d2ce1617a4e88aaab9c9b1519c8f7faebb5351c0657bd1012d2cce2fc56863
SIZE (GtkD-3.9.0.zip) = 4576099
SHA256 (a9db09117ab27127ca4c3b8d2f308fae483a9199.patch) = 7e6c5001516134d664c9943b000cd5444a1360524d279ccbf08fc972cf929989
SIZE (a9db09117ab27127ca4c3b8d2f308fae483a9199.patch) = 6324
SHA256 (68b055389b0c35cf7c5b16e198ffd7ac3c060e89.patch) = e5d38c54dae9f501418406fea15c1c0baff76ec3b2fc4d4fb556a920ff71eb45
SIZE (68b055389b0c35cf7c5b16e198ffd7ac3c060e89.patch) = 3702
SHA256 (1282f0acbfbd4a4610a7e8d9482c0649027cc995.patch) = e46b25208f2386153f5273ed29be0a740270e2c12e46b4aff1c8e06ee4f604b6
SIZE (1282f0acbfbd4a4610a7e8d9482c0649027cc995.patch) = 2029
SHA256 (831a628dd73cd35bdb5cbb422b7d5decf091d2bc.patch) = 43b6b8eacb2b8c0205c4344a5144027b31ab9393b62a466937906af2364588e8
SIZE (831a628dd73cd35bdb5cbb422b7d5decf091d2bc.patch) = 777
SHA256 (d5922b1790514affbf04bc33339c07ab550a0d27.patch) = b54fc056e108ccd85c53003cea462c9835c0b8e5d210ea3ae5aedcd9f3c27961
SIZE (d5922b1790514affbf04bc33339c07ab550a0d27.patch) = 2430
64 changes: 64 additions & 0 deletions x11-toolkits/gtkd-3/files/patch-GNUmakefile
@@ -0,0 +1,64 @@
--- GNUmakefile.orig 2019-07-11 10:37:34 UTC
+++ GNUmakefile
@@ -123,12 +123,12 @@ PICOBJECTS_PEASD = $(patsubst %.o,%.pic.o,$(OBJECTS_PE
USE_RUNTIME_LINKER = $(shell grep "Linker" generated/gtkd/atk/c/functions.d)

ifeq ($(USE_RUNTIME_LINKER),)
- SOFLAGS_GTKD = $(shell ${PKG_CONFIG} --libs gtk+-3.0 librsvg-2.0 | sed 's/-[lL]/$(LINKERFLAG)&/g')
+ SOFLAGS_GTKD = $(shell ${PKG_CONFIG} --libs gtk+-3.0 librsvg-2.0 gmodule-2.0 | sed -e 's/-[lL]/$(LINKERFLAG)&/g' -e 's/-Wl,--export-dynamic//' -e 's/-pthread//')
SOFLAGS_GTKDGL = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs gtkglext-3.0 | sed 's/-[lL]/$(LINKERFLAG)&/g')
SOFLAGS_GTKDSV = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs gtksourceview-3.0 | sed 's/-[lL]/$(LINKERFLAG)&/g')
SOFLAGS_GSTREAMERD = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs gstreamer-base-1.0 | sed 's/-[lL]/$(LINKERFLAG)&/g')
SOFLAGS_VTED = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs vte-2.91 | sed 's/-[lL]/$(LINKERFLAG)&/g')
- SOFLAGS_PEASD = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs-only-l libpeas-1.0 | sed 's/-[lL]/$(LINKERFLAG)&/g')
+ SOFLAGS_PEASD = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs libpeas-1.0 | sed -e 's/-[lL]/$(LINKERFLAG)&/g' -e 's/-Wl,--export-dynamic//' -e 's/-pthread//')
endif

#######################################################################
@@ -280,41 +280,42 @@ gtkd-$(MAJOR).pc:
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-L$(prefix)/$(libdir)/ $(LINKERFLAG)-lgtkd-$(MAJOR) $(LINKERFLAG)-ldl >> $@
echo Cflags: -I$(prefix)/include/d/gtkd-$(MAJOR)/ >> $@
+ echo Requires: gtk+-3.0, gdk-3.0, atk, pango, cairo, cairo-gobject, pangocairo, librsvg-2.0, gio-2.0, glib-2.0, gobject-2.0 >> $@

gtkdgl-$(MAJOR).pc:
echo Name: GtkDGL > $@
echo Description: OpenGL capabilities for GtkD. >> $@
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-lgtkdgl-$(MAJOR) >> $@
- echo Requires: gtkd-$(MAJOR) >> $@
+ echo Requires: gtkd-$(MAJOR), gtkglext-1.0 >> $@

gtkdsv-$(MAJOR).pc:
echo Name: GtkD SourceView > $@
echo Description: A D binding and OO wrapper for GtkSourceView. >> $@
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-lgtkdsv-$(MAJOR) >> $@
- echo Requires: gtkd-$(MAJOR) >> $@
+ echo Requires: gtkd-$(MAJOR), gtksourceview-3.0 >> $@

gstreamerd-$(MAJOR).pc:
echo Name: GstreamerD > $@
echo Description: A D binding and OO wrapper for Gstreamer. >> $@
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-lgstreamerd-$(MAJOR) >> $@
- echo Requires: gtkd-$(MAJOR) >> $@
+ echo Requires: gtkd-$(MAJOR), gstreamer-1.0, gstreamer-base-1.0 >> $@

vted-$(MAJOR).pc:
echo Name: VteD > $@
echo Description: A D binding and OO wrapper for Vte. >> $@
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-lvted-$(MAJOR) >> $@
- echo Requires: gtkd-$(MAJOR) >> $@
+ echo Requires: gtkd-$(MAJOR), vte-2.91 >> $@

peasd-$(MAJOR).pc:
echo Name: PeasD > $@
echo Description: A D binding and OO wrapper for Peas. >> $@
echo Version: $(GTKD_VERSION) >> $@
echo Libs: $(LINKERFLAG)-lpeasd-$(MAJOR) >> $@
- echo Requires: gtkd-$(MAJOR) >> $@
+ echo Requires: gtkd-$(MAJOR), libpeas-1.0, libpeas-gtk-1.0 >> $@

#######################################################################
3 changes: 3 additions & 0 deletions x11-toolkits/gtkd-3/pkg-descr
@@ -0,0 +1,3 @@
GtkD is the Digital Mars D programming language OO wrapper for Gtk+ 3.22.

WWW: https://gtkd.org

0 comments on commit 2b892e4

Please sign in to comment.