Half-brother implies blood relation, right? For Jesus to have a half-brother. Mary would have had to have a child with someone else (namely, Joseph) after she had Jesus (whom she conceived with the Holy Spirit). If she had sexual relations with Joseph, it would violate Catholic teaching on Mary’s perpetual virginity. In other words, this is not Catholic teaching. Jesus did not have half-brothers.
If Joseph had had sons from a previous marriage, Joseph’s sons would have been Jesus’ step-brothers, which means that there is no blood relation. Jesus could have had step-brothers (sons from Joseph’s previous marriage as mentioned by others in the Protoevangelium of James). This would be consistent with Catholic teaching.