mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-11 08:03:16 -04:00
sci-mathematics/chaco: mbdyn patch, build shared library
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
@@ -8,12 +8,16 @@ inherit toolchain-funcs
|
||||
DESCRIPTION="Software for Partitioning Graphs"
|
||||
HOMEPAGE="https://www3.cs.stonybrook.edu/~algorith/implement/chaco/implement.shtml"
|
||||
SRC_URI="https://www3.cs.stonybrook.edu/~algorith/implement/${PN}/distrib/Chaco-${PV}.tar.gz"
|
||||
S="${WORKDIR}/Chaco-${PV}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
PATCHES=( "${FILESDIR}/makefile.patch" )
|
||||
S="${WORKDIR}/Chaco-${PV}"
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-lib.patch"
|
||||
"${FILESDIR}/${P}-respect-flags.patch"
|
||||
"${FILESDIR}/${P}-shared.patch"
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
cd code || die
|
||||
@@ -22,6 +26,11 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin "exec/chaco"
|
||||
dodoc -r doc/.
|
||||
dodoc -r "code/matlab"
|
||||
cd "exec" || die
|
||||
dobin "chaco"
|
||||
dolib.so "libchaco.so"
|
||||
dodoc *.coords *.graph "User_Params"
|
||||
newdoc README README_exec
|
||||
}
|
||||
48
sci-mathematics/chaco/files/chaco-2.2-lib.patch
Normal file
48
sci-mathematics/chaco/files/chaco-2.2-lib.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
Patch provided by Walter Landry <wlandry at ucsd.edu>
|
||||
for use within MBDyn
|
||||
|
||||
--- a/code/Makefile
|
||||
+++ b/code/Makefile
|
||||
@@ -5,7 +5,9 @@
|
||||
CFLAGS = -O2
|
||||
OFLAGS = -O2
|
||||
|
||||
-FILES.c= main/user_params.c main/interface.c main/main.c \
|
||||
+main_file= main/main.c
|
||||
+
|
||||
+libFILES.c= main/user_params.c main/interface.c \
|
||||
submain/balance.c submain/divide.c submain/submain.c \
|
||||
input/input_assign.c \
|
||||
input/check_input.c input/input.c input/input_geom.c \
|
||||
@@ -87,11 +89,20 @@
|
||||
util/update.c util/vecout.c util/vecran.c \
|
||||
util/vecscale.c
|
||||
|
||||
+FILES.c= $(libFILES.c) $(main_file)
|
||||
+
|
||||
FILES.o= $(FILES.c:.c=.o)
|
||||
|
||||
+libFILES.o= $(libFILES.c:.c=.o)
|
||||
+
|
||||
+all: ${DEST} ${DEST_DIR}/libchaco.a
|
||||
|
||||
${DEST}: ${FILES.o} Makefile
|
||||
${CC} ${OFLAGS} ${FILES.o} -lm -o ${DEST}
|
||||
+
|
||||
+${DEST_DIR}/libchaco.a: ${libFILES.o} Makefile
|
||||
+ ar r ${DEST_DIR}/libchaco.a ${libFILES.o}
|
||||
+ ranlib ${DEST_DIR}/libchaco.a
|
||||
|
||||
lint:
|
||||
lint ${IFLAG} ${FILES.c} -lm
|
||||
--- a/code/main/user_params.c
|
||||
+++ b/code/main/user_params.c
|
||||
@@ -98,7 +98,7 @@
|
||||
long RANDOM_SEED = 7654321L; /* Seed for random number generator */
|
||||
int NSQRTS = 1000; /* # square roots to precompute if coarsening */
|
||||
int MAKE_VWGTS = FALSE; /* Make vtx weights degrees+1? (TRUE/FALSE) */
|
||||
-int FREE_GRAPH = TRUE; /* Free input graph data? (TRUE/FALSE) */
|
||||
+int FREE_GRAPH = FALSE; /* Free input graph data? (TRUE/FALSE) */
|
||||
char *PARAMS_FILENAME = "User_Params"; /* File of parameter changes */
|
||||
|
||||
|
||||
32
sci-mathematics/chaco/files/chaco-2.2-respect-flags.patch
Normal file
32
sci-mathematics/chaco/files/chaco-2.2-respect-flags.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
--- a/code/Makefile
|
||||
+++ b/code/Makefile
|
||||
@@ -1,8 +1,6 @@
|
||||
DEST_DIR = ../exec
|
||||
DEST= ${DEST_DIR}/chaco
|
||||
-CC = gcc
|
||||
IFLAG = -Imain
|
||||
-CFLAGS = -O2
|
||||
OFLAGS = -O2
|
||||
|
||||
main_file= main/main.c
|
||||
@@ -98,11 +96,11 @@
|
||||
all: ${DEST} ${DEST_DIR}/libchaco.a
|
||||
|
||||
${DEST}: ${FILES.o} Makefile
|
||||
- ${CC} ${OFLAGS} ${FILES.o} -lm -o ${DEST}
|
||||
+ ${CC} ${CFLAGS} ${LDFLAGS} -fPIE ${FILES.o} -lm -o ${DEST}
|
||||
|
||||
${DEST_DIR}/libchaco.a: ${libFILES.o} Makefile
|
||||
- ar r ${DEST_DIR}/libchaco.a ${libFILES.o}
|
||||
- ranlib ${DEST_DIR}/libchaco.a
|
||||
+ ${AR} r ${DEST_DIR}/libchaco.a ${libFILES.o}
|
||||
+ ${RANLIB} ${DEST_DIR}/libchaco.a
|
||||
|
||||
lint:
|
||||
lint ${IFLAG} ${FILES.c} -lm
|
||||
@@ -114,4 +112,4 @@
|
||||
rm -f */*.o ${DEST_DIR}/core
|
||||
|
||||
.c.o:
|
||||
- ${CC} -c ${IFLAG} ${CFLAGS} -o $*.o $*.c
|
||||
+ ${CC} -c ${IFLAG} ${CFLAGS} -fPIC -o $*.o $*.c
|
||||
22
sci-mathematics/chaco/files/chaco-2.2-shared.patch
Normal file
22
sci-mathematics/chaco/files/chaco-2.2-shared.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/code/Makefile
|
||||
+++ b/code/Makefile
|
||||
@@ -93,14 +93,13 @@
|
||||
|
||||
libFILES.o= $(libFILES.c:.c=.o)
|
||||
|
||||
-all: ${DEST} ${DEST_DIR}/libchaco.a
|
||||
+all: ${DEST} ${DEST_DIR}/libchaco.so
|
||||
|
||||
-${DEST}: ${FILES.o} Makefile
|
||||
- ${CC} ${CFLAGS} ${LDFLAGS} -fPIE ${FILES.o} -lm -o ${DEST}
|
||||
+${DEST}: ${DEST_DIR}/libchaco.so Makefile
|
||||
+ ${CC} ${CFLAGS} ${LDFLAGS} -fPIE $(main_file) -lm -L${DEST_DIR} -lchaco -o ${DEST}
|
||||
|
||||
-${DEST_DIR}/libchaco.a: ${libFILES.o} Makefile
|
||||
- ${AR} r ${DEST_DIR}/libchaco.a ${libFILES.o}
|
||||
- ${RANLIB} ${DEST_DIR}/libchaco.a
|
||||
+${DEST_DIR}/libchaco.so: ${libFILES.o} Makefile
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-soname,libchaco.so -o ${DEST_DIR}/libchaco.so $(libFILES.o) -lm
|
||||
|
||||
lint:
|
||||
lint ${IFLAG} ${FILES.c} -lm
|
||||
@@ -1,26 +0,0 @@
|
||||
--- a/code/Makefile 2021-04-12 01:42:10.792372462 +0200
|
||||
+++ b/code/Makefile 2021-04-12 01:46:20.332391138 +0200
|
||||
@@ -1,8 +1,6 @@
|
||||
DEST_DIR = ../exec
|
||||
DEST= ${DEST_DIR}/chaco
|
||||
-CC = gcc
|
||||
IFLAG = -Imain
|
||||
-CFLAGS = -O2
|
||||
OFLAGS = -O2
|
||||
|
||||
FILES.c= main/user_params.c main/interface.c main/main.c \
|
||||
@@ -91,7 +89,7 @@
|
||||
|
||||
|
||||
${DEST}: ${FILES.o} Makefile
|
||||
- ${CC} ${OFLAGS} ${FILES.o} -lm -o ${DEST}
|
||||
+ ${CC} ${CFLAGS} -fPIE ${LDFLAGS} ${FILES.o} -lm -o ${DEST}
|
||||
|
||||
lint:
|
||||
lint ${IFLAG} ${FILES.c} -lm
|
||||
@@ -103,4 +101,4 @@
|
||||
rm -f */*.o ${DEST_DIR}/core
|
||||
|
||||
.c.o:
|
||||
- ${CC} -c ${IFLAG} ${CFLAGS} -o $*.o $*.c
|
||||
+ ${CC} -c ${IFLAG} ${CFLAGS} -fPIC -o $*.o $*.c
|
||||
Reference in New Issue
Block a user