diff options
-rw-r--r-- | dev-libs/gtkd/gtkd-3.10.0-r1.ebuild | 5 | ||||
-rw-r--r-- | dev-libs/gtkd/gtkd-3.10.0-r2.ebuild | 5 | ||||
-rw-r--r-- | dev-util/dub/dub-1.38.1-r1.ebuild | 126 | ||||
-rw-r--r-- | dev-util/serve-d/Manifest | 17 | ||||
-rw-r--r-- | dev-util/serve-d/serve-d-0.8.0_beta17.ebuild | 144 | ||||
-rw-r--r-- | eclass/dub.eclass | 312 | ||||
-rw-r--r-- | net-misc/onedrive/onedrive-2.4.25-r1.ebuild | 13 | ||||
-rw-r--r-- | sys-fs/btdu/Manifest | 5 | ||||
-rw-r--r-- | sys-fs/btdu/btdu-0.5.1.ebuild | 45 | ||||
-rw-r--r-- | sys-fs/btdu/metadata.xml | 7 | ||||
-rw-r--r-- | x11-terms/tilix/tilix-1.9.6-r2.ebuild | 9 |
11 files changed, 671 insertions, 17 deletions
diff --git a/dev-libs/gtkd/gtkd-3.10.0-r1.ebuild b/dev-libs/gtkd/gtkd-3.10.0-r1.ebuild index 653a41e..55d4108 100644 --- a/dev-libs/gtkd/gtkd-3.10.0-r1.ebuild +++ b/dev-libs/gtkd/gtkd-3.10.0-r1.ebuild @@ -5,7 +5,7 @@ EAPI=7 DESCRIPTION="GtkD is a D binding and OO wrapper of GTK+" HOMEPAGE="http://gtkd.org/" -LICENSE="LGPL-3" +LICENSE="LGPL-3+-with-gtkd-exceptions test? ( LGPL-3+ )" SLOT="3" KEYWORDS="amd64 x86" @@ -34,7 +34,8 @@ RDEPEND=" GTKD_USE_FLAGS=(gtk opengl sourceview gstreamer vte peas) GTKD_LIB_NAMES=(gtkd gtkdgl gtkdsv gstreamerd vted peasd) GTKD_SRC_DIRS=( gtkd gtkdgl sourceview gstreamer vte peas) -IUSE="${GTKD_USE_FLAGS[@]:1} static-libs" +IUSE="${GTKD_USE_FLAGS[@]:1} static-libs test" +RESTRICT="!test? ( test )" MAJOR=$(ver_cut 1) MINOR=$(ver_cut 2-) diff --git a/dev-libs/gtkd/gtkd-3.10.0-r2.ebuild b/dev-libs/gtkd/gtkd-3.10.0-r2.ebuild index 5381385..9d898df 100644 --- a/dev-libs/gtkd/gtkd-3.10.0-r2.ebuild +++ b/dev-libs/gtkd/gtkd-3.10.0-r2.ebuild @@ -8,7 +8,7 @@ inherit multilib-minimal DESCRIPTION="GtkD is a D binding and OO wrapper of GTK+" HOMEPAGE="https://gtkd.org/" SRC_URI="https://gtkd.org/Downloads/sources/GtkD-${PV}.zip" -LICENSE="LGPL-3" +LICENSE="LGPL-3+-with-gtkd-exceptions test? ( LGPL-3+ )" SLOT="3" KEYWORDS="~amd64 ~x86" @@ -45,7 +45,8 @@ GTKD_LIB_NAMES=(gtkd gtkdgl gtkdsv gstreamerd vted peasd) GTKD_SRC_DIRS=( gtkd gtkdgl sourceview gstreamer vte peas) # static-libs I have no idea about. It makes a "static-library" that # dynamically links phobos and uses dl to open the gtk+ libs at runtime. -IUSE="${GTKD_USE_FLAGS[@]:1} static-libs" +IUSE="${GTKD_USE_FLAGS[@]:1} static-libs test" +RESTRICT="!test? ( test )" REQUIRED_USE=${DLANG_REQUIRED_USE} MAJOR=$(ver_cut 1) diff --git a/dev-util/dub/dub-1.38.1-r1.ebuild b/dev-util/dub/dub-1.38.1-r1.ebuild new file mode 100644 index 0000000..43506d2 --- /dev/null +++ b/dev-util/dub/dub-1.38.1-r1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DLANG_COMPAT=( dmd-2_{106..109} gdc-1{3,4} ldc2-1_{35..39} ) +DUB_DEPENDENCIES=( + gitcompatibledubpackage@1.0.1 + gitcompatibledubpackage@1.0.4 + urld@2.1.1 +) +inherit dlang-single dub shell-completion + +DESCRIPTION="Package and build management system for D" +HOMEPAGE="https://code.dlang.org/" + +GITHUB_URI="https://codeload.github.com/dlang" +SRC_URI=" + ${GITHUB_URI}/${PN}/tar.gz/v${PV} -> ${P}.tar.gz + test? ( ${DUB_DEPENDENCIES_URIS} ) +" +LICENSE="MIT" + +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND+=" virtual/pkgconfig" + +src_unpack() { + dub_gen_settings + unpack "${P}.tar.gz" + use test && dub_copy_dependencies_locally "${DUB_DEPENDENCIES[@]}" +} + +src_configure() { + # gdc generates unaligned memory accesses with optimizations and avx + # enabled. It has been fixed upstream. See: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114171 + # Fixed in >=sys-devel/gcc-13.2.1_p20240330. Adding -mno-sse2 makes + # tests fail so defer to removing the common way users get avx + # instructions enabled (-march=native) and warn them. + if [[ ${ARCH} == amd64 && ${EDC} == gdc-13 && ${DCFLAGS} == *-march=native* ]]; then + ewarn "<sys-devel/gcc-13.2.1_p20240330 is known to generate invalid code" + ewarn "on amd64 with certain flags. For this reason -march=native will be" + ewarn "removed from your flags. Feel free to use -march=<cpu> to bypass this" + ewarn "precaution." + ewarn "" + ewarn "See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114171" + dlang-filter-dflags "gdc*" "-march=native" + fi +} + +src_compile() { + local imports=source versions="DubApplication DubUseCurl" + dlang_compile_bin bin/dub $(<build-files.txt) + + # Generate man pages. Rebuilds dub so put it behind a USE flag. + if use doc; then + einfo "Generating man pages" + # You're supposed to be able to do ./bin/dub scrips/man/gen_man.d + # but it gives linking errors with gdc. + + # $imports is set up above. + versions=DubUseCurl + dlang_compile_bin scripts/man/gen_man{,.d} \ + $(sed '/^source\/app.d$/d' build-files.txt) + ./scripts/man/gen_man || die "Could not generate man pages" + fi +} + +src_test() { + # Setup the environment for the tests. + local -x DUB="${S}/bin/dub" + + # Note, disabling tests is possible yet very hard. You have to + # create a bash variable containing a regex (to be used in =~) that + # matches all the tests that you want *to* run. It's probably easier + # to delete the subdirectory under ${S}/test. + + # Tries to connect to github.com and fails due to the network sandbox + rm -rf "${S}/test/git-dependency" || die + # Doesn't work on non amd64/x86 + if [[ ${ARCH} != @(amd64|x86) ]]; then + rm -rf test/issue1447-build-settings-vars || die + fi + + # gdc-13 doesn't support #include's in its importC implementation. + if [[ ${EDC} == gdc-13 ]]; then + rm -rf "${S}/test/use-c-sources" || die + fi + + # See https://bugs.gentoo.org/921581 we have to remove -op (preserve + # source path for output files) from the flags lest the sandbox + # trips us up. This shouldn't be a problem anymore with dlang-single. + dlang-filter-dflags "*" "--op" "-op" + + # Use -Wno-error or equivalent + local -x DFLAGS="${DCFLAGS} ${DLANG_LDFLAGS} $(dlang_get_wno_error_flag)" + + # Run the unittests in the source files. + "${DUB}" test --verbose -c application || die + + # Some tests overwrite DUB_HOME messing up the configuration file + # so put it in one of the other available locations + mkdir -p "${S}/bin/../etc/dub" || die + cp "${DUB_HOME}/settings.json" "${S}/bin/../etc/dub/settings.json" || die + + # Run the integration tests. + FRONTEND="$(dlang_get_fe_version)" test/run-unittest.sh \ + || die "Tests failed" +} + +src_install() { + dobin bin/dub + dodoc README.md + + # Make sure there are no man files in any other section. + use doc && doman scripts/man/*.1 + + newbashcomp scripts/bash-completion/${PN}.bash ${PN} + dozshcomp scripts/zsh-completion/_${PN} + dofishcomp scripts/fish-completion/${PN}.fish +} diff --git a/dev-util/serve-d/Manifest b/dev-util/serve-d/Manifest index bedec91..6d53a02 100644 --- a/dev-util/serve-d/Manifest +++ b/dev-util/serve-d/Manifest @@ -4,31 +4,45 @@ DIST botan-math-1.0.3.zip 20009 BLAKE2B 7f087f9f8048d817e59004a725e6a33bf6577179 DIST cachetools-0.4.1.zip 2254928 BLAKE2B c0ccc604e35af4d9305edce56e24e7fdbd15a9244ef7259349edb3cf08459de3d81d19e466ce9bf81b0742a7d50f85c1542572923fed4265486f4d5de86b2b38 SHA512 24a652bed78212efd594abd8602775692a4a0bcaa7a590f280ce36a34e2fcca5e8268e8c86ded5d855a9a1cbd80b8c73b405471407a2e9d2bf1417133d7dd0ec DIST dcd-0.16.0-beta.2.zip 364145 BLAKE2B 94adfc0eab31bd40f8e9a1ac56beb995280379a81045d581f34db52e83d9c2b986ff01f1113725383c54932f49c5b6a24d9d319ef5735ad6655fa7d1c0e55f78 SHA512 2e99fd65a3bb89d55e209cbd004fa4592c5da98e905fd117a1595a0f0d4ff90ac4651fc29214fb00fb6b53982b8506b493d829809a0692391d69ce3d06cac3c3 DIST dfmt-0.15.0.zip 317025 BLAKE2B 56414994e667d88fee2e157ff0f0e868d782514253116ee402d8a34ab1ba76b5af68715a80d8471982f45a23fe7e3d3412239de30336634d23adb7f76b71c0cd SHA512 6294445ed7a77c4b39985a75e9470efb2485c75172293c0b8f0423fe20863aaf1ff3bf47bd37e5f900930d52372453988e1419266f81b95629961b3b7da7352c +DIST dfmt-0.15.1.zip 316024 BLAKE2B 870e46d41ef0ee7a22fb5a02a73897094e28d3d2668a9df51d49bdceeee82ba08158384789bc4f22cdb860c5d757fda5029174555db6e838cb4e91eab0294617 SHA512 deb488c4a39a60b775e89fdf28f507d12f8827e3ffa07a2a35f1e8527bb2efc379cb8bfd15bbbee267b9cf2df610acd47e2aabe2ae737e0bec993005e1f0861f DIST diet-complete-0.0.3.zip 26469 BLAKE2B 8245bb736ee825389d8a51781598d887ee4b6d419daa5744cf8809bc7a81e2f94e35ce75be9641f9dabf5b54235a08224e405bcb9194d52b90180f1effebfaf4 SHA512 c07d70c2b0e7ebb35075d088cb421e3c59cc60d1a799d13052f420c566be039538eccf36c843925baf43eb320171db16565dacdf1551b74efcd467351e385082 DIST diet-ng-1.8.1.zip 57049 BLAKE2B 0c095008928eebc5964b4f6112dddec22c1ac757abbe51fafb79661ad9e71dbd93ec4836176921ae79c29222f80999067f8d8970d250911e1ad4ff7ac424f7e1 SHA512 0717abd6c14da984cc723e715f813128274dced16914cf7b83aaf33014a10e8bf98e7cda30afbf040969378c9378d6554328dcfcc7fe4ac97f11ce62af9abca6 DIST dscanner-0.16.0-beta.2.zip 175589 BLAKE2B c31040370d0a9970f57661be72340482242f2cebe1afd13cb6f3298f013aee156f6fd94450bdded4a834788731da971f02fa485b9bca8c50f21b4175dc61dad9 SHA512 a839e81f3b0e57d94a68004c921acbe8d7d8bfba6bd28c388ba097adc872c0818821ff83f71aa49d6f829bb306296c3e5784ce3f8efd0d6c0d7d0423fd238cc4 +DIST dscanner-0.16.0-beta.4.zip 181526 BLAKE2B b1458d494f1a11a70a3d51101dd0c4b8029b7367693e4992c0615aacc490d14a95df12b9ad721a71717b4809477b224dd92c4cc3638792c0e0278dc9c1954673 SHA512 0c92846fd378938e3103697ff11055983bcdfca874c5f2f541a63088b9fa0cb9170e1d0eabec0ce4e667f2604af0a741dbe0bcb181067b3d569a820bbe7ca779 DIST dub-1.33.1.zip 1817213 BLAKE2B f41cbb21558f50ec0adf5063d69fade7562ae085258eb725ea74840be36cf513d24dece4eb0f020f139f8caca6d282608e99f90f348581aca187da3731b2f60b SHA512 6fd6bc26c0e4f5df36371cdc208e5ab92adab10fea3093cd04b64d2bc80c32624907bae06301512408acbc3ce754847d7b732393e650b6174ec08319ecbc9a52 +DIST dub-1.36.0.zip 1850855 BLAKE2B c9a4089f13f0f80c77bb5be2bab1869a1abafdde7da8d8dd963b6e8f18d602801149c2b4d1b538f2424c21e9ddea7905570568fa047bc922ec2d0041ce817fd8 SHA512 5dfadcdc28ff09a8ee3aadac0305e9b988561a3ae087df63e6162dba116cfc386aae4be485eeccfd19465b5b24b73250f90d6c5cf8de474700485a8dbb135713 DIST emsi_containers-0.9.0.zip 70600 BLAKE2B e00d94acde01f5757928bda3adad945dcb38692544f91011aa05ff2fbd859f00c5ba67d1ec3bda5f4c90d42086d1ea65d418dafd02abdc8a7a7854707b2ebaf1 SHA512 cf599b675860bb91958bf78ba225e0d1755fec49ca1c1854d71f05ead6fd6037c30dfcc351e68accdbf42b9acc87c05731b8f8ac123962560869f46d4843c004 DIST eventcore-0.9.25.zip 173520 BLAKE2B cf547a44f534d1a186e9198e59e1d0ff7274babf2c1fe7b288c5052aee732eda29e4294ce924d192d027713af41e6f16f6a88f2539942a169153f1b177de5b9d SHA512 ba4d91aef8116d605d2a8ba8bf026a8e6acd163adc1350b1133776c93e58be4399efbd8b6b8b582be1924d848f3412836d34c959b532d71faa3c6f393adcb1e0 +DIST eventcore-0.9.28.zip 173901 BLAKE2B 54887bba898c8e691ff663323b3c6fa2c7301b70b6c00a9dcd5b9d89deff57516065a5a51a712bb58038c0d09f53d7b71a49b5f3663520aa5554878f57e8ee36 SHA512 ce91398d80d061feef9c6469dea9e1beda8a53f9cd2dbe52a76ab15bdba372c45303df2cb97af5a58c9e79a8d763d418667b05e3c9f3cc76569b722491858c34 DIST fuzzymatch-1.0.0.zip 9473 BLAKE2B 2dfbb967cb95c6241f72e3e30ce16dd616aed36f7ecb4d0d8e71a43d93fb0ee80e7762df8bdae8a192d1d004119f89f1db78f92aeee57d1fb0c0160dadb84aaf SHA512 9e2e039e8071120a01e09db13ce1f242d9690e5c19bdd2b28525a259d02d32165454c0f463860634bc4f522f41ff219858555178a38be40b0dcede83fba0cd01 +DIST gitcompatibledubpackage-1.0.4.zip 2041 BLAKE2B 595080956881fd86753b17cdbb12108ab03161806ca51c748017f29251dd47a95a0aebde4442db1783602cfa67a9593014ebb6ca591dcfec2b08eef3d737e2cc SHA512 12057117be99bb4d2351af74cfd36c050734383bfc44b185cf5f9737d982e9fd6840f6968a3246b625d4ec90e9d30f5e394f8fa1febb85464429d771bc8062d0 DIST inifiled-1.3.3.zip 10073 BLAKE2B 0a46ae4ea5475dbc4c1f6572e984316fad6dddae8867772c81b1d73fd8b5e962211262611be18d54e8683e5870b682e49ef0592dc3b3b6251ce054509d38f83a SHA512 f8c68f35a6a651d40f692f5f012d1f31be1750ff0423dbca1f812edd852e249d2c38fc98534c5ec901e5e35cd34eadb19f00fd2ae13fbfd7e4515a62efe92af4 DIST isfreedesktop-0.1.1.zip 3051 BLAKE2B 2a74ce6dfe0c9e2024032e8907cfa5506709954ef21e559256e452f7d789c7be94508f72aad26f64354567ca95a00f890f2125d48bbf6aea8092379ce574c038 SHA512 8d0a9c7305a8d8c7aea1847f1f10297da39cf2ad6f71fb609307ad4561e4c061ef9751e00b22c4bd8ff28e7692f5b34b32c397a9cba632f69b7c02d69078ca3a DIST libasync-0.8.6.zip 165715 BLAKE2B 567761125bad13599a1380caf96fa14dc9c8804da718220e914a0ef0a22b2e9569b0a1a409b9b8a4eb4dd8bef2c324eb39e2b5bcc7e98780b3a718d686844fe2 SHA512 c7d2d125ce0404e96bfd3422cde79aff5a75cba925c426be2b407de45bc419754f08934b6aa19df8a25eca1a2265f81da1ec011cc8687bc9590390dc5767ec33 DIST libddoc-0.8.0.zip 27894 BLAKE2B e9b6cb653f404387dc70a93a2332c7b2d2cb69b48769ee1864338ba5c0f2fedc70c6176108e8584e6b6d6d9a6bec1cc7a657dbbdec9da887b1d5852604862bbc SHA512 f50e1746bd5f6e2fd2b7018568050637a329ee4bfd533361e34efe35837f4ffbc2ae94146c1a32d55aa6a2e1dbde9a797e78f638b8fc49a7a2ec0478fdc46a4a DIST libdparse-0.23.2.zip 192466 BLAKE2B 96fb06d0952719dd9e9856efb2fb3fa125c8e5b7026d15e309dff380bee1e451ab9a5009fca1ee0f9f2ba55dc11ad318fc8214e7fbd2fcb47fdd8ec3fe9d1f00 SHA512 9abc405caf9090eae98ee7945d6c0dbd35c75426b3ffef13f2510e134864d3d58a512bce603c6b379ef695aca7b24d251fedb6cc933521af8cdd58edb3f3d3a3 +DIST memutils-1.0.10.zip 56693 BLAKE2B 1097169253905383acdc0a093ba5e82efa38fb5cd50f44967bb27d829392d8463786fc1e6acf7656905d8f80e4823f0943046439db501a2a75323c7cd0a9aca0 SHA512 a64f94f58261e5e8448868b37544b91a2de26fa3bbc1e6a89e7af2d6b15c6e9cfd6641f2872fc5c2713b22951f52fff2944055033a944a7a81d50593239f729b DIST memutils-1.0.9.zip 56034 BLAKE2B e825f09ca86e6776263fa6ea176077f850c0866555bd617c64100c24a6bbfee8da9bb13bccf9aa0a01f4976259366c2a6db7b5b771c5e627e371077b26bdb31a SHA512 dff56bff6e27952a3b9460f8cddc1d089bf4ce8d84fc4879a1daecd60113f42037d17c3ffc4418ad02795bbf8db772af986af9459e026b92bfea3653f115e9cc DIST mir-algorithm-3.20.4.zip 636242 BLAKE2B e0e8edfa5850808fa4721acbc550614376ce724b5af7b391e8fb8ec0d3879597206cafe529072fccc702b2f5cfce41c04c64bb1f3eac561ec16390b3696e94c5 SHA512 2fb6fd9099910d2ab59ef38e745e786589b6a7951fe0f6bc367247881d51cea9d09329fce2b5c56ce34ef0bc403d3f651b5235a68523c4d289dcfa0a2204b669 +DIST mir-algorithm-3.21.0.zip 636917 BLAKE2B e72be714b598beab8f2ed096ae74bed6fb4dbcc05548b87e9f9da9bad0c27f9c9436a739ff0acf63981e992629a442a6edd2cc4e46236d7171cc389bf2b8919f SHA512 c862a396bfee857d7f270e67db26f1a5b6b814cb31221f5ba5f17e51005ba5701676285646e233f563811acbb0d053ca44281f4ea4ffd3001d57ef2af0006c1c DIST mir-core-1.5.5.zip 97922 BLAKE2B 9dbcf239385abf1f8f64a6f729379dd40f7c2dcf4f3306a20d38c8d831347c00661461386fa54b2885cf3d4216ce5e4d50753e89d02157c9878898ae607e6982 SHA512 dc0d1203e48041d5fbfc03cfca8ecdb89e0c76f04e9db2061839b62c07daa7e75cc1637c800a57e0e3ef8d5e17f32653a5d31c4594dd067c97ed2f876585d32f +DIST mir-core-1.7.0.zip 99247 BLAKE2B e6bf67c38cf6fa4cc3fc6f001af1751b5f6e7ba073bf736388344e3e09a28a483a4f7cc3caaca500b9932696b5e33baf684a047ee967094e3554c23f3cba560d SHA512 763adfb63161e7aa0f78b3dc3e1b748227d3a04d652a93a45789a79418e9314230ac69a053f804dcc7a706cc33815a6bd0e568e839c5fc8c3cf328a71cebc072 DIST mir-cpuid-1.2.10.zip 25661 BLAKE2B 45f501ec3e6b6ebd483ff999d3e1d5a28c8e380e24f9ceea18cc05d5f3256cb0f75d5360f52ef0e53678477dd2d39d1e01a48bde9a889e5aee0657617984db9e SHA512 6baa282d5f5dc66bd7f1c6e1a5ef731a4dced8651019e7a05a82ac8b628c8fff42acbced131e89a2e4a54dfba008ba9e20cad6a2d6bc2f8a0ad6f841796ea355 +DIST mir-cpuid-1.2.11.zip 25689 BLAKE2B 7ea32f0c23f15b9c6153013b22a852b84e43342f889ba66e80c7ebdcccd7102e9ab8cc26686f88fd64a8a8d227f01f6a73277621b06a4238483dc631e47d3660 SHA512 a8615366fd7d83c79818086657558d598b96a9af4362ab4957a18a9a2fd3b7da11ca4af24f22e9502dd068d38ca5ce7b8cfa37614e5071080171fb448fe6f9fd DIST mir-ion-2.1.8.zip 536679 BLAKE2B b8e5cb4ff539cf06b68f211ff618f0d7eb7fe23dd28ee654dafd27d373f6d03f499500450f54b22fe0a7c4ed909e40c0d9910441ae2aa91aa00138715261a890 SHA512 06a6428e6ac07994e6b9c4a8c6935cdc503d115474622a0fa9f922d950d0e0c4c2aaef2ad7fadc376f526c660ccc6775b8da829c7846820312388bfe35e61a06 +DIST mir-ion-2.2.1.zip 536785 BLAKE2B 4d836dc695a2409fe59b92fc8dc0ce902d281b6e458aa1b244521aca4b28710c58c9eec3b3e369197284e48a055c18e72b49ad5059b4c731d704eb01cc79032d SHA512 264cfe5b955c51a2eea7f41f01ac095271939e7ddbd58be2521c687ca57f5c51363d251570928d6d37a1fe1f428c2a3ecf78cd3914d3bdc421fea70a3bd41b4c DIST mir-linux-kernel-1.0.1.zip 77709 BLAKE2B ce06e2b202f641b21dcfb6436506654540eae5c234826a0c374e5f0dc894eddf4a95ccead70c973856a06af9abac6918d8ac62728c219683b617f2dc379bc2d0 SHA512 326dffeb1d28d80c18b38e0b62a75a08512114a159680d06cb480538cbda7449f80b1b4405ee25f03586e43676bc349c5bb58f8eb1166c5f446b3cc51a4a6353 DIST msgpack-d-1.0.4.zip 159970 BLAKE2B ddc8f653e32c2e1d813b359ca5cd6ffc144ac029964e35392071cfaf387714bde6bced8bfe9a1b0c4f4d0fa33b3d2405334c3134a8d1180eb763dfd6d8ee7048 SHA512 1f7dedb3b97020255d8171223200a6249006653490c6127f87a3145ad129d0d28c5c35ff49b80d8b56cc116d5348f828552247fe5e705dd4d63edcc4357caa0e +DIST msgpack-d-1.0.5.zip 160333 BLAKE2B eea11c4999cb43b68622a81d97c9bd459c4d0b1f8460b4c169afb35eade99f1bf5f2f1a5ffd5849ab00b5a7c632841fcf86aa6a3e6a71eaac4ba45b50c7d092d SHA512 202b09e5e202b05a0a7df2ce71c7f8086d0811bb16a4e5c8ac3b0f3a62863b528aee371c31a8efd8eeeb60102fce98b2fe9aefc639a37fa58ee53120fd2538bc DIST openssl-3.3.0.zip 2175674 BLAKE2B d6187757958ae2cece13bfe5049271ee0aa9f6c6178c681a6f51ff400f6d9d6b0c93074580e7a3792ffec8fd71be56558d674b5f2036facea5db772f27581a5d SHA512 49e41a356bdc2f56d18595e54720464a03158be970834bd62a2812c71f7e3369847bd841861d6407155cad4d6cd19a1250423149555146b6ef7680f33f206719 +DIST openssl-3.3.3.zip 2176223 BLAKE2B c45eb8f16429bfa2cbd0377bfdbd96e029cef9342dc82cffaaa781907fb0b9303de970ecb4dc656f07545113e1a5d55c65f136c91ceadf626ffec8ecac7e9acf SHA512 60c2ec32e03cdad2eb156c3e8ebc5a9ea2861ea5ccb16291e27fea4c7431e2a9c75b9937915fbdec136915c9c2862774e08aca186cbce52e15b671c257a5a9b0 DIST openssl-static-1.0.2+3.0.8.zip 35844001 BLAKE2B ae5e0207cd4b166a68d3ae531cadea9559de9ae9955648406053e6c0b27a897b768071a62692e3e90ca379d83d7cc6e80db2da7a00db575abe0a6442cbea62e4 SHA512 60861f9394e8cea95f566a1dadc1f37e2ac9ae10fbe52060005e29f5a5c45cba138e1c25395be4eda0a935cfafa49d123339daf0551a75f1f9050925c270882e DIST requests-2.1.1.zip 608517 BLAKE2B 24d078c1103ce10c6ac3aa3436ece1f37e93aefe199fb5b75661afe183c4b5e986e2d13c9530f8b58bac87cdf8791762b14b7adda6d706073e8dee95f3747061 SHA512 528c6d563808c4d089e89f8fcb9e7e347934e9c948e827bbe7f7611bc18a4fe4c1c5d45873041d75c51d783ba1caa5d48ab9b459f7a520d420a01abdede21d37 +DIST requests-2.1.3.zip 608602 BLAKE2B 36368f4c2e22c5f4137d2242a375dd2f0ce23ccdb4112ab024e88437081e861ab1dae110c003434c8dfe47c73d899d4606a3cfca426fe8c9ac02497d5abe82cf SHA512 b8227dca8d3f773bf7049ca07584e2f21f5c2d8b8da93fa23f4130d582641467b6f708c9c82f01cfa3a9a508ebeff91fdbd6f947edcf6e997a76524078405bd0 DIST rm-rf-0.1.0.zip 1746 BLAKE2B 1634cce773cbc0c257006ca60ddb4249978a80b8a2019c88820d7f6d61786c8cab47b1d12e409cf6c7844b843f0da42e6e652e37d21f1ae50c4bbe30b5955850 SHA512 652d0ed64d3ab9ecb3648c2cedb6f80d4cb3fdff97d9e1ced52f1c3cb6a403c3759e9fcea6e727cee2c8cc1df14ebddaa1715bfc939d779475f92cc25f9e98d9 DIST sdlfmt-0.1.1.zip 19696 BLAKE2B d566bbebcaf4b3181b5bbd3986252bc06de7d9ec11bdfd43633ba84de23ab39f1212858db7a7c7dba3d0c28f33c2e772a52d35e88df1604fbcddd34155434c81 SHA512 d64bbd52cfca9fb19e16af3e5f712ad9adb1c9b4c945e0629894fc97744049b13716a0731df51404d2499c4b5a0ce1a4200a430d7c296f14c14946ce0ca08b8b DIST sdlite-1.1.2.zip 17376 BLAKE2B 91147bbdf9eba4d0daafeed3bce079afdd1f101fc45f2eb8c8ad64fc48dd4617ce6ad4ca2f3cc13ec3b4f2c569ca5ab122dc8c61f0012b5d6e4092b1a25f4228 SHA512 320d83831413dc3197364142df93e34249b0a9b81d07bd94214dc22193d73f9e2c8d8f79c169f690f5b30e0fb8ca760d6dd7d8e7648923941a408da90d68f0eb +DIST serve-d-0.8.0-beta.17.zip 426973 BLAKE2B 3a7cb7c627a47a6d342f6ee6389d83637fb8d7a9726fc96e7cc25579a01004f35edc417b86a9b1bb00cf9847e27ff04a08cea72400735181c7edc8906ab67d87 SHA512 defb2cc9879121e6d56392cd0c6b3d08259fa09c5a04fcb4156bb31ae95153ea02d673030f145f09f85b5ed1e5c0e686325a263a018f563df3b759da9e132693 DIST serve-d-0.8.0_beta15.zip 420782 BLAKE2B 0a507c9e61f4cbe19074522600ea9d44cf9fae9af672a352514f89d9d45718966e115a1396721d8003174edde3176adaa3c61108d96e6c1d9e9e3c0c3c29980a SHA512 1967517fce65ba4a38dbf8b69876a12393b09cca1fddd321e30b0df8479c29e259b0432330c1b0a5bce6301ec0ac09954d3b1685e6d1f92e96915546b8c9691c DIST silly-1.1.1.zip 41851 BLAKE2B ef244037a90411d102a68682100f6b80f2523dc339b390fc0b19bfc33b660e4249a38917fa6a0915b9e20ee96b3e73ba6d2a7ae37452b90f13e0144070cfd528 SHA512 da868446eebc3c3dffea64a71f46849385cbbdc43494ad5f31ca74b90f104b2a9c790076ab394d9e320a7ac54f87a0882fb602e38554d175de142901bc04e5b7 DIST standardpaths-0.8.2.zip 19648 BLAKE2B d93950d1fd324cf16512fc5c275fb1b68136656455929cff93e4d857b27038a8b8407c83cc1283875e4b843910e2e02b1d9434ef42c5d15ed4d0ec28acf54b71 SHA512 961752bb9a8c8398f6226951a0adf2462e40e977c6aa60a6a6bdde2e95f24ddc4a373f72fba4521bdcd02d2b8e1d7122d9b604ae4e91b45993e6461db4d279ef @@ -36,6 +50,9 @@ DIST stdx-allocator-2.77.5.zip 119932 BLAKE2B 143afc788fc68d6bb356449c7a04f34279 DIST taggedalgebraic-0.11.22.zip 25727 BLAKE2B 2449d0a68a77890332401ce6e74aca1b86e0b75857fbacf5704cb9d88b21fe86f0f882226a77fd754acd0f02d8357f44f6a8c2f01a5c4c93064a81b5f3436034 SHA512 6d405d7e83a9a72524121abb9170f6d99c210fc12f670eed1056b65866e411b5ea19ea076a80bde061d10ae6895b4e364afd8e246738250dc98885df7087e9b9 DIST test_allocator-0.3.4.zip 6128 BLAKE2B cb30faa8606d14f3d4ff3f1e875f0da1acaa561b1c047f1a1aed0a674f90b5928541fc6a6f789ae765aa096fd77622347ffd4b17c2e55b69aa3aadaf216e0c9b SHA512 1adc80cae2410d832a61a39025487cd80a727f75ade5c11d564af27517cd3d8b77b71f21a37e151e356a0276cb3d3c5d28e5e464b36ff34e91a8b7a2a87b5dd8 DIST unit-threaded-0.10.8.zip 121340 BLAKE2B 962c75ae4111344c20229660514f259099c6b67a5babf7bb1b740e072c7223300a6758e1246fddc493606a63047547409123036523d86cac421537beeb5a1f8c SHA512 07be27652f43746d7823959c3327d0f48e8b77c1fa2ded0a0965512edcfebd3e521f2177a0446db6c2a2950d76f7dd3f6530cca4d988f720e8623dc84778a990 +DIST vibe-container-1.1.0.zip 17219 BLAKE2B 727767cb85148a6ef3dd80a5e08e7227072af38058c52fd1cbf5cc2bf9e3874b6f5fdb818fff2c86c7366adca05301412fb250350a808303ab16da48b84121c0 SHA512 54e41c7f80b23cfa7a9142b9638139bf46ba5545c95e7f248f6c49195243fca9a7dc046218c700bd9bc655ff87a4c9a9a76025b5e7386ae5b2a5eb03b61cc6ec DIST vibe-core-2.2.0.zip 193504 BLAKE2B 9f45019edf10e20ab57bf67c033be6779f4c632daca630b6dc879f4a0a306900763325e7e7b6a69d76d4fa4af5eeeb9fdbf107864afe7c39d225af57b92a4a1b SHA512 f7329ad430228f727c3c13e3a584394c5f2da82f7825a3c55c2e9d674527d6c7e271040c5c516b46956e2eb756bfd9895f9fea2bd035430f2f55fc9d62502377 +DIST vibe-core-2.7.4.zip 195593 BLAKE2B 5e7a8229cc1f4b1d7b94523c7d068e899f74fc86c4af9d9a8122969216deb7124582c7835b4f131cd3baeed7a4adc03bc5fb46516400bc4edf576b046d08e39e SHA512 86e2fd03ff43522cf91d048e3c0f953e4a80a1251358a8582b4eb3fbfa406cd9a89ab306becb1a0c1e6a3bcb1003bc082099d70a68bef58816b7686d0aee9b90 DIST vibe-d-0.9.6.zip 4046046 BLAKE2B b19255033041453fd4f445ee87846d29904d4a5653f2116eea8cb6079f9627a2d192058bb4b61be1ad60603f63365d02576ff66cb43a340713c4bdec077b9f65 SHA512 1d842ef26d319324fe390701cd03b746be90d4cf1019f7cbadb20088dedbfc654383598057d9029296c4712cd6a57e7384446f47cfda7789db3854a82773ed2c +DIST vibe-d-0.9.7.zip 4049466 BLAKE2B f3199b7af47b2524f82cef999a71cf5b7cffc4350f2f135f6f09378a4be7f3002b1ee98565bbd1d9e038043f7ada3e53f78030e6f791a1bcd2d6520c2ae0f622 SHA512 c8cae7c29d71251f13678a97eb4e158024310fb8dc6018d84dce7136607fd469ab9dd7e552d516b3ad89e81c2df715c94212426c00ae84e95e52e49bcb8be75d DIST xdgpaths-0.2.5.zip 7485 BLAKE2B 30fae47316c1c57eab5de21192a7183c5d6cba63dec3f1823a2814b5fe28dad85f5790672df2b8314d7c2ee1c155861ce73bc182e5010759fb7bd9a301e455c5 SHA512 2e90ced57d97189001d0c9e8007ddbe309233b3574c714c85e90cd05fc23ef7edac51c7cc1f55be1f5f79e96a1985dbf849103e7ce91ac7b896e5f4a38c6fd38 diff --git a/dev-util/serve-d/serve-d-0.8.0_beta17.ebuild b/dev-util/serve-d/serve-d-0.8.0_beta17.ebuild new file mode 100644 index 0000000..5a0dd02 --- /dev/null +++ b/dev-util/serve-d/serve-d-0.8.0_beta17.ebuild @@ -0,0 +1,144 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="$(ver_rs 3 - 4 .)" # 0.8.0_beta15 -> 0.8.0-beta.15 +# gdc currently fails due to a bug in mir-cpuid, see: https://github.com/libmir/mir-cpuid/pull/46 +DLANG_COMPAT=( dmd-2_{106..109} ldc2-1_{35..39} ) +DUB_DEPENDENCIES=( + "automem@0.6.9" + "cachetools@0.4.1" + "dcd@0.16.0-beta.2" + "dfmt@0.15.1" + "diet-complete@0.0.3" + "diet-ng@1.8.1" + "dscanner@0.16.0-beta.4" + "dub@1.36.0" + "emsi_containers@0.9.0" + "eventcore@0.9.28" + "fuzzymatch@1.0.0" + "inifiled@1.3.3" + "isfreedesktop@0.1.1" + "libasync@0.8.6" + "libddoc@0.8.0" + "libdparse@0.23.2" + "memutils@1.0.10" + "mir-algorithm@3.21.0" + "mir-core@1.7.0" + "mir-cpuid@1.2.11" + "mir-ion@2.2.1" + "mir-linux-kernel@1.0.1" + "msgpack-d@1.0.5" + "openssl@3.3.3" + "openssl-static@1.0.2+3.0.8" + "requests@2.1.3" + "rm-rf@0.1.0" + "sdlfmt@0.1.1" + "sdlite@1.1.2" + "serve-d@0.8.0-beta.17" + "silly@1.1.1" + "standardpaths@0.8.2" + "stdx-allocator@2.77.5" + "taggedalgebraic@0.11.22" + "test_allocator@0.3.4" + "unit-threaded@0.10.8" + "vibe-container@1.1.0" + "vibe-core@2.7.4" + "vibe-d@0.9.7" + "xdgpaths@0.2.5" +) +inherit check-reqs dlang-single dub multiprocessing +DUB_TEST_DEP="gitcompatibledubpackage@1.0.4" + +DESCRIPTION="Microsoft language server protocol implementation for D" +HOMEPAGE="https://github.com/Pure-D/serve-d" +SRC_URI=" + ${DUB_DEPENDENCIES_URIS} + test? ( $(dub_dependencies_uris "${DUB_TEST_DEP}") ) +" +S="${WORKDIR}/${PN}-${MY_PV}" +LICENSE="MIT BSD" +LICENSE+=" Apache-2.0 Boost-1.0 BSD GPL-3 LGPL-3 MIT openssl public-domain Unlicense" +LICENSE+=" test? ( ISC public-domain )" # test dependencies. These do _not_ map to test? () in SRC_URI +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +CHECKREQS_MEMORY="10G" # mir is a chonker + +# Lower versions of dcd won't immediately fail but they won't work as +# intended (no autocompletion for example). +COMMON_DEPEND=">=dev-util/dcd-0.15.2" +RDEPEND+=" ${COMMON_DEPEND}" +BDEPEND+=" test? ( ${COMMON_DEPEND} )" + +src_unpack() { + dub_src_unpack + use test && dub_copy_dependencies_locally "${DUB_TEST_DEP}" +} + +src_configure() { + # There's an issue with ldc that when -mcpu=native is specified you + # get an llvm stack trace. It seems to be related to the use of + # certain intrinsics that depend on the target cpu. + if [[ ${EDC} == ldc2* && ${DCFLAGS} == *-mcpu=native* ]]; then + ewarn "-mcpu=native causes issues with ldc2 so it will be removed" + ewarn "from your flags." + ewarn "See: https://github.com/libmir/mir-ion/pull/46" + fi + dlang-filter-dflags "ldc2*" "-mcpu=native" + + # See https://issues.dlang.org/show_bug.cgi?id=24406 and + # https://github.com/Pure-D/serve-d/issues/360 + # In short, we have to remove -O from DCFLAGS for dmd. + if [[ ${EDC} == dmd* && ${DCFLAGS} == *-O* ]]; then + ewarn "Optimizations will be turned off for this build with dmd" + ewarn "See: https://github.com/Pure-D/serve-d/issues/360" + fi + dlang-filter-dflags "dmd*" "-O*" +} + +src_test() { + # Tests all submodules in dub.json. + local subpkg + for subpkg in ":http" ":protocol" ":lsp" ":serverbase" ":dcd" ":workspace-d" ""; do + edub test ${subpkg} --build=unittest -- --threads="$(makeopts_jobs)" + done + + edub build --root=null_server + edub run --root=null_server_test + + # A simplified version for ${S}/test/runtests.sh + pushd test > /dev/null || die + + # Tries to update dependencies timing out for each one which sums up + # to about 4 minutes of doing nothing. There is no direct way to + # configure the code not to contact https://code.dlang.org + rm -rf tc_dub || die + # Uses basename to run compiler binaries which happens to work since + # dlang-utils.eclass creates symlinks for them. Like tc_dub spends + # ~40 seconds waiting for code.dlang.org + rm -rf tc_dub_empty || die + + local testcase + for testcase in tc*; do + pushd "${testcase}" > /dev/null || die + einfo "Running testcase ${testcase}" + edub run + popd > /dev/null || die + done + popd > /dev/null || die +} + +src_install() { + dobin "${S}/serve-d" + dodoc README.md editor-*.md +} + +pkg_postinst() { + elog "You will need to configure your editor to use serve-d." + elog "For instructions check out the README and editor-* files in" + elog " ${EROOT}/usr/share/doc/${PF}" +} diff --git a/eclass/dub.eclass b/eclass/dub.eclass new file mode 100644 index 0000000..41fff29 --- /dev/null +++ b/eclass/dub.eclass @@ -0,0 +1,312 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dub.eclass +# @MAINTAINER: +# Andrei Horodniceanu <a.horodniceanu@proton.me> +# @AUTHOR: +# Andrei Horodniceanu <a.horodniceanu@proton.me> +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @SUPPORTED_EAPIS: 8 +# @BLURB: common functions and variables for dub builds +# @DESCRIPTION: +# This eclass provides a wrapper for calling dub as well as default +# implementations for src_compile and src_test. It also provides +# dub_src_unpack which will make dub dependencies available as well +# as configure it to work best in an ebuild environment. +# +# By default this eclass will set *DEPEND to depend on both dub and a D +# compiler. For this reason you *must* inherit either dlang-single or +# dlang-r1 before inheriting dub. The only alternative is using +# DUB_OPTIONAL. +# @EXAMPLE: +# A program using dub.eclass: +# +# @CODE +# DLANG_COMPAT=( dmd-2_109 gdc-1{3,4} ldc2-1_39 ) +# DUB_DEPENDENCIES=( +# "automem@0.6.9" +# "cachetools@0.4.1" +# "dcd@0.16.0-beta.2" +# "program@8.0.3" +# "silly@1.1.1" +# ) +# inherit dlang-single dub +# SRC_URI="${DUB_DEPENDENCIES_URIS}" +# +# src_install() { +# dobin "${S}/program" +# } +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ ! ${_DUB_ECLASS} ]]; then +_DUB_ECLASS=1 + +inherit dlang-utils edo + +# @ECLASS_VARIABLE: DUB_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Dependency string on dev-util/dub and other needed programs that can +# be used in BDEPEND when DUB_OPTIONAL is set. When DUB_OPTIONAL is +# empty the dependency is added automatically to BDEPEND. +DUB_DEPEND=">=dev-util/dub-1.38.0 app-arch/unzip" +# 1.38 - respect skipRegistry value in configuration file + +EDUB_HOME="${WORKDIR}/dub_home" + +# @ECLASS_VARIABLE: DUB_OPTIONAL +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# Setting this to a non-empty value inhibits the eclass from modifying +# variables like *DEPEND and REQUIRED_USE and from exporting phase +# functions. +# +# If set, you may need to call dub_gen_settings or dub_src_unpack +# manually. + +# @ECLASS_VARIABLE: DUB_DEPENDENCIES +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# A bash array of dub dependencies. Each dependency should be a string +# in the form `name@version`. +# +# Example: +# @CODE +# DUB_DEPENDENCIES=( +# "dfmt@0.15.1" +# "silly@1.1.1" +# ) +# @CODE + +# @ECLASS_VARIABLE: DUB_DEPENDENCIES_URIS +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# The transformed DUB_DEPENDENCIES as a string to be placed in +# SRC_URI + +# @FUNCTION: dub_dependencies_uris +# @USAGE: [dependencies]... +# @DESCRIPTION: +# print a string to be placed in SRC_URI for all the dependencies given +# as arguments. Each dependency should be in the form `name@version`, +# just like the elements in DUB_DEPENDENCIES. +dub_dependencies_uris() { + debug-print-function ${FUNCNAME} "${@}" + + local registry="https://code.dlang.org/packages" + local dep name ver + for dep; do + name="${dep%@*}" + ver="${dep#*@}" + echo "${registry}/${name}/${ver}.zip -> ${name}-${ver}.zip" + done +} + +# @FUNCTION: _handle_dub_variables +# @INTERNAL +# @DESCRIPTION: +# Verify that DUB_DEPENDENCIES is set appropriately, transform it into +# DUB_DEPENDENCIES_URIS, and set any other variables. +_handle_dub_variables() { + [[ -v DUB_DEPENDENCIES && ${DUB_DEPENDENCIES@a} != *a* ]] \ + && die "DUB_DEPENDENCIES must be an array" + export DUB_DEPENDENCIES_URIS="$(dub_dependencies_uris "${DUB_DEPENDENCIES[@]}")" + + [[ ${DUB_OPTIONAL} ]] && return + + if ! has dlang-single ${INHERITED} && ! has dlang-r1 ${INHERITED}; then + eerror + eerror "dlang-single or dlang-r1 have not been inherited before dub.eclass" + eerror "and DUB_OPTIONAL has not been set." + eerror "Please inherit dlang-single or dlang-r1 before inheriting dub." + die "Neither dlang-single nor dlang-r1 are inherited" + fi + + [[ ${CATEGORY}/${PN} != dev-util/dub ]] \ + && BDEPEND="${DUB_DEPEND}" + + BDEPEND+=" ${DLANG_DEPS}" + DEPEND="${DLANG_DEPS}" + RDEPEND="${DLANG_DEPS}" + REQUIRED_USE="${DLANG_REQUIRED_USE}" +} +_handle_dub_variables +unset -f _handle_dub_variables + +# @FUNCTION: edub +# @USAGE: [dub_args]... +# @DESCRIPTION: +# A dub wrapper that will automatically set relevant variables and die +# on failure. nonfatal can be used with edub. +# +# Meaningful variables for this function are: +# +# $DC - typically set by dlang-r1.eclass or dlang-single.eclass to point +# to the D compiler and respected by dub. +# +# $DFLAGS - dub will use these flags when compiling + linking. If the +# variable is unset (empty does not count) this eclass will default to +# "${DCFLAGS} ${DLANG_LDFLAGS} /-Wno-error/" for its value. +# +# $NO_COLOR - if non-empty dub will not print colors +edub() { + debug-print-function ${FUNCNAME} "${@}" + + local -x DFLAGS=${DFLAGS-${DCFLAGS} ${DLANG_LDFLAGS} $(dlang_get_wno_error_flag)} + local -x DC=${DC} NO_COLOR=${NO_COLOR} + # FIXME dub directly calls pkg-config without a way to configure it + + debug-print "${FUNCNAME}: DC=${DC}" + debug-print "${FUNCNAME}: DFLAGS=${DFLAGS}" + + edo dub --verbose "${@}" +} + +# @ECLASS_VARIABLE: DUB_LOCAL_REGISTRY +# @DESCRIPTION: +# A directory in which dub package archives can be placed for dub to be +# able to fetch them in the future. This is useful only if dub _must_ +# perform a fetch operation, perhaps as part of tests, in all other +# cases DUB_DEPENDENCIES should be used instead. +# +# You can use dub_copy_dependencies_locally as a convenience function. +# +# Example: +# @CODE +# src_unpack() { +# dub_src_unpack +# use test && dub_copy_dependencies_locally "my_packages@1.1.0" +# } +# src_test() { +# dub_src_test +# +# # additional test that performs `dub fetch my_package@1.1.0` +# } +# @CODE +DUB_LOCAL_REGISTRY="${EDUB_HOME}/local_registry" + +# @FUNCTION: dub_copy_dependencies_locally +# @USAGE: [dependencies]... +# @DESCRIPTION: +# Copy the given dependencies to ${DUB_LOCAL_REGISTRY}. This function +# can only be called inside src_unpack. +# +# The format of the arguments is the same as the format of +# ${DUB_DEPENDENCIES}. +dub_copy_dependencies_locally() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${EBUILD_PHASE} == unpack ]] \ + || die "${FUNCNAME} must only be called inside src_unpack" + + local dep + for dep; do + einfo "Making ${dep} available locally" + cp "${DISTDIR}/${dep/@/-}.zip" "${DUB_LOCAL_REGISTRY}" || die + done +} + +# @FUNCTION: dub_gen_settings +# @DESCRIPTION: +# Generate a settings.json file for dub. +dub_gen_settings() { + debug-print-function ${FUNCNAME} "${@}" + + mkdir -p "${EDUB_HOME}" || die "Could not create dub home directory" + mkdir -p "${DUB_LOCAL_REGISTRY}" || die "Could not create dub registry directory" + + # dub merges the settings from all configuration files so settings + # which greatly change the build need to be set to a safe + # value. Unfortunately the 'customCachePaths' and 'registryUrls' + # settings are cumulative, i.e. they will append to the previous + # value, not overwrite it. + cat > "${EDUB_HOME}/settings.json" <<-EOF || die "Failed to create dub settings.json file" + { + "registryUrls": [ + "file://${DUB_LOCAL_REGISTRY}" + ], + "skipRegistry": "standard", + + "customCachePaths": [], + "defaultCompiler": "", + "defaultArchitecture": "" + } + EOF + + export DUB_HOME="${EDUB_HOME}" +} + +# @FUNCTION: dub_src_unpack +# @DESCRIPTION: +# Unpack all sources and generate a dub configuration file +dub_src_unpack() { + dub_gen_settings + + # DUB_DEPENDENCIES can contain entries like: + # dfmt@0.15.1 which maps to the archive dmft-0.15.1.zip + # + # There can also be dependencies like: + # botan-math@1.0.4 -> botan-math-1.0.4.zip + # botan@1.13.6 -> botan-1.13.6.zip + # + # Because of the ambiguous `-' character create a map + # from the archive back to the dependency. + local -A dubFiles + local dep + for dep in "${DUB_DEPENDENCIES[@]}"; do + dubFiles["${dep/@/-}.zip"]="${dep}" + done + + local dubFetch=( + dub + --skip-registry=all + --registry="file://${DISTDIR}" + fetch + ) + local dep file + for file in ${A}; do + if [[ ${dubFiles[${file}]} ]]; then + # file can be 'dfmt-0.15.1.zip' + # in which case dubFiles[${file}] wil be 'dfmt@0.15.1' + dep="${dubFiles[${file}]}" + edo "${dubFetch[@]}" "${dep}" + + # If it's the main package extract it for ${S}. + # In case of prereleases: + # serve-d-0.8.0_beta17 -> serve-d-0.8.0-beta.17.zip + [[ ${file} == ${PN}-$(ver_rs 3 - 4 .)* ]] \ + && unpack "${file}" + else + unpack "${file}" + fi + done +} + +# @FUNCTION: dub_src_compile +# @DESCRIPTION: +# Compile the package using dub +dub_src_compile() { + edub build +} + +# @FUNCTION: dub_src_test +# @DESCRIPTION: +# Test the package using dub +dub_src_test() { + edub test +} + +fi + +[[ ${DUB_OPTIONAL} ]] \ + || EXPORT_FUNCTIONS src_unpack src_compile src_test diff --git a/net-misc/onedrive/onedrive-2.4.25-r1.ebuild b/net-misc/onedrive/onedrive-2.4.25-r1.ebuild index b88b785..14fa9e7 100644 --- a/net-misc/onedrive/onedrive-2.4.25-r1.ebuild +++ b/net-misc/onedrive/onedrive-2.4.25-r1.ebuild @@ -3,6 +3,9 @@ EAPI=8 +DLANG_COMPAT=( dmd-2_{106..109} ldc2-1_{35..39} ) +inherit bash-completion-r1 dlang-single systemd + DESCRIPTION="Free Client for OneDrive on Linux" HOMEPAGE="https://abraunegg.github.io/" SRC_URI="https://codeload.github.com/abraunegg/onedrive/tar.gz/v${PV} -> ${P}.tar.gz" @@ -10,11 +13,9 @@ LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" +# no straight forward way to run unittests. Probably need to do DFLAGS=-unittest econf IUSE="debug libnotify" - -DLANG_COMPAT=( dmd-2_{106..108} ldc2-1_{35..38} ) - -inherit dlang-single systemd bash-completion-r1 +RESTRICT=test REQUIRED_USE=${DLANG_REQUIRED_USE} RDEPEND=" @@ -55,8 +56,4 @@ pkg_postinst() { elog "OneDrive Free Client needs to be authorized to access your data before the" elog "first use. To do so, run onedrive in a terminal for the user in question and" elog "follow the steps on screen." - elog - ewarn "When upgrading from 2.3 you are required to reauthorise your client." - ewarn "This is due to changing the client identifier to assist with resolving" - ewarn "the correct handling of 429 error responses (activityLimitReached)" } diff --git a/sys-fs/btdu/Manifest b/sys-fs/btdu/Manifest new file mode 100644 index 0000000..d956f89 --- /dev/null +++ b/sys-fs/btdu/Manifest @@ -0,0 +1,5 @@ +DIST ae-0.0.3236.zip 670165 BLAKE2B d6ca10a81a235bc2d19dc5c46f25158a19ebf950a7878d29723bf464c4a8f9d113a0084694f0ceafdf1ba3db6f11992961ce490747b2cbc171642e9f05846d8c SHA512 bf758929c839f80c07a301388b57813f9864a75504b6cc3019d43b887ee03f8321327f3e0bacf33053b60153ad50142869b9e2a7d0c7cbe35b1c2ec3c529b9c1 +DIST btdu-0.5.1.zip 59342 BLAKE2B 7401e49cc43d879af6bb69d1e8d39daaaafece4c5320797cd6fa14bdb040f553c1fc27124c095d5b0e075b8252ed948cab3d676b7db307b6d8e5343846cee0fb SHA512 aaa1e34caa9087101b0d50f32b55a27d9cc3118774fac1320d5d214c12f6971f1cd89fe6dae8184e8c61b980ec78bd58fbc373031e8dcd38b751be083a5fb327 +DIST btrfs-0.0.18.zip 47737 BLAKE2B 3b539559dfa4a0cfe3265144f5d72f316517d5276b6ced8340e6377864ecf61bb2188db844095cf5d29fbb2b4e19bf49e685b339f075154f00250bc0ac96b6ba SHA512 044960d27032e7d6ee70cd4aaca5c9a59f2c8ad54222be1da7710ade50d3c0cab72cabb4474cd1045484959b00921307a67d79eef3afd80e7be781320ddd33eb +DIST emsi_containers-0.9.0.zip 70600 BLAKE2B e00d94acde01f5757928bda3adad945dcb38692544f91011aa05ff2fbd859f00c5ba67d1ec3bda5f4c90d42086d1ea65d418dafd02abdc8a7a7854707b2ebaf1 SHA512 cf599b675860bb91958bf78ba225e0d1755fec49ca1c1854d71f05ead6fd6037c30dfcc351e68accdbf42b9acc87c05731b8f8ac123962560869f46d4843c004 +DIST ncurses-1.0.0.zip 164010 BLAKE2B 43eaaad7e86c198f3b1918f8c06c7b0e70609d8fc905a02f00ac2b6344962cd40c79f9a26f765d8823cef8f83b8c742eff5642bd7e0ece7f98c094092eb8025c SHA512 908934f17b65014c741ef0f22eb2e8cbcf67a5b784326c614773c690bdfb236fd3c58a32f94762e62737f4c26b7318fcbe69284fdcd9ae67a125af2aa446e165 diff --git a/sys-fs/btdu/btdu-0.5.1.ebuild b/sys-fs/btdu/btdu-0.5.1.ebuild new file mode 100644 index 0000000..99a72d8 --- /dev/null +++ b/sys-fs/btdu/btdu-0.5.1.ebuild @@ -0,0 +1,45 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# gdc-13 is disabled due to: https://gcc.gnu.org/PR111650 +# gdc-14 is disabled due to: https://gcc.gnu.org/PR116373 +DLANG_COMPAT=( dmd-2_10{6..9} ldc2-1_3{5..9} ) +DUB_DEPENDENCIES=( + "ae@0.0.3236" + "btdu@0.5.1" + "btrfs@0.0.18" + "emsi_containers@0.9.0" + "ncurses@1.0.0" +) +inherit dlang-single dub + +DESCRIPTION="Sampling disk usage profiler for btrfs" +HOMEPAGE="https://github.com/CyberShadow/btdu" +SRC_URI="${DUB_DEPENDENCIES_URIS}" + +LICENSE="GPL-2" +LICENSE+=" Boost-1.0 GPL-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +# Relevant tests require a btrfs filesystem. +RESTRICT="test" + +COMMON_DEPEND="sys-libs/zlib sys-libs/ncurses:=" +DEPEND+=" ${COMMON_DEPEND}" +RDEPEND+=" ${COMMON_DEPEND}" + +DOCS=( README.md CONCEPTS.md ) + +src_test() { + # Enabling unittests runs the unittests in the dependencies which + # may not all be relevant for this package. + edub test --build=unittest +} + +src_install() { + dobin "${S}/btdu" + doman btdu.1 + einstalldocs +} diff --git a/sys-fs/btdu/metadata.xml b/sys-fs/btdu/metadata.xml new file mode 100644 index 0000000..6a96176 --- /dev/null +++ b/sys-fs/btdu/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <upstream> + <remote-id type="github">CyberShadow/btdu</remote-id> + </upstream> +</pkgmetadata> diff --git a/x11-terms/tilix/tilix-1.9.6-r2.ebuild b/x11-terms/tilix/tilix-1.9.6-r2.ebuild index 39b0252..cf99b76 100644 --- a/x11-terms/tilix/tilix-1.9.6-r2.ebuild +++ b/x11-terms/tilix/tilix-1.9.6-r2.ebuild @@ -3,6 +3,9 @@ EAPI=8 +DLANG_COMPAT=( dmd-2_10{6..9} gdc-1{3,4} ldc2-1_{35..39} ) +inherit dlang-single gnome2-utils meson optfeature + DESCRIPTION="A tiling terminal emulator for Linux using GTK+ 3" HOMEPAGE="https://gnunn1.github.io/tilix-web/" @@ -21,11 +24,7 @@ KEYWORDS="~amd64 ~x86" IUSE="test" RESTRICT="!test? ( test )" -DLANG_COMPAT=( dmd-2_10{6..8} gdc-1{3,4} ldc2-1_{35..38} ) - -inherit dlang-single gnome2-utils meson optfeature - -# Older gcc ICEs due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113125 +# Older gcc ICEs due to https://gcc.gnu.org/PR113125 MY_DLANG_DEPS="${DLANG_DEPS} $(dlang_gen_cond_dep ' >=sys-devel/gcc-13.3:13 |