diff --git a/packages/net-im/pidgin-opensteamworks/files/0001-Add-mbedtls-openssl-as-STEAM_CRYPT_BACKEND.patch b/packages/net-im/pidgin-opensteamworks/files/0001-Add-mbedtls-openssl-as-STEAM_CRYPT_BACKEND.patch new file mode 100644 index 0000000..402ec08 --- /dev/null +++ b/packages/net-im/pidgin-opensteamworks/files/0001-Add-mbedtls-openssl-as-STEAM_CRYPT_BACKEND.patch @@ -0,0 +1,46 @@ +From 01cb534f1a9d2b161768c8294875700de060f63a Mon Sep 17 00:00:00 2001 +From: Julian Ospald +Date: Sat, 12 Mar 2016 18:04:53 +0100 +Subject: [PATCH 1/2] Add mbedtls/openssl as STEAM_CRYPT_BACKEND + +Also fix the ifdef check to include linux systems. + +https://github.com/EionRobb/pidgin-opensteamworks/pull/139 +--- + steam-mobile/Makefile | 6 ++++++ + steam-mobile/steam_rsa.c | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/steam-mobile/Makefile b/steam-mobile/Makefile +index 3f66ee1..1de0c50 100644 +--- a/steam-mobile/Makefile ++++ b/steam-mobile/Makefile +@@ -21,6 +21,12 @@ ifeq ($(STEAM_CRYPT_BACKEND), nss) + else ifeq ($(STEAM_CRYPT_BACKEND), gcrypt) + LIBPURPLE_CFLAGS += $(shell libgcrypt-config --cflags) -DUSE_GCRYPT_CRYPTO + LIBPURPLE_LIBS += $(shell libgcrypt-config --libs) ++else ifeq ($(STEAM_CRYPT_BACKEND), mbedtls) ++ LIBPURPLE_CFLAGS += -DUSE_MBEDTLS_CRYPTO ++ LIBPURPLE_LIBS += -lmbedtls -lmbedcrypto -lmbedx509 ++else ifeq ($(STEAM_CRYPT_BACKEND), openssl) ++ LIBPURPLE_CFLAGS += $(shell ${PKG_CONFIG} --cflags openssl) -DUSE_OPENSSL_CRYPTO ++ LIBPURPLE_LIBS += $(shell ${PKG_CONFIG} --libs openssl) + endif + + STEAM_SOURCES = \ +diff --git a/steam-mobile/steam_rsa.c b/steam-mobile/steam_rsa.c +index c14196e..650baa9 100644 +--- a/steam-mobile/steam_rsa.c ++++ b/steam-mobile/steam_rsa.c +@@ -9,7 +9,7 @@ password=&username=&emailauth=&captchagid= + + */ + +-#if defined USE_OPENSSL_CRYPTO && !(defined __APPLE__ || defined __FreeBSD__ || defined __OpenBSD__) ++#if defined USE_OPENSSL_CRYPTO && !(defined __APPLE__ || defined __unix__) + # undef USE_OPENSSL_CRYPTO + #endif + +-- +2.7.2 + diff --git a/packages/net-im/pidgin-opensteamworks/files/0002-Respect-system-LDFLAGS.patch b/packages/net-im/pidgin-opensteamworks/files/0002-Respect-system-LDFLAGS.patch new file mode 100644 index 0000000..7796a17 --- /dev/null +++ b/packages/net-im/pidgin-opensteamworks/files/0002-Respect-system-LDFLAGS.patch @@ -0,0 +1,23 @@ +From 446316ba82ffb6f07dbba83879d0534e3257e890 Mon Sep 17 00:00:00 2001 +From: Julian Ospald +Date: Sat, 12 Mar 2016 18:05:17 +0100 +Subject: [PATCH 2/2] Respect system LDFLAGS + +https://github.com/EionRobb/pidgin-opensteamworks/pull/139 +--- + steam-mobile/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/steam-mobile/Makefile b/steam-mobile/Makefile +index 1de0c50..ac06361 100644 +--- a/steam-mobile/Makefile ++++ b/steam-mobile/Makefile +@@ -48,4 +48,4 @@ clean: + rm -f libsteam.so + + libsteam.so: $(STEAM_SOURCES) +- $(CC) -Wall -I. -fPIC $(CFLAGS) $(STEAM_SOURCES) -o $@ $(LIBPURPLE_CFLAGS) $(LIBPURPLE_LIBS) -shared ++ $(CC) -Wall -I. -fPIC $(CFLAGS) $(STEAM_SOURCES) -o $@ $(LDFLAGS) $(LIBPURPLE_CFLAGS) $(LIBPURPLE_LIBS) -shared +-- +2.7.2 + diff --git a/packages/net-im/pidgin-opensteamworks/files/pidgin-opensteamworks-1.3-Makefile b/packages/net-im/pidgin-opensteamworks/files/pidgin-opensteamworks-1.3-Makefile deleted file mode 100644 index a898be3..0000000 --- a/packages/net-im/pidgin-opensteamworks/files/pidgin-opensteamworks-1.3-Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# Source: Gentoo -# Upstream: no, but we tried, see https://code.google.com/p/pidgin-opensteamworks/issues/detail?id=31 -# Reason: provide an actual working Makefile - - -CC ?= gcc -PKG_CONFIG ?= pkg-config -INSTALL = install -INSTALL_PROGRAM = $(INSTALL) -Dm755 - -PLUGINDIR ?= $(shell $(PKG_CONFIG) --variable=plugindir purple) - -CFLAGS ?= -O2 -pipe -CFLAGS += -Wall -fPIC -LDFLAGS += -shared -CPPFLAGS += $(shell $(PKG_CONFIG) --cflags glib-2.0 json-glib-1.0 purple nss gnome-keyring-1) -LIBS += $(shell $(PKG_CONFIG) --libs glib-2.0 json-glib-1.0 purple nss) - -TARGET = libsteam.so - -OBJS = libsteam.o steam_connection.o - -%.o: %.c %.h - $(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c - -$(TARGET): $(OBJS) - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJS) $(LIBS) - -install: $(TARGET) - $(INSTALL_PROGRAM) $(TARGET) "$(DESTDIR)$(PLUGINDIR)/$(TARGET)" - -uninstall: - rm -f "$(DESTDIR)$(PLUGINDIR)/$(TARGET)" - -clean: - rm -f $(OBJS) $(TARGET) - -.PHONY: uninstall clean diff --git a/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1.exheres-0 b/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1.exheres-0 deleted file mode 100644 index f7d7e87..0000000 --- a/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1.exheres-0 +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2016 Julian Ospald -# Distributed under the terms of the GNU General Public License v2 - -SUMMARY="Steam protocol plugin for pidgin" -HOMEPAGE="https://github.com/eionrobb/pidgin-opensteamworks" -DOWNLOADS="https://github.com/EionRobb/${PN}/archive/${PV}.tar.gz -> ${PNV}.tar.gz" - -LICENCES="GPL-3" -SLOT="0" -PLATFORMS="~amd64 ~x86" - -DEPENDENCIES=" - build: - virtual/pkg-config - virtual/unzip - run: - core/json-glib - dev-libs/glib:2 - dev-libs/nss - gnome-desktop/libgnome-keyring - net-im/pidgin -" - -WORK=${WORKBASE} - -src_prepare() { - edo cp "${FILES}"/${PN}-1.3-Makefile "${WORK}"/${PNV}/steam-mobile/Makefile - edo unzip "${WORK}"/${PNV}/steam-mobile/releases/icons.zip -} - -src_compile() { - export CC=${CC} PKG_CONFIG=${PKG_CONFIG} - edo pushd ${PNV}/steam-mobile - default - edo popd -} - -src_install() { - edo pushd ${PNV}/steam-mobile - default - edo popd - insinto /usr/share/pixmaps/pidgin/protocols - doins -r "${WORK}"/{16,48} - dodoc ${PNV}/README.md -} - diff --git a/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1_p20160218.exheres-0 b/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1_p20160218.exheres-0 new file mode 100644 index 0000000..0318c8e --- /dev/null +++ b/packages/net-im/pidgin-opensteamworks/pidgin-opensteamworks-1.6.1_p20160218.exheres-0 @@ -0,0 +1,68 @@ +# Copyright 2016 Julian Ospald +# Distributed under the terms of the GNU General Public License v2 + +SUMMARY="Steam protocol plugin for pidgin" +HOMEPAGE="https://github.com/eionrobb/pidgin-opensteamworks" +DOWNLOADS="https://github.com/EionRobb/pidgin-opensteamworks/archive/5a5bebab831618b658ffdeb418b8b2e430a18dd4.tar.gz -> ${PNV}.tar.gz" + +LICENCES="GPL-3" +SLOT="0" +PLATFORMS="~amd64 ~x86" + +MYOPTIONS=" + ( providers: gcrypt libressl mbedtls nss openssl ) [[ + number-selected = exactly-one + ]] +" + +DEPENDENCIES=" + build: + virtual/pkg-config + build+run: + core/json-glib + dev-libs/glib:2 + gnome-desktop/libgnome-keyring + net-im/pidgin + providers:gcrypt? ( dev-libs/libgcrypt:= ) + providers:libressl? ( dev-libs/libressl:= ) + providers:mbedtls? ( dev-libs/mbedtls:= ) + providers:nss? ( dev-libs/nss:= ) + providers:openssl? ( dev-libs/openssl:= ) +" + +WORK=${WORK}/steam-mobile + +DEFAULT_SRC_PREPARE_PATCHES=( + -p2 "${FILES}"/0001-Add-mbedtls-openssl-as-STEAM_CRYPT_BACKEND.patch + -p2 "${FILES}"/0002-Respect-system-LDFLAGS.patch +) + +DEFAULT_SRC_INSTALL_EXTRA_DOCS=( + README.md +) + +src_unpack() { + default + edo mv ${PN}-* ${PNV} +} + +src_compile() { + local STEAM_CRYPT_BACKEND= + + export CC=${CC} PKG_CONFIG=${PKG_CONFIG} + + if option providers:nss ; then + STEAM_CRYPT_BACKEND=nss + elif option providers:gcrypt ; then + STEAM_CRYPT_BACKEND=gcrypt + elif option providers:mbedtls ; then + STEAM_CRYPT_BACKEND=mbedtls + elif option providers:libressl ; then + STEAM_CRYPT_BACKEND=openssl + elif option providers:openssl ; then + STEAM_CRYPT_BACKEND=openssl + fi + + emake STEAM_CRYPT_BACKEND=${STEAM_CRYPT_BACKEND} +} +