Add Python bindings for lpsolve-5.5.20, move all common stuff into a
Makefile.inc, remove dependency upon libcompat with patching. OK jasper@
This commit is contained in:
parent
617e4e085f
commit
695cd59509
@ -1,7 +1,7 @@
|
||||
# $OpenBSD: Makefile,v 1.1 2012/04/20 09:56:56 edd Exp $
|
||||
# $OpenBSD: Makefile,v 1.2 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
SUBDIR =
|
||||
SUBDIR += core
|
||||
# bindings may come later
|
||||
SUBDIR += python
|
||||
|
||||
.include <bsd.port.subdir.mk>
|
||||
|
15
math/lpsolve/Makefile.inc
Normal file
15
math/lpsolve/Makefile.inc
Normal file
@ -0,0 +1,15 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
V_MAJOR ?= 5.5
|
||||
V ?= ${V_MAJOR}.2.0
|
||||
|
||||
CATEGORIES ?= math devel
|
||||
HOMEPAGE ?= http://lpsolve.sourceforge.net
|
||||
MAINTAINER ?= Edd Barrett <edd@openbsd.org>
|
||||
MASTER_SITES ?= ${MASTER_SITE_SOURCEFORGE:=lpsolve/}
|
||||
|
||||
# LGPLv2.1
|
||||
PERMIT_PACKAGE_CDROM ?= Yes
|
||||
PERMIT_PACKAGE_FTP ?= Yes
|
||||
PERMIT_DISTFILES_CDROM ?= Yes
|
||||
PERMIT_DISTFILES_FTP ?= Yes
|
@ -1,32 +1,15 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
# $OpenBSD: Makefile,v 1.2 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
COMMENT = mixed integer linear programming solver
|
||||
|
||||
V_MAJOR = 5.5
|
||||
V = ${V_MAJOR}.2.0
|
||||
DISTNAME = lp_solve_${V}_source
|
||||
PKGNAME = lpsolve-${V}
|
||||
WRKDIST = ${WRKDIR}/lp_solve_${V_MAJOR}
|
||||
|
||||
SHARED_LIBS = lpsolve55 0.0 # unversioned upstream
|
||||
|
||||
CATEGORIES = math devel
|
||||
|
||||
HOMEPAGE = http://lpsolve.sourceforge.net
|
||||
|
||||
MAINTAINER = Edd Barrett <edd@openbsd.org>
|
||||
|
||||
# LGPLv2.1
|
||||
# Also contains static LUSOL library which is also LGPLv2.1
|
||||
PERMIT_PACKAGE_CDROM = Yes
|
||||
PERMIT_PACKAGE_FTP = Yes
|
||||
PERMIT_DISTFILES_CDROM =Yes
|
||||
PERMIT_DISTFILES_FTP = Yes
|
||||
|
||||
WANTLIB += c m
|
||||
|
||||
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=lpsolve/}
|
||||
|
||||
# Docs are distributed separately
|
||||
DOCDISTFILE = lp_solve_5.5.2.0_doc${EXTRACT_SUFX}
|
||||
DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
|
||||
@ -36,6 +19,7 @@ EXTRACT_ONLY = ${DISTNAME}${EXTRACT_SUFX}
|
||||
# Build is a series of shell scripts
|
||||
MAKE_ENV += CC=${CC} LIBlpsolve55_VERSION=${LIBlpsolve55_VERSION} \
|
||||
WRKDIR=${WRKDIR}
|
||||
|
||||
do-build:
|
||||
mkdir ${WRKDIR}/tmp # builds programs here to check for features
|
||||
cd ${WRKSRC}/lpsolve55 && \
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-demo_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
$OpenBSD: patch-demo_ccc,v 1.2 2012/05/11 23:29:30 edd Exp $
|
||||
--- demo/ccc.orig Thu Jun 23 20:52:04 2005
|
||||
+++ demo/ccc Wed Apr 18 17:20:18 2012
|
||||
+++ demo/ccc Wed May 2 14:34:01 2012
|
||||
@@ -1,5 +1,5 @@
|
||||
src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
|
||||
-c=cc
|
||||
@ -19,5 +19,4 @@ $OpenBSD: patch-demo_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
-opts='-O3'
|
||||
+opts=${CFLAGS}
|
||||
|
||||
-$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine demo.c $src -o demo $math $dl
|
||||
+$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine demo.c $src -o demo $math $dl -lcompat
|
||||
$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine demo.c $src -o demo $math $dl
|
||||
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: patch-lp_solve_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
$OpenBSD: patch-lp_solve_ccc,v 1.2 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
* We don't use -ldl
|
||||
* Don't use platform specific paths
|
||||
@ -6,7 +6,7 @@ $OpenBSD: patch-lp_solve_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
* Don't write to /tmp suring build
|
||||
|
||||
--- lp_solve/ccc.orig Sun Jan 25 18:39:03 2009
|
||||
+++ lp_solve/ccc Fri Apr 20 10:04:09 2012
|
||||
+++ lp_solve/ccc Wed May 2 14:35:02 2012
|
||||
@@ -1,41 +1,41 @@
|
||||
:
|
||||
src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c lp_solve.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
|
||||
@ -63,7 +63,7 @@ $OpenBSD: patch-lp_solve_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
def='-dy -K PIC -DLLONG=long'
|
||||
dl=-ldl
|
||||
-else dl=-ldl
|
||||
+else dl=-lcompat
|
||||
+else dl=
|
||||
fi
|
||||
|
||||
-$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -o bin/$PLATFORM/lp_solve $math $dl
|
||||
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: patch-lpsolve55_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
$OpenBSD: patch-lpsolve55_ccc,v 1.2 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
* We don't use -ldl
|
||||
* Don't use platform specific paths
|
||||
@ -6,7 +6,7 @@ $OpenBSD: patch-lpsolve55_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
* Don't write to /tmp during build
|
||||
|
||||
--- lpsolve55/ccc.orig Wed Mar 25 00:27:18 2009
|
||||
+++ lpsolve55/ccc Fri Apr 20 10:02:22 2012
|
||||
+++ lpsolve55/ccc Fri May 11 15:16:45 2012
|
||||
@@ -1,50 +1,50 @@
|
||||
:
|
||||
src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
|
||||
@ -75,7 +75,7 @@ $OpenBSD: patch-lpsolve55_ccc,v 1.1.1.1 2012/04/20 09:54:11 edd Exp $
|
||||
then
|
||||
$c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
|
||||
- $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl
|
||||
+ $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so.${LIBlpsolve55_VERSION} -o bin/liblpsolve55.so.${LIBlpsolve55_VERSION} `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm
|
||||
+ $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so.${LIBlpsolve55_VERSION} -o bin/liblpsolve55.so.${LIBlpsolve55_VERSION} `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm ${dl}
|
||||
fi
|
||||
|
||||
rm *.o 2>/dev/null
|
||||
|
32
math/lpsolve/core/patches/patch-shared_commonlib_c
Normal file
32
math/lpsolve/core/patches/patch-shared_commonlib_c
Normal file
@ -0,0 +1,32 @@
|
||||
$OpenBSD: patch-shared_commonlib_c,v 1.1 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
ftime() is deprecated and causes issues for the python bindings.
|
||||
From freebsd patch-shared+commonlib.c 1.2.
|
||||
|
||||
--- shared/commonlib.c.orig Sun Feb 1 19:31:59 2009
|
||||
+++ shared/commonlib.c Wed May 2 14:29:13 2012
|
||||
@@ -6,7 +6,7 @@
|
||||
#elif defined EnhTime
|
||||
# include <windows.h>
|
||||
#else
|
||||
-# include <sys/timeb.h>
|
||||
+# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -844,10 +844,12 @@ double timeNow(void)
|
||||
}
|
||||
return( timeBase + (double) now.QuadPart/(double) freq.QuadPart );
|
||||
#else
|
||||
- struct timeb buf;
|
||||
+ struct timeval tv;
|
||||
+ struct timezone tz;
|
||||
|
||||
- ftime(&buf);
|
||||
- return((double)buf.time+((double) buf.millitm)/1000.0);
|
||||
+ gettimeofday(&tv, &tz);
|
||||
+ return((double)tv.tv_sec+((double)tv.tv_usec)/1000000.0);
|
||||
+
|
||||
#endif
|
||||
}
|
||||
|
24
math/lpsolve/python/Makefile
Normal file
24
math/lpsolve/python/Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
# $OpenBSD: Makefile,v 1.1 2012/05/11 23:29:30 edd Exp $
|
||||
|
||||
COMMENT = Python bindings for lpsolve
|
||||
DISTNAME = lp_solve_${V}_Python_source
|
||||
MODPY_EGG_VERSION = 5.5.0.9 # interface version differs from pkg version
|
||||
PKGNAME = py-lpsolve-${V}
|
||||
|
||||
LIB_DEPENDS += math/lpsolve/core
|
||||
BUILD_DEPENDS += math/py-numpy
|
||||
RUN_DEPENDS += math/py-numpy
|
||||
MODULES = lang/python
|
||||
|
||||
WRKDIST = ${WRKDIR}/lp_solve_${V_MAJOR}/extra/Python
|
||||
|
||||
WANTLIB += lpsolve55 ${MODPY_WANTLIB}
|
||||
|
||||
NUMPY_PATH = ${MODPY_LIBDIR}/site-packages/numpy/core/include
|
||||
SUBST_VARS += NUMPY_PATH
|
||||
pre-configure:
|
||||
${SUBST_CMD} ${WRKBUILD}/setup.py
|
||||
|
||||
NO_REGRESS = Yes
|
||||
|
||||
.include <bsd.port.mk>
|
5
math/lpsolve/python/distinfo
Normal file
5
math/lpsolve/python/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
MD5 (lp_solve_5.5.2.0_Python_source.tar.gz) = /tprVaYvh3VX9J4EsJEZHA==
|
||||
RMD160 (lp_solve_5.5.2.0_Python_source.tar.gz) = w9Wzh+2FoiKxfzPxmH0l2oAYKv0=
|
||||
SHA1 (lp_solve_5.5.2.0_Python_source.tar.gz) = BYzO1raifMFgycUFTGuUsOrm2Yk=
|
||||
SHA256 (lp_solve_5.5.2.0_Python_source.tar.gz) = eWg7wmLp2lsvpzOLoZCpzRBVm58tvLjzvwfiqBCDrFE=
|
||||
SIZE (lp_solve_5.5.2.0_Python_source.tar.gz) = 58017
|
30
math/lpsolve/python/patches/patch-setup_py
Normal file
30
math/lpsolve/python/patches/patch-setup_py
Normal file
@ -0,0 +1,30 @@
|
||||
$OpenBSD: patch-setup_py,v 1.1 2012/05/11 23:29:30 edd Exp $
|
||||
--- setup.py.orig Mon Feb 1 20:57:56 2010
|
||||
+++ setup.py Fri May 11 15:02:36 2012
|
||||
@@ -3,15 +3,8 @@ from os import getenv
|
||||
import sys
|
||||
import os
|
||||
p = sys.prefix
|
||||
-NUMPYPATH = '.'
|
||||
-if os.path.isdir(p + '/include/numpy'):
|
||||
- NUMPY = 'NUMPY'
|
||||
-elif os.path.isdir(p + '/Lib/site-packages/numpy/core/include/numpy'):
|
||||
- NUMPY = 'NUMPY'
|
||||
- NUMPYPATH = p + '/Lib/site-packages/numpy/core/include'
|
||||
-else:
|
||||
- NUMPY = 'NONUMPY'
|
||||
-print 'numpy: ' + NUMPY
|
||||
+NUMPYPATH = '${NUMPY_PATH}'
|
||||
+NUMPY='NUMPY'
|
||||
windir = getenv('windir')
|
||||
if windir == None:
|
||||
WIN32 = 'NOWIN32'
|
||||
@@ -29,7 +22,7 @@ setup (name = "lpsolve55",
|
||||
ext_modules = [Extension("lpsolve55",
|
||||
["lpsolve.c", "hash.c", "pythonmod.c"],
|
||||
define_macros=[('PYTHON', '1'), (WIN32, '1'), ('NODEBUG', '1'), ('DINLINE', 'static'), (NUMPY, '1'), ('_CRT_SECURE_NO_WARNINGS', '1')],
|
||||
- include_dirs=['../..', NUMPYPATH],
|
||||
+ include_dirs=['../..', NUMPYPATH, '${LOCALBASE}/include/lpsolve'],
|
||||
library_dirs=[LPSOLVE55],
|
||||
libraries = ["lpsolve55"])
|
||||
]
|
2
math/lpsolve/python/pkg/DESCR
Normal file
2
math/lpsolve/python/pkg/DESCR
Normal file
@ -0,0 +1,2 @@
|
||||
Python bindings for the lpsolve mixed integer linear programming (MILP)
|
||||
solver.
|
7
math/lpsolve/python/pkg/PLIST
Normal file
7
math/lpsolve/python/pkg/PLIST
Normal file
@ -0,0 +1,7 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1 2012/05/11 23:29:30 edd Exp $
|
||||
lib/python${MODPY_VERSION}/site-packages/lp_maker.py
|
||||
lib/python${MODPY_VERSION}/site-packages/lp_maker.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/lp_solve.py
|
||||
lib/python${MODPY_VERSION}/site-packages/lp_solve.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/lpsolve55-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
|
||||
lib/python${MODPY_VERSION}/site-packages/lpsolve55.so
|
Loading…
x
Reference in New Issue
Block a user