*/*: sync with upstream

Taken from: FreeBSD
This commit is contained in:
Franco Fichtner 2022-01-31 11:25:37 +01:00
parent 3819b9dc8a
commit ceb579850c
3359 changed files with 305468 additions and 68020 deletions

View File

@ -26,6 +26,7 @@
SUBDIR += sct
SUBDIR += sctd
SUBDIR += speech-dispatcher
SUBDIR += wl-gammarelay-rs
SUBDIR += wlsunset
SUBDIR += yasr

View File

@ -1,4 +1,5 @@
bin/spd-conf
man/man1/spd-conf.1.gz
%%PYTHON_SITELIBDIR%%/speechd/__init__.py
%%PYTHON_SITELIBDIR%%/speechd/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/speechd/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc

View File

@ -1,5 +1,5 @@
PORTNAME= atk
PORTVERSION= 3.4.9
PORTVERSION= 3.5.1
CATEGORIES= accessibility rubygems
MASTER_SITES= RG

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1632038018
SHA256 (rubygem/atk-3.4.9.gem) = 23ea67070792379592d595dcbcb229168f0f19865f3a358c4a33277ebf48f843
SIZE (rubygem/atk-3.4.9.gem) = 15872
TIMESTAMP = 1643134011
SHA256 (rubygem/atk-3.5.1.gem) = dcde5bafd00420eca32d144da3da938b1e68c007db92dc94cb6471519b8862e5
SIZE (rubygem/atk-3.5.1.gem) = 15872

View File

@ -0,0 +1,133 @@
PORTNAME= wl-gammarelay-rs
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
CATEGORIES= accessibility
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Adjust color temperature/brightness under Wayland via DBus
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENCE
USES= cargo
USE_GITHUB= yes
GH_ACCOUNT= MaxVerevkin
PLIST_FILES= bin/${PORTNAME}
CARGO_CRATES= aho-corasick-0.7.18 \
anyhow-1.0.53 \
async-broadcast-0.3.4 \
async-channel-1.6.1 \
async-executor-1.4.1 \
async-io-1.6.0 \
async-lock-2.4.0 \
async-recursion-0.3.2 \
async-task-4.1.0 \
async-trait-0.1.52 \
atty-0.2.14 \
autocfg-1.0.1 \
bitflags-1.3.2 \
byteorder-1.4.3 \
cache-padded-1.2.0 \
cc-1.0.72 \
cfg-if-1.0.0 \
clap-3.0.13 \
clap_derive-3.0.12 \
concurrent-queue-1.2.2 \
derivative-2.2.0 \
dlib-0.5.0 \
downcast-rs-1.2.0 \
easy-parallel-3.2.0 \
enumflags2-0.7.3 \
enumflags2_derive-0.7.3 \
event-listener-2.5.2 \
fastrand-1.7.0 \
futures-0.3.19 \
futures-channel-0.3.19 \
futures-core-0.3.19 \
futures-executor-0.3.19 \
futures-io-0.3.19 \
futures-lite-1.12.0 \
futures-macro-0.3.19 \
futures-sink-0.3.19 \
futures-task-0.3.19 \
futures-util-0.3.19 \
getrandom-0.2.4 \
hashbrown-0.11.2 \
heck-0.4.0 \
hermit-abi-0.1.19 \
hex-0.4.3 \
indexmap-1.8.0 \
instant-0.1.12 \
lazy_static-1.4.0 \
libc-0.2.116 \
libloading-0.7.3 \
log-0.4.14 \
memchr-2.4.1 \
memmap-0.7.0 \
memoffset-0.6.5 \
mio-0.7.14 \
miow-0.3.7 \
nix-0.23.1 \
ntapi-0.3.6 \
once_cell-1.9.0 \
ordered-stream-0.0.1 \
os_str_bytes-6.0.0 \
parking-2.0.0 \
pin-project-lite-0.2.8 \
pin-utils-0.1.0 \
pkg-config-0.3.24 \
polling-2.2.0 \
ppv-lite86-0.2.16 \
proc-macro-crate-1.1.0 \
proc-macro-error-1.0.4 \
proc-macro-error-attr-1.0.4 \
proc-macro2-1.0.36 \
quote-1.0.15 \
rand-0.8.4 \
rand_chacha-0.3.1 \
rand_core-0.6.3 \
rand_hc-0.3.1 \
regex-1.5.4 \
regex-syntax-0.6.25 \
scoped-tls-1.0.0 \
serde-1.0.136 \
serde_derive-1.0.136 \
serde_repr-0.1.7 \
sha1-0.6.1 \
sha1_smol-1.0.0 \
slab-0.4.5 \
smallvec-1.8.0 \
socket2-0.4.4 \
static_assertions-1.1.0 \
strsim-0.10.0 \
syn-1.0.86 \
termcolor-1.1.2 \
textwrap-0.14.2 \
thiserror-1.0.30 \
thiserror-impl-1.0.30 \
tokio-1.16.1 \
tokio-macros-1.7.0 \
toml-0.5.8 \
unicode-xid-0.2.2 \
version_check-0.9.4 \
waker-fn-1.1.0 \
wasi-0.10.2+wasi-snapshot-preview1 \
wayland-backend-0.1.0-alpha3 \
wayland-client-0.30.0-alpha3 \
wayland-protocols-0.30.0-alpha3 \
wayland-scanner-0.30.0-alpha3 \
wayland-sys-0.30.0-alpha3 \
wepoll-ffi-0.1.2 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
xml-rs-0.8.4 \
zbus-2.0.1 \
zbus_macros-2.0.1 \
zbus_names-2.1.0 \
zvariant-3.1.2 \
zvariant_derive-3.1.2
.include <bsd.port.mk>

View File

@ -0,0 +1,233 @@
TIMESTAMP = 1643489020
SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
SHA256 (rust/crates/anyhow-1.0.53.crate) = 94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0
SIZE (rust/crates/anyhow-1.0.53.crate) = 44233
SHA256 (rust/crates/async-broadcast-0.3.4.crate) = 90622698a1218e0b2fb846c97b5f19a0831f6baddee73d9454156365ccfa473b
SIZE (rust/crates/async-broadcast-0.3.4.crate) = 18539
SHA256 (rust/crates/async-channel-1.6.1.crate) = 2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319
SIZE (rust/crates/async-channel-1.6.1.crate) = 12574
SHA256 (rust/crates/async-executor-1.4.1.crate) = 871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965
SIZE (rust/crates/async-executor-1.4.1.crate) = 15490
SHA256 (rust/crates/async-io-1.6.0.crate) = a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b
SIZE (rust/crates/async-io-1.6.0.crate) = 32282
SHA256 (rust/crates/async-lock-2.4.0.crate) = e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b
SIZE (rust/crates/async-lock-2.4.0.crate) = 16144
SHA256 (rust/crates/async-recursion-0.3.2.crate) = d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2
SIZE (rust/crates/async-recursion-0.3.2.crate) = 10774
SHA256 (rust/crates/async-task-4.1.0.crate) = 677d306121baf53310a3fd342d88dc0824f6bbeace68347593658525565abee8
SIZE (rust/crates/async-task-4.1.0.crate) = 28350
SHA256 (rust/crates/async-trait-0.1.52.crate) = 061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3
SIZE (rust/crates/async-trait-0.1.52.crate) = 25913
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
SHA256 (rust/crates/cache-padded-1.2.0.crate) = c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c
SIZE (rust/crates/cache-padded-1.2.0.crate) = 9125
SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
SIZE (rust/crates/cc-1.0.72.crate) = 57495
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/clap-3.0.13.crate) = 08799f92c961c7a1cf0cc398a9073da99e21ce388b46372c37f3191f2f3eed3e
SIZE (rust/crates/clap-3.0.13.crate) = 191249
SHA256 (rust/crates/clap_derive-3.0.12.crate) = 0fd2078197a22f338bd4fbf7d6387eb6f0d6a3c69e6cbc09f5c93e97321fd92a
SIZE (rust/crates/clap_derive-3.0.12.crate) = 25316
SHA256 (rust/crates/concurrent-queue-1.2.2.crate) = 30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3
SIZE (rust/crates/concurrent-queue-1.2.2.crate) = 15859
SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
SIZE (rust/crates/derivative-2.2.0.crate) = 48076
SHA256 (rust/crates/dlib-0.5.0.crate) = ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794
SIZE (rust/crates/dlib-0.5.0.crate) = 5788
SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
SHA256 (rust/crates/easy-parallel-3.2.0.crate) = 6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946
SIZE (rust/crates/easy-parallel-3.2.0.crate) = 9276
SHA256 (rust/crates/enumflags2-0.7.3.crate) = a25c90b056b3f84111cf183cbeddef0d3a0bbe9a674f057e1a1533c315f24def
SIZE (rust/crates/enumflags2-0.7.3.crate) = 14297
SHA256 (rust/crates/enumflags2_derive-0.7.3.crate) = 144ec79496cbab6f84fa125dc67be9264aef22eb8a28da8454d9c33f15108da4
SIZE (rust/crates/enumflags2_derive-0.7.3.crate) = 8249
SHA256 (rust/crates/event-listener-2.5.2.crate) = 77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71
SIZE (rust/crates/event-listener-2.5.2.crate) = 15225
SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
SHA256 (rust/crates/futures-0.3.19.crate) = 28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4
SIZE (rust/crates/futures-0.3.19.crate) = 47605
SHA256 (rust/crates/futures-channel-0.3.19.crate) = ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b
SIZE (rust/crates/futures-channel-0.3.19.crate) = 31940
SHA256 (rust/crates/futures-core-0.3.19.crate) = d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7
SIZE (rust/crates/futures-core-0.3.19.crate) = 14666
SHA256 (rust/crates/futures-executor-0.3.19.crate) = 29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a
SIZE (rust/crates/futures-executor-0.3.19.crate) = 17286
SHA256 (rust/crates/futures-io-0.3.19.crate) = b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2
SIZE (rust/crates/futures-io-0.3.19.crate) = 8901
SHA256 (rust/crates/futures-lite-1.12.0.crate) = 7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48
SIZE (rust/crates/futures-lite-1.12.0.crate) = 36032
SHA256 (rust/crates/futures-macro-0.3.19.crate) = 6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c
SIZE (rust/crates/futures-macro-0.3.19.crate) = 11253
SHA256 (rust/crates/futures-sink-0.3.19.crate) = e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508
SIZE (rust/crates/futures-sink-0.3.19.crate) = 7849
SHA256 (rust/crates/futures-task-0.3.19.crate) = 6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72
SIZE (rust/crates/futures-task-0.3.19.crate) = 11894
SHA256 (rust/crates/futures-util-0.3.19.crate) = d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164
SIZE (rust/crates/futures-util-0.3.19.crate) = 149240
SHA256 (rust/crates/getrandom-0.2.4.crate) = 418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c
SIZE (rust/crates/getrandom-0.2.4.crate) = 26800
SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
SIZE (rust/crates/heck-0.4.0.crate) = 11161
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
SIZE (rust/crates/hex-0.4.3.crate) = 13299
SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
SIZE (rust/crates/instant-0.1.12.crate) = 6128
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/libc-0.2.116.crate) = 565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74
SIZE (rust/crates/libc-0.2.116.crate) = 566648
SHA256 (rust/crates/libloading-0.7.3.crate) = efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd
SIZE (rust/crates/libloading-0.7.3.crate) = 27378
SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
SIZE (rust/crates/log-0.4.14.crate) = 34582
SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
SIZE (rust/crates/memchr-2.4.1.crate) = 64977
SHA256 (rust/crates/memmap-0.7.0.crate) = 6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b
SIZE (rust/crates/memmap-0.7.0.crate) = 15214
SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc
SIZE (rust/crates/mio-0.7.14.crate) = 87429
SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
SIZE (rust/crates/miow-0.3.7.crate) = 24563
SHA256 (rust/crates/nix-0.23.1.crate) = 9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6
SIZE (rust/crates/nix-0.23.1.crate) = 240531
SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
SHA256 (rust/crates/ordered-stream-0.0.1.crate) = 44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1
SIZE (rust/crates/ordered-stream-0.0.1.crate) = 9081
SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
SHA256 (rust/crates/parking-2.0.0.crate) = 427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72
SIZE (rust/crates/parking-2.0.0.crate) = 9714
SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
SHA256 (rust/crates/polling-2.2.0.crate) = 685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259
SIZE (rust/crates/polling-2.2.0.crate) = 21616
SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
SHA256 (rust/crates/proc-macro-crate-1.1.0.crate) = 1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83
SIZE (rust/crates/proc-macro-crate-1.1.0.crate) = 8535
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
SIZE (rust/crates/quote-1.0.15.crate) = 27281
SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
SIZE (rust/crates/rand-0.8.4.crate) = 87406
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
SIZE (rust/crates/regex-1.5.4.crate) = 236581
SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
SHA256 (rust/crates/scoped-tls-1.0.0.crate) = ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2
SIZE (rust/crates/scoped-tls-1.0.0.crate) = 9146
SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
SIZE (rust/crates/serde-1.0.136.crate) = 76158
SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
SHA256 (rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
SIZE (rust/crates/serde_repr-0.1.7.crate) = 10173
SHA256 (rust/crates/sha1-0.6.1.crate) = c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770
SIZE (rust/crates/sha1-0.6.1.crate) = 2931
SHA256 (rust/crates/sha1_smol-1.0.0.crate) = ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012
SIZE (rust/crates/sha1_smol-1.0.0.crate) = 9782
SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
SIZE (rust/crates/slab-0.4.5.crate) = 15888
SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
SHA256 (rust/crates/socket2-0.4.4.crate) = 66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0
SIZE (rust/crates/socket2-0.4.4.crate) = 44048
SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b
SIZE (rust/crates/syn-1.0.86.crate) = 235126
SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
SHA256 (rust/crates/tokio-1.16.1.crate) = 0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a
SIZE (rust/crates/tokio-1.16.1.crate) = 552194
SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
SIZE (rust/crates/toml-0.5.8.crate) = 54219
SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
SIZE (rust/crates/version_check-0.9.4.crate) = 14895
SHA256 (rust/crates/waker-fn-1.1.0.crate) = 9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca
SIZE (rust/crates/waker-fn-1.1.0.crate) = 7114
SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
SHA256 (rust/crates/wayland-backend-0.1.0-alpha3.crate) = f6dfe84005573da90c95b94eb615c72ba9db1085f9ff4479161e550047ece423
SIZE (rust/crates/wayland-backend-0.1.0-alpha3.crate) = 58740
SHA256 (rust/crates/wayland-client-0.30.0-alpha3.crate) = 4102bfec3dd97cd63e1a351af02b0371d45732c0e50be5814fbe5b78cce16dc2
SIZE (rust/crates/wayland-client-0.30.0-alpha3.crate) = 49138
SHA256 (rust/crates/wayland-protocols-0.30.0-alpha3.crate) = 23709c5b1e008a5c4f3a4bd1e8f83da858f508ce27a133c01383ecb9a5a41508
SIZE (rust/crates/wayland-protocols-0.30.0-alpha3.crate) = 147137
SHA256 (rust/crates/wayland-scanner-0.30.0-alpha3.crate) = 2a728ad020dcfd39d655b2ab2eddb1202b4c8c2079b0bec01146f7388731dd95
SIZE (rust/crates/wayland-scanner-0.30.0-alpha3.crate) = 27107
SHA256 (rust/crates/wayland-sys-0.30.0-alpha3.crate) = 4178521b72510927cc97dbcf28b979a5b6c06642c7e53f2624f244678dff19da
SIZE (rust/crates/wayland-sys-0.30.0-alpha3.crate) = 7979
SHA256 (rust/crates/wepoll-ffi-0.1.2.crate) = d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb
SIZE (rust/crates/wepoll-ffi-0.1.2.crate) = 31309
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
SHA256 (rust/crates/xml-rs-0.8.4.crate) = d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3
SIZE (rust/crates/xml-rs-0.8.4.crate) = 52690
SHA256 (rust/crates/zbus-2.0.1.crate) = 2ac8424f5aa1f239d2d7ecb32f9d5ffc6fcf5fb9298d2d524a7e7c8b258c3f80
SIZE (rust/crates/zbus-2.0.1.crate) = 96289
SHA256 (rust/crates/zbus_macros-2.0.1.crate) = 3e03af45fc15e2c977161c5ffea56c43c41f425a963affd7074bf91b5bf5a8cf
SIZE (rust/crates/zbus_macros-2.0.1.crate) = 23637
SHA256 (rust/crates/zbus_names-2.1.0.crate) = 45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1
SIZE (rust/crates/zbus_names-2.1.0.crate) = 8481
SHA256 (rust/crates/zvariant-3.1.2.crate) = 49ea5dc38b2058fae6a5b79009388143dadce1e91c26a67f984a0fc0381c8033
SIZE (rust/crates/zvariant-3.1.2.crate) = 64127
SHA256 (rust/crates/zvariant_derive-3.1.2.crate) = 8c2cecc5a61c2a053f7f653a24cd15b3b0195d7f7ddb5042c837fb32e161fb7a
SIZE (rust/crates/zvariant_derive-3.1.2.crate) = 10123
SHA256 (MaxVerevkin-wl-gammarelay-rs-v0.2.0_GH0.tar.gz) = 3f45f762f32a7d4449a968d59431943e03fcbec4cf652a8027172381078f7b8d
SIZE (MaxVerevkin-wl-gammarelay-rs-v0.2.0_GH0.tar.gz) = 27184

View File

@ -0,0 +1,6 @@
wl-gammarelay-rs is a simple program that provides DBus interface to
control display temperature and brightness under Wayland without
flickering. Like wl-gammarelay, but written in Rust, runs on a single
thread, has three times less SLOC and uses DBus (for simplicity).
WWW: https://github.com/MaxVerevkin/wl-gammarelay-rs

View File

@ -24,6 +24,7 @@ CPE_VENDOR= 7-zip
MAKEFILE= ../../cmpl_clang.mak
MAKE_ARGS= LOCAL_FLAGS="${CFLAGS}" \
LOCAL_LIBS="${LIBS} -lsysinfo"
CFLAGS_aarch64?= -march=armv8-a+crc+crypto
NO_WRKSUBDIR= yes
BUILD_WRKSRC= ${WRKSRC}/CPP/7zip/Bundles/Alone2

View File

@ -88,6 +88,7 @@
SUBDIR += mar
SUBDIR += maxcso
SUBDIR += minizip
SUBDIR += minizip-ng
SUBDIR += mscompress
SUBDIR += mtf
SUBDIR += nfpm
@ -152,10 +153,6 @@
SUBDIR += php-lz4
SUBDIR += php-snappy
SUBDIR += php-zstd
SUBDIR += php73-bz2
SUBDIR += php73-phar
SUBDIR += php73-zip
SUBDIR += php73-zlib
SUBDIR += php74-bz2
SUBDIR += php74-phar
SUBDIR += php74-zip
@ -265,6 +262,7 @@
SUBDIR += zip-ada
SUBDIR += zipmix
SUBDIR += zipper
SUBDIR += zlib-ng
SUBDIR += zoo
SUBDIR += zopfli
SUBDIR += zstd

View File

@ -1,12 +1,9 @@
PORTNAME= lha
PORTVERSION= 1.14i
PORTREVISION= 10
PORTVERSION= 1.14i.20211125
CATEGORIES= archivers
MASTER_SITES= OSDN/lha
PKGNAMESUFFIX= -ac${PKGNAMESUFFIX2}
DISTNAME= ${PORTNAME}-${PORTVERSION}-ac20050924p1
PKGNAMESUFFIX= -ac
MAINTAINER= ports@FreeBSD.org
MAINTAINER= tagattie@FreeBSD.org
COMMENT= Archive files using LZSS and Huffman compression (.lzh files)
# Converted from RESTRICTED
@ -15,20 +12,29 @@ LICENSE_NAME= LHA
LICENSE_TEXT= No redistribution allowed
LICENSE_PERMS= auto-accept
USES= cpe
USES= autoreconf cpe
CPE_VENDOR= tsugio_okamoto
GNU_CONFIGURE= yes
PLIST_FILES= bin/lha-ac
PLIST_FILES+= man/ja/man1/lha-ac.1.gz
USE_GITHUB= yes
GH_ACCOUNT= jca02266
GH_TAGNAME= release-${PORTVERSION:E}
OPTIONS_DEFINE= NLS
GNU_CONFIGURE= yes
TEST_TARGET= check
PLIST_FILES= bin/lha-ac \
man/ja/man1/lha-ac.1.gz \
man/man1/lha-ac.1.gz
OPTIONS_DEFINE= NLS
NLS_CONFIGURE_ON= --enable-multibyte-filename=auto
NLS_CONFIGURE_OFF= --disable-multibyte-filename
do-install:
-${MKDIR} ${STAGEDIR}${PREFIX}/man/ja/man1
-${MKDIR} ${STAGEDIR}${MANPREFIX}/man/ja/man1
${INSTALL_PROGRAM} ${WRKSRC}/src/lha ${STAGEDIR}${PREFIX}/bin/lha-ac
${INSTALL_MAN} ${WRKSRC}/man/lha.n ${STAGEDIR}${PREFIX}/man/ja/man1/lha-ac.1
${INSTALL_MAN} ${WRKSRC}/man/lha.1 ${STAGEDIR}${MANPREFIX}/man/man1/lha-ac.1
${INSTALL_MAN} ${WRKSRC}/man/lha.n ${STAGEDIR}${MANPREFIX}/man/ja/man1/lha-ac.1
.include <bsd.port.mk>

View File

@ -1,2 +1,3 @@
SHA256 (lha-1.14i-ac20050924p1.tar.gz) = b5261e9f98538816aa9e64791f23cb83f1632ecda61f02e54b6749e9ca5e9ee4
SIZE (lha-1.14i-ac20050924p1.tar.gz) = 285518
TIMESTAMP = 1641796644
SHA256 (jca02266-lha-1.14i.20211125-release-20211125_GH0.tar.gz) = 8761edac9613cf1c06cbc341259fb2abd804f8f5bb8ba25970779062701e8a46
SIZE (jca02266-lha-1.14i.20211125-release-20211125_GH0.tar.gz) = 229335

View File

@ -1,3 +1,3 @@
LHa for UNIX with autoconf
LHa for UNIX with autoconf
WWW: http://sourceforge.jp/projects/lha/
WWW: https://lha.osdn.jp

View File

@ -1,7 +1,7 @@
# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
PORTNAME= lziprecover
PORTVERSION= 1.22
PORTVERSION= 1.23
CATEGORIES= archivers
MASTER_SITES= SAVANNAH/lzip/${PORTNAME}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1609635995
SHA256 (lziprecover-1.22.tar.lz) = cbce50ab328d3965231b0e7298ceb4d479f92ebdc362da265a83be2e87a961f7
SIZE (lziprecover-1.22.tar.lz) = 107339
TIMESTAMP = 1642807550
SHA256 (lziprecover-1.23.tar.lz) = 9a41c9823670541573b160945c23783b644e84eb940c2c803b6b8d11b2c3d208
SIZE (lziprecover-1.23.tar.lz) = 109718

View File

@ -1,7 +1,7 @@
# Created by: Albert Vernon <f3cun3c02@sneakemail.com>
PORTNAME= lzlib
PORTVERSION= 1.12
PORTVERSION= 1.13
CATEGORIES= archivers
MASTER_SITES= SAVANNAH/lzip/lzlib

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1619619925
SHA256 (lzlib-1.12.tar.gz) = 8e5d84242eb52cf1dcc98e58bd9ba8ef1aefa501431abdd0273a22bf4ce337b1
SIZE (lzlib-1.12.tar.gz) = 128996
TIMESTAMP = 1643301096
SHA256 (lzlib-1.13.tar.gz) = a1ab58f3148ba4b2674e938438166042137a9275bed747306641acfddc9ffb80
SIZE (lzlib-1.13.tar.gz) = 130005

View File

@ -0,0 +1,22 @@
PORTNAME= minizip-ng
DISTVERSION= 3.0.4
CATEGORIES= archivers
MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= Fork of the popular minizip found in the zlib distribution
LICENSE= ZLIB
LIB_DEPENDS= libzstd.so:archivers/zstd
USES= cmake:testing iconv pkgconfig ssl
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= zlib-ng
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_ARGS= -DMZ_PROJECT_SUFFIX=-ng \
-DCMAKE_INSTALL_INCLUDEDIR=${LOCALBASE}/include/minizip-ng
CMAKE_TESTING_ON= MZ_BUILD_TEST MZ_BUILD_UNIT_TEST
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1641396331
SHA256 (zlib-ng-minizip-ng-3.0.4_GH0.tar.gz) = 2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c
SIZE (zlib-ng-minizip-ng-3.0.4_GH0.tar.gz) = 638956

View File

@ -0,0 +1,14 @@
Minizip was originally developed in 1998. It was first included in the zlib
distribution as an additional code contribution starting in zlib 1.1.2. Since
that time, it has been continually improved upon and contributed to by many
people.
+ Creating and extracting zip archives.
+ Adding and removing entries from zip archives.
+ Read and write raw zip entry data.
+ Reading and writing zip archives from memory.
+ Zlib, BZIP2, LZMA, and ZSTD compression methods.
+ Password protection through Traditional PKWARE and WinZIP AES encryption.
+ Buffered streaming for improved I/O performance.
WWW: https://github.com/zlib-ng/minizip-ng

View File

@ -0,0 +1,27 @@
include/minizip-ng/mz.h
include/minizip-ng/mz_compat.h
include/minizip-ng/mz_crypt.h
include/minizip-ng/mz_os.h
include/minizip-ng/mz_strm.h
include/minizip-ng/mz_strm_buf.h
include/minizip-ng/mz_strm_bzip.h
include/minizip-ng/mz_strm_lzma.h
include/minizip-ng/mz_strm_mem.h
include/minizip-ng/mz_strm_os.h
include/minizip-ng/mz_strm_pkcrypt.h
include/minizip-ng/mz_strm_split.h
include/minizip-ng/mz_strm_wzaes.h
include/minizip-ng/mz_strm_zlib.h
include/minizip-ng/mz_strm_zstd.h
include/minizip-ng/mz_zip.h
include/minizip-ng/mz_zip_rw.h
include/minizip-ng/unzip.h
include/minizip-ng/zip.h
lib/cmake/minizip-ng/minizip-ng-config-version.cmake
lib/cmake/minizip-ng/minizip-ng-config.cmake
lib/cmake/minizip-ng/minizip-ng-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/minizip-ng/minizip-ng.cmake
lib/libminizip-ng.so
lib/libminizip-ng.so.3
lib/libminizip-ng.so.3.0.4
libdata/pkgconfig/minizip-ng.pc

View File

@ -16,7 +16,9 @@ BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-Compress-Raw-Lzma>=${PORTVERSION}:archivers/p5-Compress-Raw-Lzma \
p5-IO-Compress>=${PORTVERSION}:archivers/p5-IO-Compress
TEST_DEPENDS= 7zz:archivers/7-zip \
lzip:archivers/lzip \
p5-IO-String>=0:devel/p5-IO-String \
p5-Test-CPAN-Meta>=0:devel/p5-Test-CPAN-Meta \
p5-Test-Pod>=1:devel/p5-Test-Pod
USES= perl5

View File

@ -1,7 +1,7 @@
# Created by: chinsan <chinsan.tw@gmail.com>
PORTNAME= lzf
PORTVERSION= 1.6.8
PORTVERSION= 1.7.0
CATEGORIES= archivers pear
DISTNAME= ${PORTNAME:tu}-${PORTVERSION}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1593577889
SHA256 (PECL/LZF-1.6.8.tgz) = 8e1c2ed211439a78f6efb80116a1fb0bf24aec2f659e90669b8f03ed8142f589
SIZE (PECL/LZF-1.6.8.tgz) = 18071
TIMESTAMP = 1642102219
SHA256 (PECL/LZF-1.7.0.tgz) = f9a51510ab52da51c2b39ba9329036247a3784b3a32788cbf199326b90f8bc78
SIZE (PECL/LZF-1.7.0.tgz) = 18267

View File

@ -1,9 +0,0 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php73
PKGNAMESUFFIX= -bz2
TEST_TARGET= test
.include "${MASTERDIR}/Makefile"

View File

@ -1,9 +0,0 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php73
PKGNAMESUFFIX= -phar
TEST_TARGET= test
.include "${MASTERDIR}/Makefile"

View File

@ -1,41 +0,0 @@
--- config.m4.orig 2016-06-21 19:56:50 UTC
+++ config.m4
@@ -4,8 +4,38 @@ dnl config.m4 for extension phar
PHP_ARG_ENABLE(phar, for phar archive support,
[ --disable-phar Disable phar support], yes)
+PHP_ARG_WITH(pcre-dir, pcre install prefix,
+[ --with-pcre-dir PHAR: pcre install prefix], no, no)
+
+
if test "$PHP_PHAR" != "no"; then
+
+ dnl This is PECL build, check if bundled PCRE library is used
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$INCLUDES
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=yes
+ ],[
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=pecl
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
+ ])
+
PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+ PHP_HASH=yes
AC_MSG_CHECKING([for phar openssl support])
if test "$PHP_HASH_SHARED" != "yes"; then
if test "$PHP_HASH" != "no"; then

View File

@ -1,11 +0,0 @@
--- phar.c.orig 2016-06-21 19:56:49 UTC
+++ phar.c
@@ -3589,7 +3589,7 @@ static const zend_module_dep phar_deps[]
ZEND_MOD_OPTIONAL("openssl")
ZEND_MOD_OPTIONAL("zlib")
ZEND_MOD_OPTIONAL("standard")
-#if defined(HAVE_HASH) && !defined(COMPILE_DL_HASH)
+#if defined(HAVE_HASH)
ZEND_MOD_REQUIRED("hash")
#endif
#if HAVE_SPL

View File

@ -1,9 +0,0 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php73
PKGNAMESUFFIX= -zip
TEST_TARGET= test
.include "${MASTERDIR}/Makefile"

View File

@ -1,9 +0,0 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php73
PKGNAMESUFFIX= -zlib
TEST_TARGET= test
.include "${MASTERDIR}/Makefile"

View File

@ -1,10 +0,0 @@
--- zlib.c.orig 2016-06-21 19:57:08 UTC
+++ zlib.c
@@ -1480,6 +1480,7 @@ static PHP_MSHUTDOWN_FUNCTION(zlib)
/* {{{ PHP_RINIT_FUNCTION */
static PHP_RINIT_FUNCTION(zlib)
{
+ ZLIBG(output_compression) = 0;
ZLIBG(compression_coding) = 0;
if (!ZLIBG(handler_registered)) {
ZLIBG(output_compression) = ZLIBG(output_compression_default);

View File

@ -1,7 +1,7 @@
# Created by: Albert Vernon <f3cun3c02@sneakemail.com>
PORTNAME= plzip
PORTVERSION= 1.9
PORTVERSION= 1.10
CATEGORIES= archivers
MASTER_SITES= SAVANNAH/lzip/${PORTNAME}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1619619487
SHA256 (plzip-1.9.tar.gz) = 14d8d1db8dde76bdd9060b59d50b2943417eb4c0fbd2b84736546b78fab5f1a7
SIZE (plzip-1.9.tar.gz) = 93312
TIMESTAMP = 1643301244
SHA256 (plzip-1.10.tar.gz) = 43faa58265d8b89ad75bd4ed11d347ef10065a8070748bc1ed0e06f191458098
SIZE (plzip-1.10.tar.gz) = 94541

View File

@ -2,8 +2,9 @@
PORTNAME= upx
PORTVERSION= 3.96
DISTVERSIONPREFIX= v
MASTER_SITES= https://github.com/upx/upx/releases/download/v${PORTVERSION}/
CATEGORIES= archivers
DISTVERSIONSUFFIX= -src
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Ultimate Packer for eXecutables
@ -13,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libucl.so:archivers/ucl
USES= cpe gmake perl5
USES= cpe gmake perl5 tar:xz
USE_PERL5= build
MAKE_ENV= UPX_UCLDIR=${LOCALBASE} \
@ -24,9 +25,6 @@ PLIST_FILES= bin/upx \
CPE_VENDOR= upx_project
GH_TUPLE= upx:upx-lzma-sdk:v${PORTVERSION}:lzma/src/lzma-sdk
USE_GITHUB= yes
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/upx.out ${STAGEDIR}${PREFIX}/bin/upx
${INSTALL_MAN} ${WRKSRC}/doc/upx.1 ${STAGEDIR}${PREFIX}/man/man1

View File

@ -1,5 +1,3 @@
TIMESTAMP = 1638556458
SHA256 (upx-upx-v3.96_GH0.tar.gz) = 6882b4ea89c7a0ed74b86d3c0f1d07814b492eaf649b43ab8b4dfefa9e2d7387
SIZE (upx-upx-v3.96_GH0.tar.gz) = 1676172
SHA256 (upx-upx-lzma-sdk-v3.96_GH0.tar.gz) = e465670abe0900a0995f7e6166bff86caed06b253f6ff02d6490df6263aecc67
SIZE (upx-upx-lzma-sdk-v3.96_GH0.tar.gz) = 109692
TIMESTAMP = 1643382492
SHA256 (upx-3.96-src.tar.xz) = 47774df5c958f2868ef550fb258b97c73272cb1f44fe776b798e393465993714
SIZE (upx-3.96-src.tar.xz) = 792524

View File

@ -0,0 +1,16 @@
PORTNAME= zlib-ng
DISTVERSION= 2.0.6
CATEGORIES= archivers
MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= Fork of the zlib data compression library
LICENSE= ZLIB
USES= cmake:testing
USE_LDCONFIG= yes
USE_GITHUB= yes
CMAKE_TESTING_ON= ZLIB_ENABLE_TESTS
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1641394914
SHA256 (zlib-ng-zlib-ng-2.0.6_GH0.tar.gz) = 8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6
SIZE (zlib-ng-zlib-ng-2.0.6_GH0.tar.gz) = 817951

View File

@ -0,0 +1,13 @@
Zlib replacement with optimizations for next generation systems.
The motivation for this fork came after seeing several 3rd party contributions
containing new optimizations not getting implemented into the official zlib
repository.
Mark Adler has been maintaining zlib for a very long time, and he has done a
great job and hopefully he will continue for a long time yet.
The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in
replacement with a lower threshold for code change.
WWW: https://github.com/zlib-ng/zlib-ng

View File

@ -0,0 +1,7 @@
include/zconf-ng.h
include/zlib-ng.h
lib/libz-ng.a
lib/libz-ng.so
lib/libz-ng.so.2
lib/libz-ng.so.2.0.6
libdata/pkgconfig/zlib-ng.pc

View File

@ -1,7 +1,7 @@
# Created by: Sébastien Santoro <dereckson@gmail.com>
PORTNAME= astrometry
PORTVERSION= 0.88
PORTVERSION= 0.89
CATEGORIES= astro
MASTER_SITES= http://astrometry.net/downloads/
DISTNAME= ${PORTNAME}.net-${PORTVERSION}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1642258633
SHA256 (astrometry.net-0.88.tar.gz) = f57d129547ad176a4ff04dc86fc7523d2e7437a9a7f9b567989b81db813b92d2
SIZE (astrometry.net-0.88.tar.gz) = 11721209
TIMESTAMP = 1643299821
SHA256 (astrometry.net-0.89.tar.gz) = 98e955a6f747cde06904e461df8e09cd58fe14b1ecceb193e3619d0f5fc64acb
SIZE (astrometry.net-0.89.tar.gz) = 11721482

View File

@ -56,11 +56,4 @@ do-install-GUI-on:
${INSTALL_DATA} ${WRKSRC}/gui/images/appicon.png \
${STAGEDIR}${PREFIX}/share/pixmaps/gpsbabel.png
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGUI}
DEPRECATED= Uses EOL Python 2.7 via www/qt5-webengine
EXPIRATION_DATE=2021-06-23
.endif
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
PORTNAME= kstars
DISTVERSION= 3.5.6
DISTVERSION= 3.5.7
PORTEPOCH= 1
CATEGORIES= astro kde
MASTER_SITES= KDE/stable/${PORTNAME}
@ -33,8 +33,4 @@ USE_QT= concurrent core datavis3d dbus declarative gui multimedia \
xml \
buildtools_build qmake_build
post-extract:
# KDE Bug https://bugs.kde.org/show_bug.cgi?id=439541
${RM} ${WRKSRC}/po/de/docs/kstars/index.docbook
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1639246071
SHA256 (kstars-3.5.6.tar.xz) = 9fe7c660bcd00064bcf36f21afb5c4f6a89333283df4bf96ed546377d68492b4
SIZE (kstars-3.5.6.tar.xz) = 79127060
TIMESTAMP = 1642759464
SHA256 (kstars-3.5.7.tar.xz) = aa8f122ee9b8e81334433191eab276c361112b9dcb9bcf8dfa0851e87a100d06
SIZE (kstars-3.5.7.tar.xz) = 86749048

View File

@ -1,11 +0,0 @@
--- kstars/auxiliary/ksutils.cpp.orig 2019-11-07 16:33:51 UTC
+++ kstars/auxiliary/ksutils.cpp
@@ -1419,7 +1419,7 @@ bool createLocalAstrometryConf()
QString getAstrometryConfFilePath()
{
-#if defined(Q_OS_LINUX)
+#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
if (Options::astrometryConfFileIsInternal())
return KSPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("astrometry") + QLatin1String("/astrometry.cfg");
#elif defined(Q_OS_OSX)

View File

@ -236,6 +236,10 @@ share/doc/HTML/en/kstars/ekos-logs.docbook
share/doc/HTML/en/kstars/ekos-profile-editor.docbook
share/doc/HTML/en/kstars/ekos-profile-wizard.docbook
share/doc/HTML/en/kstars/ekos-scheduler.docbook
share/doc/HTML/en/kstars/ekos-scheduler-mosaic-atpole.png
share/doc/HTML/en/kstars/ekos-scheduler-mosaic-rotation.png
share/doc/HTML/en/kstars/ekos-scheduler-mosaic-std.png
share/doc/HTML/en/kstars/ekos-scheduler-mosaic-threequarteroverlap.png
share/doc/HTML/en/kstars/ekos-setup.docbook
share/doc/HTML/en/kstars/ekos-tutorials.docbook
share/doc/HTML/en/kstars/ekos-user-interface.docbook

View File

@ -45,10 +45,4 @@ WEBENGINE_DESC= Add dependency on qt5-webengine
WEBENGINE_USE= QT=webengine
WEBENGINE_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MWEBENGINE}
DEPRECATED= Uses EOL Python 2.7 via www/qt5-webengine
EXPIRATION_DATE=2021-06-23
.endif
.include <bsd.port.mk>

View File

@ -1,7 +1,7 @@
# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
PORTNAME= metar
PORTVERSION= 1.8.0
PORTVERSION= 1.9.0
CATEGORIES= astro python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1609598877
SHA256 (metar-1.8.0.tar.gz) = d23494c5dcb81a857de9f4022cab0cf3d37277a32f675a9e1491e817d56f8428
SIZE (metar-1.8.0.tar.gz) = 211078
TIMESTAMP = 1642102227
SHA256 (metar-1.9.0.tar.gz) = ef58a29e1ef8fed034ed493dc874aa4fbd40313e578640287dbf5c55d89886c5
SIZE (metar-1.9.0.tar.gz) = 211599

View File

@ -1,7 +1,7 @@
# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
PORTNAME= metpy
PORTVERSION= 1.1.0
PORTVERSION= 1.2.0
CATEGORIES= astro python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@ -14,13 +14,13 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=0:devel/py-setuptools_scm@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=2.1.0:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=1.16.0,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>=0.22.0,1:math/py-pandas@${PY_FLAVOR} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.3.0:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=1.17.0,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>=0.24.0,1:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pint>=0.10.1:devel/py-pint@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pooch>=0.1:devel/py-pooch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyproj>=2.3.0:graphics/py-pyproj@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>=1.0:science/py-scipy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyproj>=2.5.0:graphics/py-pyproj@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>=1.2.0:science/py-scipy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}traitlets>=4.3.0:devel/py-traitlets@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xarray>=0.14.1:devel/py-xarray@${PY_FLAVOR}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1632037024
SHA256 (MetPy-1.1.0.tar.gz) = e5ef6967a0721cccc92d6aeae27768bbc9eac66db252c36be6e233f43f228e53
SIZE (MetPy-1.1.0.tar.gz) = 8277970
TIMESTAMP = 1643133723
SHA256 (MetPy-1.2.0.tar.gz) = 1f85f08642056bb6bdceec5febace10a6b7b2d71b77f3129505857c0eabdbce9
SIZE (MetPy-1.2.0.tar.gz) = 9003171

