[ITP] biosig [was: Re: newcomer issues when packaging biosig, stimfit, etc.]

Alois Schlögl alois.schloegl@gmail.com
Tue Jan 18 21:50:45 GMT 2022



Am 1/18/22 um 06:32 schrieb Brian Inglis:
> On 2022-01-17 14:44, Alois Schlögl wrote:
>> Am 1/15/22 um 21:44 schrieb Achim Gratz:
>>> Marco Atzeri writes:
>
>>>> add DIFF_EXCLUDES="Makefile" to avoid the artifact
>
>>> DISTCLEANFILES would be more appropriate it seems.
>
> DISTCLEANFILES is deleted immediately after downloading and unpacking 
> the *UPSTREAM* source:
>
>     https://cygwin.github.io/cygport/src_prep_cygpart.html#robo112
>
> "A list of files to be deleted immediately upon unpacking sources, 
> relative to $S. This is intended to be used with buildsystem-generated 
> files which are incorrectly included in the source tarball."
>
>> I tried this (see attachment), but I'm not sure this is what you meant.
>
> DIFF_EXCLUDES is a list of files generated in $S not automatically 
> excluded from the source package:
>
>     https://cygwin.github.io/cygport/pkg_pkg_cygpart.html#robo384
>
> "A list of file names, directory names, or glob patterns in $S which 
> will be excluded when creating the .src.patch file. This should be 
> used for files automatically generated in $S to avoid polluting the 
> patch.
> NOTE
> Files generated by various buildsystem infrastructures, such as 
> autoconf, automake, gettext, and libtool are already excluded 
> automatically and need not be listed here."
>


> Add to DIFF_EXCLUDES the names of any files you see after the output 
> header:
>
>>>> Creating source patches
>


Ok, thanks for these clear hints. I've now added these files as 
suggested. The revised version is attached.
Moreover, I've removed (commented) all aspects for building of 
python-biosig bindings, in order not to delay the inclusion of Biosig in 
Cygwin.
Is there anything else that need to be considered ?



Cheers,
    Alois






-------------- next part --------------
# package name
NAME="biosig"
VERSION=2.3.3
RELEASE=1

# .hint generation
CATEGORY="Libs,Science"
SUMMARY="Tools for biomedical signal processing."
DESCRIPTION="BioSig is an open source software library for 
biomedical signal processing, featuring for example the 
analysis of biosignals such as the electroencephalogram (EEG), 
electrocorticogram (ECoG), electrocardiogram (ECG), 
electrooculogram (EOG), electromyogram (EMG), respiration, 
and so on. Major application areas are: Neuroinformatics, 
brain-computer interfaces, neurophysiology, psychology, c
ardiovascular systems and sleep research. The aim of the 
BioSig project is to foster research in biomedical signal 
processing by providing open source software tools for many 
different applications. Generally, many concerns have to be a
ddressed in this scientific field. BioSig handles this by providing 
solutions for data acquisition, artifact processing, quality control, 
feature extraction, classification, modeling, data visualization, etc. "

# source and patch files
SRC_URI="https://sourceforge.net/projects/biosig/files/BioSig%20for%20C_C%2B%2B/src/biosig-2.3.3.src.tar.gz"

# PATCH_URI="biosig-2.3.3-fix-build.patch"

# use the standard src_compile, src_install and src_test

# PKG_NAMES="libbiosig libbiosig-devel biosig-tools python3-biosig"
PKG_NAMES="libbiosig libbiosig-devel biosig-tools"

biosig_tools_CONTENTS="
  usr/bin/save2gdf.exe
  usr/bin/physicalunits.exe
  usr/bin/biosig2gdf.exe
  usr/share/man/man1/save2gdf.1.gz  
  usr/share/man/man1/biosig2gdf.1.gz
  usr/share/man/man1/biosig_fhir.1.gz  
  usr/share/man/man1/physicalunits.1.gz

  usr/share/doc/biosig/COPYING
  usr/share/doc/biosig/README
"
# not included yet, would require libb64
# usr/share/man/biosig_fhir.1  usr/share/man/sigviewer.1


libbiosig_CONTENTS="
  usr/bin/libbiosig.dll
  usr/bin/libphysicalunits.dll
"

libbiosig_devel_CONTENTS="
  usr/include/biosig-dev.h 
  usr/include/biosig.h 
  usr/include/biosig2.h 
  usr/include/gdftime.h 
  usr/include/physicalunits.h 
  usr/include/biosig-network.h
  usr/include/mdc_ecg_codes.h

  usr/lib/libbiosig.a
  usr/lib/libbiosig.dll.a 
  usr/lib/libphysicalunits.a
  usr/lib/libphysicalunits.dll.a 
  usr/lib/pkgconfig/libbiosig.pc
"

#python3-biosig_CONTENTS="
#	dist/Biosig-2.3.3-cp39-cp39-cygwin_3_3_3_x86_64.whl
#"

DIFF_EXCLUDES="depend
  Makefile                
  biosig4c++/Makefile     
  biosig4c++/java/Makefile
  biosig4c++/mex/Makefile 
  biosig4c++/mma/Makefile 
"

# use not standard src_compile, src_install and src_test

src_compile() {
        cd ${S}
        lndirs
        cd ${B}
        cygautoreconf
        cygconf  # --prefix=/usr
	### libbiosig
	cygmake lib
	### biosig-tools w/o biosig_fhir
	cygmake -C biosig4c++ save2gdf physicalunits biosig2gdf
	### python3-biosig
	# cygmake -C biosig4c++/python wheel
	# cd ${B}/biosig4c++/python/
	# python3_distutils_compile bdist_wheel
	# python3_wheel_compile
}

src_install() {
	cd ${S}

	doinclude ${S}/biosig4c++/*.h
	
	dobin ${B}/biosig4c++/save2gdf.exe 
        # dobin ${B}/biosig4c++/biosig_fhir.exe
	dobin ${B}/biosig4c++/biosig2gdf.exe 
	dobin ${B}/biosig4c++/physicalunits.exe 
	dobin ${B}/biosig4c++/libbiosig.dll 
	dobin ${B}/biosig4c++/libphysicalunits.dll 

	dolib ${B}/biosig4c++/libbiosig.dll.a 
	dolib ${B}/biosig4c++/libbiosig.a 
	dolib ${B}/biosig4c++/libphysicalunits.dll.a 
	dolib ${B}/biosig4c++/libphysicalunits.a 

        dopkgconfig ${B}/biosig4c++/libbiosig.pc

	# doman ${S}/biosig4c++/doc/bin2rec.1
        doman ${S}/biosig4c++/doc/biosig2gdf.1
        doman ${S}/biosig4c++/doc/biosig_fhir.1
        doman ${S}/biosig4c++/doc/physicalunits.1
        doman ${S}/biosig4c++/doc/save2gdf.1

	# dowheel ${B}/biosig4c++/python/dist/Biosig-2.3.3-cp39-cp39-cygwin_3_3_3_x86_64.whl
}

src_test() {
    cd ${B}
    biosig4c++/physicalunits.exe
    biosig4c++/save2gdf.exe  --help
    # biosig4c++/biosig_fhir.exe --help
    # python -c "import biosig"
    # check_python3_module biosig
}



More information about the Cygwin-apps mailing list