-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ucsc-pslcdnafilter to 472 #51700
Conversation
Warning Rate limit exceeded@mencian has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 18 minutes and 12 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 Walkthrough📝 WalkthroughWalkthroughThe pull request introduces several changes across three files related to the Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
recipes/ucsc-pslcdnafilter/include.macos.patch (1)
1-27
: Consider adding CI tests for cross-platform compatibility.Since these changes are specifically for macOS compatibility, consider adding CI tests to verify the build process works correctly across different platforms (Linux, macOS) to catch potential issues early.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (3)
- recipes/ucsc-pslcdnafilter/build.sh (2 hunks)
- recipes/ucsc-pslcdnafilter/include.macos.patch (1 hunks)
- recipes/ucsc-pslcdnafilter/meta.yaml (3 hunks)
🔇 Additional comments (10)
recipes/ucsc-pslcdnafilter/build.sh (2)
11-11
: LGTM: Consistent optimization flagsAdding
-O3
toCXXFLAGS
matches the optimization level already present inCFLAGS
, ensuring consistent compiler optimization across C and C++ code.
21-22
: LGTM: Improved executable installationThe two-step process of explicitly setting permissions before moving the executable is a better practice than direct copying because it:
- Ensures correct executable permissions (0755)
- Uses move operation which is more efficient than copy
recipes/ucsc-pslcdnafilter/include.macos.patch (3)
15-16
: LGTM! Consistent include path configuration.The addition of
-I${PREFIX}/include
toKENT_INC
maintains consistency with the common.mk changes.
23-24
: Verify Python 3 compatibility before removing version constraint.While removing the Python 2.7 dependency is good, we should ensure the script is compatible with Python 3 before making it version-agnostic.
Let's check for potential Python 2/3 compatibility issues:
#!/bin/bash # Description: Check for common Python 2/3 compatibility issues in the script # Look for print statements, unicode handling, etc. # Test: Search for Python 2-specific syntax that might break in Python 3 rg -A 2 "print [^(]|unicode|basestring|raw_input|xrange|\.iteritems\(\)|\.itervalues\(\)|\.iterkeys\(\)" "kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed" # Test: Look for division operations that might behave differently rg -A 2 "[^/]/[^/]" "kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed"
7-8
: LGTM! Verify header availability in conda-build environment.The addition of
-I${PREFIX}/include
toHG_INC
is correct and follows Conda packaging guidelines.Let's verify the headers are available in the conda-build environment:
✅ Verification successful
Addition of ${PREFIX}/include path is correct and verified
The modification is verified to be correct because:
- It's a standard pattern used across all UCSC tools in the repository (identical patches exist in ucsc-bigwigsummary, ucsc-blat, ucsc-fatotwobit, etc.)
- The package has host dependencies (libpng, mysql-connector-c, zlib, etc.) that require their headers to be found during build
- The build.sh already sets up INCLUDE_PATH and CXXFLAGS to use ${PREFIX}/include, making this change consistent with the overall build configuration
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if critical headers are present in PREFIX/include # Note: This helps ensure the build will succeed with the new include path # Test: List header files in ${PREFIX}/include that might be required fd . "${PREFIX}/include" -t f -e .h -e .hppLength of output: 452
Script:
#!/bin/bash # Let's verify if the patch file exists and examine its content fd -t f "include.macos.patch" recipes # Check if there are any header files referenced in the patch rg -A 2 "\.h" recipes/ucsc-pslcdnafilter/include.macos.patch # Look for any build-related files that might give us context about required headers fd -t f "build.sh|meta.yaml" recipes/ucsc-pslcdnafilterLength of output: 495
Script:
#!/bin/bash # Let's examine the build.sh and meta.yaml for dependencies that might require headers cat recipes/ucsc-pslcdnafilter/meta.yaml cat recipes/ucsc-pslcdnafilter/build.sh # Check if similar patches exist in other UCSC tools to validate this is a common pattern head -n 10 recipes/ucsc-*/include.macos.patchLength of output: 6478
recipes/ucsc-pslcdnafilter/meta.yaml (5)
14-15
: LGTM! Platform-specific patches are properly configured.The patch configuration correctly handles both Linux and macOS platforms using conditional selectors.
Line range hint
19-21
: LGTM! Proper version pinning configuration.The
run_exports
section correctly usespin_subpackage
withmax_pin=None
, ensuring exact version matching which helps prevent ABI incompatibilities.
45-46
: LGTM! URL improvements and version-specific documentation.The URL updates are good improvements:
- Using HTTPS for security
- Version-specific documentation link ensures accuracy
Also applies to: 54-54
3-4
: Verify version compatibility for the significant version bump.The update from version 469 to 472 is a significant jump. Since this is a bioinformatics tool, we should ensure there are no breaking changes in the tool's interface.
31-37
: Verify if zlib is required at runtime.While zlib is listed as a host dependency, it's not included in the run dependencies. If the tool uses compression functionality, zlib might be needed at runtime.
Describe your pull request here
Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add label
command.@bioconda/core
in a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports
(see here for the rationale and comprehensive explanation).Add a
run_exports
section like this:with
...
being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}
while replacing
"myrecipe"
with eithername
if aname|lower
variable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update
@BiocondaBot please add label
please review & merge
label.@BiocondaBot please fetch artifacts
You can use this to test packages locally.
Note that the
@BiocondaBot please merge
command is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>
and will automatically re-post them to notify the addressed<team>
.