View File

@ -1,5 +1,5 @@
PORTNAME= pyerfa
DISTVERSION= 2.0.0
DISTVERSION= 2.0.0.1
CATEGORIES= astro python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1635385118
SHA256 (pyerfa-2.0.0.tar.gz) = f904231e1a570f94440e06140799590895107f942847b52a753ce81c9609162d
SIZE (pyerfa-2.0.0.tar.gz) = 808283
TIMESTAMP = 1643268231
SHA256 (pyerfa-2.0.0.1.tar.gz) = 2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30
SIZE (pyerfa-2.0.0.1.tar.gz) = 808497

View File

@ -11,9 +11,6 @@ COMMENT= Ultimate outdoor aficionado's tool
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
DEPRECATED= Uses EOL Python 2.7 via www/qt5-webengine
EXPIRATION_DATE=2021-06-23
LIB_DEPENDS= libgdal.so:graphics/gdal \
libproj.so:graphics/proj \
libquazip1-qt5.so:archivers/quazip \

View File

@ -1,6 +1,6 @@
PORTNAME= siril
DISTVERSION= 0.99.10.1
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= astro graphics
MASTER_SITES= https://free-astro.org/download/

View File

@ -537,7 +537,6 @@
SUBDIR += ncmpcpp
SUBDIR += ncpamixer
SUBDIR += ncspot
SUBDIR += nekobi-lv2
SUBDIR += noise-repellent-lv2
SUBDIR += noise-suppression-for-voice-lv2
SUBDIR += normalize

