Here is an example of a sourcing current source, clamped at 5V.
The output current is 20mA, fixed. To adjust it, you can change R1:
Iout=Vref/R1, where Vref=2.5V
The output is clamped by the precision clamp IC1B, D1. For the clamp to work, the current should be maintained below 20mA. For higher currents, you would need another clamp circuit.
The components are not critical, but R1 should be an RN55 or RN60 type resistor, for better temperature stability.
You can also use a better reference, if you wish better temperature stability.
The MOSFET can be pretty much any P-ch MOSFET, as long as the power dissipation is not exceeded (with the output shorted the MOSFET will dissipate 9.5V*20mA=0.19W).