From fcc5a2b60368174d02607862e62b00decb086baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= Date: Sun, 3 Jan 2016 19:44:51 +0100 Subject: new package: libieee1284 --- index.html | 4 ++ src/libieee1284-1-ssize_t.patch | 80 ++++++++++++++++++++++++++++++ src/libieee1284-2-dll.patch | 25 ++++++++++ src/libieee1284-3-windows-header.patch | 91 ++++++++++++++++++++++++++++++++++ src/libieee1284-4-getversion.patch | 42 ++++++++++++++++ src/libieee1284-5-pkg-config.patch | 57 +++++++++++++++++++++ src/libieee1284.mk | 26 ++++++++++ 7 files changed, 325 insertions(+) create mode 100644 src/libieee1284-1-ssize_t.patch create mode 100644 src/libieee1284-2-dll.patch create mode 100644 src/libieee1284-3-windows-header.patch create mode 100644 src/libieee1284-4-getversion.patch create mode 100644 src/libieee1284-5-pkg-config.patch create mode 100644 src/libieee1284.mk diff --git a/index.html b/index.html index 68249e2..bebe2d0 100644 --- a/index.html +++ b/index.html @@ -1719,6 +1719,10 @@ local-pkg-list: $(LOCAL_PKG_LIST) Libidn + libieee1284 + libieee1284 + + libircclient libircclient diff --git a/src/libieee1284-1-ssize_t.patch b/src/libieee1284-1-ssize_t.patch new file mode 100644 index 0000000..ce23384 --- /dev/null +++ b/src/libieee1284-1-ssize_t.patch @@ -0,0 +1,80 @@ +From 55a02d19ec885b2cc1d9c39813aa706bf68c122b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= +Date: Sun, 3 Jan 2016 05:48:59 +0100 +Subject: [PATCH] make configure determine if basetsd.h is needed for ssize_t + +The result is hardcoded in ieee1284.h. +Duplicate logic in detect.h is replaced by including that file. +--- + configure.in | 12 +++++++++++- + include/{ieee1284.h => ieee1284.h.in} | 2 +- + src/detect.h | 13 +------------ + 3 files changed, 13 insertions(+), 14 deletions(-) + rename include/{ieee1284.h => ieee1284.h.in} (99%) + +diff --git a/configure.in b/configure.in +index a22fe97..7cd9561 100644 +--- a/configure.in ++++ b/configure.in +@@ -72,7 +72,17 @@ if test $ac_cv_use_python = yes; then + AM_PATH_PYTHON + fi + ++AC_CHECK_TYPE([ssize_t],,,[#include ]) ++if test $ac_cv_type_ssize_t != yes; then ++ AC_CHECK_TYPE([SSIZE_T], ++ AC_SUBST([SSIZE_T_IN_BASETSD_H], 1), ++ AC_MSG_ERROR([No definition of ssize_t found.]), ++ [#include ]) ++else ++ AC_SUBST([SSIZE_T_IN_BASETSD_H], 0) ++fi ++ + dnl Checks for library functions. + +-AC_CONFIG_FILES(Makefile libieee1284.spec) ++AC_CONFIG_FILES([Makefile libieee1284.spec include/ieee1284.h]) + AC_OUTPUT +diff --git a/include/ieee1284.h b/include/ieee1284.h.in +similarity index 99% +rename from include/ieee1284.h +rename to include/ieee1284.h.in +index 03614cb..be02850 100644 +--- a/include/ieee1284.h ++++ b/include/ieee1284.h.in +@@ -27,7 +27,7 @@ + #include /* for struct timeval */ + #endif + +-#if (defined __MINGW32__ || defined _MSC_VER) && !defined OWN_SSIZE_T ++#if @SSIZE_T_IN_BASETSD_H@ && !defined OWN_SSIZE_T + #include /* for SSIZE_T */ + #define OWN_SSIZE_T + typedef SSIZE_T ssize_t; +diff --git a/src/detect.h b/src/detect.h +index 71e7d60..ab35f82 100644 +--- a/src/detect.h ++++ b/src/detect.h +@@ -24,18 +24,7 @@ + #ifndef _DETECT_H_ + #define _DETECT_H_ + +-#include +-#ifndef _MSC_VER +-#include +-#else +-#include +-#endif +- +-#if (defined __MINGW32__ || defined _MSC_VER) && !defined OWN_SSIZE_T +-#include /* for SSIZE_T */ +-#define OWN_SSIZE_T +-typedef SSIZE_T ssize_t; +-#endif ++#include "ieee1284.h" + + struct parport; + struct parport_internal; +-- +2.1.4 + diff --git a/src/libieee1284-2-dll.patch b/src/libieee1284-2-dll.patch new file mode 100644 index 0000000..1c75b79 --- /dev/null +++ b/src/libieee1284-2-dll.patch @@ -0,0 +1,25 @@ +From 9f599be4745f9e09741ba48a2af55d8d684b68db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= +Date: Sun, 20 Sep 2015 19:14:18 +0200 +Subject: [PATCH] persuade libtool build a DLL on windows + +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 9fdaff5..2abe635 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,7 +8,7 @@ libieee1284_la_SOURCES = src/detect.c src/detect.h src/ports.c src/deviceid.c \ + src/par_nt.h src/io.h src/conf.h src/conf.c libieee1284.sym + # When rolling a release, remember to adjust the version info. + # It's current:release:age. +-libieee1284_la_LDFLAGS = -version-info 5:2:2 \ ++libieee1284_la_LDFLAGS = -version-info 5:2:2 -no-undefined \ + -export-symbols $(top_srcdir)/libieee1284.sym + include_HEADERS = include/ieee1284.h + INCLUDES = -I$(top_srcdir)/include +-- +2.1.4 + diff --git a/src/libieee1284-3-windows-header.patch b/src/libieee1284-3-windows-header.patch new file mode 100644 index 0000000..0d02c49 --- /dev/null +++ b/src/libieee1284-3-windows-header.patch @@ -0,0 +1,91 @@ +From d8da09469573051c2fb85da1048bef5a4742cb2f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= +Date: Sun, 20 Sep 2015 19:15:15 +0200 +Subject: [PATCH] search for windows.h + +instead of relying on the __CYGWIN__ macro +--- + configure.in | 25 ++++++++++--------------- + src/access_lpt.c | 2 +- + src/detect.c | 2 +- + src/ports.c | 2 +- + 4 files changed, 13 insertions(+), 18 deletions(-) + +diff --git a/configure.in b/configure.in +index 7cd9561..9b6b82a 100644 +--- a/configure.in ++++ b/configure.in +@@ -37,21 +37,16 @@ case "{$host}" in + AC_DEFINE(HAVE_SOLARIS,1,enable solaris iop access) + solaris_io=true + ;; +-*-*-cygwin*) +- dnl Strip version number from uname and make sure we're on NT not 9x +- case `uname -s | sed 's/-.*$//'` in +- CYGWIN_NT*) +- AC_CHECK_HEADER(w32api/windows.h, [ +- AC_DEFINE(HAVE_CYGWIN_NT,1,enable w32api access) +- ], AC_MSG_ERROR(You need the cygwin w32api files on NT)) +- ;; +- *) +- AC_DEFINE(HAVE_CYGWIN_9X,1,enable win95 access) +- ;; +- esac +-;; +-*-*-mingw*) +-dnl AC_DEFINE(HAVE_CYGWIN_9X,1,enable win95 access) ++*-*-cygwin* | *-*-mingw*) ++ windows_h_found=false ++ AC_CHECK_HEADERS([windows.h] [w32api/windows.h], [ ++ windows_h_found=true ++ break ++ ]) ++ AS_VAR_IF(windows_h_found, [false], [ ++ AC_MSG_ERROR(windows.h not found) ++ ]) ++ AC_DEFINE(HAVE_CYGWIN_9X,1,enable win95 access) + AC_DEFINE(HAVE_CYGWIN_NT,1,enable w32api access) + ;; + *) +diff --git a/src/access_lpt.c b/src/access_lpt.c +index ad210f4..8cda6cb 100644 +--- a/src/access_lpt.c ++++ b/src/access_lpt.c +@@ -51,7 +51,7 @@ + + #ifdef HAVE_CYGWIN_NT + +-#ifdef __CYGWIN__ ++#ifdef HAVE_W32API_WINDOWS_H + #include + #else + #include +diff --git a/src/detect.c b/src/detect.c +index a53ef19..ca7f85b 100644 +--- a/src/detect.c ++++ b/src/detect.c +@@ -50,7 +50,7 @@ + #include + #include + #elif defined(HAVE_CYGWIN_NT) +-#ifdef __CYGWIN__ ++#ifdef HAVE_W32API_WINDOWS_H + #include + #else + #include +diff --git a/src/ports.c b/src/ports.c +index f3c38f1..ebd5110 100644 +--- a/src/ports.c ++++ b/src/ports.c +@@ -36,7 +36,7 @@ + #include "detect.h" + + #ifdef HAVE_CYGWIN_NT +-#ifdef __CYGWIN__ ++#ifdef HAVE_W32API_WINDOWS_H + #include + #else /* Not cygwin really */ + /* Don't include windows.h if it isn't necessary. That's why this is here and +-- +2.1.4 + diff --git a/src/libieee1284-4-getversion.patch b/src/libieee1284-4-getversion.patch new file mode 100644 index 0000000..99a9a2c --- /dev/null +++ b/src/libieee1284-4-getversion.patch @@ -0,0 +1,42 @@ +From c6962803f486e34cde370b34845741c8c380c460 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= +Date: Sat, 19 Sep 2015 01:39:15 +0200 +Subject: [PATCH] check Windows version before allowing IO access + +--- + src/detect.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/detect.c b/src/detect.c +index ca7f85b..d675584 100644 +--- a/src/detect.c ++++ b/src/detect.c +@@ -49,7 +49,7 @@ + #elif defined(HAVE_SOLARIS) + #include + #include +-#elif defined(HAVE_CYGWIN_NT) ++#elif defined(HAVE_CYGWIN_NT) || defined(HAVE_CYGWIN_9X) + #ifdef HAVE_W32API_WINDOWS_H + #include + #else +@@ -191,10 +191,12 @@ check_io (void) + } + debugprintf ("We can't use IOP, nothing will work\n"); + #elif defined(HAVE_CYGWIN_9X) +- /* note: 95 allows apps direct IO access */ +- debugprintf ("Taking a guess on port availability (win9x)\n"); +- capabilities |= IO_CAPABLE; +- return 1; ++ /* note: Win32s/95/98/ME allows apps direct IO access */ ++ if (GetVersion() & (1 << 31)) { ++ debugprintf ("Taking a guess on port availability (win9x)\n"); ++ capabilities |= IO_CAPABLE; ++ return 1; ++ } + #endif + + return 0; +-- +2.1.4 + diff --git a/src/libieee1284-5-pkg-config.patch b/src/libieee1284-5-pkg-config.patch new file mode 100644 index 0000000..11deea2 --- /dev/null +++ b/src/libieee1284-5-pkg-config.patch @@ -0,0 +1,57 @@ +From 53f13bfb5afa9f8458a940116cc7692960ab9f0e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= +Date: Mon, 4 Jan 2016 00:49:41 +0100 +Subject: [PATCH] add pkg-config metadata file + +--- + Makefile.am | 3 +++ + configure.in | 2 +- + libieee1284.pc.in | 11 +++++++++++ + 3 files changed, 15 insertions(+), 1 deletion(-) + create mode 100644 libieee1284.pc.in + +diff --git a/Makefile.am b/Makefile.am +index 2abe635..34f785a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -30,6 +30,9 @@ bin_PROGRAMS = libieee1284_test + libieee1284_test_SOURCES = tests/test.c + libieee1284_test_LDADD = libieee1284.la + ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = libieee1284.pc ++ + # Python bindings + src_ieee1284module_la_SOURCES = src/ieee1284module.c + if PYTHON +diff --git a/configure.in b/configure.in +index 9b6b82a..197a8b6 100644 +--- a/configure.in ++++ b/configure.in +@@ -79,5 +79,5 @@ fi + + dnl Checks for library functions. + +-AC_CONFIG_FILES([Makefile libieee1284.spec include/ieee1284.h]) ++AC_CONFIG_FILES([Makefile libieee1284.spec libieee1284.pc include/ieee1284.h]) + AC_OUTPUT +diff --git a/libieee1284.pc.in b/libieee1284.pc.in +new file mode 100644 +index 0000000..a9eacde +--- /dev/null ++++ b/libieee1284.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE@ ++Version: @VERSION@ ++Description: IEEE1284 parallel port library ++URL: http://cyberelk.net/tim/software/libieee1284/ ++Libs: -L${libdir} -lieee1284 ++Cflags: -I${includedir} +-- +2.1.4 + diff --git a/src/libieee1284.mk b/src/libieee1284.mk new file mode 100644 index 0000000..0dbf388 --- /dev/null +++ b/src/libieee1284.mk @@ -0,0 +1,26 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := libieee1284 +$(PKG)_IGNORE := +$(PKG)_VERSION := 0.2.11 +$(PKG)_CHECKSUM := 7730de107782e5d2b071bdcb5b06a44da74856f00ef4a9be85d1ba4806a38f1a +$(PKG)_SUBDIR := libieee1284-$($(PKG)_VERSION) +$(PKG)_FILE := libieee1284-$($(PKG)_VERSION).tar.bz2 +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE) +$(PKG)_DEPS := gcc + +define $(PKG)_UPDATE + $(WGET) -q -O - http://sourceforge.net/projects/libieee1284/files/ | \ + tr '\n' ' ' | \ + $(SED) 's/.*Looking for the latest version//;s/\(libieee1284-[0-9.]\+\)\.[^0-9].*/\1/;s/.*-//' +endef + +define $(PKG)_BUILD + cd '$(1)' && autoreconf -fi + cd '$(1)' && ./configure \ + $(MXE_CONFIGURE_OPTS) \ + --without-python + $(MAKE) -C '$(1)' -j '$(JOBS)' + $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) +endef -- cgit v0.12