View File

@ -2,7 +2,7 @@
PORTNAME= alsa-plugins
PORTVERSION= 1.2.2
PORTREVISION= 4
PORTREVISION= 6
DISTVERSIONPREFIX= v
CATEGORIES= audio
MASTER_SITES= GH
@ -22,26 +22,23 @@ USES= alias autoreconf libtool:keepla localbase pkgconfig tar:bzip2
USE_LDCONFIG= ${PREFIX}/lib/alsa-lib
GNU_CONFIGURE= yes
MAKE_ARGS+= RM="${RM}"
EXTRA_PATCHES+= ${FILESDIR}/alsa-plugins.patch
INSTALL_TARGET= install-strip
CPPFLAGS+= -I${.CURDIR}/../alsa-lib/files
OPTIONS_DEFAULT= IO_PTR PULSEAUDIO
OPTIONS_DEFAULT= PULSEAUDIO
OPTIONS_DEFINE= BUFSZ_P2 FFMPEG JACK PULSEAUDIO SAMPLERATE SPEEX
OPTIONS_SUB= yes
OPTIONS_GROUP= OSS
OPTIONS_GROUP_OSS= BLKCNT_P2 BUFSZ_P2 IO_PTR VERBOSE
OPTIONS_GROUP_OSS= BLKCNT_P2 BUFSZ_P2 VERBOSE
IO_PTR_DESC= Precise playback/recording pointer
BLKCNT_P2_DESC= Restrict number of fragments to ^2 aligned
BUFSZ_P2_DESC= Restrict buffer size to ^2 aligned
VERBOSE_DESC= Print debugging messages
IO_PTR_CFLAGS= -DFREEBSD_OSS_USE_IO_PTR
BLKCNT_P2_CFLAGS= -DFREEBSD_OSS_BLKCNT_P2
BUFSZ_P2_CFLAGS= -DFREEBSD_OSS_BUFSZ_P2
VERBOSE_CFLAGS= -DFREEBSD_OSS_DEBUG_VERBOSE
VERBOSE_CFLAGS= -DALSA_OSS_DEBUG_VERBOSE
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
FFMPEG_CONFIGURE_ENABLE= libav

View File

