Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/Homebrew/ruby-macho

🔩 A pure-Ruby library for parsing Mach-O files.
https://github.com/Homebrew/ruby-macho

Merge pull request #40 from Homebrew/rpath-add-delete

Rpath deletion.

48334c6ef0ef1b4763d99260fd7c1f67b6918285 authored over 8 years ago
test: Add tests for rpath deletion.

0a5ade46c852b3fad2b530a7b3a28019131c42b5 authored over 8 years ago
Add methods for rpath deletion.

Add a MachOFile#set_ncmds method for setting the header's number of
specified load commands.

ccd08af5ab1417a15f58178b4fe4b99c6cf45026 authored over 8 years ago
Merge pull request #38 from Homebrew/add-lc

Add LoadCommand.create for creating independent load commands.

f8fed644327456b97e64aac703c5bc6515711509 authored over 8 years ago
macho_file: General refactoring. (#43)

Shorten early returns and raises, use non-deprecated methods.

MachOFile#sections: Use a case ...

adbd6d39972080fa7265d001ae375fac4205c89f authored over 8 years ago
test: Add tests for load command creation and serialization.

25d718a6122612d5159d0b3a9f94d7981121c443 authored over 8 years ago
Add LoadCommand.create for creating independent load commands.

Add LoadCommand#serialize for serializing load commands.

Add LoadCommand::SerializationContext....

5d70eee8cf154e20b23ec4076a33dd6a5c9cfc84 authored over 8 years ago
test: Add tests for tools.

db5c32800ef147bd5d4dd5ddf98a8222e6c927bd authored over 8 years ago
tools: Fill in Tools.change_rpath.

a7147869972dbe69f0ac40610777662b0b2b2ed7 authored over 8 years ago
macho_file: Add low_fileoff method, use String#bytesize for LC strings.

348658b3e05bd55fc798e6b08cac358b9223bf52 authored over 8 years ago
macho_file: Fix x86_64 rpath modification.

Fixes a long-standing bug in null-pad calculation that caused rpaths
modifications to be misalig...

44ab2e4bece069c241eaeb16e3a0925d65f080f4 authored over 8 years ago
test: Add rpath access and modification tests.

90048c5d77287a0356769767e3f08b67ee86ab11 authored over 8 years ago
load_commands: Populate minor_version in FvmlibCommand.

bcfcb0eb643886d6473e5b9ae58ee8841f07c03f authored over 8 years ago
load_commands: Add obsolete and internal load commands. (#33)

a291e753e7432d30777c74473b0765c1a9e981ca authored over 8 years ago
Merge pull request #34 from Homebrew/um/refactor-lc-str

LCStr: Refactor and simplify

3d643b29ea339e3298490ab2169e89292c234f55 authored over 8 years ago
LCStr: Refactor and simplify

- Drop constructor argument `raw_data` as it is redundant and the data
can be obtained from th...

b23003b4a604b876f30ad425536273b3da7b91ca authored over 8 years ago
LoadCommand: Drop useless assignment to `@offset`

This amends commit a62c23ae6335d6650cb2e5d49ac9530aed7f301e where the
attribute was moved into `...

3fb852cf16e12efb485a68643be9b0a39e943291 authored over 8 years ago
macho_file: Replace endianness ternaries with Utils.specialize_format.

7a5f72953486e9fecaae3293858b547011fbfc55 authored over 8 years ago
Merge pull request #32 from Homebrew/twolevel-hint

Add direct two-level hints table access.

01f9b7067349f7da3b8a4dfedcbadceea6ddb873 authored over 8 years ago
utils: Move all utility functions under a new Utils module.

Additionally, move MachOStructure.specialize_format to Utils.
Update calls to utility functions t...

2c850ace28df7c7dc80c30632824c0600b57936b authored over 8 years ago
load_commands: Remove old parameter documentation.

663ea0af77da242c15d29373345b22b2726d9bf8 authored over 8 years ago
load_commands: Add direct two-level hints table access.

00803363a5ab7fa9b11f57e05dd74913adb4d46a authored over 8 years ago
view: Add MachOView to encapsulate raw-data specific information. (#30)

Update load commands to use MachOView instead of individual arguments
for constituent data.

...

a62c23ae6335d6650cb2e5d49ac9530aed7f301e authored over 8 years ago
headers: Use symbols to represent filetypes instead of strings. (#29)

Update MachOFile#filetype and FatFile#filetype to reflect the changes.

Update tests to reflec...

aeea94b9419a76ed2154e1ab1ccb0d9ae8558e82 authored over 8 years ago
Add .editorconfig for style enforcement. (#31)

2d869d656cbbf64545adaac693839f104bbb7e16 authored over 8 years ago
headers: Add additional ARM subtypes, correct errors. (#27)

Added various ARM, i386, PPC, and m68/88k subtypes.

CPU_SUBTYPE_ARM64_V8 has an arch(3) of "a...

1ee22dbcac24d0c7583099eac13f9312b2dd6cdf authored over 8 years ago
test: Add missing '*_expected*' target and binaries (#28)

test: Add missing '*_expected*' binaries and target to Makefile

Also recursively copy files f...

4d2a9be7513a4afa6728bc9089ea6f907a996dc2 authored over 8 years ago
test: Add i386 single-arch binaries and tests.

c6ebcb9e6fe7126ae4e986bbb360d43d0bc8d388 authored over 8 years ago
macho: ruby-macho 0.2.3.

df074355a6663f67dd059e5c449219c0175627c7 authored over 8 years ago
README: Update list of working features.

dd32133f1329aa40229f26dfb69708905aee9446 authored over 8 years ago
Merge pull request #24 from Homebrew/ppc

PPC (general big-endian) support

323cb5ce88d011c50859987c7a5253b53ac4ec2f authored over 8 years ago
Support for big-endian Mach-O files.

This takes advantage of Ruby 1.9.x's new String#format "<", ">",
and "=" endianness specifiers. ...

a05b373464e04204fc03383ef65d1f26f425073a authored over 8 years ago
test: Add tests for PPC support.

de2e53e3d9552aae590bd086cf44d2911ad12198 authored over 8 years ago
test: Added expected PPC-only and fat Intel/PPC binaries.

22d7f13e8cb58f340951b94af875dadccc9b4c31 authored over 8 years ago
test: Add PPC-only and fat Intel/PPC binaries

Built on OS X 10.6.8 using Xcode 3.2.6.

19a8c8c86f27bdefb3cf9dde0668f60218e8a18b authored over 8 years ago
test: Refactor Makefile and add PPC targets

Refactor the Makefile to make it more flexible. Extensively use pattern
matching to avoid repeti...

9f236bf04df1528771a3023c022751ac9918701e authored over 8 years ago
Merge pull request #26 from Homebrew/test_fixtures

test: Restructure bin folder, replace hardcoded paths with generator.

a580f4785f648b77995beb64c926c25309a29f35 authored over 8 years ago
test: Restructure bin folder, replace hardcoded paths with generator.

Moves binaries to subdirectories under bin/ corresponding to their
architecture (following `man ...

6ff7b1d1e26b193d8ffa55e3dc1960706265d355 authored over 8 years ago
Merge pull request #25 from Homebrew/cputype-and-subtype

Improve cputype/cpusubtype handing.

f91a2afede4e08749a1f32533e62261177fc662c authored over 8 years ago
Improve cputype/cpusubtype handing.

Additionally, adds new CPU types and subtypes, as well as two
additional load commands and freez...

4a1116b1b9ada16065ef8b8000373b6562df2efa authored over 8 years ago
travis: allow 1.8.7 failures, add 2.1.x, 2.2.x, 2.3.x to matrix.

6d7f1294b868283a1dd615bd75fa69b6a1320509 authored over 8 years ago
open.rb: Remove old (irrelevant) comment.

09154d19bdb1bdd9908738f75ffa5fb626547e6a authored almost 9 years ago
MachOFile/FatFile: Use File.open, not Kernel#open when reading file.

4e2cc7c93afa275fc6ef121fc93fa7a15f4a097a authored almost 9 years ago
Merge pull request #22 from Homebrew/open-optimization

Optimization: Replace control-flow-by-exception with magic testing and incremental reads.

ec64d0c50fb15722a1579286b82a0e44c9732274 authored almost 9 years ago
README: Correct example (should be new, not open).

8baf114051727c6045080858d5fa0212b8150df4 authored almost 9 years ago
LICENSE: Add 2016 and trailing newline.

c788296dfa23c7aa602b3e14929f994c53eb8303 authored almost 9 years ago
Testing: Add tests for new MachO.open

Ensure that MachO.open raises all expected exceptions.

ee8906cc025ada8b4c1ba71206fdb4dcf53aaafc authored almost 9 years ago
Optimization: Replace control-flow-by-exception with magic testing

and incremental reads.

Instead of attempting to open a file with MachOFile.new and catching
a Fa...

60aab61a3b9f5d7ff85c9b385709b1282c2e7c83 authored almost 9 years ago
Testing: Add test_nonexistent_file for MachOFile/FatFile.

Ensures that an ArgumentError is raised correctly when either's
constructor is supplied with a f...

fc29b41e406c03a87559b70873cf635a79b3f3a3 authored almost 9 years ago
FatFile/MachOFile: Fix wrong variable used in interpolation.

Additionally, use File.file? instead of File.exist? and
tweak documentation.

69a273df35d6e329594c1ea1471d909c34fc1481 authored almost 9 years ago
Merge pull request #21 from Homebrew/um/testing-env

Testing: Simplify running the test suite

93c4547cff45e6aa5038db99e6c450ca40c2c184 authored almost 9 years ago
Testing: Simplify running the test suite

Provide a script that only requires Bundler to be installed and then
automatically installs all ...

da6fa5ae92fa058a7441f2d138fb1c1ab3b20de6 authored almost 9 years ago
Maintenance: Organize and comment '.gitignore'

Also un-ignore `Gemfile.lock` and put it into version control as is
recommended by the Bundler d...

503ee75ba4afb0dd00610ae56b247d069b1444c7 authored almost 9 years ago
Error Handing: Add UnimplementedError to replace stub raises.

Previously, unimplemented methods like Tools.{change,add,delete}_rpath
errored out with a `raise...

e2fbedc9d2991e9505778dd0259630ee68109b5a authored almost 9 years ago
Merge pull request #19 from Homebrew/um/fix-ruby187-u64

MachOFile#set_lc_str_in_cmd: Fix Ruby 1.8.7 bug

52db1c95e68f0bcacbf33785d8e7f9949893860d authored almost 9 years ago
Merge pull request #20 from Homebrew/um/bin-enhancements

bin/*: Various enhancements

fa4030e943e1c8e91704a35113435235190506a0 authored almost 9 years ago
bin/info.rb: Add basic support for fat binaries

0c8029aa0c0d98013ed912272cca7be673221fd4 authored almost 9 years ago
bin/info.rb: Improve output readability

Indent information in different sections with two spaces. Also add size
information to sections ...

1f697680524c206db3c8bf543731f4d73f5263ab authored almost 9 years ago
bin/*: Auto-add library path to Ruby load path

This makes it easier to run the binaries without any further adjustment
to the environment, e.g....

2873e577f40cfc541778f9dcda7e9aa009907a88 authored almost 9 years ago
bin/info.rb: Make executable

da352ac7ac6e83addaafff9a8aae8be21489a27b authored almost 9 years ago
MachOFile#set_lc_str_in_cmd: Improve readability

A series of `next if/unless` makes it easier to understand the complex
condition(s) and reduces ...

36911a4d9ad09389e4d61f24a40202c5cf87b72e authored almost 9 years ago
MachOFile#set_lc_str_in_cmd: Fix Ruby 1.8.7 bug

With Ruby from `homebrew/versions/ruby187` (1.8.7-p374) on OS X 10.11.3
`2**64` unfortunately yi...

2505ebdc5ffc2427730eaf60dc65624683dfaf19 authored almost 9 years ago
FatFile: Add .new_from_bin and #initialize_from_bin

Matches the .new_from_bin and #initialize_from_bin methods
in MachOFile.

Ensures that #write! e...

9cdca3f7a012e0b7fded8b018bc3c9c073a7a250 authored almost 9 years ago
Merge pull request #18 from Homebrew/not-a-macho-errors

Error Handling: Add NotAMachOError for edge cases.

5cd06e1a5a3af759212d82986c00a7eca8d9ff8b authored almost 9 years ago
Testing: Add unit tests for NotAMachOError hierarchy

Ensure that NotAMachOError (and children) are raised correctly by
both MachOFile and FatFile und...

8ae35a3789b371ffd311c2818385c16897ef0f33 authored almost 9 years ago
Error Handling: Add NotAMachOError hierarchy for parser edge cases.

Include new error classes: TruncatedFileError, JavaClassFileError
under NotAMachOError. MagicErr...

d1bad0cb6155179fdcd11a9c157c183450a599a4 authored almost 9 years ago
Maintenance: Add Gemfile.lock to .gitignore

2181ea63a7b40f7dc5cff3da93dda931a5c7e3ca authored almost 9 years ago
Merge pull request #17 from Homebrew/two-space-indentation

Maintenance: Replace tab indentation with two-space.

f9d6066d9afe09c11ab5003a09b433dc79f39a63 authored almost 9 years ago
Maintenance: Replace tab indentation with two-space.

Changes indentation in non-ruby (i.e., not ending in .rb)
repo files.

fb9e4c90e5ff58c7f58d67c876b12cb112e48345 authored almost 9 years ago
Merge pull request #16 from Homebrew/two-space-indentation

Maintenance: Replace tab indentation with two-space.

Closes #15.

03d72a90c29673cf0116c766b2f03f69ebc7dda9 authored almost 9 years ago
Maintenance: Replace tab indentation with two-space.

Everybody else in the Ruby world uses two-space, so we
should too.

863f69ce0b9359ad7b1f118237fe9ed761f39088 authored almost 9 years ago
ruby-macho.gemspec: Change homepage to reflect new repo home

Now that ruby-macho is under Homebrew, rubygems should reflect
its new location. This will be up...

bb961a309b627c3d8a0ee3b6e94703479723f34d authored almost 9 years ago
Merge pull request #14 from Homebrew/1.8.7-compat

1.8.7 Compatibility

3c6b670975b65fc63d84aa122b514d7a68eb9aad authored almost 9 years ago
Compatibility: ruby 1.8.7 support

Testing: Make 1.8.7 build successes mandatory on Travis CI.

Testing: Modify $: ($LOAD_PATH) to ...

ec4bef911023f5fd5235ef25dfb9153974a386b9 authored almost 9 years ago
Meta: Replace Drone.io build badge with Travis CI build badge

f7d99aa796b4046068be478df4cecf2daa220e6a authored almost 9 years ago
Merge pull request #9 from Homebrew/benchmark_tests

Testing: Add skeleton for new benchmarking tests.

288659ffa5f3b8c6ef6f2d0e4d6693fee5ece439 authored almost 9 years ago
Merge remote-tracking branch 'origin/master'

70669996162a1fcab69868cb71dc3208a255a915 authored almost 9 years ago
Testing: Add rvm 2.0.0 and 1.8.7 to the Travis testing matrix

Additionally, until 1.8.7 is fully supported, allow its
builds to fail.

Reference #13.

e2ef8e7dbdfa4e73c685ae3d36a0130176f262c3 authored almost 9 years ago
Merge pull request #12 from Homebrew/um/dry-fat-macho

FatFile/MachOFile: avoid some code duplication

1b27858996ca4dacbd6074bccbe78d1041c4b230 authored almost 9 years ago
FatFile: avoid some code duplication

When parsing `FatHeader` and `FatArch` structs, use the format defined
in there and use `MachOSt...

23c08f69cdba382b5168306b704ba692fe581a8c authored almost 9 years ago
MachOFile: avoid some code duplication

When parsing `MachHeader` and `MachHeader64` structs, use the format
defined in there and use `M...

3e7140af08d1252fa766e4be43a762540189f8f8 authored almost 9 years ago
Testing: Add skeleton for new benchmarking task.

Add bench.rb, which will contain benchmarking methods
for both ruby-macho and otool/install_name...

92f4a114011352147d00463b4be038eb84220ad4 authored almost 9 years ago
Testing: Allow Travis to cache dependencies and run inside a container for performance

9e255fb6e63868feb566c0a6fce38fbabda7b245 authored almost 9 years ago
Testing: Add .travis.yml for Travis CI and group gems into :test

f22e217e3734fc3543f330ea7f361e96acc3ca20 authored almost 9 years ago
EncryptionInfoCommand64: add missing argument

21df0e61ec32252e156313f46c5dd88ad49fb7f4 authored almost 9 years ago
Merge pull request #8 from Homebrew/um/unique-dylibs

Always return unique list of dylibs and clarify comments

6d76d891892c94b49b93edc02d137ad2e5762c30 authored almost 9 years ago
FatFile: clarify comment about linked dylibs

1ebf2955128d8c46565038169c227b3e0227f71f authored almost 9 years ago
MachOFile: de-duplicate list of linked dylibs

d02d3c54868a7fc162d6ba8cd9cdc7a4ec61cfc3 authored almost 9 years ago
Testing: Update tests and 'extra' dylibs with new load commands

Add LC_LAZY_LOAD_DYLIB commands to both libextrahello
and libfatextrahello and test the new comm...

8b0e0fde8d28f4ac7fbf7b1eb8ec7950c1b1f393 authored almost 9 years ago
Testing: Add 'extra' dylibs for unusual load commands

Now that LC_LOAD_UPWARD_DYLIB and LC_LAZY_LOAD_DYLIB are treated
as normal DylibCommands, create...

730e6ab4759b265b53fa0b5761e676dd05d03b8a authored almost 9 years ago
Merge pull request #5 from UniqMartin/x86-i386-overlap

eliminate CPU_TYPE_X86 in favor of CPU_TYPE_I386

6a1ab5794ca37d6d1b99ecdd41d61dfed7a18b45 authored almost 9 years ago
eliminate CPU_TYPE_X86 in favor of CPU_TYPE_I386

`CPU_TYPE_X86` and `CPU_TYPE_I386` have the same numeric value, making
the `CPU_TYPE_X86 => "CPU...

7a847dec2fcd8f5fa52c962474b8e46e2047e8f6 authored almost 9 years ago
Merge pull request #2 from UniqMartin/fat-dylibs

fix 'linked_dylibs' for fat files with single arch

25fece735efb93314f1dd5a2e43625591b91402d authored almost 9 years ago
Merge pull request #3 from UniqMartin/dylib-commands

consider all relevant commands in 'linked_dylibs'

6699279b73d0af19c89035c1777bde1374efdfdf authored almost 9 years ago
map lazy/upward dylib to proper load command

Both `LC_LAZY_LOAD_DYLIB` and `LC_LOAD_UPWARD_DYLIB` are represented as
a `DylibCommand` interna...

00045fb2a6ae11768cd6275cf78fc5d2717b10e6 authored almost 9 years ago
consider all relevant commands in 'linked_dylibs'

Linked dylibs are not limited to the `LC_LOAD_DYLIB` load command. For
completeness and consiste...

d9b1f5e951a3d28d0e2cb6a5f96d5a2ea2216151 authored almost 9 years ago
fix 'linked_dylibs' for fat files with single arch

If there are no duplicates, `uniq!` returns nil instead of the array it
operated on. Also use `f...

d92db9064e071628af8058142b7a7bb6df9ce3be authored almost 9 years ago
bump version

4ab54d6b1d32b28e759421e12166ad790b37fa5b authored about 9 years ago
tweak documentation

8cb06d536f44d2477c34b119b617f02bc3936b18 authored about 9 years ago
bump version

df5310e59ce5e0f6186cfece1bc0eefbce4976d9 authored about 9 years ago