diff options
author | radioxoma | 2014-05-23 20:25:24 +0300 |
---|---|---|
committer | radioxoma | 2014-05-23 20:32:35 +0300 |
commit | 8973461d7b362aa01f792e9abdd1d223b6b5fab7 (patch) | |
tree | 97dc32f7e6670f2659f1ce969143a7ddce7755c6 | |
parent | 5a9564df9503bce33081889adabdf62fb0acc898 (diff) | |
download | aur-8973461d7b362aa01f792e9abdd1d223b6b5fab7.tar.gz |
Micromanager updated
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 43 | ||||
-rw-r--r-- | info.txt | 19 | ||||
-rw-r--r-- | python_makefile.diff | 22 | ||||
-rw-r--r-- | python_setup.diff | 25 |
5 files changed, 35 insertions, 82 deletions
@@ -1,6 +1,6 @@ pkgbase = micromanager-git pkgdesc = Software package for control of automated microscopes. CMMCore and python2 bindings only. - pkgver = 1.4.13.r2306.gf5e50bd + pkgver = 1.4.13.r3204.g13250d0 pkgrel = 1 url = http://www.micro-manager.org install = mm.install @@ -16,13 +16,9 @@ pkgbase = micromanager-git depends = python2-numpy provides = micromanager conflicts = micromanager - source = micromanager-git::git+https://github.com/mdcurtis/micromanager-upstream.git#commit=f5e50bd - source = python_makefile.diff - source = python_setup.diff + source = micromanager-git::git+https://github.com/mdcurtis/micromanager-upstream.git#commit=13250d0 source = micromanager-lib.conf md5sums = SKIP - md5sums = 76a9fb824728a8397e3b5245ffe4ddaf - md5sums = e14361cc344c2fb0d03f3458d53eb152 md5sums = b7b6a68ce53d8ea1a4a29d187174ee4c pkgname = micromanager-git @@ -1,7 +1,8 @@ # Maintainer: radioxoma <radioxoma from gmail com> -# Last successful build with 1.4.13.r2306.gf5e50bd 22.01.2014 on x86_64. +# Visit https://github.com/radioxoma/aur for pull requests or issue solving. + pkgname=micromanager-git -pkgver=1.4.13.r2306.gf5e50bd +pkgver=1.4.13.r3204.g13250d0 pkgrel=1 epoch= pkgdesc="Software package for control of automated microscopes. CMMCore and python2 bindings only." @@ -20,14 +21,10 @@ backup=() options=() install=mm.install changelog= -source=($pkgname::git+https://github.com/mdcurtis/micromanager-upstream.git#commit=f5e50bd - 'python_makefile.diff' - 'python_setup.diff' +source=($pkgname::git+https://github.com/mdcurtis/micromanager-upstream.git#commit=13250d0 'micromanager-lib.conf') noextract=() md5sums=('SKIP' - '76a9fb824728a8397e3b5245ffe4ddaf' - 'e14361cc344c2fb0d03f3458d53eb152' 'b7b6a68ce53d8ea1a4a29d187174ee4c') #generate with 'makepkg -g' pkgver() { @@ -37,27 +34,17 @@ pkgver() { prepare() { cd "$srcdir/$pkgname" - - # Change python to python2. - # Remove installing commands form makefile and use setuptools instead. - # See PKGBUILD package() function. - patch -p0 < "$srcdir/python_makefile.diff" - - # Patching setup.py to prevent - # >>> import MMCorePy - # ... - # ImportError: ./_MMCorePy.so: undefined symbol: _ZTI8CMMError - # ... etc - patch -p0 < "$srcdir/python_setup.diff" - - sh mmUnixBuild.sh + sh ./autogen.sh } build() { cd "$srcdir/$pkgname" - # Without Java-based GUI too. + # With MMCore, device adapters, Python2 wrapper (MMCorePy). + # Without Java wrapper (MMCoreJ), MMStudio (Java GUI) + # and closed-source device adapters. + # Feel free to improve package to work with ImageJ or FIJI. - ./configure --prefix=/usr --without-imagej --enable-python + ./configure --prefix=/usr --with-java=no --with-python PYTHON="python2" make } @@ -68,12 +55,12 @@ build() { package() { cd "$srcdir/$pkgname" - make DESTDIR="$pkgdir/" install - - # Micro-manager devs plan use autotools without setuptools for python. - cd "$srcdir/$pkgname/MMCorePy_wrap/" - python2 setup.py install --root="$pkgdir" + mkdir -p "$pkgdir/usr/lib/micro-manager" + make install DESTDIR="$pkgdir" + mkdir -p "$pkgdir/usr/lib/python2.7/site-packages" + mv "$pkgdir/usr/lib/micro-manager/MMCorePy.py" "$pkgdir/usr/lib/python2.7/site-packages" + mv "$pkgdir/usr/lib/micro-manager/_MMCorePy.so" "$pkgdir/usr/lib/python2.7/site-packages" # We need to update ldconfig cache with new libs. install -D -m644 "$srcdir/micromanager-lib.conf" "$pkgdir/etc/ld.so.conf.d/micromanager-lib.conf" } @@ -92,4 +92,21 @@ $ make DESTDIR="$pkgdir" install # https://stackoverflow.com/questions/11643666/python-importerror-undefined-symbol-for-custom-c-module g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy -g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy
\ No newline at end of file +g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy + + +"I would recommend Setuptools". Но в проекте используется distutils. + +Произвольные файлы можно запаковать через манифест или package_data. Или неймспейсы. + +setup( + # ... + namespace_packages = ["root"] +) + +Предоставить выбор python2/3 swig -py3 +python2 setup.py install +И дальше чёрт с ним, с makefile'ом. + +*** +May 22, 2014 13250d0d9c99319e202a80a859bb46f2f3c427fa
\ No newline at end of file diff --git a/python_makefile.diff b/python_makefile.diff deleted file mode 100644 index 00c06e191108..000000000000 --- a/python_makefile.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- MMCorePy_wrap/Makefile.am 2014-01-21 05:25:37.000000000 +0300 -+++ MMCorePy_wrap/Makefile_new.am 2014-01-24 17:14:15.904157691 +0300 -@@ -34,18 +34,14 @@ - $(top_srcdir)/MMCore/LoadableModules/LoadedDeviceAdapter.cpp - - _MMCorePy.so: MMCorePy_wrap.cxx $(MMCOREPYSOURCES) -- python setup.py build_ext --inplace -+ python2 setup.py build - - all: - make MMCorePy_wrap.cxx - make MMCorePy.py - make _MMCorePy.so -- cp MMCorePy.py ../bin -- cp _MMCorePy.so ../bin - - install: -- cp MMCorePy.py $(DEVICEADAPTERPATH) -- cp _MMCorePy.so $(DEVICEADAPTERPATH) - - clean: - rm MMCorePy_wrap.cxx || echo "Not found, no problem" diff --git a/python_setup.diff b/python_setup.diff deleted file mode 100644 index 17df60da04aa..000000000000 --- a/python_setup.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- MMCorePy_wrap/setup.py 2014-01-21 05:25:37.000000000 +0300 -+++ MMCorePy_wrap/setup_new.py 2014-01-23 04:06:20.676996837 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - """ - This setup.py is intended for use from the Autoconf/Automake build system. -@@ -27,10 +27,16 @@ - '../MMCore/Host.cpp', - '../MMCore/MMCore.cpp', - '../MMCore/PluginManager.cpp', -+ '../MMCore/Error.cpp', -+ '../MMCore/LoadableModules/LoadedDeviceAdapter.cpp', -+ '../MMCore/LoadableModules/LoadedModule.cpp', -+ '../MMCore/LoadableModules/LoadedModuleImpl.cpp', -+ '../MMCore/LoadableModules/LoadedModuleImplUnix.cpp', - '../MMDevice/DeviceUtils.cpp', - '../MMDevice/ImgBuffer.cpp', - ], - language="c++", -+ libraries=['boost_system', 'z'], - include_dirs=numpy.distutils.misc_util.get_numpy_include_dirs(), - ) - |