@ -1,702 +0,0 @@
--- oss/ctl_oss.c.orig 2016-03-31 13:11:29 UTC
+++ oss/ctl_oss.c
@@ -362,7 +362,9 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss)
{
snd_config_iterator_t it, next;
const char *device = "/dev/mixer";
+#ifndef __FreeBSD__
struct mixer_info mixinfo;
+#endif
int i, err, val;
snd_ctl_oss_t *oss;
@@ -399,19 +401,29 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss)
goto error;
}
+#ifndef __FreeBSD__
if (ioctl(oss->fd, SOUND_MIXER_INFO, &mixinfo) < 0) {
err = -errno;
SNDERR("Cannot get mixer info for device %s", device);
goto error;
}
+#endif
oss->ext.version = SND_CTL_EXT_VERSION;
oss->ext.card_idx = 0; /* FIXME */
+#ifdef __FreeBSD__
+ strncpy(oss->ext.id, "fbsd", sizeof(oss->ext.id) - 1);
+ strcpy(oss->ext.driver, "FreeBSD/OSS plugin");
+ strncpy(oss->ext.name, "FreeBSD/OSS", sizeof(oss->ext.name) - 1);
+ strncpy(oss->ext.longname, "FreeBSD/OSS", sizeof(oss->ext.longname) - 1);
+ strncpy(oss->ext.mixername, "FreeBSD/OSS", sizeof(oss->ext.mixername) - 1);
+#else
strncpy(oss->ext.id, mixinfo.id, sizeof(oss->ext.id) - 1);
strcpy(oss->ext.driver, "OSS-Emulation");
strncpy(oss->ext.name, mixinfo.name, sizeof(oss->ext.name) - 1);
strncpy(oss->ext.longname, mixinfo.name, sizeof(oss->ext.longname) - 1);
strncpy(oss->ext.mixername, mixinfo.name, sizeof(oss->ext.mixername) - 1);
+#endif
oss->ext.poll_fd = -1;
oss->ext.callback = &oss_ext_callback;
oss->ext.private_data = oss;
--- oss/pcm_oss.c.orig 2016-03-31 13:11:29 UTC
+++ oss/pcm_oss.c
@@ -24,15 +24,39 @@
#include <alsa/pcm_external.h>
#include <linux/soundcard.h>
+#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
+
+#ifdef __FreeBSD__
+#define FREEBSD_OSS_RATE_MIN 1
+#define FREEBSD_OSS_RATE_MAX 384000
+
+#define FREEBSD_OSS_CHANNELS_MIN 1
+#define FREEBSD_OSS_CHANNELS_MAX 8
+
+#define FREEBSD_OSS_BUFSZ_MAX 131072
+#define FREEBSD_OSS_BLKCNT_MIN 2
+#define FREEBSD_OSS_BLKSZ_MIN 16 /* (FREEBSD_OSS_CHANNELS_MAX * 4) */
+
+#define FREEBSD_OSS_BUFSZ_MIN (FREEBSD_OSS_BLKCNT_MIN * FREEBSD_OSS_BLKSZ_MIN)
+#define FREEBSD_OSS_BLKCNT_MAX (FREEBSD_OSS_BUFSZ_MAX / FREEBSD_OSS_BUFSZ_MIN)
+#define FREEBSD_OSS_BLKSZ_MAX (FREEBSD_OSS_BUFSZ_MAX / FREEBSD_OSS_BLKCNT_MIN)
+#endif
+
typedef struct snd_pcm_oss {
snd_pcm_ioplug_t io;
char *device;
int fd;
+#ifdef __FreeBSD__
+ int bufsz, ptr, ptr_align, last_bytes;
+#else
int fragment_set;
int caps;
+#endif
int format;
+#ifndef __FreeBSD__
unsigned int period_shift;
unsigned int periods;
+#endif
unsigned int frame_bytes;
} snd_pcm_oss_t;
@@ -49,8 +73,21 @@ static snd_pcm_sframes_t oss_write(snd_pcm_ioplug_t *i
buf = (char *)areas->addr + (areas->first + areas->step * offset) / 8;
size *= oss->frame_bytes;
result = write(oss->fd, buf, size);
- if (result <= 0)
- return result;
+#ifdef __FreeBSD__
+ if (result == -1) {
+ if (errno == EAGAIN)
+ return 0;
+ else
+ return -errno;
+ }
+#else
+ if (result <= 0) {
+ if (result == -EAGAIN)
+ return 0;
+ else
+ return result;
+ }
+#endif
return result / oss->frame_bytes;
}
@@ -67,14 +104,88 @@ static snd_pcm_sframes_t oss_read(snd_pcm_ioplug_t *io
buf = (char *)areas->addr + (areas->first + areas->step * offset) / 8;
size *= oss->frame_bytes;
result = read(oss->fd, buf, size);
- if (result <= 0)
- return result;
+#ifdef __FreeBSD__
+ if (result == -1) {
+ if (errno == EAGAIN)
+ return 0;
+ else
+ return -errno;
+ }
+#else
+ if (result <= 0) {
+ if (result == -EAGAIN)
+ return 0;
+ else
+ return result;
+ }
+#endif
return result / oss->frame_bytes;
}
static snd_pcm_sframes_t oss_pointer(snd_pcm_ioplug_t *io)
{
+#ifdef __FreeBSD__
snd_pcm_oss_t *oss = io->private_data;
+#ifdef FREEBSD_OSS_USE_IO_PTR
+ struct count_info ci;
+#endif
+ audio_buf_info bi;
+
+ if (io->state != SND_PCM_STATE_RUNNING)
+ return 0;
+
+ if (io->state == SND_PCM_STATE_XRUN)
+ return -EPIPE;
+
+#ifdef FREEBSD_OSS_USE_IO_PTR
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOPTR : SNDCTL_DSP_GETIPTR, &ci) < 0)
+ return -EINVAL;
+
+ if (ci.ptr == oss->last_bytes &&
+ ((ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0) ||
+ bi.bytes == oss->bufsz))
+ return -EPIPE;
+
+ if (ci.ptr < oss->last_bytes)
+ oss->ptr += oss->bufsz;
+
+ oss->ptr += ci.ptr;
+ oss->ptr -= oss->last_bytes;
+ oss->ptr %= oss->ptr_align;
+
+ oss->last_bytes = ci.ptr;
+#else /* !FREEBSD_OSS_USE_IO_PTR */
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0)
+ return -EINVAL;
+
+ if (bi.bytes == oss->bufsz && bi.bytes == oss->last_bytes) {
+#if 0
+#ifdef SNDCTL_DSP_GETERROR
+ audio_errinfo ei;
+ if (ioctl(oss->fd, SNDCTL_DSP_GETERROR, &ei) < 0 ||
+ (io->stream == SND_PCM_STREAM_PLAYBACK &&
+ ei.play_underruns != 0) ||
+ (io->stream == SND_PCM_STREAM_CAPTURE &&
+ ei.rec_overruns != 0))
+#endif
+#endif
+ return -EPIPE;
+ }
+
+ if (bi.bytes > oss->last_bytes) {
+ oss->ptr += bi.bytes - oss->last_bytes;
+ oss->ptr %= oss->ptr_align;
+ }
+
+ oss->last_bytes = bi.bytes;
+#endif /* FREEBSD_OSS_USE_IO_PTR */
+
+ return snd_pcm_bytes_to_frames(io->pcm, oss->ptr);
+#else
+ snd_pcm_oss_t *oss = io->private_data;
struct count_info info;
int ptr;
@@ -85,20 +196,59 @@ static snd_pcm_sframes_t oss_pointer(snd_pcm_ioplug_t
}
ptr = snd_pcm_bytes_to_frames(io->pcm, info.ptr);
return ptr;
+#endif
}
static int oss_start(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
+#ifdef __FreeBSD__
+ audio_buf_info bi;
+#ifdef FREEBSD_OSS_USE_IO_PTR
+ struct count_info ci;
+#endif
+#endif
int tmp = io->stream == SND_PCM_STREAM_PLAYBACK ?
PCM_ENABLE_OUTPUT : PCM_ENABLE_INPUT;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
if (ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp) < 0) {
fprintf(stderr, "*** OSS: trigger failed\n");
+#ifdef __FreeBSD__
+ return -EINVAL;
+#else
if (io->stream == SND_PCM_STREAM_CAPTURE)
/* fake read to trigger */
read(oss->fd, &tmp, 0);
+#endif
}
+
+#ifdef __FreeBSD__
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0)
+ return -EINVAL;
+
+ if (oss->bufsz != (bi.fragsize * bi.fragstotal)) {
+ fprintf(stderr, "%s(): WARNING - bufsz changed! %d -> %d\n",
+ __func__, oss->bufsz, bi.fragsize * bi.fragstotal);
+ oss->bufsz = bi.fragsize * bi.fragstotal;
+ }
+
+#ifdef FREEBSD_OSS_USE_IO_PTR
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOPTR : SNDCTL_DSP_GETIPTR, &ci) < 0)
+ return -EINVAL;
+
+ oss->last_bytes = ci.ptr;
+#else
+ oss->last_bytes = bi.bytes;
+#endif
+ oss->ptr = 0;
+#endif
+
return 0;
}
@@ -107,6 +257,10 @@ static int oss_stop(snd_pcm_ioplug_t *io)
snd_pcm_oss_t *oss = io->private_data;
int tmp = 0;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp);
return 0;
}
@@ -115,16 +269,44 @@ static int oss_drain(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
if (io->stream == SND_PCM_STREAM_PLAYBACK)
ioctl(oss->fd, SNDCTL_DSP_SYNC);
return 0;
}
+static int oss_delay(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp)
+{
+ snd_pcm_oss_t *oss = io->private_data;
+ int tmp;
+
+ if (oss->fd < 0)
+ return -EBADFD;
+
+ if (io->stream == SND_PCM_STREAM_PLAYBACK) {
+ if (ioctl(oss->fd, SNDCTL_DSP_GETODELAY, &tmp) < 0 || tmp < 0)
+ tmp = 0;
+ } else {
+ tmp = 0;
+ }
+ *delayp = snd_pcm_bytes_to_frames(io->pcm, tmp);
+
+ return (0);
+}
+
+#ifndef __FreeBSD__
static int oss_prepare(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
int tmp;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
ioctl(oss->fd, SNDCTL_DSP_RESET);
tmp = io->channels;
@@ -145,16 +327,75 @@ static int oss_prepare(snd_pcm_ioplug_t *io)
}
return 0;
}
+#endif
+#ifdef __FreeBSD__
+static const struct {
+ int oss_format;
+ snd_pcm_format_t alsa_format;
+} oss_formats_tab[] = {
+ { AFMT_U8, SND_PCM_FORMAT_U8 },
+ { AFMT_S8, SND_PCM_FORMAT_S8 },
+ { AFMT_MU_LAW, SND_PCM_FORMAT_MU_LAW },
+ { AFMT_A_LAW, SND_PCM_FORMAT_A_LAW },
+ { AFMT_S16_LE, SND_PCM_FORMAT_S16_LE },
+ { AFMT_S16_BE, SND_PCM_FORMAT_S16_BE },
+ { AFMT_U16_LE, SND_PCM_FORMAT_U16_LE },
+ { AFMT_U16_BE, SND_PCM_FORMAT_U16_BE },
+ { AFMT_S24_LE, SND_PCM_FORMAT_S24_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S24_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U24_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U24_3BE },
+ { AFMT_S32_LE, SND_PCM_FORMAT_S32_LE },
+ { AFMT_S32_BE, SND_PCM_FORMAT_S32_BE },
+ { AFMT_U32_LE, SND_PCM_FORMAT_U32_LE },
+ { AFMT_U32_BE, SND_PCM_FORMAT_U32_BE },
+ /* Special */
+ { AFMT_S24_LE, SND_PCM_FORMAT_S20_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S20_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U20_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U20_3BE },
+ { AFMT_S24_LE, SND_PCM_FORMAT_S18_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S18_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U18_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U18_3BE },
+ { AFMT_S32_LE, SND_PCM_FORMAT_S24_LE },
+ { AFMT_S32_BE, SND_PCM_FORMAT_S24_BE },
+ { AFMT_U32_LE, SND_PCM_FORMAT_U24_LE },
+ { AFMT_U32_BE, SND_PCM_FORMAT_U24_BE },
+};
+#endif
+
static int oss_hw_params(snd_pcm_ioplug_t *io,
snd_pcm_hw_params_t *params ATTRIBUTE_UNUSED)
{
snd_pcm_oss_t *oss = io->private_data;
int i, tmp, err;
+#ifdef __FreeBSD__
+ int blksz_shift, blkcnt;
+ audio_buf_info bi;
+#else
unsigned int period_bytes;
+#endif
long oflags, flags;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
oss->frame_bytes = (snd_pcm_format_physical_width(io->format) * io->channels) / 8;
+#ifdef __FreeBSD__
+ oss->ptr_align = io->buffer_size * oss->frame_bytes;
+
+ oss->format = 0;
+ for (i = 0; i < ARRAY_SIZE(oss_formats_tab); i++) {
+ if (oss_formats_tab[i].alsa_format == io->format) {
+ oss->format = oss_formats_tab[i].oss_format;
+ break;
+ }
+ }
+ if (oss->format == 0) {
+#else
switch (io->format) {
case SND_PCM_FORMAT_U8:
oss->format = AFMT_U8;
@@ -166,9 +407,93 @@ static int oss_hw_params(snd_pcm_ioplug_t *io,
oss->format = AFMT_S16_BE;
break;
default:
+#endif
fprintf(stderr, "*** OSS: unsupported format %s\n", snd_pcm_format_name(io->format));
return -EINVAL;
}
+#ifdef __FreeBSD__
+
+ ioctl(oss->fd, SNDCTL_DSP_RESET);
+
+ /* use a 16ms HW buffer by default */
+ tmp = ((16 * io->rate) / 1000) * oss->frame_bytes;
+
+ /* round up to nearest power of two */
+ while (tmp & (tmp - 1))
+ tmp += tmp & ~(tmp - 1);
+
+ /* get logarithmic value */
+ for (blksz_shift = 0; blksz_shift < 24; blksz_shift++) {
+ if (tmp == (1 << blksz_shift))
+ break;
+ }
+
+ tmp = io->buffer_size * oss->frame_bytes;
+
+ /* compute HW buffer big enough to hold SW buffer */
+ for (blkcnt = FREEBSD_OSS_BLKCNT_MIN; blkcnt != FREEBSD_OSS_BLKCNT_MAX; blkcnt *= 2) {
+ if ((blkcnt << blksz_shift) >= tmp)
+ break;
+ }
+
+ tmp = blksz_shift | (blkcnt << 16);
+ if (ioctl(oss->fd, SNDCTL_DSP_SETFRAGMENT, &tmp) < 0) {
+ perror("SNDCTL_DSP_SETFRAGMENTS");
+ return -EINVAL;
+ }
+
+ tmp = oss->format;
+ if (ioctl(oss->fd, SNDCTL_DSP_SETFMT, &tmp) < 0 ||
+ tmp != oss->format) {
+ perror("SNDCTL_DSP_SETFMT");
+ return -EINVAL;
+ }
+
+ tmp = io->channels;
+ if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0 ||
+ tmp != io->channels) {
+ perror("SNDCTL_DSP_CHANNELS");
+ return -EINVAL;
+ }
+
+ tmp = io->rate;
+ if (ioctl(oss->fd, SNDCTL_DSP_SPEED, &tmp) < 0 ||
+ tmp > io->rate * 1.01 || tmp < io->rate * 0.99) {
+ perror("SNDCTL_DSP_SPEED");
+ return -EINVAL;
+ }
+
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0) {
+ perror("SNDCTL_DSP_GET[I/O]SPACE");
+ return -EINVAL;
+ }
+
+ oss->bufsz = bi.fragsize * bi.fragstotal;
+
+#ifdef SNDCTL_DSP_LOW_WATER
+ tmp = ((io->period_size * oss->frame_bytes) * 3) / 4;
+ tmp -= tmp % oss->frame_bytes;
+ if (tmp < oss->frame_bytes)
+ tmp = oss->frame_bytes;
+ if (tmp > bi.fragsize)
+ tmp = bi.fragsize;
+ if (ioctl(oss->fd, SNDCTL_DSP_LOW_WATER, &tmp) < 0)
+ perror("SNDCTL_DSP_LOW_WATER");
+#endif
+
+#ifdef FREEBSD_OSS_DEBUG_VERBOSE
+ fprintf(stderr,
+ "\n\n[%lu -> %d] %lu ~ %d -> %d, %lu ~ %d -> %d [d:%ld lw:%d]\n\n",
+ io->buffer_size / io->period_size, bi.fragstotal,
+ io->buffer_size * oss->frame_bytes,
+ (1 << blksz_shift) * blkcnt, oss->bufsz,
+ io->period_size * oss->frame_bytes, 1 << blksz_shift,
+ bi.fragsize,
+ (long)(io->buffer_size * oss->frame_bytes) -
+ oss->bufsz, tmp);
+#endif
+#else
period_bytes = io->period_size * oss->frame_bytes;
oss->period_shift = 0;
for (i = 31; i >= 4; i--) {
@@ -209,6 +534,7 @@ static int oss_hw_params(snd_pcm_ioplug_t *io,
goto _retry;
}
oss->fragment_set = 1;
+#endif
if ((flags = fcntl(oss->fd, F_GETFL)) < 0) {
err = -errno;
@@ -229,16 +555,152 @@ static int oss_hw_params(snd_pcm_ioplug_t *io,
return 0;
}
-#define ARRAY_SIZE(ary) (sizeof(ary)/sizeof(ary[0]))
-
static int oss_hw_constraint(snd_pcm_oss_t *oss)
{
+#ifdef __FreeBSD__
snd_pcm_ioplug_t *io = &oss->io;
static const snd_pcm_access_t access_list[] = {
SND_PCM_ACCESS_RW_INTERLEAVED,
SND_PCM_ACCESS_MMAP_INTERLEAVED
};
+#ifdef FREEBSD_OSS_BLKCNT_P2
+ unsigned int period_list[30];
+#endif
+#ifdef FREEBSD_OSS_BUFSZ_P2
+ unsigned int bufsz_list[30];
+#endif
unsigned int nformats;
+ unsigned int format[ARRAY_SIZE(oss_formats_tab)];
+#if 0
+ unsigned int nchannels;
+ unsigned int channel[FREEBSD_OSS_CHANNELS_MAX];
+#endif
+ int i, err, tmp;
+
+#ifdef FREEBSD_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
+ /* check trigger */
+ tmp = 0;
+ if (ioctl(oss->fd, SNDCTL_DSP_GETCAPS, &tmp) >= 0) {
+ if (!(tmp & DSP_CAP_TRIGGER))
+ fprintf(stderr, "*** OSS: trigger is not supported!\n");
+ }
+
+ /* access type - interleaved only */
+ if ((err = snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(access_list), access_list)) < 0)
+ return err;
+
+ /* supported formats. */
+ tmp = 0;
+ ioctl(oss->fd, SNDCTL_DSP_GETFMTS, &tmp);
+ nformats = 0;
+ for (i = 0; i < ARRAY_SIZE(oss_formats_tab); i++) {
+ if (tmp & oss_formats_tab[i].oss_format)
+ format[nformats++] = oss_formats_tab[i].alsa_format;
+ }
+ if (! nformats)
+ format[nformats++] = SND_PCM_FORMAT_S16;
+ if ((err = snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_FORMAT,
+ nformats, format)) < 0)
+ return err;
+
+#if 0
+ /* supported channels */
+ nchannels = 0;
+ for (i = 0; i < ARRAY_SIZE(channel); i++) {
+ tmp = i + 1;
+ if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) >= 0 &&
+ 1 + i == tmp)
+ channel[nchannels++] = tmp;
+ }
+ if (! nchannels) /* assume 2ch stereo */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_CHANNELS, 2, 2);
+ else
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_CHANNELS, nchannels, channel);
+ if (err < 0)
+ return err;
+#endif
+ err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_CHANNELS,
+ FREEBSD_OSS_CHANNELS_MIN, FREEBSD_OSS_CHANNELS_MAX);
+ if (err < 0)
+ return err;
+
+ /* supported rates */
+ err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_RATE,
+ FREEBSD_OSS_RATE_MIN, FREEBSD_OSS_RATE_MAX);
+ if (err < 0)
+ return err;
+
+ /*
+ * Maximum buffer size on FreeBSD can go up to 131072 bytes without
+ * strict ^2 alignment so that s24le in 3bytes packing can be fed
+ * directly.
+ */
+
+#ifdef FREEBSD_OSS_BLKCNT_P2
+ tmp = 0;
+ for (i = 1; i < 31 && tmp < ARRAY_SIZE(period_list); i++) {
+ if ((1 << i) > FREEBSD_OSS_BLKCNT_MAX)
+ break;
+ if ((1 << i) < FREEBSD_OSS_BLKCNT_MIN)
+ continue;
+ period_list[tmp++] = 1 << i;
+ }
+
+ if (tmp > 0)
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_PERIODS, tmp, period_list);
+ else
+#endif
+ /* periods , not strictly ^2 but later on will be refined */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_PERIODS, FREEBSD_OSS_BLKCNT_MIN,
+ FREEBSD_OSS_BLKCNT_MAX);
+ if (err < 0)
+ return err;
+
+ /* period size , not strictly ^2 */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_PERIOD_BYTES, FREEBSD_OSS_BLKSZ_MIN,
+ FREEBSD_OSS_BLKSZ_MAX);
+ if (err < 0)
+ return err;
+
+#ifdef FREEBSD_OSS_BUFSZ_P2
+ tmp = 0;
+ for (i = 1; i < 31 && tmp < ARRAY_SIZE(bufsz_list); i++) {
+ if ((1 << i) > FREEBSD_OSS_BUFSZ_MAX)
+ break;
+ if ((1 << i) < FREEBSD_OSS_BUFSZ_MIN)
+ continue;
+ bufsz_list[tmp++] = 1 << i;
+ }
+
+ if (tmp > 0)
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_BUFFER_BYTES, tmp, bufsz_list);
+ else
+#endif
+ /* buffer size , not strictly ^2 */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_BUFFER_BYTES, FREEBSD_OSS_BUFSZ_MIN,
+ FREEBSD_OSS_BUFSZ_MAX);
+ if (err < 0)
+ return err;
+
+ return 0;
+#else
+ snd_pcm_ioplug_t *io = &oss->io;
+ static const snd_pcm_access_t access_list[] = {
+ SND_PCM_ACCESS_RW_INTERLEAVED,
+ SND_PCM_ACCESS_MMAP_INTERLEAVED
+ };
+ unsigned int nformats;
unsigned int format[5];
unsigned int nchannels;
unsigned int channel[6];
@@ -317,6 +779,7 @@ static int oss_hw_constraint(snd_pcm_oss_t *oss)
return err;
return 0;
+#endif
}
@@ -324,6 +787,10 @@ static int oss_close(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
close(oss->fd);
free(oss->device);
free(oss);
@@ -337,8 +804,11 @@ static const snd_pcm_ioplug_callback_t oss_playback_ca
.pointer = oss_pointer,
.close = oss_close,
.hw_params = oss_hw_params,
+#ifndef __FreeBSD__
.prepare = oss_prepare,
+#endif
.drain = oss_drain,
+ .delay = oss_delay,
};
static const snd_pcm_ioplug_callback_t oss_capture_callback = {
@@ -348,8 +818,11 @@ static const snd_pcm_ioplug_callback_t oss_capture_cal
.pointer = oss_pointer,
.close = oss_close,
.hw_params = oss_hw_params,
+#ifndef __FreeBSD__
.prepare = oss_prepare,
+#endif
.drain = oss_drain,
+ .delay = oss_delay,
};
@@ -360,6 +833,10 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss)
int err;
snd_pcm_oss_t *oss;
+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
snd_config_for_each(i, next, conf) {
snd_config_t *n = snd_config_iterator_entry(i);
const char *id;

View File

@ -1,4 +1,4 @@
--- oss/ctl_oss.c.orig 2016-07-26 13:27:23 UTC
--- oss/ctl_oss.c.orig 2022-01-29 13:06:39 UTC
+++ oss/ctl_oss.c
@@ -26,7 +26,11 @@
#include <sys/ioctl.h>
@ -12,7 +12,7 @@
typedef struct snd_ctl_oss {
snd_ctl_ext_t ext;
@@ -52,7 +56,7 @@ static const char *const vol_devices[SOU
@@ -52,7 +56,7 @@ static const char *const vol_devices[SOUND_MIXER_NRDEV
[SOUND_MIXER_CD] = "CD Playback Volume",
[SOUND_MIXER_IMIX] = "Monitor Mix Playback Volume",
[SOUND_MIXER_ALTPCM] = "Headphone Playback Volume",
@ -21,3 +21,43 @@
[SOUND_MIXER_IGAIN] = "Capture Volume",
[SOUND_MIXER_OGAIN] = "Playback Volume",
[SOUND_MIXER_LINE1] = "Aux Playback Volume",
@@ -362,7 +366,9 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss)
{
snd_config_iterator_t it, next;
const char *device = "/dev/mixer";
+#ifndef __FreeBSD__
struct mixer_info mixinfo;
+#endif
int i, err, val;
snd_ctl_oss_t *oss;
@@ -399,19 +405,29 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss)
goto error;
}
+#ifndef __FreeBSD__
if (ioctl(oss->fd, SOUND_MIXER_INFO, &mixinfo) < 0) {
err = -errno;
SNDERR("Cannot get mixer info for device %s", device);
goto error;
}
+#endif
oss->ext.version = SND_CTL_EXT_VERSION;
oss->ext.card_idx = 0; /* FIXME */
+#ifdef __FreeBSD__
+ strncpy(oss->ext.id, "fbsd", sizeof(oss->ext.id) - 1);
+ strcpy(oss->ext.driver, "FreeBSD/OSS plugin");
+ strncpy(oss->ext.name, "FreeBSD/OSS", sizeof(oss->ext.name) - 1);
+ strncpy(oss->ext.longname, "FreeBSD/OSS", sizeof(oss->ext.longname) - 1);
+ strncpy(oss->ext.mixername, "FreeBSD/OSS", sizeof(oss->ext.mixername) - 1);
+#else
strncpy(oss->ext.id, mixinfo.id, sizeof(oss->ext.id) - 1);
strcpy(oss->ext.driver, "OSS-Emulation");
strncpy(oss->ext.name, mixinfo.name, sizeof(oss->ext.name) - 1);
strncpy(oss->ext.longname, mixinfo.name, sizeof(oss->ext.longname) - 1);
strncpy(oss->ext.mixername, mixinfo.name, sizeof(oss->ext.mixername) - 1);
+#endif
oss->ext.poll_fd = -1;
oss->ext.callback = &oss_ext_callback;
oss->ext.private_data = oss;

View File

@ -1,6 +1,10 @@
--- oss/pcm_oss.c.orig 2016-03-31 13:11:29 UTC
--- oss/pcm_oss.c.orig 2020-02-19 09:35:42 UTC
+++ oss/pcm_oss.c
@@ -22,7 +22,11 @@
@@ -19,21 +19,42 @@
*/
#include <stdio.h>
+#include <stdbool.h>
#include <sys/ioctl.h>
#include <alsa/asoundlib.h>
#include <alsa/pcm_external.h>
@ -10,23 +14,610 @@
+#include <sys/soundcard.h>
+#endif
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
+#endif
+
+#define ALSA_OSS_RATE_MIN 1
+#define ALSA_OSS_RATE_MAX 384000
+
+#define ALSA_OSS_CHANNELS_MIN 1
+#define ALSA_OSS_CHANNELS_MAX 8
+
+#define ALSA_OSS_BUFSZ_MAX 131072
+#define ALSA_OSS_BLKCNT_MIN 2
+#define ALSA_OSS_BLKSZ_MIN 16 /* (ALSA_OSS_CHANNELS_MAX * 4) */
+
+#define ALSA_OSS_BUFSZ_MIN (ALSA_OSS_BLKCNT_MIN * ALSA_OSS_BLKSZ_MIN)
+#define ALSA_OSS_BLKCNT_MAX (ALSA_OSS_BUFSZ_MAX / ALSA_OSS_BUFSZ_MIN)
+#define ALSA_OSS_BLKSZ_MAX (ALSA_OSS_BUFSZ_MAX / ALSA_OSS_BLKCNT_MIN)
+
typedef struct snd_pcm_oss {
snd_pcm_ioplug_t io;
@@ -116,7 +120,7 @@ static int oss_drain(snd_pcm_ioplug_t *io)
char *device;
int fd;
- int fragment_set;
- int caps;
+ int bufsz;
int format;
- unsigned int period_shift;
- unsigned int periods;
- unsigned int frame_bytes;
+ int frame_bytes;
+ bool buffer_used;
} snd_pcm_oss_t;
static snd_pcm_sframes_t oss_write(snd_pcm_ioplug_t *io,
@@ -49,8 +70,21 @@ static snd_pcm_sframes_t oss_write(snd_pcm_ioplug_t *i
buf = (char *)areas->addr + (areas->first + areas->step * offset) / 8;
size *= oss->frame_bytes;
result = write(oss->fd, buf, size);
- if (result <= 0)
- return result;
+#ifdef __FreeBSD__
+ if (result == -1) {
+ if (errno == EAGAIN)
+ return 0;
+ else
+ return -errno;
+ }
+#else
+ if (result <= 0) {
+ if (result == -EAGAIN)
+ return 0;
+ else
+ return result;
+ }
+#endif
return result / oss->frame_bytes;
}
@@ -67,24 +101,60 @@ static snd_pcm_sframes_t oss_read(snd_pcm_ioplug_t *io
buf = (char *)areas->addr + (areas->first + areas->step * offset) / 8;
size *= oss->frame_bytes;
result = read(oss->fd, buf, size);
- if (result <= 0)
- return result;
+#ifdef __FreeBSD__
+ if (result == -1) {
+ if (errno == EAGAIN)
+ return 0;
+ else
+ return -errno;
+ }
+#else
+ if (result <= 0) {
+ if (result == -EAGAIN)
+ return 0;
+ else
+ return result;
+ }
+#endif
return result / oss->frame_bytes;
}
static snd_pcm_sframes_t oss_pointer(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
- struct count_info info;
- int ptr;
+ audio_buf_info bi;
+ ssize_t bytes;
- if (ioctl(oss->fd, io->stream == SND_PCM_STREAM_PLAYBACK ?
- SNDCTL_DSP_GETOPTR : SNDCTL_DSP_GETIPTR, &info) < 0) {
- fprintf(stderr, "*** OSS: oss_pointer error\n");
- return 0;
+ if (io->stream == SND_PCM_STREAM_PLAYBACK) {
+ if (ioctl(oss->fd, SNDCTL_DSP_GETOSPACE, &bi) < 0)
+ return -EINVAL;
+ } else {
+ if (ioctl(oss->fd, SNDCTL_DSP_GETISPACE, &bi) < 0)
+ return -EINVAL;
}
- ptr = snd_pcm_bytes_to_frames(io->pcm, info.ptr);
- return ptr;
+
+ /* check for over- and under- run */
+ if (bi.bytes != oss->bufsz) {
+ oss->buffer_used = true;
+ } else {
+ /* only report error once */
+ if (oss->buffer_used == true) {
+ oss->buffer_used = false;
+ return -EPIPE;
+ }
+ }
+
+ if (io->stream == SND_PCM_STREAM_PLAYBACK)
+ bi.bytes = oss->bufsz - bi.bytes;
+
+ /*
+ * Return exactly how many bytes can be read or written,
+ * relative to the current application pointer.
+ */
+ bytes = snd_pcm_frames_to_bytes(io->pcm, io->appl_ptr) + bi.bytes;
+ bytes %= io->buffer_size * oss->frame_bytes;
+
+ return snd_pcm_bytes_to_frames(io->pcm, bytes);
}
static int oss_start(snd_pcm_ioplug_t *io)
@@ -93,12 +163,23 @@ static int oss_start(snd_pcm_ioplug_t *io)
int tmp = io->stream == SND_PCM_STREAM_PLAYBACK ?
PCM_ENABLE_OUTPUT : PCM_ENABLE_INPUT;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
if (ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp) < 0) {
fprintf(stderr, "*** OSS: trigger failed\n");
+#ifdef __FreeBSD__
+ return -EINVAL;
+#else
if (io->stream == SND_PCM_STREAM_CAPTURE)
/* fake read to trigger */
read(oss->fd, &tmp, 0);
+#endif
}
+
+ oss->buffer_used = false;
+
return 0;
}
@@ -107,6 +188,10 @@ static int oss_stop(snd_pcm_ioplug_t *io)
snd_pcm_oss_t *oss = io->private_data;
int tmp = 0;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp);
return 0;
}
@@ -115,101 +200,176 @@ static int oss_drain(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
if (io->stream == SND_PCM_STREAM_PLAYBACK)
- ioctl(oss->fd, SNDCTL_DSP_SYNC);
+ ioctl(oss->fd, SNDCTL_DSP_SYNC, NULL);
return 0;
}
@@ -125,7 +129,7 @@ static int oss_prepare(snd_pcm_ioplug_t *io)
-static int oss_prepare(snd_pcm_ioplug_t *io)
+static int oss_delay(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp)
{
snd_pcm_oss_t *oss = io->private_data;
int tmp;
- ioctl(oss->fd, SNDCTL_DSP_RESET);
+ ioctl(oss->fd, SNDCTL_DSP_RESET, NULL);
+ if (oss->fd < 0)
+ return -EBADFD;
tmp = io->channels;
if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0) {
- tmp = io->channels;
- if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0) {
- perror("SNDCTL_DSP_CHANNELS");
- return -EINVAL;
+ if (io->stream == SND_PCM_STREAM_PLAYBACK) {
+ if (ioctl(oss->fd, SNDCTL_DSP_GETODELAY, &tmp) < 0 || tmp < 0)
+ tmp = 0;
+ } else {
+ tmp = 0;
}
- tmp = oss->format;
- if (ioctl(oss->fd, SNDCTL_DSP_SETFMT, &tmp) < 0) {
- perror("SNDCTL_DSP_SETFMT");
- return -EINVAL;
- }
- tmp = io->rate;
- if (ioctl(oss->fd, SNDCTL_DSP_SPEED, &tmp) < 0 ||
- tmp > io->rate * 1.01 || tmp < io->rate * 0.99) {
- perror("SNDCTL_DSP_SPEED");
- return -EINVAL;
- }
- return 0;
+ *delayp = snd_pcm_bytes_to_frames(io->pcm, tmp);
+
+ return (0);
}
+static const struct {
+ int oss_format;
+ snd_pcm_format_t alsa_format;
+} oss_formats_tab[] = {
+ { AFMT_U8, SND_PCM_FORMAT_U8 },
+ { AFMT_S8, SND_PCM_FORMAT_S8 },
+ { AFMT_MU_LAW, SND_PCM_FORMAT_MU_LAW },
+ { AFMT_A_LAW, SND_PCM_FORMAT_A_LAW },
+ { AFMT_S16_LE, SND_PCM_FORMAT_S16_LE },
+ { AFMT_S16_BE, SND_PCM_FORMAT_S16_BE },
+ { AFMT_U16_LE, SND_PCM_FORMAT_U16_LE },
+ { AFMT_U16_BE, SND_PCM_FORMAT_U16_BE },
+ { AFMT_S24_LE, SND_PCM_FORMAT_S24_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S24_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U24_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U24_3BE },
+ { AFMT_S32_LE, SND_PCM_FORMAT_S32_LE },
+ { AFMT_S32_BE, SND_PCM_FORMAT_S32_BE },
+ { AFMT_U32_LE, SND_PCM_FORMAT_U32_LE },
+ { AFMT_U32_BE, SND_PCM_FORMAT_U32_BE },
+ /* Special */
+ { AFMT_S24_LE, SND_PCM_FORMAT_S20_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S20_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U20_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U20_3BE },
+ { AFMT_S24_LE, SND_PCM_FORMAT_S18_3LE },
+ { AFMT_S24_BE, SND_PCM_FORMAT_S18_3BE },
+ { AFMT_U24_LE, SND_PCM_FORMAT_U18_3LE },
+ { AFMT_U24_BE, SND_PCM_FORMAT_U18_3BE },
+ { AFMT_S32_LE, SND_PCM_FORMAT_S24_LE },
+ { AFMT_S32_BE, SND_PCM_FORMAT_S24_BE },
+ { AFMT_U32_LE, SND_PCM_FORMAT_U24_LE },
+ { AFMT_U32_BE, SND_PCM_FORMAT_U24_BE },
+};
+
static int oss_hw_params(snd_pcm_ioplug_t *io,
snd_pcm_hw_params_t *params ATTRIBUTE_UNUSED)
{
snd_pcm_oss_t *oss = io->private_data;
int i, tmp, err;
- unsigned int period_bytes;
+ int blksz_shift, blkcnt;
+ audio_buf_info bi;
long oflags, flags;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
oss->frame_bytes = (snd_pcm_format_physical_width(io->format) * io->channels) / 8;
- switch (io->format) {
- case SND_PCM_FORMAT_U8:
- oss->format = AFMT_U8;
- break;
- case SND_PCM_FORMAT_S16_LE:
- oss->format = AFMT_S16_LE;
- break;
- case SND_PCM_FORMAT_S16_BE:
- oss->format = AFMT_S16_BE;
- break;
- default:
+
+ oss->format = 0;
+ for (i = 0; i != ARRAY_SIZE(oss_formats_tab); i++) {
+ if (oss_formats_tab[i].alsa_format == io->format) {
+ oss->format = oss_formats_tab[i].oss_format;
+ break;
+ }
+ }
+ if (oss->format == 0) {
fprintf(stderr, "*** OSS: unsupported format %s\n", snd_pcm_format_name(io->format));
return -EINVAL;
}
- period_bytes = io->period_size * oss->frame_bytes;
- oss->period_shift = 0;
- for (i = 31; i >= 4; i--) {
- if (period_bytes & (1U << i)) {
- oss->period_shift = i;
+
+ ioctl(oss->fd, SNDCTL_DSP_RESET);
+
+ /* use a 16ms HW buffer by default */
+ tmp = ((16 * io->rate) / 1000) * oss->frame_bytes;
+
+ /* round up to nearest power of two */
+ while (tmp & (tmp - 1))
+ tmp += tmp & ~(tmp - 1);
+
+ /* get logarithmic value */
+ for (blksz_shift = 0; blksz_shift < 24; blksz_shift++) {
+ if (tmp == (1 << blksz_shift))
break;
- }
}
- if (! oss->period_shift) {
- fprintf(stderr, "*** OSS: invalid period size %d\n", (int)io->period_size);
- return -EINVAL;
+
+ tmp = io->buffer_size * oss->frame_bytes;
+
+ /* compute HW buffer big enough to hold SW buffer */
+ for (blkcnt = ALSA_OSS_BLKCNT_MIN; blkcnt != ALSA_OSS_BLKCNT_MAX; blkcnt *= 2) {
+ if ((blkcnt << blksz_shift) >= tmp)
+ break;
}
- oss->periods = io->buffer_size / io->period_size;
- _retry:
- tmp = oss->period_shift | (oss->periods << 16);
+ tmp = blksz_shift | (blkcnt << 16);
if (ioctl(oss->fd, SNDCTL_DSP_SETFRAGMENT, &tmp) < 0) {
- if (! oss->fragment_set) {
- perror("SNDCTL_DSP_SETFRAGMENT");
- fprintf(stderr, "*** period shift = %d, periods = %d\n", oss->period_shift, oss->periods);
- return -EINVAL;
- }
- /* OSS has no proper way to reinitialize the fragments */
- /* try to reopen the device */
- close(oss->fd);
- oss->fd = open(oss->device, io->stream == SND_PCM_STREAM_PLAYBACK ?
- O_WRONLY : O_RDONLY);
- if (oss->fd < 0) {
- err = -errno;
- SNDERR("Cannot reopen the device %s", oss->device);
- return err;
- }
- io->poll_fd = oss->fd;
- io->poll_events = io->stream == SND_PCM_STREAM_PLAYBACK ?
- POLLOUT : POLLIN;
- snd_pcm_ioplug_reinit_status(io);
- oss->fragment_set = 0;
- goto _retry;
+ perror("SNDCTL_DSP_SETFRAGMENTS");
+ return -EINVAL;
}
- oss->fragment_set = 1;
+ tmp = oss->format;
+ if (ioctl(oss->fd, SNDCTL_DSP_SETFMT, &tmp) < 0 ||
+ tmp != oss->format) {
+ perror("SNDCTL_DSP_SETFMT");
+ return -EINVAL;
+ }
+
+ tmp = io->channels;
+ if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0 ||
+ tmp != io->channels) {
+ perror("SNDCTL_DSP_CHANNELS");
+ return -EINVAL;
+ }
+
+ tmp = io->rate;
+ if (ioctl(oss->fd, SNDCTL_DSP_SPEED, &tmp) < 0 ||
+ tmp > io->rate * 1.01 || tmp < io->rate * 0.99) {
+ perror("SNDCTL_DSP_SPEED");
+ return -EINVAL;
+ }
+
+ if (ioctl(oss->fd, (io->stream == SND_PCM_STREAM_PLAYBACK) ?
+ SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0) {
+ perror("SNDCTL_DSP_GET[I/O]SPACE");
+ return -EINVAL;
+ }
+
+ oss->bufsz = bi.fragsize * bi.fragstotal;
+
+#ifdef SNDCTL_DSP_LOW_WATER
+ tmp = io->period_size * oss->frame_bytes;
+ if (tmp > oss->bufsz)
+ tmp = oss->bufsz;
+ else if (tmp < bi.fragsize)
+ tmp = bi.fragsize;
+
+ if (ioctl(oss->fd, SNDCTL_DSP_LOW_WATER, &tmp) < 0)
+ perror("SNDCTL_DSP_LOW_WATER");
+#endif
+
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr,
+ "\n\n[%lu -> %d] %lu ~ %d -> %d, %lu ~ %d -> %d [d:%ld lw:%d]\n\n",
+ io->buffer_size / io->period_size, bi.fragstotal,
+ io->buffer_size * oss->frame_bytes,
+ (1 << blksz_shift) * blkcnt, oss->bufsz,
+ io->period_size * oss->frame_bytes, 1 << blksz_shift,
+ bi.fragsize,
+ (long)(io->buffer_size * oss->frame_bytes) -
+ oss->bufsz, tmp);
+#endif
if ((flags = fcntl(oss->fd, F_GETFL)) < 0) {
err = -errno;
perror("F_GETFL");
@@ -229,16 +389,148 @@ static int oss_hw_params(snd_pcm_ioplug_t *io,
return 0;
}
-#define ARRAY_SIZE(ary) (sizeof(ary)/sizeof(ary[0]))
-
static int oss_hw_constraint(snd_pcm_oss_t *oss)
{
+#ifdef __FreeBSD__
snd_pcm_ioplug_t *io = &oss->io;
static const snd_pcm_access_t access_list[] = {
SND_PCM_ACCESS_RW_INTERLEAVED,
SND_PCM_ACCESS_MMAP_INTERLEAVED
};
+#ifdef FREEBSD_OSS_BLKCNT_P2
+ unsigned int period_list[30];
+#endif
+#ifdef FREEBSD_OSS_BUFSZ_P2
+ unsigned int bufsz_list[30];
+#endif
unsigned int nformats;
+ unsigned int format[ARRAY_SIZE(oss_formats_tab)];
+ int i, err, tmp;
+
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
+ /* check trigger */
+ tmp = 0;
+ if (ioctl(oss->fd, SNDCTL_DSP_GETCAPS, &tmp) >= 0) {
+ if (!(tmp & DSP_CAP_TRIGGER))
+ fprintf(stderr, "*** OSS: trigger is not supported!\n");
+ }
+
+ /* access type - interleaved only */
+ if ((err = snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(access_list), access_list)) < 0)
+ return err;
+
+ /* supported formats. */
+ tmp = 0;
+ ioctl(oss->fd, SNDCTL_DSP_GETFMTS, &tmp);
+ nformats = 0;
+ for (i = 0; i < ARRAY_SIZE(oss_formats_tab); i++) {
+ if (tmp & oss_formats_tab[i].oss_format)
+ format[nformats++] = oss_formats_tab[i].alsa_format;
+ }
+ if (! nformats)
+ format[nformats++] = SND_PCM_FORMAT_S16;
+ if ((err = snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_FORMAT,
+ nformats, format)) < 0)
+ return err;
+
+#if 0
+ /* supported channels */
+ nchannels = 0;
+ for (i = 0; i < ARRAY_SIZE(channel); i++) {
+ tmp = i + 1;
+ if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) >= 0 &&
+ 1 + i == tmp)
+ channel[nchannels++] = tmp;
+ }
+ if (! nchannels) /* assume 2ch stereo */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_CHANNELS, 2, 2);
+ else
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_CHANNELS, nchannels, channel);
+ if (err < 0)
+ return err;
+#endif
+ err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_CHANNELS,
+ ALSA_OSS_CHANNELS_MIN, ALSA_OSS_CHANNELS_MAX);
+ if (err < 0)
+ return err;
+
+ /* supported rates */
+ err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_RATE,
+ ALSA_OSS_RATE_MIN, ALSA_OSS_RATE_MAX);
+ if (err < 0)
+ return err;
+
+ /*
+ * Maximum buffer size on FreeBSD can go up to 131072 bytes without
+ * strict ^2 alignment so that s24le in 3bytes packing can be fed
+ * directly.
+ */
+
+#ifdef FREEBSD_OSS_BLKCNT_P2
+ tmp = 0;
+ for (i = 1; i < 31 && tmp < ARRAY_SIZE(period_list); i++) {
+ if ((1 << i) > ALSA_OSS_BLKCNT_MAX)
+ break;
+ if ((1 << i) < ALSA_OSS_BLKCNT_MIN)
+ continue;
+ period_list[tmp++] = 1 << i;
+ }
+
+ if (tmp > 0)
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_PERIODS, tmp, period_list);
+ else
+#endif
+ /* periods , not strictly ^2 but later on will be refined */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_PERIODS, ALSA_OSS_BLKCNT_MIN,
+ ALSA_OSS_BLKCNT_MAX);
+ if (err < 0)
+ return err;
+
+ /* period size , not strictly ^2 */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_PERIOD_BYTES, ALSA_OSS_BLKSZ_MIN,
+ ALSA_OSS_BLKSZ_MAX);
+ if (err < 0)
+ return err;
+
+#ifdef FREEBSD_OSS_BUFSZ_P2
+ tmp = 0;
+ for (i = 1; i < 31 && tmp < ARRAY_SIZE(bufsz_list); i++) {
+ if ((1 << i) > ALSA_OSS_BUFSZ_MAX)
+ break;
+ if ((1 << i) < ALSA_OSS_BUFSZ_MIN)
+ continue;
+ bufsz_list[tmp++] = 1 << i;
+ }
+
+ if (tmp > 0)
+ err = snd_pcm_ioplug_set_param_list(io,
+ SND_PCM_IOPLUG_HW_BUFFER_BYTES, tmp, bufsz_list);
+ else
+#endif
+ /* buffer size , not strictly ^2 */
+ err = snd_pcm_ioplug_set_param_minmax(io,
+ SND_PCM_IOPLUG_HW_BUFFER_BYTES, ALSA_OSS_BUFSZ_MIN,
+ ALSA_OSS_BUFSZ_MAX);
+ if (err < 0)
+ return err;
+
+ return 0;
+#else
+ snd_pcm_ioplug_t *io = &oss->io;
+ static const snd_pcm_access_t access_list[] = {
+ SND_PCM_ACCESS_RW_INTERLEAVED,
+ SND_PCM_ACCESS_MMAP_INTERLEAVED
+ };
+ unsigned int nformats;
unsigned int format[5];
unsigned int nchannels;
unsigned int channel[6];
@@ -317,6 +609,7 @@ static int oss_hw_constraint(snd_pcm_oss_t *oss)
return err;
return 0;
+#endif
}
@@ -324,6 +617,10 @@ static int oss_close(snd_pcm_ioplug_t *io)
{
snd_pcm_oss_t *oss = io->private_data;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
close(oss->fd);
free(oss->device);
free(oss);
@@ -337,8 +634,8 @@ static const snd_pcm_ioplug_callback_t oss_playback_ca
.pointer = oss_pointer,
.close = oss_close,
.hw_params = oss_hw_params,
- .prepare = oss_prepare,
.drain = oss_drain,
+ .delay = oss_delay,
};
static const snd_pcm_ioplug_callback_t oss_capture_callback = {
@@ -348,8 +645,8 @@ static const snd_pcm_ioplug_callback_t oss_capture_cal
.pointer = oss_pointer,
.close = oss_close,
.hw_params = oss_hw_params,
- .prepare = oss_prepare,
.drain = oss_drain,
+ .delay = oss_delay,
};
@@ -360,6 +657,10 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss)
int err;
snd_pcm_oss_t *oss;
+#ifdef ALSA_OSS_DEBUG_VERBOSE
+ fprintf(stderr, "%s()\n", __func__);
+#endif
+
snd_config_for_each(i, next, conf) {
snd_config_t *n = snd_config_iterator_entry(i);
const char *id;

View File

@ -2,7 +2,7 @@
PORTNAME= alsa-seq-server
DISTVERSIONPREFIX= v
PORTVERSION= 1.0.0
PORTVERSION= 1.0.6
CATEGORIES= audio
MAINTAINER= hselasky@FreeBSD.org
@ -12,6 +12,8 @@ LICENSE= BSD2CLAUSE
USES= tar:bzip2 uidfix
USE_RC_SUBR= alsa_seq_server
USE_GITHUB= yes
GH_ACCOUNT= hselasky

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1627886108
SHA256 (hselasky-alsa-seq-server-v1.0.0_GH0.tar.gz) = 3ad38d8f966d2bbd5bd9a0256b518a1308ff0eca225d25953bf4757852e6dc8f
SIZE (hselasky-alsa-seq-server-v1.0.0_GH0.tar.gz) = 27894
TIMESTAMP = 1643475264
SHA256 (hselasky-alsa-seq-server-v1.0.6_GH0.tar.gz) = d0af976c4912b5fd02d21002e7320d948f534f53c6f7e53e03a597c70ddad6e3
SIZE (hselasky-alsa-seq-server-v1.0.6_GH0.tar.gz) = 31543

View File

@ -0,0 +1,19 @@
#!/bin/sh
# PROVIDE: alsa_seq_server
# REQUIRE: sysctl kld
# KEYWORD: shutdown
. /etc/rc.subr
name=alsa_seq_server
rcvar=alsa_seq_server_enable
load_rc_config $name
: ${alsa_seq_server_enable="NO"}
command="%%PREFIX%%/sbin/alsa-seq-server"
command_args="-B -F umidi -i 8"
run_rc_command "$1"

View File

@ -87,11 +87,4 @@ post-patch:
post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/mime/packages
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MQTWEBENGINE}
DEPRECATED= Uses EOL Python 2.7 via www/qt5-webengine
EXPIRATION_DATE=2021-06-23
.endif
.include <bsd.port.mk>

