This repository was archived by the owner on Apr 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathPackage.swift
More file actions
255 lines (235 loc) · 11.3 KB
/
Copy pathPackage.swift
File metadata and controls
255 lines (235 loc) · 11.3 KB
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
// swift-tools-version:5.8
import PackageDescription
let package = Package(
name: "FFmpeg",
platforms: [.macOS(.v10_15), .iOS(.v13), .tvOS(.v13)],
products: [
.library(
name: "FFmpeg",
targets: ["FFmpeg"]
),
.library(
name: "FFmpeg-GPL",
targets: ["FFmpeg-GPL"]
),
],
targets: [
.target(
name: "FFmpeg",
dependencies: [
"Libavcodec", "Libavdevice", "Libavfilter", "Libavformat", "Libavutil", "Libswresample", "Libswscale",
"Libssl", "Libcrypto", "Libass", "Libfreetype", "Libfribidi", "Libharfbuzz",
"MoltenVK", "Libshaderc_combined", "lcms2", "Libplacebo", "Libdovi", "Libunibreak",
"gmp", "nettle", "hogweed", "gnutls", "Libdav1d", "Libuavs3d"
],
path: "Sources/FFmpeg",
linkerSettings: [
.linkedFramework("AudioToolbox"),
.linkedFramework("CoreVideo"),
.linkedFramework("CoreFoundation"),
.linkedFramework("CoreMedia"),
.linkedFramework("Metal"),
.linkedFramework("VideoToolbox"),
.linkedLibrary("bz2"),
.linkedLibrary("iconv"),
.linkedLibrary("expat"),
.linkedLibrary("resolv"),
.linkedLibrary("xml2"),
.linkedLibrary("z"),
.linkedLibrary("c++"),
]
),
.target(
name: "FFmpeg-GPL",
dependencies: [
"Libavcodec-GPL", "Libavdevice-GPL", "Libavfilter-GPL", "Libavformat-GPL", "Libavutil-GPL", "Libswresample-GPL", "Libswscale-GPL",
"Libssl", "Libcrypto", "Libass", "Libfreetype", "Libfribidi", "Libharfbuzz",
"MoltenVK", "Libshaderc_combined", "lcms2", "Libplacebo", "Libdovi", "Libunibreak",
"Libsmbclient", "gmp", "nettle", "hogweed", "gnutls", "Libdav1d", "Libuavs3d"
],
path: "Sources/FFmpeg-GPL",
linkerSettings: [
.linkedFramework("AudioToolbox"),
.linkedFramework("CoreVideo"),
.linkedFramework("CoreFoundation"),
.linkedFramework("CoreMedia"),
.linkedFramework("Metal"),
.linkedFramework("VideoToolbox"),
.linkedLibrary("bz2"),
.linkedLibrary("iconv"),
.linkedLibrary("expat"),
.linkedLibrary("resolv"),
.linkedLibrary("xml2"),
.linkedLibrary("z"),
.linkedLibrary("c++"),
]
),
.binaryTarget(
name: "Libavcodec-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavcodec-GPL.xcframework.zip",
checksum: "4c941b8d71f5521b72c263d1e40c13a4ccddc55f5cd03dd6f654d4643230920f"
),
.binaryTarget(
name: "Libavdevice-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavdevice-GPL.xcframework.zip",
checksum: "fce5724178824e37b174ebfbf614d5cb182281d87344c0e76f95558b7298e113"
),
.binaryTarget(
name: "Libavformat-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavformat-GPL.xcframework.zip",
checksum: "38fe8f017959aaaa9ef894e5c7071ea461a1462adcf603ecaf1962eac1a47e45"
),
.binaryTarget(
name: "Libavfilter-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavfilter-GPL.xcframework.zip",
checksum: "c7b0192194141fa4e0645e68887ced34ab1c3df974c5b500ded0b93e5c451e11"
),
.binaryTarget(
name: "Libavutil-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavutil-GPL.xcframework.zip",
checksum: "f7ce9c14b83a776afc0f29d7d72260e19f1d1a48910fcfbdf3859ce225a0c1f3"
),
.binaryTarget(
name: "Libswresample-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libswresample-GPL.xcframework.zip",
checksum: "c799fd2599043c636dd5ad1e65cbc717eb938b488a8099bf676bf1c04cd03e78"
),
.binaryTarget(
name: "Libswscale-GPL",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libswscale-GPL.xcframework.zip",
checksum: "b309e49f292c36e2c6065bd8d3fe0956e59903a0878b8bf4bc7c58846a310bdd"
),
//AUTO_GENERATE_TARGETS_BEGIN//
.binaryTarget(
name: "Libcrypto",
url: "https://github.com/mpvkit/openssl-build/releases/download/3.2.0/Libcrypto.xcframework.zip",
checksum: "89989ea14f7297d98083eb8adfba9b389f5b4886cb54fb3d5b6e8b915b7adf1d"
),
.binaryTarget(
name: "Libssl",
url: "https://github.com/mpvkit/openssl-build/releases/download/3.2.0/Libssl.xcframework.zip",
checksum: "46ad8e8fa5a6efe7bd31c9b3c56b20c1bc29a581083588d86e941d261d7dbe98"
),
.binaryTarget(
name: "gmp",
url: "https://github.com/mpvkit/gnutls-build/releases/download/3.8.3/gmp.xcframework.zip",
checksum: "defd5623e6786543588001b8f33026395960a561540738deb6df6996d39f957d"
),
.binaryTarget(
name: "nettle",
url: "https://github.com/mpvkit/gnutls-build/releases/download/3.8.3/nettle.xcframework.zip",
checksum: "c3b8f506fa32bcb3f9bf65096b0556c4f5973f846ee964577d783edbe8e6969d"
),
.binaryTarget(
name: "hogweed",
url: "https://github.com/mpvkit/gnutls-build/releases/download/3.8.3/hogweed.xcframework.zip",
checksum: "47a34e7877f7ebd9175f5645059030e553276faa9a21b91e29fb7463b94e8daf"
),
.binaryTarget(
name: "gnutls",
url: "https://github.com/mpvkit/gnutls-build/releases/download/3.8.3/gnutls.xcframework.zip",
checksum: "5f5cf903a2d52157c29ad304260709f618ce086afea02061241982f8425a6fb0"
),
.binaryTarget(
name: "Libunibreak",
url: "https://github.com/mpvkit/libass-build/releases/download/0.17.3/Libunibreak.xcframework.zip",
checksum: "430ed1a8ff1a230bd93b6868021cde2aafb23c8cb2d586525836cac47c4f310f"
),
.binaryTarget(
name: "Libfreetype",
url: "https://github.com/mpvkit/libass-build/releases/download/0.17.3/Libfreetype.xcframework.zip",
checksum: "300d2966c914e06f0211d8da0ea6208a345709b888e9cbbf1cdd94df26330359"
),
.binaryTarget(
name: "Libfribidi",
url: "https://github.com/mpvkit/libass-build/releases/download/0.17.3/Libfribidi.xcframework.zip",
checksum: "4a3122a2027f021937ed0fa07173dca7f2c1c4c4202b7caf8043fa80408c0953"
),
.binaryTarget(
name: "Libharfbuzz",
url: "https://github.com/mpvkit/libass-build/releases/download/0.17.3/Libharfbuzz.xcframework.zip",
checksum: "f607773598caa72435d8b19ce6a9d54fa7f26cde126b6b66c0a3d2804f084c68"
),
.binaryTarget(
name: "Libass",
url: "https://github.com/mpvkit/libass-build/releases/download/0.17.3/Libass.xcframework.zip",
checksum: "af24cd1429069153f0ca5c650e0b374c27ae38283aca47cbbbc9edb3165b182e"
),
.binaryTarget(
name: "Libsmbclient",
url: "https://github.com/mpvkit/libsmbclient-build/releases/download/4.15.13/Libsmbclient.xcframework.zip",
checksum: "589db9c241e6cc274f2825bee542add273febd0666ebd7ea8a402574ed76e9af"
),
.binaryTarget(
name: "Libuavs3d",
url: "https://github.com/mpvkit/libuavs3d-build/releases/download/1.2.1/Libuavs3d.xcframework.zip",
checksum: "893257fc73c61b87fb45ee9de7df6ac4a6967062d7cac2c8d136cd2774a04971"
),
.binaryTarget(
name: "Libdovi",
url: "https://github.com/mpvkit/libdovi-build/releases/download/3.3.0/Libdovi.xcframework.zip",
checksum: "ca4382ea4e17103fbcc979d0ddee69a6eb8967c0ab235cb786ffa96da5f512ed"
),
.binaryTarget(
name: "MoltenVK",
url: "https://github.com/mpvkit/moltenvk-build/releases/download/1.2.9/MoltenVK.xcframework.zip",
checksum: "02dd7f51814855b7db9eacd883042b3e9481eb658de6bc63290af80149f2b94f"
),
.binaryTarget(
name: "Libshaderc_combined",
url: "https://github.com/mpvkit/libshaderc-build/releases/download/2024.2.0/Libshaderc_combined.xcframework.zip",
checksum: "1ccd9fce68ea29af030dceb824716fc16d1f4dcdc0b912ba366d5cb91d7b1add"
),
.binaryTarget(
name: "lcms2",
url: "https://github.com/mpvkit/libplacebo-build/releases/download/7.349.0/lcms2.xcframework.zip",
checksum: "bd2c27366f8b7adfe7bf652a922599891c55b82f5c519bcc4eece1ccff57c889"
),
.binaryTarget(
name: "Libplacebo",
url: "https://github.com/mpvkit/libplacebo-build/releases/download/7.349.0/Libplacebo.xcframework.zip",
checksum: "f32d20351289a080cd7288742747cd927553fde8c217f63263b838083d07a01a"
),
.binaryTarget(
name: "Libdav1d",
url: "https://github.com/mpvkit/libdav1d-build/releases/download/1.4.3/Libdav1d.xcframework.zip",
checksum: "eccfe37da9418e350bc6c1566890fa5b9585fbb87b8ceb664de77800ef17fe04"
),
.binaryTarget(
name: "Libavcodec",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavcodec.xcframework.zip",
checksum: "f952b17b58693a473f7d76babd61ff7f9af9291e93e84f28c872909161e360b4"
),
.binaryTarget(
name: "Libavdevice",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavdevice.xcframework.zip",
checksum: "4fb6d2056ffbcabd88315dd32530555f9abddd77313e5ab0d4b8fa22c144e061"
),
.binaryTarget(
name: "Libavformat",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavformat.xcframework.zip",
checksum: "d81abdfc297b4f9c9177a7b717b333faa1b44088cb523c040d63ca0cafa8529c"
),
.binaryTarget(
name: "Libavfilter",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavfilter.xcframework.zip",
checksum: "178fe17501d299431444ad4753112aa16b3e17b3747a0a3ccfd795d67460c6ed"
),
.binaryTarget(
name: "Libavutil",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libavutil.xcframework.zip",
checksum: "db6e4006b9f47273b2871a17c73c04382a21d9629edbd1917eeadfe7883c2b2d"
),
.binaryTarget(
name: "Libswresample",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libswresample.xcframework.zip",
checksum: "3f9b9167c2ecf5884438fa1d8162439d2cc3786128f6fedc0aa7b1104bd9e22b"
),
.binaryTarget(
name: "Libswscale",
url: "https://github.com/mpvkit/ffmpeg-build/releases/download/7.1.0/Libswscale.xcframework.zip",
checksum: "63685fef38ae5eafaa0b4b67c79885efed9b386ffa61be86a9e4baeffb89ef7e"
),
//AUTO_GENERATE_TARGETS_END//
]
)