diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | PKGBUILD | 39 | ||||
-rw-r--r-- | make-shared-lib.patch | 52 | ||||
-rw-r--r-- | quartet-git.changelog | 3 |
5 files changed, 93 insertions, 12 deletions
@@ -1,17 +1,19 @@ pkgbase = quartet-git pkgdesc = A tetrahedral mesh generator that does isosurface stuffing with an acute tetrahedral tile. pkgver = r2.a99c049 - pkgrel = 1 + pkgrel = 3 url = https://github.com/crawforddoran/quartet changelog = quartet-git.changelog arch = x86_64 license = ISC makedepends = git makedepends = gcc - provides = quartet-git - conflicts = quartet-git + provides = quartet + conflicts = quartet source = git+https://github.com/crawforddoran/quartet.git + source = make-shared-lib.patch md5sums = SKIP + md5sums = 8a34de71824f18b98d1c91c17857e174 pkgname = quartet-git diff --git a/.gitignore b/.gitignore index 3b174e9d006d..5cf9a840794e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ !/.SRCINFO !/.gitignore !/PKGBUILD -!/quartet-git.changelog
\ No newline at end of file +!/make-shared-lib.patch +!/quartet-git.changelog @@ -3,7 +3,7 @@ pkgname='quartet-git' pkgver=r2.a99c049 -pkgrel=2 +pkgrel=3 pkgdesc="A tetrahedral mesh generator that does isosurface stuffing with an acute tetrahedral tile." arch=('x86_64') url="https://github.com/crawforddoran/quartet" @@ -12,22 +12,45 @@ changelog="${pkgname}.changelog" makedepends=('git' 'gcc') provides=("${pkgname%-git}") conflicts=("${pkgname%-git}") -source=("git+https://github.com/crawforddoran/${pkgname%-git}.git") -md5sums=('SKIP') +source=( + "git+https://github.com/crawforddoran/${pkgname%-git}.git" + "make-shared-lib.patch" +) +md5sums=( + SKIP + '8a34de71824f18b98d1c91c17857e174' +) pkgver() { - cd "${srcdir}/${pkgname%-git}" + cd "${pkgname%-git}" printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } +prepare() { + cd "${pkgname%-git}" + git apply "${srcdir}/make-shared-lib.patch" +} + build() { - cd "$srcdir/${pkgname%-git}" + cd "${pkgname%-git}" make depend make release } package() { - cd "$srcdir/${pkgname%-git}" - install -m 755 -DT "quartet_release" "${pkgdir}/usr/bin/quartet" - install -m 755 -DT "view_tet_release" "${pkgdir}/usr/bin/view_tet" + cd "${pkgname%-git}" + install -m 644 -D -t "${pkgdir}/usr/lib" libquartet.so + install -m 755 -D -t "${pkgdir}/usr/bin" quartet view_tet + install -m 644 -D -t "${pkgdir}/usr/include/quartet" \ + src/geometry_queries.h \ + src/sdf.h \ + src/trimesh.h \ + src/tet_mesh.h \ + src/feature.h \ + src/read_obj.h \ + src/tet_quality.h \ + src/match_features.h \ + src/optimize_tet_mesh.h \ + src/make_signed_distance.h \ + src/make_tet_mesh.h } diff --git a/make-shared-lib.patch b/make-shared-lib.patch new file mode 100644 index 000000000000..da48247b3599 --- /dev/null +++ b/make-shared-lib.patch @@ -0,0 +1,52 @@ +diff --git a/Makefile b/Makefile +index 52bdd5a..832d4c6 100644 +--- a/Makefile ++++ b/Makefile +@@ -49,19 +49,21 @@ all: debug + + # how to make the main target (debug mode, the default) + $(MAIN_PROGRAM): $(DEBUG_OBJ) +- $(LINK) $(DEBUG_LINKFLAGS) -o $@ $^ $(LINK_LIBS) ++ $(LINK) $(DEBUG_LINKFLAGS) -shared -o lib$(MAIN_PROGRAM).so $^ $(LINK_LIBS) ++ $(LINK) $(DEBUG_LINKFLAGS) -o $(MAIN_PROGRAM) -L. -l$(MAIN_PROGRAM) $^ $(LINK_LIBS) + + # how to make the main target (release mode) + $(MAIN_PROGRAM)_release: $(RELEASE_OBJ) +- $(LINK) $(RELEASE_LINKFLAGS) -o $@ $^ $(LINK_LIBS) ++ $(LINK) $(RELEASE_LINKFLAGS) -shared -o lib$(MAIN_PROGRAM).so $^ $(LINK_LIBS) ++ $(LINK) $(RELEASE_LINKFLAGS) -o $(MAIN_PROGRAM) -L. -l$(MAIN_PROGRAM) $^ $(LINK_LIBS) + + # how to make the viewer application (debug mode, the default) + $(VIEWER_PROGRAM): $(VIEWER_DEBUG_OBJ) +- $(LINK) $(DEBUG_LINKFLAGS) -o $@ $^ $(LINK_LIBS) $(VIEWER_LIBS) ++ $(LINK) $(DEBUG_LINKFLAGS) -o $(VIEWER_PROGRAM) $^ $(LINK_LIBS) $(VIEWER_LIBS) + + # how to make the viewer application (release mode) + $(VIEWER_PROGRAM)_release: $(VIEWER_RELEASE_OBJ) +- $(LINK) $(RELEASE_LINKFLAGS) -o $@ $^ $(LINK_LIBS) $(VIEWER_LIBS) ++ $(LINK) $(RELEASE_LINKFLAGS) -o $(VIEWER_PROGRAM) $^ $(LINK_LIBS) $(VIEWER_LIBS) + + # how to compile the predicates.cpp source file + # This is different because optimization must be disabled +@@ -88,7 +90,7 @@ obj_debug/%.o: + # cleaning up + .PHONY: clean + clean: +- -rm -f obj/*.o $(MAIN_PROGRAM) $(VIEWER_PROGRAM) obj_debug/*.o $(MAIN_PROGRAM)_release $(VIEWER_PROGRAM)_release *core ++ -rm -f obj/*.o lib$(MAIN_PROGRAM).so $(MAIN_PROGRAM) $(VIEWER_PROGRAM) obj_debug/*.o *core + + # dependencies are automatically generated + .PHONY: depend +diff --git a/Makefile.defs b/Makefile.defs +index eb321d8..6b80777 100644 +--- a/Makefile.defs ++++ b/Makefile.defs +@@ -5,7 +5,7 @@ + + # For example, on a Linux PC this will likely work: + DEPEND = g++ +-CC = g++ -Wall ++CC = g++ -Wall -fpic + RELEASE_FLAGS = -O3 -DNDEBUG -funroll-loops + DEBUG_FLAGS = -g + LINK = g++ diff --git a/quartet-git.changelog b/quartet-git.changelog index 059e7e24fce0..329cb55cccc4 100644 --- a/quartet-git.changelog +++ b/quartet-git.changelog @@ -1,2 +1,5 @@ +2018-04-27 Dylon Edwards <deltaecho at archlinux dot us> + * quartet-git r2.a99c049 Builds quartet first as a library, then as an executable + 2018-04-26 Dylon Edwards <deltaecho at archlinux dot us> * quartet-git r2.a99c049 |