View File

@ -14,7 +14,6 @@ LICENSE= AGPLv3+
USES= cpe zip gettext php:flavors mysql
USE_PHP= pdo pdo_mysql hash session json intl simplexml curl dom xml
IGNORE_WITH_PHP=73 80
CONFLICTS_INSTALL= ampache-php* # etc/periodic/daily/500.ampache-cron man/man1/ampache.1.gz

View File

@ -19,7 +19,7 @@ USE_GITHUB= yes
GH_ACCOUNT= falkTX
GH_PROJECT= Cadence
USE_QT= core gui widgets buildtools_build
USE_PYQT= core_run gui_run network_run opengl_run svg_run widgets_run xml_run sip xml dbussupport
USE_PYQT= pyqt5 sip
CXXFLAGS+= -DJACKBRIDGE_PROPER_CPP11_SUPPORT=yes
# Give the Makefile the proper versioned binaries of PyQt

View File

@ -17,7 +17,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyliblo>0:audio/py-pyliblo@${PY_FLAVOR}
USES= compiler:c++11-lib desktop-file-utils gl gmake gnome localbase \
pkgconfig pyqt:5 python:3.4+ qt:5 shared-mime-info shebangfix \
tar:bz2 xorg
USE_PYQT= core_run gui_run sip svg_run widgets_run xml_build # "sip" should be "sip_build", but "import PyQt5.QtCore" wants "sip". See bug#225040
USE_PYQT= pyqt5 sip
USE_GNOME= gtk20 gtk30
USE_QT= core gui widgets buildtools_build
USE_GL= gl

View File

@ -1,13 +1,13 @@
PORTNAME= cyanrip
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
DISTVERSION= 0.8.0
CATEGORIES= audio
MAINTAINER= daniel.engberg.lists@pyret.net
MAINTAINER= diizzy@FreeBSD.org
COMMENT= Audio CD ripper with command-line interface and focus on accuracy
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libcdio.so:sysutils/libcdio \

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1604278538
SHA256 (cyanreg-cyanrip-v0.7.0_GH0.tar.gz) = 67318dee2a21ed17b98b406dfd2c86568c649fc4596c8fb22f8a767b7a7406d0
SIZE (cyanreg-cyanrip-v0.7.0_GH0.tar.gz) = 49850
TIMESTAMP = 1643096998
SHA256 (cyanreg-cyanrip-v0.8.0_GH0.tar.gz) = 9a1062a9555e398f399a7c5a3511a7fc05a555f3d158a90aefe21d64d960d2b0
SIZE (cyanreg-cyanrip-v0.8.0_GH0.tar.gz) = 58375

View File

@ -1,13 +1,9 @@
PORTNAME= geonkick
DISTVERSIONPREFIX= v
DISTVERSION= 2.8.0
PORTREVISION= 1
DISTVERSION= 2.8.1
CATEGORIES= audio
PKGNAMESUFFIX= -lv2
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 9dd43995ec37853893db14bce7f420a03ff4194b.patch:-p1 # Support redkite on FreeBSD: https://github.com/iurie-sw/geonkick/pull/160
MAINTAINER= yuri@FreeBSD.org
COMMENT= Software percussion synthesizer

View File

@ -1,5 +1,5 @@
TIMESTAMP = 1617735358
SHA256 (iurie-sw-geonkick-v2.8.0_GH0.tar.gz) = ec656e76df13ae1226bba6eeb8146c4f0ddbae2c34d28a89db473c16497eaff4
SIZE (iurie-sw-geonkick-v2.8.0_GH0.tar.gz) = 2623041
TIMESTAMP = 1643047037
SHA256 (iurie-sw-geonkick-v2.8.1_GH0.tar.gz) = 813fb10709136ed79403c8baf3d847fce9fbf717fea3c194ad2952e0172e6d45
SIZE (iurie-sw-geonkick-v2.8.1_GH0.tar.gz) = 2624064
SHA256 (9dd43995ec37853893db14bce7f420a03ff4194b.patch) = 7fc7e234f26f641ddb9147973e2d519e7566bb2c266255c495479a3b0bfbe194
SIZE (9dd43995ec37853893db14bce7f420a03ff4194b.patch) = 826

View File

@ -6,6 +6,9 @@ CATEGORIES= audio gnome
MASTER_SITES= GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+)\..*/\1/}
DIST_SUBDIR= gnome3
PATCH_SITES= https://gitlab.gnome.org/GNOME/${PORTNAME}/-/commit/
PATCHFILES+= d9f35b542adb.patch:-p1 # https://gitlab.gnome.org/GNOME/gnome-music/-/merge_requests/899
MAINTAINER= gnome@FreeBSD.org
COMMENT= GNOME music playing application

View File

@ -1,3 +1,5 @@
TIMESTAMP = 1632712899
SHA256 (gnome3/gnome-music-41.0.tar.xz) = 69b13567a87dc77dcf0c926d71d0fa2ebfa5a97f37817828df71d8a1b0129fd2
SIZE (gnome3/gnome-music-41.0.tar.xz) = 898652
SHA256 (gnome3/d9f35b542adb.patch) = a9167b7ad5c8d3b91ff8f2dbd9c13b3aa2bfb737fa7c82362192b3c0dfb75961
SIZE (gnome3/d9f35b542adb.patch) = 1035

View File

@ -1,5 +1,5 @@
PORTNAME= gtk-mixer
PORTVERSION= 1.0.0
DISTVERSION= 1.0.2
CATEGORIES= audio
MAINTAINER= rozhuk.im@gmail.com
@ -12,14 +12,9 @@ USE_GNOME= cairo gdkpixbuf2 gtk30
USE_GITHUB= yes
GH_ACCOUNT= rozhuk-im
PLIST_FILES= bin/gtk-mixer \
share/pixmaps/gtk-mixer.png
PLIST_FILES= bin/gtk-mixer
DESKTOP_ENTRIES="GTK-Mixer" "${COMMENT}" "${PORTNAME}" \
DESKTOP_ENTRIES="GTK-Mixer" "${COMMENT}" "multimedia-volume-control" \
"${PORTNAME}" "GTK;AudioVideo;Audio;Mixer;" true
post-install:
${LN} -sf gvolwheel/audio-volume-high.png \
${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1612162986
SHA256 (rozhuk-im-gtk-mixer-1.0.0_GH0.tar.gz) = 184ddcd8b7cfd8deb057746a603aa28cfc826ea24ab015f496ecf79166882e30
SIZE (rozhuk-im-gtk-mixer-1.0.0_GH0.tar.gz) = 27490
TIMESTAMP = 1620743022
SHA256 (rozhuk-im-gtk-mixer-1.0.2_GH0.tar.gz) = 55f570686c7b5acfc5c2c0b8d734d3cfdf3d90e904f91ef1eb5935b7217062c3
SIZE (rozhuk-im-gtk-mixer-1.0.2_GH0.tar.gz) = 27649

View File

@ -2,7 +2,7 @@
PORTNAME= hpsjam
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.20
DISTVERSION= 1.0.21
CATEGORIES= audio
MAINTAINER= hselasky@FreeBSD.org

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1637164947
SHA256 (hselasky-hpsjam-v1.0.20_GH0.tar.gz) = e3cb8b73e42a64abb00651fd537a4561c981d9554464e860b1748ff4fb5e492f
SIZE (hselasky-hpsjam-v1.0.20_GH0.tar.gz) = 1230706
TIMESTAMP = 1643496668
SHA256 (hselasky-hpsjam-v1.0.21_GH0.tar.gz) = 90b0a9290b81ad30cc94a6dc5edcb79800162ce211ba3843cdfacf6b12f522ad
SIZE (hselasky-hpsjam-v1.0.21_GH0.tar.gz) = 1230626

View File

@ -12,7 +12,7 @@ LICENSE_COMB= multi
LIB_DEPENDS= libsamplerate.so:audio/libsamplerate \
libsysinfo.so:devel/libsysinfo
USES= compiler:c11 pkgconfig python:3.4+ shebangfix waf
USES= pkgconfig python:3.4+ shebangfix waf
USE_LDCONFIG= yes
USE_RC_SUBR= jackd
@ -49,6 +49,14 @@ OPUS_CONFIGURE_OFF= --opus=no
PROFILING_DESC= Build with profiling information
PROFILING_CONFIGURE_ON= --profile
.include <bsd.port.options.mk>
.if ${ARCH} == powerpc || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le
USES+= compiler:gcc-c++11-lib
.else
USES+= compiler:c11
.endif
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MDBUS}

View File

@ -2,8 +2,7 @@
PORTNAME= libumidi
DISTVERSIONPREFIX= v
DISTVERSION= 2.1.2
PORTREVISION= 1
DISTVERSION= 2.1.5
CATEGORIES= audio
MAINTAINER= hselasky@FreeBSD.org
@ -17,12 +16,16 @@ USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= hselasky
OPTIONS_DEFINE= DEBUG JACK
OPTIONS_DEFAULT=JACK
OPTIONS_DEFINE= DEBUG ALSAMIDI JACK
OPTIONS_DEFAULT=ALSAMIDI JACK
ALSAMIDI_DESC= MIDI via ALSA
ALSAMIDI_MAKE_ARGS= " HAVE_ALSA=YES"
ALSAMIDI_LIB_DEPENDS= libasound.so:audio/alsa-lib
JACK_MAKE_ARGS= " HAVE_JACK=YES"
JACK_LIB_DEPENDS= libjack.so:audio/jack
DEBUG_MAKE_ARGS= " HAVE_DEBUG=YES"
MAKE_ARGS+=" HAVE_MAN=YES"
DEBUG_MAKE_ARGS=" HAVE_DEBUG=YES"
MAKE_ARGS+= " HAVE_MAN=YES"
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1610191680
SHA256 (hselasky-libumidi-v2.1.2_GH0.tar.gz) = b5f33b69a6cd68b505475c6cd883bc5cafea46b6e73f7029ae3a20b24f2b1729
SIZE (hselasky-libumidi-v2.1.2_GH0.tar.gz) = 37938
TIMESTAMP = 1643474962
SHA256 (hselasky-libumidi-v2.1.5_GH0.tar.gz) = 53cb8e9fc48eab2750b0e4799b5b06cf2706f3cc3efcd44988cc075a048196d6
SIZE (hselasky-libumidi-v2.1.5_GH0.tar.gz) = 41503

View File

@ -1,8 +1,7 @@
The universal MIDI library is a multithreaded MIDI processing toolkit
which can be used by realtime and non-realtime applications to load,
save, modify and playback MIDI files. The umidi20 library supports
direct playback and recording through JACK MIDI, FIFOs and character
direct playback and recording via JACK, ALSA, FIFOs and character
device nodes.
WWW: https://github.com/hselasky/libumidi

View File

@ -2,7 +2,7 @@
PORTNAME= midipp
DISTVERSIONPREFIX= v
DISTVERSION= 2.1.1
DISTVERSION= 2.1.2
CATEGORIES= audio
MAINTAINER= hselasky@FreeBSD.org
@ -10,7 +10,7 @@ COMMENT= MIDI playback, recording, and live performance tool
LICENSE= BSD2CLAUSE
BUILD_DEPENDS= libumidi>=2.1.1:audio/libumidi
BUILD_DEPENDS= libumidi>=2.1.3:audio/libumidi
LIB_DEPENDS= libumidi20.so:audio/libumidi
USES= compiler:c++11-lang gl qmake qt:5 tar:bzip2

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1630595551
SHA256 (hselasky-midipp-v2.1.1_GH0.tar.gz) = 412aa98475f620d835ccfa071bdcdf8396454cc72ee026c185605b343d0d1456
SIZE (hselasky-midipp-v2.1.1_GH0.tar.gz) = 159212
TIMESTAMP = 1643276648
SHA256 (hselasky-midipp-v2.1.2_GH0.tar.gz) = 81fb6562b342b094ce82e979d14861b7b4a55d526d3b9d7ef31790bcf020be29
SIZE (hselasky-midipp-v2.1.2_GH0.tar.gz) = 159756

View File

@ -2,7 +2,8 @@ MIDI Player Pro allows you to play any kind of MIDI music in seconds
with your fingertips. List of supported features:
- Raw MIDI.
- Jack MIDI.
- ALSA MIDI.
- JACK MIDI.
- MPE support.
- Import from lyrics sites (chorded lyrics)
- Import from GuitarPro v3 and v4 format.

View File

@ -1,7 +1,7 @@
PORTNAME= ${GH_PROJECT:tl}
DISTVERSIONPREFIX= v
DISTVERSION= 3.6.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= audio
MAINTAINER= adridg@FreeBSD.org
@ -49,7 +49,7 @@ OPTIONS_DEFAULT_i386= WEBENGINE
WEBENGINE_DESC= Use WebEngine in the welcome panel
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL= BUILD_ALSA
ALSA_CMAKE_BOOL= BUILD_ALSA HAS_MIDI
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CMAKE_BOOL= BUILD_JACK
PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
@ -65,9 +65,4 @@ WEBENGINE_CMAKE_BOOL= BUILD_WEBENGINE
CXXFLAGS+= -Wno-inconsistent-missing-override
.endif
.if ${PORT_OPTIONS:MWEBENGINE}
DEPRECATED= Uses EOL Python 2.7 via www/qt5-webengine
EXPIRATION_DATE=2021-06-23
.endif
.include <bsd.port.post.mk>

View File

@ -0,0 +1,10 @@
--- audio/drivers/alsa.cpp.orig 2022-01-29 16:19:41 UTC
+++ audio/drivers/alsa.cpp
@@ -616,6 +616,7 @@ AlsaAudio::~AlsaAudio()
{
stop();
delete alsa;
+ delete midiDriver;
}
//---------------------------------------------------------

View File

@ -0,0 +1,11 @@
--- audio/drivers/alsamidi.h.orig 2022-01-29 22:16:06 UTC
+++ audio/drivers/alsamidi.h
@@ -47,7 +47,7 @@ class AlsaMidiDriver : public MidiDriver {
public:
AlsaMidiDriver(Seq* s);
- virtual ~AlsaMidiDriver() {}
+ ~AlsaMidiDriver();
virtual bool init();
virtual Port registerOutPort(const QString& name);
virtual Port registerInPort(const QString& name);

View File

@ -0,0 +1,18 @@
--- audio/drivers/mididriver.cpp.orig 2022-01-29 16:09:37 UTC
+++ audio/drivers/mididriver.cpp
@@ -112,8 +112,14 @@ static const unsigned int outCap = SND_SEQ_PORT_CAP_SU
//---------------------------------------------------------
AlsaMidiDriver::AlsaMidiDriver(Seq* s)
- : MidiDriver(s)
+ : MidiDriver(s), alsaSeq(0)
{
+ }
+
+AlsaMidiDriver::~AlsaMidiDriver()
+ {
+ if (alsaSeq)
+ snd_seq_close(alsaSeq);
}
//---------------------------------------------------------

View File

@ -1,45 +0,0 @@
PORTNAME= nekobi
DISTVERSION= g20180825
PORTREVISION= 4
CATEGORIES= audio
PKGNAMESUFFIX= -lv2
MAINTAINER= yuri@FreeBSD.org
COMMENT= Simple single-oscillator synth based on the Roland TB-303
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= lv2>0:audio/lv2 \
bash:shells/bash
LIB_DEPENDS= libjack.so:audio/jack
USES= compiler:c++11-lang gl gmake localbase pkgconfig shebangfix xorg
SHEBANG_FILES= dpf/utils/generate-ttl.sh
USE_GITHUB= yes
GH_ACCOUNT= DISTRHO
GH_PROJECT= Nekobi
GH_TAGNAME= 840a692
GH_TUPLE= DISTRHO:DPF:ea7545a:dpf/dpf
USE_GL= gl
USE_XORG= x11
CFLAGS+= -I${FILESDIR}
CFLAGS+= -Wno-c++11-narrowing # clang prints errors: https://github.com/DISTRHO/Nekobi/issues/7
CONFLICTS_INSTALL= dpf-plugins-lv2 # bin/Nekobi
.include <bsd.port.pre.mk>
.if ${CHOSEN_COMPILER_TYPE} == gcc
post-patch:
@${REINPLACE_CMD} -e 's/-mtune=generic -msse -msse2 //' \
${WRKSRC}/dpf/Makefile.base.mk
.endif
do-install: # https://github.com/DISTRHO/Nekobi/issues/8
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/lv2
cd ${WRKSRC}/bin && ${COPYTREE_SHARE} Nekobi.lv2 ${STAGEDIR}${PREFIX}/lib/lv2/
${INSTALL_PROGRAM} ${WRKSRC}/bin/Nekobi ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.post.mk>

View File

@ -1,5 +0,0 @@
TIMESTAMP = 1549141025
SHA256 (DISTRHO-Nekobi-g20180825-840a692_GH0.tar.gz) = c9c9cdd95ca19f8ead5ff4c0ba8849747ee34b65e6beb185c45bd4c53adfdb7e
SIZE (DISTRHO-Nekobi-g20180825-840a692_GH0.tar.gz) = 420235
SHA256 (DISTRHO-DPF-ea7545a_GH0.tar.gz) = 3b5be02832277d7e65c058a31573d93e694b10503872a12393637da61d7b0721
SIZE (DISTRHO-DPF-ea7545a_GH0.tar.gz) = 1621242

View File

@ -1,35 +0,0 @@
#ifdef HAVE_MNTENT_H
#include <mntent.h>
#else
#ifndef mntent_h_
#define mntent_h_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>
#define MOUNTED "mounted"
#define MNTTYPE_NFS "nfs"
//#define MOPTSLEN (256 - (MNAMELEN * 2 + MFSNAMELEN + 2 * sizeof(int)))
struct mntent {
char *mnt_fsname; /* file system name */
char *mnt_dir; /* file system path prefix */
char *mnt_type; /* dbg, efs, nfs */
char *mnt_opts; /* ro, hide, etc. */
int mnt_freq; /* dump frequency, in days */
int mnt_passno; /* pass number on parallel fsck */
};
FILE * setmntent(char * filep, char * type);
struct mntent *getmntent(FILE * filep);
//char * hasmntopt(struct mntent * mnt, char * opt);
int endmntent(FILE * filep);
#endif /* mntent_h_ */
#endif /* not HAVE_MNTENT_H */

View File

@ -1,20 +0,0 @@
--- dpf/dgl/src/Window.cpp.orig 2018-09-25 22:56:57 UTC
+++ dpf/dgl/src/Window.cpp
@@ -18,6 +18,7 @@
//#define PUGL_GRAB_FOCUS 1
#include "../Base.hpp"
+#include <unistd.h>
#undef PUGL_HAVE_CAIRO
#undef PUGL_HAVE_GL
@@ -1164,7 +1165,8 @@ bool Window::openFileBrowser(const FileB
if (startDir.isEmpty())
{
- if (char* const dir_name = get_current_dir_name())
+ char buf[MAXPATHLEN];
+ if (char* const dir_name = getwd(buf))
{
startDir = dir_name;
std::free(dir_name);

View File

@ -1,8 +0,0 @@
Simple single-oscillator synth based on the Roland TB-303.
This is a DPF'ied build of nekobee, allowing LV2 and VST builds of the plugin,
plus a nicer UI with a simple cat animation.
Please see also the port audio/nekobee which is a corresponding DSSI plugin.
WWW: https://github.com/DISTRHO/Nekobi

View File

@ -1,6 +0,0 @@
bin/Nekobi
lib/lv2/Nekobi.lv2/Nekobi_dsp.so
lib/lv2/Nekobi.lv2/Nekobi_dsp.ttl
lib/lv2/Nekobi.lv2/Nekobi_ui.so
lib/lv2/Nekobi.lv2/Nekobi_ui.ttl
lib/lv2/Nekobi.lv2/manifest.ttl

View File

@ -1,8 +1,7 @@
# Created by: Emanuel Haupt <ehaupt@critical.ch>
PORTNAME= ocp
PORTVERSION= 0.2.92
PORTREVISION= 1
PORTVERSION= 0.2.93
PORTEPOCH= 1
CATEGORIES= audio
MASTER_SITES= https://github.com/mywave82/opencubicplayer/releases/download/v${PORTVERSION}/
@ -16,7 +15,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le
BUILD_DEPENDS= xa65:devel/xa65
LIB_DEPENDS= libdiscid.so:audio/libdiscid \
LIB_DEPENDS= libcjson.so:devel/libcjson \
libdiscid.so:audio/libdiscid \
libid3tag.so:audio/libid3tag \
libmad.so:audio/libmad \
libogg.so:audio/libogg \
@ -96,7 +96,4 @@ post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/ocp/*.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/ocp/autoload/*.so
post-install-X11-on:
${INSTALL_DATA} ${WRKSRC}/desktop/*.xpm ${STAGEDIR}${PREFIX}/share/pixmaps
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1642011971
SHA256 (ocp-0.2.92.tar.bz2) = 40cd543feb7db0f57c09bfc15aaa4bcd40cc1b393b26fe6ebf7332126455310b
SIZE (ocp-0.2.92.tar.bz2) = 3042122
TIMESTAMP = 1642959284
SHA256 (ocp-0.2.93.tar.bz2) = 8a93a980cdf6cc274abd470bed8e17253521c7cf849cd1805626b07401147425
SIZE (ocp-0.2.93.tar.bz2) = 3071816

View File

@ -1,4 +1,5 @@
bin/ocp
%%XORG%%bin/ocp-x11
bin/ocp-curses
%%SDL%%bin/ocp-sdl2
lib/ocp/autoload/10-devi.so
@ -50,12 +51,15 @@ lib/ocp/playit.so
lib/ocp/playmp2.so
lib/ocp/playogg.so
%%ADPLUG%%lib/ocp/playopl.so
lib/ocp/autoload/30-timidityconfig.so
lib/ocp/playsid.so
lib/ocp/playtimidity.so
lib/ocp/playwav.so
lib/ocp/playxm.so
lib/ocp/playym.so
man/man1/ocp.1.gz
%%DATADIR%%/data/ocp.hlp
%%DATADIR%%/etc/ocp.ini
%%DESKTOP%%share/applications/cubic.org-opencubicplayer.desktop
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
@ -72,7 +76,11 @@ man/man1/ocp.1.gz
%%PORTDOCS%%%%DOCSDIR%%/html/starting.html
%%PORTDOCS%%%%DOCSDIR%%/html/support.html
%%PORTDOCS%%%%DOCSDIR%%/html/wap.html
%%XORG%%share/pixmaps/opencubicplayer.xpm
%%XORG%%share/pixmaps/opencubicplayer_mini.xpm
%%DATADIR%%/data/ocp.hlp
%%DATADIR%%/etc/ocp.ini
%%XORG%%share/icons/hicolor/128x128/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/16x16/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/22x22/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/24x24/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/32x32/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/48x48/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/64x64/apps/opencubicplayer.png
%%XORG%%share/icons/hicolor/scalable/apps/opencubicplayer.svg

View File

@ -21,21 +21,18 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}discid>=0.5.2:audio/py-discid@${PY_FLAVOR} \
USES= gettext pyqt:5 python:3.6+ desktop-file-utils
USE_LOCALE= en_US.UTF-8
USE_PYQT= core_run dbus_run gui_run network_run widgets_run sip
USE_PYQT= pyqt5_run sip
USE_PYTHON= autoplist distutils noflavors
CONFLICTS_INSTALL= picard-tools py*-python-picard # bin/picard
WRKSRC= ${WRKDIR}/${PORTNAME}-release-${DISTVERSION}
OPTIONS_DEFINE= ACOUSTID PLAYER PLUGINS
OPTIONS_DEFAULT= PLAYER PLUGINS
OPTIONS_DEFINE= ACOUSTID PLUGINS
OPTIONS_DEFAULT= PLUGINS
ACOUSTID_RUN_DEPENDS= fpcalc:audio/chromaprint
PLAYER_DESC= Built-in audio player
PLAYER_USE= PYQT=multimedia_run
PLUGINS_DESC= Install various plugins to extend functionality
PLUGINS_RUN_DEPENDS= picard-plugins>=2.0:audio/picard-plugins

View File

@ -1,7 +1,7 @@
# Created by: rene@FreeBSD.org (repocopied from audio/py-mpd)
PORTNAME= python-mpd2
PORTVERSION= 3.0.4
PORTVERSION= 3.0.5
CATEGORIES= audio python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1612519121
SHA256 (python-mpd2-3.0.4.tar.gz) = 7a67834e22d97e7cd77f8951c8baf87c149285c67d67d73550ce034302561ae5
SIZE (python-mpd2-3.0.4.tar.gz) = 57445
TIMESTAMP = 1643133725
SHA256 (python-mpd2-3.0.5.tar.gz) = 6f1bffd93b9a32fc018a9bbf3487505b52e0d757ec34066905c60a912d492384
SIZE (python-mpd2-3.0.5.tar.gz) = 57963

View File

@ -1,7 +1,7 @@
# Created by: Emanuel Haupt <ehaupt@critical.ch>
PORTNAME= schismtracker
PORTVERSION= 20211116
PORTVERSION= 20220125
CATEGORIES= audio
MAINTAINER= ehaupt@FreeBSD.org

Some files were not shown because too many files have changed in this diff Show More