-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy pathPortfile
120 lines (98 loc) · 4.8 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup cmake 1.1
PortGroup github 1.0
PortGroup legacysupport 1.1
# MAP_ANONYMOUS
legacysupport.newest_darwin_requires_legacy 14
github.setup LMMS lmms 1.2.2 v
revision 1
categories multimedia audio
maintainers {@barracuda156 gmail.com:vital.had} openmaintainer
license GPL-2+
description Linux Multimedia Studio
long_description LMMS is a free cross-platform alternative to commercial programs like FL Studio®, \
which allow you to produce music with your computer. This includes the creation of \
melodies and beats, the synthesis and mixing of sounds, and arranging of samples. \
You can have fun with your MIDI-keyboard and much more, all in a user-friendly and \
modern interface.
homepage https://lmms.io/
distname ${name}_${version}
checksums rmd160 cb4a07dc27dfa31a70b5154a5386b2a8873774c8 \
sha256 b185507fb64ecfd8e31145135b58ab244b637f9efc09c4176caf70aa3cbaae1e \
size 22733960
github.tarball_from releases
extract.rename yes
use_xz yes
depends_lib-append port:fftw-3-single \
path:lib/libfltk.dylib:fltk \
port:fluidsynth \
port:libogg \
port:libsamplerate \
port:libsdl \
port:libsndfile \
port:libvorbis \
port:portaudio \
port:stk
# These are merged to the upstream:
patchfiles-append 0001-CMakeLists-use-flags-for-Apple-correctly-6784.patch \
0002-Detect-PowerPC-and-ARM-correctly-6790.patch \
0003-MidiApple.cpp-fix-getName-to-allow-build-with-GCC-67.patch \
0004-versioninfo.h-fix-recognizing-archs-and-compiler-679.patch
# These are fixes, specific to Macports:
patchfiles-append 0005-Pick-Macports-patches.patch
post-patch {
reinplace "s|@APPLICATIONS_DIR@|${applications_dir}|g" ${worksrcpath}/cmake/apple/install_apple.sh.in
reinplace "s|@DESTROOT@|${destroot}|g" ${worksrcpath}/cmake/apple/install_apple.sh.in
reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/cmake/apple/install_apple.sh.in
}
compiler.c_standard 2011
compiler.cxx_standard 2011
# The build system uses CMAKE_INSTALL_PREFIX in a nonstandard way, both by
# writing the Info.plist into it during configure and by attempting to copy
# all items contained in it into the application bundle during destroot. So
# it must be set to an empty writable directory.
set target_path ${workpath}/target
pre-configure {
file mkdir ${target_path}
}
configure.pre_args -DCMAKE_INSTALL_PREFIX=${target_path}
configure.args-append -DFLTK_FLUID_EXECUTABLE=${prefix}/bin/fluid \
-DSTK_INCLUDE_DIR=${prefix}/include/stk \
-DWANT_ALSA=OFF \
-DWANT_JACK=ON \
-DWANT_OGGVORBIS=ON \
-DWANT_PORTAUDIO=ON \
-DWANT_PULSEAUDIO=OFF \
-DWANT_SDL=ON \
-DWANT_STK=ON \
-DWANT_VST=OFF
if {${os.platform} ne "darwin" || ${os.major} >= 18} {
PortGroup qt5 1.0
qt5.depends_build_component qttools
configure.args-append -DWANT_QT5=ON
} else {
PortGroup qt4 1.0
}
# See: https://github.com/jackaudio/jack2/issues/950
if {${os.platform} ne "darwin" || ${configure.build_arch} ni [list ppc ppc64]} {
configure.args-replace \
-DWANT_JACK=OFF -DWANT_JACK=ON
depends_lib-append port:jack
}
configure.args-replace -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib -DCMAKE_INSTALL_NAME_DIR=${applications_dir}/LMMS.app/Contents/Frameworks
# The build system only partly honors DESTDIR, such that the destroot fails
# if it is set, and since we've already patched the build system to stage
# into the destroot, we can just unset it. MacPorts base sets DESTDIR in
# destroot.destdir, while the qt4 portgroup sets it as an environment variable.
destroot.destdir
destroot.env-delete DESTDIR=${destroot}
post-destroot {
ln -s ${applications_dir}/LMMS.app/Contents/MacOS/lmms ${destroot}${prefix}/bin/
ln -s ${applications_dir}/LMMS.app/Contents/share/man/man1/lmms.1.gz ${destroot}${prefix}/share/man/man1/
}
# cmake/modules/DetectMachine.cmake tries to detect bitness but because
# the build system does not destroot entirely within the destdir, using
# the muniversal portgroup will be complicated.
#PortGroup muniversal 1.0
universal_variant no