forked from Lainports/opnsense-ports
*/*: sync with upstream
Taken from: FreeBSD
This commit is contained in:
parent
9f33f40f60
commit
5faa030283
2801 changed files with 35809 additions and 17863 deletions
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1716929091
|
||||
SHA256 (KDE/Qt/5.15.14/kde-qtspeech-5.15.14p1.tar.xz) = f1d0d42560290497b3fc962661b74d3fcef11b8683755fa6314be81a4fc93905
|
||||
SIZE (KDE/Qt/5.15.14/kde-qtspeech-5.15.14p1.tar.xz) = 80220
|
||||
TIMESTAMP = 1725433090
|
||||
SHA256 (KDE/Qt/5.15.15/kde-qtspeech-5.15.15p1.tar.xz) = 1d3f02b23af06d5a40e1c3b6b114ca11b25adf2bbfacf2c151b81a34e4080464
|
||||
SIZE (KDE/Qt/5.15.15/kde-qtspeech-5.15.15p1.tar.xz) = 80376
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= Archive-Tar-Wrapper
|
||||
PORTVERSION= 0.41
|
||||
PORTVERSION= 0.42
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1718580046
|
||||
SHA256 (Archive-Tar-Wrapper-0.41.tar.gz) = 58f347fba0a5fef619b1bdb3018e4eb97a4acae81b9c3557fcbc08744591495d
|
||||
SIZE (Archive-Tar-Wrapper-0.41.tar.gz) = 37960
|
||||
TIMESTAMP = 1725559609
|
||||
SHA256 (Archive-Tar-Wrapper-0.42.tar.gz) = 6ac75138566a63e3dad904c602fbf9addb627157a5b97efb9a4e109b446386fd
|
||||
SIZE (Archive-Tar-Wrapper-0.42.tar.gz) = 49178
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= Compress-Raw-Bzip2
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842586
|
||||
SHA256 (Compress-Raw-Bzip2-2.212.tar.gz) = 6caeee843c428f45fa9646ea98dc675470db63dbac0ee3e2d8e9ee4eb58a856d
|
||||
SIZE (Compress-Raw-Bzip2-2.212.tar.gz) = 218037
|
||||
TIMESTAMP = 1725559611
|
||||
SHA256 (Compress-Raw-Bzip2-2.213.tar.gz) = 8d75d3d366c9101ca18061b00d438d3da39478c06159147dea3c666770577c7b
|
||||
SIZE (Compress-Raw-Bzip2-2.213.tar.gz) = 218757
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= Compress-Raw-Lzma
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842588
|
||||
SHA256 (Compress-Raw-Lzma-2.212.tar.gz) = 4ba7ab803bdba2d7be7d55d4a2668369d794eb8d8d6bb0db6b74fd9b4ce18cac
|
||||
SIZE (Compress-Raw-Lzma-2.212.tar.gz) = 197888
|
||||
TIMESTAMP = 1725559613
|
||||
SHA256 (Compress-Raw-Lzma-2.213.tar.gz) = 6b979a8347701ced3ac26123d428c1f202b7999850444da19c4aedbb7c862cb7
|
||||
SIZE (Compress-Raw-Lzma-2.213.tar.gz) = 197924
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= Compress-Raw-Zlib
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842590
|
||||
SHA256 (Compress-Raw-Zlib-2.212.tar.gz) = 6d9de0c11921fd520dfd99a3f6b0ca9f1fd9850274f8bec10bbaa4f6803cc049
|
||||
SIZE (Compress-Raw-Zlib-2.212.tar.gz) = 551286
|
||||
TIMESTAMP = 1725559615
|
||||
SHA256 (Compress-Raw-Zlib-2.213.tar.gz) = 56b21c99cb3a3a7f7876a74dd05daa3f41fc9143ddd4dc98f8e46710a106af45
|
||||
SIZE (Compress-Raw-Zlib-2.213.tar.gz) = 551722
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= IO-Compress-Lzf
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842594
|
||||
SHA256 (IO-Compress-Lzf-2.212.tar.gz) = 120a38796f0bec8618ab307fbe36674051422cef381e8fb96e1c5194469f469a
|
||||
SIZE (IO-Compress-Lzf-2.212.tar.gz) = 79631
|
||||
TIMESTAMP = 1725559619
|
||||
SHA256 (IO-Compress-Lzf-2.213.tar.gz) = ce5146cd14e7e537eccf6c8833f31f1a879319952b71996ea89ea7026a282549
|
||||
SIZE (IO-Compress-Lzf-2.213.tar.gz) = 79636
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= IO-Compress-Lzma
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842596
|
||||
SHA256 (IO-Compress-Lzma-2.212.tar.gz) = 51ef81f931cfd2c13fb2340c665204a9587843087dec1a57e9e9f4666d6dad40
|
||||
SIZE (IO-Compress-Lzma-2.212.tar.gz) = 106350
|
||||
TIMESTAMP = 1725559621
|
||||
SHA256 (IO-Compress-Lzma-2.213.tar.gz) = daa63c3fa1f7708aa55b97a4d189820f5e849f8e4583dc24b5cceebd06a493eb
|
||||
SIZE (IO-Compress-Lzma-2.213.tar.gz) = 106356
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= IO-Compress-Lzop
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842598
|
||||
SHA256 (IO-Compress-Lzop-2.212.tar.gz) = c0c58730cded611d4f1b4474d6fcc25064574918ab2ec6230b1972b294446777
|
||||
SIZE (IO-Compress-Lzop-2.212.tar.gz) = 82156
|
||||
TIMESTAMP = 1725559623
|
||||
SHA256 (IO-Compress-Lzop-2.213.tar.gz) = 29e61bbca9bb2f8946aa578fef2344ca5e9334a97f966943de0863848e1ea549
|
||||
SIZE (IO-Compress-Lzop-2.213.tar.gz) = 82152
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= IO-Compress
|
||||
PORTVERSION= 2.212
|
||||
PORTVERSION= 2.213
|
||||
CATEGORIES= archivers perl5
|
||||
MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1715842592
|
||||
SHA256 (IO-Compress-2.212.tar.gz) = 687490dbf9c4be42c22a945c4601812be5f4d38a9836018148915ba9e0ea65b1
|
||||
SIZE (IO-Compress-2.212.tar.gz) = 328311
|
||||
TIMESTAMP = 1725559617
|
||||
SHA256 (IO-Compress-2.213.tar.gz) = ae4d01ae574e4568c5f2fb0573e74631e2720b71ad3bc5a3ffe9480f1cb9a851
|
||||
SIZE (IO-Compress-2.213.tar.gz) = 328473
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
%%SITE_PERL%%/Compress/Zlib.pm
|
||||
%%SITE_PERL%%/File/GlobMapper.pm
|
||||
%%SITE_PERL%%/IO/Compress.pm
|
||||
%%SITE_PERL%%/IO/Compress/Adapter/Bzip2.pm
|
||||
%%SITE_PERL%%/IO/Compress/Adapter/Deflate.pm
|
||||
%%SITE_PERL%%/IO/Compress/Adapter/Identity.pm
|
||||
|
|
@ -28,6 +29,7 @@
|
|||
%%SITE_PERL%%/IO/Uncompress/Unzip.pm
|
||||
%%PERL5_MAN3%%/Compress::Zlib.3.gz
|
||||
%%PERL5_MAN3%%/File::GlobMapper.3.gz
|
||||
%%PERL5_MAN3%%/IO::Compress.3.gz
|
||||
%%PERL5_MAN3%%/IO::Compress::Base.3.gz
|
||||
%%PERL5_MAN3%%/IO::Compress::Bzip2.3.gz
|
||||
%%PERL5_MAN3%%/IO::Compress::Deflate.3.gz
|
||||
|
|
|
|||
|
|
@ -11,18 +11,8 @@ WWW= https://github.com/brianmario/bzip2-ruby
|
|||
LICENSE= BSD2CLAUSE RUBY
|
||||
LICENSE_COMB= dual
|
||||
|
||||
DEPRECATED= Does not work with ruby32
|
||||
# Sync with the removal of ruby31
|
||||
EXPIRATION_DATE= 2025-03-31
|
||||
|
||||
USES= gem
|
||||
|
||||
BROKEN_RUBY32= yes
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
|
||||
CONFIGURE_ARGS+= --with-cflags="-Wno-error=incompatible-function-pointer-types"
|
||||
.endif
|
||||
CONFIGURE_ARGS= --with-cflags=-Wno-incompatible-function-pointer-types
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
--- ext/bzip2.c.orig 2016-07-26 12:25:25 UTC
|
||||
--- ext/bzip2.c.orig 2024-09-07 15:54:07 UTC
|
||||
+++ ext/bzip2.c
|
||||
@@ -247,9 +247,6 @@ static VALUE bz_writer_close(VALUE obj)
|
||||
@@ -247,9 +247,6 @@ static VALUE bz_writer_close(VALUE obj) {
|
||||
|
||||
Get_BZ2(obj, bzf);
|
||||
res = bz_writer_internal_close(bzf);
|
||||
|
|
@ -10,3 +10,39 @@
|
|||
return res;
|
||||
}
|
||||
|
||||
@@ -495,7 +492,7 @@ static VALUE bz_writer_init(int argc, VALUE *argv, VAL
|
||||
}
|
||||
bziv->bz2 = obj;
|
||||
} else {
|
||||
- iv = Data_Make_Struct(rb_cData, struct bz_iv, 0, free, bziv);
|
||||
+ iv = Data_Make_Struct(rb_cObject, struct bz_iv, 0, free, bziv);
|
||||
bziv->io = a;
|
||||
bziv->bz2 = obj;
|
||||
rb_ary_push(bz_internal_ary, iv);
|
||||
@@ -1733,7 +1730,7 @@ void Init_bzip2_ext() {
|
||||
/*
|
||||
Writer
|
||||
*/
|
||||
- bz_cWriter = rb_define_class_under(bz_mBzip2, "Writer", rb_cData);
|
||||
+ bz_cWriter = rb_define_class_under(bz_mBzip2, "Writer", rb_cObject);
|
||||
#if HAVE_RB_DEFINE_ALLOC_FUNC
|
||||
rb_define_alloc_func(bz_cWriter, bz_writer_s_alloc);
|
||||
#else
|
||||
@@ -1757,7 +1754,7 @@ void Init_bzip2_ext() {
|
||||
/*
|
||||
Reader
|
||||
*/
|
||||
- bz_cReader = rb_define_class_under(bz_mBzip2, "Reader", rb_cData);
|
||||
+ bz_cReader = rb_define_class_under(bz_mBzip2, "Reader", rb_cObject);
|
||||
rb_include_module(bz_cReader, rb_mEnumerable);
|
||||
#if HAVE_RB_DEFINE_ALLOC_FUNC
|
||||
rb_define_alloc_func(bz_cReader, bz_reader_s_alloc);
|
||||
@@ -1798,7 +1795,7 @@ void Init_bzip2_ext() {
|
||||
/*
|
||||
Internal
|
||||
*/
|
||||
- bz_cInternal = rb_define_class_under(bz_mBzip2, "InternalStr", rb_cData);
|
||||
+ bz_cInternal = rb_define_class_under(bz_mBzip2, "InternalStr", rb_cObject);
|
||||
#if HAVE_RB_DEFINE_ALLOC_FUNC
|
||||
rb_undef_alloc_func(bz_cInternal);
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= minitar-cli
|
||||
PORTVERSION= 0.9
|
||||
PORTVERSION= 0.12
|
||||
CATEGORIES= archivers rubygems
|
||||
MASTER_SITES= RG
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ LICENSE_COMB= dual
|
|||
LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/docs/bsdl.txt
|
||||
LICENSE_FILE_RUBY= ${WRKSRC}/docs/ruby.txt
|
||||
|
||||
RUN_DEPENDS= rubygem-minitar>=0.9.0<0.10:archivers/rubygem-minitar \
|
||||
RUN_DEPENDS= rubygem-minitar>=0.12.0<0.13:archivers/rubygem-minitar \
|
||||
rubygem-powerbar>=1.0<2:devel/rubygem-powerbar
|
||||
|
||||
USES= gem
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1720355120
|
||||
SHA256 (rubygem/minitar-cli-0.9.gem) = 157803ba1cd35c38c1105a7818589f82a7b776fe073d10d90f70900a031fcf78
|
||||
SIZE (rubygem/minitar-cli-0.9.gem) = 17408
|
||||
TIMESTAMP = 1724084672
|
||||
SHA256 (rubygem/minitar-cli-0.12.gem) = 667e17bff71baf3d0c4c4998d4e51c21fcdccf6c8a4c945efade6fede2559bb5
|
||||
SIZE (rubygem/minitar-cli-0.12.gem) = 17408
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= minitar
|
||||
PORTVERSION= 0.9
|
||||
PORTVERSION= 0.12
|
||||
CATEGORIES= archivers rubygems
|
||||
MASTER_SITES= RG
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1567688371
|
||||
SHA256 (rubygem/minitar-0.9.gem) = 23c0bebead35dbfe9e24088dc436c8a233d03f51d365a686b9a11dd30dc2d588
|
||||
SIZE (rubygem/minitar-0.9.gem) = 32768
|
||||
TIMESTAMP = 1724084670
|
||||
SHA256 (rubygem/minitar-0.12.gem) = 626a6c91373d3800be6ee18a6e2d422a9b5a66bdf1ee08aa60f32ac1d0cde239
|
||||
SIZE (rubygem/minitar-0.12.gem) = 34304
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
PORTNAME= zchunk
|
||||
DISTVERSION= 1.5.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= archivers
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@
|
|||
SUBDIR += py-astropy-helpers
|
||||
SUBDIR += py-ephem
|
||||
SUBDIR += py-extension-helpers
|
||||
SUBDIR += py-fitsio
|
||||
SUBDIR += py-horoscopegenerator
|
||||
SUBDIR += py-indiweb
|
||||
SUBDIR += py-jplephem
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
PORTNAME= astrometry
|
||||
PORTVERSION= 0.95
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= astro
|
||||
MASTER_SITES= https://github.com/dstndstn/${PORTNAME}.net/releases/download/${DISTVERSION}/
|
||||
DISTNAME= ${PORTNAME}.net-${PORTVERSION}
|
||||
|
|
@ -50,6 +51,9 @@ SUB_FILES= pkg-message
|
|||
OPTIONS_DEFINE= DOCS EXAMPLES
|
||||
OPTIONS_DEFAULT= EXAMPLES
|
||||
|
||||
# These files are taken from cfitsio and installed by cfitsio 4.5.0+.
|
||||
# fitscopy was slightly modified by astrometry team.
|
||||
CFITSIO_FILES= fitscopy fitsverify imcopy
|
||||
FILES= an-fitstopnm an-pnmtofits astrometry-engine augment-xylist \
|
||||
build-astrometry-index downsample-fits fit-wcs \
|
||||
fits-column-merge fits-flip-endian fits-guess-scale \
|
||||
|
|
@ -64,6 +68,9 @@ FILES= an-fitstopnm an-pnmtofits astrometry-engine augment-xylist \
|
|||
post-install:
|
||||
.for file in ${FILES}
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${file}
|
||||
.endfor
|
||||
.for file in ${CFITSIO_FILES}
|
||||
${MV} ${STAGEDIR}${PREFIX}/bin/${file} ${STAGEDIR}${PREFIX}/bin/astrometry-${file}
|
||||
.endfor
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libastrometry.so
|
||||
${STRIP_CMD} ${STAGEDIR}${PYTHON_LIBDIR}/astrometry/solver/_solver${PYTHON_EXT_SUFFIX}.so
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
bin/an-fitstopnm
|
||||
bin/an-pnmtofits
|
||||
bin/astrometry-engine
|
||||
bin/astrometry-fitscopy
|
||||
bin/astrometry-fitsverify
|
||||
bin/astrometry-imcopy
|
||||
bin/augment-xylist
|
||||
bin/build-astrometry-index
|
||||
bin/degtohms
|
||||
|
|
@ -9,9 +12,7 @@ bin/fit-wcs
|
|||
bin/fits-column-merge
|
||||
bin/fits-flip-endian
|
||||
bin/fits-guess-scale
|
||||
bin/fitscopy
|
||||
bin/fitsgetext
|
||||
bin/fitsverify
|
||||
bin/get-healpix
|
||||
bin/get-wcs
|
||||
bin/hmstodeg
|
||||
|
|
@ -19,7 +20,6 @@ bin/hpsplit
|
|||
bin/image2pnm
|
||||
bin/image2xy
|
||||
bin/imarith
|
||||
bin/imcopy
|
||||
bin/imstat
|
||||
bin/listhead
|
||||
bin/liststruc
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
PORTNAME= cfitsio
|
||||
PORTVERSION= 4.4.1
|
||||
PORTVERSION= 4.5.0
|
||||
CATEGORIES= astro
|
||||
MASTER_SITES= https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/ \
|
||||
https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/oldvers/ \
|
||||
ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/ \
|
||||
ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/oldvers/ \
|
||||
LOCAL/sunpoet
|
||||
|
||||
MAINTAINER= sunpoet@FreeBSD.org
|
||||
COMMENT= Library for reading and writing files in FITS data format
|
||||
WWW= https://heasarc.gsfc.nasa.gov/docs/software/fitsio/
|
||||
WWW= https://heasarc.gsfc.nasa.gov/fitsio/ \
|
||||
https://github.com/HEASARC/cfitsio
|
||||
|
||||
LICENSE= CFITSIO
|
||||
LICENSE_NAME= CFITSIO License
|
||||
LICENSE_FILE= ${WRKSRC}/licenses/License.txt
|
||||
LICENSE_PERMS= auto-accept dist-mirror dist-sell pkg-mirror pkg-sell
|
||||
|
||||
LIB_DEPENDS= libcurl.so:ftp/curl \
|
||||
libf2c.so:lang/f2c
|
||||
LIB_DEPENDS= libcurl.so:ftp/curl
|
||||
|
||||
USES= cpe localbase pkgconfig
|
||||
USES= cpe libtool localbase pathfix pkgconfig
|
||||
|
||||
ALL_TARGET= libcfitsio.a shared
|
||||
CONFIGURE_ARGS= ac_cv_prog_FC=f2c --enable-reentrant --with-bzip2=/usr
|
||||
CONFIGURE_ARGS= --enable-reentrant --with-bzip2=/usr
|
||||
GNU_CONFIGURE= yes
|
||||
INSTALL_TARGET= install-strip
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
PLIST_SUB= PORTVERSION=${PORTVERSION}
|
||||
|
|
@ -32,16 +30,8 @@ CPE_VENDOR= nasa
|
|||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
do-install:
|
||||
cd ${WRKSRC}/ && ${INSTALL_DATA} drvrsmem.h fitsio.h fitsio2.h longnam.h ${STAGEDIR}${PREFIX}/include/
|
||||
${INSTALL_DATA} ${WRKSRC}/libcfitsio.a ${STAGEDIR}${PREFIX}/lib/
|
||||
${INSTALL_LIB} ${WRKSRC}/libcfitsio.so.10.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/
|
||||
${INSTALL_DATA} ${WRKSRC}/cfitsio.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
|
||||
${LN} -fs libcfitsio.so.10.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcfitsio.so.10
|
||||
${LN} -fs libcfitsio.so.10.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcfitsio.so
|
||||
|
||||
do-install-DOCS-on:
|
||||
${MKDIR} ${STAGEDIR}${DOCSDIR}/
|
||||
${INSTALL_DATA} ${WRKSRC}/docs/changes.txt ${WRKSRC}/docs/*.pdf ${STAGEDIR}${DOCSDIR}/
|
||||
${INSTALL_DATA} ${WRKSRC}/docs/*.pdf ${STAGEDIR}${DOCSDIR}/
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1718784539
|
||||
SHA256 (cfitsio-4.4.1.tar.gz) = 66a1dc3f21800f9eeabd9eac577b91fcdd9aabba678fbba3b8527319110d1d25
|
||||
SIZE (cfitsio-4.4.1.tar.gz) = 4308170
|
||||
TIMESTAMP = 1725559549
|
||||
SHA256 (cfitsio-4.5.0.tar.gz) = e4854fc3365c1462e493aa586bfaa2f3d0bb8c20b75a524955db64c27427ce09
|
||||
SIZE (cfitsio-4.5.0.tar.gz) = 4648097
|
||||
|
|
|
|||
|
|
@ -1,14 +1,25 @@
|
|||
bin/cookbook
|
||||
bin/fitscopy
|
||||
bin/fitsverify
|
||||
bin/fpack
|
||||
bin/funpack
|
||||
bin/imcopy
|
||||
bin/smem
|
||||
bin/speed
|
||||
include/cfortran.h
|
||||
include/drvrsmem.h
|
||||
include/f77_wrap.h
|
||||
include/fitsio.h
|
||||
include/fitsio2.h
|
||||
include/longnam.h
|
||||
include/region.h
|
||||
lib/libcfitsio.a
|
||||
lib/libcfitsio.so
|
||||
lib/libcfitsio.so.10
|
||||
lib/libcfitsio.so.10.0.0
|
||||
lib/libcfitsio.so.10.%%PORTVERSION%%
|
||||
libdata/pkgconfig/cfitsio.pc
|
||||
%%PORTDOCS%%%%DOCSDIR%%/cfitsio.pdf
|
||||
%%PORTDOCS%%%%DOCSDIR%%/changes.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/fitsio.pdf
|
||||
%%PORTDOCS%%%%DOCSDIR%%/fpackguide.pdf
|
||||
%%PORTDOCS%%%%DOCSDIR%%/quick.pdf
|
||||
|
|
|
|||
35
astro/py-fitsio/Makefile
Normal file
35
astro/py-fitsio/Makefile
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
PORTNAME= fitsio
|
||||
PORTVERSION= 1.2.4
|
||||
CATEGORIES= astro python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= sunpoet@FreeBSD.org
|
||||
COMMENT= Full featured python library to read from and write to FITS files
|
||||
WWW= https://github.com/esheldon/fitsio
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
|
||||
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
|
||||
LIB_DEPENDS= libcfitsio.so:astro/cfitsio
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR}
|
||||
|
||||
USES= python
|
||||
USE_PYTHON= autoplist concurrent pep517
|
||||
|
||||
MAKE_ENV= FITSIO_USE_SYSTEM_FITSIO=yes \
|
||||
FITSIO_SYSTEM_FITSIO_INCLUDEDIR=${LOCALBASE}/include \
|
||||
FITSIO_SYSTEM_FITSIO_LIBDIR=${LOCALBASE}/lib
|
||||
|
||||
# Clean up bundled libraries
|
||||
post-patch:
|
||||
@${RM} -r ${WRKSRC}/cfitsio-*/
|
||||
@${RM} -r ${WRKSRC}/zlib/
|
||||
|
||||
post-install:
|
||||
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
|
||||
|
||||
.include <bsd.port.mk>
|
||||
3
astro/py-fitsio/distinfo
Normal file
3
astro/py-fitsio/distinfo
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1725559527
|
||||
SHA256 (fitsio-1.2.4.tar.gz) = d57fe347c7657dc1f78c7969a55ecb4fddb717ae1c66d9d22046c171203ff678
|
||||
SIZE (fitsio-1.2.4.tar.gz) = 4533680
|
||||
27
astro/py-fitsio/pkg-descr
Normal file
27
astro/py-fitsio/pkg-descr
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
fitsio is a python extension written in c and python. Data are read into
|
||||
numerical python arrays.
|
||||
|
||||
Some Features:
|
||||
- Read from and write to image, binary, and ascii table extensions.
|
||||
- Read arbitrary subsets of table columns and rows without loading all the data
|
||||
to memory.
|
||||
- Read image subsets without reading the whole image. Write subsets to existing
|
||||
images.
|
||||
- Write and read variable length table columns.
|
||||
- Read images and tables using slice notation similar to numpy arrays. This is
|
||||
like a more powerful memmap, since it is column-aware for tables.
|
||||
- Append rows to an existing table. Delete row sets and row ranges. Resize
|
||||
tables, or insert rows.
|
||||
- Query the columns and rows in a table.
|
||||
- Read and write header keywords.
|
||||
- Read and write images in tile-compressed format (RICE,GZIP,PLIO,HCOMPRESS).
|
||||
- Read/write gzip files directly. Read unix compress (.Z,.zip) and bzip2 (.bz2)
|
||||
files.
|
||||
- TDIM information is used to return array columns in the correct shape.
|
||||
- Write and read string table columns, including array columns of arbitrary
|
||||
shape.
|
||||
- Read and write complex, bool (logical), unsigned integer, signed bytes types.
|
||||
- Write checksums into the header and verify them.
|
||||
- Insert new columns into tables in-place.
|
||||
- Iterate over rows in a table. Data are buffered for efficiency.
|
||||
- python 3 support, including python 3 strings
|
||||
|
|
@ -694,7 +694,6 @@
|
|||
SUBDIR += raul
|
||||
SUBDIR += rawrec
|
||||
SUBDIR += re
|
||||
SUBDIR += resid
|
||||
SUBDIR += rexima
|
||||
SUBDIR += rezound
|
||||
SUBDIR += rhvoice
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= audacity
|
||||
DISTVERSIONPREFIX= Audacity-
|
||||
DISTVERSION= 3.6.1
|
||||
DISTVERSION= 3.6.2
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES+= https://github.com/${PORTNAME}/${PORTNAME}-manual/releases/download/v${DISTVERSION}/:manual
|
||||
DISTFILES+= ${PORTNAME}-manual-${DISTVERSION}.tar.gz:manual
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
TIMESTAMP = 1721674577
|
||||
SHA256 (audacity-manual-3.6.1.tar.gz) = a099f22885a0260f0b4a1ed8f0049583da6d26c1f5d6d7aaeeb1fe50d3a0fa08
|
||||
SIZE (audacity-manual-3.6.1.tar.gz) = 26053438
|
||||
SHA256 (audacity-audacity-Audacity-3.6.1_GH0.tar.gz) = d3af8c8068cdc3072fb583d5062aa75f4b25846da342bd30df40bfb5ede83cc5
|
||||
SIZE (audacity-audacity-Audacity-3.6.1_GH0.tar.gz) = 61369168
|
||||
TIMESTAMP = 1725429385
|
||||
SHA256 (audacity-manual-3.6.2.tar.gz) = 9d79c1fdd40e53d89584223f6216243240b7dd746eb96532ae5041b9cd956351
|
||||
SIZE (audacity-manual-3.6.2.tar.gz) = 26237177
|
||||
SHA256 (audacity-audacity-Audacity-3.6.2_GH0.tar.gz) = 85d185a5193d967ed6f76242ef7bb2fd718d42800c29f7409337451c786b141e
|
||||
SIZE (audacity-audacity-Audacity-3.6.2_GH0.tar.gz) = 61319167
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/04/selectionpointer.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/04/spectral_delete_deletion_with_toolbar.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/04/windows_control_panel_h_s_sound75percent.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/05/legacy_limiter_3_6_2.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/05/project_recovered_dialog.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/05/repeat_3_5_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/0/05/spectrogramview_09.png
|
||||
|
|
@ -232,6 +233,7 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/24/removing_labels_together_with_their_associated_audio_after.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/24/spectraleditparametric2000hz_20.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/24/vocal_reduction_and_isolation_3_5_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/25/compressor_before.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/25/envelope6.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/25/export_other_uncompressed_files_header_3_4_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/2/25/select_audio_clips_menu_3_2_3.png
|
||||
|
|
@ -297,6 +299,7 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/34/spectrogramview_02b.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/34/spectrum_with_whistle_w10.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/35/audio_before_zero.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/35/legacy_compressor_3_6_2.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/35/spectrogramview_01.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/35/view_show_clipping.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/36/compressor_parameters_smoothing_waveform_%%CMAKE_BUILD_TYPE%%_25_lookahead_1.png
|
||||
|
|
@ -325,7 +328,6 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3c/audio_track_dropdown_menu_3_6_0_mult_view_selection.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3c/punch_in_tracks002.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3c/silence_finder.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3d/effect_menu_3_6_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3d/erremptyproject.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3d/invert.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/3/3d/risset_drum_3_5_0.png
|
||||
|
|
@ -425,6 +427,7 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/53/label_context_menu.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/53/note_track_with_velocity_slider.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/53/time_track_example.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/54/compressor_after.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/54/malformed_mp3_error_message.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/54/scrubbing_using_the_menu_command_and_no_scrub_ruler.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/5/54/suregtrack.png
|
||||
|
|
@ -529,7 +532,6 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/6/6f/sltg_edits_7.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/6/6f/spectral_02a.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/6/6f/spectraleditshelves200hz10000hz_20.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/6/6f/time_track_range_dialog_lower_limit_w10.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/6/6f/tools_menu_3_5_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/7/70/get_info.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/7/70/rollup.png
|
||||
|
|
@ -695,13 +697,13 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a0/compressor_parameters_smoothing_spectrum_attack_1ms.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a0/labeltrack8.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a0/spectrogramview_12.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a0/time_track_range_dialog_upper_limit_w10.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/clicky_example_spectrogram_view.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/crossfade_clips_w10.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/export_other_uncompressed_files_3_4_0.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/move_cursor_to_track_start_post.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/preferences_warnings.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/splitting_and_joining_stereo_tracks_01.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/time_track_speed_limit_range_dialog.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a1/unsuitable_fat_drive_for_save.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a2/regionmovebefore_w10.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/a/a2/shurex2u.png
|
||||
|
|
@ -993,6 +995,7 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/appended_recording_in_beats_and_bars_mode.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/clicky_example_waveform_view_click_labelled_and_zoomed_red_arrows.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/connect_dots_stem_plot_examples.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/effect_menu_3_6_2.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/error_for_locked_configuration_files.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/spectrogramview_05a.png
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/m/images/e/ef/spectrogramview_07.png
|
||||
|
|
@ -1247,6 +1250,8 @@ share/applications/audacity.desktop
|
|||
%%MANUAL%%%%DATADIR%%/help/manual/man/label_tracks.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/labels_editor.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/languages.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/legacy_compressor.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/legacy_limiter.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/libraries_preferences.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/license.html
|
||||
%%MANUAL%%%%DATADIR%%/help/manual/man/limiter.html
|
||||
|
|
@ -1523,7 +1528,7 @@ share/applications/audacity.desktop
|
|||
%%DATADIR%%/plug-ins/equalabel.ny
|
||||
%%DATADIR%%/plug-ins/highpass.ny
|
||||
%%DATADIR%%/plug-ins/label-sounds.ny
|
||||
%%DATADIR%%/plug-ins/limiter.ny
|
||||
%%DATADIR%%/plug-ins/legacy-limiter.ny
|
||||
%%DATADIR%%/plug-ins/lowpass.ny
|
||||
%%DATADIR%%/plug-ins/noisegate.ny
|
||||
%%DATADIR%%/plug-ins/notch.ny
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= FAudio
|
||||
DISTVERSION= 21.01
|
||||
DISTVERSION= 24.08
|
||||
CATEGORIES= audio
|
||||
|
||||
MAINTAINER= multimedia@FreeBSD.org
|
||||
|
|
@ -10,27 +10,19 @@ LICENSE= ZLIB
|
|||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
USES= cmake compiler:c11 sdl
|
||||
USE_SDL= sdl2
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= FNA-XNA
|
||||
USE_LDCONFIG= yes
|
||||
USE_SDL= sdl2
|
||||
|
||||
PLIST_SUB= SOVERSION=${DISTVERSION:S,., ,g:[1..2]:ts.}
|
||||
|
||||
OPTIONS_DEFINE= GSTREAMER
|
||||
OPTIONS_DEFAULT= GSTREAMER
|
||||
|
||||
GSTREAMER_DESC= WMA/XMA support via GStreamer
|
||||
|
||||
GSTREAMER_USES= gettext-runtime gnome gstreamer pkgconfig
|
||||
GSTREAMER_USE= GNOME=glib20
|
||||
GSTREAMER_CMAKE_BOOL= GSTREAMER
|
||||
|
||||
do-test:
|
||||
@cd ${BUILD_WRKSRC} && \
|
||||
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
|
||||
${SETENVI} ${WRK_ENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
|
||||
-DBUILD_TESTS=ON -DBUILD_UTILS=ON ${CMAKE_SOURCE_PATH} && \
|
||||
${DO_MAKE_BUILD} ${ALL_TARGET}
|
||||
@${SETENV} SDL_AUDIODRIVER=dummy ${BUILD_WRKSRC}/faudio_tests
|
||||
@${SETENVI} SDL_AUDIODRIVER=dummy ${BUILD_WRKSRC}/faudio_tests
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1609598982
|
||||
SHA256 (FNA-XNA-FAudio-21.01_GH0.tar.gz) = bebe6aa66a64c7d936b44120d59b2bd4aaf6d7999777aa3c6cdb6ccde51ce59d
|
||||
SIZE (FNA-XNA-FAudio-21.01_GH0.tar.gz) = 1134752
|
||||
TIMESTAMP = 1725172429
|
||||
SHA256 (FNA-XNA-FAudio-24.08_GH0.tar.gz) = 7c116d79d24abbca192e63de2d7ee42a679e1994f0a2e79200731b9878fdacca
|
||||
SIZE (FNA-XNA-FAudio-24.08_GH0.tar.gz) = 1125131
|
||||
|
|
|
|||
11
audio/faudio/files/patch-CMakeLists.txt
Normal file
11
audio/faudio/files/patch-CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- CMakeLists.txt.orig 2024-09-01 06:45:46 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -353,7 +353,7 @@ install(
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}.pc
|
||||
- DESTINATION ${FAudio_INSTALL_LIBDIR}/pkgconfig
|
||||
+ DESTINATION ${FAudio_INSTALL_LIBDIR}data/pkgconfig
|
||||
)
|
||||
|
||||
# Generate cmake-config file, install CMake files
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
https://github.com/FNA-XNA/FAudio/issues/183
|
||||
|
||||
--- src/FAudio_platform_sdl2.c.orig 2020-04-01 14:55:30 UTC
|
||||
+++ src/FAudio_platform_sdl2.c
|
||||
@@ -100,6 +100,18 @@ void FAudio_PlatformInit(
|
||||
want.samples = want.freq / 100;
|
||||
}
|
||||
|
||||
+ /* SDL audio with arts/dsp backends expect ^2, so round up.
|
||||
+ * For 48KHz this should be 512.
|
||||
+ * https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||
+ */
|
||||
+ want.samples--;
|
||||
+ want.samples |= want.samples >> 1;
|
||||
+ want.samples |= want.samples >> 2;
|
||||
+ want.samples |= want.samples >> 4;
|
||||
+ want.samples |= want.samples >> 8;
|
||||
+ want.samples |= want.samples >> 16;
|
||||
+ want.samples++;
|
||||
+
|
||||
/* Open the device (or at least try to) */
|
||||
iosretry:
|
||||
device = SDL_OpenAudioDevice(
|
||||
|
|
@ -6,9 +6,9 @@ include/FAPOBase.h
|
|||
include/FAPOFX.h
|
||||
include/FAudio.h
|
||||
include/FAudioFX.h
|
||||
lib/cmake/FAudio/FAudio-config.cmake
|
||||
lib/cmake/FAudio/FAudio-targets-%%CMAKE_BUILD_TYPE%%.cmake
|
||||
lib/cmake/FAudio/FAudio-targets.cmake
|
||||
lib/cmake/FAudio/FAudioConfig.cmake
|
||||
lib/libFAudio.so
|
||||
lib/libFAudio.so.0
|
||||
lib/libFAudio.so.0.%%SOVERSION%%
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
PORTNAME= fooyin
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.6.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= audio multimedia
|
||||
|
||||
PATCH_SITES= https://github.com/fooyin/fooyin/commit/
|
||||
PATCHFILES= a7388331090465ae9c22600bee4769d4c00bbc53.patch:-p1 \
|
||||
318f2e00952f37e1d237789d7b2605f05639c687.patch:-p1
|
||||
|
||||
MAINTAINER= diizzy@FreeBSD.org
|
||||
COMMENT= foobar2000 inspired audio player
|
||||
WWW= https://github.com/fooyin/fooyin
|
||||
|
|
@ -10,6 +15,9 @@ WWW= https://github.com/fooyin/fooyin
|
|||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
NOT_FOR_ARCHS= armv7 i386 powerpc
|
||||
NOT_FOR_ARCHS_REASON= Fails to build on 32-bit platforms with various errors
|
||||
|
||||
LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
|
||||
libgme.so:audio/libgme \
|
||||
libicui18n.so:devel/icu \
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
TIMESTAMP = 1725140610
|
||||
TIMESTAMP = 1725468089
|
||||
SHA256 (fooyin-fooyin-v0.6.2_GH0.tar.gz) = ea1e128820becb70c9c2b1c648cd6c9c8816818709284cfebbdf99cce232af4f
|
||||
SIZE (fooyin-fooyin-v0.6.2_GH0.tar.gz) = 4598582
|
||||
SHA256 (a7388331090465ae9c22600bee4769d4c00bbc53.patch) = f9b47961914b69d3b4ede077712f868aa7801ff6da5476b1ab7a7e2f3bacf848
|
||||
SIZE (a7388331090465ae9c22600bee4769d4c00bbc53.patch) = 715
|
||||
SHA256 (318f2e00952f37e1d237789d7b2605f05639c687.patch) = 1e79bb05c43ce9234d4104695ce7a95eb76061ca13c1f8a07b1a06bb8011ecc3
|
||||
SIZE (318f2e00952f37e1d237789d7b2605f05639c687.patch) = 602
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
--- src/plugins/gme/CMakeLists.txt.orig 2024-08-27 22:28:57 UTC
|
||||
+++ src/plugins/gme/CMakeLists.txt
|
||||
@@ -22,6 +22,10 @@ target_include_directories(
|
||||
gmeinput
|
||||
PRIVATE ${LIBGME_INCLUDE_DIRS}
|
||||
)
|
||||
+target_link_directories(
|
||||
+ gmeinput
|
||||
+ PRIVATE ${LIBGME_LIBRARY_DIRS}
|
||||
+)
|
||||
|
||||
fooyin_append_mimes(
|
||||
audio/x-ay
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
PORTREVISION= 0
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= audio
|
||||
|
||||
COMMENT= GStreamer emulate gaming console sound processors plugin
|
||||
|
|
|
|||
|
|
@ -14,6 +14,10 @@ WWW= https://guitarix.org/
|
|||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
BROKEN= fails to find faust version, see https://github.com/brummer10/guitarix/issues/135
|
||||
DEPRECATED= Broken for almost a year
|
||||
EXPIRATION_DATE=2024-09-30
|
||||
|
||||
BUILD_DEPENDS= lv2>0:audio/lv2 \
|
||||
faust:audio/faust \
|
||||
${LOCALBASE}/include/fftw3.h:math/fftw3 \
|
||||
|
|
@ -66,8 +70,6 @@ NLS_CONFIGURE_ENABLE= nls
|
|||
NLS_USES= gettext
|
||||
NLS_USE= GNOME=intltool
|
||||
|
||||
BROKEN= fails to find faust version, see https://github.com/brummer10/guitarix/issues/135
|
||||
|
||||
post-install:
|
||||
# strip, see https://sourceforge.net/p/guitarix/bugs/60/
|
||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/guitarix
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
PORTNAME= libgme
|
||||
DISTVERSION= 0.6.3
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 0.6.3-183
|
||||
DISTVERSIONSUFFIX= -g05a2aa2
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= https://bitbucket.org/mpyne/game-music-emu/downloads/ \
|
||||
LOCAL/ehaupt
|
||||
DISTNAME= game-music-emu-${DISTVERSION}
|
||||
|
||||
MAINTAINER= ehaupt@FreeBSD.org
|
||||
COMMENT= Collection of video game music emulators
|
||||
WWW= https://bitbucket.org/mpyne/game-music-emu
|
||||
WWW= https://github.com/libgme/game-music-emu
|
||||
|
||||
LICENSE= LGPL21+
|
||||
LICENSE_FILE= ${WRKSRC}/license.txt
|
||||
|
||||
USES= cmake compiler:c++11-lang dos2unix tar:xz
|
||||
USES= cmake compiler:c++11-lang dos2unix pathfix
|
||||
DOS2UNIX_FILES= ${PORTDOCS}
|
||||
USE_GITHUB= yes
|
||||
GH_PROJECT= game-music-emu
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
CMAKE_OFF= ENABLE_UBSAN
|
||||
|
|
@ -23,10 +22,6 @@ PORTDOCS= changes.txt design.txt gme.txt readme.txt
|
|||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e '/pkgconfig/s/lib[[:>:]]/libdata/' \
|
||||
${WRKSRC}/gme/CMakeLists.txt
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1681316189
|
||||
SHA256 (game-music-emu-0.6.3.tar.xz) = aba34e53ef0ec6a34b58b84e28bf8cfbccee6585cebca25333604c35db3e051d
|
||||
SIZE (game-music-emu-0.6.3.tar.xz) = 234412
|
||||
TIMESTAMP = 1724490683
|
||||
SHA256 (libgme-game-music-emu-0.6.3-183-g05a2aa2_GH0.tar.gz) = 3dd621457e6ae9100ff85dda76b7bed5ef9eb0c960fc8d0203ef54aac109434c
|
||||
SIZE (libgme-game-music-emu-0.6.3-183-g05a2aa2_GH0.tar.gz) = 343648
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
--- gme/blargg_endian.h.orig 2021-02-10 16:11:06 UTC
|
||||
+++ gme/blargg_endian.h
|
||||
@@ -33,9 +33,7 @@
|
||||
#if defined (LSB_FIRST) || defined (__LITTLE_ENDIAN__) || BLARGG_CPU_X86 || \
|
||||
(defined (LITTLE_ENDIAN) && LITTLE_ENDIAN+0 != 1234)
|
||||
#define BLARGG_LITTLE_ENDIAN 1
|
||||
-#endif
|
||||
-
|
||||
-#if defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
|
||||
+#elif defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
|
||||
defined (__sparc__) || BLARGG_CPU_POWERPC || \
|
||||
(defined (BIG_ENDIAN) && BIG_ENDIAN+0 != 4321)
|
||||
#define BLARGG_BIG_ENDIAN 1
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
include/gme/blargg_source.h
|
||||
include/gme/gme.h
|
||||
lib/libgme.so
|
||||
lib/libgme.so.0
|
||||
lib/libgme.so.0.6.3
|
||||
lib/libgme.so.0.6.4
|
||||
libdata/pkgconfig/libgme.pc
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
PORTNAME= libltc
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 1.3.2
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= https://github.com/x42/${PORTNAME}/releases/download/v${DISTVERSION}/
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
COMMENT= Linear/Logitudinal Time Code (LTC) Library
|
||||
|
|
@ -11,15 +11,15 @@ WWW= https://github.com/x42/libltc
|
|||
LICENSE= LGPL3
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
USES= autoreconf gmake libtool
|
||||
USES= gmake libtool pathfix
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= x42
|
||||
|
||||
INSTALL_TARGET= install-strip
|
||||
TEST_TARGET= check
|
||||
|
||||
CONFIGURE_ENV= ac_cv_path_DOXYGEN=no
|
||||
CONFIGURE_ARGS= --disable-static
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1662408522
|
||||
SHA256 (x42-libltc-v1.3.2_GH0.tar.gz) = 78ba31f784792b60be8ff407286f609f0c139b4fe885c714a9c4b580226fe0c8
|
||||
SIZE (x42-libltc-v1.3.2_GH0.tar.gz) = 110912
|
||||
TIMESTAMP = 1725809924
|
||||
SHA256 (libltc-1.3.2.tar.gz) = 0a6d42cd6c21e925a27fa560dc45ac80057d275f23342102825909c02d3b1249
|
||||
SIZE (libltc-1.3.2.tar.gz) = 449921
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
include/ltc.h
|
||||
lib/libltc.a
|
||||
lib/libltc.so
|
||||
lib/libltc.so.11
|
||||
lib/libltc.so.11.2.0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= mpd
|
||||
PORTVERSION= 0.1
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= audio
|
||||
PKGNAMEPREFIX= ${LUA_PKGNAMEPREFIX}
|
||||
|
|
@ -9,7 +9,7 @@ MAINTAINER= demelier.david@gmail.com
|
|||
COMMENT= Lua library for musicpd
|
||||
WWW= https://github.com/silentbicycle/lua-mpd
|
||||
|
||||
RUN_DEPENDS= ${LUA_REFMODLIBDIR}/socket/core.so:net/luasocket@${LUA_FLAVOR}
|
||||
RUN_DEPENDS= ${LUA_REFMODLIBDIR}/socket/core.so:net/lua-luasocket@${LUA_FLAVOR}
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
DOCSDIR= ${LUA_DOCSDIR}
|
||||
|
|
@ -19,6 +19,8 @@ GH_PROJECT= lua-mpd
|
|||
|
||||
USES= lua:51,module
|
||||
USE_GITHUB= yes
|
||||
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
do-install:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= ocp
|
||||
PORTVERSION= 0.2.109
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= https://stian.cubic.org/ocp/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= openspc
|
||||
PORTVERSION= 0.3.1
|
||||
PORTREVISION= 10
|
||||
PORTREVISION= 11
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= http://membres.lycos.fr/pixels/ \
|
||||
LOCAL/ehaupt
|
||||
|
|
@ -10,16 +10,24 @@ MAINTAINER= ehaupt@FreeBSD.org
|
|||
COMMENT= Command-line player for .spc and .zst files
|
||||
WWW= http://membres.lycos.fr/pixels/OpenSPC.html
|
||||
|
||||
DEPRECATED= Unmaintained upstream. Use audio/libgme or audio/ocp instead.
|
||||
EXPIRATION_DATE= 2024-12-05
|
||||
|
||||
ONLY_FOR_ARCHS= i386 # contains x86 asm code
|
||||
GNU_CONFIGURE= yes
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
USES= autoreconf libtool
|
||||
USE_GCC= yes
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
PLIST_FILES= bin/OpenSPClite \
|
||||
include/OpenSPC.h \
|
||||
lib/libOpenSPC.a \
|
||||
lib/libOpenSPC.so \
|
||||
lib/libOpenSPC.so.0 \
|
||||
lib/libOpenSPC.so.0.3.1
|
||||
PORTDOCS= README
|
||||
PLIST_FILES= bin/OpenSPClite include/OpenSPC.h lib/libOpenSPC.a \
|
||||
lib/libOpenSPC.so lib/libOpenSPC.so.0 lib/libOpenSPC.so.0.3.1
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= picard
|
||||
PORTVERSION= 2.12.2
|
||||
PORTVERSION= 2.12.3
|
||||
CATEGORIES= audio python
|
||||
MASTER_SITES= http://ftp.musicbrainz.org/pub/musicbrainz/picard/ \
|
||||
ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/ \
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1725247669
|
||||
SHA256 (picard-2.12.2.tar.gz) = e51fb654a1d54b7020213965c7fc5c98a9d0e44d1dee28c40b2ef85f40204404
|
||||
SIZE (picard-2.12.2.tar.gz) = 5863787
|
||||
TIMESTAMP = 1725562679
|
||||
SHA256 (picard-2.12.3.tar.gz) = a47ff4d60d9b4fd45d8fe3c13348fada1dda9cddd2b602a923af4643d6661a66
|
||||
SIZE (picard-2.12.3.tar.gz) = 5878683
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
PORTNAME= resid
|
||||
PORTVERSION= 0.16
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= audio emulators
|
||||
MASTER_SITES= LOCAL/ehaupt
|
||||
|
||||
MAINTAINER= ehaupt@FreeBSD.org
|
||||
COMMENT= Cycle-based SID emulator engine
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
DEPRECATED= Upstream recommends using emulators/vice instead
|
||||
EXPIRATION_DATE=2024-09-03
|
||||
|
||||
USES= libtool
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
CONFIGURE_ARGS= --enable-shared
|
||||
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (resid-0.16.tar.gz) = 830fe4c048053338c8f4c38decdedd93d8c101583958d62536d669f3ac7a66f3
|
||||
SIZE (resid-0.16.tar.gz) = 266045
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
Since June 1998, a cycle-based SID emulator engine is available and is
|
||||
distributed under the GNU General Public License (GPL). It's called reSID, is
|
||||
programmed in C++, and so far has been developed by Dag Lem.
|
||||
|
||||
Requirement for processor power is huge (don't expect a complex SID emulator
|
||||
like this to run on a machine with less than 233-300 MHz).
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
include/resid/envelope.h
|
||||
include/resid/extfilt.h
|
||||
include/resid/filter.h
|
||||
include/resid/pot.h
|
||||
include/resid/sid.h
|
||||
include/resid/siddefs.h
|
||||
include/resid/spline.h
|
||||
include/resid/voice.h
|
||||
include/resid/wave.h
|
||||
lib/libresid.a
|
||||
lib/libresid.so
|
||||
lib/libresid.so.5
|
||||
lib/libresid.so.5.0.0
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
PORTNAME= yoshimi
|
||||
DISTVERSION= 2.3.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= SF/${PORTNAME}/${DISTVERSION:R}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= zmusic
|
||||
DISTVERSION= 1.1.12
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= audio
|
||||
|
||||
MAINTAINER= kevans@FreeBSD.org
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ PLIST_FILES= bin/${PORTNAME} share/man/man1/${PORTNAME}.1.gz
|
|||
PORTEXAMPLES= *
|
||||
|
||||
OPTIONS_DEFINE= OPENMPI EXAMPLES
|
||||
OPENMPI_DESC= Use Open MPI instead of MPICH2
|
||||
OPENMPI_DESC= Use Open MPI instead of MPICH
|
||||
|
||||
OPENMPI_BUILD_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpicc:net/openmpi
|
||||
OPENMPI_RUN_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpirun:net/openmpi
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
PORTNAME= derailed_benchmarks
|
||||
PORTVERSION= 1.7.0
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 2.1.2
|
||||
CATEGORIES= benchmarks rubygems
|
||||
MASTER_SITES= RG
|
||||
|
||||
|
|
@ -10,16 +9,16 @@ WWW= https://github.com/schneems/derailed_benchmarks
|
|||
|
||||
LICENSE= MIT
|
||||
|
||||
RUN_DEPENDS= rubygem-benchmark-ips>=2.0.0:benchmarks/rubygem-benchmark-ips \
|
||||
RUN_DEPENDS= rubygem-benchmark-ips>=2.0.0<3:benchmarks/rubygem-benchmark-ips \
|
||||
rubygem-dead_end>=0:devel/rubygem-dead_end \
|
||||
rubygem-get_process_mem0>=0<1:devel/rubygem-get_process_mem0 \
|
||||
rubygem-heapy>=0:devel/rubygem-heapy \
|
||||
rubygem-memory_profiler>=0:devel/rubygem-memory_profiler \
|
||||
rubygem-mini_histogram>=0:devel/rubygem-mini_histogram\
|
||||
rubygem-heapy>=0<1:devel/rubygem-heapy \
|
||||
rubygem-memory_profiler>=0<2:devel/rubygem-memory_profiler \
|
||||
rubygem-mini_histogram>=0.3.0:devel/rubygem-mini_histogram\
|
||||
rubygem-rack>=1:www/rubygem-rack \
|
||||
rubygem-rake>=10<14:devel/rubygem-rake \
|
||||
rubygem-ruby-statistics>=2.1:devel/rubygem-ruby-statistics \
|
||||
rubygem-thor>=0.19:devel/rubygem-thor \
|
||||
rubygem-unicode_plot>=0.0.4<1.0.0:textproc/rubygem-unicode_plot
|
||||
rubygem-thor>=0.19<2:devel/rubygem-thor
|
||||
|
||||
USES= gem
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1587531991
|
||||
SHA256 (rubygem/derailed_benchmarks-1.7.0.gem) = f94a63c53287926ae4450532c52c35162e992cb687dbb16cf6dc78d9f6df990e
|
||||
SIZE (rubygem/derailed_benchmarks-1.7.0.gem) = 112640
|
||||
TIMESTAMP = 1725697838
|
||||
SHA256 (rubygem/derailed_benchmarks-2.1.2.gem) = eaadc6206ceeb5538ff8f5e04a0023d54ebdd95d04f33e8960fb95a5f189a14f
|
||||
SIZE (rubygem/derailed_benchmarks-2.1.2.gem) = 119296
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
SUBDIR += R-cran-BiocManager
|
||||
SUBDIR += abyss
|
||||
SUBDIR += ad2vcf
|
||||
SUBDIR += andi
|
||||
SUBDIR += artemis
|
||||
SUBDIR += atac-seq
|
||||
SUBDIR += augustus
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= BiocManager
|
||||
DISTVERSION= 1.30.24
|
||||
DISTVERSION= 1.30.25
|
||||
CATEGORIES= biology
|
||||
DISTNAME= ${PORTNAME}_${PORTVERSION}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1725005978
|
||||
SHA256 (BiocManager_1.30.24.tar.gz) = 645c423bb144dbd476cb308678bd36e06c1a3494115f157166dd3f59955ec7d1
|
||||
SIZE (BiocManager_1.30.24.tar.gz) = 593392
|
||||
TIMESTAMP = 1725801036
|
||||
SHA256 (BiocManager_1.30.25.tar.gz) = 83ef8b57dcc7350fe1e8c62590a60d3ad3e1f9c8660930c946b20340a4a81e15
|
||||
SIZE (BiocManager_1.30.25.tar.gz) = 593414
|
||||
|
|
|
|||
32
biology/andi/Makefile
Normal file
32
biology/andi/Makefile
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
PORTNAME= andi
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.14-3
|
||||
DISTVERSIONSUFFIX= -g390af15
|
||||
CATEGORIES= biology devel
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
COMMENT= Efficient estimation of evolutionary distances
|
||||
WWW= https://github.com/EvolBioInf/andi
|
||||
|
||||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
LIB_DEPENDS= libdivsufsort.so:math/libdivsufsort \
|
||||
libgsl.so:math/gsl
|
||||
|
||||
USES= autoreconf gmake localbase pkgconfig
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= EvolBioInf
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
PORTDOCS= *
|
||||
|
||||
PLIST_FILES= bin/andi \
|
||||
share/man/man1/andi.1.gz
|
||||
|
||||
.include <bsd.port.mk>
|
||||
3
biology/andi/distinfo
Normal file
3
biology/andi/distinfo
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1725743879
|
||||
SHA256 (EvolBioInf-andi-v0.14-3-g390af15_GH0.tar.gz) = 7373445abd107bbc7fed2f3f01e3dbc34955089cf0690e26beb16bd4014b39ce
|
||||
SIZE (EvolBioInf-andi-v0.14-3-g390af15_GH0.tar.gz) = 539569
|
||||
4
biology/andi/pkg-descr
Normal file
4
biology/andi/pkg-descr
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
andi is a program for estimating the evolutionary distance between closely
|
||||
related genomes. These distances can be used to rapidly infer phylogenies
|
||||
for big sets of genomes. Because andi does not compute full alignments,
|
||||
it is so efficient that it scales even up to thousands of bacterial genomes.
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= iqtree
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION = 2.3.5
|
||||
DISTVERSION = 2.3.6
|
||||
CATEGORIES= biology
|
||||
|
||||
MAINTAINER= jrm@FreeBSD.org
|
||||
|
|
@ -17,6 +17,7 @@ BROKEN_i386= ld: error: unable to find library -latomic (see bug 230888)
|
|||
BROKEN_powerpc64= fails to build: GCC version must be at least 4.8!
|
||||
|
||||
LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs
|
||||
|
||||
USES= cmake eigen:3
|
||||
USE_GITHUB= yes
|
||||
GH_PROJECT= iqtree2
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
TIMESTAMP = 1719861931
|
||||
SHA256 (iqtree-iqtree2-v2.3.5_GH0.tar.gz) = 8e323e0b7c46e97901d3500f11e810703e0e5d25848188047eca9602d03fa6b1
|
||||
SIZE (iqtree-iqtree2-v2.3.5_GH0.tar.gz) = 6644556
|
||||
TIMESTAMP = 1725465363
|
||||
SHA256 (iqtree-iqtree2-v2.3.6_GH0.tar.gz) = 2d389ea74e19773496363cd68270b341ac7cc47c60e7f32859682403b34744cf
|
||||
SIZE (iqtree-iqtree2-v2.3.6_GH0.tar.gz) = 6644218
|
||||
SHA256 (tothuhien-lsd2-125720d9da1281642053713d9b094d5bff2ce9cf_GH0.tar.gz) = acab6984ceeb1e1c45f87bfb30cadd18c29b48088912e80521e8c875ce33a50b
|
||||
SIZE (tothuhien-lsd2-125720d9da1281642053713d9b094d5bff2ce9cf_GH0.tar.gz) = 592579
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
PORTNAME= libsbml
|
||||
PORTVERSION= 5.20.2
|
||||
PORTVERSION= 5.20.4
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= biology devel
|
||||
|
||||
PATCH_SITES= https://github.com/sbmlteam/libsbml/commit/
|
||||
PATCHFILES= a3e217851f18d3c5e8e2b0082fb98176738491e8.patch:-p1
|
||||
|
||||
MAINTAINER= sunpoet@FreeBSD.org
|
||||
COMMENT= API Library for Working with SBML File
|
||||
WWW= https://sbml.org/software/libsbml/ \
|
||||
|
|
@ -18,6 +15,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING.txt
|
|||
USES= cmake:testing iconv:build pathfix
|
||||
|
||||
CMAKE_OFF= EXIT_ON_ERROR \
|
||||
LIBSBML_SKIP_SHARED_LIBRARY \
|
||||
LIBSBML_SKIP_STATIC_LIBRARY \
|
||||
LIBSBML_USE_STRICT_INCLUDES \
|
||||
PYTHON_USE_API2_WARNINGS \
|
||||
WITH_ALL_PACKAGES \
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
TIMESTAMP = 1718430517
|
||||
SHA256 (sbmlteam-libsbml-v5.20.2_GH0.tar.gz) = a196cab964b0b41164d4118ef20523696510bbfd264a029df00091305a1af540
|
||||
SIZE (sbmlteam-libsbml-v5.20.2_GH0.tar.gz) = 28799745
|
||||
SHA256 (a3e217851f18d3c5e8e2b0082fb98176738491e8.patch) = ba4a19fdce1fae693d75f815c3cae52eebfaa7b0d184105b0bac1b0c14782049
|
||||
SIZE (a3e217851f18d3c5e8e2b0082fb98176738491e8.patch) = 1072
|
||||
TIMESTAMP = 1725559551
|
||||
SHA256 (sbmlteam-libsbml-v5.20.4_GH0.tar.gz) = 02c225d3513e1f5d6e3c0168456f568e67f006eddaab82f09b4bdf0d53d2050e
|
||||
SIZE (sbmlteam-libsbml-v5.20.4_GH0.tar.gz) = 28796139
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
PORTNAME= ncbi-cxx-toolkit
|
||||
DISTVERSIONPREFIX= release-
|
||||
DISTVERSION= 28.0.7
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 28.0.8
|
||||
CATEGORIES= biology science devel
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1722998494
|
||||
SHA256 (ncbi-ncbi-cxx-toolkit-public-release-28.0.7_GH0.tar.gz) = 92e926101809b1752357641a7f9b40d0dbee6e9d66f18fe76198020a58c8d172
|
||||
SIZE (ncbi-ncbi-cxx-toolkit-public-release-28.0.7_GH0.tar.gz) = 57060412
|
||||
TIMESTAMP = 1725762043
|
||||
SHA256 (ncbi-ncbi-cxx-toolkit-public-release-28.0.8_GH0.tar.gz) = 4561886175839f991c66d1008e35a5928073b2a3858ca2ef9de7e2797005af6d
|
||||
SIZE (ncbi-ncbi-cxx-toolkit-public-release-28.0.8_GH0.tar.gz) = 57059075
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= pyrodigal
|
||||
DISTVERSION= 3.5.1
|
||||
DISTVERSION= 3.5.2
|
||||
CATEGORIES= biology python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1721678207
|
||||
SHA256 (pyrodigal-3.5.1.tar.gz) = 20af59a6d968c88910b99d5f647bb7dd22d49e440ead95fe715cdd2c49f36e9f
|
||||
SIZE (pyrodigal-3.5.1.tar.gz) = 2578391
|
||||
TIMESTAMP = 1725511908
|
||||
SHA256 (pyrodigal-3.5.2.tar.gz) = 2a40eb6113e720ada51c326958b295944cdc33ecee9f25d5bad4e9a8e6e6f7f5
|
||||
SIZE (pyrodigal-3.5.2.tar.gz) = 1857311
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ USE_LDCONFIG= ${ALLIANCE_TOP}/lib
|
|||
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
INSTALL_TARGET= install-strip
|
||||
CFLAGS+= -fcommon
|
||||
CFLAGS+= -fcommon \
|
||||
-fpermissive
|
||||
|
||||
CONFLICTS_INSTALL= ocp publib
|
||||
|
||||
|
|
|
|||
11
cad/alliance/files/patch-scr_src_Makefile.am
Normal file
11
cad/alliance/files/patch-scr_src_Makefile.am
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- scr/src/Makefile.am.orig 2024-09-05 09:01:44 UTC
|
||||
+++ scr/src/Makefile.am
|
||||
@@ -3,7 +3,7 @@ AM_YFLAGS = -d
|
||||
AM_YFLAGS = -d
|
||||
|
||||
#CFLAGS = -g -pg -O2
|
||||
-CFLAGS = -g -O2
|
||||
+CFLAGS = -g -O2 -fpermissive
|
||||
#CFLAGS = -O2
|
||||
AM_CFLAGS = @ALLIANCE_CFLAGS@ \
|
||||
-I$(top_srcdir)/mbk/src \
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
PORTNAME= CuraEngine
|
||||
DISTVERSION= 4.13.1
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 5.7.0
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= cad
|
||||
DIST_SUBDIR= Ultimaker
|
||||
|
|
@ -11,28 +10,48 @@ WWW= http://wiki.ultimaker.com/Cura
|
|||
|
||||
LICENSE= AGPLv3
|
||||
|
||||
DEPRECATED= Depends on expired net/libarcus
|
||||
EXPIRATION_DATE=2024-07-31
|
||||
|
||||
BUILD_DEPENDS= ${LOCALBASE}/include/boost/uuid/uuid.hpp:devel/boost-libs \
|
||||
${LOCALBASE}/include/fmt/format.h:devel/libfmt \
|
||||
${LOCALBASE}/include/range/v3/range.hpp:devel/range-v3 \
|
||||
${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson
|
||||
LIB_DEPENDS= libArcus.so:net/libarcus \
|
||||
libprotobuf.so:devel/protobuf
|
||||
libpolyclipping.so:graphics/polyclipping \
|
||||
libprotobuf.so:devel/protobuf \
|
||||
libspdlog.so:devel/spdlog
|
||||
|
||||
USES= compiler:c++11-lang cmake
|
||||
USES= compiler:c++20-lang cmake pkgconfig
|
||||
|
||||
STB_TAG= d5d052c
|
||||
STB_TAG= beebb24
|
||||
SCRIPTA_TAG= c378c83
|
||||
GEOMETRYHPP_TAG=3b1a10e
|
||||
WAGYU_TAG= 0.5.0
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= Ultimaker
|
||||
GH_PROJECT= CuraEngine
|
||||
GH_TUPLE= nothings:stb:${STB_TAG}:stb/include/stb
|
||||
GH_TUPLE= mapbox:geometry.hpp:${GEOMETRYHPP_TAG}:geometryhpp \
|
||||
mapbox:wagyu:${WAGYU_TAG}:wagyu \
|
||||
nothings:stb:${STB_TAG}:stb/include/stb \
|
||||
Ultimaker:Scripta_public:${SCRIPTA_TAG}:Scripta_public
|
||||
|
||||
CMAKE_ARGS+= -DStb_FOUND:BOOL=ON \
|
||||
-DStb_INCLUDE_DIRS=${WRKSRC}/include
|
||||
|
||||
# disable OpenMP as it does not work (at least) on CURRENT.
|
||||
# OpenMP support is planned to be replaced with native thread.
|
||||
# see files/patch-CMakeLists.txt
|
||||
CMAKE_ARGS+= -DUSE_SYSTEM_LIBS:BOOL=ON \
|
||||
-DStb_FOUND:BOOL=ON \
|
||||
-DStb_INCLUDE_DIRS=${WRKSRC}/include/stb
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
WITH_DEBUGINFO= 1 # Will segfault if Release
|
||||
|
||||
PLIST_FILES= bin/CuraEngine
|
||||
|
||||
post-extract:
|
||||
@${MKDIR} ${WRKSRC}/cmake
|
||||
@for f in FindGMock.cmake FindPolyclipping.cmake FindStb.cmake; do \
|
||||
${CP} ${FILESDIR}/$$f ${WRKSRC}/cmake; \
|
||||
done
|
||||
@for f in CMakeLists.txt CPackConfig.cmake; do \
|
||||
${CP} ${FILESDIR}/$$f ${WRKSRC}; \
|
||||
done
|
||||
@${MV} ${WRKDIR}/Scripta_public-${SCRIPTA_TAG}/include/scripta ${WRKSRC}/include
|
||||
@${MV} ${WRKDIR}/geometry.hpp-${GEOMETRYHPP_TAG}/include/mapbox ${WRKSRC}/include
|
||||
@${MV} ${WRKDIR}/wagyu-${WAGYU_TAG}/include/mapbox/geometry/wagyu ${WRKSRC}/include/mapbox/geometry
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
TIMESTAMP = 1645697559
|
||||
SHA256 (Ultimaker/Ultimaker-CuraEngine-4.13.1_GH0.tar.gz) = 283f62326c6072cdcef9d9b84cb8141a6072747f08e1cae6534d08ad85b1c657
|
||||
SIZE (Ultimaker/Ultimaker-CuraEngine-4.13.1_GH0.tar.gz) = 1727935
|
||||
SHA256 (Ultimaker/nothings-stb-d5d052c_GH0.tar.gz) = ce1a6424b43287166a962827d83d98cedcd9d515e69052b17d8a7896f9fb7517
|
||||
SIZE (Ultimaker/nothings-stb-d5d052c_GH0.tar.gz) = 1358441
|
||||
TIMESTAMP = 1713896563
|
||||
SHA256 (Ultimaker/Ultimaker-CuraEngine-5.7.0_GH0.tar.gz) = b0f3ccd1e1813354fdc1ced7bed322033cc846cd07454547328bdb4cb313b00b
|
||||
SIZE (Ultimaker/Ultimaker-CuraEngine-5.7.0_GH0.tar.gz) = 1780860
|
||||
SHA256 (Ultimaker/mapbox-geometry.hpp-3b1a10e_GH0.tar.gz) = 5af2b21a10c18a364f5a7e7a077655514f2708ea5537f592e1edfb3f25f508ee
|
||||
SIZE (Ultimaker/mapbox-geometry.hpp-3b1a10e_GH0.tar.gz) = 19518
|
||||
SHA256 (Ultimaker/mapbox-wagyu-0.5.0_GH0.tar.gz) = 88c41eaba03107ebe79052fdbd66e419e903d331a2616a51849018e13648ab83
|
||||
SIZE (Ultimaker/mapbox-wagyu-0.5.0_GH0.tar.gz) = 822342
|
||||
SHA256 (Ultimaker/nothings-stb-beebb24_GH0.tar.gz) = f617df64be72137bfc680675a3e0bb9532bc89dbb1facca551885efa6d5f449e
|
||||
SIZE (Ultimaker/nothings-stb-beebb24_GH0.tar.gz) = 1506973
|
||||
SHA256 (Ultimaker/Ultimaker-Scripta_public-c378c83_GH0.tar.gz) = 1c21e1fefd661dd93445d0cfcfb9eaac89c10bd855b7914830c6c8b1a9b17287
|
||||
SIZE (Ultimaker/Ultimaker-Scripta_public-c378c83_GH0.tar.gz) = 16918
|
||||
|
|
|
|||
419
cad/cura-engine/files/CMakeLists.txt
Normal file
419
cad/cura-engine/files/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,419 @@
|
|||
#Copyright (c) 2020 Ultimaker B.V.
|
||||
#CuraEngine is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
cmake_minimum_required(VERSION 3.8.0)
|
||||
|
||||
project(CuraEngine)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
option(ENABLE_ARCUS "Enable support for ARCUS" ON)
|
||||
|
||||
if (MSVC)
|
||||
option(MSVC_STATIC_RUNTIME "Link the MSVC runtime statically" OFF)
|
||||
endif()
|
||||
|
||||
if(ENABLE_ARCUS)
|
||||
message(STATUS "Building with Arcus")
|
||||
# We want to have access to protobuf_generate_cpp and other FindProtobuf features.
|
||||
# However, if ProtobufConfig is used instead, there is a CMake option that controls
|
||||
# this, which defaults to OFF. We need to force this option to ON instead.
|
||||
set(protobuf_MODULE_COMPATIBLE ON CACHE INTERNAL "" FORCE)
|
||||
find_package(Protobuf 3.0.0 REQUIRED)
|
||||
find_package(Arcus REQUIRED)
|
||||
add_definitions(-DARCUS)
|
||||
find_program(PROTOC "protoc")
|
||||
if(${PROTOC} STREQUAL "PROTOC-NOTFOUND")
|
||||
message(FATAL_ERROR "Protobuf compiler missing")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#For reading image files.
|
||||
find_package(Stb REQUIRED)
|
||||
include_directories(${Stb_INCLUDE_DIRS})
|
||||
|
||||
option(USE_SYSTEM_LIBS "Use the system libraries if available" OFF)
|
||||
if(USE_SYSTEM_LIBS)
|
||||
find_package(RapidJSON CONFIG REQUIRED)
|
||||
find_package(Polyclipping REQUIRED)
|
||||
endif()
|
||||
|
||||
# convert build type to upper case letters
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
|
||||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG_INIT}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE_INIT}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||
endif()
|
||||
|
||||
OPTION(SET_RPATH ON)
|
||||
|
||||
if(SET_RPATH)
|
||||
if(NOT DEFINED LIB_SUFFIX)
|
||||
set(LIB_SUFFIX "")
|
||||
endif()
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
|
||||
endif()
|
||||
|
||||
set(CURA_ENGINE_VERSION "master" CACHE STRING "Version name of Cura")
|
||||
|
||||
option(BUILD_TESTS OFF)
|
||||
|
||||
# Add a compiler flag to check the output for insane values if we are in debug mode.
|
||||
if(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG" OR CMAKE_BUILD_TYPE_UPPER MATCHES "RELWITHDEBINFO")
|
||||
message(STATUS "Building debug release of CuraEngine.")
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -O0 -g -fno-omit-frame-pointer")
|
||||
endif()
|
||||
add_definitions(-DASSERT_INSANE_OUTPUT)
|
||||
add_definitions(-DUSE_CPU_TIME)
|
||||
add_definitions(-DDEBUG)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /permissive- /Zc:twoPhase- /EHsc /W3")
|
||||
if (MSVC_STATIC_RUNTIME)
|
||||
foreach(flag_var
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
if(${flag_var} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") # Add warnings
|
||||
endif()
|
||||
|
||||
option (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS
|
||||
"Enable more optimization flags" ON)
|
||||
if (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS AND NOT (CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG"))
|
||||
message (STATUS "Compile with more optimization flags")
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /fp:fast")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -Ofast -funroll-loops")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
#if(NOT APPLE AND NOT WIN32)
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++")
|
||||
#endif()
|
||||
|
||||
if (WIN32)
|
||||
add_definitions(-DNOMINMAX)
|
||||
endif()
|
||||
|
||||
add_definitions(-DSPDLOG_FMT_EXTERNAL)
|
||||
|
||||
option (ENABLE_OPENMP
|
||||
"Use OpenMP for parallel code" ON)
|
||||
|
||||
if (ENABLE_OPENMP)
|
||||
FIND_PACKAGE( OpenMP )
|
||||
if( OPENMP_FOUND )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_SYSTEM_LIBS)
|
||||
include_directories(${Polyclipping_INCLUDE_DIRS} "${CMAKE_BINARY_DIR}" ${RAPIDJSON_INCLUDE_DIRS} include)
|
||||
else()
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}" libs libs/clipper include)
|
||||
add_library(clipper STATIC libs/clipper/clipper.cpp)
|
||||
endif()
|
||||
|
||||
set(engine_SRCS # Except main.cpp.
|
||||
src/Application.cpp
|
||||
src/ConicalOverhang.cpp
|
||||
src/ExtruderPlan.cpp
|
||||
src/ExtruderTrain.cpp
|
||||
src/FffGcodeWriter.cpp
|
||||
src/FffPolygonGenerator.cpp
|
||||
src/FffProcessor.cpp
|
||||
src/GCodePathConfig.cpp
|
||||
src/InsetOrderOptimizer.cpp
|
||||
src/InterlockingGenerator.cpp
|
||||
src/LayerPlan.cpp
|
||||
src/LayerPlanBuffer.cpp
|
||||
src/MeshGroup.cpp
|
||||
src/Mold.cpp
|
||||
src/PathOrderPath.cpp
|
||||
src/Preheat.cpp
|
||||
src/PrimeTower.cpp
|
||||
src/Scene.cpp
|
||||
src/SkeletalTrapezoidation.cpp
|
||||
src/SkeletalTrapezoidationGraph.cpp
|
||||
src/SkirtBrim.cpp
|
||||
src/Slice.cpp
|
||||
src/SupportInfillPart.cpp
|
||||
src/TopSurface.cpp
|
||||
src/TreeModelVolumes.cpp
|
||||
src/TreeSupport.cpp
|
||||
src/TreeSupportTipGenerator.cpp
|
||||
src/WallToolPaths.cpp
|
||||
src/WallsComputation.cpp
|
||||
src/bridge.cpp
|
||||
src/gcodeExport.cpp
|
||||
src/infill.cpp
|
||||
src/layerPart.cpp
|
||||
src/main.cpp
|
||||
src/mesh.cpp
|
||||
src/multiVolumes.cpp
|
||||
src/raft.cpp
|
||||
src/skin.cpp
|
||||
src/sliceDataStorage.cpp
|
||||
src/slicer.cpp
|
||||
src/support.cpp
|
||||
src/timeEstimate.cpp
|
||||
|
||||
src/BeadingStrategy/BeadingStrategy.cpp
|
||||
src/BeadingStrategy/BeadingStrategyFactory.cpp
|
||||
src/BeadingStrategy/DistributedBeadingStrategy.cpp
|
||||
src/BeadingStrategy/LimitedBeadingStrategy.cpp
|
||||
src/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp
|
||||
src/BeadingStrategy/RedistributeBeadingStrategy.cpp
|
||||
src/BeadingStrategy/WideningBeadingStrategy.cpp
|
||||
|
||||
src/communication/ArcusCommunication.cpp
|
||||
src/communication/ArcusCommunicationPrivate.cpp
|
||||
src/communication/CommandLine.cpp
|
||||
src/communication/Listener.cpp
|
||||
|
||||
src/infill/GyroidInfill.cpp
|
||||
src/infill/ImageBasedDensityProvider.cpp
|
||||
src/infill/LightningDistanceField.cpp
|
||||
src/infill/LightningGenerator.cpp
|
||||
src/infill/LightningLayer.cpp
|
||||
src/infill/LightningTreeNode.cpp
|
||||
src/infill/NoZigZagConnectorProcessor.cpp
|
||||
src/infill/SierpinskiFill.cpp
|
||||
src/infill/SierpinskiFillProvider.cpp
|
||||
src/infill/SubDivCube.cpp
|
||||
src/infill/ZigzagConnectorProcessor.cpp
|
||||
|
||||
src/pathPlanning/Comb.cpp
|
||||
src/pathPlanning/GCodePath.cpp
|
||||
src/pathPlanning/LinePolygonsCrossings.cpp
|
||||
src/pathPlanning/NozzleTempInsert.cpp
|
||||
src/pathPlanning/SpeedDerivatives.cpp
|
||||
|
||||
src/progress/Progress.cpp
|
||||
src/progress/ProgressStageEstimator.cpp
|
||||
|
||||
src/settings/AdaptiveLayerHeights.cpp
|
||||
src/settings/FlowTempGraph.cpp
|
||||
src/settings/MeshPathConfigs.cpp
|
||||
src/settings/PathConfigStorage.cpp
|
||||
src/settings/Settings.cpp
|
||||
src/settings/ZSeamConfig.cpp
|
||||
|
||||
src/utils/AABB.cpp
|
||||
src/utils/AABB3D.cpp
|
||||
src/utils/Date.cpp
|
||||
src/utils/ExtrusionJunction.cpp
|
||||
src/utils/ExtrusionLine.cpp
|
||||
src/utils/ExtrusionSegment.cpp
|
||||
src/utils/LinearAlg2D.cpp
|
||||
src/utils/ListPolyIt.cpp
|
||||
src/utils/Matrix4x3D.cpp
|
||||
src/utils/MinimumSpanningTree.cpp
|
||||
src/utils/Point3LL.cpp
|
||||
src/utils/PolygonConnector.cpp
|
||||
src/utils/PolygonsPointIndex.cpp
|
||||
src/utils/PolygonsSegmentIndex.cpp
|
||||
src/utils/PolylineStitcher.cpp
|
||||
src/utils/SVG.cpp
|
||||
src/utils/Simplify.cpp
|
||||
src/utils/SquareGrid.cpp
|
||||
src/utils/ThreadPool.cpp
|
||||
src/utils/ToolpathVisualizer.cpp
|
||||
src/utils/VoronoiUtils.cpp
|
||||
src/utils/VoxelUtils.cpp
|
||||
src/utils/channel.cpp
|
||||
src/utils/gettime.cpp
|
||||
src/utils/polygon.cpp
|
||||
src/utils/polygonUtils.cpp
|
||||
)
|
||||
|
||||
# List of tests. For each test there must be a file tests/${NAME}.cpp.
|
||||
set(engine_TEST
|
||||
GCodeExportTest
|
||||
InfillTest
|
||||
LayerPlanTest
|
||||
MergeInfillLinesTest
|
||||
PathOrderMonotonicTest
|
||||
TimeEstimateCalculatorTest
|
||||
)
|
||||
set(engine_TEST_INTEGRATION
|
||||
SlicePhaseTest
|
||||
)
|
||||
set(engine_TEST_SETTINGS
|
||||
SettingsTest
|
||||
)
|
||||
if (ENABLE_ARCUS)
|
||||
set(engine_TEST_ARCUS
|
||||
ArcusCommunicationTest
|
||||
ArcusCommunicationPrivateTest
|
||||
)
|
||||
endif ()
|
||||
set(engine_TEST_UTILS
|
||||
AABBTest
|
||||
AABB3DTest
|
||||
IntPointTest
|
||||
LinearAlg2DTest
|
||||
MinimumSpanningTreeTest
|
||||
PolygonConnectorTest
|
||||
PolygonTest
|
||||
PolygonUtilsTest
|
||||
SparseGridTest
|
||||
StringTest
|
||||
UnionFindTest
|
||||
)
|
||||
|
||||
# Helper classes for some tests.
|
||||
set(engine_TEST_ARCUS_HELPERS
|
||||
tests/arcus/MockSocket.cpp
|
||||
)
|
||||
set(engine_TEST_HELPERS
|
||||
tests/ReadTestPolygons.cpp
|
||||
)
|
||||
|
||||
# Generating ProtoBuf protocol
|
||||
if (ENABLE_ARCUS)
|
||||
protobuf_generate_cpp(engine_PB_SRCS engine_PB_HEADERS Cura.proto)
|
||||
endif ()
|
||||
|
||||
# Compiling CuraEngine itself.
|
||||
add_library(_CuraEngine STATIC ${engine_SRCS} ${engine_PB_SRCS}) #First compile all of CuraEngine as library, allowing this to be re-used for tests.
|
||||
|
||||
if (CuraEngine_Download_Stb)
|
||||
add_dependencies(_CuraEngine stb)
|
||||
endif()
|
||||
if(USE_SYSTEM_LIBS)
|
||||
target_link_libraries(_CuraEngine ${Polyclipping_LIBRARIES})
|
||||
else()
|
||||
target_link_libraries(_CuraEngine clipper)
|
||||
endif()
|
||||
|
||||
if (ENABLE_ARCUS)
|
||||
target_link_libraries(_CuraEngine Arcus)
|
||||
endif ()
|
||||
|
||||
target_link_libraries(_CuraEngine fmt absl_log_internal_message absl_log_internal_check_op)
|
||||
|
||||
set_target_properties(_CuraEngine PROPERTIES COMPILE_DEFINITIONS "VERSION=\"${CURA_ENGINE_VERSION}\"")
|
||||
|
||||
if(WIN32)
|
||||
message(STATUS "Using windres")
|
||||
set(RES_FILES "CuraEngine.rc")
|
||||
ENABLE_LANGUAGE(RC)
|
||||
if(NOT MSVC)
|
||||
SET(CMAKE_RC_COMPILER_INIT windres)
|
||||
SET(CMAKE_RC_COMPILE_OBJECT
|
||||
"<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>"
|
||||
)
|
||||
endif()
|
||||
endif(WIN32)
|
||||
|
||||
if (UNIX)
|
||||
target_link_libraries(_CuraEngine pthread)
|
||||
endif()
|
||||
|
||||
if (NOT WIN32)
|
||||
add_executable(CuraEngine src/main.cpp) # Then compile main.cpp as separate executable, and link the library to it.
|
||||
else()
|
||||
add_executable(CuraEngine src/main.cpp ${RES_FILES}) # ..., but don't forget the glitter!
|
||||
endif(NOT WIN32)
|
||||
|
||||
target_link_libraries(CuraEngine _CuraEngine)
|
||||
set_target_properties(CuraEngine PROPERTIES COMPILE_DEFINITIONS "VERSION=\"${CURA_ENGINE_VERSION}\"")
|
||||
|
||||
# Compiling the test environment.
|
||||
if (BUILD_TESTS)
|
||||
include(CTest)
|
||||
|
||||
message(STATUS "Building tests...")
|
||||
set(GTEST_USE_STATIC_LIBS true)
|
||||
set(GMOCK_ROOT "${CMAKE_CURRENT_BINARY_DIR}/gmock")
|
||||
set(GMOCK_VER "1.8.0")
|
||||
find_package(GMock REQUIRED)
|
||||
include_directories(${GTEST_INCLUDE_DIRS})
|
||||
include_directories(${GMOCK_INCLUDE_DIRS})
|
||||
add_dependencies(_CuraEngine GTest::GTest GTest::Main GMock::GMock GMock::Main)
|
||||
add_definitions(-DBUILD_TESTS)
|
||||
|
||||
target_compile_definitions(_CuraEngine PUBLIC BUILD_TESTS=1)
|
||||
|
||||
#To make sure that the tests are built before running them, add the building of these tests as an additional test.
|
||||
add_custom_target(build_all_tests)
|
||||
add_test(BuildTests "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}" --target build_all_tests)
|
||||
|
||||
foreach (test ${engine_TEST})
|
||||
add_executable(${test} tests/main.cpp ${engine_TEST_HELPERS} tests/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_INFILL})
|
||||
add_executable(${test} tests/main.cpp tests/infill/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_INTEGRATION})
|
||||
add_executable(${test} tests/main.cpp tests/integration/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_SETTINGS})
|
||||
add_executable(${test} tests/main.cpp tests/settings/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
if (ENABLE_ARCUS)
|
||||
foreach (test ${engine_TEST_ARCUS})
|
||||
add_executable(${test} tests/main.cpp ${engine_TEST_ARCUS_HELPERS} tests/arcus/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
endif ()
|
||||
foreach (test ${engine_TEST_UTILS})
|
||||
add_executable(${test} tests/main.cpp tests/utils/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Installing CuraEngine.
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS CuraEngine DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
# For MinGW64 cross compiling on Debian, we create a ZIP package instead of a DEB
|
||||
# Because it's the Windows build system that should install the files.
|
||||
if (CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
message(STATUS "Include MinGW64 posix DLLs for installation.")
|
||||
install(FILES
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libgcc_s_seh-1.dll
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libgomp-1.dll
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libstdc++-6.dll
|
||||
DESTINATION bin
|
||||
COMPONENT runtime)
|
||||
endif ()
|
||||
include(CPackConfig.cmake)
|
||||
20
cad/cura-engine/files/CPackConfig.cmake
Normal file
20
cad/cura-engine/files/CPackConfig.cmake
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
set(CPACK_PACKAGE_VENDOR "Ultimaker")
|
||||
set(CPACK_PACKAGE_CONTACT "Arjen Hiemstra <a.hiemstra@ultimaker.com>")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Cura Engine")
|
||||
set(CPACK_PACKAGE_VERSION "15.05.90")
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
if(NOT DEFINED CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
|
||||
execute_process(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
set(DEB_DEPENDS
|
||||
"arcus (>= 15.05.90)"
|
||||
"protobuf (>= 3.0.0)"
|
||||
"libstdc++6 (>= 4.9.0)"
|
||||
"libgcc1 (>= 4.9.0)"
|
||||
)
|
||||
string(REPLACE ";" ", " DEB_DEPENDS "${DEB_DEPENDS}")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEB_DEPENDS})
|
||||
|
||||
include(CPack)
|
||||
515
cad/cura-engine/files/FindGMock.cmake
Normal file
515
cad/cura-engine/files/FindGMock.cmake
Normal file
|
|
@ -0,0 +1,515 @@
|
|||
# Get the Google C++ Mocking Framework.
|
||||
# (This file is almost an copy of the original FindGTest.cmake file,
|
||||
# altered to download and compile GMock and GTest if not found
|
||||
# in GMOCK_ROOT or GTEST_ROOT respectively,
|
||||
# feel free to use it as it is or modify it for your own needs.)
|
||||
#
|
||||
# Defines the following variables:
|
||||
#
|
||||
# GMOCK_FOUND - Found or got the Google Mocking framework
|
||||
# GTEST_FOUND - Found or got the Google Testing framework
|
||||
# GMOCK_INCLUDE_DIRS - GMock include directory
|
||||
# GTEST_INCLUDE_DIRS - GTest include direcotry
|
||||
#
|
||||
# Also defines the library variables below as normal variables
|
||||
#
|
||||
# GMOCK_BOTH_LIBRARIES - Both libgmock & libgmock_main
|
||||
# GMOCK_LIBRARIES - libgmock
|
||||
# GMOCK_MAIN_LIBRARIES - libgmock-main
|
||||
#
|
||||
# GTEST_BOTH_LIBRARIES - Both libgtest & libgtest_main
|
||||
# GTEST_LIBRARIES - libgtest
|
||||
# GTEST_MAIN_LIBRARIES - libgtest_main
|
||||
#
|
||||
# Accepts the following variables as input:
|
||||
#
|
||||
# GMOCK_ROOT - The root directory of the gmock install prefix
|
||||
# GTEST_ROOT - The root directory of the gtest install prefix
|
||||
# GMOCK_SRC_DIR -The directory of the gmock sources
|
||||
# GMOCK_VER - The version of the gmock sources to be downloaded
|
||||
#
|
||||
#-----------------------
|
||||
# Example Usage:
|
||||
#
|
||||
# set(GMOCK_ROOT "~/gmock")
|
||||
# find_package(GMock REQUIRED)
|
||||
# include_directories(${GMOCK_INCLUDE_DIRS})
|
||||
#
|
||||
# add_executable(foo foo.cc)
|
||||
# target_link_libraries(foo ${GMOCK_BOTH_LIBRARIES})
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright (c) 2016 Michel Estermann
|
||||
# Copyright (c) 2016 Kamil Strzempowicz
|
||||
# Copyright (c) 2011 Matej Svec
|
||||
#
|
||||
# CMake - Cross Platform Makefile Generator
|
||||
# Copyright 2000-2016 Kitware, Inc.
|
||||
# Copyright 2000-2011 Insight Software Consortium
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * Neither the names of Kitware, Inc., the Insight Software Consortium,
|
||||
# nor the names of their contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
#
|
||||
# The above copyright and license notice applies to distributions of
|
||||
# CMake in source and binary form. Some source files contain additional
|
||||
# notices of original copyright by their contributors; see each source
|
||||
# for details. Third-party software packages supplied with CMake under
|
||||
# compatible licenses provide their own copyright notices documented in
|
||||
# corresponding subdirectories.
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
#
|
||||
# CMake was initially developed by Kitware with the following sponsorship:
|
||||
#
|
||||
# * National Library of Medicine at the National Institutes of Health
|
||||
# as part of the Insight Segmentation and Registration Toolkit (ITK).
|
||||
#
|
||||
# * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
|
||||
# Visualization Initiative.
|
||||
#
|
||||
# * National Alliance for Medical Image Computing (NAMIC) is funded by the
|
||||
# National Institutes of Health through the NIH Roadmap for Medical Research,
|
||||
# Grant U54 EB005149.
|
||||
#
|
||||
# * Kitware, Inc.
|
||||
#=============================================================================
|
||||
# Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code
|
||||
|
||||
function(gtest_add_tests executable extra_args)
|
||||
if(NOT ARGN)
|
||||
message(FATAL_ERROR "Missing ARGN: Read the documentation for GTEST_ADD_TESTS")
|
||||
endif()
|
||||
if(ARGN STREQUAL "AUTO")
|
||||
# obtain sources used for building that executable
|
||||
get_property(ARGN TARGET ${executable} PROPERTY SOURCES)
|
||||
endif()
|
||||
set(gtest_case_name_regex ".*\\( *([A-Za-z_0-9]+) *, *([A-Za-z_0-9]+) *\\).*")
|
||||
set(gtest_test_type_regex "(TYPED_TEST|TEST_?[FP]?)")
|
||||
foreach(source ${ARGN})
|
||||
file(READ "${source}" contents)
|
||||
string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
|
||||
foreach(hit ${found_tests})
|
||||
string(REGEX MATCH "${gtest_test_type_regex}" test_type ${hit})
|
||||
|
||||
# Parameterized tests have a different signature for the filter
|
||||
if("x${test_type}" STREQUAL "xTEST_P")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "*/\\1.\\2/*" test_name ${hit})
|
||||
elseif("x${test_type}" STREQUAL "xTEST_F" OR "x${test_type}" STREQUAL "xTEST")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "\\1.\\2" test_name ${hit})
|
||||
elseif("x${test_type}" STREQUAL "xTYPED_TEST")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "\\1/*.\\2" test_name ${hit})
|
||||
else()
|
||||
message(WARNING "Could not parse GTest ${hit} for adding to CTest.")
|
||||
continue()
|
||||
endif()
|
||||
add_test(NAME ${test_name} COMMAND ${executable} --gtest_filter=${test_name} ${extra_args})
|
||||
endforeach()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(_append_debugs _endvar _library)
|
||||
if(${_library} AND ${_library}_DEBUG)
|
||||
set(_output optimized ${${_library}} debug ${${_library}_DEBUG})
|
||||
else()
|
||||
set(_output ${${_library}})
|
||||
endif()
|
||||
set(${_endvar} ${_output} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(_gmock_find_library _name)
|
||||
find_library(${_name}
|
||||
NAMES ${ARGN}
|
||||
HINTS
|
||||
ENV GMOCK_ROOT
|
||||
${GMOCK_ROOT}
|
||||
PATH_SUFFIXES ${_gmock_libpath_suffixes}
|
||||
)
|
||||
mark_as_advanced(${_name})
|
||||
endfunction()
|
||||
|
||||
function(_gtest_find_library _name)
|
||||
find_library(${_name}
|
||||
NAMES ${ARGN}
|
||||
HINTS
|
||||
ENV GTEST_ROOT
|
||||
${GTEST_ROOT}
|
||||
PATH_SUFFIXES ${_gtest_libpath_suffixes}
|
||||
)
|
||||
mark_as_advanced(${_name})
|
||||
endfunction()
|
||||
|
||||
if(NOT DEFINED GMOCK_MSVC_SEARCH)
|
||||
set(GMOCK_MSVC_SEARCH MD)
|
||||
endif()
|
||||
|
||||
set(_gmock_libpath_suffixes lib)
|
||||
set(_gtest_libpath_suffixes lib)
|
||||
if(MSVC)
|
||||
if(GMOCK_MSVC_SEARCH STREQUAL "MD")
|
||||
list(APPEND _gmock_libpath_suffixes
|
||||
msvc/gmock-md/Debug
|
||||
msvc/gmock-md/Release)
|
||||
list(APPEND _gtest_libpath_suffixes
|
||||
msvc/gtest-md/Debug
|
||||
msvc/gtest-md/Release)
|
||||
elseif(GMOCK_MSVC_SEARCH STREQUAL "MT")
|
||||
list(APPEND _gmock_libpath_suffixes
|
||||
msvc/gmock/Debug
|
||||
msvc/gmock/Release)
|
||||
list(APPEND _gtest_libpath_suffixes
|
||||
msvc/gtest/Debug
|
||||
msvc/gtest/Release)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_path(GMOCK_INCLUDE_DIR gmock/gmock.h
|
||||
HINTS
|
||||
$ENV{GMOCK_ROOT}/include
|
||||
${GMOCK_ROOT}/include
|
||||
)
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
|
||||
find_path(GTEST_INCLUDE_DIR gtest/gtest.h
|
||||
HINTS
|
||||
$ENV{GTEST_ROOT}/include
|
||||
${GTEST_ROOT}/include
|
||||
)
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
|
||||
if(MSVC AND GMOCK_MSVC_SEARCH STREQUAL "MD")
|
||||
# The provided /MD project files for Google Mock add -md suffixes to the
|
||||
# library names.
|
||||
_gmock_find_library(GMOCK_LIBRARY gmock-md gmock)
|
||||
_gmock_find_library(GMOCK_LIBRARY_DEBUG gmock-mdd gmockd)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main-md gmock_main)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_main-mdd gmock_maind)
|
||||
|
||||
_gtest_find_library(GTEST_LIBRARY gtest-md gtest)
|
||||
_gtest_find_library(GTEST_LIBRARY_DEBUG gtest-mdd gtestd)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main-md gtest_main)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
|
||||
else()
|
||||
_gmock_find_library(GMOCK_LIBRARY gmock)
|
||||
_gmock_find_library(GMOCK_LIBRARY_DEBUG gmockd)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_maind)
|
||||
|
||||
_gtest_find_library(GTEST_LIBRARY gtest)
|
||||
_gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GTest::GTest)
|
||||
add_library(GTest::GTest UNKNOWN IMPORTED)
|
||||
endif()
|
||||
if(NOT TARGET GTest::Main)
|
||||
add_library(GTest::Main UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GMock::GMock)
|
||||
add_library(GMock::GMock UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GMock::Main)
|
||||
add_library(GMock::Main UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
set(GMOCK_LIBRARY_EXISTS OFF)
|
||||
set(GTEST_LIBRARY_EXISTS OFF)
|
||||
|
||||
if(EXISTS "${GMOCK_LIBRARY}" OR EXISTS "${GMOCK_LIBRARY_DEBUG}" AND GMOCK_INCLUDE_DIR)
|
||||
set(GMOCK_LIBRARY_EXISTS ON)
|
||||
endif()
|
||||
|
||||
if(EXISTS "${GTEST_LIBRARY}" OR EXISTS "${GTEST_LIBRARY_DEBUG}" AND GTEST_INCLUDE_DIR)
|
||||
set(GTEST_LIBRARY_EXISTS ON)
|
||||
endif()
|
||||
|
||||
if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
if(GTEST_USE_STATIC_LIBS)
|
||||
set(GTEST_CMAKE_ARGS -Dgtest_force_shared_crt:BOOL=ON -DBUILD_SHARED_LIBS=OFF)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND GTEST_CMAKE_ARGS
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-Dgtest_hide_internal_symbols=ON
|
||||
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
|
||||
-DCMAKE_VISIBILITY_INLINES_HIDDEN=ON
|
||||
-DCMAKE_POLICY_DEFAULT_CMP0063=NEW
|
||||
)
|
||||
endif()
|
||||
set(GTEST_LIBRARY_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
|
||||
else()
|
||||
set(GTEST_CMAKE_ARGS -DBUILD_SHARED_LIBS=ON)
|
||||
set(GTEST_LIBRARY_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
|
||||
endif()
|
||||
if(WIN32)
|
||||
list(APPEND GTEST_CMAKE_ARGS -Dgtest_disable_pthreads=ON)
|
||||
endif()
|
||||
|
||||
if("${GMOCK_SRC_DIR}" STREQUAL "")
|
||||
message(STATUS "Downloading GMock / GTest version ${GMOCK_VER} from git")
|
||||
if("${GMOCK_VER}" STREQUAL "1.6.0" OR "${GMOCK_VER}" STREQUAL "1.7.0")
|
||||
set(GTEST_BIN_DIR "${GMOCK_ROOT}/src/gtest-build")
|
||||
set(GTEST_LIBRARY "${GTEST_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GTEST_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gtest
|
||||
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR ${GTEST_BIN_DIR}
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
GIT_REPOSITORY "https://github.com/google/googlemock.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR ${GMOCK_BIN_DIR}
|
||||
BUILD_BYPRODUCTS
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(gmock gtest)
|
||||
|
||||
add_dependencies(GTest::GTest gtest)
|
||||
add_dependencies(GTest::Main gtest)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
|
||||
externalproject_get_property(gtest source_dir)
|
||||
set(GTEST_INCLUDE_DIR "${source_dir}/include")
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
externalproject_get_property(gmock source_dir)
|
||||
set(GMOCK_INCLUDE_DIR "${source_dir}/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
else() #1.8.0
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GTEST_LIBRARY "${GMOCK_BIN_DIR}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GMOCK_BIN_DIR}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR "${GMOCK_BIN_DIR}"
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(GTest::GTest gmock)
|
||||
add_dependencies(GTest::Main gmock)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
|
||||
externalproject_get_property(gmock source_dir)
|
||||
set(GTEST_INCLUDE_DIR "${source_dir}/googletest/include")
|
||||
set(GMOCK_INCLUDE_DIR "${source_dir}/googlemock/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
# Prevent CMake from complaining about these directories missing when the libgtest/libgmock targets get used as dependencies
|
||||
file(MAKE_DIRECTORY ${GTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR})
|
||||
else()
|
||||
message(STATUS "Building Gmock / Gtest from dir ${GMOCK_SRC_DIR}")
|
||||
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GTEST_LIBRARY "${GMOCK_BIN_DIR}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GMOCK_BIN_DIR}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
if(EXISTS "${GMOCK_SRC_DIR}/gtest/include/gtest/gtest.h")
|
||||
set(GTEST_INCLUDE_DIR "${GMOCK_SRC_DIR}/gtest/include")
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
endif()
|
||||
if(EXISTS "${GMOCK_SRC_DIR}/include/gmock/gmock.h")
|
||||
set(GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
elseif(EXISTS "${GMOCK_SRC_DIR}/../../include/gmock/gmock.h")
|
||||
set(GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/../../include")
|
||||
if(IS_ABSOLUTE "${GMOCK_INCLUDE_DIR}")
|
||||
get_filename_component(GMOCK_INCLUDE_DIR "${GMOCK_INCLUDE_DIR}" ABSOLUTE)
|
||||
endif()
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
SOURCE_DIR ${GMOCK_SRC_DIR}
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR "${GMOCK_BIN_DIR}"
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(GTest::GTest gmock)
|
||||
add_dependencies(GTest::Main gmock)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
|
||||
find_package_handle_standard_args(GMock DEFAULT_MSG GMOCK_LIBRARY GMOCK_INCLUDE_DIR GMOCK_MAIN_LIBRARY)
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(Threads)
|
||||
|
||||
set_target_properties(GTest::GTest PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GTEST_LIBRARY}"
|
||||
)
|
||||
|
||||
if(GTEST_INCLUDE_DIR)
|
||||
set_target_properties(GTest::GTest PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
set_target_properties(GTest::Main PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "GTest::GTest"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GTEST_MAIN_LIBRARY}")
|
||||
|
||||
set_target_properties(GMock::GMock PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GMOCK_LIBRARY}")
|
||||
|
||||
if(GMOCK_INCLUDE_DIR)
|
||||
set_target_properties(GMock::GMock PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
|
||||
)
|
||||
if(GMOCK_VER VERSION_LESS "1.7")
|
||||
# GMock 1.6 still has GTest as an external link-time dependency,
|
||||
# so just specify it on the link interface.
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES GTest::GTest)
|
||||
elseif(GTEST_INCLUDE_DIR)
|
||||
# GMock 1.7 and beyond doesn't have it as a link-time dependency anymore,
|
||||
# so merge it's compile-time interface (include dirs) with ours.
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_target_properties(GMock::Main PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "GMock::GMock"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GMOCK_MAIN_LIBRARY}")
|
||||
|
||||
if(GTEST_FOUND)
|
||||
set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
|
||||
set(GTEST_LIBRARIES GTest::GTest)
|
||||
set(GTEST_MAIN_LIBRARIES GTest::Main)
|
||||
set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
|
||||
if(VERBOSE)
|
||||
message(STATUS "GTest includes: ${GTEST_INCLUDE_DIRS}")
|
||||
message(STATUS "GTest libs: ${GTEST_BOTH_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(GMOCK_FOUND)
|
||||
set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR})
|
||||
set(GMOCK_LIBRARIES GMock::GMock)
|
||||
set(GMOCK_MAIN_LIBRARIES GMock::Main)
|
||||
set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARIES} ${GMOCK_MAIN_LIBRARIES})
|
||||
if(VERBOSE)
|
||||
message(STATUS "GMock includes: ${GMOCK_INCLUDE_DIRS}")
|
||||
message(STATUS "GMock libs: ${GMOCK_BOTH_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
67
cad/cura-engine/files/FindPolyclipping.cmake
Normal file
67
cad/cura-engine/files/FindPolyclipping.cmake
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
#
|
||||
# - Try to find the polyclipping library
|
||||
# this will define
|
||||
#
|
||||
# Polyclipping_FOUND - polyclipping was found
|
||||
# Polyclipping_INCLUDE_DIRS - the polyclipping include directory
|
||||
# Polyclipping_LIBRARIES - The libraries needed to use polyclipping
|
||||
# Polyclipping_VERSION - The polyclipping library version
|
||||
|
||||
#=============================================================================
|
||||
# Copyright (c) 2017 Christophe Giboudeaux <christophe@krop.fr>
|
||||
#
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_Polyclipping QUIET polyclipping)
|
||||
|
||||
find_path(Polyclipping_INCLUDE_DIRS
|
||||
NAMES clipper.hpp
|
||||
HINTS ${PC_Polyclipping_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_library(Polyclipping_LIBRARIES
|
||||
NAMES polyclipping
|
||||
HINTS ${PC_Polyclipping_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if(EXISTS ${Polyclipping_INCLUDE_DIRS}/clipper.hpp)
|
||||
file(READ ${Polyclipping_INCLUDE_DIRS}/clipper.hpp CLIPPER_H_CONTENT)
|
||||
string(REGEX MATCH "#define CLIPPER_VERSION[ ]+\"[0-9]+.[0-9]+.[0-9]+\"" CLIPPER_H_VERSION_MATCH ${CLIPPER_H_CONTENT})
|
||||
string(REGEX REPLACE "^.*CLIPPER_VERSION[ ]+\"([0-9]+.[0-9]+.[0-9]+).*$" "\\1" Polyclipping_VERSION "${CLIPPER_H_VERSION_MATCH}")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(Polyclipping
|
||||
FOUND_VAR Polyclipping_FOUND
|
||||
REQUIRED_VARS Polyclipping_LIBRARIES Polyclipping_INCLUDE_DIRS
|
||||
VERSION_VAR Polyclipping_VERSION
|
||||
)
|
||||
|
||||
mark_as_advanced(Polyclipping_LIBRARIES Polyclipping_INCLUDE_DIRS Polyclipping_VERSION)
|
||||
|
||||
69
cad/cura-engine/files/FindStb.cmake
Normal file
69
cad/cura-engine/files/FindStb.cmake
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
## Finds the Stb utility library on your computer.
|
||||
#
|
||||
# If Stb is not found on your computer, this script also gives the option to
|
||||
# download the library and build it from source.
|
||||
#
|
||||
# This script exports the following parameters for use if you find the Stb
|
||||
# package:
|
||||
# - Stb_FOUND: Whether Stb has been found on your computer (or built from
|
||||
# source).
|
||||
# - Stb_INCLUDE_DIRS: The directory where the header files of Stb are located.
|
||||
|
||||
#First try to find a PackageConfig for this library.
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_Stb QUIET Stb)
|
||||
|
||||
find_path(Stb_INCLUDE_DIRS stb/stb_image_resize.h #Search for something that is a little less prone to false positives than just stb.h.
|
||||
HINTS ${PC_Stb_INCLUDEDIR} ${PC_Stb_INCLUDE_DIRS}
|
||||
PATHS "$ENV{PROGRAMFILES}" "$ENV{PROGRAMW6432}" "/usr/include"
|
||||
PATH_SUFFIXES include/stb stb include
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
set(_stb_find_required ${Stb_FIND_REQUIRED}) #Temporarily set to optional so that we don't get a message when it's not found but you want to build from source.
|
||||
set(_stb_find_quietly ${Stb_FIND_QUIETLY})
|
||||
set(Stb_FIND_REQUIRED FALSE)
|
||||
set(Stb_FIND_QUIETLY TRUE)
|
||||
find_package_handle_standard_args(Stb DEFAULT_MSG Stb_INCLUDE_DIRS)
|
||||
set(Stb_FIND_REQUIRED ${_stb_find_required})
|
||||
set(Stb_FIND_QUIETLY ${_stb_find_quietly})
|
||||
|
||||
set(CuraEngine_Download_Stb FALSE)
|
||||
if(Stb_FOUND) #Found an existing installation.
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Found Stb installation at: ${Stb_INCLUDE_DIRS}")
|
||||
endif()
|
||||
else()
|
||||
#Then optionally clone Stb ourselves.
|
||||
option(BUILD_Stb "Build Stb from source." ON) #This is a lie actually, since Stb is header-only and doesn't need any building. We don't build the docs or tests.
|
||||
if(BUILD_Stb)
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Building Stb from source.")
|
||||
endif()
|
||||
|
||||
include(ExternalProject)
|
||||
# Stb's commits in early February seems to cause the engine to fail compilation on Mac.
|
||||
ExternalProject_Add(stb
|
||||
GIT_REPOSITORY "https://github.com/nothings/stb.git"
|
||||
GIT_TAG d5d052c806eee2ca1f858cb58b2f062d9fa25b90
|
||||
UPDATE_DISCONNECTED TRUE
|
||||
CONFIGURE_COMMAND "" #We don't want to actually go and build/test/generate it. Just need to download the headers.
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND "" #Assume that the user doesn't want to install all dependencies on his system. We just need to get them for building the application.
|
||||
)
|
||||
set(CuraEngine_Download_Stb TRUE)
|
||||
set(Stb_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/stb-prefix/src")
|
||||
set(Stb_FOUND TRUE)
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Created Stb installation at: ${Stb_INCLUDE_DIRS}")
|
||||
endif()
|
||||
elseif(NOT Stb_FIND_QUIETLY) #Don't have an installation but don't want us to build it either? Screw you, then.
|
||||
if(Stb_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find Stb.")
|
||||
else()
|
||||
message(WARNING "Could NOT find Stb.")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced(Stb_INCLUDE_DIRS)
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
--- CMakeLists.txt.orig 2022-04-29 23:17:19 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -117,16 +117,6 @@ if (WIN32)
|
||||
add_definitions(-DNOMINMAX)
|
||||
endif()
|
||||
|
||||
-option (ENABLE_OPENMP
|
||||
- "Use OpenMP for parallel code" ON)
|
||||
-
|
||||
-if (ENABLE_OPENMP)
|
||||
- FIND_PACKAGE( OpenMP )
|
||||
- if( OPENMP_FOUND )
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
|
||||
- endif()
|
||||
-endif()
|
||||
-
|
||||
if(USE_SYSTEM_LIBS)
|
||||
include_directories(${Polyclipping_INCLUDE_DIRS} "${CMAKE_BINARY_DIR}" ${RAPIDJSON_INCLUDE_DIRS})
|
||||
else()
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
--- src/layerPart.cpp.orig 2020-03-17 23:31:49 UTC
|
||||
+++ src/layerPart.cpp
|
||||
@@ -1,3 +1,5 @@
|
||||
+#undef __GNUC__
|
||||
+#define __GNUC__ 9
|
||||
//Copyright (c) 2018 Ultimaker B.V.
|
||||
//CuraEngine is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
--- src/support.cpp.orig 2022-01-24 15:11:50 UTC
|
||||
+++ src/support.cpp
|
||||
@@ -1,3 +1,5 @@
|
||||
+#undef __GNUC__
|
||||
+#define __GNUC__ 9
|
||||
//Copyright (c) 2021 Ultimaker B.V.
|
||||
//CuraEngine is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
PORTNAME= Cura
|
||||
DISTVERSION= 4.13.1
|
||||
PORTREVISION= 4
|
||||
DISTVERSION= 5.7.0
|
||||
PORTEPOCH= 2
|
||||
CATEGORIES= cad
|
||||
DIST_SUBDIR= Ultimaker
|
||||
|
|
@ -12,46 +11,50 @@ WWW= https://github.com/Ultimaker/Cura/wiki
|
|||
LICENSE= AGPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
DEPRECATED= Depends on expired devel/libsavitar and devel/py-pynest2d
|
||||
EXPIRATION_DATE=2024-07-31
|
||||
|
||||
BUILD_DEPENDS= Uranium>0,1:cad/uranium
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}zeroconf>0:net/py-zeroconf@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pyserial>0:comms/py-pyserial@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}shapely>0:devel/py-shapely@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}numpy-stl>0:math/py-numpy-stl@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}keyring>0:security/py-keyring@${PY_FLAVOR} \
|
||||
qt5-graphicaleffects>0:graphics/qt5-graphicaleffects \
|
||||
qt5-quickcontrols>0:x11-toolkits/qt5-quickcontrols \
|
||||
qt5-quickcontrols2>0:x11-toolkits/qt5-quickcontrols2 \
|
||||
Uranium>=${DISTVERSION}:cad/uranium \
|
||||
libCharon>=4.13.0:net/libcharon \
|
||||
libCharon>=5.0.0:net/libcharon \
|
||||
CuraEngine>=${DISTVERSION}:cad/cura-engine \
|
||||
fdm_materials>=4.13.0:cad/fdm_materials \
|
||||
fdm_materials>=${DISTVERSION}:cad/fdm_materials \
|
||||
${PYTHON_PKGNAMEPREFIX}trimesh>0:devel/py-trimesh@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pynest2d>=4.12.1:devel/py-pynest2d@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pynest2d>=5.3.0:devel/py-pynest2d@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}sentry-sdk>0:devel/py-sentry-sdk@${PY_FLAVOR} \
|
||||
libArcus>=${DISTVERSION}:net/libarcus \
|
||||
libSavitar>=${DISTVERSION}:devel/libsavitar
|
||||
libArcus>=5.3.0:net/libarcus \
|
||||
libSavitar>=5.3.0:devel/libsavitar
|
||||
LIB_DEPENDS= libArcus.so:net/libarcus \
|
||||
libSavitar.so:devel/libsavitar
|
||||
|
||||
USES= cmake gettext shebangfix python pyqt:5 \
|
||||
USES= cmake gettext shebangfix python pyqt:6 \
|
||||
desktop-file-utils shared-mime-info
|
||||
USE_PYQT= pyqt5
|
||||
CMAKE_ARGS+= -DURANIUM_SCRIPTS_DIR:STRING="${LOCALBASE}/share/uranium/scripts" \
|
||||
-DCURA_VERSION=${DISTVERSION}
|
||||
USE_PYQT= pyqt6
|
||||
CMAKE_ARGS+= -DURANIUM_DIR:STRING="${LOCALBASE}/share/uranium" \
|
||||
-DCURA_VERSION:STRING=${DISTVERSION}
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= Ultimaker
|
||||
NO_ARCH= yes
|
||||
SHEBANG_FILES= cura_app.py
|
||||
|
||||
pre-configure:
|
||||
${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' \
|
||||
${WRKSRC}/CMakeLists.txt
|
||||
#pre-configure:
|
||||
# ${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' \
|
||||
# ${WRKSRC}/CMakeLists.txt
|
||||
#
|
||||
#post-patch:
|
||||
# ${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' \
|
||||
# ${WRKSRC}/cura_app.py
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' \
|
||||
${WRKSRC}/cura_app.py
|
||||
post-extract:
|
||||
@${MKDIR} ${WRKSRC}/cmake
|
||||
@for f in CuraPluginInstall.cmake CuraTests.cmake mod_bundled_packages_json.py; do \
|
||||
${CP} ${FILESDIR}/$$f ${WRKSRC}/cmake; \
|
||||
done
|
||||
@for f in CMakeLists.txt com.ultimaker.cura.desktop.in com.ultimaker.cura.appdata.xml; do \
|
||||
${CP} ${FILESDIR}/$$f ${WRKSRC}; \
|
||||
done
|
||||
@${CP} ${FILESDIR}/CuraVersion.py.in ${WRKSRC}/cura
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1645697504
|
||||
SHA256 (Ultimaker/Ultimaker-Cura-4.13.1_GH0.tar.gz) = bda67f620a6245d0ddfbf6df7c2dcfdec88be152dfb7290ae06d8dcb35c4459c
|
||||
SIZE (Ultimaker/Ultimaker-Cura-4.13.1_GH0.tar.gz) = 42339030
|
||||
TIMESTAMP = 1713952778
|
||||
SHA256 (Ultimaker/Ultimaker-Cura-5.7.0_GH0.tar.gz) = 95c9abcb3688cae6349a83dadec3e31dead0698a22ec68d93430a0fd4c15d130
|
||||
SIZE (Ultimaker/Ultimaker-Cura-5.7.0_GH0.tar.gz) = 53143171
|
||||
|
|
|
|||
104
cad/cura/files/CMakeLists.txt
Normal file
104
cad/cura/files/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
project(cura)
|
||||
cmake_minimum_required(VERSION 3.6)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
||||
|
||||
set(URANIUM_DIR "${CMAKE_SOURCE_DIR}/../Uranium" CACHE PATH "The location of the Uranium repository")
|
||||
set(URANIUM_SCRIPTS_DIR "${URANIUM_DIR}/scripts" CACHE PATH "The location of the scripts directory of the Uranium repository")
|
||||
|
||||
# Tests
|
||||
include(CuraTests)
|
||||
|
||||
option(CURA_DEBUGMODE "Enable debug dialog and other debug features" OFF)
|
||||
if(CURA_DEBUGMODE)
|
||||
set(_cura_debugmode "ON")
|
||||
endif()
|
||||
|
||||
option(GENERATE_TRANSLATIONS "Should the translations be generated?" ON)
|
||||
|
||||
set(CURA_APP_NAME "cura" CACHE STRING "Short name of Cura, used for configuration folder")
|
||||
set(CURA_APP_DISPLAY_NAME "Ultimaker Cura" CACHE STRING "Display name of Cura")
|
||||
set(CURA_VERSION "master" CACHE STRING "Version name of Cura")
|
||||
set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'")
|
||||
set(CURA_CLOUD_API_ROOT "" CACHE STRING "Alternative Cura cloud API root")
|
||||
set(CURA_CLOUD_API_VERSION "" CACHE STRING "Alternative Cura cloud API version")
|
||||
set(CURA_CLOUD_ACCOUNT_API_ROOT "" CACHE STRING "Alternative Cura cloud account API version")
|
||||
set(CURA_MARKETPLACE_ROOT "" CACHE STRING "Alternative Marketplace location")
|
||||
set(CURA_DIGITAL_FACTORY_URL "" CACHE STRING "Alternative Digital Factory location")
|
||||
|
||||
configure_file(${CMAKE_SOURCE_DIR}/com.ultimaker.cura.desktop.in ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop @ONLY)
|
||||
|
||||
configure_file(cura/CuraVersion.py.in CuraVersion.py @ONLY)
|
||||
|
||||
|
||||
# FIXME: The new FindPython3 finds the system's Python3.6 rather than the Python3.5 that we built for Cura's environment.
|
||||
# So we're using the old method here, with FindPythonInterp for now.
|
||||
#find_package(PythonInterp 3 REQUIRED)
|
||||
#
|
||||
#set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
#
|
||||
#set(Python3_VERSION ${PYTHON_VERSION_STRING})
|
||||
#set(Python3_VERSION_MAJOR ${PYTHON_VERSION_MAJOR})
|
||||
#set(Python3_VERSION_MINOR ${PYTHON_VERSION_MINOR})
|
||||
#set(Python3_VERSION_PATCH ${PYTHON_VERSION_PATCH})
|
||||
find_package(Python3 REQUIRED)
|
||||
|
||||
if(NOT ${URANIUM_DIR} STREQUAL "")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${URANIUM_DIR}/cmake")
|
||||
endif()
|
||||
if(NOT ${URANIUM_SCRIPTS_DIR} STREQUAL "")
|
||||
list(APPEND CMAKE_MODULE_PATH ${URANIUM_DIR}/cmake)
|
||||
include(UraniumTranslationTools)
|
||||
# Extract Strings
|
||||
add_custom_target(extract-messages ${URANIUM_SCRIPTS_DIR}/extract-messages ${CMAKE_SOURCE_DIR} cura)
|
||||
# Build Translations
|
||||
if(${GENERATE_TRANSLATIONS})
|
||||
CREATE_TRANSLATION_TARGETS()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
install(DIRECTORY resources
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
|
||||
|
||||
include(CuraPluginInstall)
|
||||
|
||||
if(NOT APPLE AND NOT WIN32)
|
||||
install(FILES cura_app.py
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
RENAME cura)
|
||||
if(EXISTS /etc/debian_version)
|
||||
install(DIRECTORY cura
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}/dist-packages
|
||||
FILES_MATCHING PATTERN *.py)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}/dist-packages/cura)
|
||||
else()
|
||||
install(DIRECTORY cura
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages
|
||||
FILES_MATCHING PATTERN *.py)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/cura)
|
||||
endif()
|
||||
install(FILES ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/resources/images/cura-icon.png
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/)
|
||||
install(FILES com.ultimaker.cura.appdata.xml
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||
install(FILES cura.sharedmimeinfo
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/
|
||||
RENAME cura.xml )
|
||||
else()
|
||||
install(FILES cura_app.py
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||
install(DIRECTORY cura
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages
|
||||
FILES_MATCHING PATTERN *.py)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py
|
||||
DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/cura)
|
||||
endif()
|
||||
105
cad/cura/files/CuraPluginInstall.cmake
Normal file
105
cad/cura/files/CuraPluginInstall.cmake
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
# Copyright (c) 2019 Ultimaker B.V.
|
||||
# CuraPluginInstall.cmake is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
#
|
||||
# This module detects all plugins that need to be installed and adds them using the CMake install() command.
|
||||
# It detects all plugin folder in the path "plugins/*" where there's a "plugin.json" in it.
|
||||
#
|
||||
# Plugins can be configured to NOT BE INSTALLED via the variable "CURA_NO_INSTALL_PLUGINS" as a list of string in the
|
||||
# form of "a;b;c" or "a,b,c". By default all plugins will be installed.
|
||||
#
|
||||
|
||||
option(PRINT_PLUGIN_LIST "Should the list of plugins that are installed be printed?" ON)
|
||||
|
||||
# FIXME: Remove the code for CMake <3.12 once we have switched over completely.
|
||||
# FindPython3 is a new module since CMake 3.12. It deprecates FindPythonInterp and FindPythonLibs. The FindPython3
|
||||
# module is copied from the CMake repository here so in CMake <3.12 we can still use it.
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||
# Use FindPythonInterp and FindPythonLibs for CMake <3.12
|
||||
find_package(PythonInterp 3 REQUIRED)
|
||||
|
||||
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
else()
|
||||
# Use FindPython3 for CMake >=3.12
|
||||
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
||||
endif()
|
||||
|
||||
# Options or configuration variables
|
||||
set(CURA_NO_INSTALL_PLUGINS "" CACHE STRING "A list of plugins that should not be installed, separated with ';' or ','.")
|
||||
|
||||
file(GLOB_RECURSE _plugin_json_list ${CMAKE_SOURCE_DIR}/plugins/*/plugin.json)
|
||||
list(LENGTH _plugin_json_list _plugin_json_list_len)
|
||||
|
||||
# Sort the lists alphabetically so we can handle cases like this:
|
||||
# - plugins/my_plugin/plugin.json
|
||||
# - plugins/my_plugin/my_module/plugin.json
|
||||
# In this case, only "plugins/my_plugin" should be added via install().
|
||||
set(_no_install_plugin_list ${CURA_NO_INSTALL_PLUGINS})
|
||||
# Sanitize the string so the comparison will be case-insensitive.
|
||||
string(STRIP "${_no_install_plugin_list}" _no_install_plugin_list)
|
||||
string(TOLOWER "${_no_install_plugin_list}" _no_install_plugin_list)
|
||||
|
||||
# WORKAROUND counterpart of what's in cura-build.
|
||||
string(REPLACE "," ";" _no_install_plugin_list "${_no_install_plugin_list}")
|
||||
|
||||
list(LENGTH _no_install_plugin_list _no_install_plugin_list_len)
|
||||
|
||||
if(_no_install_plugin_list_len GREATER 0)
|
||||
list(SORT _no_install_plugin_list)
|
||||
endif()
|
||||
if(_plugin_json_list_len GREATER 0)
|
||||
list(SORT _plugin_json_list)
|
||||
endif()
|
||||
|
||||
# Check all plugin directories and add them via install() if needed.
|
||||
set(_install_plugin_list "")
|
||||
foreach(_plugin_json_path ${_plugin_json_list})
|
||||
get_filename_component(_plugin_dir ${_plugin_json_path} DIRECTORY)
|
||||
file(RELATIVE_PATH _rel_plugin_dir ${CMAKE_CURRENT_SOURCE_DIR} ${_plugin_dir})
|
||||
get_filename_component(_plugin_dir_name ${_plugin_dir} NAME)
|
||||
|
||||
# Make plugin name comparison case-insensitive
|
||||
string(TOLOWER "${_plugin_dir_name}" _plugin_dir_name_lowercase)
|
||||
|
||||
# Check if this plugin needs to be skipped for installation
|
||||
set(_add_plugin ON) # Indicates if this plugin should be added to the build or not.
|
||||
set(_is_no_install_plugin OFF) # If this plugin will not be added, this indicates if it's because the plugin is
|
||||
# specified in the NO_INSTALL_PLUGINS list.
|
||||
if(_no_install_plugin_list)
|
||||
if("${_plugin_dir_name_lowercase}" IN_LIST _no_install_plugin_list)
|
||||
set(_add_plugin OFF)
|
||||
set(_is_no_install_plugin ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Make sure this is not a subdirectory in a plugin that's already in the install list
|
||||
if(_add_plugin)
|
||||
foreach(_known_install_plugin_dir ${_install_plugin_list})
|
||||
if(_plugin_dir MATCHES "${_known_install_plugin_dir}.+")
|
||||
set(_add_plugin OFF)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(_add_plugin)
|
||||
if(${PRINT_PLUGIN_LIST})
|
||||
message(STATUS "[+] PLUGIN TO INSTALL: ${_rel_plugin_dir}")
|
||||
endif()
|
||||
get_filename_component(_rel_plugin_parent_dir ${_rel_plugin_dir} DIRECTORY)
|
||||
install(DIRECTORY ${_rel_plugin_dir}
|
||||
DESTINATION lib${LIB_SUFFIX}/cura/${_rel_plugin_parent_dir}
|
||||
PATTERN "__pycache__" EXCLUDE
|
||||
PATTERN "*.qmlc" EXCLUDE
|
||||
)
|
||||
list(APPEND _install_plugin_list ${_plugin_dir})
|
||||
elseif(_is_no_install_plugin)
|
||||
if(${PRINT_PLUGIN_LIST})
|
||||
message(STATUS "[-] PLUGIN TO REMOVE : ${_rel_plugin_dir}")
|
||||
endif()
|
||||
execute_process(COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/mod_bundled_packages_json.py
|
||||
-d ${CMAKE_CURRENT_SOURCE_DIR}/resources/bundled_packages
|
||||
${_plugin_dir_name}
|
||||
RESULT_VARIABLE _mod_json_result)
|
||||
endif()
|
||||
endforeach()
|
||||
84
cad/cura/files/CuraTests.cmake
Normal file
84
cad/cura/files/CuraTests.cmake
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
include(CTest)
|
||||
include(CMakeParseArguments)
|
||||
|
||||
# FIXME: The new FindPython3 finds the system's Python3.6 rather than the Python3.5 that we built for Cura's environment.
|
||||
# So we're using the old method here, with FindPythonInterp for now.
|
||||
#find_package(PythonInterp 3 REQUIRED)
|
||||
#
|
||||
#set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
find_package(Python3 REQUIRED)
|
||||
|
||||
add_custom_target(test-verbose COMMAND ${CMAKE_CTEST_COMMAND} --verbose)
|
||||
|
||||
function(cura_add_test)
|
||||
set(_single_args NAME DIRECTORY PYTHONPATH)
|
||||
cmake_parse_arguments("" "" "${_single_args}" "" ${ARGN})
|
||||
|
||||
if(NOT _NAME)
|
||||
message(FATAL_ERROR "cura_add_test requires a test name argument")
|
||||
endif()
|
||||
|
||||
if(NOT _DIRECTORY)
|
||||
message(FATAL_ERROR "cura_add_test requires a directory to test")
|
||||
endif()
|
||||
|
||||
if(NOT _PYTHONPATH)
|
||||
set(_PYTHONPATH ${_DIRECTORY})
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
string(REPLACE "|" "\\;" _PYTHONPATH ${_PYTHONPATH})
|
||||
set(_PYTHONPATH "${_PYTHONPATH}\\;$ENV{PYTHONPATH}")
|
||||
else()
|
||||
string(REPLACE "|" ":" _PYTHONPATH ${_PYTHONPATH})
|
||||
set(_PYTHONPATH "${_PYTHONPATH}:$ENV{PYTHONPATH}")
|
||||
endif()
|
||||
|
||||
get_test_property(${_NAME} ENVIRONMENT test_exists) #Find out if the test exists by getting a property from it that always exists (such as ENVIRONMENT because we set that ourselves).
|
||||
if (NOT ${test_exists})
|
||||
add_test(
|
||||
NAME ${_NAME}
|
||||
COMMAND ${Python3_EXECUTABLE} -m pytest --junitxml=${CMAKE_BINARY_DIR}/junit-${_NAME}.xml ${_DIRECTORY}
|
||||
)
|
||||
set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT LANG=C)
|
||||
set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT "PYTHONPATH=${_PYTHONPATH}")
|
||||
else()
|
||||
message(WARNING "Duplicate test ${_NAME}!")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
#Add code style test.
|
||||
add_test(
|
||||
NAME "code-style"
|
||||
COMMAND ${Python3_EXECUTABLE} run_mypy.py
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
#Add test for import statements which are not compatible with all builds
|
||||
add_test(
|
||||
NAME "invalid-imports"
|
||||
COMMAND ${Python3_EXECUTABLE} scripts/check_invalid_imports.py
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}|${URANIUM_DIR}")
|
||||
|
||||
file(GLOB_RECURSE _plugins plugins/*/__init__.py)
|
||||
foreach(_plugin ${_plugins})
|
||||
get_filename_component(_plugin_directory ${_plugin} DIRECTORY)
|
||||
if(EXISTS ${_plugin_directory}/tests)
|
||||
get_filename_component(_plugin_name ${_plugin_directory} NAME)
|
||||
cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}|${CMAKE_SOURCE_DIR}|${URANIUM_DIR}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
#Add test for whether the shortcut alt-keys are unique in every translation.
|
||||
add_test(
|
||||
NAME "shortcut-keys"
|
||||
COMMAND ${Python3_EXECUTABLE} scripts/check_shortcut_keys.py
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue